// Tile size: 3x4 // Accumulators: 0-11 // Col regs: zmm12-14 // Row regs: zmm15 vmovaps zmm12, [rax] vmovaps zmm13, [rax+64] vmovaps zmm14, [rax+128] vbroadcastss zmm15, dword ptr [rcx + 0] vfmadd231ps zmm0, zmm12, zmm15 vfmadd231ps zmm1, zmm13, zmm15 vfmadd231ps zmm2, zmm14, zmm15 vbroadcastss zmm15, dword ptr [rcx + 4] vfmadd231ps zmm3, zmm12, zmm15 vfmadd231ps zmm4, zmm13, zmm15 vfmadd231ps zmm5, zmm14, zmm15 vbroadcastss zmm15, dword ptr [rcx + 8] vfmadd231ps zmm6, zmm12, zmm15 vfmadd231ps zmm7, zmm13, zmm15 vfmadd231ps zmm8, zmm14, zmm15 vbroadcastss zmm15, dword ptr [rcx + 12] vfmadd231ps zmm9, zmm12, zmm15 vfmadd231ps zmm10, zmm13, zmm15 vfmadd231ps zmm11, zmm14, zmm15 vmovaps zmm12, [rax + 192] vmovaps zmm13, [rax + 256] vmovaps zmm14, [rax + 320] vbroadcastss zmm15, dword ptr [rcx + 16] vfmadd231ps zmm0, zmm12, zmm15 vfmadd231ps zmm1, zmm13, zmm15 vfmadd231ps zmm2, zmm14, zmm15 vbroadcastss zmm15, dword ptr [rcx + 20] vfmadd231ps zmm3, zmm12, zmm15 vfmadd231ps zmm4, zmm13, zmm15 vfmadd231ps zmm5, zmm14, zmm15 vbroadcastss zmm15, dword ptr [rcx + 24] vfmadd231ps zmm6, zmm12, zmm15 vfmadd231ps zmm7, zmm13, zmm15 vfmadd231ps zmm8, zmm14, zmm15 vbroadcastss zmm15, dword ptr [rcx + 28] vfmadd231ps zmm9, zmm12, zmm15 vfmadd231ps zmm10, zmm13, zmm15 vfmadd231ps zmm11, zmm14, zmm15 add rax, 384 add rcx, 32