[llvm] r361690 - [X86] Add zero idioms to the haswell, broadwell, and skylake schedule models. Add 256-bit fp xor to sandybridge zero idioms
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Fri May 24 21:47:49 PDT 2019
Author: ctopper
Date: Fri May 24 21:47:49 2019
New Revision: 361690
URL: http://llvm.org/viewvc/llvm-project?rev=361690&view=rev
Log:
[X86] Add zero idioms to the haswell, broadwell, and skylake schedule models. Add 256-bit fp xor to sandybridge zero idioms
This copies the Sandy Bridge zero idiom support to later CPUs. Adding the AVX2 and AVX512F/VL instructions as appropriate.
Differential Revision: https://reviews.llvm.org/D62360
Modified:
llvm/trunk/lib/Target/X86/X86SchedBroadwell.td
llvm/trunk/lib/Target/X86/X86SchedHaswell.td
llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td
llvm/trunk/lib/Target/X86/X86SchedSkylakeClient.td
llvm/trunk/lib/Target/X86/X86SchedSkylakeServer.td
llvm/trunk/test/tools/llvm-mca/X86/Broadwell/zero-idioms.s
llvm/trunk/test/tools/llvm-mca/X86/Haswell/zero-idioms.s
llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/zero-idioms.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/zero-idioms.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/zero-idioms.s
Modified: llvm/trunk/lib/Target/X86/X86SchedBroadwell.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedBroadwell.td?rev=361690&r1=361689&r2=361690&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedBroadwell.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedBroadwell.td Fri May 24 21:47:49 2019
@@ -889,8 +889,7 @@ def BWWriteResGroup47 : SchedWriteRes<[B
let NumMicroOps = 1;
let ResourceCycles = [1];
}
-def: InstRW<[BWWriteResGroup47], (instregex "(V?)PCMPGTQ(Y?)rr",
- "MUL_(FPrST0|FST0r|FrST0)")>;
+def: InstRW<[BWWriteResGroup47], (instregex "MUL_(FPrST0|FST0r|FrST0)")>;
def BWWriteResGroup49 : SchedWriteRes<[BWPort23]> {
let Latency = 5;
@@ -1600,6 +1599,90 @@ def: InstRW<[BWWriteResGroup202], (instr
def: InstRW<[WriteZero], (instrs CLC)>;
+
+// Intruction variants handled by the renamer. These might not need execution
+// ports in certain conditions.
+// See Agner's Fog "The microarchitecture of Intel, AMD and VIA CPUs",
+// section "Haswell and Broadwell Pipeline" > "Register allocation and
+// renaming".
+// These can be investigated with llvm-exegesis, e.g.
+// echo 'pxor %mm0, %mm0' | /tmp/llvm-exegesis -mode=uops -snippets-file=-
+// echo 'vxorpd %xmm0, %xmm0, %xmm1' | /tmp/llvm-exegesis -mode=uops -snippets-file=-
+
+def BWWriteZeroLatency : SchedWriteRes<[]> {
+ let Latency = 0;
+}
+
+def BWWriteZeroIdiom : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [BWWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteALU]>
+]>;
+def : InstRW<[BWWriteZeroIdiom], (instrs SUB32rr, SUB64rr,
+ XOR32rr, XOR64rr)>;
+
+def BWWriteFZeroIdiom : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [BWWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteFLogic]>
+]>;
+def : InstRW<[BWWriteFZeroIdiom], (instrs XORPSrr, VXORPSrr, XORPDrr,
+ VXORPDrr)>;
+
+def BWWriteFZeroIdiomY : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [BWWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteFLogicY]>
+]>;
+def : InstRW<[BWWriteFZeroIdiomY], (instrs VXORPSYrr, VXORPDYrr)>;
+
+def BWWriteVZeroIdiomLogicX : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [BWWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteVecLogicX]>
+]>;
+def : InstRW<[BWWriteVZeroIdiomLogicX], (instrs PXORrr, VPXORrr)>;
+
+def BWWriteVZeroIdiomLogicY : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [BWWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteVecLogicY]>
+]>;
+def : InstRW<[BWWriteVZeroIdiomLogicY], (instrs VPXORYrr)>;
+
+def BWWriteVZeroIdiomALUX : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [BWWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteVecALUX]>
+]>;
+def : InstRW<[BWWriteVZeroIdiomALUX], (instrs PSUBBrr, VPSUBBrr,
+ PSUBDrr, VPSUBDrr,
+ PSUBQrr, VPSUBQrr,
+ PSUBWrr, VPSUBWrr,
+ PCMPGTBrr, VPCMPGTBrr,
+ PCMPGTDrr, VPCMPGTDrr,
+ PCMPGTWrr, VPCMPGTWrr)>;
+
+def BWWriteVZeroIdiomALUY : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [BWWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteVecALUY]>
+]>;
+def : InstRW<[BWWriteVZeroIdiomALUY], (instrs VPSUBBYrr,
+ VPSUBDYrr,
+ VPSUBQYrr,
+ VPSUBWYrr,
+ VPCMPGTBYrr,
+ VPCMPGTDYrr,
+ VPCMPGTWYrr)>;
+
+def BWWritePCMPGTQ : SchedWriteRes<[BWPort0]> {
+ let Latency = 5;
+ let NumMicroOps = 1;
+ let ResourceCycles = [1];
+}
+
+def BWWriteVZeroIdiomPCMPGTQ : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [BWWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [BWWritePCMPGTQ]>
+]>;
+def : InstRW<[BWWriteVZeroIdiomPCMPGTQ], (instrs PCMPGTQrr, VPCMPGTQrr,
+ VPCMPGTQYrr)>;
+
+
// CMOVs that use both Z and C flag require an extra uop.
def BWWriteCMOVA_CMOVBErr : SchedWriteRes<[BWPort06,BWPort0156]> {
let Latency = 2;
Modified: llvm/trunk/lib/Target/X86/X86SchedHaswell.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedHaswell.td?rev=361690&r1=361689&r2=361690&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedHaswell.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedHaswell.td Fri May 24 21:47:49 2019
@@ -1448,8 +1448,7 @@ def HWWriteResGroup89 : SchedWriteRes<[H
let NumMicroOps = 1;
let ResourceCycles = [1];
}
-def: InstRW<[HWWriteResGroup89], (instregex "(V?)PCMPGTQ(Y?)rr",
- "MUL_(FPrST0|FST0r|FrST0)")>;
+def: InstRW<[HWWriteResGroup89], (instregex "MUL_(FPrST0|FST0r|FrST0)")>;
def HWWriteResGroup91_2 : SchedWriteRes<[HWPort0,HWPort23]> {
let Latency = 11;
@@ -1853,6 +1852,90 @@ def: InstRW<[HWWriteResGroup192], (instr
def: InstRW<[WriteZero], (instrs CLC)>;
+
+// Intruction variants handled by the renamer. These might not need execution
+// ports in certain conditions.
+// See Agner's Fog "The microarchitecture of Intel, AMD and VIA CPUs",
+// section "Haswell and Broadwell Pipeline" > "Register allocation and
+// renaming".
+// These can be investigated with llvm-exegesis, e.g.
+// echo 'pxor %mm0, %mm0' | /tmp/llvm-exegesis -mode=uops -snippets-file=-
+// echo 'vxorpd %xmm0, %xmm0, %xmm1' | /tmp/llvm-exegesis -mode=uops -snippets-file=-
+
+def HWWriteZeroLatency : SchedWriteRes<[]> {
+ let Latency = 0;
+}
+
+def HWWriteZeroIdiom : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [HWWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteALU]>
+]>;
+def : InstRW<[HWWriteZeroIdiom], (instrs SUB32rr, SUB64rr,
+ XOR32rr, XOR64rr)>;
+
+def HWWriteFZeroIdiom : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [HWWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteFLogic]>
+]>;
+def : InstRW<[HWWriteFZeroIdiom], (instrs XORPSrr, VXORPSrr, XORPDrr,
+ VXORPDrr)>;
+
+def HWWriteFZeroIdiomY : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [HWWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteFLogicY]>
+]>;
+def : InstRW<[HWWriteFZeroIdiomY], (instrs VXORPSYrr, VXORPDYrr)>;
+
+def HWWriteVZeroIdiomLogicX : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [HWWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteVecLogicX]>
+]>;
+def : InstRW<[HWWriteVZeroIdiomLogicX], (instrs PXORrr, VPXORrr)>;
+
+def HWWriteVZeroIdiomLogicY : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [HWWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteVecLogicY]>
+]>;
+def : InstRW<[HWWriteVZeroIdiomLogicY], (instrs VPXORYrr)>;
+
+def HWWriteVZeroIdiomALUX : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [HWWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteVecALUX]>
+]>;
+def : InstRW<[HWWriteVZeroIdiomALUX], (instrs PSUBBrr, VPSUBBrr,
+ PSUBDrr, VPSUBDrr,
+ PSUBQrr, VPSUBQrr,
+ PSUBWrr, VPSUBWrr,
+ PCMPGTBrr, VPCMPGTBrr,
+ PCMPGTDrr, VPCMPGTDrr,
+ PCMPGTWrr, VPCMPGTWrr)>;
+
+def HWWriteVZeroIdiomALUY : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [HWWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteVecALUY]>
+]>;
+def : InstRW<[HWWriteVZeroIdiomALUY], (instrs VPSUBBYrr,
+ VPSUBDYrr,
+ VPSUBQYrr,
+ VPSUBWYrr,
+ VPCMPGTBYrr,
+ VPCMPGTDYrr,
+ VPCMPGTWYrr)>;
+
+def HWWritePCMPGTQ : SchedWriteRes<[HWPort0]> {
+ let Latency = 5;
+ let NumMicroOps = 1;
+ let ResourceCycles = [1];
+}
+
+def HWWriteVZeroIdiomPCMPGTQ : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [HWWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [HWWritePCMPGTQ]>
+]>;
+def : InstRW<[HWWriteVZeroIdiomPCMPGTQ], (instrs PCMPGTQrr, VPCMPGTQrr,
+ VPCMPGTQYrr)>;
+
+
// The 0x83 ADC/SBB opcodes have special support for immediate 0 to only require
// a single uop. It does not apply to the GR8 encoding. And only applies to the
// 8-bit immediate since using larger immediate for 0 would be silly.
Modified: llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td?rev=361690&r1=361689&r2=361690&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td Fri May 24 21:47:49 2019
@@ -698,12 +698,6 @@ def SBWriteResGroup29_2 : SchedWriteRes<
}
def: InstRW<[SBWriteResGroup29_2], (instrs PAUSE)>;
-def SBWriteResGroup30 : SchedWriteRes<[SBPort0]> {
- let Latency = 5;
- let NumMicroOps = 1;
- let ResourceCycles = [1];
-}
-
def SBWriteResGroup31 : SchedWriteRes<[SBPort23]> {
let Latency = 5;
let NumMicroOps = 1;
@@ -1134,6 +1128,12 @@ def SBWriteFZeroIdiom : SchedWriteVarian
def : InstRW<[SBWriteFZeroIdiom], (instrs XORPSrr, VXORPSrr, XORPDrr,
VXORPDrr)>;
+def SBWriteFZeroIdiomY : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SBWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteFLogicY]>
+]>;
+def : InstRW<[SBWriteFZeroIdiomY], (instrs VXORPSYrr, VXORPDYrr)>;
+
def SBWriteVZeroIdiomLogicX : SchedWriteVariant<[
SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SBWriteZeroLatency]>,
SchedVar<NoSchedPred, [WriteVecLogicX]>
@@ -1152,9 +1152,15 @@ def : InstRW<[SBWriteVZeroIdiomALUX], (i
PCMPGTDrr, VPCMPGTDrr,
PCMPGTWrr, VPCMPGTWrr)>;
+def SBWritePCMPGTQ : SchedWriteRes<[SBPort0]> {
+ let Latency = 5;
+ let NumMicroOps = 1;
+ let ResourceCycles = [1];
+}
+
def SBWriteVZeroIdiomPCMPGTQ : SchedWriteVariant<[
SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SBWriteZeroLatency]>,
- SchedVar<NoSchedPred, [SBWriteResGroup30]>
+ SchedVar<NoSchedPred, [SBWritePCMPGTQ]>
]>;
def : InstRW<[SBWriteVZeroIdiomPCMPGTQ], (instrs PCMPGTQrr, VPCMPGTQrr)>;
Modified: llvm/trunk/lib/Target/X86/X86SchedSkylakeClient.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedSkylakeClient.td?rev=361690&r1=361689&r2=361690&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedSkylakeClient.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedSkylakeClient.td Fri May 24 21:47:49 2019
@@ -659,8 +659,7 @@ def SKLWriteResGroup9 : SchedWriteRes<[S
let ResourceCycles = [1];
}
def: InstRW<[SKLWriteResGroup9], (instregex "(V?)PADD(B|D|Q|W)(Y?)rr",
- "VPBLENDD(Y?)rri",
- "(V?)PSUB(B|D|Q|W)(Y?)rr")>;
+ "VPBLENDD(Y?)rri")>;
def SKLWriteResGroup10 : SchedWriteRes<[SKLPort0156]> {
let Latency = 1;
@@ -770,8 +769,7 @@ def SKLWriteResGroup30 : SchedWriteRes<[
let ResourceCycles = [1];
}
def: InstRW<[SKLWriteResGroup30], (instregex "(ADD|SUB|SUBR)_(FPrST0|FST0r|FrST0)",
- "VPBROADCAST(B|W)rr",
- "(V?)PCMPGTQ(Y?)rr")>;
+ "VPBROADCAST(B|W)rr")>;
def SKLWriteResGroup32 : SchedWriteRes<[SKLPort0,SKLPort0156]> {
let Latency = 3;
@@ -1742,6 +1740,100 @@ def: InstRW<[SKLWriteResGroup223], (inst
def: InstRW<[WriteZero], (instrs CLC)>;
+
+// Intruction variants handled by the renamer. These might not need execution
+// ports in certain conditions.
+// See Agner's Fog "The microarchitecture of Intel, AMD and VIA CPUs",
+// section "Skylake Pipeline" > "Register allocation and renaming".
+// These can be investigated with llvm-exegesis, e.g.
+// echo 'pxor %mm0, %mm0' | /tmp/llvm-exegesis -mode=uops -snippets-file=-
+// echo 'vxorpd %xmm0, %xmm0, %xmm1' | /tmp/llvm-exegesis -mode=uops -snippets-file=-
+
+def SKLWriteZeroLatency : SchedWriteRes<[]> {
+ let Latency = 0;
+}
+
+def SKLWriteZeroIdiom : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKLWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteALU]>
+]>;
+def : InstRW<[SKLWriteZeroIdiom], (instrs SUB32rr, SUB64rr,
+ XOR32rr, XOR64rr)>;
+
+def SKLWriteFZeroIdiom : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKLWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteFLogic]>
+]>;
+def : InstRW<[SKLWriteFZeroIdiom], (instrs XORPSrr, VXORPSrr, XORPDrr,
+ VXORPDrr)>;
+
+def SKLWriteFZeroIdiomY : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKLWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteFLogicY]>
+]>;
+def : InstRW<[SKLWriteFZeroIdiomY], (instrs VXORPSYrr, VXORPDYrr)>;
+
+def SKLWriteVZeroIdiomLogicX : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKLWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteVecLogicX]>
+]>;
+def : InstRW<[SKLWriteVZeroIdiomLogicX], (instrs PXORrr, VPXORrr)>;
+
+def SKLWriteVZeroIdiomLogicY : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKLWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteVecLogicY]>
+]>;
+def : InstRW<[SKLWriteVZeroIdiomLogicY], (instrs VPXORYrr)>;
+
+def SKLWriteVZeroIdiomALUX : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKLWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteVecALUX]>
+]>;
+def : InstRW<[SKLWriteVZeroIdiomALUX], (instrs PCMPGTBrr, VPCMPGTBrr,
+ PCMPGTDrr, VPCMPGTDrr,
+ PCMPGTWrr, VPCMPGTWrr)>;
+
+def SKLWriteVZeroIdiomALUY : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKLWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteVecALUY]>
+]>;
+def : InstRW<[SKLWriteVZeroIdiomALUY], (instrs VPCMPGTBYrr,
+ VPCMPGTDYrr,
+ VPCMPGTWYrr)>;
+
+def SKLWritePSUB : SchedWriteRes<[SKLPort015]> {
+ let Latency = 1;
+ let NumMicroOps = 1;
+ let ResourceCycles = [1];
+}
+
+def SKLWriteVZeroIdiomPSUB : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKLWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [SKLWritePSUB]>
+]>;
+def : InstRW<[SKLWriteVZeroIdiomPSUB], (instrs PSUBBrr, VPSUBBrr,
+ PSUBDrr, VPSUBDrr,
+ PSUBQrr, VPSUBQrr,
+ PSUBWrr, VPSUBWrr,
+ VPSUBBYrr,
+ VPSUBDYrr,
+ VPSUBQYrr,
+ VPSUBWYrr)>;
+
+def SKLWritePCMPGTQ : SchedWriteRes<[SKLPort5]> {
+ let Latency = 3;
+ let NumMicroOps = 1;
+ let ResourceCycles = [1];
+}
+
+def SKLWriteVZeroIdiomPCMPGTQ : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKLWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [SKLWritePCMPGTQ]>
+]>;
+def : InstRW<[SKLWriteVZeroIdiomPCMPGTQ], (instrs PCMPGTQrr, VPCMPGTQrr,
+ VPCMPGTQYrr)>;
+
+
// CMOVs that use both Z and C flag require an extra uop.
def SKLWriteCMOVA_CMOVBErr : SchedWriteRes<[SKLPort06]> {
let Latency = 2;
Modified: llvm/trunk/lib/Target/X86/X86SchedSkylakeServer.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedSkylakeServer.td?rev=361690&r1=361689&r2=361690&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedSkylakeServer.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedSkylakeServer.td Fri May 24 21:47:49 2019
@@ -680,8 +680,7 @@ def: InstRW<[SKXWriteResGroup9], (instre
"VPBLENDMD(Z128|Z256)rr",
"VPBLENDMQ(Z128|Z256)rr",
"VPBLENDMW(Z128|Z256)rr",
- "VPSUB(B|D|Q|W)(Y|Z|Z128|Z256)rr",
- "(V?)PSUB(B|D|Q|W)rr",
+ "VPSUB(B|D|Q|W)(Y|Z|Z128|Z256)rrk",
"VPTERNLOGD(Z|Z128|Z256)rri",
"VPTERNLOGQ(Z|Z128|Z256)rri")>;
@@ -828,7 +827,6 @@ def: InstRW<[SKXWriteResGroup32], (instr
"VPCMPD(Z|Z128|Z256)rri",
"VPCMPEQ(B|D|Q|W)(Z|Z128|Z256)rr",
"VPCMPGT(B|D|Q|W)(Z|Z128|Z256)rr",
- "(V?)PCMPGTQ(Y?)rr",
"VPCMPQ(Z|Z128|Z256)rri",
"VPCMPU(B|D|Q|W)(Z|Z128|Z256)rri",
"VPCMPW(Z|Z128|Z256)rri",
@@ -2458,6 +2456,121 @@ def: InstRW<[SKXWriteResGroup267], (inst
def: InstRW<[WriteZero], (instrs CLC)>;
+
+// Intruction variants handled by the renamer. These might not need execution
+// ports in certain conditions.
+// See Agner's Fog "The microarchitecture of Intel, AMD and VIA CPUs",
+// section "Skylake Pipeline" > "Register allocation and renaming".
+// These can be investigated with llvm-exegesis, e.g.
+// echo 'pxor %mm0, %mm0' | /tmp/llvm-exegesis -mode=uops -snippets-file=-
+// echo 'vxorpd %xmm0, %xmm0, %xmm1' | /tmp/llvm-exegesis -mode=uops -snippets-file=-
+
+def SKXWriteZeroLatency : SchedWriteRes<[]> {
+ let Latency = 0;
+}
+
+def SKXWriteZeroIdiom : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKXWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteALU]>
+]>;
+def : InstRW<[SKXWriteZeroIdiom], (instrs SUB32rr, SUB64rr,
+ XOR32rr, XOR64rr)>;
+
+def SKXWriteFZeroIdiom : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKXWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteFLogic]>
+]>;
+def : InstRW<[SKXWriteFZeroIdiom], (instrs XORPSrr, VXORPSrr,
+ XORPDrr, VXORPDrr,
+ VXORPSZ128rr,
+ VXORPDZ128rr)>;
+
+def SKXWriteFZeroIdiomY : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKXWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteFLogicY]>
+]>;
+def : InstRW<[SKXWriteFZeroIdiomY], (instrs VXORPSYrr, VXORPDYrr,
+ VXORPSZ256rr, VXORPDZ256rr)>;
+
+def SKXWriteFZeroIdiomZ : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKXWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteFLogicZ]>
+]>;
+def : InstRW<[SKXWriteFZeroIdiomZ], (instrs VXORPSZrr, VXORPDZrr)>;
+
+def SKXWriteVZeroIdiomLogicX : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKXWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteVecLogicX]>
+]>;
+def : InstRW<[SKXWriteVZeroIdiomLogicX], (instrs PXORrr, VPXORrr,
+ VPXORDZ128rr, VPXORQZ128rr)>;
+
+def SKXWriteVZeroIdiomLogicY : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKXWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteVecLogicY]>
+]>;
+def : InstRW<[SKXWriteVZeroIdiomLogicY], (instrs VPXORYrr,
+ VPXORDZ256rr, VPXORQZ256rr)>;
+
+def SKXWriteVZeroIdiomLogicZ : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKXWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteVecLogicZ]>
+]>;
+def : InstRW<[SKXWriteVZeroIdiomLogicZ], (instrs VPXORDZrr, VPXORQZrr)>;
+
+def SKXWriteVZeroIdiomALUX : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKXWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteVecALUX]>
+]>;
+def : InstRW<[SKXWriteVZeroIdiomALUX], (instrs PCMPGTBrr, VPCMPGTBrr,
+ PCMPGTDrr, VPCMPGTDrr,
+ PCMPGTWrr, VPCMPGTWrr)>;
+
+def SKXWriteVZeroIdiomALUY : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKXWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [WriteVecALUY]>
+]>;
+def : InstRW<[SKXWriteVZeroIdiomALUY], (instrs VPCMPGTBYrr,
+ VPCMPGTDYrr,
+ VPCMPGTWYrr)>;
+
+def SKXWritePSUB : SchedWriteRes<[SKXPort015]> {
+ let Latency = 1;
+ let NumMicroOps = 1;
+ let ResourceCycles = [1];
+}
+
+def SKXWriteVZeroIdiomPSUB : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKXWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [SKXWritePSUB]>
+]>;
+
+def : InstRW<[SKXWriteVZeroIdiomPSUB], (instrs PSUBBrr, VPSUBBrr, VPSUBBZ128rr,
+ PSUBDrr, VPSUBDrr, VPSUBDZ128rr,
+ PSUBQrr, VPSUBQrr, VPSUBQZ128rr,
+ PSUBWrr, VPSUBWrr, VPSUBWZ128rr,
+ VPSUBBYrr, VPSUBBZ256rr,
+ VPSUBDYrr, VPSUBDZ256rr,
+ VPSUBQYrr, VPSUBQZ256rr,
+ VPSUBWYrr, VPSUBWZ256rr,
+ VPSUBBZrr,
+ VPSUBDZrr,
+ VPSUBQZrr,
+ VPSUBWZrr)>;
+def SKXWritePCMPGTQ : SchedWriteRes<[SKXPort5]> {
+ let Latency = 3;
+ let NumMicroOps = 1;
+ let ResourceCycles = [1];
+}
+
+def SKXWriteVZeroIdiomPCMPGTQ : SchedWriteVariant<[
+ SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [SKXWriteZeroLatency]>,
+ SchedVar<NoSchedPred, [SKXWritePCMPGTQ]>
+]>;
+def : InstRW<[SKXWriteVZeroIdiomPCMPGTQ], (instrs PCMPGTQrr, VPCMPGTQrr,
+ VPCMPGTQYrr)>;
+
+
// CMOVs that use both Z and C flag require an extra uop.
def SKXWriteCMOVA_CMOVBErr : SchedWriteRes<[SKXPort06]> {
let Latency = 2;
Modified: llvm/trunk/test/tools/llvm-mca/X86/Broadwell/zero-idioms.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Broadwell/zero-idioms.s?rev=361690&r1=361689&r2=361690&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Broadwell/zero-idioms.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Broadwell/zero-idioms.s Fri May 24 21:47:49 2019
@@ -95,13 +95,13 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK: Iterations: 1
# CHECK-NEXT: Instructions: 75
-# CHECK-NEXT: Total Cycles: 41
+# CHECK-NEXT: Total Cycles: 23
# CHECK-NEXT: Total uOps: 75
# CHECK: Dispatch Width: 4
-# CHECK-NEXT: uOps Per Cycle: 1.83
-# CHECK-NEXT: IPC: 1.83
-# CHECK-NEXT: Block RThroughput: 20.0
+# CHECK-NEXT: uOps Per Cycle: 3.26
+# CHECK-NEXT: IPC: 3.26
+# CHECK-NEXT: Block RThroughput: 18.8
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@@ -112,49 +112,49 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 1 0.25 subl %eax, %eax
-# CHECK-NEXT: 1 1 0.25 subq %rax, %rax
-# CHECK-NEXT: 1 1 0.25 xorl %eax, %eax
-# CHECK-NEXT: 1 1 0.25 xorq %rax, %rax
+# CHECK-NEXT: 1 0 0.25 subl %eax, %eax
+# CHECK-NEXT: 1 0 0.25 subq %rax, %rax
+# CHECK-NEXT: 1 0 0.25 xorl %eax, %eax
+# CHECK-NEXT: 1 0 0.25 xorq %rax, %rax
# CHECK-NEXT: 1 1 0.50 pcmpgtb %mm2, %mm2
# CHECK-NEXT: 1 1 0.50 pcmpgtd %mm2, %mm2
# CHECK-NEXT: 1 1 0.50 pcmpgtw %mm2, %mm2
-# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm2, %xmm2
-# CHECK-NEXT: 1 5 1.00 pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 5 1.00 vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 5 1.00 vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.25 pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 pcmpgtq %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.25 vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.25 vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.25 vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.25 vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.25 vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.25 vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.25 vpcmpgtw %xmm3, %xmm3, %xmm5
# CHECK-NEXT: 1 1 0.50 psubb %mm2, %mm2
# CHECK-NEXT: 1 1 0.50 psubd %mm2, %mm2
# CHECK-NEXT: 1 1 0.50 psubq %mm2, %mm2
# CHECK-NEXT: 1 1 0.50 psubw %mm2, %mm2
-# CHECK-NEXT: 1 1 0.50 psubb %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 psubd %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 psubq %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 psubw %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.50 vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.50 vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.50 vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.50 vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.50 vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.50 vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.50 vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.50 vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.50 vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.50 vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.50 vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.25 psubb %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 psubd %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 psubq %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 psubw %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.25 vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.25 vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.25 vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.25 vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.25 vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.25 vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.25 vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.25 vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.25 vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.25 vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.25 vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.25 vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.25 vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.25 vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.25 vpsubw %ymm3, %ymm3, %ymm5
# CHECK-NEXT: 1 1 1.00 andnps %xmm0, %xmm0
# CHECK-NEXT: 1 1 1.00 andnpd %xmm1, %xmm1
# CHECK-NEXT: 1 1 1.00 vandnps %xmm2, %xmm2, %xmm2
@@ -171,26 +171,26 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK-NEXT: 1 1 1.00 vandnps %ymm2, %ymm2, %ymm5
# CHECK-NEXT: 1 1 1.00 vandnpd %ymm1, %ymm1, %ymm5
# CHECK-NEXT: 1 1 0.33 vpandn %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 1.00 xorps %xmm0, %xmm0
-# CHECK-NEXT: 1 1 1.00 xorpd %xmm1, %xmm1
-# CHECK-NEXT: 1 1 1.00 vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: 1 1 1.00 vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: 1 1 1.00 vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: 1 1 1.00 vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 1 0 0.25 xorps %xmm0, %xmm0
+# CHECK-NEXT: 1 0 0.25 xorpd %xmm1, %xmm1
+# CHECK-NEXT: 1 0 0.25 vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: 1 0 0.25 vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: 1 0 0.25 vxorpd %ymm1, %ymm1, %ymm1
# CHECK-NEXT: 1 1 0.33 pxor %mm2, %mm2
-# CHECK-NEXT: 1 1 0.33 pxor %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.33 vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.33 vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 1.00 vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: 1 1 1.00 vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: 1 1 1.00 vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: 1 1 1.00 vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: 1 1 0.33 vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.33 vpxor %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.25 pxor %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.25 vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.25 vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: 1 0 0.25 vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: 1 0 0.25 vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: 1 0 0.25 vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: 1 0 0.25 vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.25 vpxor %ymm3, %ymm3, %ymm5
# CHECK: Register File statistics:
# CHECK-NEXT: Total number of mappings created: 79
-# CHECK-NEXT: Max number of mappings used: 58
+# CHECK-NEXT: Max number of mappings used: 24
# CHECK: Resources:
# CHECK-NEXT: [0] - BWDivider
@@ -206,53 +206,53 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 14.00 24.00 - - - 35.00 2.00 -
+# CHECK-NEXT: - - 4.00 6.00 - - - 14.00 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
-# CHECK-NEXT: - - - - - - - - 1.00 - subl %eax, %eax
-# CHECK-NEXT: - - - - - - - 1.00 - - subq %rax, %rax
-# CHECK-NEXT: - - 1.00 - - - - - - - xorl %eax, %eax
-# CHECK-NEXT: - - - - - - - - 1.00 - xorq %rax, %rax
-# CHECK-NEXT: - - - 1.00 - - - - - - pcmpgtb %mm2, %mm2
-# CHECK-NEXT: - - - - - - - 1.00 - - pcmpgtd %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - subl %eax, %eax
+# CHECK-NEXT: - - - - - - - - - - subq %rax, %rax
+# CHECK-NEXT: - - - - - - - - - - xorl %eax, %eax
+# CHECK-NEXT: - - - - - - - - - - xorq %rax, %rax
+# CHECK-NEXT: - - - - - - - 1.00 - - pcmpgtb %mm2, %mm2
+# CHECK-NEXT: - - - 1.00 - - - - - - pcmpgtd %mm2, %mm2
# CHECK-NEXT: - - - - - - - 1.00 - - pcmpgtw %mm2, %mm2
-# CHECK-NEXT: - - - 1.00 - - - - - - pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - pcmpgtd %xmm2, %xmm2
-# CHECK-NEXT: - - 1.00 - - - - - - - pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - pcmpgtq %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm5
# CHECK-NEXT: - - - 1.00 - - - - - - psubb %mm2, %mm2
-# CHECK-NEXT: - - - 1.00 - - - - - - psubd %mm2, %mm2
-# CHECK-NEXT: - - - - - - - 1.00 - - psubq %mm2, %mm2
-# CHECK-NEXT: - - - 1.00 - - - - - - psubw %mm2, %mm2
-# CHECK-NEXT: - - - 1.00 - - - - - - psubb %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - psubd %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - psubq %xmm2, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - psubw %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - 1.00 - - psubd %mm2, %mm2
+# CHECK-NEXT: - - - 1.00 - - - - - - psubq %mm2, %mm2
+# CHECK-NEXT: - - - - - - - 1.00 - - psubw %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - psubb %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - psubd %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - psubq %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - psubw %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpsubw %ymm3, %ymm3, %ymm5
# CHECK-NEXT: - - - - - - - 1.00 - - andnps %xmm0, %xmm0
# CHECK-NEXT: - - - - - - - 1.00 - - andnpd %xmm1, %xmm1
# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %xmm2, %xmm2, %xmm2
@@ -260,111 +260,111 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %ymm2, %ymm2, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %ymm1, %ymm1, %ymm1
# CHECK-NEXT: - - 1.00 - - - - - - - pandn %mm2, %mm2
-# CHECK-NEXT: - - 1.00 - - - - - - - pandn %xmm2, %xmm2
-# CHECK-NEXT: - - 1.00 - - - - - - - vpandn %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - 1.00 - - - - - - pandn %xmm2, %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - - - vpandn %xmm3, %xmm3, %xmm3
# CHECK-NEXT: - - 1.00 - - - - - - - vpandn %ymm3, %ymm3, %ymm3
# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %xmm2, %xmm2, %xmm5
# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %xmm1, %xmm1, %xmm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpandn %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - 1.00 - - - - - - vpandn %xmm3, %xmm3, %xmm5
# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %ymm2, %ymm2, %ymm5
# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %ymm1, %ymm1, %ymm5
# CHECK-NEXT: - - 1.00 - - - - - - - vpandn %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - 1.00 - - xorps %xmm0, %xmm0
-# CHECK-NEXT: - - - - - - - 1.00 - - xorpd %xmm1, %xmm1
-# CHECK-NEXT: - - - - - - - 1.00 - - vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: - - - - - - - 1.00 - - vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: - - - - - - - 1.00 - - vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: - - - - - - - - - - xorps %xmm0, %xmm0
+# CHECK-NEXT: - - - - - - - - - - xorpd %xmm1, %xmm1
+# CHECK-NEXT: - - - - - - - - - - vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: - - - - - - - - - - vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: - - - - - - - - - - vxorpd %ymm1, %ymm1, %ymm1
# CHECK-NEXT: - - 1.00 - - - - - - - pxor %mm2, %mm2
-# CHECK-NEXT: - - 1.00 - - - - - - - pxor %xmm2, %xmm2
-# CHECK-NEXT: - - 1.00 - - - - - - - vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpxor %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - pxor %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpxor %ymm3, %ymm3, %ymm5
# CHECK: Timeline view:
-# CHECK-NEXT: 0123456789 0123456789
-# CHECK-NEXT: Index 0123456789 0123456789 0
+# CHECK-NEXT: 0123456789
+# CHECK-NEXT: Index 0123456789 012
-# CHECK: [0,0] DeER . . . . . . . . subl %eax, %eax
-# CHECK-NEXT: [0,1] D=eER. . . . . . . . subq %rax, %rax
-# CHECK-NEXT: [0,2] D==eER . . . . . . . xorl %eax, %eax
-# CHECK-NEXT: [0,3] D===eER . . . . . . . xorq %rax, %rax
-# CHECK-NEXT: [0,4] .DeE--R . . . . . . . pcmpgtb %mm2, %mm2
-# CHECK-NEXT: [0,5] .D=eE-R . . . . . . . pcmpgtd %mm2, %mm2
-# CHECK-NEXT: [0,6] .D==eER . . . . . . . pcmpgtw %mm2, %mm2
-# CHECK-NEXT: [0,7] .D=eE-R . . . . . . . pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: [0,8] . D=eER . . . . . . . pcmpgtd %xmm2, %xmm2
-# CHECK-NEXT: [0,9] . D==eeeeeER . . . . . . pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: [0,10] . D=======eER . . . . . . pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: [0,11] . D==eE-----R . . . . . . vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,12] . D==eE----R . . . . . . vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,13] . D===eeeeeER . . . . . . vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,14] . D========eER. . . . . . vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,15] . D=========eER . . . . . vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,16] . D========eER . . . . . vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,17] . D========eeeeeER. . . . . vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,18] . D=========eE---R. . . . . vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,19] . DeE------------R. . . . . psubb %mm2, %mm2
-# CHECK-NEXT: [0,20] . DeE-----------R. . . . . psubd %mm2, %mm2
-# CHECK-NEXT: [0,21] . D=eE----------R. . . . . psubq %mm2, %mm2
-# CHECK-NEXT: [0,22] . D==eE---------R. . . . . psubw %mm2, %mm2
-# CHECK-NEXT: [0,23] . D=====eE------R. . . . . psubb %xmm2, %xmm2
-# CHECK-NEXT: [0,24] . .D=====eE-----R. . . . . psubd %xmm2, %xmm2
-# CHECK-NEXT: [0,25] . .D=======eE---R. . . . . psubq %xmm2, %xmm2
-# CHECK-NEXT: [0,26] . .D========eE--R. . . . . psubw %xmm2, %xmm2
-# CHECK-NEXT: [0,27] . .D========eE--R. . . . . vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,28] . . D========eE-R. . . . . vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,29] . . D=========eER. . . . . vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,30] . . D==========eER . . . . vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,31] . . D===========eER . . . . vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,32] . . D===========eER . . . . vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,33] . . D============eER . . . . vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,34] . . D=============eER. . . . vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,35] . . D==============eER . . . vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,36] . . D=============eER . . . vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,37] . . D==============eER . . . vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,38] . . D==============eER . . . vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,39] . . D===============eER . . . vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,40] . . D==============eER . . . vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,41] . . D===============eER . . . vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,42] . . D===============eER . . . vpsubw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,43] . . DeE---------------R . . . andnps %xmm0, %xmm0
-# CHECK-NEXT: [0,44] . . .D====eE----------R . . . andnpd %xmm1, %xmm1
-# CHECK-NEXT: [0,45] . . .D=====eE---------R . . . vandnps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: [0,46] . . .D=======eE-------R . . . vandnpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: [0,47] . . .D======eE--------R . . . vandnps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: [0,48] . . . D=======eE------R . . . vandnpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: [0,49] . . . D=eE------------R . . . pandn %mm2, %mm2
-# CHECK-NEXT: [0,50] . . . D======eE-------R . . . pandn %xmm2, %xmm2
-# CHECK-NEXT: [0,51] . . . D==========eE---R . . . vpandn %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,52] . . . D==========eE--R . . . vpandn %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,53] . . . D=======eE-----R . . . vandnps %xmm2, %xmm2, %xmm5
-# CHECK-NEXT: [0,54] . . . D========eE----R . . . vandnpd %xmm1, %xmm1, %xmm5
-# CHECK-NEXT: [0,55] . . . D===========eE-R . . . vpandn %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,56] . . . D============eER. . . vandnps %ymm2, %ymm2, %ymm5
-# CHECK-NEXT: [0,57] . . . D=============eER . . vandnpd %ymm1, %ymm1, %ymm5
-# CHECK-NEXT: [0,58] . . . D===========eE--R . . vpandn %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,59] . . . D===============eER . . xorps %xmm0, %xmm0
-# CHECK-NEXT: [0,60] . . . D=============eE-R . . xorpd %xmm1, %xmm1
-# CHECK-NEXT: [0,61] . . . D===============eER . . vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: [0,62] . . . D================eER. . vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: [0,63] . . . D==================eER . vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: [0,64] . . . .D================eE-R . vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: [0,65] . . . .DeE-----------------R . pxor %mm2, %mm2
-# CHECK-NEXT: [0,66] . . . .D==================eER . pxor %xmm2, %xmm2
-# CHECK-NEXT: [0,67] . . . .D==========eE--------R . vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,68] . . . . D==========eE-------R . vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,69] . . . . D==================eER . vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: [0,70] . . . . D===================eER. vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: [0,71] . . . . D====================eER vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: [0,72] . . . . D================eE---R vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: [0,73] . . . . D=================eE--R vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,74] . . . . D=================eE--R vpxor %ymm3, %ymm3, %ymm5
+# CHECK: [0,0] DR . . . . . subl %eax, %eax
+# CHECK-NEXT: [0,1] DR . . . . . subq %rax, %rax
+# CHECK-NEXT: [0,2] DR . . . . . xorl %eax, %eax
+# CHECK-NEXT: [0,3] DR . . . . . xorq %rax, %rax
+# CHECK-NEXT: [0,4] .DeER. . . . . pcmpgtb %mm2, %mm2
+# CHECK-NEXT: [0,5] .D=eER . . . . pcmpgtd %mm2, %mm2
+# CHECK-NEXT: [0,6] .D==eER . . . . pcmpgtw %mm2, %mm2
+# CHECK-NEXT: [0,7] .D----R . . . . pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: [0,8] . D---R . . . . pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: [0,9] . D---R . . . . pcmpgtq %xmm2, %xmm2
+# CHECK-NEXT: [0,10] . D---R . . . . pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: [0,11] . D---R . . . . vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,12] . D--R . . . . vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,13] . D--R . . . . vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,14] . D--R . . . . vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,15] . D--R . . . . vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,16] . D-R . . . . vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,17] . D-R . . . . vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,18] . D-R . . . . vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,19] . DeER . . . . psubb %mm2, %mm2
+# CHECK-NEXT: [0,20] . DeER . . . . psubd %mm2, %mm2
+# CHECK-NEXT: [0,21] . D=eER. . . . psubq %mm2, %mm2
+# CHECK-NEXT: [0,22] . D==eER . . . psubw %mm2, %mm2
+# CHECK-NEXT: [0,23] . D----R . . . psubb %xmm2, %xmm2
+# CHECK-NEXT: [0,24] . .D---R . . . psubd %xmm2, %xmm2
+# CHECK-NEXT: [0,25] . .D---R . . . psubq %xmm2, %xmm2
+# CHECK-NEXT: [0,26] . .D---R . . . psubw %xmm2, %xmm2
+# CHECK-NEXT: [0,27] . .D---R . . . vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,28] . . D--R . . . vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,29] . . D--R . . . vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,30] . . D--R . . . vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,31] . . D--R . . . vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,32] . . D-R . . . vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,33] . . D-R . . . vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,34] . . D-R . . . vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,35] . . D-R . . . vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,36] . . DR . . . vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,37] . . DR . . . vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,38] . . DR . . . vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,39] . . DR . . . vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,40] . . DR . . . vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,41] . . DR . . . vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,42] . . DR . . . vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,43] . . DeER . . . andnps %xmm0, %xmm0
+# CHECK-NEXT: [0,44] . . .DeER. . . andnpd %xmm1, %xmm1
+# CHECK-NEXT: [0,45] . . .D=eER . . vandnps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: [0,46] . . .D==eER . . vandnpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: [0,47] . . .D===eER . . vandnps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: [0,48] . . . D===eER . . vandnpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: [0,49] . . . DeE---R . . pandn %mm2, %mm2
+# CHECK-NEXT: [0,50] . . . D===eER . . pandn %xmm2, %xmm2
+# CHECK-NEXT: [0,51] . . . DeE---R . . vpandn %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,52] . . . DeE--R . . vpandn %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,53] . . . D===eER. . vandnps %xmm2, %xmm2, %xmm5
+# CHECK-NEXT: [0,54] . . . D====eER . vandnpd %xmm1, %xmm1, %xmm5
+# CHECK-NEXT: [0,55] . . . D=eE---R . vpandn %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,56] . . . D====eER. vandnps %ymm2, %ymm2, %ymm5
+# CHECK-NEXT: [0,57] . . . D=====eER vandnpd %ymm1, %ymm1, %ymm5
+# CHECK-NEXT: [0,58] . . . DeE-----R vpandn %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,59] . . . D-------R xorps %xmm0, %xmm0
+# CHECK-NEXT: [0,60] . . . D=E----R xorpd %xmm1, %xmm1
+# CHECK-NEXT: [0,61] . . . D=E----R vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: [0,62] . . . D=E----R vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: [0,63] . . . D=E----R vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: [0,64] . . . .DE----R vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: [0,65] . . . .DeE---R pxor %mm2, %mm2
+# CHECK-NEXT: [0,66] . . . .DE----R pxor %xmm2, %xmm2
+# CHECK-NEXT: [0,67] . . . .D-----R vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,68] . . . . D----R vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,69] . . . . D----R vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: [0,70] . . . . D----R vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: [0,71] . . . . D----R vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: [0,72] . . . . D---R vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: [0,73] . . . . D---R vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,74] . . . . D---R vpxor %ymm3, %ymm3, %ymm5
# CHECK: Average Wait times (based on the timeline view):
# CHECK-NEXT: [0]: Executions
@@ -373,78 +373,78 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
# CHECK: [0] [1] [2] [3]
-# CHECK-NEXT: 0. 1 1.0 1.0 0.0 subl %eax, %eax
-# CHECK-NEXT: 1. 1 2.0 0.0 0.0 subq %rax, %rax
-# CHECK-NEXT: 2. 1 3.0 0.0 0.0 xorl %eax, %eax
-# CHECK-NEXT: 3. 1 4.0 0.0 0.0 xorq %rax, %rax
-# CHECK-NEXT: 4. 1 1.0 1.0 2.0 pcmpgtb %mm2, %mm2
-# CHECK-NEXT: 5. 1 2.0 0.0 1.0 pcmpgtd %mm2, %mm2
+# CHECK-NEXT: 0. 1 0.0 0.0 0.0 subl %eax, %eax
+# CHECK-NEXT: 1. 1 0.0 0.0 0.0 subq %rax, %rax
+# CHECK-NEXT: 2. 1 0.0 0.0 0.0 xorl %eax, %eax
+# CHECK-NEXT: 3. 1 0.0 0.0 0.0 xorq %rax, %rax
+# CHECK-NEXT: 4. 1 1.0 1.0 0.0 pcmpgtb %mm2, %mm2
+# CHECK-NEXT: 5. 1 2.0 0.0 0.0 pcmpgtd %mm2, %mm2
# CHECK-NEXT: 6. 1 3.0 0.0 0.0 pcmpgtw %mm2, %mm2
-# CHECK-NEXT: 7. 1 2.0 2.0 1.0 pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: 8. 1 2.0 0.0 0.0 pcmpgtd %xmm2, %xmm2
-# CHECK-NEXT: 9. 1 3.0 0.0 0.0 pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: 10. 1 8.0 0.0 0.0 pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: 11. 1 3.0 3.0 5.0 vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 12. 1 3.0 0.0 4.0 vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 13. 1 4.0 0.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 14. 1 9.0 0.0 0.0 vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 15. 1 10.0 0.0 0.0 vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 16. 1 9.0 0.0 0.0 vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 17. 1 9.0 0.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 18. 1 10.0 1.0 3.0 vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 19. 1 1.0 0.0 12.0 psubb %mm2, %mm2
-# CHECK-NEXT: 20. 1 1.0 0.0 11.0 psubd %mm2, %mm2
-# CHECK-NEXT: 21. 1 2.0 0.0 10.0 psubq %mm2, %mm2
-# CHECK-NEXT: 22. 1 3.0 0.0 9.0 psubw %mm2, %mm2
-# CHECK-NEXT: 23. 1 6.0 0.0 6.0 psubb %xmm2, %xmm2
-# CHECK-NEXT: 24. 1 6.0 0.0 5.0 psubd %xmm2, %xmm2
-# CHECK-NEXT: 25. 1 8.0 1.0 3.0 psubq %xmm2, %xmm2
-# CHECK-NEXT: 26. 1 9.0 0.0 2.0 psubw %xmm2, %xmm2
-# CHECK-NEXT: 27. 1 9.0 2.0 2.0 vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 28. 1 9.0 0.0 1.0 vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 29. 1 10.0 0.0 0.0 vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 30. 1 11.0 0.0 0.0 vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 31. 1 12.0 0.0 0.0 vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 32. 1 12.0 0.0 0.0 vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 33. 1 13.0 0.0 0.0 vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 34. 1 14.0 0.0 0.0 vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 35. 1 15.0 0.0 0.0 vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 36. 1 14.0 0.0 0.0 vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 37. 1 15.0 1.0 0.0 vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 38. 1 15.0 1.0 0.0 vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 39. 1 16.0 2.0 0.0 vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 40. 1 15.0 2.0 0.0 vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 41. 1 16.0 3.0 0.0 vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 42. 1 16.0 3.0 0.0 vpsubw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 43. 1 1.0 1.0 15.0 andnps %xmm0, %xmm0
-# CHECK-NEXT: 44. 1 5.0 5.0 10.0 andnpd %xmm1, %xmm1
-# CHECK-NEXT: 45. 1 6.0 1.0 9.0 vandnps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: 46. 1 8.0 2.0 7.0 vandnpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: 47. 1 7.0 0.0 8.0 vandnps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: 48. 1 8.0 0.0 6.0 vandnpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: 49. 1 2.0 2.0 12.0 pandn %mm2, %mm2
-# CHECK-NEXT: 50. 1 7.0 0.0 7.0 pandn %xmm2, %xmm2
-# CHECK-NEXT: 51. 1 11.0 0.0 3.0 vpandn %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 52. 1 11.0 0.0 2.0 vpandn %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 53. 1 8.0 1.0 5.0 vandnps %xmm2, %xmm2, %xmm5
-# CHECK-NEXT: 54. 1 9.0 1.0 4.0 vandnpd %xmm1, %xmm1, %xmm5
-# CHECK-NEXT: 55. 1 12.0 0.0 1.0 vpandn %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 56. 1 13.0 7.0 0.0 vandnps %ymm2, %ymm2, %ymm5
-# CHECK-NEXT: 57. 1 14.0 7.0 0.0 vandnpd %ymm1, %ymm1, %ymm5
-# CHECK-NEXT: 58. 1 12.0 1.0 2.0 vpandn %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 59. 1 16.0 16.0 0.0 xorps %xmm0, %xmm0
-# CHECK-NEXT: 60. 1 14.0 8.0 1.0 xorpd %xmm1, %xmm1
-# CHECK-NEXT: 61. 1 16.0 11.0 0.0 vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: 62. 1 17.0 2.0 0.0 vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: 63. 1 19.0 2.0 0.0 vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: 64. 1 17.0 0.0 1.0 vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: 65. 1 1.0 1.0 17.0 pxor %mm2, %mm2
-# CHECK-NEXT: 66. 1 19.0 0.0 0.0 pxor %xmm2, %xmm2
-# CHECK-NEXT: 67. 1 11.0 2.0 8.0 vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 68. 1 11.0 0.0 7.0 vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 69. 1 19.0 19.0 0.0 vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: 70. 1 20.0 3.0 0.0 vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: 71. 1 21.0 21.0 0.0 vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: 72. 1 17.0 1.0 3.0 vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: 73. 1 18.0 0.0 2.0 vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 74. 1 18.0 0.0 2.0 vpxor %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 7. 1 0.0 0.0 4.0 pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: 8. 1 0.0 0.0 3.0 pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: 9. 1 0.0 0.0 3.0 pcmpgtq %xmm2, %xmm2
+# CHECK-NEXT: 10. 1 0.0 0.0 3.0 pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: 11. 1 0.0 0.0 3.0 vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 12. 1 0.0 0.0 2.0 vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 13. 1 0.0 0.0 2.0 vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 14. 1 0.0 0.0 2.0 vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 15. 1 0.0 0.0 2.0 vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 16. 1 0.0 0.0 1.0 vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 17. 1 0.0 0.0 1.0 vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 18. 1 0.0 0.0 1.0 vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 19. 1 1.0 0.0 0.0 psubb %mm2, %mm2
+# CHECK-NEXT: 20. 1 1.0 0.0 0.0 psubd %mm2, %mm2
+# CHECK-NEXT: 21. 1 2.0 0.0 0.0 psubq %mm2, %mm2
+# CHECK-NEXT: 22. 1 3.0 0.0 0.0 psubw %mm2, %mm2
+# CHECK-NEXT: 23. 1 0.0 0.0 4.0 psubb %xmm2, %xmm2
+# CHECK-NEXT: 24. 1 0.0 0.0 3.0 psubd %xmm2, %xmm2
+# CHECK-NEXT: 25. 1 0.0 0.0 3.0 psubq %xmm2, %xmm2
+# CHECK-NEXT: 26. 1 0.0 0.0 3.0 psubw %xmm2, %xmm2
+# CHECK-NEXT: 27. 1 0.0 0.0 3.0 vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 28. 1 0.0 0.0 2.0 vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 29. 1 0.0 0.0 2.0 vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 30. 1 0.0 0.0 2.0 vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 31. 1 0.0 0.0 2.0 vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 32. 1 0.0 0.0 1.0 vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 33. 1 0.0 0.0 1.0 vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 34. 1 0.0 0.0 1.0 vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 35. 1 0.0 0.0 1.0 vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 36. 1 0.0 0.0 0.0 vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 37. 1 0.0 0.0 0.0 vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 38. 1 0.0 0.0 0.0 vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 39. 1 0.0 0.0 0.0 vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 40. 1 0.0 0.0 0.0 vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 41. 1 0.0 0.0 0.0 vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 42. 1 0.0 0.0 0.0 vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 43. 1 1.0 1.0 0.0 andnps %xmm0, %xmm0
+# CHECK-NEXT: 44. 1 1.0 1.0 0.0 andnpd %xmm1, %xmm1
+# CHECK-NEXT: 45. 1 2.0 2.0 0.0 vandnps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: 46. 1 3.0 1.0 0.0 vandnpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: 47. 1 4.0 1.0 0.0 vandnps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: 48. 1 4.0 1.0 0.0 vandnpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 49. 1 1.0 1.0 3.0 pandn %mm2, %mm2
+# CHECK-NEXT: 50. 1 4.0 0.0 0.0 pandn %xmm2, %xmm2
+# CHECK-NEXT: 51. 1 1.0 1.0 3.0 vpandn %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 52. 1 1.0 0.0 2.0 vpandn %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 53. 1 4.0 0.0 0.0 vandnps %xmm2, %xmm2, %xmm5
+# CHECK-NEXT: 54. 1 5.0 1.0 0.0 vandnpd %xmm1, %xmm1, %xmm5
+# CHECK-NEXT: 55. 1 2.0 0.0 3.0 vpandn %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 56. 1 5.0 2.0 0.0 vandnps %ymm2, %ymm2, %ymm5
+# CHECK-NEXT: 57. 1 6.0 3.0 0.0 vandnpd %ymm1, %ymm1, %ymm5
+# CHECK-NEXT: 58. 1 1.0 0.0 5.0 vpandn %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 59. 1 0.0 0.0 7.0 xorps %xmm0, %xmm0
+# CHECK-NEXT: 60. 1 2.0 0.0 4.0 xorpd %xmm1, %xmm1
+# CHECK-NEXT: 61. 1 2.0 0.0 4.0 vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: 62. 1 2.0 0.0 4.0 vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: 63. 1 2.0 0.0 4.0 vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: 64. 1 1.0 0.0 4.0 vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 65. 1 1.0 1.0 3.0 pxor %mm2, %mm2
+# CHECK-NEXT: 66. 1 1.0 0.0 4.0 pxor %xmm2, %xmm2
+# CHECK-NEXT: 67. 1 0.0 0.0 5.0 vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 68. 1 0.0 0.0 4.0 vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 69. 1 0.0 0.0 4.0 vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: 70. 1 0.0 0.0 4.0 vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: 71. 1 0.0 0.0 4.0 vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: 72. 1 0.0 0.0 3.0 vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: 73. 1 0.0 0.0 3.0 vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 74. 1 0.0 0.0 3.0 vpxor %ymm3, %ymm3, %ymm5
Modified: llvm/trunk/test/tools/llvm-mca/X86/Haswell/zero-idioms.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Haswell/zero-idioms.s?rev=361690&r1=361689&r2=361690&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Haswell/zero-idioms.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Haswell/zero-idioms.s Fri May 24 21:47:49 2019
@@ -105,13 +105,13 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK: Iterations: 1
# CHECK-NEXT: Instructions: 83
-# CHECK-NEXT: Total Cycles: 45
+# CHECK-NEXT: Total Cycles: 25
# CHECK-NEXT: Total uOps: 83
# CHECK: Dispatch Width: 4
-# CHECK-NEXT: uOps Per Cycle: 1.84
-# CHECK-NEXT: IPC: 1.84
-# CHECK-NEXT: Block RThroughput: 21.0
+# CHECK-NEXT: uOps Per Cycle: 3.32
+# CHECK-NEXT: IPC: 3.32
+# CHECK-NEXT: Block RThroughput: 20.8
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@@ -122,57 +122,57 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 1 0.25 subl %eax, %eax
-# CHECK-NEXT: 1 1 0.25 subq %rax, %rax
-# CHECK-NEXT: 1 1 0.25 xorl %eax, %eax
-# CHECK-NEXT: 1 1 0.25 xorq %rax, %rax
+# CHECK-NEXT: 1 0 0.25 subl %eax, %eax
+# CHECK-NEXT: 1 0 0.25 subq %rax, %rax
+# CHECK-NEXT: 1 0 0.25 xorl %eax, %eax
+# CHECK-NEXT: 1 0 0.25 xorq %rax, %rax
# CHECK-NEXT: 1 1 0.50 pcmpgtb %mm2, %mm2
# CHECK-NEXT: 1 1 0.50 pcmpgtd %mm2, %mm2
# CHECK-NEXT: 1 1 0.50 pcmpgtw %mm2, %mm2
-# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm2, %xmm2
-# CHECK-NEXT: 1 5 1.00 pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 5 1.00 vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 5 1.00 vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 5 1.00 vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 5 1.00 vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.25 pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 pcmpgtq %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.25 vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.25 vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.25 vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.25 vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.25 vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.25 vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.25 vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.25 vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.25 vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.25 vpcmpgtq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.25 vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.25 vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.25 vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.25 vpcmpgtq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.25 vpcmpgtw %ymm3, %ymm3, %ymm5
# CHECK-NEXT: 1 1 0.50 psubb %mm2, %mm2
# CHECK-NEXT: 1 1 0.50 psubd %mm2, %mm2
# CHECK-NEXT: 1 1 0.50 psubq %mm2, %mm2
# CHECK-NEXT: 1 1 0.50 psubw %mm2, %mm2
-# CHECK-NEXT: 1 1 0.50 psubb %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 psubd %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 psubq %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 psubw %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.50 vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.50 vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.50 vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.50 vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.50 vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.50 vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.50 vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.50 vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.50 vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.50 vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.50 vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.25 psubb %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 psubd %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 psubq %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 psubw %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.25 vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.25 vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.25 vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.25 vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.25 vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.25 vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.25 vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.25 vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.25 vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.25 vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.25 vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.25 vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.25 vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.25 vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.25 vpsubw %ymm3, %ymm3, %ymm5
# CHECK-NEXT: 1 1 1.00 andnps %xmm0, %xmm0
# CHECK-NEXT: 1 1 1.00 andnpd %xmm1, %xmm1
# CHECK-NEXT: 1 1 1.00 vandnps %xmm2, %xmm2, %xmm2
@@ -189,26 +189,26 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK-NEXT: 1 1 1.00 vandnps %ymm2, %ymm2, %ymm5
# CHECK-NEXT: 1 1 1.00 vandnpd %ymm1, %ymm1, %ymm5
# CHECK-NEXT: 1 1 0.33 vpandn %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 1.00 xorps %xmm0, %xmm0
-# CHECK-NEXT: 1 1 1.00 xorpd %xmm1, %xmm1
-# CHECK-NEXT: 1 1 1.00 vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: 1 1 1.00 vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: 1 1 1.00 vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: 1 1 1.00 vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 1 0 0.25 xorps %xmm0, %xmm0
+# CHECK-NEXT: 1 0 0.25 xorpd %xmm1, %xmm1
+# CHECK-NEXT: 1 0 0.25 vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: 1 0 0.25 vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: 1 0 0.25 vxorpd %ymm1, %ymm1, %ymm1
# CHECK-NEXT: 1 1 0.33 pxor %mm2, %mm2
-# CHECK-NEXT: 1 1 0.33 pxor %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.33 vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.33 vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 1.00 vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: 1 1 1.00 vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: 1 1 1.00 vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: 1 1 1.00 vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: 1 1 0.33 vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.33 vpxor %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.25 pxor %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.25 vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.25 vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.25 vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: 1 0 0.25 vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: 1 0 0.25 vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: 1 0 0.25 vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: 1 0 0.25 vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.25 vpxor %ymm3, %ymm3, %ymm5
# CHECK: Register File statistics:
# CHECK-NEXT: Total number of mappings created: 87
-# CHECK-NEXT: Max number of mappings used: 62
+# CHECK-NEXT: Max number of mappings used: 24
# CHECK: Resources:
# CHECK-NEXT: [0] - HWDivider
@@ -224,61 +224,61 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 15.00 28.00 - - - 38.00 2.00 -
+# CHECK-NEXT: - - 4.00 6.00 - - - 14.00 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
-# CHECK-NEXT: - - - - - - - - 1.00 - subl %eax, %eax
-# CHECK-NEXT: - - - - - - - 1.00 - - subq %rax, %rax
-# CHECK-NEXT: - - 1.00 - - - - - - - xorl %eax, %eax
-# CHECK-NEXT: - - - - - - - - 1.00 - xorq %rax, %rax
-# CHECK-NEXT: - - - 1.00 - - - - - - pcmpgtb %mm2, %mm2
-# CHECK-NEXT: - - - - - - - 1.00 - - pcmpgtd %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - subl %eax, %eax
+# CHECK-NEXT: - - - - - - - - - - subq %rax, %rax
+# CHECK-NEXT: - - - - - - - - - - xorl %eax, %eax
+# CHECK-NEXT: - - - - - - - - - - xorq %rax, %rax
+# CHECK-NEXT: - - - - - - - 1.00 - - pcmpgtb %mm2, %mm2
+# CHECK-NEXT: - - - 1.00 - - - - - - pcmpgtd %mm2, %mm2
# CHECK-NEXT: - - - - - - - 1.00 - - pcmpgtw %mm2, %mm2
-# CHECK-NEXT: - - - 1.00 - - - - - - pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - pcmpgtd %xmm2, %xmm2
-# CHECK-NEXT: - - 1.00 - - - - - - - pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - 1.00 - - psubb %mm2, %mm2
-# CHECK-NEXT: - - - 1.00 - - - - - - psubd %mm2, %mm2
-# CHECK-NEXT: - - - - - - - 1.00 - - psubq %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - pcmpgtq %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - 1.00 - - - - - - psubb %mm2, %mm2
+# CHECK-NEXT: - - - - - - - 1.00 - - psubd %mm2, %mm2
+# CHECK-NEXT: - - - 1.00 - - - - - - psubq %mm2, %mm2
# CHECK-NEXT: - - - - - - - 1.00 - - psubw %mm2, %mm2
-# CHECK-NEXT: - - - 1.00 - - - - - - psubb %xmm2, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - psubd %xmm2, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - psubq %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - psubw %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - psubb %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - psubd %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - psubq %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - psubw %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpsubw %ymm3, %ymm3, %ymm5
# CHECK-NEXT: - - - - - - - 1.00 - - andnps %xmm0, %xmm0
# CHECK-NEXT: - - - - - - - 1.00 - - andnpd %xmm1, %xmm1
# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %xmm2, %xmm2, %xmm2
@@ -286,119 +286,119 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %ymm2, %ymm2, %ymm2
# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %ymm1, %ymm1, %ymm1
# CHECK-NEXT: - - 1.00 - - - - - - - pandn %mm2, %mm2
-# CHECK-NEXT: - - 1.00 - - - - - - - pandn %xmm2, %xmm2
-# CHECK-NEXT: - - 1.00 - - - - - - - vpandn %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - 1.00 - - - - - - pandn %xmm2, %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - - - vpandn %xmm3, %xmm3, %xmm3
# CHECK-NEXT: - - 1.00 - - - - - - - vpandn %ymm3, %ymm3, %ymm3
# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %xmm2, %xmm2, %xmm5
# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %xmm1, %xmm1, %xmm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpandn %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - 1.00 - - - - - - vpandn %xmm3, %xmm3, %xmm5
# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %ymm2, %ymm2, %ymm5
# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %ymm1, %ymm1, %ymm5
# CHECK-NEXT: - - 1.00 - - - - - - - vpandn %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - 1.00 - - xorps %xmm0, %xmm0
-# CHECK-NEXT: - - - - - - - 1.00 - - xorpd %xmm1, %xmm1
-# CHECK-NEXT: - - - - - - - 1.00 - - vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: - - - - - - - 1.00 - - vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: - - - - - - - 1.00 - - vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: - - - 1.00 - - - - - - pxor %mm2, %mm2
-# CHECK-NEXT: - - 1.00 - - - - - - - pxor %xmm2, %xmm2
-# CHECK-NEXT: - - 1.00 - - - - - - - vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpxor %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - xorps %xmm0, %xmm0
+# CHECK-NEXT: - - - - - - - - - - xorpd %xmm1, %xmm1
+# CHECK-NEXT: - - - - - - - - - - vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: - - - - - - - - - - vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: - - - - - - - - - - vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: - - 1.00 - - - - - - - pxor %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - pxor %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpxor %ymm3, %ymm3, %ymm5
# CHECK: Timeline view:
-# CHECK-NEXT: 0123456789 0123456789
-# CHECK-NEXT: Index 0123456789 0123456789 01234
+# CHECK-NEXT: 0123456789
+# CHECK-NEXT: Index 0123456789 01234
-# CHECK: [0,0] DeER . . . . . . . . . subl %eax, %eax
-# CHECK-NEXT: [0,1] D=eER. . . . . . . . . subq %rax, %rax
-# CHECK-NEXT: [0,2] D==eER . . . . . . . . xorl %eax, %eax
-# CHECK-NEXT: [0,3] D===eER . . . . . . . . xorq %rax, %rax
-# CHECK-NEXT: [0,4] .DeE--R . . . . . . . . pcmpgtb %mm2, %mm2
-# CHECK-NEXT: [0,5] .D=eE-R . . . . . . . . pcmpgtd %mm2, %mm2
-# CHECK-NEXT: [0,6] .D==eER . . . . . . . . pcmpgtw %mm2, %mm2
-# CHECK-NEXT: [0,7] .D=eE-R . . . . . . . . pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: [0,8] . D=eER . . . . . . . . pcmpgtd %xmm2, %xmm2
-# CHECK-NEXT: [0,9] . D==eeeeeER . . . . . . . pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: [0,10] . D=======eER . . . . . . . pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: [0,11] . D==eE-----R . . . . . . . vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,12] . D==eE----R . . . . . . . vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,13] . D===eeeeeER . . . . . . . vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,14] . D========eER. . . . . . . vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,15] . D=========eER . . . . . . vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,16] . D========eER . . . . . . vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,17] . D========eeeeeER. . . . . . vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,18] . D=========eE---R. . . . . . vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,19] . D=========eE---R. . . . . . vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,20] . D=========eE--R. . . . . . vpcmpgtd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,21] . D==========eeeeeER . . . . . vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,22] . D===============eER . . . . . vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,23] . D================eER. . . . . vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,24] . .D===============eER. . . . . vpcmpgtd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,25] . .D===============eeeeeER . . . . vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,26] . .D================eE---R . . . . vpcmpgtw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,27] . .DeE-------------------R . . . . psubb %mm2, %mm2
-# CHECK-NEXT: [0,28] . . DeE------------------R . . . . psubd %mm2, %mm2
-# CHECK-NEXT: [0,29] . . D=eE-----------------R . . . . psubq %mm2, %mm2
-# CHECK-NEXT: [0,30] . . D==eE----------------R . . . . psubw %mm2, %mm2
-# CHECK-NEXT: [0,31] . . D===eE---------------R . . . . psubb %xmm2, %xmm2
-# CHECK-NEXT: [0,32] . . D===eE--------------R . . . . psubd %xmm2, %xmm2
-# CHECK-NEXT: [0,33] . . D======eE-----------R . . . . psubq %xmm2, %xmm2
-# CHECK-NEXT: [0,34] . . D=======eE----------R . . . . psubw %xmm2, %xmm2
-# CHECK-NEXT: [0,35] . . D==============eE---R . . . . vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,36] . . D==============eE--R . . . . vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,37] . . D===============eE-R . . . . vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,38] . . D================eER . . . . vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,39] . . D=================eER. . . . vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,40] . . D=================eER . . . vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,41] . . D==================eER . . . vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,42] . . D===================eER . . . vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,43] . . D====================eER . . . vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,44] . . .D===================eER . . . vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,45] . . .D====================eER. . . vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,46] . . .D====================eER. . . vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,47] . . .D=====================eER . . vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,48] . . . D====================eER . . vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,49] . . . D=====================eER . . vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,50] . . . D=====================eER . . vpsubw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,51] . . . D====eE-----------------R . . andnps %xmm0, %xmm0
-# CHECK-NEXT: [0,52] . . . D====eE----------------R . . andnpd %xmm1, %xmm1
-# CHECK-NEXT: [0,53] . . . D=====eE---------------R . . vandnps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: [0,54] . . . D=======eE-------------R . . vandnpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: [0,55] . . . D======eE--------------R . . vandnps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: [0,56] . . . D=========eE----------R . . vandnpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: [0,57] . . . DeE-------------------R . . pandn %mm2, %mm2
-# CHECK-NEXT: [0,58] . . . D======eE-------------R . . pandn %xmm2, %xmm2
-# CHECK-NEXT: [0,59] . . . D================eE---R . . vpandn %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,60] . . . D================eE--R . . vpandn %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,61] . . . D=========eE---------R . . vandnps %xmm2, %xmm2, %xmm5
-# CHECK-NEXT: [0,62] . . . D==========eE--------R . . vandnpd %xmm1, %xmm1, %xmm5
-# CHECK-NEXT: [0,63] . . . D=================eE-R . . vpandn %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,64] . . . .D==========eE-------R . . vandnps %ymm2, %ymm2, %ymm5
-# CHECK-NEXT: [0,65] . . . .D===========eE------R . . vandnpd %ymm1, %ymm1, %ymm5
-# CHECK-NEXT: [0,66] . . . .D=================eER . . vpandn %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,67] . . . .D=============eE----R . . xorps %xmm0, %xmm0
-# CHECK-NEXT: [0,68] . . . . D===========eE-----R . . xorpd %xmm1, %xmm1
-# CHECK-NEXT: [0,69] . . . . D=================eER . . vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: [0,70] . . . . D==================eER . . vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: [0,71] . . . . D====================eER . vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: [0,72] . . . . D==================eE-R . vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: [0,73] . . . . DeE-------------------R . pxor %mm2, %mm2
-# CHECK-NEXT: [0,74] . . . . D====================eER . pxor %xmm2, %xmm2
-# CHECK-NEXT: [0,75] . . . . D================eE----R . vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,76] . . . . D================eE---R . vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,77] . . . . D====================eER . vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: [0,78] . . . . D=====================eER. vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: [0,79] . . . . D======================eER vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: [0,80] . . . . D==================eE---R vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: [0,81] . . . . D===================eE--R vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,82] . . . . D===================eE--R vpxor %ymm3, %ymm3, %ymm5
+# CHECK: [0,0] DR . . . . . subl %eax, %eax
+# CHECK-NEXT: [0,1] DR . . . . . subq %rax, %rax
+# CHECK-NEXT: [0,2] DR . . . . . xorl %eax, %eax
+# CHECK-NEXT: [0,3] DR . . . . . xorq %rax, %rax
+# CHECK-NEXT: [0,4] .DeER. . . . . pcmpgtb %mm2, %mm2
+# CHECK-NEXT: [0,5] .D=eER . . . . pcmpgtd %mm2, %mm2
+# CHECK-NEXT: [0,6] .D==eER . . . . pcmpgtw %mm2, %mm2
+# CHECK-NEXT: [0,7] .D----R . . . . pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: [0,8] . D---R . . . . pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: [0,9] . D---R . . . . pcmpgtq %xmm2, %xmm2
+# CHECK-NEXT: [0,10] . D---R . . . . pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: [0,11] . D---R . . . . vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,12] . D--R . . . . vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,13] . D--R . . . . vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,14] . D--R . . . . vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,15] . D--R . . . . vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,16] . D-R . . . . vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,17] . D-R . . . . vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,18] . D-R . . . . vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,19] . D-R . . . . vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,20] . DR . . . . vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,21] . DR . . . . vpcmpgtq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,22] . DR . . . . vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,23] . DR . . . . vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,24] . .DR . . . . vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,25] . .DR . . . . vpcmpgtq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,26] . .DR . . . . vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,27] . .DeER. . . . psubb %mm2, %mm2
+# CHECK-NEXT: [0,28] . . DeER . . . psubd %mm2, %mm2
+# CHECK-NEXT: [0,29] . . D=eER . . . psubq %mm2, %mm2
+# CHECK-NEXT: [0,30] . . D==eER . . . psubw %mm2, %mm2
+# CHECK-NEXT: [0,31] . . D----R . . . psubb %xmm2, %xmm2
+# CHECK-NEXT: [0,32] . . D---R . . . psubd %xmm2, %xmm2
+# CHECK-NEXT: [0,33] . . D---R . . . psubq %xmm2, %xmm2
+# CHECK-NEXT: [0,34] . . D---R . . . psubw %xmm2, %xmm2
+# CHECK-NEXT: [0,35] . . D---R . . . vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,36] . . D--R . . . vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,37] . . D--R . . . vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,38] . . D--R . . . vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,39] . . D--R . . . vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,40] . . D-R . . . vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,41] . . D-R . . . vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,42] . . D-R . . . vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,43] . . D-R . . . vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,44] . . .DR . . . vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,45] . . .DR . . . vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,46] . . .DR . . . vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,47] . . .DR . . . vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,48] . . . DR . . . vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,49] . . . DR . . . vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,50] . . . DR . . . vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,51] . . . DeER . . andnps %xmm0, %xmm0
+# CHECK-NEXT: [0,52] . . . DeER . . andnpd %xmm1, %xmm1
+# CHECK-NEXT: [0,53] . . . D=eER . . vandnps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: [0,54] . . . D==eER . . vandnpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: [0,55] . . . D===eER. . vandnps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: [0,56] . . . D===eER . vandnpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: [0,57] . . . DeE---R . pandn %mm2, %mm2
+# CHECK-NEXT: [0,58] . . . D===eER . pandn %xmm2, %xmm2
+# CHECK-NEXT: [0,59] . . . DeE---R . vpandn %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,60] . . . DeE--R . vpandn %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,61] . . . D===eER . vandnps %xmm2, %xmm2, %xmm5
+# CHECK-NEXT: [0,62] . . . D====eER . vandnpd %xmm1, %xmm1, %xmm5
+# CHECK-NEXT: [0,63] . . . D=eE---R . vpandn %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,64] . . . .D====eER. vandnps %ymm2, %ymm2, %ymm5
+# CHECK-NEXT: [0,65] . . . .D=====eER vandnpd %ymm1, %ymm1, %ymm5
+# CHECK-NEXT: [0,66] . . . .DeE-----R vpandn %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,67] . . . .D-------R xorps %xmm0, %xmm0
+# CHECK-NEXT: [0,68] . . . . D=E----R xorpd %xmm1, %xmm1
+# CHECK-NEXT: [0,69] . . . . D=E----R vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: [0,70] . . . . D=E----R vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: [0,71] . . . . D=E----R vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: [0,72] . . . . DE----R vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: [0,73] . . . . DeE---R pxor %mm2, %mm2
+# CHECK-NEXT: [0,74] . . . . DE----R pxor %xmm2, %xmm2
+# CHECK-NEXT: [0,75] . . . . D-----R vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,76] . . . . D----R vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,77] . . . . D----R vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: [0,78] . . . . D----R vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: [0,79] . . . . D----R vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: [0,80] . . . . D---R vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: [0,81] . . . . D---R vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,82] . . . . D---R vpxor %ymm3, %ymm3, %ymm5
# CHECK: Average Wait times (based on the timeline view):
# CHECK-NEXT: [0]: Executions
@@ -407,86 +407,86 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
# CHECK: [0] [1] [2] [3]
-# CHECK-NEXT: 0. 1 1.0 1.0 0.0 subl %eax, %eax
-# CHECK-NEXT: 1. 1 2.0 0.0 0.0 subq %rax, %rax
-# CHECK-NEXT: 2. 1 3.0 0.0 0.0 xorl %eax, %eax
-# CHECK-NEXT: 3. 1 4.0 0.0 0.0 xorq %rax, %rax
-# CHECK-NEXT: 4. 1 1.0 1.0 2.0 pcmpgtb %mm2, %mm2
-# CHECK-NEXT: 5. 1 2.0 0.0 1.0 pcmpgtd %mm2, %mm2
+# CHECK-NEXT: 0. 1 0.0 0.0 0.0 subl %eax, %eax
+# CHECK-NEXT: 1. 1 0.0 0.0 0.0 subq %rax, %rax
+# CHECK-NEXT: 2. 1 0.0 0.0 0.0 xorl %eax, %eax
+# CHECK-NEXT: 3. 1 0.0 0.0 0.0 xorq %rax, %rax
+# CHECK-NEXT: 4. 1 1.0 1.0 0.0 pcmpgtb %mm2, %mm2
+# CHECK-NEXT: 5. 1 2.0 0.0 0.0 pcmpgtd %mm2, %mm2
# CHECK-NEXT: 6. 1 3.0 0.0 0.0 pcmpgtw %mm2, %mm2
-# CHECK-NEXT: 7. 1 2.0 2.0 1.0 pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: 8. 1 2.0 0.0 0.0 pcmpgtd %xmm2, %xmm2
-# CHECK-NEXT: 9. 1 3.0 0.0 0.0 pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: 10. 1 8.0 0.0 0.0 pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: 11. 1 3.0 3.0 5.0 vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 12. 1 3.0 0.0 4.0 vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 13. 1 4.0 0.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 14. 1 9.0 0.0 0.0 vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 15. 1 10.0 0.0 0.0 vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 16. 1 9.0 0.0 0.0 vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 17. 1 9.0 0.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 18. 1 10.0 1.0 3.0 vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 19. 1 10.0 1.0 3.0 vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 20. 1 10.0 0.0 2.0 vpcmpgtd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 21. 1 11.0 0.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 22. 1 16.0 0.0 0.0 vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 23. 1 17.0 0.0 0.0 vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 24. 1 16.0 0.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 25. 1 16.0 0.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 26. 1 17.0 1.0 3.0 vpcmpgtw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 27. 1 1.0 1.0 19.0 psubb %mm2, %mm2
-# CHECK-NEXT: 28. 1 1.0 0.0 18.0 psubd %mm2, %mm2
-# CHECK-NEXT: 29. 1 2.0 0.0 17.0 psubq %mm2, %mm2
-# CHECK-NEXT: 30. 1 3.0 0.0 16.0 psubw %mm2, %mm2
-# CHECK-NEXT: 31. 1 4.0 0.0 15.0 psubb %xmm2, %xmm2
-# CHECK-NEXT: 32. 1 4.0 0.0 14.0 psubd %xmm2, %xmm2
-# CHECK-NEXT: 33. 1 7.0 2.0 11.0 psubq %xmm2, %xmm2
-# CHECK-NEXT: 34. 1 8.0 0.0 10.0 psubw %xmm2, %xmm2
-# CHECK-NEXT: 35. 1 15.0 1.0 3.0 vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 36. 1 15.0 0.0 2.0 vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 37. 1 16.0 0.0 1.0 vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 38. 1 17.0 0.0 0.0 vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 39. 1 18.0 0.0 0.0 vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 40. 1 18.0 0.0 0.0 vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 41. 1 19.0 0.0 0.0 vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 42. 1 20.0 0.0 0.0 vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 43. 1 21.0 0.0 0.0 vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 44. 1 20.0 0.0 0.0 vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 45. 1 21.0 1.0 0.0 vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 46. 1 21.0 1.0 0.0 vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 47. 1 22.0 2.0 0.0 vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 48. 1 21.0 2.0 0.0 vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 49. 1 22.0 3.0 0.0 vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 50. 1 22.0 3.0 0.0 vpsubw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 51. 1 5.0 5.0 17.0 andnps %xmm0, %xmm0
-# CHECK-NEXT: 52. 1 5.0 5.0 16.0 andnpd %xmm1, %xmm1
-# CHECK-NEXT: 53. 1 6.0 2.0 15.0 vandnps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: 54. 1 8.0 2.0 13.0 vandnpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: 55. 1 7.0 0.0 14.0 vandnps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: 56. 1 10.0 2.0 10.0 vandnpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: 57. 1 1.0 1.0 19.0 pandn %mm2, %mm2
-# CHECK-NEXT: 58. 1 7.0 0.0 13.0 pandn %xmm2, %xmm2
-# CHECK-NEXT: 59. 1 17.0 0.0 3.0 vpandn %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 60. 1 17.0 0.0 2.0 vpandn %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 61. 1 10.0 3.0 9.0 vandnps %xmm2, %xmm2, %xmm5
-# CHECK-NEXT: 62. 1 11.0 1.0 8.0 vandnpd %xmm1, %xmm1, %xmm5
-# CHECK-NEXT: 63. 1 18.0 0.0 1.0 vpandn %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 64. 1 11.0 5.0 7.0 vandnps %ymm2, %ymm2, %ymm5
-# CHECK-NEXT: 65. 1 12.0 3.0 6.0 vandnpd %ymm1, %ymm1, %ymm5
-# CHECK-NEXT: 66. 1 18.0 1.0 0.0 vpandn %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 67. 1 14.0 12.0 4.0 xorps %xmm0, %xmm0
-# CHECK-NEXT: 68. 1 12.0 4.0 5.0 xorpd %xmm1, %xmm1
-# CHECK-NEXT: 69. 1 18.0 13.0 0.0 vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: 70. 1 19.0 6.0 0.0 vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: 71. 1 21.0 2.0 0.0 vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: 72. 1 19.0 0.0 1.0 vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: 73. 1 1.0 1.0 19.0 pxor %mm2, %mm2
-# CHECK-NEXT: 74. 1 21.0 0.0 0.0 pxor %xmm2, %xmm2
-# CHECK-NEXT: 75. 1 17.0 2.0 4.0 vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 76. 1 17.0 0.0 3.0 vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 77. 1 21.0 21.0 0.0 vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: 78. 1 22.0 3.0 0.0 vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: 79. 1 23.0 23.0 0.0 vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: 80. 1 19.0 1.0 3.0 vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: 81. 1 20.0 0.0 2.0 vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 82. 1 20.0 0.0 2.0 vpxor %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 7. 1 0.0 0.0 4.0 pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: 8. 1 0.0 0.0 3.0 pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: 9. 1 0.0 0.0 3.0 pcmpgtq %xmm2, %xmm2
+# CHECK-NEXT: 10. 1 0.0 0.0 3.0 pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: 11. 1 0.0 0.0 3.0 vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 12. 1 0.0 0.0 2.0 vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 13. 1 0.0 0.0 2.0 vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 14. 1 0.0 0.0 2.0 vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 15. 1 0.0 0.0 2.0 vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 16. 1 0.0 0.0 1.0 vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 17. 1 0.0 0.0 1.0 vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 18. 1 0.0 0.0 1.0 vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 19. 1 0.0 0.0 1.0 vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 20. 1 0.0 0.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 21. 1 0.0 0.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 22. 1 0.0 0.0 0.0 vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 23. 1 0.0 0.0 0.0 vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 24. 1 0.0 0.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 25. 1 0.0 0.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 26. 1 0.0 0.0 0.0 vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 27. 1 1.0 1.0 0.0 psubb %mm2, %mm2
+# CHECK-NEXT: 28. 1 1.0 0.0 0.0 psubd %mm2, %mm2
+# CHECK-NEXT: 29. 1 2.0 0.0 0.0 psubq %mm2, %mm2
+# CHECK-NEXT: 30. 1 3.0 0.0 0.0 psubw %mm2, %mm2
+# CHECK-NEXT: 31. 1 0.0 0.0 4.0 psubb %xmm2, %xmm2
+# CHECK-NEXT: 32. 1 0.0 0.0 3.0 psubd %xmm2, %xmm2
+# CHECK-NEXT: 33. 1 0.0 0.0 3.0 psubq %xmm2, %xmm2
+# CHECK-NEXT: 34. 1 0.0 0.0 3.0 psubw %xmm2, %xmm2
+# CHECK-NEXT: 35. 1 0.0 0.0 3.0 vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 36. 1 0.0 0.0 2.0 vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 37. 1 0.0 0.0 2.0 vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 38. 1 0.0 0.0 2.0 vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 39. 1 0.0 0.0 2.0 vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 40. 1 0.0 0.0 1.0 vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 41. 1 0.0 0.0 1.0 vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 42. 1 0.0 0.0 1.0 vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 43. 1 0.0 0.0 1.0 vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 44. 1 0.0 0.0 0.0 vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 45. 1 0.0 0.0 0.0 vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 46. 1 0.0 0.0 0.0 vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 47. 1 0.0 0.0 0.0 vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 48. 1 0.0 0.0 0.0 vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 49. 1 0.0 0.0 0.0 vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 50. 1 0.0 0.0 0.0 vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 51. 1 1.0 1.0 0.0 andnps %xmm0, %xmm0
+# CHECK-NEXT: 52. 1 1.0 1.0 0.0 andnpd %xmm1, %xmm1
+# CHECK-NEXT: 53. 1 2.0 2.0 0.0 vandnps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: 54. 1 3.0 1.0 0.0 vandnpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: 55. 1 4.0 1.0 0.0 vandnps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: 56. 1 4.0 1.0 0.0 vandnpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 57. 1 1.0 1.0 3.0 pandn %mm2, %mm2
+# CHECK-NEXT: 58. 1 4.0 0.0 0.0 pandn %xmm2, %xmm2
+# CHECK-NEXT: 59. 1 1.0 1.0 3.0 vpandn %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 60. 1 1.0 0.0 2.0 vpandn %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 61. 1 4.0 0.0 0.0 vandnps %xmm2, %xmm2, %xmm5
+# CHECK-NEXT: 62. 1 5.0 1.0 0.0 vandnpd %xmm1, %xmm1, %xmm5
+# CHECK-NEXT: 63. 1 2.0 0.0 3.0 vpandn %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 64. 1 5.0 2.0 0.0 vandnps %ymm2, %ymm2, %ymm5
+# CHECK-NEXT: 65. 1 6.0 3.0 0.0 vandnpd %ymm1, %ymm1, %ymm5
+# CHECK-NEXT: 66. 1 1.0 0.0 5.0 vpandn %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 67. 1 0.0 0.0 7.0 xorps %xmm0, %xmm0
+# CHECK-NEXT: 68. 1 2.0 0.0 4.0 xorpd %xmm1, %xmm1
+# CHECK-NEXT: 69. 1 2.0 0.0 4.0 vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: 70. 1 2.0 0.0 4.0 vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: 71. 1 2.0 0.0 4.0 vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: 72. 1 1.0 0.0 4.0 vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 73. 1 1.0 1.0 3.0 pxor %mm2, %mm2
+# CHECK-NEXT: 74. 1 1.0 0.0 4.0 pxor %xmm2, %xmm2
+# CHECK-NEXT: 75. 1 0.0 0.0 5.0 vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 76. 1 0.0 0.0 4.0 vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 77. 1 0.0 0.0 4.0 vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: 78. 1 0.0 0.0 4.0 vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: 79. 1 0.0 0.0 4.0 vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: 80. 1 0.0 0.0 3.0 vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: 81. 1 0.0 0.0 3.0 vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 82. 1 0.0 0.0 3.0 vpxor %ymm3, %ymm3, %ymm5
Modified: llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/zero-idioms.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/zero-idioms.s?rev=361690&r1=361689&r2=361690&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/zero-idioms.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/zero-idioms.s Fri May 24 21:47:49 2019
@@ -153,15 +153,15 @@ vpxor %xmm3, %xmm3, %xmm5
# CHECK-NEXT: 1 0 0.25 xorpd %xmm1, %xmm1
# CHECK-NEXT: 1 0 0.25 vxorps %xmm2, %xmm2, %xmm2
# CHECK-NEXT: 1 0 0.25 vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: 1 1 1.00 vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: 1 1 1.00 vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 1 0 0.25 vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: 1 0 0.25 vxorpd %ymm1, %ymm1, %ymm1
# CHECK-NEXT: 1 1 0.33 pxor %mm2, %mm2
# CHECK-NEXT: 1 0 0.25 pxor %xmm2, %xmm2
# CHECK-NEXT: 1 0 0.25 vpxor %xmm3, %xmm3, %xmm3
# CHECK-NEXT: 1 0 0.25 vxorps %xmm4, %xmm4, %xmm5
# CHECK-NEXT: 1 0 0.25 vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: 1 1 1.00 vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: 1 1 1.00 vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: 1 0 0.25 vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: 1 0 0.25 vxorpd %ymm1, %ymm1, %ymm3
# CHECK-NEXT: 1 0 0.25 vpxor %xmm3, %xmm3, %xmm5
# CHECK: Register File statistics:
@@ -180,7 +180,7 @@ vpxor %xmm3, %xmm3, %xmm5
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - 4.00 8.00 - 14.00 - -
+# CHECK-NEXT: - - 4.00 8.00 - 10.00 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -237,15 +237,15 @@ vpxor %xmm3, %xmm3, %xmm5
# CHECK-NEXT: - - - - - - - - xorpd %xmm1, %xmm1
# CHECK-NEXT: - - - - - - - - vxorps %xmm2, %xmm2, %xmm2
# CHECK-NEXT: - - - - - - - - vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: - - - - - 1.00 - - vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: - - - - - - - - vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: - - - - - - - - vxorpd %ymm1, %ymm1, %ymm1
# CHECK-NEXT: - - 1.00 - - - - - pxor %mm2, %mm2
# CHECK-NEXT: - - - - - - - - pxor %xmm2, %xmm2
# CHECK-NEXT: - - - - - - - - vpxor %xmm3, %xmm3, %xmm3
# CHECK-NEXT: - - - - - - - - vxorps %xmm4, %xmm4, %xmm5
# CHECK-NEXT: - - - - - - - - vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: - - - - - 1.00 - - vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: - - - - - 1.00 - - vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: - - - - - - - - vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: - - - - - - - - vxorpd %ymm1, %ymm1, %ymm3
# CHECK-NEXT: - - - - - - - - vpxor %xmm3, %xmm3, %xmm5
# CHECK: Timeline view:
@@ -305,16 +305,16 @@ vpxor %xmm3, %xmm3, %xmm5
# CHECK-NEXT: [0,50] . . . D==E---------R. xorpd %xmm1, %xmm1
# CHECK-NEXT: [0,51] . . . D=E----------R. vxorps %xmm2, %xmm2, %xmm2
# CHECK-NEXT: [0,52] . . . D=E---------R. vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: [0,53] . . . D======eE---R. vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: [0,54] . . . D=====eE----R. vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: [0,53] . . . DE----------R. vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: [0,54] . . . D=E---------R. vxorpd %ymm1, %ymm1, %ymm1
# CHECK-NEXT: [0,55] . . . D==========eER pxor %mm2, %mm2
-# CHECK-NEXT: [0,56] . . . D======E----R pxor %xmm2, %xmm2
+# CHECK-NEXT: [0,56] . . . D-----------R pxor %xmm2, %xmm2
# CHECK-NEXT: [0,57] . . . D-----------R vpxor %xmm3, %xmm3, %xmm3
# CHECK-NEXT: [0,58] . . . D-----------R vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: [0,59] . . . D=====E-----R vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: [0,60] . . . D======eE--R vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: [0,61] . . . D=====eE---R vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: [0,62] . . . D======E---R vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,59] . . . DE----------R vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: [0,60] . . . D----------R vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: [0,61] . . . D----------R vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: [0,62] . . . D----------R vpxor %xmm3, %xmm3, %xmm5
# CHECK: Average Wait times (based on the timeline view):
# CHECK-NEXT: [0]: Executions
@@ -376,13 +376,13 @@ vpxor %xmm3, %xmm3, %xmm5
# CHECK-NEXT: 50. 1 3.0 0.0 9.0 xorpd %xmm1, %xmm1
# CHECK-NEXT: 51. 1 2.0 0.0 10.0 vxorps %xmm2, %xmm2, %xmm2
# CHECK-NEXT: 52. 1 2.0 0.0 9.0 vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: 53. 1 7.0 6.0 3.0 vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: 54. 1 6.0 4.0 4.0 vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 53. 1 1.0 0.0 10.0 vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: 54. 1 2.0 0.0 9.0 vxorpd %ymm1, %ymm1, %ymm1
# CHECK-NEXT: 55. 1 11.0 0.0 0.0 pxor %mm2, %mm2
-# CHECK-NEXT: 56. 1 7.0 0.0 4.0 pxor %xmm2, %xmm2
+# CHECK-NEXT: 56. 1 0.0 0.0 11.0 pxor %xmm2, %xmm2
# CHECK-NEXT: 57. 1 0.0 0.0 11.0 vpxor %xmm3, %xmm3, %xmm3
# CHECK-NEXT: 58. 1 0.0 0.0 11.0 vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: 59. 1 6.0 0.0 5.0 vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: 60. 1 7.0 7.0 2.0 vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: 61. 1 6.0 1.0 3.0 vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: 62. 1 7.0 0.0 3.0 vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 59. 1 1.0 0.0 10.0 vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: 60. 1 0.0 0.0 10.0 vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: 61. 1 0.0 0.0 10.0 vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: 62. 1 0.0 0.0 10.0 vpxor %xmm3, %xmm3, %xmm5
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/zero-idioms.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/zero-idioms.s?rev=361690&r1=361689&r2=361690&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/zero-idioms.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/zero-idioms.s Fri May 24 21:47:49 2019
@@ -105,13 +105,13 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK: Iterations: 1
# CHECK-NEXT: Instructions: 83
-# CHECK-NEXT: Total Cycles: 34
+# CHECK-NEXT: Total Cycles: 17
# CHECK-NEXT: Total uOps: 83
# CHECK: Dispatch Width: 6
-# CHECK-NEXT: uOps Per Cycle: 2.44
-# CHECK-NEXT: IPC: 2.44
-# CHECK-NEXT: Block RThroughput: 16.7
+# CHECK-NEXT: uOps Per Cycle: 4.88
+# CHECK-NEXT: IPC: 4.88
+# CHECK-NEXT: Block RThroughput: 13.8
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@@ -122,57 +122,57 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 1 0.25 subl %eax, %eax
-# CHECK-NEXT: 1 1 0.25 subq %rax, %rax
-# CHECK-NEXT: 1 1 0.25 xorl %eax, %eax
-# CHECK-NEXT: 1 1 0.25 xorq %rax, %rax
+# CHECK-NEXT: 1 0 0.17 subl %eax, %eax
+# CHECK-NEXT: 1 0 0.17 subq %rax, %rax
+# CHECK-NEXT: 1 0 0.17 xorl %eax, %eax
+# CHECK-NEXT: 1 0 0.17 xorq %rax, %rax
# CHECK-NEXT: 1 1 1.00 pcmpgtb %mm2, %mm2
# CHECK-NEXT: 1 1 1.00 pcmpgtd %mm2, %mm2
# CHECK-NEXT: 1 1 1.00 pcmpgtw %mm2, %mm2
-# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm2, %xmm2
-# CHECK-NEXT: 1 3 1.00 pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 3 1.00 vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 3 1.00 vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 3 1.00 vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 3 1.00 vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.17 pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 pcmpgtq %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.17 vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.17 vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.17 vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.17 vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.17 vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.17 vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.17 vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.17 vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.17 vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.17 vpcmpgtq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.17 vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.17 vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.17 vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.17 vpcmpgtq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.17 vpcmpgtw %ymm3, %ymm3, %ymm5
# CHECK-NEXT: 1 1 0.50 psubb %mm2, %mm2
# CHECK-NEXT: 1 1 0.50 psubd %mm2, %mm2
# CHECK-NEXT: 1 1 0.50 psubq %mm2, %mm2
# CHECK-NEXT: 1 1 0.50 psubw %mm2, %mm2
-# CHECK-NEXT: 1 1 0.33 psubb %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.33 psubd %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.33 psubq %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.33 psubw %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.33 vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.33 vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.33 vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.33 vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.33 vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.33 vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.33 vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.33 vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.33 vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.33 vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.33 vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.33 vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.33 vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.33 vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.33 vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.33 vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.17 psubb %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 psubd %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 psubq %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 psubw %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.17 vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.17 vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.17 vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.17 vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.17 vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.17 vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.17 vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.17 vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.17 vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.17 vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.17 vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.17 vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.17 vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.17 vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.17 vpsubw %ymm3, %ymm3, %ymm5
# CHECK-NEXT: 1 1 0.33 andnps %xmm0, %xmm0
# CHECK-NEXT: 1 1 0.33 andnpd %xmm1, %xmm1
# CHECK-NEXT: 1 1 0.33 vandnps %xmm2, %xmm2, %xmm2
@@ -189,26 +189,26 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK-NEXT: 1 1 0.33 vandnps %ymm2, %ymm2, %ymm5
# CHECK-NEXT: 1 1 0.33 vandnpd %ymm1, %ymm1, %ymm5
# CHECK-NEXT: 1 1 0.33 vpandn %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.33 xorps %xmm0, %xmm0
-# CHECK-NEXT: 1 1 0.33 xorpd %xmm1, %xmm1
-# CHECK-NEXT: 1 1 0.33 vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.33 vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: 1 1 0.33 vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: 1 1 0.33 vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 1 0 0.17 xorps %xmm0, %xmm0
+# CHECK-NEXT: 1 0 0.17 xorpd %xmm1, %xmm1
+# CHECK-NEXT: 1 0 0.17 vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: 1 0 0.17 vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: 1 0 0.17 vxorpd %ymm1, %ymm1, %ymm1
# CHECK-NEXT: 1 1 0.50 pxor %mm2, %mm2
-# CHECK-NEXT: 1 1 0.33 pxor %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.33 vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.33 vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.33 vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: 1 1 0.33 vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: 1 1 0.33 vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: 1 1 0.33 vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: 1 1 0.33 vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.33 vpxor %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.17 pxor %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.17 vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.17 vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: 1 0 0.17 vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: 1 0 0.17 vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: 1 0 0.17 vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: 1 0 0.17 vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.17 vpxor %ymm3, %ymm3, %ymm5
# CHECK: Register File statistics:
# CHECK-NEXT: Total number of mappings created: 87
-# CHECK-NEXT: Max number of mappings used: 66
+# CHECK-NEXT: Max number of mappings used: 30
# CHECK: Resources:
# CHECK-NEXT: [0] - SKLDivider
@@ -224,181 +224,181 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 28.00 26.00 - - - 27.00 2.00 -
+# CHECK-NEXT: - - 10.00 6.00 - - - 8.00 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
-# CHECK-NEXT: - - - - - - - - 1.00 - subl %eax, %eax
-# CHECK-NEXT: - - - - - - - 1.00 - - subq %rax, %rax
-# CHECK-NEXT: - - - - - - - - 1.00 - xorl %eax, %eax
-# CHECK-NEXT: - - - - - - - 1.00 - - xorq %rax, %rax
+# CHECK-NEXT: - - - - - - - - - - subl %eax, %eax
+# CHECK-NEXT: - - - - - - - - - - subq %rax, %rax
+# CHECK-NEXT: - - - - - - - - - - xorl %eax, %eax
+# CHECK-NEXT: - - - - - - - - - - xorq %rax, %rax
# CHECK-NEXT: - - 1.00 - - - - - - - pcmpgtb %mm2, %mm2
# CHECK-NEXT: - - 1.00 - - - - - - - pcmpgtd %mm2, %mm2
# CHECK-NEXT: - - 1.00 - - - - - - - pcmpgtw %mm2, %mm2
-# CHECK-NEXT: - - - 1.00 - - - - - - pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - pcmpgtd %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - 1.00 - - - - - - - psubb %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - pcmpgtq %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - 1.00 - - psubb %mm2, %mm2
# CHECK-NEXT: - - - - - - - 1.00 - - psubd %mm2, %mm2
# CHECK-NEXT: - - 1.00 - - - - - - - psubq %mm2, %mm2
-# CHECK-NEXT: - - 1.00 - - - - - - - psubw %mm2, %mm2
-# CHECK-NEXT: - - - - - - - 1.00 - - psubb %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - psubd %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - psubq %xmm2, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - psubw %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - 1.00 - - - - - - - andnps %xmm0, %xmm0
+# CHECK-NEXT: - - - - - - - 1.00 - - psubw %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - psubb %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - psubd %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - psubq %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - psubw %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - 1.00 - - - - - - andnps %xmm0, %xmm0
# CHECK-NEXT: - - 1.00 - - - - - - - andnpd %xmm1, %xmm1
# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %xmm2, %xmm2, %xmm2
# CHECK-NEXT: - - - 1.00 - - - - - - vandnpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: - - - 1.00 - - - - - - vandnps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: - - 1.00 - - - - - - - pandn %mm2, %mm2
-# CHECK-NEXT: - - - - - - - 1.00 - - pandn %xmm2, %xmm2
-# CHECK-NEXT: - - 1.00 - - - - - - - vpandn %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpandn %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - 1.00 - - - - - - - vandnps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: - - - 1.00 - - - - - - vandnpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: - - - - - - - 1.00 - - pandn %mm2, %mm2
+# CHECK-NEXT: - - 1.00 - - - - - - - pandn %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 - - vpandn %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - 1.00 - - - - - - vpandn %ymm3, %ymm3, %ymm3
# CHECK-NEXT: - - 1.00 - - - - - - - vandnps %xmm2, %xmm2, %xmm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vandnpd %xmm1, %xmm1, %xmm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpandn %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vandnps %ymm2, %ymm2, %ymm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vandnpd %ymm1, %ymm1, %ymm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpandn %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - 1.00 - - - - - - - xorps %xmm0, %xmm0
-# CHECK-NEXT: - - - 1.00 - - - - - - xorpd %xmm1, %xmm1
-# CHECK-NEXT: - - 1.00 - - - - - - - vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: - - 1.00 - - - - - - - vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: - - - 1.00 - - - - - - vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %xmm1, %xmm1, %xmm5
+# CHECK-NEXT: - - - 1.00 - - - - - - vpandn %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - 1.00 - - - - - - - vandnps %ymm2, %ymm2, %ymm5
+# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %ymm1, %ymm1, %ymm5
+# CHECK-NEXT: - - - 1.00 - - - - - - vpandn %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - xorps %xmm0, %xmm0
+# CHECK-NEXT: - - - - - - - - - - xorpd %xmm1, %xmm1
+# CHECK-NEXT: - - - - - - - - - - vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: - - - - - - - - - - vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: - - - - - - - - - - vxorpd %ymm1, %ymm1, %ymm1
# CHECK-NEXT: - - 1.00 - - - - - - - pxor %mm2, %mm2
-# CHECK-NEXT: - - - 1.00 - - - - - - pxor %xmm2, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - 1.00 - - - - - - - vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: - - 1.00 - - - - - - - vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpxor %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - pxor %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpxor %ymm3, %ymm3, %ymm5
# CHECK: Timeline view:
-# CHECK-NEXT: 0123456789 0123
-# CHECK-NEXT: Index 0123456789 0123456789
+# CHECK-NEXT: 0123456
+# CHECK-NEXT: Index 0123456789
-# CHECK: [0,0] DeER . . . . . . . subl %eax, %eax
-# CHECK-NEXT: [0,1] D=eER. . . . . . . subq %rax, %rax
-# CHECK-NEXT: [0,2] D==eER . . . . . . xorl %eax, %eax
-# CHECK-NEXT: [0,3] D===eER . . . . . . xorq %rax, %rax
-# CHECK-NEXT: [0,4] DeE---R . . . . . . pcmpgtb %mm2, %mm2
-# CHECK-NEXT: [0,5] D=eE--R . . . . . . pcmpgtd %mm2, %mm2
-# CHECK-NEXT: [0,6] .D=eE-R . . . . . . pcmpgtw %mm2, %mm2
-# CHECK-NEXT: [0,7] .DeE--R . . . . . . pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: [0,8] .D=eE-R . . . . . . pcmpgtd %xmm2, %xmm2
-# CHECK-NEXT: [0,9] .D===eeeER. . . . . . pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: [0,10] .D======eER . . . . . pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: [0,11] .D==eE----R . . . . . vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,12] . D==eE---R . . . . . vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,13] . D===eeeER . . . . . vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,14] . D======eER . . . . . vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,15] . D=======eER . . . . . vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,16] . D=======eER . . . . . vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,17] . D=======eeeER. . . . . vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,18] . D=======eE-R. . . . . vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,19] . D=======eE-R. . . . . vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,20] . D========eER. . . . . vpcmpgtd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,21] . D=========eeeER . . . . vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,22] . D============eER . . . . vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,23] . D=============eER. . . . vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,24] . D============eER. . . . vpcmpgtd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,25] . D============eeeER . . . vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,26] . D=============eE-R . . . vpcmpgtw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,27] . D=eE-------------R . . . psubb %mm2, %mm2
-# CHECK-NEXT: [0,28] . D==eE------------R . . . psubd %mm2, %mm2
-# CHECK-NEXT: [0,29] . D===eE-----------R . . . psubq %mm2, %mm2
-# CHECK-NEXT: [0,30] . D===eE----------R . . . psubw %mm2, %mm2
-# CHECK-NEXT: [0,31] . D===eE----------R . . . psubb %xmm2, %xmm2
-# CHECK-NEXT: [0,32] . D=====eE--------R . . . psubd %xmm2, %xmm2
-# CHECK-NEXT: [0,33] . D======eE-------R . . . psubq %xmm2, %xmm2
-# CHECK-NEXT: [0,34] . D=======eE------R . . . psubw %xmm2, %xmm2
-# CHECK-NEXT: [0,35] . D============eE-R . . . vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,36] . .D============eER . . . vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,37] . .D=============eER . . . vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,38] . .D==============eER . . . vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,39] . .D===============eER. . . vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,40] . .D================eER . . vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,41] . .D=================eER . . vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,42] . . D=================eER . . vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,43] . . D==================eER . . vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,44] . . D==================eER . . vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,45] . . D==================eER . . vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,46] . . D===================eER. . vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,47] . . D===================eER. . vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,48] . . D==================eER. . vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,49] . . D===================eER . vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,50] . . D===================eER . vpsubw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,51] . . D===eE----------------R . andnps %xmm0, %xmm0
-# CHECK-NEXT: [0,52] . . D====eE---------------R . andnpd %xmm1, %xmm1
-# CHECK-NEXT: [0,53] . . D=====eE--------------R . vandnps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: [0,54] . . D====eE--------------R . vandnpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: [0,55] . . D=====eE-------------R . vandnps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: [0,56] . . D=====eE-------------R . vandnpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: [0,57] . . D====eE--------------R . pandn %mm2, %mm2
-# CHECK-NEXT: [0,58] . . D======eE------------R . pandn %xmm2, %xmm2
-# CHECK-NEXT: [0,59] . . D==================eER . vpandn %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,60] . . D==================eER . vpandn %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,61] . . D=======eE-----------R . vandnps %xmm2, %xmm2, %xmm5
-# CHECK-NEXT: [0,62] . . D=====eE-------------R . vandnpd %xmm1, %xmm1, %xmm5
-# CHECK-NEXT: [0,63] . . D===================eER. vpandn %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,64] . . D========eE-----------R. vandnps %ymm2, %ymm2, %ymm5
-# CHECK-NEXT: [0,65] . . D========eE-----------R. vandnpd %ymm1, %ymm1, %ymm5
-# CHECK-NEXT: [0,66] . . .D==================eER. vpandn %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,67] . . .D===eE---------------R. xorps %xmm0, %xmm0
-# CHECK-NEXT: [0,68] . . .D========eE----------R. xorpd %xmm1, %xmm1
-# CHECK-NEXT: [0,69] . . .D========eE----------R. vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: [0,70] . . .D=========eE---------R. vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: [0,71] . . .D=========eE---------R. vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: [0,72] . . . D=========eE--------R. vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: [0,73] . . . D=========eE--------R. pxor %mm2, %mm2
-# CHECK-NEXT: [0,74] . . . D==========eE-------R. pxor %xmm2, %xmm2
-# CHECK-NEXT: [0,75] . . . D=================eER. vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,76] . . . D==================eER vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,77] . . . D===========eE-------R vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: [0,78] . . . D==========eE-------R vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: [0,79] . . . D===========eE------R vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: [0,80] . . . D=========eE--------R vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: [0,81] . . . D===========eE------R vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,82] . . . D===============eE--R vpxor %ymm3, %ymm3, %ymm5
+# CHECK: [0,0] DR . . .. subl %eax, %eax
+# CHECK-NEXT: [0,1] DR . . .. subq %rax, %rax
+# CHECK-NEXT: [0,2] DR . . .. xorl %eax, %eax
+# CHECK-NEXT: [0,3] DR . . .. xorq %rax, %rax
+# CHECK-NEXT: [0,4] DeER . . .. pcmpgtb %mm2, %mm2
+# CHECK-NEXT: [0,5] D=eER. . .. pcmpgtd %mm2, %mm2
+# CHECK-NEXT: [0,6] .D=eER . .. pcmpgtw %mm2, %mm2
+# CHECK-NEXT: [0,7] .D---R . .. pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: [0,8] .D---R . .. pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: [0,9] .D---R . .. pcmpgtq %xmm2, %xmm2
+# CHECK-NEXT: [0,10] .D---R . .. pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: [0,11] .D---R . .. vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,12] . D--R . .. vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,13] . D--R . .. vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,14] . D--R . .. vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,15] . D--R . .. vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,16] . D--R . .. vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,17] . D--R . .. vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,18] . D-R . .. vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,19] . D-R . .. vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,20] . D-R . .. vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,21] . D-R . .. vpcmpgtq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,22] . D-R . .. vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,23] . D-R . .. vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,24] . DR . .. vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,25] . DR . .. vpcmpgtq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,26] . DR . .. vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,27] . DeER . .. psubb %mm2, %mm2
+# CHECK-NEXT: [0,28] . D=eER . .. psubd %mm2, %mm2
+# CHECK-NEXT: [0,29] . D==eER. .. psubq %mm2, %mm2
+# CHECK-NEXT: [0,30] . D==eER .. psubw %mm2, %mm2
+# CHECK-NEXT: [0,31] . D----R .. psubb %xmm2, %xmm2
+# CHECK-NEXT: [0,32] . D----R .. psubd %xmm2, %xmm2
+# CHECK-NEXT: [0,33] . D----R .. psubq %xmm2, %xmm2
+# CHECK-NEXT: [0,34] . D----R .. psubw %xmm2, %xmm2
+# CHECK-NEXT: [0,35] . D----R .. vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,36] . .D---R .. vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,37] . .D---R .. vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,38] . .D---R .. vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,39] . .D---R .. vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,40] . .D---R .. vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,41] . .D---R .. vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,42] . . D--R .. vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,43] . . D--R .. vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,44] . . D--R .. vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,45] . . D--R .. vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,46] . . D--R .. vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,47] . . D--R .. vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,48] . . D-R .. vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,49] . . D-R .. vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,50] . . D-R .. vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,51] . . DeER .. andnps %xmm0, %xmm0
+# CHECK-NEXT: [0,52] . . DeER .. andnpd %xmm1, %xmm1
+# CHECK-NEXT: [0,53] . . DeER .. vandnps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: [0,54] . . DeER .. vandnpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: [0,55] . . DeER .. vandnps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: [0,56] . . D=eER .. vandnpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: [0,57] . . DeE-R .. pandn %mm2, %mm2
+# CHECK-NEXT: [0,58] . . D=eER .. pandn %xmm2, %xmm2
+# CHECK-NEXT: [0,59] . . D=eER .. vpandn %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,60] . . D=eER.. vpandn %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,61] . . D=eER.. vandnps %xmm2, %xmm2, %xmm5
+# CHECK-NEXT: [0,62] . . D=eER.. vandnpd %xmm1, %xmm1, %xmm5
+# CHECK-NEXT: [0,63] . . D==eER. vpandn %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,64] . . D==eER. vandnps %ymm2, %ymm2, %ymm5
+# CHECK-NEXT: [0,65] . . D==eER. vandnpd %ymm1, %ymm1, %ymm5
+# CHECK-NEXT: [0,66] . . .D==eER vpandn %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,67] . . .D----R xorps %xmm0, %xmm0
+# CHECK-NEXT: [0,68] . . .DE---R xorpd %xmm1, %xmm1
+# CHECK-NEXT: [0,69] . . .DE---R vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: [0,70] . . .DE---R vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: [0,71] . . .DE---R vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: [0,72] . . . D---R vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: [0,73] . . . D=eER pxor %mm2, %mm2
+# CHECK-NEXT: [0,74] . . . D---R pxor %xmm2, %xmm2
+# CHECK-NEXT: [0,75] . . . DE--R vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,76] . . . DE--R vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,77] . . . D---R vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: [0,78] . . . D--R vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: [0,79] . . . D--R vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: [0,80] . . . D--R vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: [0,81] . . . D--R vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,82] . . . D--R vpxor %ymm3, %ymm3, %ymm5
# CHECK: Average Wait times (based on the timeline view):
# CHECK-NEXT: [0]: Executions
@@ -407,86 +407,86 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
# CHECK: [0] [1] [2] [3]
-# CHECK-NEXT: 0. 1 1.0 1.0 0.0 subl %eax, %eax
-# CHECK-NEXT: 1. 1 2.0 0.0 0.0 subq %rax, %rax
-# CHECK-NEXT: 2. 1 3.0 0.0 0.0 xorl %eax, %eax
-# CHECK-NEXT: 3. 1 4.0 0.0 0.0 xorq %rax, %rax
-# CHECK-NEXT: 4. 1 1.0 1.0 3.0 pcmpgtb %mm2, %mm2
-# CHECK-NEXT: 5. 1 2.0 0.0 2.0 pcmpgtd %mm2, %mm2
-# CHECK-NEXT: 6. 1 2.0 0.0 1.0 pcmpgtw %mm2, %mm2
-# CHECK-NEXT: 7. 1 1.0 1.0 2.0 pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: 8. 1 2.0 0.0 1.0 pcmpgtd %xmm2, %xmm2
-# CHECK-NEXT: 9. 1 4.0 1.0 0.0 pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: 10. 1 7.0 0.0 0.0 pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: 11. 1 3.0 3.0 4.0 vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 12. 1 3.0 0.0 3.0 vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 13. 1 4.0 0.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 14. 1 7.0 0.0 0.0 vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 15. 1 8.0 0.0 0.0 vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 16. 1 8.0 0.0 0.0 vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 17. 1 8.0 0.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 18. 1 8.0 1.0 1.0 vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 19. 1 8.0 1.0 1.0 vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 20. 1 9.0 0.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 21. 1 10.0 0.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 22. 1 13.0 0.0 0.0 vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 23. 1 14.0 0.0 0.0 vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 24. 1 13.0 0.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 25. 1 13.0 0.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 26. 1 14.0 1.0 1.0 vpcmpgtw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 27. 1 2.0 2.0 13.0 psubb %mm2, %mm2
-# CHECK-NEXT: 28. 1 3.0 0.0 12.0 psubd %mm2, %mm2
-# CHECK-NEXT: 29. 1 4.0 0.0 11.0 psubq %mm2, %mm2
-# CHECK-NEXT: 30. 1 4.0 0.0 10.0 psubw %mm2, %mm2
-# CHECK-NEXT: 31. 1 4.0 0.0 10.0 psubb %xmm2, %xmm2
-# CHECK-NEXT: 32. 1 6.0 1.0 8.0 psubd %xmm2, %xmm2
-# CHECK-NEXT: 33. 1 7.0 0.0 7.0 psubq %xmm2, %xmm2
-# CHECK-NEXT: 34. 1 8.0 0.0 6.0 psubw %xmm2, %xmm2
-# CHECK-NEXT: 35. 1 13.0 1.0 1.0 vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 36. 1 13.0 0.0 0.0 vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 37. 1 14.0 0.0 0.0 vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 38. 1 15.0 0.0 0.0 vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 39. 1 16.0 0.0 0.0 vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 40. 1 17.0 0.0 0.0 vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 41. 1 18.0 0.0 0.0 vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 42. 1 18.0 0.0 0.0 vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 43. 1 19.0 0.0 0.0 vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 44. 1 19.0 0.0 0.0 vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 45. 1 19.0 0.0 0.0 vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 46. 1 20.0 1.0 0.0 vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 47. 1 20.0 1.0 0.0 vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 48. 1 19.0 1.0 0.0 vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 49. 1 20.0 2.0 0.0 vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 50. 1 20.0 2.0 0.0 vpsubw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 51. 1 4.0 4.0 16.0 andnps %xmm0, %xmm0
-# CHECK-NEXT: 52. 1 5.0 5.0 15.0 andnpd %xmm1, %xmm1
-# CHECK-NEXT: 53. 1 6.0 0.0 14.0 vandnps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: 54. 1 5.0 0.0 14.0 vandnpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: 55. 1 6.0 0.0 13.0 vandnps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: 56. 1 6.0 0.0 13.0 vandnpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: 57. 1 5.0 4.0 14.0 pandn %mm2, %mm2
-# CHECK-NEXT: 58. 1 7.0 0.0 12.0 pandn %xmm2, %xmm2
-# CHECK-NEXT: 59. 1 19.0 2.0 0.0 vpandn %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 60. 1 19.0 0.0 0.0 vpandn %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 61. 1 8.0 1.0 11.0 vandnps %xmm2, %xmm2, %xmm5
-# CHECK-NEXT: 62. 1 6.0 0.0 13.0 vandnpd %xmm1, %xmm1, %xmm5
-# CHECK-NEXT: 63. 1 20.0 0.0 0.0 vpandn %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 64. 1 9.0 2.0 11.0 vandnps %ymm2, %ymm2, %ymm5
-# CHECK-NEXT: 65. 1 9.0 3.0 11.0 vandnpd %ymm1, %ymm1, %ymm5
-# CHECK-NEXT: 66. 1 19.0 0.0 0.0 vpandn %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 67. 1 4.0 2.0 15.0 xorps %xmm0, %xmm0
-# CHECK-NEXT: 68. 1 9.0 4.0 10.0 xorpd %xmm1, %xmm1
-# CHECK-NEXT: 69. 1 9.0 3.0 10.0 vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: 70. 1 10.0 0.0 9.0 vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: 71. 1 10.0 0.0 9.0 vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: 72. 1 10.0 0.0 8.0 vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: 73. 1 10.0 7.0 8.0 pxor %mm2, %mm2
-# CHECK-NEXT: 74. 1 11.0 1.0 7.0 pxor %xmm2, %xmm2
-# CHECK-NEXT: 75. 1 18.0 0.0 0.0 vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 76. 1 19.0 0.0 0.0 vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 77. 1 12.0 12.0 7.0 vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: 78. 1 11.0 1.0 7.0 vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: 79. 1 12.0 12.0 6.0 vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: 80. 1 10.0 0.0 8.0 vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: 81. 1 12.0 1.0 6.0 vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 82. 1 16.0 5.0 2.0 vpxor %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 0. 1 0.0 0.0 0.0 subl %eax, %eax
+# CHECK-NEXT: 1. 1 0.0 0.0 0.0 subq %rax, %rax
+# CHECK-NEXT: 2. 1 0.0 0.0 0.0 xorl %eax, %eax
+# CHECK-NEXT: 3. 1 0.0 0.0 0.0 xorq %rax, %rax
+# CHECK-NEXT: 4. 1 1.0 1.0 0.0 pcmpgtb %mm2, %mm2
+# CHECK-NEXT: 5. 1 2.0 0.0 0.0 pcmpgtd %mm2, %mm2
+# CHECK-NEXT: 6. 1 2.0 0.0 0.0 pcmpgtw %mm2, %mm2
+# CHECK-NEXT: 7. 1 0.0 0.0 3.0 pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: 8. 1 0.0 0.0 3.0 pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: 9. 1 0.0 0.0 3.0 pcmpgtq %xmm2, %xmm2
+# CHECK-NEXT: 10. 1 0.0 0.0 3.0 pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: 11. 1 0.0 0.0 3.0 vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 12. 1 0.0 0.0 2.0 vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 13. 1 0.0 0.0 2.0 vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 14. 1 0.0 0.0 2.0 vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 15. 1 0.0 0.0 2.0 vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 16. 1 0.0 0.0 2.0 vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 17. 1 0.0 0.0 2.0 vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 18. 1 0.0 0.0 1.0 vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 19. 1 0.0 0.0 1.0 vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 20. 1 0.0 0.0 1.0 vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 21. 1 0.0 0.0 1.0 vpcmpgtq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 22. 1 0.0 0.0 1.0 vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 23. 1 0.0 0.0 1.0 vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 24. 1 0.0 0.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 25. 1 0.0 0.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 26. 1 0.0 0.0 0.0 vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 27. 1 1.0 1.0 0.0 psubb %mm2, %mm2
+# CHECK-NEXT: 28. 1 2.0 0.0 0.0 psubd %mm2, %mm2
+# CHECK-NEXT: 29. 1 3.0 0.0 0.0 psubq %mm2, %mm2
+# CHECK-NEXT: 30. 1 3.0 0.0 0.0 psubw %mm2, %mm2
+# CHECK-NEXT: 31. 1 0.0 0.0 4.0 psubb %xmm2, %xmm2
+# CHECK-NEXT: 32. 1 0.0 0.0 4.0 psubd %xmm2, %xmm2
+# CHECK-NEXT: 33. 1 0.0 0.0 4.0 psubq %xmm2, %xmm2
+# CHECK-NEXT: 34. 1 0.0 0.0 4.0 psubw %xmm2, %xmm2
+# CHECK-NEXT: 35. 1 0.0 0.0 4.0 vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 36. 1 0.0 0.0 3.0 vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 37. 1 0.0 0.0 3.0 vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 38. 1 0.0 0.0 3.0 vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 39. 1 0.0 0.0 3.0 vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 40. 1 0.0 0.0 3.0 vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 41. 1 0.0 0.0 3.0 vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 42. 1 0.0 0.0 2.0 vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 43. 1 0.0 0.0 2.0 vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 44. 1 0.0 0.0 2.0 vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 45. 1 0.0 0.0 2.0 vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 46. 1 0.0 0.0 2.0 vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 47. 1 0.0 0.0 2.0 vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 48. 1 0.0 0.0 1.0 vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 49. 1 0.0 0.0 1.0 vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 50. 1 0.0 0.0 1.0 vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 51. 1 1.0 1.0 0.0 andnps %xmm0, %xmm0
+# CHECK-NEXT: 52. 1 1.0 1.0 0.0 andnpd %xmm1, %xmm1
+# CHECK-NEXT: 53. 1 1.0 1.0 0.0 vandnps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: 54. 1 1.0 0.0 0.0 vandnpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: 55. 1 1.0 0.0 0.0 vandnps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: 56. 1 2.0 0.0 0.0 vandnpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 57. 1 1.0 1.0 1.0 pandn %mm2, %mm2
+# CHECK-NEXT: 58. 1 2.0 0.0 0.0 pandn %xmm2, %xmm2
+# CHECK-NEXT: 59. 1 2.0 2.0 0.0 vpandn %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 60. 1 2.0 0.0 0.0 vpandn %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 61. 1 2.0 0.0 0.0 vandnps %xmm2, %xmm2, %xmm5
+# CHECK-NEXT: 62. 1 2.0 0.0 0.0 vandnpd %xmm1, %xmm1, %xmm5
+# CHECK-NEXT: 63. 1 3.0 0.0 0.0 vpandn %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 64. 1 3.0 1.0 0.0 vandnps %ymm2, %ymm2, %ymm5
+# CHECK-NEXT: 65. 1 3.0 1.0 0.0 vandnpd %ymm1, %ymm1, %ymm5
+# CHECK-NEXT: 66. 1 3.0 1.0 0.0 vpandn %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 67. 1 0.0 0.0 4.0 xorps %xmm0, %xmm0
+# CHECK-NEXT: 68. 1 1.0 0.0 3.0 xorpd %xmm1, %xmm1
+# CHECK-NEXT: 69. 1 1.0 0.0 3.0 vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: 70. 1 1.0 0.0 3.0 vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: 71. 1 1.0 0.0 3.0 vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: 72. 1 0.0 0.0 3.0 vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 73. 1 2.0 2.0 0.0 pxor %mm2, %mm2
+# CHECK-NEXT: 74. 1 0.0 0.0 3.0 pxor %xmm2, %xmm2
+# CHECK-NEXT: 75. 1 1.0 0.0 2.0 vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 76. 1 1.0 0.0 2.0 vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 77. 1 0.0 0.0 3.0 vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: 78. 1 0.0 0.0 2.0 vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: 79. 1 0.0 0.0 2.0 vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: 80. 1 0.0 0.0 2.0 vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: 81. 1 0.0 0.0 2.0 vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 82. 1 0.0 0.0 2.0 vpxor %ymm3, %ymm3, %ymm5
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/zero-idioms.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/zero-idioms.s?rev=361690&r1=361689&r2=361690&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/zero-idioms.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/zero-idioms.s Fri May 24 21:47:49 2019
@@ -167,13 +167,13 @@ vpxorq %zmm19, %zmm19, %zmm21
# CHECK: Iterations: 1
# CHECK-NEXT: Instructions: 139
-# CHECK-NEXT: Total Cycles: 53
+# CHECK-NEXT: Total Cycles: 27
# CHECK-NEXT: Total uOps: 139
# CHECK: Dispatch Width: 6
-# CHECK-NEXT: uOps Per Cycle: 2.62
-# CHECK-NEXT: IPC: 2.62
-# CHECK-NEXT: Block RThroughput: 30.0
+# CHECK-NEXT: uOps Per Cycle: 5.15
+# CHECK-NEXT: IPC: 5.15
+# CHECK-NEXT: Block RThroughput: 23.2
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@@ -184,81 +184,81 @@ vpxorq %zmm19, %zmm19, %zmm21
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 1 0.25 subl %eax, %eax
-# CHECK-NEXT: 1 1 0.25 subq %rax, %rax
-# CHECK-NEXT: 1 1 0.25 xorl %eax, %eax
-# CHECK-NEXT: 1 1 0.25 xorq %rax, %rax
+# CHECK-NEXT: 1 0 0.17 subl %eax, %eax
+# CHECK-NEXT: 1 0 0.17 subq %rax, %rax
+# CHECK-NEXT: 1 0 0.17 xorl %eax, %eax
+# CHECK-NEXT: 1 0 0.17 xorq %rax, %rax
# CHECK-NEXT: 1 1 1.00 pcmpgtb %mm2, %mm2
# CHECK-NEXT: 1 1 1.00 pcmpgtd %mm2, %mm2
# CHECK-NEXT: 1 1 1.00 pcmpgtw %mm2, %mm2
-# CHECK-NEXT: 1 1 0.50 pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 pcmpgtd %xmm2, %xmm2
-# CHECK-NEXT: 1 3 1.00 pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 3 1.00 vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.50 vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 3 1.00 vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.50 vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 3 1.00 vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.50 vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.50 vpcmpgtd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 3 1.00 vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.50 vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.17 pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 pcmpgtq %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.17 vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.17 vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.17 vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.17 vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.17 vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.17 vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.17 vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.17 vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.17 vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.17 vpcmpgtq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.17 vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.17 vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.17 vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.17 vpcmpgtq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.17 vpcmpgtw %ymm3, %ymm3, %ymm5
# CHECK-NEXT: 1 1 0.50 psubb %mm2, %mm2
# CHECK-NEXT: 1 1 0.50 psubd %mm2, %mm2
# CHECK-NEXT: 1 1 0.50 psubq %mm2, %mm2
# CHECK-NEXT: 1 1 0.50 psubw %mm2, %mm2
-# CHECK-NEXT: 1 1 0.33 psubb %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.33 psubd %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.33 psubq %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.33 psubw %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.33 vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.33 vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.33 vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.33 vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.33 vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.33 vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.33 vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.33 vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.33 vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.33 vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.33 vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.33 vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.33 vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.33 vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.33 vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.33 vpsubw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.33 vpsubb %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: 1 1 0.33 vpsubd %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: 1 1 0.33 vpsubq %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: 1 1 0.33 vpsubw %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: 1 1 0.33 vpsubb %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: 1 1 0.33 vpsubd %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: 1 1 0.33 vpsubq %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: 1 1 0.33 vpsubw %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: 1 1 0.33 vpsubb %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: 1 1 0.33 vpsubd %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: 1 1 0.33 vpsubq %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: 1 1 0.33 vpsubw %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: 1 1 0.33 vpsubb %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: 1 1 0.33 vpsubd %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: 1 1 0.33 vpsubq %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: 1 1 0.33 vpsubw %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: 1 1 0.33 vpsubb %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: 1 1 0.33 vpsubd %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: 1 1 0.33 vpsubq %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: 1 1 0.33 vpsubw %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: 1 1 0.33 vpsubb %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: 1 1 0.33 vpsubd %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: 1 1 0.33 vpsubq %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: 1 1 0.33 vpsubw %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: 1 0 0.17 psubb %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 psubd %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 psubq %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 psubw %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.17 vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.17 vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.17 vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.17 vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.17 vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.17 vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.17 vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.17 vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.17 vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.17 vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.17 vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.17 vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.17 vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.17 vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.17 vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.17 vpsubb %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: 1 0 0.17 vpsubd %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: 1 0 0.17 vpsubq %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: 1 0 0.17 vpsubw %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: 1 0 0.17 vpsubb %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: 1 0 0.17 vpsubd %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: 1 0 0.17 vpsubq %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: 1 0 0.17 vpsubw %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: 1 0 0.17 vpsubb %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: 1 0 0.17 vpsubd %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: 1 0 0.17 vpsubq %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: 1 0 0.17 vpsubw %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: 1 0 0.17 vpsubb %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: 1 0 0.17 vpsubd %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: 1 0 0.17 vpsubq %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: 1 0 0.17 vpsubw %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: 1 0 0.17 vpsubb %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: 1 0 0.17 vpsubd %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: 1 0 0.17 vpsubq %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: 1 0 0.17 vpsubw %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: 1 0 0.17 vpsubb %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: 1 0 0.17 vpsubd %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: 1 0 0.17 vpsubq %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: 1 0 0.17 vpsubw %zmm19, %zmm19, %zmm21
# CHECK-NEXT: 1 1 0.33 andnps %xmm0, %xmm0
# CHECK-NEXT: 1 1 0.33 andnpd %xmm1, %xmm1
# CHECK-NEXT: 1 1 0.33 vandnps %xmm2, %xmm2, %xmm2
@@ -291,42 +291,42 @@ vpxorq %zmm19, %zmm19, %zmm21
# CHECK-NEXT: 1 1 0.33 vpandnq %ymm19, %ymm19, %ymm21
# CHECK-NEXT: 1 1 0.50 vpandnd %zmm19, %zmm19, %zmm21
# CHECK-NEXT: 1 1 0.50 vpandnq %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: 1 1 0.33 xorps %xmm0, %xmm0
-# CHECK-NEXT: 1 1 0.33 xorpd %xmm1, %xmm1
-# CHECK-NEXT: 1 1 0.33 vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.33 vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: 1 1 0.33 vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: 1 1 0.33 vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: 1 1 0.50 vxorps %zmm2, %zmm2, %zmm2
-# CHECK-NEXT: 1 1 0.50 vxorpd %zmm1, %zmm1, %zmm1
+# CHECK-NEXT: 1 0 0.17 xorps %xmm0, %xmm0
+# CHECK-NEXT: 1 0 0.17 xorpd %xmm1, %xmm1
+# CHECK-NEXT: 1 0 0.17 vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: 1 0 0.17 vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: 1 0 0.17 vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 1 0 0.17 vxorps %zmm2, %zmm2, %zmm2
+# CHECK-NEXT: 1 0 0.17 vxorpd %zmm1, %zmm1, %zmm1
# CHECK-NEXT: 1 1 0.50 pxor %mm2, %mm2
-# CHECK-NEXT: 1 1 0.33 pxor %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.33 vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.33 vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.33 vpxord %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: 1 1 0.33 vpxorq %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: 1 1 0.33 vpxord %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: 1 1 0.33 vpxorq %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: 1 1 0.50 vpxord %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: 1 1 0.50 vpxorq %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: 1 1 0.33 vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: 1 1 0.33 vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: 1 1 0.33 vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: 1 1 0.33 vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: 1 1 0.50 vxorps %zmm4, %zmm4, %zmm5
-# CHECK-NEXT: 1 1 0.50 vxorpd %zmm1, %zmm1, %zmm3
-# CHECK-NEXT: 1 1 0.33 vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.33 vpxor %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.33 vpxord %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: 1 1 0.33 vpxorq %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: 1 1 0.33 vpxord %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: 1 1 0.33 vpxorq %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: 1 1 0.50 vpxord %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: 1 1 0.50 vpxorq %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: 1 0 0.17 pxor %xmm2, %xmm2
+# CHECK-NEXT: 1 0 0.17 vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 0 0.17 vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 0 0.17 vpxord %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: 1 0 0.17 vpxorq %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: 1 0 0.17 vpxord %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: 1 0 0.17 vpxorq %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: 1 0 0.17 vpxord %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: 1 0 0.17 vpxorq %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: 1 0 0.17 vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: 1 0 0.17 vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: 1 0 0.17 vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: 1 0 0.17 vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: 1 0 0.17 vxorps %zmm4, %zmm4, %zmm5
+# CHECK-NEXT: 1 0 0.17 vxorpd %zmm1, %zmm1, %zmm3
+# CHECK-NEXT: 1 0 0.17 vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 0 0.17 vpxor %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 0 0.17 vpxord %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: 1 0 0.17 vpxorq %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: 1 0 0.17 vpxord %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: 1 0 0.17 vpxorq %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: 1 0 0.17 vpxord %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: 1 0 0.17 vpxorq %zmm19, %zmm19, %zmm21
# CHECK: Register File statistics:
# CHECK-NEXT: Total number of mappings created: 143
-# CHECK-NEXT: Max number of mappings used: 91
+# CHECK-NEXT: Max number of mappings used: 47
# CHECK: Resources:
# CHECK-NEXT: [0] - SKXDivider
@@ -342,293 +342,293 @@ vpxorq %zmm19, %zmm19, %zmm21
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 47.00 44.00 - - - 46.00 2.00 -
+# CHECK-NEXT: - - 16.00 10.00 - - - 14.00 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
-# CHECK-NEXT: - - - - - - - - 1.00 - subl %eax, %eax
-# CHECK-NEXT: - - - - - - - 1.00 - - subq %rax, %rax
-# CHECK-NEXT: - - - - - - - - 1.00 - xorl %eax, %eax
-# CHECK-NEXT: - - - - - - - 1.00 - - xorq %rax, %rax
+# CHECK-NEXT: - - - - - - - - - - subl %eax, %eax
+# CHECK-NEXT: - - - - - - - - - - subq %rax, %rax
+# CHECK-NEXT: - - - - - - - - - - xorl %eax, %eax
+# CHECK-NEXT: - - - - - - - - - - xorq %rax, %rax
# CHECK-NEXT: - - 1.00 - - - - - - - pcmpgtb %mm2, %mm2
# CHECK-NEXT: - - 1.00 - - - - - - - pcmpgtd %mm2, %mm2
# CHECK-NEXT: - - 1.00 - - - - - - - pcmpgtw %mm2, %mm2
-# CHECK-NEXT: - - - 1.00 - - - - - - pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - pcmpgtd %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpcmpgtd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpcmpgtw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - 1.00 - - - - - - - psubb %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - pcmpgtq %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - 1.00 - - psubb %mm2, %mm2
# CHECK-NEXT: - - - - - - - 1.00 - - psubd %mm2, %mm2
# CHECK-NEXT: - - 1.00 - - - - - - - psubq %mm2, %mm2
-# CHECK-NEXT: - - 1.00 - - - - - - - psubw %mm2, %mm2
-# CHECK-NEXT: - - - - - - - 1.00 - - psubb %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - psubd %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - psubq %xmm2, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - psubw %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpsubb %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: - - 1.00 - - - - - - - vpsubd %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubq %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubw %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubb %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: - - 1.00 - - - - - - - vpsubd %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubq %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubw %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubb %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubd %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubq %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubw %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubb %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: - - 1.00 - - - - - - - vpsubd %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: - - 1.00 - - - - - - - vpsubq %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubw %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubb %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: - - 1.00 - - - - - - - vpsubd %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubq %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubw %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: - - 1.00 - - - - - - - vpsubb %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: - - - - - - - 1.00 - - vpsubd %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: - - - 1.00 - - - - - - vpsubq %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: - - 1.00 - - - - - - - vpsubw %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: - - 1.00 - - - - - - - andnps %xmm0, %xmm0
-# CHECK-NEXT: - - - 1.00 - - - - - - andnpd %xmm1, %xmm1
-# CHECK-NEXT: - - - 1.00 - - - - - - vandnps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: - - 1.00 - - - - - - - vandnpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: - - - - - - - 1.00 - - psubw %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - psubb %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - psubd %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - psubq %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - psubw %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpsubb %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: - - - - - - - - - - vpsubd %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: - - - - - - - - - - vpsubq %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: - - - - - - - - - - vpsubw %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: - - - - - - - - - - vpsubb %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: - - - - - - - - - - vpsubd %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: - - - - - - - - - - vpsubq %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: - - - - - - - - - - vpsubw %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: - - - - - - - - - - vpsubb %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: - - - - - - - - - - vpsubd %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: - - - - - - - - - - vpsubq %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: - - - - - - - - - - vpsubw %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: - - - - - - - - - - vpsubb %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: - - - - - - - - - - vpsubd %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: - - - - - - - - - - vpsubq %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: - - - - - - - - - - vpsubw %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: - - - - - - - - - - vpsubb %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: - - - - - - - - - - vpsubd %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: - - - - - - - - - - vpsubq %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: - - - - - - - - - - vpsubw %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: - - - - - - - - - - vpsubb %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: - - - - - - - - - - vpsubd %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: - - - - - - - - - - vpsubq %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: - - - - - - - - - - vpsubw %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: - - - 1.00 - - - - - - andnps %xmm0, %xmm0
+# CHECK-NEXT: - - 1.00 - - - - - - - andnpd %xmm1, %xmm1
+# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - - - vandnpd %xmm1, %xmm1, %xmm1
# CHECK-NEXT: - - 1.00 - - - - - - - vandnps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: - - 1.00 - - - - - - - vandnpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: - - - 1.00 - - - - - - vandnpd %ymm1, %ymm1, %ymm1
# CHECK-NEXT: - - 1.00 - - - - - - - vandnps %zmm2, %zmm2, %zmm2
# CHECK-NEXT: - - 1.00 - - - - - - - vandnpd %zmm1, %zmm1, %zmm1
-# CHECK-NEXT: - - 1.00 - - - - - - - pandn %mm2, %mm2
-# CHECK-NEXT: - - 1.00 - - - - - - - pandn %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 - - pandn %mm2, %mm2
+# CHECK-NEXT: - - - 1.00 - - - - - - pandn %xmm2, %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - vpandn %xmm3, %xmm3, %xmm3
# CHECK-NEXT: - - - - - - - 1.00 - - vpandn %ymm3, %ymm3, %ymm3
# CHECK-NEXT: - - - 1.00 - - - - - - vpandnd %xmm19, %xmm19, %xmm19
# CHECK-NEXT: - - - 1.00 - - - - - - vpandnq %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: - - - - - - - 1.00 - - vpandnd %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: - - - - - - - 1.00 - - vpandnq %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: - - - - - - - 1.00 - - vpandnd %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: - - - - - - - 1.00 - - vpandnq %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: - - - 1.00 - - - - - - vpandnd %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: - - - 1.00 - - - - - - vpandnq %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: - - 1.00 - - - - - - - vpandnd %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - - - vpandnq %zmm19, %zmm19, %zmm19
# CHECK-NEXT: - - 1.00 - - - - - - - vandnps %xmm2, %xmm2, %xmm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vandnpd %xmm1, %xmm1, %xmm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpandn %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vandnps %ymm2, %ymm2, %ymm5
+# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %xmm1, %xmm1, %xmm5
+# CHECK-NEXT: - - 1.00 - - - - - - - vpandn %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - 1.00 - - vandnps %ymm2, %ymm2, %ymm5
# CHECK-NEXT: - - 1.00 - - - - - - - vandnpd %ymm1, %ymm1, %ymm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpandn %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - 1.00 - - vpandn %ymm3, %ymm3, %ymm5
# CHECK-NEXT: - - 1.00 - - - - - - - vandnps %zmm2, %zmm2, %zmm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vandnpd %zmm1, %zmm1, %zmm5
-# CHECK-NEXT: - - - - - - - 1.00 - - vpandnd %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: - - - 1.00 - - - - - - vpandnq %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: - - 1.00 - - - - - - - vpandnd %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: - - - - - - - 1.00 - - vpandnq %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: - - 1.00 - - - - - - - vpandnd %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: - - - - - - - 1.00 - - vpandnq %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: - - - 1.00 - - - - - - xorps %xmm0, %xmm0
-# CHECK-NEXT: - - - 1.00 - - - - - - xorpd %xmm1, %xmm1
-# CHECK-NEXT: - - 1.00 - - - - - - - vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: - - - 1.00 - - - - - - vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: - - 1.00 - - - - - - - vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: - - 1.00 - - - - - - - vxorps %zmm2, %zmm2, %zmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - vxorpd %zmm1, %zmm1, %zmm1
+# CHECK-NEXT: - - - - - - - 1.00 - - vandnpd %zmm1, %zmm1, %zmm5
+# CHECK-NEXT: - - - 1.00 - - - - - - vpandnd %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: - - 1.00 - - - - - - - vpandnq %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: - - - - - - - 1.00 - - vpandnd %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: - - - 1.00 - - - - - - vpandnq %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: - - - - - - - 1.00 - - vpandnd %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: - - 1.00 - - - - - - - vpandnq %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: - - - - - - - - - - xorps %xmm0, %xmm0
+# CHECK-NEXT: - - - - - - - - - - xorpd %xmm1, %xmm1
+# CHECK-NEXT: - - - - - - - - - - vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: - - - - - - - - - - vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: - - - - - - - - - - vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: - - - - - - - - - - vxorps %zmm2, %zmm2, %zmm2
+# CHECK-NEXT: - - - - - - - - - - vxorpd %zmm1, %zmm1, %zmm1
# CHECK-NEXT: - - - - - - - 1.00 - - pxor %mm2, %mm2
-# CHECK-NEXT: - - - 1.00 - - - - - - pxor %xmm2, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - 1.00 - - vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - 1.00 - - - - - - - vpxord %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: - - - 1.00 - - - - - - vpxorq %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: - - - - - - - 1.00 - - vpxord %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: - - - - - - - 1.00 - - vpxorq %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: - - - - - - - 1.00 - - vpxord %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: - - - - - - - 1.00 - - vpxorq %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: - - 1.00 - - - - - - - vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: - - 1.00 - - - - - - - vxorps %zmm4, %zmm4, %zmm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vxorpd %zmm1, %zmm1, %zmm3
-# CHECK-NEXT: - - - 1.00 - - - - - - vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - 1.00 - - - - - - vpxor %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - 1.00 - - - - - - - vpxord %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: - - - - - - - 1.00 - - vpxorq %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: - - - 1.00 - - - - - - vpxord %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: - - 1.00 - - - - - - - vpxorq %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: - - - - - - - 1.00 - - vpxord %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: - - 1.00 - - - - - - - vpxorq %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: - - - - - - - - - - pxor %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vpxord %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: - - - - - - - - - - vpxorq %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: - - - - - - - - - - vpxord %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: - - - - - - - - - - vpxorq %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: - - - - - - - - - - vpxord %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: - - - - - - - - - - vpxorq %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: - - - - - - - - - - vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: - - - - - - - - - - vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: - - - - - - - - - - vxorps %zmm4, %zmm4, %zmm5
+# CHECK-NEXT: - - - - - - - - - - vxorpd %zmm1, %zmm1, %zmm3
+# CHECK-NEXT: - - - - - - - - - - vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - vpxor %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - vpxord %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: - - - - - - - - - - vpxorq %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: - - - - - - - - - - vpxord %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: - - - - - - - - - - vpxorq %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: - - - - - - - - - - vpxord %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: - - - - - - - - - - vpxorq %zmm19, %zmm19, %zmm21
# CHECK: Timeline view:
-# CHECK-NEXT: 0123456789 0123456789 012
-# CHECK-NEXT: Index 0123456789 0123456789 0123456789
+# CHECK-NEXT: 0123456789
+# CHECK-NEXT: Index 0123456789 0123456
-# CHECK: [0,0] DeER . . . . . . . . . . . subl %eax, %eax
-# CHECK-NEXT: [0,1] D=eER. . . . . . . . . . . subq %rax, %rax
-# CHECK-NEXT: [0,2] D==eER . . . . . . . . . . xorl %eax, %eax
-# CHECK-NEXT: [0,3] D===eER . . . . . . . . . . xorq %rax, %rax
-# CHECK-NEXT: [0,4] DeE---R . . . . . . . . . . pcmpgtb %mm2, %mm2
-# CHECK-NEXT: [0,5] D=eE--R . . . . . . . . . . pcmpgtd %mm2, %mm2
-# CHECK-NEXT: [0,6] .D=eE-R . . . . . . . . . . pcmpgtw %mm2, %mm2
-# CHECK-NEXT: [0,7] .DeE--R . . . . . . . . . . pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: [0,8] .D=eE-R . . . . . . . . . . pcmpgtd %xmm2, %xmm2
-# CHECK-NEXT: [0,9] .D===eeeER. . . . . . . . . . pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: [0,10] .D======eER . . . . . . . . . pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: [0,11] .D==eE----R . . . . . . . . . vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,12] . D==eE---R . . . . . . . . . vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,13] . D===eeeER . . . . . . . . . vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,14] . D======eER . . . . . . . . . vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,15] . D=======eER . . . . . . . . . vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,16] . D=======eER . . . . . . . . . vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,17] . D=======eeeER. . . . . . . . . vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,18] . D=======eE-R. . . . . . . . . vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,19] . D=======eE-R. . . . . . . . . vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,20] . D========eER. . . . . . . . . vpcmpgtd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,21] . D=========eeeER . . . . . . . . vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,22] . D============eER . . . . . . . . vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,23] . D=============eER. . . . . . . . vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,24] . D============eER. . . . . . . . vpcmpgtd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,25] . D============eeeER . . . . . . . vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,26] . D=============eE-R . . . . . . . vpcmpgtw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,27] . D=eE-------------R . . . . . . . psubb %mm2, %mm2
-# CHECK-NEXT: [0,28] . D==eE------------R . . . . . . . psubd %mm2, %mm2
-# CHECK-NEXT: [0,29] . D===eE-----------R . . . . . . . psubq %mm2, %mm2
-# CHECK-NEXT: [0,30] . D===eE----------R . . . . . . . psubw %mm2, %mm2
-# CHECK-NEXT: [0,31] . D===eE----------R . . . . . . . psubb %xmm2, %xmm2
-# CHECK-NEXT: [0,32] . D=====eE--------R . . . . . . . psubd %xmm2, %xmm2
-# CHECK-NEXT: [0,33] . D======eE-------R . . . . . . . psubq %xmm2, %xmm2
-# CHECK-NEXT: [0,34] . D=======eE------R . . . . . . . psubw %xmm2, %xmm2
-# CHECK-NEXT: [0,35] . D============eE-R . . . . . . . vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,36] . .D============eER . . . . . . . vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,37] . .D=============eER . . . . . . . vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,38] . .D==============eER . . . . . . . vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,39] . .D===============eER. . . . . . . vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,40] . .D================eER . . . . . . vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,41] . .D=================eER . . . . . . vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,42] . . D=================eER . . . . . . vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,43] . . D==================eER . . . . . . vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,44] . . D==================eER . . . . . . vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,45] . . D==================eER . . . . . . vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,46] . . D===================eER. . . . . . vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,47] . . D===================eER. . . . . . vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,48] . . D==================eER. . . . . . vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,49] . . D===================eER . . . . . vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,50] . . D===================eER . . . . . vpsubw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,51] . . D===eE----------------R . . . . . vpsubb %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: [0,52] . . D====eE---------------R . . . . . vpsubd %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: [0,53] . . D=====eE--------------R . . . . . vpsubq %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: [0,54] . . D=====eE-------------R . . . . . vpsubw %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: [0,55] . . D======eE------------R . . . . . vpsubb %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: [0,56] . . D========eE----------R . . . . . vpsubd %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: [0,57] . . D=========eE---------R . . . . . vpsubq %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: [0,58] . . D==========eE--------R . . . . . vpsubw %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: [0,59] . . D===========eE-------R . . . . . vpsubb %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: [0,60] . . D===========eE------R . . . . . vpsubd %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: [0,61] . . D============eE-----R . . . . . vpsubq %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: [0,62] . . D=============eE----R . . . . . vpsubw %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: [0,63] . . D==============eE---R . . . . . vpsubb %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: [0,64] . . D==============eE---R . . . . . vpsubd %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: [0,65] . . D=================eER . . . . . vpsubq %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: [0,66] . . .D=================eER . . . . . vpsubw %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: [0,67] . . .D=================eER . . . . . vpsubb %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: [0,68] . . .D=================eER . . . . . vpsubd %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: [0,69] . . .D==================eER . . . . . vpsubq %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: [0,70] . . .D==================eER . . . . . vpsubw %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: [0,71] . . .D==================eER . . . . . vpsubb %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: [0,72] . . . D==================eER . . . . . vpsubd %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: [0,73] . . . D==================eER . . . . . vpsubq %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: [0,74] . . . D==================eER . . . . . vpsubw %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: [0,75] . . . D=eE-----------------R . . . . . andnps %xmm0, %xmm0
-# CHECK-NEXT: [0,76] . . . D=eE-----------------R . . . . . andnpd %xmm1, %xmm1
-# CHECK-NEXT: [0,77] . . . D==eE----------------R . . . . . vandnps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: [0,78] . . . D=eE----------------R . . . . . vandnpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: [0,79] . . . D==eE---------------R . . . . . vandnps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: [0,80] . . . D=======eE----------R . . . . . vandnpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: [0,81] . . . D=====eE------------R . . . . . vandnps %zmm2, %zmm2, %zmm2
-# CHECK-NEXT: [0,82] . . . D========eE---------R . . . . . vandnpd %zmm1, %zmm1, %zmm1
-# CHECK-NEXT: [0,83] . . . D=========eE--------R . . . . . pandn %mm2, %mm2
-# CHECK-NEXT: [0,84] . . . D=====eE-----------R . . . . . pandn %xmm2, %xmm2
-# CHECK-NEXT: [0,85] . . . D=================eER. . . . . vpandn %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,86] . . . D==================eER . . . . vpandn %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,87] . . . D=================eE-R . . . . vpandnd %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: [0,88] . . . D==================eER . . . . vpandnq %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: [0,89] . . . D===================eER . . . . vpandnd %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: [0,90] . . . D===================eER . . . . vpandnq %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: [0,91] . . . D====================eER . . . . vpandnd %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: [0,92] . . . D=====================eER. . . . vpandnq %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: [0,93] . . . D========eE-------------R. . . . vandnps %xmm2, %xmm2, %xmm5
-# CHECK-NEXT: [0,94] . . . D================eE-----R. . . . vandnpd %xmm1, %xmm1, %xmm5
-# CHECK-NEXT: [0,95] . . . D==================eE---R. . . . vpandn %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,96] . . . .D================eE----R. . . . vandnps %ymm2, %ymm2, %ymm5
-# CHECK-NEXT: [0,97] . . . .D=================eE---R. . . . vandnpd %ymm1, %ymm1, %ymm5
-# CHECK-NEXT: [0,98] . . . .D==================eE--R. . . . vpandn %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,99] . . . .D==================eE--R. . . . vandnps %zmm2, %zmm2, %zmm5
-# CHECK-NEXT: [0,100] . . . .D===================eE-R. . . . vandnpd %zmm1, %zmm1, %zmm5
-# CHECK-NEXT: [0,101] . . . . D====================eER . . . vpandnd %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: [0,102] . . . . D====================eER . . . vpandnq %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: [0,103] . . . . D====================eER . . . vpandnd %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: [0,104] . . . . D====================eER . . . vpandnq %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: [0,105] . . . . D====================eER . . . vpandnd %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: [0,106] . . . . D=====================eER . . . vpandnq %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: [0,107] . . . . D=================eE---R . . . xorps %xmm0, %xmm0
-# CHECK-NEXT: [0,108] . . . . D================eE----R . . . xorpd %xmm1, %xmm1
-# CHECK-NEXT: [0,109] . . . . D=================eE---R . . . vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: [0,110] . . . . D==================eE-R . . . vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: [0,111] . . . . D===================eER . . . vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: [0,112] . . . . D===================eER . . . vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: [0,113] . . . . .D===================eER . . . vxorps %zmm2, %zmm2, %zmm2
-# CHECK-NEXT: [0,114] . . . . .D===================eER . . . vxorpd %zmm1, %zmm1, %zmm1
-# CHECK-NEXT: [0,115] . . . . .D====================eER. . . pxor %mm2, %mm2
-# CHECK-NEXT: [0,116] . . . . . D===================eER. . . pxor %xmm2, %xmm2
-# CHECK-NEXT: [0,117] . . . . . D==================eE-R. . . vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,118] . . . . . D====================eER . . vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,119] . . . . . D==================eE-R . . vpxord %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: [0,120] . . . . . D===================eER . . vpxorq %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: [0,121] . . . . . D====================eER . . vpxord %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: [0,122] . . . . . D====================eER . . vpxorq %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: [0,123] . . . . . D=====================eER . . vpxord %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: [0,124] . . . . . D======================eER. . vpxorq %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: [0,125] . . . . . D=================eE----R. . vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: [0,126] . . . . . D==================eE---R. . vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: [0,127] . . . . . D===================eE--R. . vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: [0,128] . . . . . .D==================eE--R. . vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: [0,129] . . . . . .D===================eE-R. . vxorps %zmm4, %zmm4, %zmm5
-# CHECK-NEXT: [0,130] . . . . . .D=================eE---R. . vxorpd %zmm1, %zmm1, %zmm3
-# CHECK-NEXT: [0,131] . . . . . . D==================eE-R. . vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,132] . . . . . . D===================eER. . vpxor %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,133] . . . . . . D====================eER . vpxord %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: [0,134] . . . . . . D===================eER . vpxorq %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: [0,135] . . . . . . D===================eER . vpxord %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: [0,136] . . . . . . D====================eER. vpxorq %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: [0,137] . . . . . . D===================eER. vpxord %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: [0,138] . . . . . . D====================eER vpxorq %zmm19, %zmm19, %zmm21
+# CHECK: [0,0] DR . . . . .. subl %eax, %eax
+# CHECK-NEXT: [0,1] DR . . . . .. subq %rax, %rax
+# CHECK-NEXT: [0,2] DR . . . . .. xorl %eax, %eax
+# CHECK-NEXT: [0,3] DR . . . . .. xorq %rax, %rax
+# CHECK-NEXT: [0,4] DeER . . . . .. pcmpgtb %mm2, %mm2
+# CHECK-NEXT: [0,5] D=eER. . . . .. pcmpgtd %mm2, %mm2
+# CHECK-NEXT: [0,6] .D=eER . . . .. pcmpgtw %mm2, %mm2
+# CHECK-NEXT: [0,7] .D---R . . . .. pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: [0,8] .D---R . . . .. pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: [0,9] .D---R . . . .. pcmpgtq %xmm2, %xmm2
+# CHECK-NEXT: [0,10] .D---R . . . .. pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: [0,11] .D---R . . . .. vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,12] . D--R . . . .. vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,13] . D--R . . . .. vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,14] . D--R . . . .. vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,15] . D--R . . . .. vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,16] . D--R . . . .. vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,17] . D--R . . . .. vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,18] . D-R . . . .. vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,19] . D-R . . . .. vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,20] . D-R . . . .. vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,21] . D-R . . . .. vpcmpgtq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,22] . D-R . . . .. vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,23] . D-R . . . .. vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,24] . DR . . . .. vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,25] . DR . . . .. vpcmpgtq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,26] . DR . . . .. vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,27] . DeER . . . .. psubb %mm2, %mm2
+# CHECK-NEXT: [0,28] . D=eER . . . .. psubd %mm2, %mm2
+# CHECK-NEXT: [0,29] . D==eER. . . .. psubq %mm2, %mm2
+# CHECK-NEXT: [0,30] . D==eER . . .. psubw %mm2, %mm2
+# CHECK-NEXT: [0,31] . D----R . . .. psubb %xmm2, %xmm2
+# CHECK-NEXT: [0,32] . D----R . . .. psubd %xmm2, %xmm2
+# CHECK-NEXT: [0,33] . D----R . . .. psubq %xmm2, %xmm2
+# CHECK-NEXT: [0,34] . D----R . . .. psubw %xmm2, %xmm2
+# CHECK-NEXT: [0,35] . D----R . . .. vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,36] . .D---R . . .. vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,37] . .D---R . . .. vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,38] . .D---R . . .. vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,39] . .D---R . . .. vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,40] . .D---R . . .. vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,41] . .D---R . . .. vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,42] . . D--R . . .. vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,43] . . D--R . . .. vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,44] . . D--R . . .. vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,45] . . D--R . . .. vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,46] . . D--R . . .. vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,47] . . D--R . . .. vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,48] . . D-R . . .. vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,49] . . D-R . . .. vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,50] . . D-R . . .. vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,51] . . D-R . . .. vpsubb %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: [0,52] . . D-R . . .. vpsubd %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: [0,53] . . D-R . . .. vpsubq %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: [0,54] . . DR . . .. vpsubw %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: [0,55] . . DR . . .. vpsubb %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: [0,56] . . DR . . .. vpsubd %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: [0,57] . . DR . . .. vpsubq %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: [0,58] . . DR . . .. vpsubw %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: [0,59] . . DR . . .. vpsubb %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: [0,60] . . DR . . .. vpsubd %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: [0,61] . . DR . . .. vpsubq %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: [0,62] . . DR . . .. vpsubw %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: [0,63] . . DR . . .. vpsubb %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: [0,64] . . DR . . .. vpsubd %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: [0,65] . . DR . . .. vpsubq %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: [0,66] . . .DR . . .. vpsubw %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: [0,67] . . .DR . . .. vpsubb %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: [0,68] . . .DR . . .. vpsubd %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: [0,69] . . .DR . . .. vpsubq %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: [0,70] . . .DR . . .. vpsubw %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: [0,71] . . .DR . . .. vpsubb %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: [0,72] . . . DR . . .. vpsubd %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: [0,73] . . . DR . . .. vpsubq %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: [0,74] . . . DR . . .. vpsubw %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: [0,75] . . . DeER . .. andnps %xmm0, %xmm0
+# CHECK-NEXT: [0,76] . . . DeER . .. andnpd %xmm1, %xmm1
+# CHECK-NEXT: [0,77] . . . DeER . .. vandnps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: [0,78] . . . DeER . .. vandnpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: [0,79] . . . DeER . .. vandnps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: [0,80] . . . D=eER . .. vandnpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: [0,81] . . . D=eER . .. vandnps %zmm2, %zmm2, %zmm2
+# CHECK-NEXT: [0,82] . . . D==eER . .. vandnpd %zmm1, %zmm1, %zmm1
+# CHECK-NEXT: [0,83] . . . DeE--R . .. pandn %mm2, %mm2
+# CHECK-NEXT: [0,84] . . . D=eER . .. pandn %xmm2, %xmm2
+# CHECK-NEXT: [0,85] . . . DeE-R . .. vpandn %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,86] . . . D=eER . .. vpandn %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,87] . . . D==eER. .. vpandnd %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: [0,88] . . . D===eER .. vpandnq %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: [0,89] . . . D====eER .. vpandnd %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: [0,90] . . . D====eER .. vpandnq %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: [0,91] . . . D=====eER .. vpandnd %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: [0,92] . . . D======eER.. vpandnq %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: [0,93] . . . D=eE-----R.. vandnps %xmm2, %xmm2, %xmm5
+# CHECK-NEXT: [0,94] . . . D=eE-----R.. vandnpd %xmm1, %xmm1, %xmm5
+# CHECK-NEXT: [0,95] . . . D==eE----R.. vpandn %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,96] . . . .D=eE----R.. vandnps %ymm2, %ymm2, %ymm5
+# CHECK-NEXT: [0,97] . . . .D==eE---R.. vandnpd %ymm1, %ymm1, %ymm5
+# CHECK-NEXT: [0,98] . . . .D==eE---R.. vpandn %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,99] . . . .D===eE--R.. vandnps %zmm2, %zmm2, %zmm5
+# CHECK-NEXT: [0,100] . . . .D===eE--R.. vandnpd %zmm1, %zmm1, %zmm5
+# CHECK-NEXT: [0,101] . . . .D======eER. vpandnd %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: [0,102] . . . . D=====eER. vpandnq %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: [0,103] . . . . D=====eER. vpandnd %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: [0,104] . . . . D======eER vpandnq %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: [0,105] . . . . D======eER vpandnd %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: [0,106] . . . . D======eER vpandnq %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: [0,107] . . . . D--------R xorps %xmm0, %xmm0
+# CHECK-NEXT: [0,108] . . . . D-------R xorpd %xmm1, %xmm1
+# CHECK-NEXT: [0,109] . . . . D-------R vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: [0,110] . . . . D-------R vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: [0,111] . . . . D-------R vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: [0,112] . . . . D-------R vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: [0,113] . . . . D-------R vxorps %zmm2, %zmm2, %zmm2
+# CHECK-NEXT: [0,114] . . . . D------R vxorpd %zmm1, %zmm1, %zmm1
+# CHECK-NEXT: [0,115] . . . . D=eE---R pxor %mm2, %mm2
+# CHECK-NEXT: [0,116] . . . . D------R pxor %xmm2, %xmm2
+# CHECK-NEXT: [0,117] . . . . D------R vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,118] . . . . D------R vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,119] . . . . D===E--R vpxord %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: [0,120] . . . . D==E--R vpxorq %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: [0,121] . . . . D==E--R vpxord %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: [0,122] . . . . D==E--R vpxorq %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: [0,123] . . . . D==E--R vpxord %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: [0,124] . . . . D==E--R vpxorq %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: [0,125] . . . . D-----R vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: [0,126] . . . . .D----R vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: [0,127] . . . . .D----R vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: [0,128] . . . . .D----R vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: [0,129] . . . . .D----R vxorps %zmm4, %zmm4, %zmm5
+# CHECK-NEXT: [0,130] . . . . .D----R vxorpd %zmm1, %zmm1, %zmm3
+# CHECK-NEXT: [0,131] . . . . .D----R vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,132] . . . . . D---R vpxor %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,133] . . . . . DE--R vpxord %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: [0,134] . . . . . DE--R vpxorq %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: [0,135] . . . . . DE--R vpxord %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: [0,136] . . . . . DE--R vpxorq %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: [0,137] . . . . . DE--R vpxord %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: [0,138] . . . . . D--R vpxorq %zmm19, %zmm19, %zmm21
# CHECK: Average Wait times (based on the timeline view):
# CHECK-NEXT: [0]: Executions
@@ -637,142 +637,142 @@ vpxorq %zmm19, %zmm19, %zmm21
# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
# CHECK: [0] [1] [2] [3]
-# CHECK-NEXT: 0. 1 1.0 1.0 0.0 subl %eax, %eax
-# CHECK-NEXT: 1. 1 2.0 0.0 0.0 subq %rax, %rax
-# CHECK-NEXT: 2. 1 3.0 0.0 0.0 xorl %eax, %eax
-# CHECK-NEXT: 3. 1 4.0 0.0 0.0 xorq %rax, %rax
-# CHECK-NEXT: 4. 1 1.0 1.0 3.0 pcmpgtb %mm2, %mm2
-# CHECK-NEXT: 5. 1 2.0 0.0 2.0 pcmpgtd %mm2, %mm2
-# CHECK-NEXT: 6. 1 2.0 0.0 1.0 pcmpgtw %mm2, %mm2
-# CHECK-NEXT: 7. 1 1.0 1.0 2.0 pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: 8. 1 2.0 0.0 1.0 pcmpgtd %xmm2, %xmm2
-# CHECK-NEXT: 9. 1 4.0 1.0 0.0 pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: 10. 1 7.0 0.0 0.0 pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: 11. 1 3.0 3.0 4.0 vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 12. 1 3.0 0.0 3.0 vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 13. 1 4.0 0.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 14. 1 7.0 0.0 0.0 vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 15. 1 8.0 0.0 0.0 vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 16. 1 8.0 0.0 0.0 vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 17. 1 8.0 0.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 18. 1 8.0 1.0 1.0 vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 19. 1 8.0 1.0 1.0 vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 20. 1 9.0 0.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 21. 1 10.0 0.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 22. 1 13.0 0.0 0.0 vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 23. 1 14.0 0.0 0.0 vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 24. 1 13.0 0.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 25. 1 13.0 0.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 26. 1 14.0 1.0 1.0 vpcmpgtw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 27. 1 2.0 2.0 13.0 psubb %mm2, %mm2
-# CHECK-NEXT: 28. 1 3.0 0.0 12.0 psubd %mm2, %mm2
-# CHECK-NEXT: 29. 1 4.0 0.0 11.0 psubq %mm2, %mm2
-# CHECK-NEXT: 30. 1 4.0 0.0 10.0 psubw %mm2, %mm2
-# CHECK-NEXT: 31. 1 4.0 0.0 10.0 psubb %xmm2, %xmm2
-# CHECK-NEXT: 32. 1 6.0 1.0 8.0 psubd %xmm2, %xmm2
-# CHECK-NEXT: 33. 1 7.0 0.0 7.0 psubq %xmm2, %xmm2
-# CHECK-NEXT: 34. 1 8.0 0.0 6.0 psubw %xmm2, %xmm2
-# CHECK-NEXT: 35. 1 13.0 1.0 1.0 vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 36. 1 13.0 0.0 0.0 vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 37. 1 14.0 0.0 0.0 vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 38. 1 15.0 0.0 0.0 vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 39. 1 16.0 0.0 0.0 vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 40. 1 17.0 0.0 0.0 vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 41. 1 18.0 0.0 0.0 vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 42. 1 18.0 0.0 0.0 vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 43. 1 19.0 0.0 0.0 vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 44. 1 19.0 0.0 0.0 vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 45. 1 19.0 0.0 0.0 vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 46. 1 20.0 1.0 0.0 vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 47. 1 20.0 1.0 0.0 vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 48. 1 19.0 1.0 0.0 vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 49. 1 20.0 2.0 0.0 vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 50. 1 20.0 2.0 0.0 vpsubw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 51. 1 4.0 4.0 16.0 vpsubb %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: 52. 1 5.0 0.0 15.0 vpsubd %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: 53. 1 6.0 0.0 14.0 vpsubq %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: 54. 1 6.0 0.0 13.0 vpsubw %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: 55. 1 7.0 0.0 12.0 vpsubb %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: 56. 1 9.0 1.0 10.0 vpsubd %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: 57. 1 10.0 0.0 9.0 vpsubq %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: 58. 1 11.0 0.0 8.0 vpsubw %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: 59. 1 12.0 0.0 7.0 vpsubb %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: 60. 1 12.0 0.0 6.0 vpsubd %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: 61. 1 13.0 0.0 5.0 vpsubq %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: 62. 1 14.0 0.0 4.0 vpsubw %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: 63. 1 15.0 0.0 3.0 vpsubb %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: 64. 1 15.0 0.0 3.0 vpsubd %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: 65. 1 18.0 3.0 0.0 vpsubq %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: 66. 1 18.0 4.0 0.0 vpsubw %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: 67. 1 18.0 4.0 0.0 vpsubb %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: 68. 1 18.0 4.0 0.0 vpsubd %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: 69. 1 19.0 5.0 0.0 vpsubq %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: 70. 1 19.0 5.0 0.0 vpsubw %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: 71. 1 19.0 5.0 0.0 vpsubb %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: 72. 1 19.0 6.0 0.0 vpsubd %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: 73. 1 19.0 6.0 0.0 vpsubq %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: 74. 1 19.0 6.0 0.0 vpsubw %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: 75. 1 2.0 2.0 17.0 andnps %xmm0, %xmm0
-# CHECK-NEXT: 76. 1 2.0 2.0 17.0 andnpd %xmm1, %xmm1
-# CHECK-NEXT: 77. 1 3.0 1.0 16.0 vandnps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: 78. 1 2.0 0.0 16.0 vandnpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: 79. 1 3.0 0.0 15.0 vandnps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: 80. 1 8.0 5.0 10.0 vandnpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: 81. 1 6.0 2.0 12.0 vandnps %zmm2, %zmm2, %zmm2
-# CHECK-NEXT: 82. 1 9.0 0.0 9.0 vandnpd %zmm1, %zmm1, %zmm1
-# CHECK-NEXT: 83. 1 10.0 10.0 8.0 pandn %mm2, %mm2
-# CHECK-NEXT: 84. 1 6.0 0.0 11.0 pandn %xmm2, %xmm2
-# CHECK-NEXT: 85. 1 18.0 6.0 0.0 vpandn %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 86. 1 19.0 0.0 0.0 vpandn %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 87. 1 18.0 7.0 1.0 vpandnd %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: 88. 1 19.0 0.0 0.0 vpandnq %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: 89. 1 20.0 0.0 0.0 vpandnd %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: 90. 1 20.0 0.0 0.0 vpandnq %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: 91. 1 21.0 0.0 0.0 vpandnd %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: 92. 1 22.0 0.0 0.0 vpandnq %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: 93. 1 9.0 3.0 13.0 vandnps %xmm2, %xmm2, %xmm5
-# CHECK-NEXT: 94. 1 17.0 9.0 5.0 vandnpd %xmm1, %xmm1, %xmm5
-# CHECK-NEXT: 95. 1 19.0 0.0 3.0 vpandn %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 96. 1 17.0 12.0 4.0 vandnps %ymm2, %ymm2, %ymm5
-# CHECK-NEXT: 97. 1 18.0 11.0 3.0 vandnpd %ymm1, %ymm1, %ymm5
-# CHECK-NEXT: 98. 1 19.0 1.0 2.0 vpandn %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 99. 1 19.0 14.0 2.0 vandnps %zmm2, %zmm2, %zmm5
-# CHECK-NEXT: 100. 1 20.0 13.0 1.0 vandnpd %zmm1, %zmm1, %zmm5
-# CHECK-NEXT: 101. 1 21.0 0.0 0.0 vpandnd %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: 102. 1 21.0 0.0 0.0 vpandnq %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: 103. 1 21.0 0.0 0.0 vpandnd %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: 104. 1 21.0 1.0 0.0 vpandnq %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: 105. 1 21.0 1.0 0.0 vpandnd %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: 106. 1 22.0 2.0 0.0 vpandnq %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: 107. 1 18.0 18.0 3.0 xorps %xmm0, %xmm0
-# CHECK-NEXT: 108. 1 17.0 13.0 4.0 xorpd %xmm1, %xmm1
-# CHECK-NEXT: 109. 1 18.0 16.0 3.0 vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: 110. 1 19.0 2.0 1.0 vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: 111. 1 20.0 2.0 0.0 vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: 112. 1 20.0 0.0 0.0 vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: 113. 1 20.0 0.0 0.0 vxorps %zmm2, %zmm2, %zmm2
-# CHECK-NEXT: 114. 1 20.0 0.0 0.0 vxorpd %zmm1, %zmm1, %zmm1
-# CHECK-NEXT: 115. 1 21.0 18.0 0.0 pxor %mm2, %mm2
-# CHECK-NEXT: 116. 1 20.0 0.0 0.0 pxor %xmm2, %xmm2
-# CHECK-NEXT: 117. 1 19.0 7.0 1.0 vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 118. 1 21.0 1.0 0.0 vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 119. 1 19.0 4.0 1.0 vpxord %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: 120. 1 20.0 0.0 0.0 vpxorq %xmm19, %xmm19, %xmm19
-# CHECK-NEXT: 121. 1 21.0 0.0 0.0 vpxord %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: 122. 1 21.0 0.0 0.0 vpxorq %ymm19, %ymm19, %ymm19
-# CHECK-NEXT: 123. 1 22.0 0.0 0.0 vpxord %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: 124. 1 23.0 0.0 0.0 vpxorq %zmm19, %zmm19, %zmm19
-# CHECK-NEXT: 125. 1 18.0 18.0 4.0 vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: 126. 1 19.0 2.0 3.0 vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: 127. 1 20.0 20.0 2.0 vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: 128. 1 19.0 3.0 2.0 vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: 129. 1 20.0 20.0 1.0 vxorps %zmm4, %zmm4, %zmm5
-# CHECK-NEXT: 130. 1 18.0 2.0 3.0 vxorpd %zmm1, %zmm1, %zmm3
-# CHECK-NEXT: 131. 1 19.0 1.0 1.0 vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 132. 1 20.0 2.0 0.0 vpxor %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 133. 1 21.0 0.0 0.0 vpxord %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: 134. 1 20.0 0.0 0.0 vpxorq %xmm19, %xmm19, %xmm21
-# CHECK-NEXT: 135. 1 20.0 0.0 0.0 vpxord %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: 136. 1 21.0 1.0 0.0 vpxorq %ymm19, %ymm19, %ymm21
-# CHECK-NEXT: 137. 1 20.0 1.0 0.0 vpxord %zmm19, %zmm19, %zmm21
-# CHECK-NEXT: 138. 1 21.0 2.0 0.0 vpxorq %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: 0. 1 0.0 0.0 0.0 subl %eax, %eax
+# CHECK-NEXT: 1. 1 0.0 0.0 0.0 subq %rax, %rax
+# CHECK-NEXT: 2. 1 0.0 0.0 0.0 xorl %eax, %eax
+# CHECK-NEXT: 3. 1 0.0 0.0 0.0 xorq %rax, %rax
+# CHECK-NEXT: 4. 1 1.0 1.0 0.0 pcmpgtb %mm2, %mm2
+# CHECK-NEXT: 5. 1 2.0 0.0 0.0 pcmpgtd %mm2, %mm2
+# CHECK-NEXT: 6. 1 2.0 0.0 0.0 pcmpgtw %mm2, %mm2
+# CHECK-NEXT: 7. 1 0.0 0.0 3.0 pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: 8. 1 0.0 0.0 3.0 pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: 9. 1 0.0 0.0 3.0 pcmpgtq %xmm2, %xmm2
+# CHECK-NEXT: 10. 1 0.0 0.0 3.0 pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: 11. 1 0.0 0.0 3.0 vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 12. 1 0.0 0.0 2.0 vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 13. 1 0.0 0.0 2.0 vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 14. 1 0.0 0.0 2.0 vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 15. 1 0.0 0.0 2.0 vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 16. 1 0.0 0.0 2.0 vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 17. 1 0.0 0.0 2.0 vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 18. 1 0.0 0.0 1.0 vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 19. 1 0.0 0.0 1.0 vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 20. 1 0.0 0.0 1.0 vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 21. 1 0.0 0.0 1.0 vpcmpgtq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 22. 1 0.0 0.0 1.0 vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 23. 1 0.0 0.0 1.0 vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 24. 1 0.0 0.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 25. 1 0.0 0.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 26. 1 0.0 0.0 0.0 vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 27. 1 1.0 1.0 0.0 psubb %mm2, %mm2
+# CHECK-NEXT: 28. 1 2.0 0.0 0.0 psubd %mm2, %mm2
+# CHECK-NEXT: 29. 1 3.0 0.0 0.0 psubq %mm2, %mm2
+# CHECK-NEXT: 30. 1 3.0 0.0 0.0 psubw %mm2, %mm2
+# CHECK-NEXT: 31. 1 0.0 0.0 4.0 psubb %xmm2, %xmm2
+# CHECK-NEXT: 32. 1 0.0 0.0 4.0 psubd %xmm2, %xmm2
+# CHECK-NEXT: 33. 1 0.0 0.0 4.0 psubq %xmm2, %xmm2
+# CHECK-NEXT: 34. 1 0.0 0.0 4.0 psubw %xmm2, %xmm2
+# CHECK-NEXT: 35. 1 0.0 0.0 4.0 vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 36. 1 0.0 0.0 3.0 vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 37. 1 0.0 0.0 3.0 vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 38. 1 0.0 0.0 3.0 vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 39. 1 0.0 0.0 3.0 vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 40. 1 0.0 0.0 3.0 vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 41. 1 0.0 0.0 3.0 vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 42. 1 0.0 0.0 2.0 vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 43. 1 0.0 0.0 2.0 vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 44. 1 0.0 0.0 2.0 vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 45. 1 0.0 0.0 2.0 vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 46. 1 0.0 0.0 2.0 vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 47. 1 0.0 0.0 2.0 vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 48. 1 0.0 0.0 1.0 vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 49. 1 0.0 0.0 1.0 vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 50. 1 0.0 0.0 1.0 vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 51. 1 0.0 0.0 1.0 vpsubb %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: 52. 1 0.0 0.0 1.0 vpsubd %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: 53. 1 0.0 0.0 1.0 vpsubq %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: 54. 1 0.0 0.0 0.0 vpsubw %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: 55. 1 0.0 0.0 0.0 vpsubb %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: 56. 1 0.0 0.0 0.0 vpsubd %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: 57. 1 0.0 0.0 0.0 vpsubq %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: 58. 1 0.0 0.0 0.0 vpsubw %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: 59. 1 0.0 0.0 0.0 vpsubb %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: 60. 1 0.0 0.0 0.0 vpsubd %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: 61. 1 0.0 0.0 0.0 vpsubq %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: 62. 1 0.0 0.0 0.0 vpsubw %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: 63. 1 0.0 0.0 0.0 vpsubb %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: 64. 1 0.0 0.0 0.0 vpsubd %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: 65. 1 0.0 0.0 0.0 vpsubq %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: 66. 1 0.0 0.0 0.0 vpsubw %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: 67. 1 0.0 0.0 0.0 vpsubb %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: 68. 1 0.0 0.0 0.0 vpsubd %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: 69. 1 0.0 0.0 0.0 vpsubq %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: 70. 1 0.0 0.0 0.0 vpsubw %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: 71. 1 0.0 0.0 0.0 vpsubb %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: 72. 1 0.0 0.0 0.0 vpsubd %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: 73. 1 0.0 0.0 0.0 vpsubq %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: 74. 1 0.0 0.0 0.0 vpsubw %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: 75. 1 1.0 1.0 0.0 andnps %xmm0, %xmm0
+# CHECK-NEXT: 76. 1 1.0 1.0 0.0 andnpd %xmm1, %xmm1
+# CHECK-NEXT: 77. 1 1.0 1.0 0.0 vandnps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: 78. 1 1.0 0.0 0.0 vandnpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: 79. 1 1.0 0.0 0.0 vandnps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: 80. 1 2.0 0.0 0.0 vandnpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 81. 1 2.0 0.0 0.0 vandnps %zmm2, %zmm2, %zmm2
+# CHECK-NEXT: 82. 1 3.0 0.0 0.0 vandnpd %zmm1, %zmm1, %zmm1
+# CHECK-NEXT: 83. 1 1.0 1.0 2.0 pandn %mm2, %mm2
+# CHECK-NEXT: 84. 1 2.0 0.0 0.0 pandn %xmm2, %xmm2
+# CHECK-NEXT: 85. 1 1.0 1.0 1.0 vpandn %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 86. 1 2.0 0.0 0.0 vpandn %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 87. 1 3.0 3.0 0.0 vpandnd %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: 88. 1 4.0 0.0 0.0 vpandnq %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: 89. 1 5.0 0.0 0.0 vpandnd %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: 90. 1 5.0 0.0 0.0 vpandnq %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: 91. 1 6.0 0.0 0.0 vpandnd %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: 92. 1 7.0 0.0 0.0 vpandnq %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: 93. 1 2.0 0.0 5.0 vandnps %xmm2, %xmm2, %xmm5
+# CHECK-NEXT: 94. 1 2.0 0.0 5.0 vandnpd %xmm1, %xmm1, %xmm5
+# CHECK-NEXT: 95. 1 3.0 1.0 4.0 vpandn %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 96. 1 2.0 1.0 4.0 vandnps %ymm2, %ymm2, %ymm5
+# CHECK-NEXT: 97. 1 3.0 2.0 3.0 vandnpd %ymm1, %ymm1, %ymm5
+# CHECK-NEXT: 98. 1 3.0 2.0 3.0 vpandn %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 99. 1 4.0 3.0 2.0 vandnps %zmm2, %zmm2, %zmm5
+# CHECK-NEXT: 100. 1 4.0 3.0 2.0 vandnpd %zmm1, %zmm1, %zmm5
+# CHECK-NEXT: 101. 1 7.0 0.0 0.0 vpandnd %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: 102. 1 6.0 0.0 0.0 vpandnq %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: 103. 1 6.0 0.0 0.0 vpandnd %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: 104. 1 7.0 1.0 0.0 vpandnq %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: 105. 1 7.0 1.0 0.0 vpandnd %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: 106. 1 7.0 1.0 0.0 vpandnq %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: 107. 1 0.0 0.0 8.0 xorps %xmm0, %xmm0
+# CHECK-NEXT: 108. 1 0.0 0.0 7.0 xorpd %xmm1, %xmm1
+# CHECK-NEXT: 109. 1 0.0 0.0 7.0 vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: 110. 1 0.0 0.0 7.0 vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: 111. 1 0.0 0.0 7.0 vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: 112. 1 0.0 0.0 7.0 vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 113. 1 0.0 0.0 7.0 vxorps %zmm2, %zmm2, %zmm2
+# CHECK-NEXT: 114. 1 0.0 0.0 6.0 vxorpd %zmm1, %zmm1, %zmm1
+# CHECK-NEXT: 115. 1 2.0 2.0 3.0 pxor %mm2, %mm2
+# CHECK-NEXT: 116. 1 0.0 0.0 6.0 pxor %xmm2, %xmm2
+# CHECK-NEXT: 117. 1 0.0 0.0 6.0 vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 118. 1 0.0 0.0 6.0 vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 119. 1 4.0 0.0 2.0 vpxord %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: 120. 1 3.0 0.0 2.0 vpxorq %xmm19, %xmm19, %xmm19
+# CHECK-NEXT: 121. 1 3.0 0.0 2.0 vpxord %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: 122. 1 3.0 0.0 2.0 vpxorq %ymm19, %ymm19, %ymm19
+# CHECK-NEXT: 123. 1 3.0 0.0 2.0 vpxord %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: 124. 1 3.0 0.0 2.0 vpxorq %zmm19, %zmm19, %zmm19
+# CHECK-NEXT: 125. 1 0.0 0.0 5.0 vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: 126. 1 0.0 0.0 4.0 vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: 127. 1 0.0 0.0 4.0 vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: 128. 1 0.0 0.0 4.0 vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: 129. 1 0.0 0.0 4.0 vxorps %zmm4, %zmm4, %zmm5
+# CHECK-NEXT: 130. 1 0.0 0.0 4.0 vxorpd %zmm1, %zmm1, %zmm3
+# CHECK-NEXT: 131. 1 0.0 0.0 4.0 vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 132. 1 0.0 0.0 3.0 vpxor %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 133. 1 1.0 0.0 2.0 vpxord %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: 134. 1 1.0 0.0 2.0 vpxorq %xmm19, %xmm19, %xmm21
+# CHECK-NEXT: 135. 1 1.0 0.0 2.0 vpxord %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: 136. 1 1.0 0.0 2.0 vpxorq %ymm19, %ymm19, %ymm21
+# CHECK-NEXT: 137. 1 1.0 0.0 2.0 vpxord %zmm19, %zmm19, %zmm21
+# CHECK-NEXT: 138. 1 0.0 0.0 2.0 vpxorq %zmm19, %zmm19, %zmm21
More information about the llvm-commits
mailing list