diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/mmx-schedule.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/mmx-schedule.ll | 486 |
1 files changed, 243 insertions, 243 deletions
diff --git a/llvm/test/CodeGen/X86/mmx-schedule.ll b/llvm/test/CodeGen/X86/mmx-schedule.ll index 275b3fe16b5..b903a57040c 100644 --- a/llvm/test/CodeGen/X86/mmx-schedule.ll +++ b/llvm/test/CodeGen/X86/mmx-schedule.ll @@ -17,7 +17,7 @@ define i64 @test_cvtpd2pi(<2 x double> %a0, <2 x double>* %a1) optsize { ; GENERIC-NEXT: cvtpd2pi (%rdi), %mm0 # sched: [10:1.00] ; GENERIC-NEXT: cvtpd2pi %xmm0, %mm1 # sched: [4:1.00] ; GENERIC-NEXT: por %mm1, %mm0 # sched: [1:0.33] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_cvtpd2pi: @@ -41,7 +41,7 @@ define i64 @test_cvtpd2pi(<2 x double> %a0, <2 x double>* %a1) optsize { ; SANDY-NEXT: cvtpd2pi (%rdi), %mm0 # sched: [10:1.00] ; SANDY-NEXT: cvtpd2pi %xmm0, %mm1 # sched: [4:1.00] ; SANDY-NEXT: por %mm1, %mm0 # sched: [1:0.33] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_cvtpd2pi: @@ -81,7 +81,7 @@ define i64 @test_cvtpd2pi(<2 x double> %a0, <2 x double>* %a1) optsize { ; BTVER2-NEXT: cvtpd2pi (%rdi), %mm1 # sched: [8:1.00] ; BTVER2-NEXT: cvtpd2pi %xmm0, %mm0 # sched: [3:1.00] ; BTVER2-NEXT: por %mm0, %mm1 # sched: [1:0.50] -; BTVER2-NEXT: movq %mm1, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm1, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_cvtpd2pi: @@ -262,7 +262,7 @@ define i64 @test_cvtps2pi(<4 x float> %a0, <4 x float>* %a1) optsize { ; GENERIC-NEXT: cvtps2pi %xmm0, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: cvtps2pi (%rdi), %mm1 # sched: [9:1.00] ; GENERIC-NEXT: por %mm0, %mm1 # sched: [1:0.33] -; GENERIC-NEXT: movq %mm1, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm1, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_cvtps2pi: @@ -286,7 +286,7 @@ define i64 @test_cvtps2pi(<4 x float> %a0, <4 x float>* %a1) optsize { ; SANDY-NEXT: cvtps2pi %xmm0, %mm0 # sched: [3:1.00] ; SANDY-NEXT: cvtps2pi (%rdi), %mm1 # sched: [9:1.00] ; SANDY-NEXT: por %mm0, %mm1 # sched: [1:0.33] -; SANDY-NEXT: movq %mm1, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm1, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_cvtps2pi: @@ -326,7 +326,7 @@ define i64 @test_cvtps2pi(<4 x float> %a0, <4 x float>* %a1) optsize { ; BTVER2-NEXT: cvtps2pi (%rdi), %mm1 # sched: [8:1.00] ; BTVER2-NEXT: cvtps2pi %xmm0, %mm0 # sched: [3:1.00] ; BTVER2-NEXT: por %mm0, %mm1 # sched: [1:0.50] -; BTVER2-NEXT: movq %mm1, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm1, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_cvtps2pi: @@ -351,7 +351,7 @@ define i64 @test_cvttpd2pi(<2 x double> %a0, <2 x double>* %a1) optsize { ; GENERIC-NEXT: cvttpd2pi (%rdi), %mm0 # sched: [10:1.00] ; GENERIC-NEXT: cvttpd2pi %xmm0, %mm1 # sched: [4:1.00] ; GENERIC-NEXT: por %mm1, %mm0 # sched: [1:0.33] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_cvttpd2pi: @@ -375,7 +375,7 @@ define i64 @test_cvttpd2pi(<2 x double> %a0, <2 x double>* %a1) optsize { ; SANDY-NEXT: cvttpd2pi (%rdi), %mm0 # sched: [10:1.00] ; SANDY-NEXT: cvttpd2pi %xmm0, %mm1 # sched: [4:1.00] ; SANDY-NEXT: por %mm1, %mm0 # sched: [1:0.33] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_cvttpd2pi: @@ -415,7 +415,7 @@ define i64 @test_cvttpd2pi(<2 x double> %a0, <2 x double>* %a1) optsize { ; BTVER2-NEXT: cvttpd2pi (%rdi), %mm1 # sched: [8:1.00] ; BTVER2-NEXT: cvttpd2pi %xmm0, %mm0 # sched: [3:1.00] ; BTVER2-NEXT: por %mm0, %mm1 # sched: [1:0.50] -; BTVER2-NEXT: movq %mm1, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm1, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_cvttpd2pi: @@ -440,7 +440,7 @@ define i64 @test_cvttps2pi(<4 x float> %a0, <4 x float>* %a1) optsize { ; GENERIC-NEXT: cvttps2pi %xmm0, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: cvttps2pi (%rdi), %mm1 # sched: [9:1.00] ; GENERIC-NEXT: por %mm0, %mm1 # sched: [1:0.33] -; GENERIC-NEXT: movq %mm1, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm1, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_cvttps2pi: @@ -464,7 +464,7 @@ define i64 @test_cvttps2pi(<4 x float> %a0, <4 x float>* %a1) optsize { ; SANDY-NEXT: cvttps2pi %xmm0, %mm0 # sched: [3:1.00] ; SANDY-NEXT: cvttps2pi (%rdi), %mm1 # sched: [9:1.00] ; SANDY-NEXT: por %mm0, %mm1 # sched: [1:0.33] -; SANDY-NEXT: movq %mm1, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm1, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_cvttps2pi: @@ -504,7 +504,7 @@ define i64 @test_cvttps2pi(<4 x float> %a0, <4 x float>* %a1) optsize { ; BTVER2-NEXT: cvttps2pi (%rdi), %mm1 # sched: [8:1.00] ; BTVER2-NEXT: cvttps2pi %xmm0, %mm0 # sched: [3:1.00] ; BTVER2-NEXT: por %mm0, %mm1 # sched: [1:0.50] -; BTVER2-NEXT: movq %mm1, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm1, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_cvttps2pi: @@ -636,12 +636,12 @@ declare void @llvm.x86.mmx.maskmovq(x86_mmx, x86_mmx, i8*) nounwind define i32 @test_movd(x86_mmx %a0, i32 %a1, i32 *%a2) { ; GENERIC-LABEL: test_movd: ; GENERIC: # %bb.0: -; GENERIC-NEXT: movd %edi, %mm1 # sched: [1:0.33] +; GENERIC-NEXT: movd %edi, %mm1 # sched: [1:1.00] ; GENERIC-NEXT: movd (%rsi), %mm2 # sched: [5:0.50] ; GENERIC-NEXT: paddd %mm1, %mm2 # sched: [3:1.00] ; GENERIC-NEXT: paddd %mm2, %mm0 # sched: [3:1.00] -; GENERIC-NEXT: movd %mm2, %ecx # sched: [1:0.33] -; GENERIC-NEXT: movd %mm0, %eax # sched: [1:0.33] +; GENERIC-NEXT: movd %mm2, %ecx # sched: [2:1.00] +; GENERIC-NEXT: movd %mm0, %eax # sched: [2:1.00] ; GENERIC-NEXT: movl %ecx, (%rsi) # sched: [1:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; @@ -669,12 +669,12 @@ define i32 @test_movd(x86_mmx %a0, i32 %a1, i32 *%a2) { ; ; SANDY-LABEL: test_movd: ; SANDY: # %bb.0: -; SANDY-NEXT: movd %edi, %mm1 # sched: [1:0.33] +; SANDY-NEXT: movd %edi, %mm1 # sched: [1:1.00] ; SANDY-NEXT: movd (%rsi), %mm2 # sched: [5:0.50] ; SANDY-NEXT: paddd %mm1, %mm2 # sched: [3:1.00] ; SANDY-NEXT: paddd %mm2, %mm0 # sched: [3:1.00] -; SANDY-NEXT: movd %mm2, %ecx # sched: [1:0.33] -; SANDY-NEXT: movd %mm0, %eax # sched: [1:0.33] +; SANDY-NEXT: movd %mm2, %ecx # sched: [2:1.00] +; SANDY-NEXT: movd %mm0, %eax # sched: [2:1.00] ; SANDY-NEXT: movl %ecx, (%rsi) # sched: [1:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; @@ -724,12 +724,12 @@ define i32 @test_movd(x86_mmx %a0, i32 %a1, i32 *%a2) { ; ; BTVER2-LABEL: test_movd: ; BTVER2: # %bb.0: +; BTVER2-NEXT: movd %edi, %mm1 # sched: [8:0.50] ; BTVER2-NEXT: movd (%rsi), %mm2 # sched: [5:1.00] -; BTVER2-NEXT: movd %edi, %mm1 # sched: [1:0.50] ; BTVER2-NEXT: paddd %mm1, %mm2 # sched: [1:0.50] ; BTVER2-NEXT: paddd %mm2, %mm0 # sched: [1:0.50] -; BTVER2-NEXT: movd %mm2, %ecx # sched: [1:0.50] -; BTVER2-NEXT: movd %mm0, %eax # sched: [1:0.50] +; BTVER2-NEXT: movd %mm2, %ecx # sched: [4:1.00] +; BTVER2-NEXT: movd %mm0, %eax # sched: [4:1.00] ; BTVER2-NEXT: movl %ecx, (%rsi) # sched: [1:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; @@ -763,7 +763,7 @@ define i64 @test_movdq2q(<2 x i64> %a0) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: movdq2q %xmm0, %mm0 # sched: [2:1.00] ; GENERIC-NEXT: paddd %mm0, %mm0 # sched: [3:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_movdq2q: @@ -784,7 +784,7 @@ define i64 @test_movdq2q(<2 x i64> %a0) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: movdq2q %xmm0, %mm0 # sched: [2:1.00] ; SANDY-NEXT: paddd %mm0, %mm0 # sched: [3:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_movdq2q: @@ -819,7 +819,7 @@ define i64 @test_movdq2q(<2 x i64> %a0) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: movdq2q %xmm0, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: paddd %mm0, %mm0 # sched: [1:0.50] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_movdq2q: @@ -1030,7 +1030,7 @@ define i64 @test_pabsb(x86_mmx *%a0) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pabsb (%rdi), %mm0 # sched: [6:0.50] ; GENERIC-NEXT: pabsb %mm0, %mm0 # sched: [1:0.50] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pabsb: @@ -1051,7 +1051,7 @@ define i64 @test_pabsb(x86_mmx *%a0) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pabsb (%rdi), %mm0 # sched: [6:0.50] ; SANDY-NEXT: pabsb %mm0, %mm0 # sched: [1:0.50] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pabsb: @@ -1086,7 +1086,7 @@ define i64 @test_pabsb(x86_mmx *%a0) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pabsb (%rdi), %mm0 # sched: [6:1.00] ; BTVER2-NEXT: pabsb %mm0, %mm0 # sched: [1:0.50] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pabsb: @@ -1108,7 +1108,7 @@ define i64 @test_pabsd(x86_mmx *%a0) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pabsd (%rdi), %mm0 # sched: [6:0.50] ; GENERIC-NEXT: pabsd %mm0, %mm0 # sched: [1:0.50] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pabsd: @@ -1129,7 +1129,7 @@ define i64 @test_pabsd(x86_mmx *%a0) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pabsd (%rdi), %mm0 # sched: [6:0.50] ; SANDY-NEXT: pabsd %mm0, %mm0 # sched: [1:0.50] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pabsd: @@ -1164,7 +1164,7 @@ define i64 @test_pabsd(x86_mmx *%a0) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pabsd (%rdi), %mm0 # sched: [6:1.00] ; BTVER2-NEXT: pabsd %mm0, %mm0 # sched: [1:0.50] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pabsd: @@ -1186,7 +1186,7 @@ define i64 @test_pabsw(x86_mmx *%a0) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pabsw (%rdi), %mm0 # sched: [6:0.50] ; GENERIC-NEXT: pabsw %mm0, %mm0 # sched: [1:0.50] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pabsw: @@ -1207,7 +1207,7 @@ define i64 @test_pabsw(x86_mmx *%a0) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pabsw (%rdi), %mm0 # sched: [6:0.50] ; SANDY-NEXT: pabsw %mm0, %mm0 # sched: [1:0.50] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pabsw: @@ -1242,7 +1242,7 @@ define i64 @test_pabsw(x86_mmx *%a0) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pabsw (%rdi), %mm0 # sched: [6:1.00] ; BTVER2-NEXT: pabsw %mm0, %mm0 # sched: [1:0.50] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pabsw: @@ -1264,7 +1264,7 @@ define i64 @test_packssdw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: packssdw %mm1, %mm0 # sched: [1:1.00] ; GENERIC-NEXT: packssdw (%rdi), %mm0 # sched: [6:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_packssdw: @@ -1285,7 +1285,7 @@ define i64 @test_packssdw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: packssdw %mm1, %mm0 # sched: [1:1.00] ; SANDY-NEXT: packssdw (%rdi), %mm0 # sched: [6:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_packssdw: @@ -1320,7 +1320,7 @@ define i64 @test_packssdw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: packssdw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: packssdw (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_packssdw: @@ -1342,7 +1342,7 @@ define i64 @test_packsswb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: packsswb %mm1, %mm0 # sched: [1:1.00] ; GENERIC-NEXT: packsswb (%rdi), %mm0 # sched: [6:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_packsswb: @@ -1363,7 +1363,7 @@ define i64 @test_packsswb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: packsswb %mm1, %mm0 # sched: [1:1.00] ; SANDY-NEXT: packsswb (%rdi), %mm0 # sched: [6:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_packsswb: @@ -1398,7 +1398,7 @@ define i64 @test_packsswb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: packsswb %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: packsswb (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_packsswb: @@ -1420,7 +1420,7 @@ define i64 @test_packuswb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: packuswb %mm1, %mm0 # sched: [1:1.00] ; GENERIC-NEXT: packuswb (%rdi), %mm0 # sched: [6:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_packuswb: @@ -1441,7 +1441,7 @@ define i64 @test_packuswb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: packuswb %mm1, %mm0 # sched: [1:1.00] ; SANDY-NEXT: packuswb (%rdi), %mm0 # sched: [6:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_packuswb: @@ -1476,7 +1476,7 @@ define i64 @test_packuswb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: packuswb %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: packuswb (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_packuswb: @@ -1498,7 +1498,7 @@ define i64 @test_paddb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: paddb %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: paddb (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_paddb: @@ -1519,7 +1519,7 @@ define i64 @test_paddb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: paddb %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: paddb (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_paddb: @@ -1554,7 +1554,7 @@ define i64 @test_paddb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: paddb %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: paddb (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_paddb: @@ -1576,7 +1576,7 @@ define i64 @test_paddd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: paddd %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: paddd (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_paddd: @@ -1597,7 +1597,7 @@ define i64 @test_paddd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: paddd %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: paddd (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_paddd: @@ -1632,7 +1632,7 @@ define i64 @test_paddd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: paddd %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: paddd (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_paddd: @@ -1654,7 +1654,7 @@ define i64 @test_paddq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: paddq %mm1, %mm0 # sched: [1:0.50] ; GENERIC-NEXT: paddq (%rdi), %mm0 # sched: [7:0.50] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_paddq: @@ -1675,7 +1675,7 @@ define i64 @test_paddq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: paddq %mm1, %mm0 # sched: [1:0.50] ; SANDY-NEXT: paddq (%rdi), %mm0 # sched: [7:0.50] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_paddq: @@ -1710,7 +1710,7 @@ define i64 @test_paddq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: paddq %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: paddq (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_paddq: @@ -1732,7 +1732,7 @@ define i64 @test_paddsb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: paddsb %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: paddsb (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_paddsb: @@ -1753,7 +1753,7 @@ define i64 @test_paddsb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: paddsb %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: paddsb (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_paddsb: @@ -1788,7 +1788,7 @@ define i64 @test_paddsb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: paddsb %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: paddsb (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_paddsb: @@ -1810,7 +1810,7 @@ define i64 @test_paddsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: paddsw %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: paddsw (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_paddsw: @@ -1831,7 +1831,7 @@ define i64 @test_paddsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: paddsw %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: paddsw (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_paddsw: @@ -1866,7 +1866,7 @@ define i64 @test_paddsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: paddsw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: paddsw (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_paddsw: @@ -1888,7 +1888,7 @@ define i64 @test_paddusb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: paddusb %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: paddusb (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_paddusb: @@ -1909,7 +1909,7 @@ define i64 @test_paddusb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: paddusb %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: paddusb (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_paddusb: @@ -1944,7 +1944,7 @@ define i64 @test_paddusb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: paddusb %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: paddusb (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_paddusb: @@ -1966,7 +1966,7 @@ define i64 @test_paddusw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: paddusw %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: paddusw (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_paddusw: @@ -1987,7 +1987,7 @@ define i64 @test_paddusw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: paddusw %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: paddusw (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_paddusw: @@ -2022,7 +2022,7 @@ define i64 @test_paddusw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: paddusw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: paddusw (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_paddusw: @@ -2044,7 +2044,7 @@ define i64 @test_paddw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: paddw %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: paddw (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_paddw: @@ -2065,7 +2065,7 @@ define i64 @test_paddw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: paddw %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: paddw (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_paddw: @@ -2100,7 +2100,7 @@ define i64 @test_paddw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: paddw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: paddw (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_paddw: @@ -2122,7 +2122,7 @@ define i64 @test_palignr(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: palignr $1, %mm1, %mm0 # sched: [1:0.50] ; GENERIC-NEXT: palignr $1, (%rdi), %mm0 # sched: [6:0.50] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_palignr: @@ -2143,7 +2143,7 @@ define i64 @test_palignr(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: palignr $1, %mm1, %mm0 # sched: [1:0.50] ; SANDY-NEXT: palignr $1, (%rdi), %mm0 # sched: [6:0.50] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_palignr: @@ -2178,7 +2178,7 @@ define i64 @test_palignr(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: palignr $1, %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: palignr $1, (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_palignr: @@ -2200,7 +2200,7 @@ define i64 @test_pand(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pand %mm1, %mm0 # sched: [1:0.33] ; GENERIC-NEXT: pand (%rdi), %mm0 # sched: [6:0.50] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pand: @@ -2221,7 +2221,7 @@ define i64 @test_pand(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pand %mm1, %mm0 # sched: [1:0.33] ; SANDY-NEXT: pand (%rdi), %mm0 # sched: [6:0.50] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pand: @@ -2256,7 +2256,7 @@ define i64 @test_pand(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pand %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: pand (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pand: @@ -2278,7 +2278,7 @@ define i64 @test_pandn(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pandn %mm1, %mm0 # sched: [1:0.33] ; GENERIC-NEXT: pandn (%rdi), %mm0 # sched: [6:0.50] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pandn: @@ -2299,7 +2299,7 @@ define i64 @test_pandn(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pandn %mm1, %mm0 # sched: [1:0.33] ; SANDY-NEXT: pandn (%rdi), %mm0 # sched: [6:0.50] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pandn: @@ -2334,7 +2334,7 @@ define i64 @test_pandn(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pandn %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: pandn (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pandn: @@ -2356,7 +2356,7 @@ define i64 @test_pavgb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pavgb %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: pavgb (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pavgb: @@ -2377,7 +2377,7 @@ define i64 @test_pavgb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pavgb %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: pavgb (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pavgb: @@ -2412,7 +2412,7 @@ define i64 @test_pavgb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pavgb %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: pavgb (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pavgb: @@ -2434,7 +2434,7 @@ define i64 @test_pavgw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pavgw %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: pavgw (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pavgw: @@ -2455,7 +2455,7 @@ define i64 @test_pavgw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pavgw %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: pavgw (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pavgw: @@ -2490,7 +2490,7 @@ define i64 @test_pavgw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pavgw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: pavgw (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pavgw: @@ -2512,7 +2512,7 @@ define i64 @test_pcmpeqb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pcmpeqb %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: pcmpeqb (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pcmpeqb: @@ -2533,7 +2533,7 @@ define i64 @test_pcmpeqb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pcmpeqb %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: pcmpeqb (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pcmpeqb: @@ -2568,7 +2568,7 @@ define i64 @test_pcmpeqb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pcmpeqb %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: pcmpeqb (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pcmpeqb: @@ -2590,7 +2590,7 @@ define i64 @test_pcmpeqd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pcmpeqd %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: pcmpeqd (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pcmpeqd: @@ -2611,7 +2611,7 @@ define i64 @test_pcmpeqd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pcmpeqd %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: pcmpeqd (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pcmpeqd: @@ -2646,7 +2646,7 @@ define i64 @test_pcmpeqd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pcmpeqd %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: pcmpeqd (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pcmpeqd: @@ -2668,7 +2668,7 @@ define i64 @test_pcmpeqw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pcmpeqw %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: pcmpeqw (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pcmpeqw: @@ -2689,7 +2689,7 @@ define i64 @test_pcmpeqw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pcmpeqw %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: pcmpeqw (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pcmpeqw: @@ -2724,7 +2724,7 @@ define i64 @test_pcmpeqw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pcmpeqw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: pcmpeqw (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pcmpeqw: @@ -2746,7 +2746,7 @@ define i64 @test_pcmpgtb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pcmpgtb %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: pcmpgtb (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pcmpgtb: @@ -2767,7 +2767,7 @@ define i64 @test_pcmpgtb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pcmpgtb %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: pcmpgtb (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pcmpgtb: @@ -2802,7 +2802,7 @@ define i64 @test_pcmpgtb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pcmpgtb %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: pcmpgtb (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pcmpgtb: @@ -2824,7 +2824,7 @@ define i64 @test_pcmpgtd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pcmpgtd %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: pcmpgtd (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pcmpgtd: @@ -2845,7 +2845,7 @@ define i64 @test_pcmpgtd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pcmpgtd %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: pcmpgtd (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pcmpgtd: @@ -2880,7 +2880,7 @@ define i64 @test_pcmpgtd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pcmpgtd %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: pcmpgtd (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pcmpgtd: @@ -2902,7 +2902,7 @@ define i64 @test_pcmpgtw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pcmpgtw %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: pcmpgtw (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pcmpgtw: @@ -2923,7 +2923,7 @@ define i64 @test_pcmpgtw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pcmpgtw %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: pcmpgtw (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pcmpgtw: @@ -2958,7 +2958,7 @@ define i64 @test_pcmpgtw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pcmpgtw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: pcmpgtw (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pcmpgtw: @@ -3035,7 +3035,7 @@ define i64 @test_phaddd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: phaddd %mm1, %mm0 # sched: [3:1.50] ; GENERIC-NEXT: phaddd (%rdi), %mm0 # sched: [8:1.50] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_phaddd: @@ -3056,7 +3056,7 @@ define i64 @test_phaddd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: phaddd %mm1, %mm0 # sched: [3:1.50] ; SANDY-NEXT: phaddd (%rdi), %mm0 # sched: [8:1.50] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_phaddd: @@ -3091,7 +3091,7 @@ define i64 @test_phaddd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: phaddd %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: phaddd (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_phaddd: @@ -3113,7 +3113,7 @@ define i64 @test_phaddsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: phaddsw %mm1, %mm0 # sched: [3:1.50] ; GENERIC-NEXT: phaddsw (%rdi), %mm0 # sched: [8:1.50] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_phaddsw: @@ -3134,7 +3134,7 @@ define i64 @test_phaddsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: phaddsw %mm1, %mm0 # sched: [3:1.50] ; SANDY-NEXT: phaddsw (%rdi), %mm0 # sched: [8:1.50] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_phaddsw: @@ -3169,7 +3169,7 @@ define i64 @test_phaddsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: phaddsw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: phaddsw (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_phaddsw: @@ -3191,7 +3191,7 @@ define i64 @test_phaddw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: phaddw %mm1, %mm0 # sched: [3:1.50] ; GENERIC-NEXT: phaddw (%rdi), %mm0 # sched: [8:1.50] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_phaddw: @@ -3212,7 +3212,7 @@ define i64 @test_phaddw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: phaddw %mm1, %mm0 # sched: [3:1.50] ; SANDY-NEXT: phaddw (%rdi), %mm0 # sched: [8:1.50] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_phaddw: @@ -3247,7 +3247,7 @@ define i64 @test_phaddw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: phaddw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: phaddw (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_phaddw: @@ -3269,7 +3269,7 @@ define i64 @test_phsubd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: phsubd %mm1, %mm0 # sched: [3:1.50] ; GENERIC-NEXT: phsubd (%rdi), %mm0 # sched: [8:1.50] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_phsubd: @@ -3290,7 +3290,7 @@ define i64 @test_phsubd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: phsubd %mm1, %mm0 # sched: [3:1.50] ; SANDY-NEXT: phsubd (%rdi), %mm0 # sched: [8:1.50] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_phsubd: @@ -3325,7 +3325,7 @@ define i64 @test_phsubd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: phsubd %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: phsubd (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_phsubd: @@ -3347,7 +3347,7 @@ define i64 @test_phsubsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: phsubsw %mm1, %mm0 # sched: [3:1.50] ; GENERIC-NEXT: phsubsw (%rdi), %mm0 # sched: [8:1.50] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_phsubsw: @@ -3368,7 +3368,7 @@ define i64 @test_phsubsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: phsubsw %mm1, %mm0 # sched: [3:1.50] ; SANDY-NEXT: phsubsw (%rdi), %mm0 # sched: [8:1.50] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_phsubsw: @@ -3403,7 +3403,7 @@ define i64 @test_phsubsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: phsubsw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: phsubsw (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_phsubsw: @@ -3425,7 +3425,7 @@ define i64 @test_phsubw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: phsubw %mm1, %mm0 # sched: [3:1.50] ; GENERIC-NEXT: phsubw (%rdi), %mm0 # sched: [8:1.50] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_phsubw: @@ -3446,7 +3446,7 @@ define i64 @test_phsubw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: phsubw %mm1, %mm0 # sched: [3:1.50] ; SANDY-NEXT: phsubw (%rdi), %mm0 # sched: [8:1.50] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_phsubw: @@ -3481,7 +3481,7 @@ define i64 @test_phsubw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: phsubw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: phsubw (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_phsubw: @@ -3504,7 +3504,7 @@ define i64 @test_pinsrw(x86_mmx %a0, i32 %a1, i16* %a2) optsize { ; GENERIC-NEXT: pinsrw $0, %edi, %mm0 # sched: [2:1.00] ; GENERIC-NEXT: movswl (%rsi), %eax # sched: [5:0.50] ; GENERIC-NEXT: pinsrw $1, %eax, %mm0 # sched: [2:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pinsrw: @@ -3528,7 +3528,7 @@ define i64 @test_pinsrw(x86_mmx %a0, i32 %a1, i16* %a2) optsize { ; SANDY-NEXT: pinsrw $0, %edi, %mm0 # sched: [2:1.00] ; SANDY-NEXT: movswl (%rsi), %eax # sched: [5:0.50] ; SANDY-NEXT: pinsrw $1, %eax, %mm0 # sched: [2:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pinsrw: @@ -3568,7 +3568,7 @@ define i64 @test_pinsrw(x86_mmx %a0, i32 %a1, i16* %a2) optsize { ; BTVER2-NEXT: pinsrw $0, %edi, %mm0 # sched: [7:0.50] ; BTVER2-NEXT: movswl (%rsi), %eax # sched: [4:1.00] ; BTVER2-NEXT: pinsrw $1, %eax, %mm0 # sched: [7:0.50] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pinsrw: @@ -3592,7 +3592,7 @@ define i64 @test_pmaddwd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pmaddwd %mm1, %mm0 # sched: [5:1.00] ; GENERIC-NEXT: pmaddwd (%rdi), %mm0 # sched: [10:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pmaddwd: @@ -3613,7 +3613,7 @@ define i64 @test_pmaddwd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pmaddwd %mm1, %mm0 # sched: [5:1.00] ; SANDY-NEXT: pmaddwd (%rdi), %mm0 # sched: [10:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pmaddwd: @@ -3648,7 +3648,7 @@ define i64 @test_pmaddwd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pmaddwd %mm1, %mm0 # sched: [2:1.00] ; BTVER2-NEXT: pmaddwd (%rdi), %mm0 # sched: [7:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pmaddwd: @@ -3670,7 +3670,7 @@ define i64 @test_pmaddubsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pmaddubsw %mm1, %mm0 # sched: [5:1.00] ; GENERIC-NEXT: pmaddubsw (%rdi), %mm0 # sched: [10:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pmaddubsw: @@ -3691,7 +3691,7 @@ define i64 @test_pmaddubsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pmaddubsw %mm1, %mm0 # sched: [5:1.00] ; SANDY-NEXT: pmaddubsw (%rdi), %mm0 # sched: [10:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pmaddubsw: @@ -3726,7 +3726,7 @@ define i64 @test_pmaddubsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pmaddubsw %mm1, %mm0 # sched: [2:1.00] ; BTVER2-NEXT: pmaddubsw (%rdi), %mm0 # sched: [7:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pmaddubsw: @@ -3748,7 +3748,7 @@ define i64 @test_pmaxsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pmaxsw %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: pmaxsw (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pmaxsw: @@ -3769,7 +3769,7 @@ define i64 @test_pmaxsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pmaxsw %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: pmaxsw (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pmaxsw: @@ -3804,7 +3804,7 @@ define i64 @test_pmaxsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pmaxsw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: pmaxsw (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pmaxsw: @@ -3826,7 +3826,7 @@ define i64 @test_pmaxub(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pmaxub %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: pmaxub (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pmaxub: @@ -3847,7 +3847,7 @@ define i64 @test_pmaxub(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pmaxub %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: pmaxub (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pmaxub: @@ -3882,7 +3882,7 @@ define i64 @test_pmaxub(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pmaxub %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: pmaxub (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pmaxub: @@ -3904,7 +3904,7 @@ define i64 @test_pminsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pminsw %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: pminsw (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pminsw: @@ -3925,7 +3925,7 @@ define i64 @test_pminsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pminsw %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: pminsw (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pminsw: @@ -3960,7 +3960,7 @@ define i64 @test_pminsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pminsw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: pminsw (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pminsw: @@ -3982,7 +3982,7 @@ define i64 @test_pminub(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pminub %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: pminub (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pminub: @@ -4003,7 +4003,7 @@ define i64 @test_pminub(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pminub %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: pminub (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pminub: @@ -4038,7 +4038,7 @@ define i64 @test_pminub(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pminub %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: pminub (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pminub: @@ -4115,7 +4115,7 @@ define i64 @test_pmulhrsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pmulhrsw %mm1, %mm0 # sched: [5:1.00] ; GENERIC-NEXT: pmulhrsw (%rdi), %mm0 # sched: [10:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pmulhrsw: @@ -4136,7 +4136,7 @@ define i64 @test_pmulhrsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pmulhrsw %mm1, %mm0 # sched: [5:1.00] ; SANDY-NEXT: pmulhrsw (%rdi), %mm0 # sched: [10:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pmulhrsw: @@ -4171,7 +4171,7 @@ define i64 @test_pmulhrsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pmulhrsw %mm1, %mm0 # sched: [2:1.00] ; BTVER2-NEXT: pmulhrsw (%rdi), %mm0 # sched: [7:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pmulhrsw: @@ -4193,7 +4193,7 @@ define i64 @test_pmulhw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pmulhw %mm1, %mm0 # sched: [5:1.00] ; GENERIC-NEXT: pmulhw (%rdi), %mm0 # sched: [10:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pmulhw: @@ -4214,7 +4214,7 @@ define i64 @test_pmulhw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pmulhw %mm1, %mm0 # sched: [5:1.00] ; SANDY-NEXT: pmulhw (%rdi), %mm0 # sched: [10:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pmulhw: @@ -4249,7 +4249,7 @@ define i64 @test_pmulhw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pmulhw %mm1, %mm0 # sched: [2:1.00] ; BTVER2-NEXT: pmulhw (%rdi), %mm0 # sched: [7:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pmulhw: @@ -4271,7 +4271,7 @@ define i64 @test_pmulhuw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pmulhuw %mm1, %mm0 # sched: [5:1.00] ; GENERIC-NEXT: pmulhuw (%rdi), %mm0 # sched: [10:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pmulhuw: @@ -4292,7 +4292,7 @@ define i64 @test_pmulhuw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pmulhuw %mm1, %mm0 # sched: [5:1.00] ; SANDY-NEXT: pmulhuw (%rdi), %mm0 # sched: [10:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pmulhuw: @@ -4327,7 +4327,7 @@ define i64 @test_pmulhuw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pmulhuw %mm1, %mm0 # sched: [2:1.00] ; BTVER2-NEXT: pmulhuw (%rdi), %mm0 # sched: [7:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pmulhuw: @@ -4349,7 +4349,7 @@ define i64 @test_pmullw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pmullw %mm1, %mm0 # sched: [5:1.00] ; GENERIC-NEXT: pmullw (%rdi), %mm0 # sched: [10:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pmullw: @@ -4370,7 +4370,7 @@ define i64 @test_pmullw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pmullw %mm1, %mm0 # sched: [5:1.00] ; SANDY-NEXT: pmullw (%rdi), %mm0 # sched: [10:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pmullw: @@ -4405,7 +4405,7 @@ define i64 @test_pmullw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pmullw %mm1, %mm0 # sched: [2:1.00] ; BTVER2-NEXT: pmullw (%rdi), %mm0 # sched: [7:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pmullw: @@ -4427,7 +4427,7 @@ define i64 @test_pmuludq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pmuludq %mm1, %mm0 # sched: [5:1.00] ; GENERIC-NEXT: pmuludq (%rdi), %mm0 # sched: [10:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pmuludq: @@ -4448,7 +4448,7 @@ define i64 @test_pmuludq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pmuludq %mm1, %mm0 # sched: [5:1.00] ; SANDY-NEXT: pmuludq (%rdi), %mm0 # sched: [10:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pmuludq: @@ -4483,7 +4483,7 @@ define i64 @test_pmuludq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pmuludq %mm1, %mm0 # sched: [2:1.00] ; BTVER2-NEXT: pmuludq (%rdi), %mm0 # sched: [7:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pmuludq: @@ -4505,7 +4505,7 @@ define i64 @test_por(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: por %mm1, %mm0 # sched: [1:0.33] ; GENERIC-NEXT: por (%rdi), %mm0 # sched: [6:0.50] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_por: @@ -4526,7 +4526,7 @@ define i64 @test_por(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: por %mm1, %mm0 # sched: [1:0.33] ; SANDY-NEXT: por (%rdi), %mm0 # sched: [6:0.50] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_por: @@ -4561,7 +4561,7 @@ define i64 @test_por(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: por %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: por (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_por: @@ -4583,7 +4583,7 @@ define i64 @test_psadbw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: psadbw %mm1, %mm0 # sched: [5:1.00] ; GENERIC-NEXT: psadbw (%rdi), %mm0 # sched: [10:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_psadbw: @@ -4604,7 +4604,7 @@ define i64 @test_psadbw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: psadbw %mm1, %mm0 # sched: [5:1.00] ; SANDY-NEXT: psadbw (%rdi), %mm0 # sched: [10:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psadbw: @@ -4639,7 +4639,7 @@ define i64 @test_psadbw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: psadbw %mm1, %mm0 # sched: [2:0.50] ; BTVER2-NEXT: psadbw (%rdi), %mm0 # sched: [7:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psadbw: @@ -4661,7 +4661,7 @@ define i64 @test_pshufb(x86_mmx %a0, x86_mmx %a1, x86_mmx *%a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pshufb %mm1, %mm0 # sched: [1:0.50] ; GENERIC-NEXT: pshufb (%rdi), %mm0 # sched: [6:0.50] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pshufb: @@ -4682,7 +4682,7 @@ define i64 @test_pshufb(x86_mmx %a0, x86_mmx %a1, x86_mmx *%a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pshufb %mm1, %mm0 # sched: [1:0.50] ; SANDY-NEXT: pshufb (%rdi), %mm0 # sched: [6:0.50] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pshufb: @@ -4717,7 +4717,7 @@ define i64 @test_pshufb(x86_mmx %a0, x86_mmx %a1, x86_mmx *%a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pshufb %mm1, %mm0 # sched: [2:2.00] ; BTVER2-NEXT: pshufb (%rdi), %mm0 # sched: [7:2.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pshufb: @@ -4739,7 +4739,7 @@ define i64 @test_pshufw(x86_mmx *%a0) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pshufw $0, (%rdi), %mm0 # mm0 = mem[0,0,0,0] sched: [6:1.00] ; GENERIC-NEXT: pshufw $0, %mm0, %mm0 # mm0 = mm0[0,0,0,0] sched: [1:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pshufw: @@ -4760,7 +4760,7 @@ define i64 @test_pshufw(x86_mmx *%a0) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pshufw $0, (%rdi), %mm0 # mm0 = mem[0,0,0,0] sched: [6:1.00] ; SANDY-NEXT: pshufw $0, %mm0, %mm0 # mm0 = mm0[0,0,0,0] sched: [1:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pshufw: @@ -4795,7 +4795,7 @@ define i64 @test_pshufw(x86_mmx *%a0) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pshufw $0, (%rdi), %mm0 # mm0 = mem[0,0,0,0] sched: [6:1.00] ; BTVER2-NEXT: pshufw $0, %mm0, %mm0 # mm0 = mm0[0,0,0,0] sched: [1:0.50] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pshufw: @@ -4817,7 +4817,7 @@ define i64 @test_psignb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: psignb %mm1, %mm0 # sched: [1:0.50] ; GENERIC-NEXT: psignb (%rdi), %mm0 # sched: [6:0.50] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_psignb: @@ -4838,7 +4838,7 @@ define i64 @test_psignb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: psignb %mm1, %mm0 # sched: [1:0.50] ; SANDY-NEXT: psignb (%rdi), %mm0 # sched: [6:0.50] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psignb: @@ -4873,7 +4873,7 @@ define i64 @test_psignb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: psignb %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: psignb (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psignb: @@ -4895,7 +4895,7 @@ define i64 @test_psignd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: psignd %mm1, %mm0 # sched: [1:0.50] ; GENERIC-NEXT: psignd (%rdi), %mm0 # sched: [6:0.50] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_psignd: @@ -4916,7 +4916,7 @@ define i64 @test_psignd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: psignd %mm1, %mm0 # sched: [1:0.50] ; SANDY-NEXT: psignd (%rdi), %mm0 # sched: [6:0.50] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psignd: @@ -4951,7 +4951,7 @@ define i64 @test_psignd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: psignd %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: psignd (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psignd: @@ -4973,7 +4973,7 @@ define i64 @test_psignw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: psignw %mm1, %mm0 # sched: [1:0.50] ; GENERIC-NEXT: psignw (%rdi), %mm0 # sched: [6:0.50] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_psignw: @@ -4994,7 +4994,7 @@ define i64 @test_psignw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: psignw %mm1, %mm0 # sched: [1:0.50] ; SANDY-NEXT: psignw (%rdi), %mm0 # sched: [6:0.50] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psignw: @@ -5029,7 +5029,7 @@ define i64 @test_psignw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: psignw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: psignw (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psignw: @@ -5052,7 +5052,7 @@ define i64 @test_pslld(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC-NEXT: pslld %mm1, %mm0 # sched: [1:1.00] ; GENERIC-NEXT: pslld (%rdi), %mm0 # sched: [6:1.00] ; GENERIC-NEXT: pslld $7, %mm0 # sched: [1:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pslld: @@ -5076,7 +5076,7 @@ define i64 @test_pslld(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY-NEXT: pslld %mm1, %mm0 # sched: [1:1.00] ; SANDY-NEXT: pslld (%rdi), %mm0 # sched: [6:1.00] ; SANDY-NEXT: pslld $7, %mm0 # sched: [1:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pslld: @@ -5116,7 +5116,7 @@ define i64 @test_pslld(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2-NEXT: pslld %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: pslld (%rdi), %mm0 # sched: [6:1.00] ; BTVER2-NEXT: pslld $7, %mm0 # sched: [1:0.50] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pslld: @@ -5142,7 +5142,7 @@ define i64 @test_psllq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC-NEXT: psllq %mm1, %mm0 # sched: [1:1.00] ; GENERIC-NEXT: psllq (%rdi), %mm0 # sched: [6:1.00] ; GENERIC-NEXT: psllq $7, %mm0 # sched: [1:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_psllq: @@ -5166,7 +5166,7 @@ define i64 @test_psllq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY-NEXT: psllq %mm1, %mm0 # sched: [1:1.00] ; SANDY-NEXT: psllq (%rdi), %mm0 # sched: [6:1.00] ; SANDY-NEXT: psllq $7, %mm0 # sched: [1:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psllq: @@ -5206,7 +5206,7 @@ define i64 @test_psllq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2-NEXT: psllq %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: psllq (%rdi), %mm0 # sched: [6:1.00] ; BTVER2-NEXT: psllq $7, %mm0 # sched: [1:0.50] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psllq: @@ -5232,7 +5232,7 @@ define i64 @test_psllw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC-NEXT: psllw %mm1, %mm0 # sched: [1:1.00] ; GENERIC-NEXT: psllw (%rdi), %mm0 # sched: [6:1.00] ; GENERIC-NEXT: psllw $7, %mm0 # sched: [1:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_psllw: @@ -5256,7 +5256,7 @@ define i64 @test_psllw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY-NEXT: psllw %mm1, %mm0 # sched: [1:1.00] ; SANDY-NEXT: psllw (%rdi), %mm0 # sched: [6:1.00] ; SANDY-NEXT: psllw $7, %mm0 # sched: [1:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psllw: @@ -5296,7 +5296,7 @@ define i64 @test_psllw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2-NEXT: psllw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: psllw (%rdi), %mm0 # sched: [6:1.00] ; BTVER2-NEXT: psllw $7, %mm0 # sched: [1:0.50] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psllw: @@ -5322,7 +5322,7 @@ define i64 @test_psrad(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC-NEXT: psrad %mm1, %mm0 # sched: [1:1.00] ; GENERIC-NEXT: psrad (%rdi), %mm0 # sched: [6:1.00] ; GENERIC-NEXT: psrad $7, %mm0 # sched: [1:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_psrad: @@ -5346,7 +5346,7 @@ define i64 @test_psrad(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY-NEXT: psrad %mm1, %mm0 # sched: [1:1.00] ; SANDY-NEXT: psrad (%rdi), %mm0 # sched: [6:1.00] ; SANDY-NEXT: psrad $7, %mm0 # sched: [1:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psrad: @@ -5386,7 +5386,7 @@ define i64 @test_psrad(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2-NEXT: psrad %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: psrad (%rdi), %mm0 # sched: [6:1.00] ; BTVER2-NEXT: psrad $7, %mm0 # sched: [1:0.50] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psrad: @@ -5412,7 +5412,7 @@ define i64 @test_psraw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC-NEXT: psraw %mm1, %mm0 # sched: [1:1.00] ; GENERIC-NEXT: psraw (%rdi), %mm0 # sched: [6:1.00] ; GENERIC-NEXT: psraw $7, %mm0 # sched: [1:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_psraw: @@ -5436,7 +5436,7 @@ define i64 @test_psraw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY-NEXT: psraw %mm1, %mm0 # sched: [1:1.00] ; SANDY-NEXT: psraw (%rdi), %mm0 # sched: [6:1.00] ; SANDY-NEXT: psraw $7, %mm0 # sched: [1:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psraw: @@ -5476,7 +5476,7 @@ define i64 @test_psraw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2-NEXT: psraw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: psraw (%rdi), %mm0 # sched: [6:1.00] ; BTVER2-NEXT: psraw $7, %mm0 # sched: [1:0.50] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psraw: @@ -5502,7 +5502,7 @@ define i64 @test_psrld(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC-NEXT: psrld %mm1, %mm0 # sched: [1:1.00] ; GENERIC-NEXT: psrld (%rdi), %mm0 # sched: [6:1.00] ; GENERIC-NEXT: psrld $7, %mm0 # sched: [1:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_psrld: @@ -5526,7 +5526,7 @@ define i64 @test_psrld(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY-NEXT: psrld %mm1, %mm0 # sched: [1:1.00] ; SANDY-NEXT: psrld (%rdi), %mm0 # sched: [6:1.00] ; SANDY-NEXT: psrld $7, %mm0 # sched: [1:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psrld: @@ -5566,7 +5566,7 @@ define i64 @test_psrld(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2-NEXT: psrld %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: psrld (%rdi), %mm0 # sched: [6:1.00] ; BTVER2-NEXT: psrld $7, %mm0 # sched: [1:0.50] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psrld: @@ -5592,7 +5592,7 @@ define i64 @test_psrlq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC-NEXT: psrlq %mm1, %mm0 # sched: [1:1.00] ; GENERIC-NEXT: psrlq (%rdi), %mm0 # sched: [6:1.00] ; GENERIC-NEXT: psrlq $7, %mm0 # sched: [1:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_psrlq: @@ -5616,7 +5616,7 @@ define i64 @test_psrlq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY-NEXT: psrlq %mm1, %mm0 # sched: [1:1.00] ; SANDY-NEXT: psrlq (%rdi), %mm0 # sched: [6:1.00] ; SANDY-NEXT: psrlq $7, %mm0 # sched: [1:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psrlq: @@ -5656,7 +5656,7 @@ define i64 @test_psrlq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2-NEXT: psrlq %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: psrlq (%rdi), %mm0 # sched: [6:1.00] ; BTVER2-NEXT: psrlq $7, %mm0 # sched: [1:0.50] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psrlq: @@ -5682,7 +5682,7 @@ define i64 @test_psrlw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC-NEXT: psrlw %mm1, %mm0 # sched: [1:1.00] ; GENERIC-NEXT: psrlw (%rdi), %mm0 # sched: [6:1.00] ; GENERIC-NEXT: psrlw $7, %mm0 # sched: [1:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_psrlw: @@ -5706,7 +5706,7 @@ define i64 @test_psrlw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY-NEXT: psrlw %mm1, %mm0 # sched: [1:1.00] ; SANDY-NEXT: psrlw (%rdi), %mm0 # sched: [6:1.00] ; SANDY-NEXT: psrlw $7, %mm0 # sched: [1:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psrlw: @@ -5746,7 +5746,7 @@ define i64 @test_psrlw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2-NEXT: psrlw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: psrlw (%rdi), %mm0 # sched: [6:1.00] ; BTVER2-NEXT: psrlw $7, %mm0 # sched: [1:0.50] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psrlw: @@ -5771,7 +5771,7 @@ define i64 @test_psubb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: psubb %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: psubb (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_psubb: @@ -5792,7 +5792,7 @@ define i64 @test_psubb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: psubb %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: psubb (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psubb: @@ -5827,7 +5827,7 @@ define i64 @test_psubb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: psubb %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: psubb (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psubb: @@ -5849,7 +5849,7 @@ define i64 @test_psubd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: psubd %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: psubd (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_psubd: @@ -5870,7 +5870,7 @@ define i64 @test_psubd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: psubd %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: psubd (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psubd: @@ -5905,7 +5905,7 @@ define i64 @test_psubd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: psubd %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: psubd (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psubd: @@ -5927,7 +5927,7 @@ define i64 @test_psubq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: psubq %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: psubq (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_psubq: @@ -5948,7 +5948,7 @@ define i64 @test_psubq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: psubq %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: psubq (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psubq: @@ -5983,7 +5983,7 @@ define i64 @test_psubq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: psubq %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: psubq (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psubq: @@ -6005,7 +6005,7 @@ define i64 @test_psubsb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: psubsb %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: psubsb (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_psubsb: @@ -6026,7 +6026,7 @@ define i64 @test_psubsb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: psubsb %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: psubsb (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psubsb: @@ -6061,7 +6061,7 @@ define i64 @test_psubsb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: psubsb %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: psubsb (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psubsb: @@ -6083,7 +6083,7 @@ define i64 @test_psubsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: psubsw %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: psubsw (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_psubsw: @@ -6104,7 +6104,7 @@ define i64 @test_psubsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: psubsw %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: psubsw (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psubsw: @@ -6139,7 +6139,7 @@ define i64 @test_psubsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: psubsw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: psubsw (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psubsw: @@ -6161,7 +6161,7 @@ define i64 @test_psubusb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: psubusb %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: psubusb (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_psubusb: @@ -6182,7 +6182,7 @@ define i64 @test_psubusb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: psubusb %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: psubusb (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psubusb: @@ -6217,7 +6217,7 @@ define i64 @test_psubusb(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: psubusb %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: psubusb (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psubusb: @@ -6239,7 +6239,7 @@ define i64 @test_psubusw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: psubusw %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: psubusw (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_psubusw: @@ -6260,7 +6260,7 @@ define i64 @test_psubusw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: psubusw %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: psubusw (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psubusw: @@ -6295,7 +6295,7 @@ define i64 @test_psubusw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: psubusw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: psubusw (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psubusw: @@ -6317,7 +6317,7 @@ define i64 @test_psubw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: psubw %mm1, %mm0 # sched: [3:1.00] ; GENERIC-NEXT: psubw (%rdi), %mm0 # sched: [8:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_psubw: @@ -6338,7 +6338,7 @@ define i64 @test_psubw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: psubw %mm1, %mm0 # sched: [3:1.00] ; SANDY-NEXT: psubw (%rdi), %mm0 # sched: [8:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psubw: @@ -6373,7 +6373,7 @@ define i64 @test_psubw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: psubw %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: psubw (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psubw: @@ -6395,7 +6395,7 @@ define i64 @test_punpckhbw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: punpckhbw %mm1, %mm0 # mm0 = mm0[4],mm1[4],mm0[5],mm1[5],mm0[6],mm1[6],mm0[7],mm1[7] sched: [1:1.00] ; GENERIC-NEXT: punpckhbw (%rdi), %mm0 # mm0 = mm0[4],mem[4],mm0[5],mem[5],mm0[6],mem[6],mm0[7],mem[7] sched: [6:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_punpckhbw: @@ -6416,7 +6416,7 @@ define i64 @test_punpckhbw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: punpckhbw %mm1, %mm0 # mm0 = mm0[4],mm1[4],mm0[5],mm1[5],mm0[6],mm1[6],mm0[7],mm1[7] sched: [1:1.00] ; SANDY-NEXT: punpckhbw (%rdi), %mm0 # mm0 = mm0[4],mem[4],mm0[5],mem[5],mm0[6],mem[6],mm0[7],mem[7] sched: [6:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_punpckhbw: @@ -6451,7 +6451,7 @@ define i64 @test_punpckhbw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: punpckhbw %mm1, %mm0 # mm0 = mm0[4],mm1[4],mm0[5],mm1[5],mm0[6],mm1[6],mm0[7],mm1[7] sched: [1:0.50] ; BTVER2-NEXT: punpckhbw (%rdi), %mm0 # mm0 = mm0[4],mem[4],mm0[5],mem[5],mm0[6],mem[6],mm0[7],mem[7] sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_punpckhbw: @@ -6473,7 +6473,7 @@ define i64 @test_punpckhdq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: punpckhdq %mm1, %mm0 # mm0 = mm0[1],mm1[1] sched: [1:1.00] ; GENERIC-NEXT: punpckhdq (%rdi), %mm0 # mm0 = mm0[1],mem[1] sched: [6:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_punpckhdq: @@ -6494,7 +6494,7 @@ define i64 @test_punpckhdq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: punpckhdq %mm1, %mm0 # mm0 = mm0[1],mm1[1] sched: [1:1.00] ; SANDY-NEXT: punpckhdq (%rdi), %mm0 # mm0 = mm0[1],mem[1] sched: [6:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_punpckhdq: @@ -6529,7 +6529,7 @@ define i64 @test_punpckhdq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: punpckhdq %mm1, %mm0 # mm0 = mm0[1],mm1[1] sched: [1:0.50] ; BTVER2-NEXT: punpckhdq (%rdi), %mm0 # mm0 = mm0[1],mem[1] sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_punpckhdq: @@ -6551,7 +6551,7 @@ define i64 @test_punpckhwd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: punpckhwd %mm1, %mm0 # mm0 = mm0[2],mm1[2],mm0[3],mm1[3] sched: [1:1.00] ; GENERIC-NEXT: punpckhwd (%rdi), %mm0 # mm0 = mm0[2],mem[2],mm0[3],mem[3] sched: [6:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_punpckhwd: @@ -6572,7 +6572,7 @@ define i64 @test_punpckhwd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: punpckhwd %mm1, %mm0 # mm0 = mm0[2],mm1[2],mm0[3],mm1[3] sched: [1:1.00] ; SANDY-NEXT: punpckhwd (%rdi), %mm0 # mm0 = mm0[2],mem[2],mm0[3],mem[3] sched: [6:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_punpckhwd: @@ -6607,7 +6607,7 @@ define i64 @test_punpckhwd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: punpckhwd %mm1, %mm0 # mm0 = mm0[2],mm1[2],mm0[3],mm1[3] sched: [1:0.50] ; BTVER2-NEXT: punpckhwd (%rdi), %mm0 # mm0 = mm0[2],mem[2],mm0[3],mem[3] sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_punpckhwd: @@ -6629,7 +6629,7 @@ define i64 @test_punpcklbw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: punpcklbw %mm1, %mm0 # mm0 = mm0[0],mm1[0],mm0[1],mm1[1],mm0[2],mm1[2],mm0[3],mm1[3] sched: [1:1.00] ; GENERIC-NEXT: punpcklbw (%rdi), %mm0 # mm0 = mm0[0],mem[0],mm0[1],mem[1],mm0[2],mem[2],mm0[3],mem[3] sched: [6:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_punpcklbw: @@ -6650,7 +6650,7 @@ define i64 @test_punpcklbw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: punpcklbw %mm1, %mm0 # mm0 = mm0[0],mm1[0],mm0[1],mm1[1],mm0[2],mm1[2],mm0[3],mm1[3] sched: [1:1.00] ; SANDY-NEXT: punpcklbw (%rdi), %mm0 # mm0 = mm0[0],mem[0],mm0[1],mem[1],mm0[2],mem[2],mm0[3],mem[3] sched: [6:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_punpcklbw: @@ -6685,7 +6685,7 @@ define i64 @test_punpcklbw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: punpcklbw %mm1, %mm0 # mm0 = mm0[0],mm1[0],mm0[1],mm1[1],mm0[2],mm1[2],mm0[3],mm1[3] sched: [1:0.50] ; BTVER2-NEXT: punpcklbw (%rdi), %mm0 # mm0 = mm0[0],mem[0],mm0[1],mem[1],mm0[2],mem[2],mm0[3],mem[3] sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_punpcklbw: @@ -6707,7 +6707,7 @@ define i64 @test_punpckldq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: punpckldq %mm1, %mm0 # mm0 = mm0[0],mm1[0] sched: [1:1.00] ; GENERIC-NEXT: punpckldq (%rdi), %mm0 # mm0 = mm0[0],mem[0] sched: [6:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_punpckldq: @@ -6728,7 +6728,7 @@ define i64 @test_punpckldq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: punpckldq %mm1, %mm0 # mm0 = mm0[0],mm1[0] sched: [1:1.00] ; SANDY-NEXT: punpckldq (%rdi), %mm0 # mm0 = mm0[0],mem[0] sched: [6:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_punpckldq: @@ -6763,7 +6763,7 @@ define i64 @test_punpckldq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: punpckldq %mm1, %mm0 # mm0 = mm0[0],mm1[0] sched: [1:0.50] ; BTVER2-NEXT: punpckldq (%rdi), %mm0 # mm0 = mm0[0],mem[0] sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_punpckldq: @@ -6785,7 +6785,7 @@ define i64 @test_punpcklwd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: punpcklwd %mm1, %mm0 # mm0 = mm0[0],mm1[0],mm0[1],mm1[1] sched: [1:1.00] ; GENERIC-NEXT: punpcklwd (%rdi), %mm0 # mm0 = mm0[0],mem[0],mm0[1],mem[1] sched: [6:1.00] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_punpcklwd: @@ -6806,7 +6806,7 @@ define i64 @test_punpcklwd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: punpcklwd %mm1, %mm0 # mm0 = mm0[0],mm1[0],mm0[1],mm1[1] sched: [1:1.00] ; SANDY-NEXT: punpcklwd (%rdi), %mm0 # mm0 = mm0[0],mem[0],mm0[1],mem[1] sched: [6:1.00] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_punpcklwd: @@ -6841,7 +6841,7 @@ define i64 @test_punpcklwd(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: punpcklwd %mm1, %mm0 # mm0 = mm0[0],mm1[0],mm0[1],mm1[1] sched: [1:0.50] ; BTVER2-NEXT: punpcklwd (%rdi), %mm0 # mm0 = mm0[0],mem[0],mm0[1],mem[1] sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_punpcklwd: @@ -6863,7 +6863,7 @@ define i64 @test_pxor(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; GENERIC: # %bb.0: ; GENERIC-NEXT: pxor %mm1, %mm0 # sched: [1:0.33] ; GENERIC-NEXT: pxor (%rdi), %mm0 # sched: [6:0.50] -; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33] +; GENERIC-NEXT: movq %mm0, %rax # sched: [2:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; ATOM-LABEL: test_pxor: @@ -6884,7 +6884,7 @@ define i64 @test_pxor(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; SANDY: # %bb.0: ; SANDY-NEXT: pxor %mm1, %mm0 # sched: [1:0.33] ; SANDY-NEXT: pxor (%rdi), %mm0 # sched: [6:0.50] -; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33] +; SANDY-NEXT: movq %mm0, %rax # sched: [2:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pxor: @@ -6919,7 +6919,7 @@ define i64 @test_pxor(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; BTVER2: # %bb.0: ; BTVER2-NEXT: pxor %mm1, %mm0 # sched: [1:0.50] ; BTVER2-NEXT: pxor (%rdi), %mm0 # sched: [6:1.00] -; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] +; BTVER2-NEXT: movq %mm0, %rax # sched: [4:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_pxor: |