diff --git a/llvm/lib/Target/X86/X86ScheduleBtVer2.td b/llvm/lib/Target/X86/X86ScheduleBtVer2.td index 721088457a3e..be77f885a28a 100644 --- a/llvm/lib/Target/X86/X86ScheduleBtVer2.td +++ b/llvm/lib/Target/X86/X86ScheduleBtVer2.td @@ -555,7 +555,7 @@ def JWriteZeroLatency : SchedWriteRes<[]> { let Latency = 0; } -// Vector XOR instructions that use the same register for both source +// Certain vector instructions that use the same register for both source // operands do not have a real dependency on the previous contents of the // register, and thus, do not have to wait before completing. They can be // optimized out at register renaming stage. @@ -568,14 +568,42 @@ def JWriteFZeroIdiom : SchedWriteVariant<[ SchedVar, [JWriteZeroLatency]>, SchedVar, [WriteFLogic]> ]>; +def : InstRW<[JWriteFZeroIdiom], (instrs XORPSrr, VXORPSrr, XORPDrr, VXORPDrr, + ANDNPSrr, VANDNPSrr, + ANDNPDrr, VANDNPDrr)>; -def : InstRW<[JWriteFZeroIdiom], (instrs XORPSrr, VXORPSrr, XORPDrr, VXORPDrr)>; +def JWriteVZeroIdiomLogic : SchedWriteVariant<[ + SchedVar, [JWriteZeroLatency]>, + SchedVar, [WriteVecLogic]> +]>; +def : InstRW<[JWriteVZeroIdiomLogic], (instrs MMX_PXORirr, MMX_PANDNirr)>; -def JWriteVZeroIdiom : SchedWriteVariant<[ +def JWriteVZeroIdiomLogicX : SchedWriteVariant<[ SchedVar, [JWriteZeroLatency]>, SchedVar, [WriteVecLogicX]> ]>; +def : InstRW<[JWriteVZeroIdiomLogicX], (instrs PXORrr, VPXORrr, + PANDNrr, VPANDNrr)>; -def : InstRW<[JWriteVZeroIdiom], (instrs PXORrr, VPXORrr)>; +def JWriteVZeroIdiomALU : SchedWriteVariant<[ + SchedVar, [JWriteZeroLatency]>, + SchedVar, [WriteVecALU]> +]>; +def : InstRW<[JWriteVZeroIdiomALU], (instrs MMX_PSUBBirr, MMX_PSUBDirr, + MMX_PSUBQirr, MMX_PSUBWirr, + MMX_PCMPGTBirr, MMX_PCMPGTDirr, + MMX_PCMPGTWirr)>; +def JWriteVZeroIdiomALUX : SchedWriteVariant<[ + SchedVar, [JWriteZeroLatency]>, + SchedVar, [WriteVecALUX]> +]>; +def : InstRW<[JWriteVZeroIdiomALUX], (instrs PSUBBrr, VPSUBBrr, + PSUBDrr, VPSUBDrr, + PSUBQrr, VPSUBQrr, + PSUBWrr, VPSUBWrr, + PCMPGTBrr, VPCMPGTBrr, + PCMPGTDrr, VPCMPGTDrr, + PCMPGTQrr, VPCMPGTQrr, + PCMPGTWrr, VPCMPGTWrr)>; } // SchedModel diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s b/llvm/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s index f287f8dbbc0d..3d0ab7592a8e 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s @@ -69,9 +69,9 @@ vpxor %xmm3, %xmm3, %xmm5 # CHECK: Iterations: 5 # CHECK-NEXT: Instructions: 255 -# CHECK-NEXT: Total Cycles: 135 +# CHECK-NEXT: Total Cycles: 129 # CHECK-NEXT: Dispatch Width: 2 -# CHECK-NEXT: IPC: 1.89 +# CHECK-NEXT: IPC: 1.98 # CHECK-NEXT: Block RThroughput: 25.5 # CHECK: Instruction Info: @@ -83,52 +83,52 @@ vpxor %xmm3, %xmm3, %xmm5 # CHECK-NEXT: [6]: HasSideEffects # CHECK: [1] [2] [3] [4] [5] [6] Instructions: -# 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 1 0.50 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 1 0.50 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 1 0.50 vpcmpgtq %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: 1 1 0.50 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 %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 andnps %xmm0, %xmm0 -# CHECK-NEXT: 1 1 0.50 andnpd %xmm1, %xmm1 -# CHECK-NEXT: 1 1 0.50 vandnps %xmm2, %xmm2, %xmm2 -# CHECK-NEXT: 1 1 0.50 vandnpd %xmm1, %xmm1, %xmm1 -# CHECK-NEXT: 1 1 0.50 pandn %mm2, %mm2 -# CHECK-NEXT: 1 1 0.50 pandn %xmm2, %xmm2 -# CHECK-NEXT: 1 1 0.50 vpandn %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: 1 1 0.50 vandnps %xmm2, %xmm2, %xmm5 -# CHECK-NEXT: 1 1 0.50 vandnpd %xmm1, %xmm1, %xmm5 -# CHECK-NEXT: 1 1 0.50 vpandn %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 1 0 0.50 pcmpgtb %mm2, %mm2 +# CHECK-NEXT: 1 0 0.50 pcmpgtd %mm2, %mm2 +# CHECK-NEXT: 1 0 0.50 pcmpgtw %mm2, %mm2 +# CHECK-NEXT: 1 0 0.50 pcmpgtb %xmm2, %xmm2 +# CHECK-NEXT: 1 0 0.50 pcmpgtd %xmm2, %xmm2 +# CHECK-NEXT: 1 0 0.50 pcmpgtq %xmm2, %xmm2 +# CHECK-NEXT: 1 0 0.50 pcmpgtw %xmm2, %xmm2 +# CHECK-NEXT: 1 0 0.50 vpcmpgtb %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 1 0 0.50 vpcmpgtd %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 1 0 0.50 vpcmpgtq %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 1 0 0.50 vpcmpgtw %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 1 0 0.50 vpcmpgtb %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 1 0 0.50 vpcmpgtd %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 1 0 0.50 vpcmpgtq %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 1 0 0.50 vpcmpgtw %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 1 0 0.50 psubb %mm2, %mm2 +# CHECK-NEXT: 1 0 0.50 psubd %mm2, %mm2 +# CHECK-NEXT: 1 0 0.50 psubq %mm2, %mm2 +# CHECK-NEXT: 1 0 0.50 psubw %mm2, %mm2 +# CHECK-NEXT: 1 0 0.50 psubb %xmm2, %xmm2 +# CHECK-NEXT: 1 0 0.50 psubd %xmm2, %xmm2 +# CHECK-NEXT: 1 0 0.50 psubq %xmm2, %xmm2 +# CHECK-NEXT: 1 0 0.50 psubw %xmm2, %xmm2 +# CHECK-NEXT: 1 0 0.50 vpsubb %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 1 0 0.50 vpsubd %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 1 0 0.50 vpsubq %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 1 0 0.50 vpsubw %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 1 0 0.50 vpsubb %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 1 0 0.50 vpsubd %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 1 0 0.50 vpsubq %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 1 0 0.50 vpsubw %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 1 0 0.50 andnps %xmm0, %xmm0 +# CHECK-NEXT: 1 0 0.50 andnpd %xmm1, %xmm1 +# CHECK-NEXT: 1 0 0.50 vandnps %xmm2, %xmm2, %xmm2 +# CHECK-NEXT: 1 0 0.50 vandnpd %xmm1, %xmm1, %xmm1 +# CHECK-NEXT: 1 0 0.50 pandn %mm2, %mm2 +# CHECK-NEXT: 1 0 0.50 pandn %xmm2, %xmm2 +# CHECK-NEXT: 1 0 0.50 vpandn %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 1 0 0.50 vandnps %xmm2, %xmm2, %xmm5 +# CHECK-NEXT: 1 0 0.50 vandnpd %xmm1, %xmm1, %xmm5 +# CHECK-NEXT: 1 0 0.50 vpandn %xmm3, %xmm3, %xmm5 # CHECK-NEXT: 1 0 0.50 xorps %xmm0, %xmm0 # CHECK-NEXT: 1 0 0.50 xorpd %xmm1, %xmm1 # CHECK-NEXT: 1 0 0.50 vxorps %xmm2, %xmm2, %xmm2 # CHECK-NEXT: 1 0 0.50 vxorpd %xmm1, %xmm1, %xmm1 -# CHECK-NEXT: 1 1 0.50 pxor %mm2, %mm2 +# CHECK-NEXT: 1 0 0.50 pxor %mm2, %mm2 # CHECK-NEXT: 1 0 0.50 pxor %xmm2, %xmm2 # CHECK-NEXT: 1 0 0.50 vpxor %xmm3, %xmm3, %xmm3 # CHECK-NEXT: 1 0 0.50 vxorps %xmm4, %xmm4, %xmm5 @@ -136,13 +136,13 @@ vpxor %xmm3, %xmm3, %xmm5 # CHECK-NEXT: 1 0 0.50 vpxor %xmm3, %xmm3, %xmm5 # CHECK: Register File statistics: -# CHECK-NEXT: Total number of mappings created: 210 -# CHECK-NEXT: Max number of mappings used: 14 +# CHECK-NEXT: Total number of mappings created: 0 +# CHECK-NEXT: Max number of mappings used: 0 # CHECK: * Register File #1 -- JFpuPRF: # CHECK-NEXT: Number of physical registers: 72 -# CHECK-NEXT: Total number of mappings created: 210 -# CHECK-NEXT: Max number of mappings used: 14 +# CHECK-NEXT: Total number of mappings created: 0 +# CHECK-NEXT: Max number of mappings used: 0 # CHECK: * Register File #2 -- JIntegerPRF: # CHECK-NEXT: Number of physical registers: 64 @@ -167,56 +167,56 @@ vpxor %xmm3, %xmm3, %xmm5 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] -# CHECK-NEXT: - - - 3.00 3.00 21.00 21.00 - - - - 18.00 18.00 - +# CHECK-NEXT: - - - - - - - - - - - - - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pcmpgtb %mm2, %mm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pcmpgtd %mm2, %mm2 -# CHECK-NEXT: - - - - - 0.60 0.40 - - - - 0.60 0.40 - pcmpgtw %mm2, %mm2 -# CHECK-NEXT: - - - - - 0.40 0.60 - - - - 0.40 0.60 - pcmpgtb %xmm2, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pcmpgtd %xmm2, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pcmpgtq %xmm2, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pcmpgtw %xmm2, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpcmpgtb %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpcmpgtd %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpgtq %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpcmpgtw %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpgtb %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpcmpgtd %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpgtq %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpcmpgtw %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - psubb %mm2, %mm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - psubd %mm2, %mm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - psubq %mm2, %mm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - psubw %mm2, %mm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - psubb %xmm2, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - psubd %xmm2, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - psubq %xmm2, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - psubw %xmm2, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpsubb %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsubd %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpsubq %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubw %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpsubb %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsubd %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpsubq %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsubw %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - andnps %xmm0, %xmm0 -# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - andnpd %xmm1, %xmm1 -# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vandnps %xmm2, %xmm2, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vandnpd %xmm1, %xmm1, %xmm1 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pandn %mm2, %mm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pandn %xmm2, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpandn %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vandnps %xmm2, %xmm2, %xmm5 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vandnpd %xmm1, %xmm1, %xmm5 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpandn %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: - - - - - - - - - - - - - - pcmpgtb %mm2, %mm2 +# CHECK-NEXT: - - - - - - - - - - - - - - pcmpgtd %mm2, %mm2 +# CHECK-NEXT: - - - - - - - - - - - - - - pcmpgtw %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: - - - - - - - - - - - - - - psubb %mm2, %mm2 +# CHECK-NEXT: - - - - - - - - - - - - - - psubd %mm2, %mm2 +# CHECK-NEXT: - - - - - - - - - - - - - - psubq %mm2, %mm2 +# CHECK-NEXT: - - - - - - - - - - - - - - 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 %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: - - - - - - - - - - - - - - vpsubd %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: - - - - - - - - - - - - - - vpsubq %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: - - - - - - - - - - - - - - vpsubw %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: - - - - - - - - - - - - - - andnps %xmm0, %xmm0 +# CHECK-NEXT: - - - - - - - - - - - - - - andnpd %xmm1, %xmm1 +# CHECK-NEXT: - - - - - - - - - - - - - - vandnps %xmm2, %xmm2, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - - - vandnpd %xmm1, %xmm1, %xmm1 +# CHECK-NEXT: - - - - - - - - - - - - - - pandn %mm2, %mm2 +# CHECK-NEXT: - - - - - - - - - - - - - - pandn %xmm2, %xmm2 +# CHECK-NEXT: - - - - - - - - - - - - - - vpandn %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: - - - - - - - - - - - - - - vandnps %xmm2, %xmm2, %xmm5 +# CHECK-NEXT: - - - - - - - - - - - - - - vandnpd %xmm1, %xmm1, %xmm5 +# CHECK-NEXT: - - - - - - - - - - - - - - vpandn %xmm3, %xmm3, %xmm5 # CHECK-NEXT: - - - - - - - - - - - - - - xorps %xmm0, %xmm0 # CHECK-NEXT: - - - - - - - - - - - - - - xorpd %xmm1, %xmm1 # CHECK-NEXT: - - - - - - - - - - - - - - vxorps %xmm2, %xmm2, %xmm2 # CHECK-NEXT: - - - - - - - - - - - - - - vxorpd %xmm1, %xmm1, %xmm1 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pxor %mm2, %mm2 +# CHECK-NEXT: - - - - - - - - - - - - - - pxor %mm2, %mm2 # CHECK-NEXT: - - - - - - - - - - - - - - pxor %xmm2, %xmm2 # CHECK-NEXT: - - - - - - - - - - - - - - vpxor %xmm3, %xmm3, %xmm3 # CHECK-NEXT: - - - - - - - - - - - - - - vxorps %xmm4, %xmm4, %xmm5 @@ -227,152 +227,164 @@ vpxor %xmm3, %xmm3, %xmm5 # CHECK-NEXT: 0123456789 0123456789 0123456789 0123456789 # CHECK-NEXT: Index 0123456789 0123456789 0123456789 0123456789 -# CHECK: [0,0] DeER . . . . . . . . . . . . . . . . pcmpgtb %mm2, %mm2 -# CHECK-NEXT: [0,1] D=eER. . . . . . . . . . . . . . . . pcmpgtd %mm2, %mm2 -# CHECK-NEXT: [0,2] .D=eER . . . . . . . . . . . . . . . pcmpgtw %mm2, %mm2 -# CHECK-NEXT: [0,3] .DeE-R . . . . . . . . . . . . . . . pcmpgtb %xmm2, %xmm2 -# CHECK-NEXT: [0,4] . DeE-R . . . . . . . . . . . . . . . pcmpgtd %xmm2, %xmm2 -# CHECK-NEXT: [0,5] . D=eER . . . . . . . . . . . . . . . pcmpgtq %xmm2, %xmm2 -# CHECK-NEXT: [0,6] . D=eER . . . . . . . . . . . . . . . pcmpgtw %xmm2, %xmm2 -# CHECK-NEXT: [0,7] . DeE-R . . . . . . . . . . . . . . . vpcmpgtb %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [0,8] . DeE-R . . . . . . . . . . . . . . . vpcmpgtd %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [0,9] . D=eER . . . . . . . . . . . . . . . vpcmpgtq %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [0,10] . D=eER. . . . . . . . . . . . . . . vpcmpgtw %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [0,11] . D==eER . . . . . . . . . . . . . . vpcmpgtb %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [0,12] . .D=eER . . . . . . . . . . . . . . vpcmpgtd %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [0,13] . .D==eER . . . . . . . . . . . . . . vpcmpgtq %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [0,14] . . D=eER . . . . . . . . . . . . . . vpcmpgtw %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [0,15] . . D==eER . . . . . . . . . . . . . . psubb %mm2, %mm2 -# CHECK-NEXT: [0,16] . . D==eER . . . . . . . . . . . . . . psubd %mm2, %mm2 -# CHECK-NEXT: [0,17] . . D===eER. . . . . . . . . . . . . . psubq %mm2, %mm2 -# CHECK-NEXT: [0,18] . . D===eER . . . . . . . . . . . . . psubw %mm2, %mm2 -# CHECK-NEXT: [0,19] . . DeE---R . . . . . . . . . . . . . psubb %xmm2, %xmm2 -# CHECK-NEXT: [0,20] . . DeE---R . . . . . . . . . . . . . psubd %xmm2, %xmm2 -# CHECK-NEXT: [0,21] . . D=eE--R . . . . . . . . . . . . . psubq %xmm2, %xmm2 -# CHECK-NEXT: [0,22] . . .D=eE--R . . . . . . . . . . . . . psubw %xmm2, %xmm2 -# CHECK-NEXT: [0,23] . . .D==eE-R . . . . . . . . . . . . . vpsubb %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [0,24] . . . D==eE-R . . . . . . . . . . . . . vpsubd %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [0,25] . . . D===eER . . . . . . . . . . . . . vpsubq %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [0,26] . . . D===eER. . . . . . . . . . . . . vpsubw %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [0,27] . . . D====eER . . . . . . . . . . . . vpsubb %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [0,28] . . . D===eER . . . . . . . . . . . . vpsubd %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [0,29] . . . D====eER . . . . . . . . . . . . vpsubq %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [0,30] . . . D===eER . . . . . . . . . . . . vpsubw %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [0,31] . . . DeE----R . . . . . . . . . . . . andnps %xmm0, %xmm0 -# CHECK-NEXT: [0,32] . . . .DeE---R . . . . . . . . . . . . andnpd %xmm1, %xmm1 -# CHECK-NEXT: [0,33] . . . .D===eE-R . . . . . . . . . . . . vandnps %xmm2, %xmm2, %xmm2 -# CHECK-NEXT: [0,34] . . . . D==eE-R . . . . . . . . . . . . vandnpd %xmm1, %xmm1, %xmm1 -# CHECK-NEXT: [0,35] . . . . D===eE-R. . . . . . . . . . . . pandn %mm2, %mm2 -# CHECK-NEXT: [0,36] . . . . D==eE-R. . . . . . . . . . . . pandn %xmm2, %xmm2 -# CHECK-NEXT: [0,37] . . . . D===eE-R . . . . . . . . . . . vpandn %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [0,38] . . . . D==eE-R . . . . . . . . . . . vandnps %xmm2, %xmm2, %xmm5 -# CHECK-NEXT: [0,39] . . . . D===eE-R . . . . . . . . . . . vandnpd %xmm1, %xmm1, %xmm5 -# CHECK-NEXT: [0,40] . . . . D==eE-R . . . . . . . . . . . vpandn %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [0,41] . . . . D------R . . . . . . . . . . . xorps %xmm0, %xmm0 -# CHECK-NEXT: [0,42] . . . . .D-----R . . . . . . . . . . . xorpd %xmm1, %xmm1 -# CHECK-NEXT: [0,43] . . . . .D------R . . . . . . . . . . . vxorps %xmm2, %xmm2, %xmm2 -# CHECK-NEXT: [0,44] . . . . . D-----R . . . . . . . . . . . vxorpd %xmm1, %xmm1, %xmm1 -# CHECK-NEXT: [0,45] . . . . . D=eE---R. . . . . . . . . . . pxor %mm2, %mm2 -# CHECK-NEXT: [0,46] . . . . . D-----R. . . . . . . . . . . pxor %xmm2, %xmm2 -# CHECK-NEXT: [0,47] . . . . . D------R . . . . . . . . . . vpxor %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [0,48] . . . . . D-----R . . . . . . . . . . vxorps %xmm4, %xmm4, %xmm5 -# CHECK-NEXT: [0,49] . . . . . D------R . . . . . . . . . . vxorpd %xmm1, %xmm1, %xmm3 -# CHECK-NEXT: [0,50] . . . . . D-----R . . . . . . . . . . vpxor %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [1,0] . . . . . DeE----R . . . . . . . . . . pcmpgtb %mm2, %mm2 -# CHECK-NEXT: [1,1] . . . . . .DeE---R . . . . . . . . . . pcmpgtd %mm2, %mm2 -# CHECK-NEXT: [1,2] . . . . . .D=eE---R . . . . . . . . . . pcmpgtw %mm2, %mm2 -# CHECK-NEXT: [1,3] . . . . . . DeE---R . . . . . . . . . . pcmpgtb %xmm2, %xmm2 -# CHECK-NEXT: [1,4] . . . . . . D=eE---R. . . . . . . . . . pcmpgtd %xmm2, %xmm2 -# CHECK-NEXT: [1,5] . . . . . . D=eE--R. . . . . . . . . . pcmpgtq %xmm2, %xmm2 -# CHECK-NEXT: [1,6] . . . . . . D==eE--R . . . . . . . . . pcmpgtw %xmm2, %xmm2 -# CHECK-NEXT: [1,7] . . . . . . DeE---R . . . . . . . . . vpcmpgtb %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [1,8] . . . . . . D=eE---R . . . . . . . . . vpcmpgtd %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [1,9] . . . . . . D=eE--R . . . . . . . . . vpcmpgtq %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [1,10] . . . . . . D==eE--R . . . . . . . . . vpcmpgtw %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [1,11] . . . . . . .D==eE-R . . . . . . . . . vpcmpgtb %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [1,12] . . . . . . .D==eE--R . . . . . . . . . vpcmpgtd %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [1,13] . . . . . . . D==eE-R . . . . . . . . . vpcmpgtq %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [1,14] . . . . . . . D==eE--R. . . . . . . . . vpcmpgtw %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [1,15] . . . . . . . D==eE-R. . . . . . . . . psubb %mm2, %mm2 -# CHECK-NEXT: [1,16] . . . . . . . D===eE-R . . . . . . . . psubd %mm2, %mm2 -# CHECK-NEXT: [1,17] . . . . . . . D===eER . . . . . . . . psubq %mm2, %mm2 -# CHECK-NEXT: [1,18] . . . . . . . D====eER . . . . . . . . psubw %mm2, %mm2 -# CHECK-NEXT: [1,19] . . . . . . . DeE---R . . . . . . . . psubb %xmm2, %xmm2 -# CHECK-NEXT: [1,20] . . . . . . . D=eE---R . . . . . . . . psubd %xmm2, %xmm2 -# CHECK-NEXT: [1,21] . . . . . . . .D=eE--R . . . . . . . . psubq %xmm2, %xmm2 -# CHECK-NEXT: [1,22] . . . . . . . .D==eE--R . . . . . . . . psubw %xmm2, %xmm2 -# CHECK-NEXT: [1,23] . . . . . . . . D==eE-R . . . . . . . . vpsubb %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [1,24] . . . . . . . . D===eE-R. . . . . . . . vpsubd %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [1,25] . . . . . . . . D===eER. . . . . . . . vpsubq %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [1,26] . . . . . . . . D====eER . . . . . . . vpsubw %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [1,27] . . . . . . . . D====eER . . . . . . . vpsubb %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [1,28] . . . . . . . . D====eER . . . . . . . vpsubd %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [1,29] . . . . . . . . D====eER . . . . . . . vpsubq %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [1,30] . . . . . . . . D====eER . . . . . . . vpsubw %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [1,31] . . . . . . . . .DeE----R . . . . . . . andnps %xmm0, %xmm0 -# CHECK-NEXT: [1,32] . . . . . . . . .D=eE---R . . . . . . . andnpd %xmm1, %xmm1 -# CHECK-NEXT: [1,33] . . . . . . . . . D===eE-R. . . . . . . vandnps %xmm2, %xmm2, %xmm2 -# CHECK-NEXT: [1,34] . . . . . . . . . D===eE-R. . . . . . . vandnpd %xmm1, %xmm1, %xmm1 -# CHECK-NEXT: [1,35] . . . . . . . . . D===eE-R . . . . . . pandn %mm2, %mm2 -# CHECK-NEXT: [1,36] . . . . . . . . . D===eE-R . . . . . . pandn %xmm2, %xmm2 -# CHECK-NEXT: [1,37] . . . . . . . . . D===eE-R . . . . . . vpandn %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [1,38] . . . . . . . . . D===eE-R . . . . . . vandnps %xmm2, %xmm2, %xmm5 -# CHECK-NEXT: [1,39] . . . . . . . . . D===eE-R . . . . . . vandnpd %xmm1, %xmm1, %xmm5 -# CHECK-NEXT: [1,40] . . . . . . . . . D===eE-R . . . . . . vpandn %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [1,41] . . . . . . . . . .D------R . . . . . . xorps %xmm0, %xmm0 -# CHECK-NEXT: [1,42] . . . . . . . . . .D------R . . . . . . xorpd %xmm1, %xmm1 -# CHECK-NEXT: [1,43] . . . . . . . . . . D------R. . . . . . vxorps %xmm2, %xmm2, %xmm2 -# CHECK-NEXT: [1,44] . . . . . . . . . . D------R. . . . . . vxorpd %xmm1, %xmm1, %xmm1 -# CHECK-NEXT: [1,45] . . . . . . . . . . D=eE---R . . . . . pxor %mm2, %mm2 -# CHECK-NEXT: [1,46] . . . . . . . . . . D------R . . . . . pxor %xmm2, %xmm2 -# CHECK-NEXT: [1,47] . . . . . . . . . . D------R . . . . . vpxor %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [1,48] . . . . . . . . . . D------R . . . . . vxorps %xmm4, %xmm4, %xmm5 -# CHECK-NEXT: [1,49] . . . . . . . . . . D------R . . . . . vxorpd %xmm1, %xmm1, %xmm3 -# CHECK-NEXT: [1,50] . . . . . . . . . . D------R . . . . . vpxor %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [2,0] . . . . . . . . . . .DeE----R . . . . . pcmpgtb %mm2, %mm2 -# CHECK-NEXT: [2,1] . . . . . . . . . . .D=eE---R . . . . . pcmpgtd %mm2, %mm2 -# CHECK-NEXT: [2,2] . . . . . . . . . . . D=eE---R. . . . . pcmpgtw %mm2, %mm2 -# CHECK-NEXT: [2,3] . . . . . . . . . . . DeE----R. . . . . pcmpgtb %xmm2, %xmm2 -# CHECK-NEXT: [2,4] . . . . . . . . . . . DeE----R . . . . pcmpgtd %xmm2, %xmm2 -# CHECK-NEXT: [2,5] . . . . . . . . . . . D=eE---R . . . . pcmpgtq %xmm2, %xmm2 -# CHECK-NEXT: [2,6] . . . . . . . . . . . D=eE---R . . . . pcmpgtw %xmm2, %xmm2 -# CHECK-NEXT: [2,7] . . . . . . . . . . . DeE----R . . . . vpcmpgtb %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [2,8] . . . . . . . . . . . DeE----R . . . . vpcmpgtd %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [2,9] . . . . . . . . . . . D=eE---R . . . . vpcmpgtq %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [2,10] . . . . . . . . . . . .D=eE---R . . . . vpcmpgtw %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [2,11] . . . . . . . . . . . .D==eE--R . . . . vpcmpgtb %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [2,12] . . . . . . . . . . . . D=eE---R. . . . vpcmpgtd %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [2,13] . . . . . . . . . . . . D==eE--R. . . . vpcmpgtq %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [2,14] . . . . . . . . . . . . D=eE---R . . . vpcmpgtw %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [2,15] . . . . . . . . . . . . D==eE--R . . . psubb %mm2, %mm2 -# CHECK-NEXT: [2,16] . . . . . . . . . . . . D==eE--R . . . psubd %mm2, %mm2 -# CHECK-NEXT: [2,17] . . . . . . . . . . . . D===eE-R . . . psubq %mm2, %mm2 -# CHECK-NEXT: [2,18] . . . . . . . . . . . . D===eE-R . . . psubw %mm2, %mm2 -# CHECK-NEXT: [2,19] . . . . . . . . . . . . DeE----R . . . psubb %xmm2, %xmm2 -# CHECK-NEXT: [2,20] . . . . . . . . . . . . .DeE----R . . . psubd %xmm2, %xmm2 -# CHECK-NEXT: [2,21] . . . . . . . . . . . . .D=eE---R . . . psubq %xmm2, %xmm2 -# CHECK-NEXT: [2,22] . . . . . . . . . . . . . D=eE---R. . . psubw %xmm2, %xmm2 -# CHECK-NEXT: [2,23] . . . . . . . . . . . . . D==eE--R. . . vpsubb %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [2,24] . . . . . . . . . . . . . D==eE--R . . vpsubd %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [2,25] . . . . . . . . . . . . . D===eE-R . . vpsubq %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [2,26] . . . . . . . . . . . . . D===eE-R . . vpsubw %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [2,27] . . . . . . . . . . . . . D====eER . . vpsubb %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [2,28] . . . . . . . . . . . . . D===eE-R . . vpsubd %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [2,29] . . . . . . . . . . . . . D====eER . . vpsubq %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [2,30] . . . . . . . . . . . . . .D===eE-R . . vpsubw %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [2,31] . . . . . . . . . . . . . .DeE----R . . andnps %xmm0, %xmm0 -# CHECK-NEXT: [2,32] . . . . . . . . . . . . . . DeE----R. . andnpd %xmm1, %xmm1 -# CHECK-NEXT: [2,33] . . . . . . . . . . . . . . D===eE-R. . vandnps %xmm2, %xmm2, %xmm2 -# CHECK-NEXT: [2,34] . . . . . . . . . . . . . . D==eE--R . vandnpd %xmm1, %xmm1, %xmm1 -# CHECK-NEXT: [2,35] . . . . . . . . . . . . . . D===eE-R . pandn %mm2, %mm2 -# CHECK-NEXT: [2,36] . . . . . . . . . . . . . . D==eE--R . pandn %xmm2, %xmm2 -# CHECK-NEXT: [2,37] . . . . . . . . . . . . . . D===eE-R . vpandn %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: [2,38] . . . . . . . . . . . . . . D==eE--R . vandnps %xmm2, %xmm2, %xmm5 -# CHECK-NEXT: [2,39] . . . . . . . . . . . . . . D===eE-R . vandnpd %xmm1, %xmm1, %xmm5 -# CHECK-NEXT: [2,40] . . . . . . . . . . . . . . .D==eE--R. vpandn %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: [2,41] . . . . . . . . . . . . . . .D------R. xorps %xmm0, %xmm0 -# CHECK-NEXT: [2,42] . . . . . . . . . . . . . . . D------R xorpd %xmm1, %xmm1 -# CHECK-NEXT: [2,43] . . . . . . . . . . . . . . . D------R vxorps %xmm2, %xmm2, %xmm2 +# CHECK: [0,0] DR . . . . . . . . . . . . . . . . pcmpgtb %mm2, %mm2 +# CHECK-NEXT: [0,1] DR . . . . . . . . . . . . . . . . pcmpgtd %mm2, %mm2 +# CHECK-NEXT: [0,2] .DR . . . . . . . . . . . . . . . . pcmpgtw %mm2, %mm2 +# CHECK-NEXT: [0,3] .DR . . . . . . . . . . . . . . . . pcmpgtb %xmm2, %xmm2 +# CHECK-NEXT: [0,4] . DR . . . . . . . . . . . . . . . . pcmpgtd %xmm2, %xmm2 +# CHECK-NEXT: [0,5] . DR . . . . . . . . . . . . . . . . pcmpgtq %xmm2, %xmm2 +# CHECK-NEXT: [0,6] . DR. . . . . . . . . . . . . . . . pcmpgtw %xmm2, %xmm2 +# CHECK-NEXT: [0,7] . DR. . . . . . . . . . . . . . . . vpcmpgtb %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [0,8] . DR . . . . . . . . . . . . . . . vpcmpgtd %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [0,9] . DR . . . . . . . . . . . . . . . vpcmpgtq %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [0,10] . DR . . . . . . . . . . . . . . . vpcmpgtw %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [0,11] . DR . . . . . . . . . . . . . . . vpcmpgtb %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [0,12] . .DR . . . . . . . . . . . . . . . vpcmpgtd %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [0,13] . .DR . . . . . . . . . . . . . . . vpcmpgtq %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [0,14] . . DR . . . . . . . . . . . . . . . vpcmpgtw %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [0,15] . . DR . . . . . . . . . . . . . . . psubb %mm2, %mm2 +# CHECK-NEXT: [0,16] . . DR. . . . . . . . . . . . . . . psubd %mm2, %mm2 +# CHECK-NEXT: [0,17] . . DR. . . . . . . . . . . . . . . psubq %mm2, %mm2 +# CHECK-NEXT: [0,18] . . DR . . . . . . . . . . . . . . psubw %mm2, %mm2 +# CHECK-NEXT: [0,19] . . DR . . . . . . . . . . . . . . psubb %xmm2, %xmm2 +# CHECK-NEXT: [0,20] . . DR . . . . . . . . . . . . . . psubd %xmm2, %xmm2 +# CHECK-NEXT: [0,21] . . DR . . . . . . . . . . . . . . psubq %xmm2, %xmm2 +# CHECK-NEXT: [0,22] . . .DR . . . . . . . . . . . . . . psubw %xmm2, %xmm2 +# CHECK-NEXT: [0,23] . . .DR . . . . . . . . . . . . . . vpsubb %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [0,24] . . . DR . . . . . . . . . . . . . . vpsubd %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [0,25] . . . DR . . . . . . . . . . . . . . vpsubq %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [0,26] . . . DR. . . . . . . . . . . . . . vpsubw %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [0,27] . . . DR. . . . . . . . . . . . . . vpsubb %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [0,28] . . . DR . . . . . . . . . . . . . vpsubd %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [0,29] . . . DR . . . . . . . . . . . . . vpsubq %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [0,30] . . . DR . . . . . . . . . . . . . vpsubw %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [0,31] . . . DR . . . . . . . . . . . . . andnps %xmm0, %xmm0 +# CHECK-NEXT: [0,32] . . . .DR . . . . . . . . . . . . . andnpd %xmm1, %xmm1 +# CHECK-NEXT: [0,33] . . . .DR . . . . . . . . . . . . . vandnps %xmm2, %xmm2, %xmm2 +# CHECK-NEXT: [0,34] . . . . DR . . . . . . . . . . . . . vandnpd %xmm1, %xmm1, %xmm1 +# CHECK-NEXT: [0,35] . . . . DR . . . . . . . . . . . . . pandn %mm2, %mm2 +# CHECK-NEXT: [0,36] . . . . DR. . . . . . . . . . . . . pandn %xmm2, %xmm2 +# CHECK-NEXT: [0,37] . . . . DR. . . . . . . . . . . . . vpandn %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [0,38] . . . . DR . . . . . . . . . . . . vandnps %xmm2, %xmm2, %xmm5 +# CHECK-NEXT: [0,39] . . . . DR . . . . . . . . . . . . vandnpd %xmm1, %xmm1, %xmm5 +# CHECK-NEXT: [0,40] . . . . DR . . . . . . . . . . . . vpandn %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [0,41] . . . . DR . . . . . . . . . . . . xorps %xmm0, %xmm0 +# CHECK-NEXT: [0,42] . . . . .DR . . . . . . . . . . . . xorpd %xmm1, %xmm1 +# CHECK-NEXT: [0,43] . . . . .DR . . . . . . . . . . . . vxorps %xmm2, %xmm2, %xmm2 +# CHECK-NEXT: [0,44] . . . . . DR . . . . . . . . . . . . vxorpd %xmm1, %xmm1, %xmm1 +# CHECK-NEXT: [0,45] . . . . . DR . . . . . . . . . . . . pxor %mm2, %mm2 +# CHECK-NEXT: [0,46] . . . . . DR. . . . . . . . . . . . pxor %xmm2, %xmm2 +# CHECK-NEXT: [0,47] . . . . . DR. . . . . . . . . . . . vpxor %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [0,48] . . . . . DR . . . . . . . . . . . vxorps %xmm4, %xmm4, %xmm5 +# CHECK-NEXT: [0,49] . . . . . DR . . . . . . . . . . . vxorpd %xmm1, %xmm1, %xmm3 +# CHECK-NEXT: [0,50] . . . . . DR . . . . . . . . . . . vpxor %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [1,0] . . . . . DR . . . . . . . . . . . pcmpgtb %mm2, %mm2 +# CHECK-NEXT: [1,1] . . . . . .DR . . . . . . . . . . . pcmpgtd %mm2, %mm2 +# CHECK-NEXT: [1,2] . . . . . .DR . . . . . . . . . . . pcmpgtw %mm2, %mm2 +# CHECK-NEXT: [1,3] . . . . . . DR . . . . . . . . . . . pcmpgtb %xmm2, %xmm2 +# CHECK-NEXT: [1,4] . . . . . . DR . . . . . . . . . . . pcmpgtd %xmm2, %xmm2 +# CHECK-NEXT: [1,5] . . . . . . DR. . . . . . . . . . . pcmpgtq %xmm2, %xmm2 +# CHECK-NEXT: [1,6] . . . . . . DR. . . . . . . . . . . pcmpgtw %xmm2, %xmm2 +# CHECK-NEXT: [1,7] . . . . . . DR . . . . . . . . . . vpcmpgtb %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [1,8] . . . . . . DR . . . . . . . . . . vpcmpgtd %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [1,9] . . . . . . DR . . . . . . . . . . vpcmpgtq %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [1,10] . . . . . . DR . . . . . . . . . . vpcmpgtw %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [1,11] . . . . . . .DR . . . . . . . . . . vpcmpgtb %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [1,12] . . . . . . .DR . . . . . . . . . . vpcmpgtd %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [1,13] . . . . . . . DR . . . . . . . . . . vpcmpgtq %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [1,14] . . . . . . . DR . . . . . . . . . . vpcmpgtw %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [1,15] . . . . . . . DR. . . . . . . . . . psubb %mm2, %mm2 +# CHECK-NEXT: [1,16] . . . . . . . DR. . . . . . . . . . psubd %mm2, %mm2 +# CHECK-NEXT: [1,17] . . . . . . . DR . . . . . . . . . psubq %mm2, %mm2 +# CHECK-NEXT: [1,18] . . . . . . . DR . . . . . . . . . psubw %mm2, %mm2 +# CHECK-NEXT: [1,19] . . . . . . . DR . . . . . . . . . psubb %xmm2, %xmm2 +# CHECK-NEXT: [1,20] . . . . . . . DR . . . . . . . . . psubd %xmm2, %xmm2 +# CHECK-NEXT: [1,21] . . . . . . . .DR . . . . . . . . . psubq %xmm2, %xmm2 +# CHECK-NEXT: [1,22] . . . . . . . .DR . . . . . . . . . psubw %xmm2, %xmm2 +# CHECK-NEXT: [1,23] . . . . . . . . DR . . . . . . . . . vpsubb %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [1,24] . . . . . . . . DR . . . . . . . . . vpsubd %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [1,25] . . . . . . . . DR. . . . . . . . . vpsubq %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [1,26] . . . . . . . . DR. . . . . . . . . vpsubw %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [1,27] . . . . . . . . DR . . . . . . . . vpsubb %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [1,28] . . . . . . . . DR . . . . . . . . vpsubd %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [1,29] . . . . . . . . DR . . . . . . . . vpsubq %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [1,30] . . . . . . . . DR . . . . . . . . vpsubw %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [1,31] . . . . . . . . .DR . . . . . . . . andnps %xmm0, %xmm0 +# CHECK-NEXT: [1,32] . . . . . . . . .DR . . . . . . . . andnpd %xmm1, %xmm1 +# CHECK-NEXT: [1,33] . . . . . . . . . DR . . . . . . . . vandnps %xmm2, %xmm2, %xmm2 +# CHECK-NEXT: [1,34] . . . . . . . . . DR . . . . . . . . vandnpd %xmm1, %xmm1, %xmm1 +# CHECK-NEXT: [1,35] . . . . . . . . . DR. . . . . . . . pandn %mm2, %mm2 +# CHECK-NEXT: [1,36] . . . . . . . . . DR. . . . . . . . pandn %xmm2, %xmm2 +# CHECK-NEXT: [1,37] . . . . . . . . . DR . . . . . . . vpandn %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [1,38] . . . . . . . . . DR . . . . . . . vandnps %xmm2, %xmm2, %xmm5 +# CHECK-NEXT: [1,39] . . . . . . . . . DR . . . . . . . vandnpd %xmm1, %xmm1, %xmm5 +# CHECK-NEXT: [1,40] . . . . . . . . . DR . . . . . . . vpandn %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [1,41] . . . . . . . . . .DR . . . . . . . xorps %xmm0, %xmm0 +# CHECK-NEXT: [1,42] . . . . . . . . . .DR . . . . . . . xorpd %xmm1, %xmm1 +# CHECK-NEXT: [1,43] . . . . . . . . . . DR . . . . . . . vxorps %xmm2, %xmm2, %xmm2 +# CHECK-NEXT: [1,44] . . . . . . . . . . DR . . . . . . . vxorpd %xmm1, %xmm1, %xmm1 +# CHECK-NEXT: [1,45] . . . . . . . . . . DR. . . . . . . pxor %mm2, %mm2 +# CHECK-NEXT: [1,46] . . . . . . . . . . DR. . . . . . . pxor %xmm2, %xmm2 +# CHECK-NEXT: [1,47] . . . . . . . . . . DR . . . . . . vpxor %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [1,48] . . . . . . . . . . DR . . . . . . vxorps %xmm4, %xmm4, %xmm5 +# CHECK-NEXT: [1,49] . . . . . . . . . . DR . . . . . . vxorpd %xmm1, %xmm1, %xmm3 +# CHECK-NEXT: [1,50] . . . . . . . . . . DR . . . . . . vpxor %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [2,0] . . . . . . . . . . .DR . . . . . . pcmpgtb %mm2, %mm2 +# CHECK-NEXT: [2,1] . . . . . . . . . . .DR . . . . . . pcmpgtd %mm2, %mm2 +# CHECK-NEXT: [2,2] . . . . . . . . . . . DR . . . . . . pcmpgtw %mm2, %mm2 +# CHECK-NEXT: [2,3] . . . . . . . . . . . DR . . . . . . pcmpgtb %xmm2, %xmm2 +# CHECK-NEXT: [2,4] . . . . . . . . . . . DR. . . . . . pcmpgtd %xmm2, %xmm2 +# CHECK-NEXT: [2,5] . . . . . . . . . . . DR. . . . . . pcmpgtq %xmm2, %xmm2 +# CHECK-NEXT: [2,6] . . . . . . . . . . . DR . . . . . pcmpgtw %xmm2, %xmm2 +# CHECK-NEXT: [2,7] . . . . . . . . . . . DR . . . . . vpcmpgtb %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [2,8] . . . . . . . . . . . DR . . . . . vpcmpgtd %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [2,9] . . . . . . . . . . . DR . . . . . vpcmpgtq %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [2,10] . . . . . . . . . . . .DR . . . . . vpcmpgtw %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [2,11] . . . . . . . . . . . .DR . . . . . vpcmpgtb %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [2,12] . . . . . . . . . . . . DR . . . . . vpcmpgtd %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [2,13] . . . . . . . . . . . . DR . . . . . vpcmpgtq %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [2,14] . . . . . . . . . . . . DR. . . . . vpcmpgtw %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [2,15] . . . . . . . . . . . . DR. . . . . psubb %mm2, %mm2 +# CHECK-NEXT: [2,16] . . . . . . . . . . . . DR . . . . psubd %mm2, %mm2 +# CHECK-NEXT: [2,17] . . . . . . . . . . . . DR . . . . psubq %mm2, %mm2 +# CHECK-NEXT: [2,18] . . . . . . . . . . . . DR . . . . psubw %mm2, %mm2 +# CHECK-NEXT: [2,19] . . . . . . . . . . . . DR . . . . psubb %xmm2, %xmm2 +# CHECK-NEXT: [2,20] . . . . . . . . . . . . .DR . . . . psubd %xmm2, %xmm2 +# CHECK-NEXT: [2,21] . . . . . . . . . . . . .DR . . . . psubq %xmm2, %xmm2 +# CHECK-NEXT: [2,22] . . . . . . . . . . . . . DR . . . . psubw %xmm2, %xmm2 +# CHECK-NEXT: [2,23] . . . . . . . . . . . . . DR . . . . vpsubb %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [2,24] . . . . . . . . . . . . . DR. . . . vpsubd %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [2,25] . . . . . . . . . . . . . DR. . . . vpsubq %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [2,26] . . . . . . . . . . . . . DR . . . vpsubw %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [2,27] . . . . . . . . . . . . . DR . . . vpsubb %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [2,28] . . . . . . . . . . . . . DR . . . vpsubd %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [2,29] . . . . . . . . . . . . . DR . . . vpsubq %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [2,30] . . . . . . . . . . . . . .DR . . . vpsubw %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [2,31] . . . . . . . . . . . . . .DR . . . andnps %xmm0, %xmm0 +# CHECK-NEXT: [2,32] . . . . . . . . . . . . . . DR . . . andnpd %xmm1, %xmm1 +# CHECK-NEXT: [2,33] . . . . . . . . . . . . . . DR . . . vandnps %xmm2, %xmm2, %xmm2 +# CHECK-NEXT: [2,34] . . . . . . . . . . . . . . DR. . . vandnpd %xmm1, %xmm1, %xmm1 +# CHECK-NEXT: [2,35] . . . . . . . . . . . . . . DR. . . pandn %mm2, %mm2 +# CHECK-NEXT: [2,36] . . . . . . . . . . . . . . DR . . pandn %xmm2, %xmm2 +# CHECK-NEXT: [2,37] . . . . . . . . . . . . . . DR . . vpandn %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [2,38] . . . . . . . . . . . . . . DR . . vandnps %xmm2, %xmm2, %xmm5 +# CHECK-NEXT: [2,39] . . . . . . . . . . . . . . DR . . vandnpd %xmm1, %xmm1, %xmm5 +# CHECK-NEXT: [2,40] . . . . . . . . . . . . . . .DR . . vpandn %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [2,41] . . . . . . . . . . . . . . .DR . . xorps %xmm0, %xmm0 +# CHECK-NEXT: [2,42] . . . . . . . . . . . . . . . DR . . xorpd %xmm1, %xmm1 +# CHECK-NEXT: [2,43] . . . . . . . . . . . . . . . DR . . vxorps %xmm2, %xmm2, %xmm2 +# CHECK-NEXT: [2,44] . . . . . . . . . . . . . . . DR. . vxorpd %xmm1, %xmm1, %xmm1 +# CHECK-NEXT: [2,45] . . . . . . . . . . . . . . . DR. . pxor %mm2, %mm2 +# CHECK-NEXT: [2,46] . . . . . . . . . . . . . . . DR . pxor %xmm2, %xmm2 +# CHECK-NEXT: [2,47] . . . . . . . . . . . . . . . DR . vpxor %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: [2,48] . . . . . . . . . . . . . . . DR . vxorps %xmm4, %xmm4, %xmm5 +# CHECK-NEXT: [2,49] . . . . . . . . . . . . . . . DR . vxorpd %xmm1, %xmm1, %xmm3 +# CHECK-NEXT: [2,50] . . . . . . . . . . . . . . . .DR . vpxor %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: [3,0] . . . . . . . . . . . . . . . .DR . pcmpgtb %mm2, %mm2 +# CHECK-NEXT: [3,1] . . . . . . . . . . . . . . . . DR. pcmpgtd %mm2, %mm2 +# CHECK-NEXT: [3,2] . . . . . . . . . . . . . . . . DR. pcmpgtw %mm2, %mm2 +# CHECK-NEXT: [3,3] . . . . . . . . . . . . . . . . DR pcmpgtb %xmm2, %xmm2 +# CHECK-NEXT: [3,4] . . . . . . . . . . . . . . . . DR pcmpgtd %xmm2, %xmm2 # CHECK: Average Wait times (based on the timeline view): # CHECK-NEXT: [0]: Executions @@ -381,54 +393,54 @@ vpxor %xmm3, %xmm3, %xmm5 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage # CHECK: [0] [1] [2] [3] -# CHECK-NEXT: 0. 3 1.0 1.0 2.7 pcmpgtb %mm2, %mm2 -# CHECK-NEXT: 1. 3 1.7 0.0 2.0 pcmpgtd %mm2, %mm2 -# CHECK-NEXT: 2. 3 2.0 0.0 2.0 pcmpgtw %mm2, %mm2 -# CHECK-NEXT: 3. 3 1.0 1.0 2.7 pcmpgtb %xmm2, %xmm2 -# CHECK-NEXT: 4. 3 1.3 0.0 2.7 pcmpgtd %xmm2, %xmm2 -# CHECK-NEXT: 5. 3 2.0 0.0 1.7 pcmpgtq %xmm2, %xmm2 -# CHECK-NEXT: 6. 3 2.3 0.0 1.7 pcmpgtw %xmm2, %xmm2 -# CHECK-NEXT: 7. 3 1.0 1.0 2.7 vpcmpgtb %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: 8. 3 1.3 0.0 2.7 vpcmpgtd %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: 9. 3 2.0 0.0 1.7 vpcmpgtq %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: 10. 3 2.3 0.0 1.7 vpcmpgtw %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: 11. 3 3.0 0.0 1.0 vpcmpgtb %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: 12. 3 2.3 0.0 1.7 vpcmpgtd %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: 13. 3 3.0 1.0 1.0 vpcmpgtq %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: 14. 3 2.3 1.0 1.7 vpcmpgtw %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: 15. 3 3.0 3.0 1.0 psubb %mm2, %mm2 -# CHECK-NEXT: 16. 3 3.3 0.0 1.0 psubd %mm2, %mm2 -# CHECK-NEXT: 17. 3 4.0 0.0 0.3 psubq %mm2, %mm2 -# CHECK-NEXT: 18. 3 4.3 0.0 0.3 psubw %mm2, %mm2 -# CHECK-NEXT: 19. 3 1.0 1.0 3.3 psubb %xmm2, %xmm2 -# CHECK-NEXT: 20. 3 1.3 0.0 3.3 psubd %xmm2, %xmm2 -# CHECK-NEXT: 21. 3 2.0 0.0 2.3 psubq %xmm2, %xmm2 -# CHECK-NEXT: 22. 3 2.3 0.0 2.3 psubw %xmm2, %xmm2 -# CHECK-NEXT: 23. 3 3.0 3.0 1.3 vpsubb %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: 24. 3 3.3 0.0 1.3 vpsubd %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: 25. 3 4.0 0.0 0.3 vpsubq %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: 26. 3 4.3 0.0 0.3 vpsubw %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: 27. 3 5.0 0.0 0.0 vpsubb %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: 28. 3 4.3 0.0 0.3 vpsubd %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: 29. 3 5.0 1.0 0.0 vpsubq %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: 30. 3 4.3 1.0 0.3 vpsubw %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: 31. 3 1.0 1.0 4.0 andnps %xmm0, %xmm0 -# CHECK-NEXT: 32. 3 1.3 1.3 3.3 andnpd %xmm1, %xmm1 -# CHECK-NEXT: 33. 3 4.0 4.0 1.0 vandnps %xmm2, %xmm2, %xmm2 -# CHECK-NEXT: 34. 3 3.3 2.0 1.3 vandnpd %xmm1, %xmm1, %xmm1 -# CHECK-NEXT: 35. 3 4.0 4.0 1.0 pandn %mm2, %mm2 -# CHECK-NEXT: 36. 3 3.3 0.0 1.3 pandn %xmm2, %xmm2 -# CHECK-NEXT: 37. 3 4.0 4.0 1.0 vpandn %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: 38. 3 3.3 0.0 1.3 vandnps %xmm2, %xmm2, %xmm5 -# CHECK-NEXT: 39. 3 4.0 2.0 1.0 vandnpd %xmm1, %xmm1, %xmm5 -# CHECK-NEXT: 40. 3 3.3 0.0 1.3 vpandn %xmm3, %xmm3, %xmm5 -# CHECK-NEXT: 41. 3 0.0 0.0 6.0 xorps %xmm0, %xmm0 -# CHECK-NEXT: 42. 3 0.0 0.0 5.7 xorpd %xmm1, %xmm1 -# CHECK-NEXT: 43. 3 0.0 0.0 6.0 vxorps %xmm2, %xmm2, %xmm2 -# CHECK-NEXT: 44. 2 0.0 0.0 5.5 vxorpd %xmm1, %xmm1, %xmm1 -# CHECK-NEXT: 45. 2 2.0 2.0 3.0 pxor %mm2, %mm2 -# CHECK-NEXT: 46. 2 0.0 0.0 5.5 pxor %xmm2, %xmm2 -# CHECK-NEXT: 47. 2 0.0 0.0 6.0 vpxor %xmm3, %xmm3, %xmm3 -# CHECK-NEXT: 48. 2 0.0 0.0 5.5 vxorps %xmm4, %xmm4, %xmm5 -# CHECK-NEXT: 49. 2 0.0 0.0 6.0 vxorpd %xmm1, %xmm1, %xmm3 -# CHECK-NEXT: 50. 2 0.0 0.0 5.5 vpxor %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 0. 4 0.0 0.0 0.0 pcmpgtb %mm2, %mm2 +# CHECK-NEXT: 1. 4 0.0 0.0 0.0 pcmpgtd %mm2, %mm2 +# CHECK-NEXT: 2. 4 0.0 0.0 0.0 pcmpgtw %mm2, %mm2 +# CHECK-NEXT: 3. 4 0.0 0.0 0.0 pcmpgtb %xmm2, %xmm2 +# CHECK-NEXT: 4. 4 0.0 0.0 0.0 pcmpgtd %xmm2, %xmm2 +# CHECK-NEXT: 5. 3 0.0 0.0 0.0 pcmpgtq %xmm2, %xmm2 +# CHECK-NEXT: 6. 3 0.0 0.0 0.0 pcmpgtw %xmm2, %xmm2 +# CHECK-NEXT: 7. 3 0.0 0.0 0.0 vpcmpgtb %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 8. 3 0.0 0.0 0.0 vpcmpgtd %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 9. 3 0.0 0.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 10. 3 0.0 0.0 0.0 vpcmpgtw %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 11. 3 0.0 0.0 0.0 vpcmpgtb %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 12. 3 0.0 0.0 0.0 vpcmpgtd %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 13. 3 0.0 0.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 14. 3 0.0 0.0 0.0 vpcmpgtw %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 15. 3 0.0 0.0 0.0 psubb %mm2, %mm2 +# CHECK-NEXT: 16. 3 0.0 0.0 0.0 psubd %mm2, %mm2 +# CHECK-NEXT: 17. 3 0.0 0.0 0.0 psubq %mm2, %mm2 +# CHECK-NEXT: 18. 3 0.0 0.0 0.0 psubw %mm2, %mm2 +# CHECK-NEXT: 19. 3 0.0 0.0 0.0 psubb %xmm2, %xmm2 +# CHECK-NEXT: 20. 3 0.0 0.0 0.0 psubd %xmm2, %xmm2 +# CHECK-NEXT: 21. 3 0.0 0.0 0.0 psubq %xmm2, %xmm2 +# CHECK-NEXT: 22. 3 0.0 0.0 0.0 psubw %xmm2, %xmm2 +# CHECK-NEXT: 23. 3 0.0 0.0 0.0 vpsubb %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 24. 3 0.0 0.0 0.0 vpsubd %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 25. 3 0.0 0.0 0.0 vpsubq %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 26. 3 0.0 0.0 0.0 vpsubw %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 27. 3 0.0 0.0 0.0 vpsubb %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 28. 3 0.0 0.0 0.0 vpsubd %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 29. 3 0.0 0.0 0.0 vpsubq %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 30. 3 0.0 0.0 0.0 vpsubw %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 31. 3 0.0 0.0 0.0 andnps %xmm0, %xmm0 +# CHECK-NEXT: 32. 3 0.0 0.0 0.0 andnpd %xmm1, %xmm1 +# CHECK-NEXT: 33. 3 0.0 0.0 0.0 vandnps %xmm2, %xmm2, %xmm2 +# CHECK-NEXT: 34. 3 0.0 0.0 0.0 vandnpd %xmm1, %xmm1, %xmm1 +# CHECK-NEXT: 35. 3 0.0 0.0 0.0 pandn %mm2, %mm2 +# CHECK-NEXT: 36. 3 0.0 0.0 0.0 pandn %xmm2, %xmm2 +# CHECK-NEXT: 37. 3 0.0 0.0 0.0 vpandn %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 38. 3 0.0 0.0 0.0 vandnps %xmm2, %xmm2, %xmm5 +# CHECK-NEXT: 39. 3 0.0 0.0 0.0 vandnpd %xmm1, %xmm1, %xmm5 +# CHECK-NEXT: 40. 3 0.0 0.0 0.0 vpandn %xmm3, %xmm3, %xmm5 +# CHECK-NEXT: 41. 3 0.0 0.0 0.0 xorps %xmm0, %xmm0 +# CHECK-NEXT: 42. 3 0.0 0.0 0.0 xorpd %xmm1, %xmm1 +# CHECK-NEXT: 43. 3 0.0 0.0 0.0 vxorps %xmm2, %xmm2, %xmm2 +# CHECK-NEXT: 44. 3 0.0 0.0 0.0 vxorpd %xmm1, %xmm1, %xmm1 +# CHECK-NEXT: 45. 3 0.0 0.0 0.0 pxor %mm2, %mm2 +# CHECK-NEXT: 46. 3 0.0 0.0 0.0 pxor %xmm2, %xmm2 +# CHECK-NEXT: 47. 3 0.0 0.0 0.0 vpxor %xmm3, %xmm3, %xmm3 +# CHECK-NEXT: 48. 3 0.0 0.0 0.0 vxorps %xmm4, %xmm4, %xmm5 +# CHECK-NEXT: 49. 3 0.0 0.0 0.0 vxorpd %xmm1, %xmm1, %xmm3 +# CHECK-NEXT: 50. 3 0.0 0.0 0.0 vpxor %xmm3, %xmm3, %xmm5