[llvm] r328338 - [X86][Btver2] Cleanup MOVMSK instructions to use JFPA function unit
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 23 10:38:59 PDT 2018
Author: rksimon
Date: Fri Mar 23 10:38:59 2018
New Revision: 328338
URL: http://llvm.org/viewvc/llvm-project?rev=328338&view=rev
Log:
[X86][Btver2] Cleanup MOVMSK instructions to use JFPA function unit
Add missing non-VEX and (V)PMOVMSKB instructions to the pattern
Modified:
llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td
llvm/trunk/test/CodeGen/X86/sse2-schedule.ll
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s
Modified: llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td?rev=328338&r1=328337&r2=328338&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td (original)
+++ llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td Fri Mar 23 10:38:59 2018
@@ -754,10 +754,12 @@ def : InstRW<[JWriteVMaskMovYSt], (instr
// operation which moves the floating point result to the integer unit. During this
// additional cycle the floating point unit execution resources are not occupied
// and ALU0 in the integer unit is occupied instead.
-def JWriteVMOVMSK: SchedWriteRes<[JFPU0]> {
+def JWriteVMOVMSK: SchedWriteRes<[JFPU0, JFPA]> {
let Latency = 3;
}
-def : InstRW<[JWriteVMOVMSK], (instrs VMOVMSKPDrr, VMOVMSKPDYrr, VMOVMSKPSrr, VMOVMSKPSYrr)>;
+def : InstRW<[JWriteVMOVMSK], (instrs MOVMSKPDrr, VMOVMSKPDrr, VMOVMSKPDYrr,
+ MOVMSKPSrr, VMOVMSKPSrr, VMOVMSKPSYrr,
+ PMOVMSKBrr, VPMOVMSKBrr)>;
// TODO: In fact we have latency '3+i'. The +i represents an additional 1 cycle transfer
// operation which moves the floating point result to the integer unit. During this
Modified: llvm/trunk/test/CodeGen/X86/sse2-schedule.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/sse2-schedule.ll?rev=328338&r1=328337&r2=328338&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/sse2-schedule.ll (original)
+++ llvm/trunk/test/CodeGen/X86/sse2-schedule.ll Fri Mar 23 10:38:59 2018
@@ -6012,7 +6012,7 @@ define i32 @test_pmovmskb(<16 x i8> %a0)
;
; BTVER2-LABEL: test_pmovmskb:
; BTVER2: # %bb.0:
-; BTVER2-NEXT: vpmovmskb %xmm0, %eax # sched: [1:0.50]
+; BTVER2-NEXT: vpmovmskb %xmm0, %eax # sched: [3:1.00]
; BTVER2-NEXT: retq # sched: [4:1.00]
;
; ZNVER1-LABEL: test_pmovmskb:
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s?rev=328338&r1=328337&r2=328338&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s Fri Mar 23 10:38:59 2018
@@ -1203,8 +1203,8 @@ vzeroupper
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vinsertf128 $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vinsertps $1, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vinsertps $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vlddqu (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vlddqu (%rax), %ymm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vlddqu (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vlddqu (%rax), %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vldmxcsr (%rax)
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - vmaskmovpd (%rax), %xmm0, %xmm2
@@ -1259,18 +1259,18 @@ vzeroupper
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovddup (%rax), %xmm2
# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - vmovddup %ymm0, %ymm2
# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - vmovddup (%rax), %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vmovdqa %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vmovdqa %xmm0, %xmm2
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqa %xmm0, (%rax)
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vmovdqa (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vmovdqa %ymm0, %ymm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vmovdqa (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vmovdqa %ymm0, %ymm2
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqa %ymm0, (%rax)
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vmovdqa (%rax), %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vmovdqu %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vmovdqa (%rax), %ymm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vmovdqu %xmm0, %xmm2
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqu %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vmovdqu (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vmovdqu %ymm0, %ymm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vmovdqu (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vmovdqu %ymm0, %ymm2
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqu %ymm0, (%rax)
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vmovdqu (%rax), %ymm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vmovdqu (%rax), %ymm2
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovhlps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovlhps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovhpd %xmm0, (%rax)
@@ -1281,19 +1281,19 @@ vzeroupper
# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vmovlpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovlps %xmm0, (%rax)
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovlps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmovmskpd %xmm0, %ecx
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmovmskpd %ymm0, %ecx
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmovmskps %xmm0, %ecx
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmovmskps %ymm0, %ecx
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovmskpd %xmm0, %ecx
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovmskpd %ymm0, %ecx
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovmskps %xmm0, %ecx
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovmskps %ymm0, %ecx
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovntdq %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 2.00 - - - vmovntdq %ymm0, (%rax)
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vmovntdqa (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vmovntdqa (%rax), %ymm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vmovntdqa (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vmovntdqa (%rax), %ymm2
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovntpd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 2.00 - - - vmovntpd %ymm0, (%rax)
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovntps %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 2.00 - - - vmovntps %ymm0, (%rax)
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vmovq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vmovq %xmm0, %xmm2
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - vmovq %rax, %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovq (%rax), %xmm2
# CHECK-NEXT: 1.00 - - - - - - - - - - - - - vmovq %xmm0, %rcx
@@ -1301,29 +1301,29 @@ vzeroupper
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vmovsd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovsd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovsd (%rax), %xmm2
-# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovshdup %xmm0, %xmm2
-# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovshdup (%rax), %xmm2
-# CHECK-NEXT: - - - 2.00 - 1.00 - - - - - - - - vmovshdup %ymm0, %ymm2
-# CHECK-NEXT: - - - - 2.00 1.00 - 1.00 - - - - - - vmovshdup (%rax), %ymm2
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vmovsldup %xmm0, %xmm2
-# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vmovsldup (%rax), %xmm2
-# CHECK-NEXT: - - - 2.00 - - 1.00 - - - - - - - vmovsldup %ymm0, %ymm2
-# CHECK-NEXT: - - - - 2.00 1.00 - 1.00 - - - - - - vmovsldup (%rax), %ymm2
-# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vmovshdup %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vmovshdup (%rax), %xmm2
+# CHECK-NEXT: - - - - 2.00 1.00 - - - - - - - - vmovshdup %ymm0, %ymm2
+# CHECK-NEXT: - - - 2.00 - 1.00 - 1.00 - - - - - - vmovshdup (%rax), %ymm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovsldup %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovsldup (%rax), %xmm2
+# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - vmovsldup %ymm0, %ymm2
+# CHECK-NEXT: - - - 2.00 - 1.00 - 1.00 - - - - - - vmovsldup (%rax), %ymm2
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vmovss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovss %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovss (%rax), %xmm2
-# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovupd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vmovupd %xmm0, %xmm2
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovupd %xmm0, (%rax)
-# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovupd (%rax), %xmm2
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vmovupd %ymm0, %ymm2
+# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vmovupd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovupd %ymm0, %ymm2
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovupd %ymm0, (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vmovupd (%rax), %ymm2
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vmovups %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovupd (%rax), %ymm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovups %xmm0, %xmm2
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovups %xmm0, (%rax)
-# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovups (%rax), %xmm2
-# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovups %ymm0, %ymm2
+# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vmovups (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vmovups %ymm0, %ymm2
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovups %ymm0, (%rax)
-# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovups (%rax), %ymm2
+# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vmovups (%rax), %ymm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 2.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 2.00 vmpsadbw $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - vmulpd %xmm0, %xmm1, %xmm2
@@ -1346,68 +1346,68 @@ vzeroupper
# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 2.00 - 2.00 - 1.00 - - - - - - vorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpabsb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpabsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpabsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpabsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpabsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpabsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpackssdw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpackssdw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpacksswb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpacksswb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpackusdw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpackusdw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpackuswb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpackuswb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpaddb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpaddb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpaddd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpaddd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpaddq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpaddq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpaddsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpaddsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpaddsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpaddsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpaddusb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpaddusb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpaddusw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpaddusw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpaddw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpaddw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpalignr $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpalignr $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpand %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpand (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpandn %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpandn (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpavgb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpavgb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpavgw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpavgw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 2.00 2.00 - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 2.00 2.00 - vpblendvb %xmm3, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpblendw $11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpblendw $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpabsb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpabsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpabsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpabsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpabsw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpabsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpackssdw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpackssdw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpacksswb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpacksswb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpackusdw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpackusdw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpackuswb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpackuswb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddsb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddusb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddusb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddusw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddusw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpalignr $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpalignr $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpand %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpand (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpandn %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpandn (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpavgb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpavgb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpavgw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpavgw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 4.00 - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 4.00 - vpblendvb %xmm3, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpblendw $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpblendw $11, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpclmulqdq $11, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpclmulqdq $11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpcmpeqb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpcmpeqb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpcmpeqd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpcmpeqd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpcmpeqq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpcmpeqq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpcmpeqw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpcmpeqw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpcmpgtb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpcmpgtb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpcmpgtd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpcmpgtd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpcmpgtq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpcmpgtq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpcmpgtw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpcmpgtw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpeqb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpeqb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpeqd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpeqd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpeqq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpeqq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpeqw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpeqw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpgtb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpgtb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpgtd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpgtd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpgtq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpgtq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpgtw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpgtw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vperm2f128 $1, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vperm2f128 $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vpermilpd $1, %xmm0, %xmm2
@@ -1426,89 +1426,89 @@ vzeroupper
# CHECK-NEXT: - - - 2.00 - - 1.00 1.00 - - - - - - vpermilps $1, (%rax), %ymm2
# CHECK-NEXT: - - - - 6.00 1.00 - - - - - - - - vpermilps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - 6.00 - - 1.00 1.00 - - - - - - vpermilps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpextrb $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - 1.00 - 0.50 0.50 - vpextrb $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpextrd $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 0.50 0.50 - vpextrd $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpextrq $1, %xmm0, %rcx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 0.50 0.50 - vpextrq $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpextrw $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 0.50 0.50 - vpextrw $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vphaddd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vphaddd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vphaddsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vphaddsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vphaddw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vphaddw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpextrb $1, %xmm0, %ecx
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - 1.00 - 1.00 - - vpextrb $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpextrd $1, %xmm0, %ecx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - - 1.00 - vpextrd $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpextrq $1, %xmm0, %rcx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 1.00 - - vpextrq $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpextrw $1, %xmm0, %ecx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - - 1.00 - vpextrw $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vphaddd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vphaddd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vphaddsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vphaddsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vphaddw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vphaddw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vphminposuw %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vphminposuw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vphsubd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vphsubd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vphsubsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vphsubsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vphsubw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vphsubw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpinsrb $1, %eax, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpinsrb $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpinsrd $1, %eax, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpinsrd $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpinsrq $1, %rax, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpinsrq $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpinsrw $1, %eax, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpinsrw $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vphsubd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vphsubd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vphsubsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vphsubsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vphsubw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vphsubw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpinsrb $1, %eax, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpinsrb $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpinsrd $1, %eax, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpinsrd $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpinsrq $1, %rax, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpinsrq $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpinsrw $1, %eax, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpinsrw $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmaddubsw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmaddubsw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmaddwd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmaddwd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmaxsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmaxsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmaxsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmaxsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpmaxsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmaxsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpmaxub %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmaxub (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmaxud %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmaxud (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmaxuw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmaxuw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpminsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpminsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpminsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpminsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpminsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpminsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpminub %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpminub (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpminud %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpminud (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpminuw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpminuw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovmskb %xmm0, %ecx
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovsxbd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovsxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovsxbq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovsxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovsxbw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovsxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovsxdq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovsxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovsxwd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovsxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovsxwq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovsxwq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovzxbd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovzxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovzxbq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovzxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovzxbw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovzxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovzxdq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovzxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovzxwd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovzxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovzxwq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovzxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmaxsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmaxsb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmaxsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmaxsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpmaxsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmaxsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpmaxub %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmaxub (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmaxud %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmaxud (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmaxuw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmaxuw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpminsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpminsb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpminsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpminsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpminsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpminsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpminub %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpminub (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpminud %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpminud (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpminuw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpminuw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vpmovmskb %xmm0, %ecx
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovsxbd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovsxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovsxbq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovsxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovsxbw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovsxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovsxdq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovsxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovsxwd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovsxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovsxwq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovsxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovzxbd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovzxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovzxbq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovzxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovzxbw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovzxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovzxdq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmovzxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovzxwd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovzxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovzxwq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmovzxwq (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmuldq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmuldq (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmulhrsw %xmm0, %xmm1, %xmm2
@@ -1523,88 +1523,88 @@ vzeroupper
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmullw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmuludq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmuludq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpor %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpor (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpsadbw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsadbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 2.00 2.00 - vpshufb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 2.00 2.00 - vpshufb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpshufd $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpshufd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpshufhw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpshufhw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpshuflw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpshuflw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsignb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsignb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsignd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsignd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsignw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsignw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpslld $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpslld %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpslld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpslldq $1, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsllq $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpsllq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpsllq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpsllw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsllw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsllw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsrad $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpsrad %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpsrad (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpsraw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsraw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsraw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsrld $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpsrld %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpsrld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpsrldq $1, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsrlq $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpsrlq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpsrlq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpsrlw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsrlw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsrlw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsubb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsubb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsubd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsubd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsubq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsubq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsubsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsubsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsubsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsubsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsubusb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsubusb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsubusw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsubusw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsubw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsubw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpor %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpor (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsadbw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsadbw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 4.00 - vpshufb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 4.00 - - vpshufb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpshufd $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpshufd $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpshufhw $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpshufhw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpshuflw $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpshuflw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsignb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsignb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsignd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsignd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsignw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsignw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpslld $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpslld %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpslld (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpslldq $1, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsllq $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsllq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpsllq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsllw $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsllw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsllw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsrad $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsrad %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpsrad (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsraw $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsraw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsraw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsrld $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsrld %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpsrld (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsrldq $1, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsrlq $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsrlq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpsrlq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsrlw $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsrlw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsrlw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubsb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubusb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubusb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubusw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubusw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vptest %xmm0, %xmm1
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vptest (%rax), %xmm1
# CHECK-NEXT: - - - - - 2.00 2.00 - - - - - - - vptest %ymm0, %ymm1
# CHECK-NEXT: - - - - - 2.00 2.00 1.00 - - - - - - vptest (%rax), %ymm1
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpunpckhbw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpunpckhbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpunpckhdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpunpckhdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpunpckhqdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpunpckhqdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpunpckhwd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpunpckhwd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpunpcklbw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpunpcklbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpunpckldq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpunpckldq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpunpcklqdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpunpcklqdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpunpcklwd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpunpcklwd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpxor %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpxor (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpunpckhbw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpunpckhbw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpunpckhdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpunpckhdq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpunpckhqdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpunpckhqdq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpunpckhwd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpunpckhwd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpunpcklbw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpunpcklbw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpunpckldq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpunpckldq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpunpcklqdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpunpcklqdq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpunpcklwd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpunpcklwd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpxor %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpxor (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vrcpps %xmm0, %xmm2
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vrcpps (%rax), %xmm2
# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - vrcpps %ymm0, %ymm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s?rev=328338&r1=328337&r2=328338&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s Fri Mar 23 10:38:59 2018
@@ -200,7 +200,7 @@ xorps (%rax), %xmm2
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - movhps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movlps %xmm0, (%rax)
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - movlps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - movmskps %xmm0, %ecx
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - movmskps %xmm0, %ecx
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntps %xmm0, (%rax)
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - movss %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movss %xmm0, (%rax)
@@ -214,8 +214,8 @@ xorps (%rax), %xmm2
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - mulss (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - orps %xmm0, %xmm2
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - orps (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pinsrw $1, %eax, %xmm1
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pinsrw $1, (%rax), %xmm1
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pinsrw $1, %eax, %xmm1
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pinsrw $1, (%rax), %xmm1
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - rcpps %xmm0, %xmm2
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - rcpps (%rax), %xmm2
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - rcpss %xmm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s?rev=328338&r1=328337&r2=328338&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s Fri Mar 23 10:38:59 2018
@@ -471,10 +471,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - movhpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movlpd %xmm0, (%rax)
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - movlpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - movmskpd %xmm0, %ecx
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - movmskpd %xmm0, %ecx
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntdq %xmm0, (%rax)
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntpd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - movq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - movq %xmm0, %xmm2
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - movq %rax, %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movq (%rax), %xmm2
# CHECK-NEXT: 1.00 - - - - - - - - - - - - - movq %xmm0, %rcx
@@ -491,55 +491,55 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - mulsd (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - orpd %xmm0, %xmm2
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - orpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pabsb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pabsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pabsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pabsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pabsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pabsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - packssdw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - packssdw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - packsswb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - packsswb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - packuswb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - packuswb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - paddb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - paddb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - paddd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - paddd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - paddq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - paddq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - paddsb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - paddsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - paddsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - paddsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - paddusb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - paddusb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - paddusw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - paddusw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - paddw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - paddw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pand %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pand (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pandn %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pandn (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pavgb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pavgb (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pavgw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pavgw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pcmpeqb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pcmpeqb (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pcmpeqd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pcmpeqd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pcmpeqw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pcmpeqw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pabsb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pabsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pabsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pabsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pabsw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pabsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - packssdw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - packssdw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - packsswb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - packsswb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - packuswb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - packuswb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - paddb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - paddb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - paddd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - paddd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - paddq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - paddq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - paddsb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - paddsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - paddsw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - paddsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - paddusb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - paddusb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - paddusw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - paddusw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - paddw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - paddw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pand %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pand (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pandn %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pandn (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pavgb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pavgb (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pavgw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pavgw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pcmpeqb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pcmpeqb (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pcmpeqd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pcmpeqd (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pcmpeqw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pcmpeqw (%rax), %xmm2
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pcmpgtb %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pcmpgtb (%rax), %xmm2
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pcmpgtd %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pcmpgtd (%rax), %xmm2
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pcmpgtw %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pcmpgtw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pextrw $1, %xmm0, %ecx
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pextrw $1, %xmm0, %ecx
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmaddwd %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmaddwd (%rax), %xmm2
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pmaxsw %xmm0, %xmm2
@@ -550,7 +550,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pminsw (%rax), %xmm2
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pminub %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pminub (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pmovmskb %xmm0, %ecx
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - pmovmskb %xmm0, %ecx
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhuw %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhuw (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhw %xmm0, %xmm2
More information about the llvm-commits
mailing list