[llvm] r327791 - [X86][Btver2] Correctly distinguish between scheduling pipe and functional unit for JWriteResFpuPair defs
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sun Mar 18 05:09:17 PDT 2018
Author: rksimon
Date: Sun Mar 18 05:09:17 2018
New Revision: 327791
URL: http://llvm.org/viewvc/llvm-project?rev=327791&view=rev
Log:
[X86][Btver2] Correctly distinguish between scheduling pipe and functional unit for JWriteResFpuPair defs
Jaguar's FPU has 2 scheduler pipes (JFPU0/JFPU1) which forward to multiple functional sub-units each. We need to model that an micro-op will both consume the scheduler pipe and a functional unit.
This patch just handles the ops defined through JWriteResFpuPair, I'll go through the custom cases later.
Modified:
llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/dot-product.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s
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
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse3.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse42.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-ssse3.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/scheduler-queue-usage.s
Modified: llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td?rev=327791&r1=327790&r2=327791&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td (original)
+++ llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td Sun Mar 18 05:09:17 2018
@@ -53,6 +53,7 @@ def JFPU01 : ProcResGroup<[JFPU0, JFPU1]
let BufferSize=18;
}
+// Functional units
def JDiv : ProcResource<1>; // integer division
def JMul : ProcResource<1>; // integer multiplication
def JVALU0 : ProcResource<1>; // vector integer
@@ -62,6 +63,10 @@ def JSTC : ProcResource<1>; // vector
def JFPM : ProcResource<1>; // FP multiplication
def JFPA : ProcResource<1>; // FP addition
+// Functional unit groups
+def JFPX : ProcResGroup<[JFPA, JFPM]>;
+def JVALU : ProcResGroup<[JVALU0, JVALU1]>;
+
// Integer loads are 3 cycles, so ReadAfterLd registers needn't be available until 3
// cycles after the memory operand.
def : ReadAdvance<ReadAfterLd, 3>;
@@ -279,26 +284,26 @@ def : WriteRes<WriteFLoad,
def : WriteRes<WriteFStore, [JSAGU]>;
def : WriteRes<WriteFMove, [JFPU01]>;
-defm : JWriteResFpuPair<WriteFAdd, [JFPU0], 3>;
-defm : JWriteResFpuPair<WriteFMul, [JFPU1], 2>;
-defm : JWriteResFpuPair<WriteFMA, [JFPU1], 2>; // NOTE: Doesn't exist on Jaguar.
-defm : JWriteResFpuPair<WriteFRcp, [JFPU1], 2>;
-defm : JWriteResFpuPair<WriteFRsqrt, [JFPU1], 2>;
-defm : JWriteResFpuPair<WriteFDiv, [JFPU1, JFPM], 19, [1, 19]>;
-defm : JWriteResFpuPair<WriteFSqrt, [JFPU1, JFPM], 21, [1, 21]>;
-defm : JWriteResFpuPair<WriteFShuffle, [JFPU01], 1>;
-defm : JWriteResFpuPair<WriteFBlend, [JFPU01], 1>;
-defm : JWriteResFpuPair<WriteFVarBlend, [JFPU01], 2, [4], 3>;
-defm : JWriteResFpuPair<WriteFShuffle256, [JFPU01], 1>;
+defm : JWriteResFpuPair<WriteFAdd, [JFPU0, JFPA], 3>;
+defm : JWriteResFpuPair<WriteFMul, [JFPU1, JFPM], 2>;
+defm : JWriteResFpuPair<WriteFMA, [JFPU1, JFPM], 2>; // NOTE: Doesn't exist on Jaguar.
+defm : JWriteResFpuPair<WriteFRcp, [JFPU1, JFPM], 2>;
+defm : JWriteResFpuPair<WriteFRsqrt, [JFPU1, JFPM], 2>;
+defm : JWriteResFpuPair<WriteFDiv, [JFPU1, JFPM], 19, [1, 19]>;
+defm : JWriteResFpuPair<WriteFSqrt, [JFPU1, JFPM], 21, [1, 21]>;
+defm : JWriteResFpuPair<WriteFShuffle, [JFPU01, JFPX], 1>;
+defm : JWriteResFpuPair<WriteFBlend, [JFPU01, JFPX], 1>;
+defm : JWriteResFpuPair<WriteFVarBlend, [JFPU01, JFPX], 2, [1, 4], 3>;
+defm : JWriteResFpuPair<WriteFShuffle256, [JFPU01, JFPX], 1>;
////////////////////////////////////////////////////////////////////////////////
// Conversions.
// FIXME: integer pipes
////////////////////////////////////////////////////////////////////////////////
-defm : JWriteResFpuPair<WriteCvtF2I, [JFPU1], 3>; // Float -> Integer.
-defm : JWriteResFpuPair<WriteCvtI2F, [JFPU1], 3>; // Integer -> Float.
-defm : JWriteResFpuPair<WriteCvtF2F, [JFPU1], 3>; // Float -> Float size conversion.
+defm : JWriteResFpuPair<WriteCvtF2I, [JFPU1, JSTC], 3>; // Float -> Integer.
+defm : JWriteResFpuPair<WriteCvtI2F, [JFPU1, JSTC], 3>; // Integer -> Float.
+defm : JWriteResFpuPair<WriteCvtF2F, [JFPU1, JSTC], 3>; // Float -> Float size conversion.
////////////////////////////////////////////////////////////////////////////////
// Vector integer operations.
@@ -308,16 +313,16 @@ def : WriteRes<WriteVecLoad,
def : WriteRes<WriteVecStore, [JSAGU]>;
def : WriteRes<WriteVecMove, [JFPU01]>;
-defm : JWriteResFpuPair<WriteVecALU, [JFPU01], 1>;
-defm : JWriteResFpuPair<WriteVecShift, [JFPU01], 1>;
-defm : JWriteResFpuPair<WriteVecIMul, [JFPU0], 2>;
-defm : JWriteResFpuPair<WriteMPSAD, [JFPU0], 3, [2]>;
-defm : JWriteResFpuPair<WriteShuffle, [JFPU01], 1>;
-defm : JWriteResFpuPair<WriteBlend, [JFPU01], 1>;
-defm : JWriteResFpuPair<WriteVarBlend, [JFPU01], 2, [4], 3>;
-defm : JWriteResFpuPair<WriteVecLogic, [JFPU01], 1>;
-defm : JWriteResFpuPair<WriteShuffle256, [JFPU01], 1>;
-defm : JWriteResFpuPair<WriteVarVecShift, [JFPU01], 1>; // NOTE: Doesn't exist on Jaguar.
+defm : JWriteResFpuPair<WriteVecALU, [JFPU01, JVALU], 1>;
+defm : JWriteResFpuPair<WriteVecShift, [JFPU01, JVALU], 1>;
+defm : JWriteResFpuPair<WriteVecIMul, [JFPU0, JVIMUL], 2>;
+defm : JWriteResFpuPair<WriteMPSAD, [JFPU0, JVIMUL], 3, [1, 2]>;
+defm : JWriteResFpuPair<WriteShuffle, [JFPU01, JVALU], 1>;
+defm : JWriteResFpuPair<WriteBlend, [JFPU01, JVALU], 1>;
+defm : JWriteResFpuPair<WriteVarBlend, [JFPU01, JVALU], 2, [1, 4], 3>;
+defm : JWriteResFpuPair<WriteVecLogic, [JFPU01, JVALU], 1>;
+defm : JWriteResFpuPair<WriteShuffle256, [JFPU01, JVALU], 1>;
+defm : JWriteResFpuPair<WriteVarVecShift, [JFPU01, JVALU], 1>; // NOTE: Doesn't exist on Jaguar.
////////////////////////////////////////////////////////////////////////////////
// SSE42 String instructions.
@@ -341,8 +346,8 @@ defm : JWriteResFpuPair<WriteAESDecEnc,
// Horizontal add/sub instructions.
////////////////////////////////////////////////////////////////////////////////
-defm : JWriteResFpuPair<WriteFHAdd, [JFPU0], 3>;
-defm : JWriteResFpuPair<WritePHAdd, [JFPU01], 1>;
+defm : JWriteResFpuPair<WriteFHAdd, [JFPU0, JFPA], 3>;
+defm : JWriteResFpuPair<WritePHAdd, [JFPU01, JVALU], 1>;
def JWriteFHAddY: SchedWriteRes<[JFPU0]> {
let Latency = 3;
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/dot-product.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/dot-product.s?rev=327791&r1=327790&r2=327791&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/dot-product.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/dot-product.s Sun Mar 18 05:09:17 2018
@@ -43,13 +43,13 @@ vhaddps %xmm3, %xmm3, %xmm4
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
-# CHECK-NEXT: - - - - - 2.00 1.00 - - - - - - -
+# CHECK-NEXT: - - - 2.00 1.00 2.00 1.00 - - - - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vmulps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vhaddps %xmm2, %xmm2, %xmm3
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vhaddps %xmm3, %xmm3, %xmm4
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmulps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhaddps %xmm2, %xmm2, %xmm3
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhaddps %xmm3, %xmm3, %xmm4
# CHECK: Timeline view:
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s?rev=327791&r1=327790&r2=327791&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s Sun Mar 18 05:09:17 2018
@@ -62,15 +62,15 @@ vsqrtps %ymm0, %ymm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
-# CHECK-NEXT: - - - - 63.00 5.00 4.00 - - - - - - 1.00
+# CHECK-NEXT: - - - 1.00 63.00 5.00 4.00 - - - 1.00 0.50 0.50 2.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmulld %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vpand %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvttps2dq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmulld %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpand %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvttps2dq %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpclmulqdq $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vaddps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - vsqrtps %xmm0, %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vaddps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - 42.00 - 1.00 - - - - - - - vsqrtps %ymm0, %ymm2
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=327791&r1=327790&r2=327791&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 Sun Mar 18 05:09:17 2018
@@ -1021,24 +1021,24 @@ vzeroupper
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vaddpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vaddpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vaddpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vaddpd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vaddpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vaddps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vaddps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vaddps (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vaddps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vaddps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vaddsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vaddsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vaddss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vaddss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vaddsubpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vaddsubpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vaddsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vaddss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddsubpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vaddsubpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vaddsubpd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vaddsubpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vaddsubps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vaddsubps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vaddsubps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vaddsubps (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vaddsubps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vaddsubps (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vaesdec %xmm0, %xmm1, %xmm2
@@ -1053,42 +1053,42 @@ vzeroupper
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vaesimc (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vaeskeygenassist $22, %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vaeskeygenassist $22, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vandnpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vandnpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vandnpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vandnpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - 2.00 - - - - - - - vandnpd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vandnpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vandnps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vandnps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vandnps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vandnps (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - 2.00 - - - - - - - vandnps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vandnps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vandpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vandpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vandpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vandpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - 2.00 - - - - - - - vandpd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vandpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vandps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vandps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vandps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vandps (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - 2.00 - - - - - - - vandps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vandps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vblendpd $11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vblendpd $11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vblendpd $11, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vblendpd $11, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vblendps $11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vblendps $11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vblendps $11, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vblendps $11, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 4.00 - - - - - - - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 4.00 1.00 - - - - - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vblendpd $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vblendpd $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vblendpd $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vblendpd $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vblendps $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vblendps $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vblendps $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vblendps $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - 4.00 1.00 - - - - - - - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 4.00 - - 1.00 1.00 - - - - - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 6.00 - - - - - - - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - 6.00 1.00 - - - - - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 4.00 - - - - - - - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 4.00 1.00 - - - - - - vblendvps %xmm3, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 6.00 - - - - - - - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 6.00 1.00 - - - - - - vblendvps %ymm3, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vbroadcastf128 (%rax), %ymm2
-# CHECK-NEXT: - - - - - 4.00 - 1.00 - - - - - - vbroadcastsd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vbroadcastss (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 4.00 1.00 - - - - - - vbroadcastss (%rax), %ymm2
+# CHECK-NEXT: - - - - 4.00 1.00 - - - - - - - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 4.00 - 1.00 - 1.00 - - - - - - vblendvps %xmm3, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 6.00 - - - - - - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - 6.00 - 1.00 - - - - - - vblendvps %ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vbroadcastf128 (%rax), %ymm2
+# CHECK-NEXT: - - - - - - 4.00 1.00 - - - - - - vbroadcastsd (%rax), %ymm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vbroadcastss (%rax), %xmm2
+# CHECK-NEXT: - - - - - 4.00 - 1.00 - - - - - - vbroadcastss (%rax), %ymm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vcmppd $0, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vcmppd $0, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vcmppd $0, %ymm0, %ymm1, %ymm2
@@ -1101,66 +1101,66 @@ vzeroupper
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vcmpsd $0, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vcmpss $0, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vcmpss $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vcomisd %xmm0, %xmm1
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vcomisd (%rax), %xmm1
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vcomiss %xmm0, %xmm1
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vcomiss (%rax), %xmm1
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvtdq2pd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvtdq2pd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcomisd %xmm0, %xmm1
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcomisd (%rax), %xmm1
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcomiss %xmm0, %xmm1
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcomiss (%rax), %xmm1
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtdq2pd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtdq2pd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 2.00 - - - vcvtdq2pd %xmm0, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - 2.00 - - - vcvtdq2pd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvtdq2ps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvtdq2ps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtdq2ps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtdq2ps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 2.00 - - - vcvtdq2ps %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - 2.00 - - - vcvtdq2ps (%rax), %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvtpd2dq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvtpd2dqx (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtpd2dq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtpd2dqx (%rax), %xmm2
# CHECK-NEXT: - - - - - - 4.00 - - - 2.00 - - - vcvtpd2dq %ymm0, %xmm2
-# CHECK-NEXT: - - - - - - 4.00 1.00 - - 2.00 - - - vcvtpd2dqy (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvtpd2ps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvtpd2psx (%rax), %xmm2
+# CHECK-NEXT: - - - - - 4.00 - 1.00 - - 2.00 - - - vcvtpd2dqy (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtpd2ps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtpd2psx (%rax), %xmm2
# CHECK-NEXT: - - - - - - 4.00 - - - 2.00 - - - vcvtpd2ps %ymm0, %xmm2
# CHECK-NEXT: - - - - - 4.00 - 1.00 - - 2.00 - - - vcvtpd2psy (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvtps2dq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvtps2dq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtps2dq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtps2dq (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 2.00 - - - vcvtps2dq %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - 2.00 - - - vcvtps2dq (%rax), %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvtps2pd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvtps2pd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvtps2pd %xmm0, %ymm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvtps2pd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvtsd2si %xmm0, %ecx
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvtsd2si %xmm0, %rcx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvtsd2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvtsd2si (%rax), %rcx
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvtsd2ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvtsd2ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvtsi2sdl %ecx, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvtsi2sdq %rcx, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvtsi2sdl (%rax), %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvtsi2sdq (%rax), %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvtsi2ssl %ecx, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvtsi2ssq %rcx, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvtsi2ssl (%rax), %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvtsi2ssq (%rax), %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvtss2sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvtss2sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvtss2si %xmm0, %ecx
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvtss2si %xmm0, %rcx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvtss2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvtss2si (%rax), %rcx
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvttpd2dq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvttpd2dqx (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtps2pd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtps2pd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtps2pd %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtps2pd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtsd2si %xmm0, %ecx
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtsd2si %xmm0, %rcx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtsd2si (%rax), %ecx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtsd2si (%rax), %rcx
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtsd2ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtsd2ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtsi2sdl %ecx, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtsi2sdq %rcx, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtsi2sdl (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtsi2sdq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtsi2ssl %ecx, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtsi2ssq %rcx, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtsi2ssl (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtsi2ssq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtss2sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtss2sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtss2si %xmm0, %ecx
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtss2si %xmm0, %rcx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtss2si (%rax), %ecx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtss2si (%rax), %rcx
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvttpd2dq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvttpd2dqx (%rax), %xmm2
# CHECK-NEXT: - - - - - 4.00 - - - - 2.00 - - - vcvttpd2dq %ymm0, %xmm2
-# CHECK-NEXT: - - - - - 4.00 - 1.00 - - 2.00 - - - vcvttpd2dqy (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvttps2dq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvttps2dq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 4.00 1.00 - - 2.00 - - - vcvttpd2dqy (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvttps2dq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvttps2dq (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 2.00 - - - vcvttps2dq %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - 2.00 - - - vcvttps2dq (%rax), %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvttsd2si %xmm0, %ecx
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvttsd2si %xmm0, %rcx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvttsd2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvttsd2si (%rax), %rcx
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvttsd2si %xmm0, %ecx
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvttsd2si %xmm0, %rcx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvttsd2si (%rax), %ecx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvttsd2si (%rax), %rcx
# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - vdivpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - vdivpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - 38.00 - 1.00 - - - - - - - vdivpd %ymm0, %ymm1, %ymm2
@@ -1179,30 +1179,30 @@ vzeroupper
# CHECK-NEXT: - - - - - 3.00 3.00 1.00 - - - - - - vdpps $22, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 6.00 6.00 - - - - - - - vdpps $22, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - 6.00 6.00 1.00 - - - - - - vdpps $22, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vextractf128 $1, %ymm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vextractf128 $1, %ymm0, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vextractf128 $1, %ymm0, (%rax)
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vextractps $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - 1.00 - - - - vextractps $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vhaddpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vhaddpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vextractps $1, %xmm0, %ecx
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - 1.00 - - - - vextractps $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhaddpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vhaddpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vhaddpd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vhaddpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vhaddps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vhaddps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhaddps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vhaddps (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vhaddps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vhaddps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vhsubpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vhsubpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhsubpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vhsubpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vhsubpd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vhsubpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vhsubps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vhsubps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhsubps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vhsubps (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vhsubps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vhsubps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vinsertf128 $1, %xmm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vinsertf128 $1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vinsertps $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vinsertps $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vinsertf128 $1, %xmm0, %ymm1, %ymm2
+# 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 - - - - - - vlddqu (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vlddqu (%rax), %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vldmxcsr (%rax)
@@ -1255,8 +1255,8 @@ vzeroupper
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovd (%rax), %xmm2
# CHECK-NEXT: 1.00 - - - - - - - - - - - - - vmovd %xmm0, %ecx
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vmovddup %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vmovddup (%rax), %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovddup %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vmovddup (%rax), %xmm2
# CHECK-NEXT: - - - - - - 2.00 - - - - - - - vmovddup %ymm0, %ymm2
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vmovddup (%rax), %ymm2
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vmovdqa %xmm0, %xmm2
@@ -1271,16 +1271,16 @@ vzeroupper
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vmovdqu %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovdqu %ymm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovdqu (%rax), %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vmovhlps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vmovlhps %xmm0, %xmm1, %xmm2
+# 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)
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vmovhpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovhpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovhps %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vmovhps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vmovhps (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovlpd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vmovlpd (%rax), %xmm1, %xmm2
+# 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 - - - - - - vmovlps (%rax), %xmm1, %xmm2
+# 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
@@ -1293,23 +1293,23 @@ vzeroupper
# CHECK-NEXT: - - - - - - - - - 1.00 2.00 - - - vmovntpd %ymm0, (%rax)
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - vmovntps %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - - 1.00 2.00 - - - vmovntps %ymm0, (%rax)
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - 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
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovq %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vmovsd %xmm0, %xmm1, %xmm2
+# 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 - - - - - - - - vmovshdup %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vmovshdup (%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 - - - - - - - - vmovshdup %ymm0, %ymm2
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vmovshdup (%rax), %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmovsldup %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vmovsldup (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovsldup %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovsldup (%rax), %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vmovsldup %ymm0, %ymm2
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vmovsldup (%rax), %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmovss %xmm0, %xmm1, %xmm2
+# 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 - - - - - - - vmovupd %xmm0, %xmm2
@@ -1324,317 +1324,317 @@ vzeroupper
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmovups %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovups %ymm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovups (%rax), %ymm2
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vmpsadbw $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vmpsadbw $1, (%rax), %xmm1, %xmm2
+# 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 - - - - - - - vmulpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vmulpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - 4.00 - - - - - - - vmulpd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - 4.00 1.00 - - - - - - vmulpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vmulps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vmulps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmulps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmulps (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - 2.00 - - - - - - - vmulps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vmulps (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - 2.00 - - - - - - - vmulsd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vmulsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vmulss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vmulss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vorpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vorpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmulss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmulss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vorpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vorpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vorpd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vorpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vorps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vorps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vorps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpabsb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vpabsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpabsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vpabsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpabsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpabsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpackssdw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpackssdw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpacksswb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpacksswb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpackusdw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpackusdw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpackuswb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpackuswb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpaddb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpaddb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpaddd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpaddd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpaddq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpaddq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpaddsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpaddsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpaddsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpaddsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpaddusb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpaddusb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpaddusw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpaddusw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpaddw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpaddw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpalignr $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpalignr $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpand %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpand (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpandn %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpandn (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpavgb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpavgb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpavgw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpavgw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 4.00 - - - - - - - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 4.00 1.00 - - - - - - vpblendvb %xmm3, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpblendw $11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - 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 - - - - - - - vpcmpeqb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpcmpeqb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vpcmpeqd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpcmpeqd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpcmpeqq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpcmpeqq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpcmpeqw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpcmpeqw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpcmpgtb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpcmpgtb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpcmpgtd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpcmpgtd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpcmpgtq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpcmpgtq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpcmpgtw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpcmpgtw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vperm2f128 $1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vperm2f128 $1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpermilpd $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpermilpd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 4.00 - - - - - - - - vpermilpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 4.00 1.00 - - - - - - vpermilpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vpermilpd $1, %ymm0, %ymm2
-# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vpermilpd $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - 6.00 - - - - - - - - vpermilpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 6.00 1.00 - - - - - - vpermilpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpermilps $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vpermilps $1, (%rax), %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
+# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vpermilpd $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - - vpermilpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 4.00 - 1.00 - - - - - - vpermilpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - vpermilpd $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vpermilpd $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - 6.00 - - - - - - - vpermilpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - 6.00 - 1.00 - - - - - - vpermilpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vpermilps $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vpermilps $1, (%rax), %xmm2
# CHECK-NEXT: - - - - - - 4.00 - - - - - - - vpermilps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - 4.00 - 1.00 - - - - - - vpermilps (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - 2.00 - - - - - - - vpermilps $1, %ymm0, %ymm2
# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vpermilps $1, (%rax), %ymm2
# CHECK-NEXT: - - - - - - 6.00 - - - - - - - vpermilps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - 6.00 - 1.00 - - - - - - vpermilps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vpextrb $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - - - - vpextrb $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpextrd $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - - - - vpextrd $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vpextrq $1, %xmm0, %rcx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - - - - vpextrq $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpextrw $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - - - - vpextrw $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vphaddd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vphaddd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vphaddsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vphaddsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vphaddw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vphaddw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vphminposuw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vphminposuw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vphsubd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vphsubd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vphsubsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vphsubsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vphsubw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vphsubw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpinsrb $1, %eax, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpinsrb $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpinsrd $1, %eax, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpinsrd $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpinsrq $1, %rax, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpinsrq $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpinsrw $1, %eax, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpinsrw $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmaddubsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vpmaddubsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmaddwd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vpmaddwd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmaxsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpmaxsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vpmaxsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpmaxsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vpmaxsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpmaxsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmaxub %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpmaxub (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmaxud %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpmaxud (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmaxuw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpmaxuw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpminsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpminsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpminsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpminsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpminsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpminsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpminub %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpminub (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpminud %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpminud (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpminuw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpminuw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmovmskb %xmm0, %ecx
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmovsxbd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpmovsxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmovsxbq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpmovsxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmovsxbw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpmovsxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmovsxdq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpmovsxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmovsxwd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpmovsxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmovsxwq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpmovsxwq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmovzxbd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpmovzxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmovzxbq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpmovzxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmovzxbw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpmovzxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmovzxdq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpmovzxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmovzxwd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpmovzxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmovzxwq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpmovzxwq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmuldq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vpmuldq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmulhrsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vpmulhrsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmulhuw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vpmulhuw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmulhw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vpmulhw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmulld %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vpmulld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmullw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vpmullw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpmuludq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vpmuludq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vpor %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpor (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpsadbw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vpsadbw (%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 - - - - - 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 - - - - - - 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
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmulhrsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmulhuw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmulhuw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmulhw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmulhw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmulld %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmulld (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmullw %xmm0, %xmm1, %xmm2
+# 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 - - - - - 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: - - - - - - 4.00 - - - - - - - vpshufb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - 4.00 1.00 - - - - - - vpshufb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vpshufd $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vpshufd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpshufhw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpshufhw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpshuflw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpshuflw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpsignb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpsignb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpsignd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpsignd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpsignw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpsignw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpslld $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vpslld %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vpslld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vpslldq $1, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpsllq $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vpsllq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vpsllq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vpsllw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpsllw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpsllw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpsrad $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vpsrad %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vpsrad (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vpsraw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpsraw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpsraw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpsrld $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vpsrld %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vpsrld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vpsrldq $1, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpsrlq $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vpsrlq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vpsrlq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vpsrlw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpsrlw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpsrlw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpsubb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpsubb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpsubd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpsubd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpsubq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpsubq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpsubsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpsubsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpsubsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpsubsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpsubusb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpsubusb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpsubusw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpsubusw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpsubw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpsubw (%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 - - - - - - - vpunpckhbw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpunpckhbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpunpckhdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpunpckhdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpunpckhqdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpunpckhqdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpunpckhwd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpunpckhwd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpunpcklbw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpunpcklbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpunpckldq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpunpckldq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpunpcklqdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpunpcklqdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpunpcklwd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpunpcklwd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vpxor %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vpxor (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vrcpps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vrcpps (%rax), %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 - - - - - - - vrcpps %ymm0, %ymm2
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vrcpps (%rax), %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vrcpss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vrcpss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vroundpd $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vroundpd $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vrcpss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vrcpss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vroundpd $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vroundpd $1, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 2.00 - - - vroundpd $1, %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - 2.00 - - - vroundpd $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vroundps $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vroundps $1, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vroundps $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vroundps $1, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 2.00 - - - vroundps $1, %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - 2.00 - - - vroundps $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vroundsd $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vroundsd $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vroundss $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vroundss $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vrsqrtps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vrsqrtps (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vroundsd $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vroundsd $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vroundss $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vroundss $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vrsqrtps %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vrsqrtps (%rax), %xmm2
# CHECK-NEXT: - - - - - - 2.00 - - - - - - - vrsqrtps %ymm0, %ymm2
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vrsqrtps (%rax), %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vrsqrtss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vrsqrtss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vshufpd $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vshufpd $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vrsqrtss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vrsqrtss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vshufpd $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vshufpd $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vshufpd $1, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vshufpd $1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vshufps $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vshufps $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vshufps $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vshufps $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vshufps $1, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vshufps $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - vsqrtpd %xmm0, %xmm2
@@ -1650,18 +1650,18 @@ vzeroupper
# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - vsqrtss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - 21.00 - 1.00 1.00 - - - - - - vsqrtss (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vstmxcsr (%rax)
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vsubpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vsubpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vsubpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vsubpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vsubpd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vsubpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vsubps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vsubps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vsubps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vsubps (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vsubps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vsubps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vsubsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vsubsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vsubss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vsubss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vsubsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vsubsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vsubss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vsubss (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vtestpd %xmm0, %xmm1
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vtestpd (%rax), %xmm1
# CHECK-NEXT: - - - - - 2.00 2.00 - - - - - - - vtestpd %ymm0, %ymm1
@@ -1670,32 +1670,32 @@ vzeroupper
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vtestps (%rax), %xmm1
# CHECK-NEXT: - - - - - 2.00 2.00 - - - - - - - vtestps %ymm0, %ymm1
# CHECK-NEXT: - - - - - 2.00 2.00 1.00 - - - - - - vtestps (%rax), %ymm1
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vucomisd %xmm0, %xmm1
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vucomisd (%rax), %xmm1
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vucomiss %xmm0, %xmm1
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vucomiss (%rax), %xmm1
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vunpckhpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vunpckhpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vunpckhpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vunpckhpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vunpckhps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vunpckhps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vunpckhps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vunpckhps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vunpcklpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vunpcklpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vunpcklpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vunpcklpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vunpcklps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vunpcklps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vunpcklps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vunpcklps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vxorpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vxorpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vucomisd %xmm0, %xmm1
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vucomisd (%rax), %xmm1
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vucomiss %xmm0, %xmm1
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vucomiss (%rax), %xmm1
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vunpckhpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vunpckhpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vunpckhpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vunpckhpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vunpckhps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vunpckhps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vunpckhps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vunpckhps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vunpcklpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vunpcklpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vunpcklpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vunpcklpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vunpcklps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vunpcklps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vunpcklps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vunpcklps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vxorpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vxorpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - 2.00 - - - - - - - vxorpd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vxorpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vxorps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vxorps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vxorps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vxorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vxorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vxorps (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - - - vzeroall
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=327791&r1=327790&r2=327791&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 Sun Mar 18 05:09:17 2018
@@ -152,32 +152,32 @@ xorps (%rax), %xmm2
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - addps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - addps (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - addss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - addss (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.01 0.99 - - - - - - - andnps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - - - - andnps (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.01 0.99 - - - - - - - andps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - - - - andps (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addps %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addps (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addss %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addss (%rax), %xmm2
+# CHECK-NEXT: - - - - - 0.01 0.99 - - - - 0.50 0.50 - andnps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.50 0.50 - andnps (%rax), %xmm2
+# CHECK-NEXT: - - - - - 0.01 0.99 - - - - 0.50 0.50 - andps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - 0.50 0.50 - andps (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - cmpps $0, %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - cmpps $0, (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - cmpss $0, %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - cmpss $0, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - comiss %xmm0, %xmm1
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - comiss (%rax), %xmm1
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtsi2ssl %ecx, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtsi2ssq %rcx, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtsi2ssl (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtsi2ssl (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtss2si %xmm0, %ecx
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtss2si %xmm0, %rcx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtss2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtss2si (%rax), %rcx
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvttss2si %xmm0, %ecx
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvttss2si %xmm0, %rcx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvttss2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvttss2si (%rax), %rcx
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - comiss %xmm0, %xmm1
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - comiss (%rax), %xmm1
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2ssl %ecx, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2ssq %rcx, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsi2ssl (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsi2ssl (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtss2si %xmm0, %ecx
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtss2si %xmm0, %rcx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtss2si (%rax), %ecx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtss2si (%rax), %rcx
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttss2si %xmm0, %ecx
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttss2si %xmm0, %rcx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttss2si (%rax), %ecx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttss2si (%rax), %rcx
# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divps %xmm0, %xmm2
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divps (%rax), %xmm2
# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divss %xmm0, %xmm2
@@ -194,52 +194,52 @@ xorps (%rax), %xmm2
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - - - movaps %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movaps %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movaps (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.01 0.99 - - - - - - - movhlps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - movlhps %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 0.01 0.99 - - - - - - - movhlps %xmm0, %xmm2
+# CHECK-NEXT: - - - 0.01 0.99 - 1.00 - - - - - - - movlhps %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movhps %xmm0, (%rax)
-# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - - - - movhps (%rax), %xmm2
+# CHECK-NEXT: - - - 0.99 0.01 0.99 0.01 1.00 - - - - - - movhps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movlps %xmm0, (%rax)
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - movlps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - movmskps %xmm0, %ecx
+# 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 - - - movntps %xmm0, (%rax)
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - movss %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - movss %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movss %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movss (%rax), %xmm2
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - movups %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movups %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movups (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - mulps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - mulps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - mulss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - mulss (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - - - orps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - - - - orps (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pinsrw $1, %eax, %xmm1
-# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - - - - pinsrw $1, (%rax), %xmm1
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - rcpps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - rcpps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - rcpss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - rcpss (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - rsqrtps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - rsqrtps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - rsqrtss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - rsqrtss (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - - - shufps $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - - - - shufps $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - mulps %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - mulps (%rax), %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - mulss %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - mulss (%rax), %xmm2
+# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.50 0.50 - orps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.50 0.50 - orps (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pinsrw $1, %eax, %xmm1
+# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.50 0.50 - 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
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - rcpss (%rax), %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - rsqrtps %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - rsqrtps (%rax), %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - rsqrtss %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - rsqrtss (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 0.99 0.01 - - - - - - - shufps $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 0.01 0.99 1.00 - - - - - - shufps $1, (%rax), %xmm2
# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - sqrtps %xmm0, %xmm2
# CHECK-NEXT: - - - - 21.00 - 1.00 1.00 - - - - - - sqrtps (%rax), %xmm2
# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - sqrtss %xmm0, %xmm2
# CHECK-NEXT: - - - - 21.00 - 1.00 1.00 - - - - - - sqrtss (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - stmxcsr (%rax)
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - subps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - subps (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - subss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - subss (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - ucomiss %xmm0, %xmm1
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - ucomiss (%rax), %xmm1
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - unpckhps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - unpckhps (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - unpcklps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - - - - unpcklps (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - xorps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - - - - xorps (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - subps %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - subps (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - subss %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - subss (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - ucomiss %xmm0, %xmm1
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - ucomiss (%rax), %xmm1
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - unpckhps %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - unpckhps (%rax), %xmm2
+# CHECK-NEXT: - - - 0.01 0.99 1.00 - - - - - - - - unpcklps %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 0.99 0.01 1.00 - - - - - - unpcklps (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - xorps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - 0.50 0.50 - xorps (%rax), %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=327791&r1=327790&r2=327791&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 Sun Mar 18 05:09:17 2018
@@ -393,54 +393,54 @@ xorpd (%rax), %xmm2
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - addpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - addpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - addsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - addsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - addsubpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - addsubpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - andnpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - - - - andnpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.01 0.99 - - - - - - - andpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - andpd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addpd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addpd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addsd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addsd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addsubpd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addsubpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - andnpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 1.00 - - andnpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - 0.01 0.99 - - - - - 1.00 - andpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - andpd (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - cmppd $0, (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - cmpsd $0, %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - cmpsd $0, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - comisd %xmm0, %xmm1
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - comisd (%rax), %xmm1
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtdq2pd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtdq2pd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtdq2ps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtdq2ps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtpd2dq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtpd2dq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtpd2ps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtpd2ps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtps2dq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtps2dq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtps2pd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtps2pd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtsd2si %xmm0, %ecx
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtsd2si %xmm0, %rcx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtsd2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtsd2si (%rax), %rcx
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtsd2ss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtsd2ss (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtsi2sdl %ecx, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtsi2sdq %rcx, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtsi2sdl (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtsi2sdl (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtss2sd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtss2sd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvttpd2dq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvttpd2dq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvttps2dq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvttps2dq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvttsd2si %xmm0, %ecx
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvttsd2si %xmm0, %rcx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvttsd2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvttsd2si (%rax), %rcx
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - comisd %xmm0, %xmm1
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - comisd (%rax), %xmm1
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtdq2pd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtdq2pd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtdq2ps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtdq2ps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtpd2dq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtpd2dq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtpd2ps %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtpd2ps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtps2dq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtps2dq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtps2pd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtps2pd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsd2si %xmm0, %ecx
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsd2si %xmm0, %rcx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsd2si (%rax), %ecx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsd2si (%rax), %rcx
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsd2ss %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsd2ss (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2sdl %ecx, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2sdq %rcx, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsi2sdl (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsi2sdl (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtss2sd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtss2sd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttpd2dq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttpd2dq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttps2dq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttps2dq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttsd2si %xmm0, %ecx
+# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttsd2si %xmm0, %rcx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttsd2si (%rax), %ecx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttsd2si (%rax), %rcx
# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divpd %xmm0, %xmm2
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divpd (%rax), %xmm2
# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divsd %xmm0, %xmm2
@@ -468,18 +468,18 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movdqu %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movdqu (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movhpd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - movhpd (%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 - - - - - - movlpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - movmskpd %xmm0, %ecx
+# 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 - - - movntdq %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - movntpd %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - 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
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movq %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - movsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - movsd %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movsd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movsd (%rax), %xmm2
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - movupd %xmm0, %xmm2
@@ -489,161 +489,161 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - mulpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - 2.00 - - - - - - - mulsd %xmm0, %xmm2
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - mulsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - orpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - orpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pabsb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pabsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pabsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pabsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pabsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pabsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - packssdw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - packssdw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - packsswb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - packsswb (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - packuswb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - packuswb (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - paddb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - paddb (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - paddd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - paddd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - paddq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - paddq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - paddsb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - paddsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - paddsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - paddsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - paddusb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - paddusb (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - paddusw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - paddusw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - paddw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - paddw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pand %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pand (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pandn %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pandn (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pavgb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pavgb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pavgw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pavgw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pcmpeqb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pcmpeqb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pcmpeqd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pcmpeqd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pcmpeqw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pcmpeqw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pcmpgtb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pcmpgtb (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pcmpgtd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pcmpgtd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pcmpgtw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pcmpgtw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pextrw $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmaddwd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pmaddwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pmaxsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pmaxsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmaxub %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pmaxub (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pminsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pminsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pminub %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pminub (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pmovmskb %xmm0, %ecx
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmulhuw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pmulhuw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmulhw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pmulhw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmullw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pmullw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmuludq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pmuludq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - por %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - por (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psadbw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - psadbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pshufd $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pshufd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pshufhw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pshufhw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pshuflw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pshuflw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pslld $1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pslld %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pslld (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pslldq $1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psllq $1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psllq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psllq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psllw $1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psllw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psllw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psrad $1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psrad %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - psrad (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psraw $1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psraw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - psraw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psrld $1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psrld %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - psrld (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psrldq $1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psrlq $1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psrlq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - psrlq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psrlw $1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psrlw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psrlw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psubb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psubb (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psubd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psubd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psubq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psubq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psubsb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psubsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psubsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psubsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psubusb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psubusb (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psubusw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psubusw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psubw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psubw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - punpckhbw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - punpckhbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - punpckhdq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - punpckhdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - punpckhqdq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - punpckhqdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - punpckhwd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - punpckhwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - punpcklbw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - punpcklbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - punpckldq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - punpckldq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - punpcklqdq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - punpcklqdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - punpcklwd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - punpcklwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pxor %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pxor (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - shufpd $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - shufpd $1, (%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 - 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 pmaddwd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmaddwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pmaxsw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pmaxsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pmaxub %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pmaxub (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pminsw %xmm0, %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 pmulhuw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhuw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmullw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmullw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmuludq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmuludq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - por %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - por (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - psadbw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - psadbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pshufd $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pshufd $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pshufhw $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pshufhw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pshuflw $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pshuflw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pslld $1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pslld %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pslld (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pslldq $1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psllq $1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - psllq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - psllq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - psllw $1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psllw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psllw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - psrad $1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - psrad %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - psrad (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - psraw $1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - psraw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - psraw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - psrld $1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - psrld %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - psrld (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - psrldq $1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psrlq $1, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - psrlq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - psrlq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - psrlw $1, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psrlw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psrlw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psubb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psubb (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psubd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psubd (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psubq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psubq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psubsb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psubsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psubsw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psubsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psubusb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psubusb (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psubusw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psubusw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psubw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psubw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - punpckhbw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - punpckhbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - punpckhdq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - punpckhdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - punpckhqdq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - punpckhqdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - punpckhwd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - punpckhwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - punpcklbw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - punpcklbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - punpckldq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - punpckldq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - punpcklqdq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - punpcklqdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - punpcklwd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - punpcklwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pxor %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pxor (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - shufpd $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - shufpd $1, (%rax), %xmm2
# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - sqrtpd %xmm0, %xmm2
# CHECK-NEXT: - - - - 21.00 - 1.00 1.00 - - - - - - sqrtpd (%rax), %xmm2
# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - sqrtsd %xmm0, %xmm2
# CHECK-NEXT: - - - - 21.00 - 1.00 1.00 - - - - - - sqrtsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - subpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - subpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - subsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - subsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - ucomisd %xmm0, %xmm1
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - ucomisd (%rax), %xmm1
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - unpckhpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - unpckhpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - unpcklpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - unpcklpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - xorpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - - - - xorpd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - subpd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - subpd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - subsd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - subsd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - ucomisd %xmm0, %xmm1
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - ucomisd (%rax), %xmm1
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - unpckhpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - unpckhpd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - unpcklpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - unpcklpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - xorpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - 1.00 - - xorpd (%rax), %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse3.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse3.s?rev=327791&r1=327790&r2=327791&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse3.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse3.s Sun Mar 18 05:09:17 2018
@@ -48,22 +48,22 @@ movsldup (%rax), %xmm2
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - addsubpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - addsubpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - addsubps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - addsubps (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - haddpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - haddpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - haddps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - haddps (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - hsubpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - hsubpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - hsubps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - hsubps (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addsubpd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addsubpd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addsubps %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addsubps (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - haddpd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - haddpd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - haddps %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - haddps (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - hsubpd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - hsubpd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - hsubps %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - hsubps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - lddqu (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - movddup %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - movddup (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.01 0.99 - - - - - - - movshdup %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - movshdup (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.04 0.96 - - - - - - - movsldup %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - movsldup (%rax), %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - movddup %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - movddup (%rax), %xmm2
+# CHECK-NEXT: - - - 0.01 0.99 0.01 0.99 - - - - - - - movshdup %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - movshdup (%rax), %xmm2
+# CHECK-NEXT: - - - 0.04 0.96 0.04 0.96 - - - - - - - movsldup %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - movsldup (%rax), %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s?rev=327791&r1=327790&r2=327791&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s Sun Mar 18 05:09:17 2018
@@ -163,99 +163,99 @@ roundss $1, (%rax), %xmm2
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - blendpd $11, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - - - - blendpd $11, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - - - blendps $11, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - - - - blendps $11, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - blendvpd %xmm0, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - - - - blendvpd %xmm0, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.01 0.99 - - - - - - - blendvps %xmm0, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - blendvps %xmm0, (%rax), %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - blendpd $11, %xmm0, %xmm2
+# CHECK-NEXT: - - - 0.01 0.99 0.01 0.99 1.00 - - - - - - blendpd $11, (%rax), %xmm2
+# CHECK-NEXT: - - - 0.99 0.01 0.99 0.01 - - - - - - - blendps $11, %xmm0, %xmm2
+# CHECK-NEXT: - - - 0.01 0.99 0.01 0.99 1.00 - - - - - - blendps $11, (%rax), %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - blendvpd %xmm0, %xmm0, %xmm2
+# CHECK-NEXT: - - - 0.99 0.01 0.99 0.01 1.00 - - - - - - blendvpd %xmm0, (%rax), %xmm2
+# CHECK-NEXT: - - - 0.01 0.99 0.01 0.99 - - - - - - - blendvps %xmm0, %xmm0, %xmm2
+# CHECK-NEXT: - - - 0.99 0.01 - 1.00 1.00 - - - - - - blendvps %xmm0, (%rax), %xmm2
# CHECK-NEXT: - - - - - 3.00 3.00 - - - - - - - dppd $22, %xmm0, %xmm2
# CHECK-NEXT: - - - - - 3.00 3.00 1.00 - - - - - - dppd $22, (%rax), %xmm2
# CHECK-NEXT: - - - - - 3.00 3.00 - - - - - - - dpps $22, %xmm0, %xmm2
# CHECK-NEXT: - - - - - 3.00 3.00 1.00 - - - - - - dpps $22, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - extractps $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - 1.00 - - - - extractps $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - insertps $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - insertps $1, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - extractps $1, %xmm0, %ecx
+# CHECK-NEXT: - - - 0.01 0.99 - 1.00 1.00 - 1.00 - - - - extractps $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - 0.99 0.01 1.00 - - - - - - - - insertps $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 0.01 0.99 - 1.00 1.00 - - - - - - insertps $1, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movntdqa (%rax), %xmm2
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - - mpsadbw $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - mpsadbw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - packusdw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - packusdw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 3.94 0.06 - - - - - - - pblendvb %xmm0, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.06 3.94 1.00 - - - - - - pblendvb %xmm0, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pblendw $11, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pblendw $11, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.49 0.51 - - - - - - - pcmpeqq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pcmpeqq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.49 0.51 - - - - - - - pextrb $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - 1.00 - - - - pextrb $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pextrd $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - 1.00 - - - - pextrd $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pextrq $1, %xmm0, %rcx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - - - - pextrq $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - - - - pextrw $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - phminposuw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - phminposuw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pinsrb $1, %eax, %xmm1
-# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - - - - pinsrb $1, (%rax), %xmm1
-# CHECK-NEXT: - - - - - 0.01 0.99 - - - - - - - pinsrd $1, %eax, %xmm1
-# CHECK-NEXT: - - - - - 0.49 0.51 1.00 - - - - - - pinsrd $1, (%rax), %xmm1
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pinsrq $1, %rax, %xmm1
-# CHECK-NEXT: - - - - - 0.51 0.49 1.00 - - - - - - pinsrq $1, (%rax), %xmm1
-# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - - - pmaxsb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmaxsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.49 0.51 - - - - - - - pmaxsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.51 0.49 1.00 - - - - - - pmaxsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmaxud %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmaxud (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmaxuw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmaxuw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pminsb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pminsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pminsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pminsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pminud %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pminud (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pminuw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pminuw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovsxbd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovsxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovsxbq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovsxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovsxbw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovsxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovsxdq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovsxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovsxwd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovsxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovsxwq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovsxwq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovzxbd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovzxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovzxbq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovzxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovzxbw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovzxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovzxdq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovzxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovzxwd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovzxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovzxwq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pmovzxwq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmuldq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pmuldq (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmulld %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pmulld (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - 2.00 mpsadbw $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 2.00 mpsadbw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - packusdw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - packusdw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 1.94 2.06 - pblendvb %xmm0, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - 2.06 1.94 - pblendvb %xmm0, (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pblendw $11, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pblendw $11, (%rax), %xmm2
+# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.49 0.51 - pcmpeqq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pcmpeqq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.50 0.50 - pextrb $1, %xmm0, %ecx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 0.50 0.50 - pextrb $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pextrd $1, %xmm0, %ecx
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - 1.00 - 0.50 0.50 - pextrd $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pextrq $1, %xmm0, %rcx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 0.50 0.50 - pextrq $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 0.50 0.50 - pextrw $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 phminposuw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 phminposuw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pinsrb $1, %eax, %xmm1
+# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.51 0.49 - pinsrb $1, (%rax), %xmm1
+# CHECK-NEXT: - - - - - 0.01 0.99 - - - - 0.51 0.49 - pinsrd $1, %eax, %xmm1
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.49 0.51 - pinsrd $1, (%rax), %xmm1
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pinsrq $1, %rax, %xmm1
+# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.51 0.49 - pinsrq $1, (%rax), %xmm1
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.49 0.51 - pmaxsb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmaxsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.49 0.51 - pmaxsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.51 0.49 - pmaxsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmaxud %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmaxud (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmaxuw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmaxuw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pminsb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pminsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pminsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pminsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pminud %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pminud (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pminuw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pminuw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovsxbd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovsxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovsxbq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovsxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovsxbw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovsxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovsxdq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovsxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovsxwd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmovsxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmovsxwq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmovsxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmovzxbd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmovzxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmovzxbq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmovzxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmovzxbw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmovzxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmovzxdq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovzxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmovzxwd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovzxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmovzxwq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovzxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmuldq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmuldq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulld %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulld (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - ptest %xmm0, %xmm1
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - ptest (%rax), %xmm1
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - roundpd $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - roundpd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - roundps $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - roundps $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - roundsd $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - roundsd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - roundss $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - roundss $1, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - roundpd $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - roundpd $1, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - roundps $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - roundps $1, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - roundsd $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - roundsd $1, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - roundss $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - roundss $1, (%rax), %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse42.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse42.s?rev=327791&r1=327790&r2=327791&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse42.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse42.s Sun Mar 18 05:09:17 2018
@@ -41,5 +41,5 @@ pcmpgtq (%rax), %xmm2
# CHECK-NEXT: - - - - - 2.00 2.00 1.00 - - - - - - pcmpistri $1, (%rax), %xmm2
# CHECK-NEXT: - - - - - 2.00 2.00 - - - - - - - pcmpistrm $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - 2.00 2.00 1.00 - - - - - - pcmpistrm $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pcmpgtq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pcmpgtq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pcmpgtq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pcmpgtq (%rax), %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-ssse3.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-ssse3.s?rev=327791&r1=327790&r2=327791&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-ssse3.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-ssse3.s Sun Mar 18 05:09:17 2018
@@ -57,29 +57,29 @@ psignw (%rax), %xmm2
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - palignr $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - palignr $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - phaddd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - phaddd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - phaddsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - phaddsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - phaddw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - phaddw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - phsubd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - phsubd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - phsubsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - phsubsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - phsubw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - phsubw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmaddubsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pmaddubsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmulhrsw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pmulhrsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - palignr $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - palignr $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - phaddd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - phaddd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - phaddsw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - phaddsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - phaddw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - phaddw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - phsubd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - phsubd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - phsubsw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - phsubsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - phsubw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - phsubw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmaddubsw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmaddubsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhrsw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhrsw (%rax), %xmm2
# CHECK-NEXT: - - - - - - 4.00 - - - - - - - pshufb %xmm0, %xmm2
# CHECK-NEXT: - - - - - 4.00 - 1.00 - - - - - - pshufb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psignb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - psignb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psignd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - psignd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psignw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - psignw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - psignb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - psignb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - psignd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - psignd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - psignw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - psignw (%rax), %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/scheduler-queue-usage.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/scheduler-queue-usage.s?rev=327791&r1=327790&r2=327791&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/scheduler-queue-usage.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/scheduler-queue-usage.s Sun Mar 18 05:09:17 2018
@@ -26,9 +26,9 @@ add %rsi, %rsi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
-# CHECK-NEXT: - 1.00 - - - - 1.00 1.00 - - - - - -
+# CHECK-NEXT: - 1.00 - - 1.00 - 1.00 1.00 - - - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vmulps (%rsi), %xmm0, %xmm0
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmulps (%rsi), %xmm0, %xmm0
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - addq %rsi, %rsi
More information about the llvm-commits
mailing list