testq $SIZE, A
je .L12
- movsd 0 * SIZE(AO1), %xmm0
- movsd 0 * SIZE(AO1, LDA), %xmm1
- movsd 0 * SIZE(AO1, LDA, 2), %xmm2
- movsd 0 * SIZE(AO1, LDA3), %xmm3
+ vmovsd 0 * SIZE(AO1), %xmm0
+ vmovsd 0 * SIZE(AO1, LDA), %xmm1
+ vmovsd 0 * SIZE(AO1, LDA, 2), %xmm2
+ vmovsd 0 * SIZE(AO1, LDA3), %xmm3
- movsd 0 * SIZE(AO2), %xmm4
- movsd 0 * SIZE(AO2, LDA), %xmm5
- movsd 0 * SIZE(AO2, LDA, 2), %xmm6
- movsd 0 * SIZE(AO2, LDA3), %xmm7
+ vmovsd 0 * SIZE(AO2), %xmm4
+ vmovsd 0 * SIZE(AO2, LDA), %xmm5
+ vmovsd 0 * SIZE(AO2, LDA, 2), %xmm6
+ vmovsd 0 * SIZE(AO2, LDA3), %xmm7
- unpcklpd %xmm1, %xmm0
- unpcklpd %xmm3, %xmm2
- unpcklpd %xmm5, %xmm4
- unpcklpd %xmm7, %xmm6
+ vunpcklpd %xmm1, %xmm0 , %xmm0
+ vunpcklpd %xmm3, %xmm2 , %xmm2
+ vunpcklpd %xmm5, %xmm4 , %xmm4
+ vunpcklpd %xmm7, %xmm6 , %xmm6
vmovups %xmm0, -16 * SIZE(B)
vmovups %xmm2, -14 * SIZE(B)
vmovups 0 * SIZE(AO1, LDA, 2), %xmm2
vmovups %xmm0, %xmm8
prefetchnta A_PRE(AO1, LDA3)
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm2, %xmm9
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm3, %xmm2 , %xmm2
prefetchnta A_PRE(AO2)
prefetchnta A_PRE(AO2, LDA, 2)
vmovups %xmm4, %xmm10
- unpcklpd %xmm5, %xmm4
+ vunpcklpd %xmm5, %xmm4 , %xmm4
prefetchnta A_PRE(AO2, LDA3)
vmovups %xmm6, %xmm11
- unpcklpd %xmm7, %xmm6
+ vunpcklpd %xmm7, %xmm6 , %xmm6
prefetchw B_PRE(B)
vmovups %xmm0, -16 * SIZE(B)
vmovups %xmm4, -12 * SIZE(B)
vmovups %xmm6, -10 * SIZE(B)
- unpckhpd %xmm1, %xmm8
- unpckhpd %xmm3, %xmm9
- unpckhpd %xmm5, %xmm10
- unpckhpd %xmm7, %xmm11
+ vunpckhpd %xmm1, %xmm8 , %xmm8
+ vunpckhpd %xmm3, %xmm9 , %xmm9
+ vunpckhpd %xmm5, %xmm10, %xmm10
+ vunpckhpd %xmm7, %xmm11, %xmm11
prefetchw B_PRE+64(B)
vmovups 2 * SIZE(AO1, LDA3), %xmm3
vmovups %xmm0, %xmm8
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm2, %xmm9
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm3, %xmm2 , %xmm2
vmovups 2 * SIZE(AO2), %xmm4
vmovups 2 * SIZE(AO2, LDA3), %xmm7
vmovups %xmm4, %xmm10
- unpcklpd %xmm5, %xmm4
+ vunpcklpd %xmm5, %xmm4 , %xmm4
vmovups %xmm6, %xmm11
- unpcklpd %xmm7, %xmm6
+ vunpcklpd %xmm7, %xmm6 , %xmm6
prefetchw B_PRE+128(B)
vmovups %xmm4, 4 * SIZE(B)
vmovups %xmm6, 6 * SIZE(B)
- unpckhpd %xmm1, %xmm8
- unpckhpd %xmm3, %xmm9
- unpckhpd %xmm5, %xmm10
- unpckhpd %xmm7, %xmm11
+ vunpckhpd %xmm1, %xmm8 , %xmm8
+ vunpckhpd %xmm3, %xmm9 , %xmm9
+ vunpckhpd %xmm5, %xmm10, %xmm10
+ vunpckhpd %xmm7, %xmm11, %xmm11
prefetchw B_PRE+192(B)
vmovups 4 * SIZE(AO1, LDA3), %xmm3
vmovups %xmm0, %xmm8
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm2, %xmm9
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm3, %xmm2 , %xmm2
vmovups 4 * SIZE(AO2), %xmm4
vmovups 4 * SIZE(AO2, LDA3), %xmm7
vmovups %xmm4, %xmm10
- unpcklpd %xmm5, %xmm4
+ vunpcklpd %xmm5, %xmm4 , %xmm4
vmovups %xmm6, %xmm11
- unpcklpd %xmm7, %xmm6
+ vunpcklpd %xmm7, %xmm6 , %xmm6
prefetchw B_PRE+256(B)
vmovups %xmm4, 20 * SIZE(B)
vmovups %xmm6, 22 * SIZE(B)
- unpckhpd %xmm1, %xmm8
- unpckhpd %xmm3, %xmm9
- unpckhpd %xmm5, %xmm10
- unpckhpd %xmm7, %xmm11
-
+ vunpckhpd %xmm1, %xmm8 , %xmm8
+ vunpckhpd %xmm3, %xmm9 , %xmm9
+ vunpckhpd %xmm5, %xmm10, %xmm10
+ vunpckhpd %xmm7, %xmm11, %xmm11
prefetchw B_PRE+320(B)
vmovups %xmm8, 24 * SIZE(B)
vmovups 6 * SIZE(AO1, LDA3), %xmm3
vmovups %xmm0, %xmm8
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm2, %xmm9
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm3, %xmm2 , %xmm2
vmovups 6 * SIZE(AO2), %xmm4
vmovups 6 * SIZE(AO2, LDA3), %xmm7
vmovups %xmm4, %xmm10
- unpcklpd %xmm5, %xmm4
+ vunpcklpd %xmm5, %xmm4 , %xmm4
vmovups %xmm6, %xmm11
- unpcklpd %xmm7, %xmm6
+ vunpcklpd %xmm7, %xmm6 , %xmm6
prefetchw B_PRE+384(B)
vmovups %xmm4, 36 * SIZE(B)
vmovups %xmm6, 38 * SIZE(B)
- unpckhpd %xmm1, %xmm8
- unpckhpd %xmm3, %xmm9
- unpckhpd %xmm5, %xmm10
- unpckhpd %xmm7, %xmm11
-
+ vunpckhpd %xmm1, %xmm8 , %xmm8
+ vunpckhpd %xmm3, %xmm9 , %xmm9
+ vunpckhpd %xmm5, %xmm10, %xmm10
+ vunpckhpd %xmm7, %xmm11, %xmm11
prefetchw B_PRE+448(B)
vmovups %xmm8, 40 * SIZE(B)
vmovups 0 * SIZE(AO2, LDA3), %xmm7
vmovups %xmm0, %xmm8
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm2, %xmm9
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm3, %xmm2 , %xmm2
vmovups %xmm4, %xmm10
- unpcklpd %xmm5, %xmm4
+ vunpcklpd %xmm5, %xmm4 , %xmm4
vmovups %xmm6, %xmm11
- unpcklpd %xmm7, %xmm6
+ vunpcklpd %xmm7, %xmm6 , %xmm6
vmovups %xmm0, -16 * SIZE(B)
vmovups %xmm2, -14 * SIZE(B)
vmovups %xmm4, -12 * SIZE(B)
vmovups %xmm6, -10 * SIZE(B)
- unpckhpd %xmm1, %xmm8
- unpckhpd %xmm3, %xmm9
- unpckhpd %xmm5, %xmm10
- unpckhpd %xmm7, %xmm11
+ vunpckhpd %xmm1, %xmm8 , %xmm8
+ vunpckhpd %xmm3, %xmm9 , %xmm9
+ vunpckhpd %xmm5, %xmm10, %xmm10
+ vunpckhpd %xmm7, %xmm11, %xmm11
vmovups %xmm8, -8 * SIZE(B)
vmovups %xmm9, -6 * SIZE(B)
vmovups 2 * SIZE(AO2, LDA3), %xmm7
vmovups %xmm0, %xmm8
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm2, %xmm9
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm3, %xmm2 , %xmm2
vmovups %xmm4, %xmm10
- unpcklpd %xmm5, %xmm4
+ vunpcklpd %xmm5, %xmm4 , %xmm4
vmovups %xmm6, %xmm11
- unpcklpd %xmm7, %xmm6
+ vunpcklpd %xmm7, %xmm6 , %xmm6
vmovups %xmm0, 0 * SIZE(B)
vmovups %xmm2, 2 * SIZE(B)
vmovups %xmm4, 4 * SIZE(B)
vmovups %xmm6, 6 * SIZE(B)
- unpckhpd %xmm1, %xmm8
- unpckhpd %xmm3, %xmm9
- unpckhpd %xmm5, %xmm10
- unpckhpd %xmm7, %xmm11
+ vunpckhpd %xmm1, %xmm8 , %xmm8
+ vunpckhpd %xmm3, %xmm9 , %xmm9
+ vunpckhpd %xmm5, %xmm10, %xmm10
+ vunpckhpd %xmm7, %xmm11, %xmm11
vmovups %xmm8, 8 * SIZE(B)
vmovups %xmm9, 10 * SIZE(B)
vmovups 0 * SIZE(AO2, LDA3), %xmm7
vmovups %xmm0, %xmm8
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm2, %xmm9
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm3, %xmm2 , %xmm2
vmovups %xmm4, %xmm10
- unpcklpd %xmm5, %xmm4
+ vunpcklpd %xmm5, %xmm4 , %xmm4
vmovups %xmm6, %xmm11
- unpcklpd %xmm7, %xmm6
+ vunpcklpd %xmm7, %xmm6 , %xmm6
vmovups %xmm0, -16 * SIZE(B)
vmovups %xmm2, -14 * SIZE(B)
vmovups %xmm4, -12 * SIZE(B)
vmovups %xmm6, -10 * SIZE(B)
- unpckhpd %xmm1, %xmm8
- unpckhpd %xmm3, %xmm9
- unpckhpd %xmm5, %xmm10
- unpckhpd %xmm7, %xmm11
+ vunpckhpd %xmm1, %xmm8 , %xmm8
+ vunpckhpd %xmm3, %xmm9 , %xmm9
+ vunpckhpd %xmm5, %xmm10, %xmm10
+ vunpckhpd %xmm7, %xmm11, %xmm11
vmovups %xmm8, -8 * SIZE(B)
vmovups %xmm9, -6 * SIZE(B)
testq $1, MM
jle .L19
- movsd 0 * SIZE(AO1), %xmm0
- movsd 0 * SIZE(AO1, LDA), %xmm1
- movsd 0 * SIZE(AO1, LDA, 2), %xmm2
- movsd 0 * SIZE(AO1, LDA3), %xmm3
+ vmovsd 0 * SIZE(AO1), %xmm0
+ vmovsd 0 * SIZE(AO1, LDA), %xmm1
+ vmovsd 0 * SIZE(AO1, LDA, 2), %xmm2
+ vmovsd 0 * SIZE(AO1, LDA3), %xmm3
- movsd 0 * SIZE(AO2), %xmm4
- movsd 0 * SIZE(AO2, LDA), %xmm5
- movsd 0 * SIZE(AO2, LDA, 2), %xmm6
- movsd 0 * SIZE(AO2, LDA3), %xmm7
+ vmovsd 0 * SIZE(AO2), %xmm4
+ vmovsd 0 * SIZE(AO2, LDA), %xmm5
+ vmovsd 0 * SIZE(AO2, LDA, 2), %xmm6
+ vmovsd 0 * SIZE(AO2, LDA3), %xmm7
- unpcklpd %xmm1, %xmm0
- unpcklpd %xmm3, %xmm2
- unpcklpd %xmm5, %xmm4
- unpcklpd %xmm7, %xmm6
+ vunpcklpd %xmm1, %xmm0 , %xmm0
+ vunpcklpd %xmm3, %xmm2 , %xmm2
+ vunpcklpd %xmm5, %xmm4 , %xmm4
+ vunpcklpd %xmm7, %xmm6 , %xmm6
vmovups %xmm0, -16 * SIZE(B)
vmovups %xmm2, -14 * SIZE(B)
testq $SIZE, A
je .L22
- movsd 0 * SIZE(AO1), %xmm0
- movsd 0 * SIZE(AO1, LDA), %xmm1
- movsd 0 * SIZE(AO2), %xmm2
- movsd 0 * SIZE(AO2, LDA), %xmm3
+ vmovsd 0 * SIZE(AO1), %xmm0
+ vmovsd 0 * SIZE(AO1, LDA), %xmm1
+ vmovsd 0 * SIZE(AO2), %xmm2
+ vmovsd 0 * SIZE(AO2, LDA), %xmm3
- unpcklpd %xmm1, %xmm0
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm1, %xmm0 , %xmm0
+ vunpcklpd %xmm3, %xmm2 , %xmm2
vmovups %xmm0, -16 * SIZE(B)
vmovups %xmm2, -14 * SIZE(B)
vmovups 0 * SIZE(AO2, LDA), %xmm3
vmovups %xmm0, %xmm4
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm2, %xmm6
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm3, %xmm2 , %xmm2
- unpckhpd %xmm1, %xmm4
- unpckhpd %xmm3, %xmm6
+ vunpckhpd %xmm1, %xmm4 , %xmm4
+ vunpckhpd %xmm3, %xmm6 , %xmm6
vmovups %xmm0, -16 * SIZE(B)
vmovups 2 * SIZE(AO2, LDA), %xmm3
vmovups %xmm0, %xmm4
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm2, %xmm6
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm3, %xmm2 , %xmm2
- unpckhpd %xmm1, %xmm4
- unpckhpd %xmm3, %xmm6
+ vunpckhpd %xmm1, %xmm4 , %xmm4
+ vunpckhpd %xmm3, %xmm6 , %xmm6
vmovups %xmm0, -8 * SIZE(B)
vmovups 4 * SIZE(AO2, LDA), %xmm3
vmovups %xmm0, %xmm4
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm2, %xmm6
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm3, %xmm2 , %xmm2
- unpckhpd %xmm1, %xmm4
- unpckhpd %xmm3, %xmm6
+ vunpckhpd %xmm1, %xmm4 , %xmm4
+ vunpckhpd %xmm3, %xmm6 , %xmm6
vmovups %xmm0, 0 * SIZE(B)
vmovups 6 * SIZE(AO2, LDA), %xmm3
vmovups %xmm0, %xmm4
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm2, %xmm6
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm3, %xmm2 , %xmm2
- unpckhpd %xmm1, %xmm4
- unpckhpd %xmm3, %xmm6
+ vunpckhpd %xmm1, %xmm4 , %xmm4
+ vunpckhpd %xmm3, %xmm6 , %xmm6
vmovups %xmm0, 8 * SIZE(B)
vmovups 0 * SIZE(AO2, LDA), %xmm3
vmovups %xmm0, %xmm4
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm2, %xmm6
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm3, %xmm2 , %xmm2
- unpckhpd %xmm1, %xmm4
- unpckhpd %xmm3, %xmm6
+ vunpckhpd %xmm1, %xmm4 , %xmm4
+ vunpckhpd %xmm3, %xmm6 , %xmm6
vmovups %xmm0, -16 * SIZE(B)
vmovups %xmm2, -14 * SIZE(B)
vmovups 2 * SIZE(AO2, LDA), %xmm3
vmovups %xmm0, %xmm4
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm2, %xmm6
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm3, %xmm2 , %xmm2
- unpckhpd %xmm1, %xmm4
- unpckhpd %xmm3, %xmm6
+ vunpckhpd %xmm1, %xmm4 , %xmm4
+ vunpckhpd %xmm3, %xmm6 , %xmm6
vmovups %xmm0, -8 * SIZE(B)
vmovups %xmm2, -6 * SIZE(B)
vmovups 0 * SIZE(AO2, LDA), %xmm3
vmovups %xmm0, %xmm4
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm2, %xmm6
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm3, %xmm2 , %xmm2
- unpckhpd %xmm1, %xmm4
- unpckhpd %xmm3, %xmm6
+ vunpckhpd %xmm1, %xmm4 , %xmm4
+ vunpckhpd %xmm3, %xmm6 , %xmm6
vmovups %xmm0, -16 * SIZE(B)
vmovups %xmm2, -14 * SIZE(B)
testq $1, MM
jle .L30
- movsd 0 * SIZE(AO1), %xmm0
- movsd 0 * SIZE(AO1, LDA), %xmm1
- movsd 0 * SIZE(AO2), %xmm2
- movsd 0 * SIZE(AO2, LDA), %xmm3
+ vmovsd 0 * SIZE(AO1), %xmm0
+ vmovsd 0 * SIZE(AO1, LDA), %xmm1
+ vmovsd 0 * SIZE(AO2), %xmm2
+ vmovsd 0 * SIZE(AO2, LDA), %xmm3
- unpcklpd %xmm1, %xmm0
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm1, %xmm0 , %xmm0
+ vunpcklpd %xmm3, %xmm2 , %xmm2
vmovups %xmm0, -16 * SIZE(B)
vmovups %xmm2, -14 * SIZE(B)
testq $SIZE, A
je .L32
- movsd 0 * SIZE(AO1), %xmm0
- movsd 0 * SIZE(AO2), %xmm1
+ vmovsd 0 * SIZE(AO1), %xmm0
+ vmovsd 0 * SIZE(AO2), %xmm1
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm0, -16 * SIZE(B)
vmovups 2 * SIZE(AO2), %xmm3
vmovups %xmm0, %xmm4
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm2, %xmm6
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm3, %xmm2 , %xmm2
- unpckhpd %xmm1, %xmm4
- unpckhpd %xmm3, %xmm6
+ vunpckhpd %xmm1, %xmm4 , %xmm4
+ vunpckhpd %xmm3, %xmm6 , %xmm6
vmovups %xmm0, -16 * SIZE(B)
vmovups 6 * SIZE(AO2), %xmm3
vmovups %xmm0, %xmm4
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm2, %xmm6
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm3, %xmm2 , %xmm2
- unpckhpd %xmm1, %xmm4
- unpckhpd %xmm3, %xmm6
+ vunpckhpd %xmm1, %xmm4 , %xmm4
+ vunpckhpd %xmm3, %xmm6 , %xmm6
vmovups %xmm0, -8 * SIZE(B)
vmovups 2 * SIZE(AO2), %xmm3
vmovups %xmm0, %xmm4
- unpcklpd %xmm1, %xmm0
- unpckhpd %xmm1, %xmm4
+ vunpcklpd %xmm1, %xmm0 , %xmm0
+ vunpckhpd %xmm1, %xmm4 , %xmm4
vmovups %xmm2, %xmm6
- unpcklpd %xmm3, %xmm2
- unpckhpd %xmm3, %xmm6
+ vunpcklpd %xmm3, %xmm2 , %xmm2
+ vunpckhpd %xmm3, %xmm6 , %xmm6
vmovups %xmm0, -16 * SIZE(B)
vmovups %xmm4, -14 * SIZE(B)
vmovups 0 * SIZE(AO2), %xmm1
vmovups %xmm0, %xmm2
- unpcklpd %xmm1, %xmm0
- unpckhpd %xmm1, %xmm2
+ vunpcklpd %xmm1, %xmm0 , %xmm0
+ vunpckhpd %xmm1, %xmm2 , %xmm2
vmovups %xmm0, -16 * SIZE(B)
vmovups %xmm2, -14 * SIZE(B)
testq $1, MM
jle .L40
- movsd 0 * SIZE(AO1), %xmm0
- movsd 0 * SIZE(AO2), %xmm1
+ vmovsd 0 * SIZE(AO1), %xmm0
+ vmovsd 0 * SIZE(AO2), %xmm1
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm0, -16 * SIZE(B)
subq $-2 * SIZE, B
testq $1, MM
jle .L999
- movsd 0 * SIZE(AO1), %xmm0
+ vmovsd 0 * SIZE(AO1), %xmm0
- movlpd %xmm0, -16 * SIZE(B)
+ vmovlpd %xmm0, -16 * SIZE(B)
jmp .L999
ALIGN_4
vmovups 5 * SIZE(AO1), %xmm3
vmovups 7 * SIZE(AO1), %xmm4
- shufpd $1, %xmm1, %xmm0
- shufpd $1, %xmm2, %xmm1
- shufpd $1, %xmm3, %xmm2
- shufpd $1, %xmm4, %xmm3
+ vshufpd $1, %xmm1, %xmm0 , %xmm0
+ vshufpd $1, %xmm2, %xmm1 , %xmm1
+ vshufpd $1, %xmm3, %xmm2 , %xmm2
+ vshufpd $1, %xmm4, %xmm3 , %xmm3
vmovups %xmm0, -16 * SIZE(B)
vmovups 1 * SIZE(AO1), %xmm1
vmovups 3 * SIZE(AO1), %xmm2
- shufpd $1, %xmm1, %xmm0
- shufpd $1, %xmm2, %xmm1
+ vshufpd $1, %xmm1, %xmm0 , %xmm0
+ vshufpd $1, %xmm2, %xmm1 , %xmm1
vmovups %xmm0, -16 * SIZE(B)
vmovups %xmm1, -14 * SIZE(B)
vmovups 1 * SIZE(AO1), %xmm1
- shufpd $1, %xmm1, %xmm0
+ vshufpd $1, %xmm1, %xmm0 , %xmm0
vmovups %xmm0, -16 * SIZE(B)
testq $1, M
jle .L999
- shufpd $1, %xmm0, %xmm0
+ vshufpd $1, %xmm0, %xmm0 , %xmm0
- movlpd %xmm0, -16 * SIZE(B)
+ vmovlpd %xmm0, -16 * SIZE(B)
jmp .L999
ALIGN_4
testq $SIZE, A
je .L52
- movsd 0 * SIZE(AO1), %xmm0
- movsd 0 * SIZE(AO1, LDA), %xmm1
- movsd 0 * SIZE(AO1, LDA, 2), %xmm2
- movsd 0 * SIZE(AO1, LDA3), %xmm3
- movsd 0 * SIZE(AO2), %xmm4
- movsd 0 * SIZE(AO2, LDA), %xmm5
- movsd 0 * SIZE(AO2, LDA, 2), %xmm6
- movsd 0 * SIZE(AO2, LDA3), %xmm7
+ vmovsd 0 * SIZE(AO1), %xmm0
+ vmovsd 0 * SIZE(AO1, LDA), %xmm1
+ vmovsd 0 * SIZE(AO1, LDA, 2), %xmm2
+ vmovsd 0 * SIZE(AO1, LDA3), %xmm3
+ vmovsd 0 * SIZE(AO2), %xmm4
+ vmovsd 0 * SIZE(AO2, LDA), %xmm5
+ vmovsd 0 * SIZE(AO2, LDA, 2), %xmm6
+ vmovsd 0 * SIZE(AO2, LDA3), %xmm7
- unpcklpd %xmm1, %xmm0
- unpcklpd %xmm3, %xmm2
- unpcklpd %xmm5, %xmm4
- unpcklpd %xmm7, %xmm6
+ vunpcklpd %xmm1, %xmm0 , %xmm0
+ vunpcklpd %xmm3, %xmm2 , %xmm2
+ vunpcklpd %xmm5, %xmm4 , %xmm4
+ vunpcklpd %xmm7, %xmm6 , %xmm6
vmovups %xmm0, -16 * SIZE(B)
vmovups %xmm2, -14 * SIZE(B)
vmovups 0 * SIZE(AO2, LDA, 2), %xmm6
vmovups 1 * SIZE(AO2, LDA3), %xmm7
- movsd %xmm0, %xmm9
- movsd %xmm2, %xmm10
- movsd %xmm4, %xmm11
- movsd %xmm6, %xmm12
+ vmovsd %xmm0, %xmm9 , %xmm9
+ vmovsd %xmm2, %xmm10, %xmm10
+ vmovsd %xmm4, %xmm11, %xmm11
+ vmovsd %xmm6, %xmm12, %xmm12
vmovups %xmm9, -16 * SIZE(B)
vmovups %xmm11, -12 * SIZE(B)
vmovups %xmm12, -10 * SIZE(B)
- shufpd $1, %xmm1, %xmm0
- shufpd $1, %xmm3, %xmm2
- shufpd $1, %xmm5, %xmm4
- shufpd $1, %xmm7, %xmm6
+ vshufpd $1, %xmm1, %xmm0 , %xmm0
+ vshufpd $1, %xmm3, %xmm2 , %xmm2
+ vshufpd $1, %xmm5, %xmm4 , %xmm4
+ vshufpd $1, %xmm7, %xmm6 , %xmm6
vmovups %xmm0, -8 * SIZE(B)
vmovups 2 * SIZE(AO2, LDA, 2), %xmm6
vmovups 3 * SIZE(AO2, LDA3), %xmm12
- movsd %xmm0, %xmm1
- movsd %xmm2, %xmm3
- movsd %xmm4, %xmm5
- movsd %xmm6, %xmm7
+ vmovsd %xmm0, %xmm1 , %xmm1
+ vmovsd %xmm2, %xmm3 , %xmm3
+ vmovsd %xmm4, %xmm5 , %xmm5
+ vmovsd %xmm6, %xmm7 , %xmm7
vmovups %xmm1, 0 * SIZE(B)
vmovups %xmm5, 4 * SIZE(B)
vmovups %xmm7, 6 * SIZE(B)
- shufpd $1, %xmm9, %xmm0
- shufpd $1, %xmm10, %xmm2
- shufpd $1, %xmm11, %xmm4
- shufpd $1, %xmm12, %xmm6
+ vshufpd $1, %xmm9, %xmm0 , %xmm0
+ vshufpd $1, %xmm10, %xmm2 , %xmm2
+ vshufpd $1, %xmm11, %xmm4 , %xmm4
+ vshufpd $1, %xmm12, %xmm6 , %xmm6
vmovups %xmm0, 8 * SIZE(B)
vmovups 4 * SIZE(AO2, LDA, 2), %xmm6
vmovups 5 * SIZE(AO2, LDA3), %xmm7
- movsd %xmm0, %xmm9
- movsd %xmm2, %xmm10
- movsd %xmm4, %xmm11
- movsd %xmm6, %xmm12
+ vmovsd %xmm0, %xmm9 , %xmm9
+ vmovsd %xmm2, %xmm10, %xmm10
+ vmovsd %xmm4, %xmm11, %xmm11
+ vmovsd %xmm6, %xmm12, %xmm12
vmovups %xmm9, 16 * SIZE(B)
vmovups %xmm11, 20 * SIZE(B)
vmovups %xmm12, 22 * SIZE(B)
- shufpd $1, %xmm1, %xmm0
- shufpd $1, %xmm3, %xmm2
- shufpd $1, %xmm5, %xmm4
- shufpd $1, %xmm7, %xmm6
+ vshufpd $1, %xmm1, %xmm0 , %xmm0
+ vshufpd $1, %xmm3, %xmm2 , %xmm2
+ vshufpd $1, %xmm5, %xmm4 , %xmm4
+ vshufpd $1, %xmm7, %xmm6 , %xmm6
vmovups %xmm0, 24 * SIZE(B)
vmovups 6 * SIZE(AO2, LDA, 2), %xmm6
vmovups 7 * SIZE(AO2, LDA3), %xmm12
- movsd %xmm0, %xmm1
- movsd %xmm2, %xmm3
- movsd %xmm4, %xmm5
- movsd %xmm6, %xmm7
+ vmovsd %xmm0, %xmm1 , %xmm1
+ vmovsd %xmm2, %xmm3 , %xmm3
+ vmovsd %xmm4, %xmm5 , %xmm5
+ vmovsd %xmm6, %xmm7 , %xmm7
vmovups %xmm1, 32 * SIZE(B)
vmovups %xmm5, 36 * SIZE(B)
vmovups %xmm7, 38 * SIZE(B)
- shufpd $1, %xmm9, %xmm0
- shufpd $1, %xmm10, %xmm2
- shufpd $1, %xmm11, %xmm4
- shufpd $1, %xmm12, %xmm6
+ vshufpd $1, %xmm9, %xmm0 , %xmm0
+ vshufpd $1, %xmm10, %xmm2 , %xmm2
+ vshufpd $1, %xmm11, %xmm4 , %xmm4
+ vshufpd $1, %xmm12, %xmm6 , %xmm6
vmovups %xmm0, 40 * SIZE(B)
vmovups %xmm2, 42 * SIZE(B)
vmovups 0 * SIZE(AO2, LDA, 2), %xmm6
vmovups 1 * SIZE(AO2, LDA3), %xmm7
- movsd %xmm0, %xmm9
- movsd %xmm2, %xmm10
- movsd %xmm4, %xmm11
- movsd %xmm6, %xmm12
+ vmovsd %xmm0, %xmm9 , %xmm9
+ vmovsd %xmm2, %xmm10, %xmm10
+ vmovsd %xmm4, %xmm11, %xmm11
+ vmovsd %xmm6, %xmm12, %xmm12
vmovups %xmm9, -16 * SIZE(B)
vmovups %xmm10, -14 * SIZE(B)
vmovups %xmm11, -12 * SIZE(B)
vmovups %xmm12, -10 * SIZE(B)
- shufpd $1, %xmm1, %xmm0
- shufpd $1, %xmm3, %xmm2
- shufpd $1, %xmm5, %xmm4
- shufpd $1, %xmm7, %xmm6
+ vshufpd $1, %xmm1, %xmm0 , %xmm0
+ vshufpd $1, %xmm3, %xmm2 , %xmm2
+ vshufpd $1, %xmm5, %xmm4 , %xmm4
+ vshufpd $1, %xmm7, %xmm6 , %xmm6
vmovups %xmm0, -8 * SIZE(B)
vmovups %xmm2, -6 * SIZE(B)
vmovups 2 * SIZE(AO2, LDA, 2), %xmm6
vmovups 3 * SIZE(AO2, LDA3), %xmm12
- movsd %xmm0, %xmm1
- movsd %xmm2, %xmm3
- movsd %xmm4, %xmm5
- movsd %xmm6, %xmm7
+ vmovsd %xmm0, %xmm1 , %xmm1
+ vmovsd %xmm2, %xmm3 , %xmm3
+ vmovsd %xmm4, %xmm5 , %xmm5
+ vmovsd %xmm6, %xmm7 , %xmm7
vmovups %xmm1, 0 * SIZE(B)
vmovups %xmm3, 2 * SIZE(B)
vmovups %xmm5, 4 * SIZE(B)
vmovups %xmm7, 6 * SIZE(B)
- shufpd $1, %xmm9, %xmm0
- shufpd $1, %xmm10, %xmm2
- shufpd $1, %xmm11, %xmm4
- shufpd $1, %xmm12, %xmm6
+ vshufpd $1, %xmm9, %xmm0 , %xmm0
+ vshufpd $1, %xmm10, %xmm2 , %xmm2
+ vshufpd $1, %xmm11, %xmm4 , %xmm4
+ vshufpd $1, %xmm12, %xmm6 , %xmm6
vmovups %xmm0, 8 * SIZE(B)
vmovups %xmm2, 10 * SIZE(B)
vmovups 0 * SIZE(AO2, LDA, 2), %xmm6
vmovups 1 * SIZE(AO2, LDA3), %xmm7
- movsd %xmm0, %xmm9
- movsd %xmm2, %xmm10
- movsd %xmm4, %xmm11
- movsd %xmm6, %xmm12
+ vmovsd %xmm0, %xmm9 , %xmm9
+ vmovsd %xmm2, %xmm10, %xmm10
+ vmovsd %xmm4, %xmm11, %xmm11
+ vmovsd %xmm6, %xmm12, %xmm12
vmovups %xmm9, -16 * SIZE(B)
vmovups %xmm10, -14 * SIZE(B)
vmovups %xmm11, -12 * SIZE(B)
vmovups %xmm12, -10 * SIZE(B)
- shufpd $1, %xmm1, %xmm0
- shufpd $1, %xmm3, %xmm2
- shufpd $1, %xmm5, %xmm4
- shufpd $1, %xmm7, %xmm6
+ vshufpd $1, %xmm1, %xmm0 , %xmm0
+ vshufpd $1, %xmm3, %xmm2 , %xmm2
+ vshufpd $1, %xmm5, %xmm4 , %xmm4
+ vshufpd $1, %xmm7, %xmm6 , %xmm6
vmovups %xmm0, -8 * SIZE(B)
vmovups %xmm2, -6 * SIZE(B)
testq $1, MM
jle .L59
- movsd 0 * SIZE(AO1), %xmm0
- movsd 0 * SIZE(AO1, LDA), %xmm1
- movsd 0 * SIZE(AO1, LDA, 2), %xmm2
- movsd 0 * SIZE(AO1, LDA3), %xmm3
- movsd 0 * SIZE(AO2), %xmm4
- movsd 0 * SIZE(AO2, LDA), %xmm5
- movsd 0 * SIZE(AO2, LDA, 2), %xmm6
- movsd 0 * SIZE(AO2, LDA3), %xmm7
+ vmovsd 0 * SIZE(AO1), %xmm0
+ vmovsd 0 * SIZE(AO1, LDA), %xmm1
+ vmovsd 0 * SIZE(AO1, LDA, 2), %xmm2
+ vmovsd 0 * SIZE(AO1, LDA3), %xmm3
+ vmovsd 0 * SIZE(AO2), %xmm4
+ vmovsd 0 * SIZE(AO2, LDA), %xmm5
+ vmovsd 0 * SIZE(AO2, LDA, 2), %xmm6
+ vmovsd 0 * SIZE(AO2, LDA3), %xmm7
- unpcklpd %xmm1, %xmm0
- unpcklpd %xmm3, %xmm2
- unpcklpd %xmm5, %xmm4
- unpcklpd %xmm7, %xmm6
+ vunpcklpd %xmm1, %xmm0 , %xmm0
+ vunpcklpd %xmm3, %xmm2 , %xmm2
+ vunpcklpd %xmm5, %xmm4 , %xmm4
+ vunpcklpd %xmm7, %xmm6 , %xmm6
vmovups %xmm0, -16 * SIZE(B)
vmovups %xmm2, -14 * SIZE(B)
testq $SIZE, A
je .L62
- movsd 0 * SIZE(AO1), %xmm0
- movsd 0 * SIZE(AO1, LDA), %xmm1
- movsd 0 * SIZE(AO2), %xmm2
- movsd 0 * SIZE(AO2, LDA), %xmm3
+ vmovsd 0 * SIZE(AO1), %xmm0
+ vmovsd 0 * SIZE(AO1, LDA), %xmm1
+ vmovsd 0 * SIZE(AO2), %xmm2
+ vmovsd 0 * SIZE(AO2, LDA), %xmm3
- unpcklpd %xmm1, %xmm0
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm1, %xmm0 , %xmm0
+ vunpcklpd %xmm3, %xmm2 , %xmm2
vmovups %xmm0, -16 * SIZE(B)
vmovups %xmm2, -14 * SIZE(B)
vmovups 0 * SIZE(AO2), %xmm2
vmovups 1 * SIZE(AO2, LDA), %xmm3
- movsd %xmm0, %xmm5
- movsd %xmm2, %xmm7
- shufpd $1, %xmm1, %xmm0
- shufpd $1, %xmm3, %xmm2
+ vmovsd %xmm0, %xmm5 , %xmm5
+ vmovsd %xmm2, %xmm7 , %xmm7
+ vshufpd $1, %xmm1, %xmm0 , %xmm0
+ vshufpd $1, %xmm3, %xmm2 , %xmm2
vmovups %xmm5, -16 * SIZE(B)
vmovups 2 * SIZE(AO2), %xmm2
vmovups 3 * SIZE(AO2, LDA), %xmm7
- movsd %xmm0, %xmm1
- movsd %xmm2, %xmm3
- shufpd $1, %xmm5, %xmm0
- shufpd $1, %xmm7, %xmm2
+ vmovsd %xmm0, %xmm1 , %xmm1
+ vmovsd %xmm2, %xmm3 , %xmm3
+ vshufpd $1, %xmm5, %xmm0 , %xmm0
+ vshufpd $1, %xmm7, %xmm2 , %xmm2
vmovups %xmm1, -8 * SIZE(B)
vmovups 4 * SIZE(AO2), %xmm2
vmovups 5 * SIZE(AO2, LDA), %xmm3
- movsd %xmm0, %xmm5
- movsd %xmm2, %xmm7
- shufpd $1, %xmm1, %xmm0
- shufpd $1, %xmm3, %xmm2
+ vmovsd %xmm0, %xmm5 , %xmm5
+ vmovsd %xmm2, %xmm7 , %xmm7
+ vshufpd $1, %xmm1, %xmm0 , %xmm0
+ vshufpd $1, %xmm3, %xmm2 , %xmm2
vmovups %xmm5, 0 * SIZE(B)
vmovups 6 * SIZE(AO2), %xmm2
vmovups 7 * SIZE(AO2, LDA), %xmm7
- movsd %xmm0, %xmm1
- movsd %xmm2, %xmm3
- shufpd $1, %xmm5, %xmm0
- shufpd $1, %xmm7, %xmm2
+ vmovsd %xmm0, %xmm1 , %xmm1
+ vmovsd %xmm2, %xmm3 , %xmm3
+ vshufpd $1, %xmm5, %xmm0 , %xmm0
+ vshufpd $1, %xmm7, %xmm2 , %xmm2
vmovups %xmm1, 8 * SIZE(B)
vmovups 0 * SIZE(AO2), %xmm2
vmovups 1 * SIZE(AO2, LDA), %xmm3
- movsd %xmm0, %xmm5
- shufpd $1, %xmm1, %xmm0
- movsd %xmm2, %xmm7
- shufpd $1, %xmm3, %xmm2
+ vmovsd %xmm0, %xmm5 , %xmm5
+ vshufpd $1, %xmm1, %xmm0 , %xmm0
+ vmovsd %xmm2, %xmm7 , %xmm7
+ vshufpd $1, %xmm3, %xmm2 , %xmm2
vmovups %xmm5, -16 * SIZE(B)
vmovups %xmm7, -14 * SIZE(B)
vmovups 2 * SIZE(AO2), %xmm2
vmovups 3 * SIZE(AO2, LDA), %xmm7
- movsd %xmm0, %xmm1
- shufpd $1, %xmm5, %xmm0
- movsd %xmm2, %xmm3
- shufpd $1, %xmm7, %xmm2
+ vmovsd %xmm0, %xmm1 , %xmm1
+ vshufpd $1, %xmm5, %xmm0 , %xmm0
+ vmovsd %xmm2, %xmm3 , %xmm3
+ vshufpd $1, %xmm7, %xmm2 , %xmm2
vmovups %xmm1, -8 * SIZE(B)
vmovups %xmm3, -6 * SIZE(B)
vmovups 0 * SIZE(AO2), %xmm2
vmovups 1 * SIZE(AO2, LDA), %xmm3
- movsd %xmm0, %xmm5
- movsd %xmm2, %xmm7
- shufpd $1, %xmm1, %xmm0
- shufpd $1, %xmm3, %xmm2
+ vmovsd %xmm0, %xmm5 , %xmm5
+ vmovsd %xmm2, %xmm7 , %xmm7
+ vshufpd $1, %xmm1, %xmm0 , %xmm0
+ vshufpd $1, %xmm3, %xmm2 , %xmm2
vmovups %xmm5, -16 * SIZE(B)
vmovups %xmm7, -14 * SIZE(B)
testq $1, MM
jle .L70
- movsd 0 * SIZE(AO1), %xmm0
- movsd 0 * SIZE(AO1, LDA), %xmm1
- movsd 0 * SIZE(AO2), %xmm2
- movsd 0 * SIZE(AO2, LDA), %xmm3
+ vmovsd 0 * SIZE(AO1), %xmm0
+ vmovsd 0 * SIZE(AO1, LDA), %xmm1
+ vmovsd 0 * SIZE(AO2), %xmm2
+ vmovsd 0 * SIZE(AO2, LDA), %xmm3
- unpcklpd %xmm1, %xmm0
- unpcklpd %xmm3, %xmm2
+ vunpcklpd %xmm1, %xmm0 , %xmm0
+ vunpcklpd %xmm3, %xmm2 , %xmm2
vmovups %xmm0, -16 * SIZE(B)
vmovups %xmm2, -14 * SIZE(B)
testq $SIZE, A
je .L72
- movsd 0 * SIZE(AO1), %xmm0
- movsd 0 * SIZE(AO2), %xmm1
+ vmovsd 0 * SIZE(AO1), %xmm0
+ vmovsd 0 * SIZE(AO2), %xmm1
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm0, -16 * SIZE(B)
vmovups 2 * SIZE(AO1), %xmm2
vmovups 3 * SIZE(AO2), %xmm3
- movsd %xmm0, %xmm5
- shufpd $1, %xmm1, %xmm0
- movsd %xmm2, %xmm1
- shufpd $1, %xmm3, %xmm2
+ vmovsd %xmm0, %xmm5 , %xmm5
+ vshufpd $1, %xmm1, %xmm0 , %xmm0
+ vmovsd %xmm2, %xmm1 , %xmm1
+ vshufpd $1, %xmm3, %xmm2 , %xmm2
vmovups %xmm5, -16 * SIZE(B)
vmovups 6 * SIZE(AO1), %xmm2
vmovups 7 * SIZE(AO2), %xmm5
- movsd %xmm0, %xmm3
- shufpd $1, %xmm1, %xmm0
- movsd %xmm2, %xmm1
- shufpd $1, %xmm5, %xmm2
+ vmovsd %xmm0, %xmm3 , %xmm3
+ vshufpd $1, %xmm1, %xmm0 , %xmm0
+ vmovsd %xmm2, %xmm1 , %xmm1
+ vshufpd $1, %xmm5, %xmm2 , %xmm2
vmovups %xmm3, -8 * SIZE(B)
vmovups 2 * SIZE(AO1), %xmm2
vmovups 3 * SIZE(AO2), %xmm3
- movsd %xmm0, %xmm5
- shufpd $1, %xmm1, %xmm0
- movsd %xmm2, %xmm1
- shufpd $1, %xmm3, %xmm2
+ vmovsd %xmm0, %xmm5 , %xmm5
+ vshufpd $1, %xmm1, %xmm0 , %xmm0
+ vmovsd %xmm2, %xmm1 , %xmm1
+ vshufpd $1, %xmm3, %xmm2 , %xmm2
vmovups %xmm5, -16 * SIZE(B)
vmovups %xmm0, -14 * SIZE(B)
vmovups 0 * SIZE(AO1), %xmm0
vmovups 1 * SIZE(AO2), %xmm1
- movsd %xmm0, %xmm5
- shufpd $1, %xmm1, %xmm0
+ vmovsd %xmm0, %xmm5 , %xmm5
+ vshufpd $1, %xmm1, %xmm0 , %xmm0
vmovups %xmm5, -16 * SIZE(B)
vmovups %xmm0, -14 * SIZE(B)
testq $1, MM
jle .L80
- movsd 0 * SIZE(AO1), %xmm0
- movsd 0 * SIZE(AO2), %xmm1
+ vmovsd 0 * SIZE(AO1), %xmm0
+ vmovsd 0 * SIZE(AO2), %xmm1
- unpcklpd %xmm1, %xmm0
+ vunpcklpd %xmm1, %xmm0 , %xmm0
vmovups %xmm0, -16 * SIZE(B)
subq $-2 * SIZE, B
testq $1, MM
jle .L999
- movsd 0 * SIZE(AO1), %xmm0
+ vmovsd 0 * SIZE(AO1), %xmm0
- movlpd %xmm0, -16 * SIZE(B)
+ vmovlpd %xmm0, -16 * SIZE(B)
jmp .L999
ALIGN_4
vmovups 5 * SIZE(AO1), %xmm3
vmovups 7 * SIZE(AO1), %xmm4
- shufpd $1, %xmm1, %xmm0
- shufpd $1, %xmm2, %xmm1
- shufpd $1, %xmm3, %xmm2
- shufpd $1, %xmm4, %xmm3
+ vshufpd $1, %xmm1, %xmm0 , %xmm0
+ vshufpd $1, %xmm2, %xmm1 , %xmm1
+ vshufpd $1, %xmm3, %xmm2 , %xmm2
+ vshufpd $1, %xmm4, %xmm3 , %xmm3
vmovups %xmm0, -16 * SIZE(B)
vmovups 1 * SIZE(AO1), %xmm1
vmovups 3 * SIZE(AO1), %xmm2
- shufpd $1, %xmm1, %xmm0
- shufpd $1, %xmm2, %xmm1
+ vshufpd $1, %xmm1, %xmm0 , %xmm0
+ vshufpd $1, %xmm2, %xmm1 , %xmm1
vmovups %xmm0, -16 * SIZE(B)
vmovups %xmm1, -14 * SIZE(B)
vmovups 1 * SIZE(AO1), %xmm1
- shufpd $1, %xmm1, %xmm0
+ vshufpd $1, %xmm1, %xmm0 , %xmm0
vmovups %xmm0, -16 * SIZE(B)
testq $1, M
jle .L999
- shufpd $1, %xmm0, %xmm0
+ vshufpd $1, %xmm0, %xmm0 , %xmm0
- movlpd %xmm0, -16 * SIZE(B)
+ vmovlpd %xmm0, -16 * SIZE(B)
ALIGN_4
.L999: