// Tile size: 3x4 // Accumulators: 0-11 // Col regs: ymm12-14 // Row regs: ymm15 vmovaps ymm12, [rax] vmovaps ymm13, [rax+32] vmovaps ymm14, [rax+64] vbroadcastss ymm15, dword ptr [rcx + 0] vfmadd231ps ymm0, ymm12, ymm15 vfmadd231ps ymm1, ymm13, ymm15 vfmadd231ps ymm2, ymm14, ymm15 vbroadcastss ymm15, dword ptr [rcx + 4] vfmadd231ps ymm3, ymm12, ymm15 vfmadd231ps ymm4, ymm13, ymm15 vfmadd231ps ymm5, ymm14, ymm15 vbroadcastss ymm15, dword ptr [rcx + 8] vfmadd231ps ymm6, ymm12, ymm15 vfmadd231ps ymm7, ymm13, ymm15 vfmadd231ps ymm8, ymm14, ymm15 vbroadcastss ymm15, dword ptr [rcx + 12] vfmadd231ps ymm9, ymm12, ymm15 vfmadd231ps ymm10, ymm13, ymm15 vfmadd231ps ymm11, ymm14, ymm15 vmovaps ymm12, [rax + 96] vmovaps ymm13, [rax + 128] vmovaps ymm14, [rax + 160] vbroadcastss ymm15, dword ptr [rcx + 16] vfmadd231ps ymm0, ymm12, ymm15 vfmadd231ps ymm1, ymm13, ymm15 vfmadd231ps ymm2, ymm14, ymm15 vbroadcastss ymm15, dword ptr [rcx + 20] vfmadd231ps ymm3, ymm12, ymm15 vfmadd231ps ymm4, ymm13, ymm15 vfmadd231ps ymm5, ymm14, ymm15 vbroadcastss ymm15, dword ptr [rcx + 24] vfmadd231ps ymm6, ymm12, ymm15 vfmadd231ps ymm7, ymm13, ymm15 vfmadd231ps ymm8, ymm14, ymm15 vbroadcastss ymm15, dword ptr [rcx + 28] vfmadd231ps ymm9, ymm12, ymm15 vfmadd231ps ymm10, ymm13, ymm15 vfmadd231ps ymm11, ymm14, ymm15