// Tile size: 2x6 // Accumulators: 0-11 // Col regs: zmm14-15 // Row regs: zmm12-13 vbroadcastss zmm14, dword ptr [rcx] vmovaps zmm12, [rax] vmovaps zmm13, [rax + 64] vbroadcastss zmm15, dword ptr [rcx + 4] vfmadd231ps zmm0, zmm12, zmm14 vfmadd231ps zmm1, zmm13, zmm14 vbroadcastss zmm14, dword ptr [rcx + 8] vfmadd231ps zmm2, zmm12, zmm15 vfmadd231ps zmm3, zmm13, zmm15 vbroadcastss zmm15, dword ptr [rcx + 12] vfmadd231ps zmm4, zmm12, zmm14 vfmadd231ps zmm5, zmm13, zmm14 vbroadcastss zmm14, dword ptr [rcx + 16] vfmadd231ps zmm6, zmm12, zmm15 vfmadd231ps zmm7, zmm13, zmm15 vbroadcastss zmm15, dword ptr [rcx + 20] vfmadd231ps zmm8, zmm12, zmm14 vfmadd231ps zmm9, zmm13, zmm14 vbroadcastss zmm14, dword ptr [rcx+24] vfmadd231ps zmm10, zmm12, zmm15 vfmadd231ps zmm11, zmm13, zmm15 // Iteration two vmovaps zmm12, [rax + 128] vmovaps zmm13, [rax + 192] vbroadcastss zmm15, dword ptr [rcx + 24 + 4] vfmadd231ps zmm0, zmm12, zmm14 vfmadd231ps zmm1, zmm13, zmm14 vbroadcastss zmm14, dword ptr [rcx + 24 + 8] vfmadd231ps zmm2, zmm12, zmm15 vfmadd231ps zmm3, zmm13, zmm15 vbroadcastss zmm15, dword ptr [rcx + 24 + 12] vfmadd231ps zmm4, zmm12, zmm14 vfmadd231ps zmm5, zmm13, zmm14 vbroadcastss zmm14, dword ptr [rcx + 24 + 16] vfmadd231ps zmm6, zmm12, zmm15 vfmadd231ps zmm7, zmm13, zmm15 vbroadcastss zmm15, dword ptr [rcx + 24 + 20] vfmadd231ps zmm8, zmm12, zmm14 vfmadd231ps zmm9, zmm13, zmm14 vfmadd231ps zmm10, zmm12, zmm15 vfmadd231ps zmm11, zmm13, zmm15 add rax, 256 add rcx, 48