[llvm] r334104 - [X86][BtVer2] Add tests for all vector instructions that should match the dependency-breaking 'zero-idiom'
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 6 09:14:37 PDT 2018
Author: rksimon
Date: Wed Jun 6 09:14:37 2018
New Revision: 334104
URL: http://llvm.org/viewvc/llvm-project?rev=334104&view=rev
Log:
[X86][BtVer2] Add tests for all vector instructions that should match the dependency-breaking 'zero-idiom'
As detailed on Agner's Microarchitecture doc (21.8 AMD Bobcat and Jaguar pipeline - Dependency-breaking instructions), all these instructions are dependency breaking and zero the destination register.
TODO: Scalar instructions still need to be tested (need to check EFLAGS handling).
Modified:
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s?rev=334104&r1=334103&r2=334104&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s Wed Jun 6 09:14:37 2018
@@ -1,10 +1,65 @@
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -timeline -register-file-stats -iterations=5 < %s | FileCheck %s
+# TODO sbbl %eax, %eax
+# TODO sbbq %rax, %rax
+# TODO subl %eax, %eax
+# TODO subq %rax, %rax
+# TODO xorl %eax, %eax
+# TODO xorq %rax, %rax
+
+pcmpgtb %mm2, %mm2
+pcmpgtd %mm2, %mm2
+pcmpgtw %mm2, %mm2
+pcmpgtb %xmm2, %xmm2
+pcmpgtd %xmm2, %xmm2
+pcmpgtq %xmm2, %xmm2
+pcmpgtw %xmm2, %xmm2
+vpcmpgtb %xmm3, %xmm3, %xmm3
+vpcmpgtd %xmm3, %xmm3, %xmm3
+vpcmpgtq %xmm3, %xmm3, %xmm3
+vpcmpgtw %xmm3, %xmm3, %xmm3
+
+vpcmpgtb %xmm3, %xmm3, %xmm5
+vpcmpgtd %xmm3, %xmm3, %xmm5
+vpcmpgtq %xmm3, %xmm3, %xmm5
+vpcmpgtw %xmm3, %xmm3, %xmm5
+
+psubb %mm2, %mm2
+psubd %mm2, %mm2
+psubq %mm2, %mm2
+psubw %mm2, %mm2
+psubb %xmm2, %xmm2
+psubd %xmm2, %xmm2
+psubq %xmm2, %xmm2
+psubw %xmm2, %xmm2
+vpsubb %xmm3, %xmm3, %xmm3
+vpsubd %xmm3, %xmm3, %xmm3
+vpsubq %xmm3, %xmm3, %xmm3
+vpsubw %xmm3, %xmm3, %xmm3
+
+vpsubb %xmm3, %xmm3, %xmm5
+vpsubd %xmm3, %xmm3, %xmm5
+vpsubq %xmm3, %xmm3, %xmm5
+vpsubw %xmm3, %xmm3, %xmm5
+
+andnps %xmm0, %xmm0
+andnpd %xmm1, %xmm1
+vandnps %xmm2, %xmm2, %xmm2
+vandnpd %xmm1, %xmm1, %xmm1
+pandn %mm2, %mm2
+pandn %xmm2, %xmm2
+vpandn %xmm3, %xmm3, %xmm3
+
+vandnps %xmm2, %xmm2, %xmm5
+vandnpd %xmm1, %xmm1, %xmm5
+vpandn %xmm3, %xmm3, %xmm5
+
xorps %xmm0, %xmm0
xorpd %xmm1, %xmm1
vxorps %xmm2, %xmm2, %xmm2
vxorpd %xmm1, %xmm1, %xmm1
+pxor %mm2, %mm2
pxor %xmm2, %xmm2
vpxor %xmm3, %xmm3, %xmm3
@@ -13,11 +68,11 @@ vxorpd %xmm1, %xmm1, %xmm3
vpxor %xmm3, %xmm3, %xmm5
# CHECK: Iterations: 5
-# CHECK-NEXT: Instructions: 45
-# CHECK-NEXT: Total Cycles: 24
+# CHECK-NEXT: Instructions: 255
+# CHECK-NEXT: Total Cycles: 135
# CHECK-NEXT: Dispatch Width: 2
-# CHECK-NEXT: IPC: 1.88
-# CHECK-NEXT: Block RThroughput: 4.5
+# CHECK-NEXT: IPC: 1.89
+# CHECK-NEXT: Block RThroughput: 25.5
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@@ -28,10 +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 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 %xmm2, %xmm2
# CHECK-NEXT: 1 0 0.50 vpxor %xmm3, %xmm3, %xmm3
# CHECK-NEXT: 1 0 0.50 vxorps %xmm4, %xmm4, %xmm5
@@ -39,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: 0
-# CHECK-NEXT: Max number of mappings used: 0
+# CHECK-NEXT: Total number of mappings created: 210
+# CHECK-NEXT: Max number of mappings used: 14
# CHECK: * Register File #1 -- JFpuPRF:
# CHECK-NEXT: Number of physical registers: 72
-# CHECK-NEXT: Total number of mappings created: 0
-# CHECK-NEXT: Max number of mappings used: 0
+# CHECK-NEXT: Total number of mappings created: 210
+# CHECK-NEXT: Max number of mappings used: 14
# CHECK: * Register File #2 -- JIntegerPRF:
# CHECK-NEXT: Number of physical registers: 64
@@ -70,14 +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: - - - - - - - - - - - - - -
+# CHECK-NEXT: - - - 3.00 3.00 21.00 21.00 - - - - 18.00 18.00 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
+# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - 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: - - - - - - - - - - - - - - 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 %xmm2, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - vpxor %xmm3, %xmm3, %xmm3
# CHECK-NEXT: - - - - - - - - - - - - - - vxorps %xmm4, %xmm4, %xmm5
@@ -85,54 +224,155 @@ vpxor %xmm3, %xmm3, %xmm5
# CHECK-NEXT: - - - - - - - - - - - - - - vpxor %xmm3, %xmm3, %xmm5
# CHECK: Timeline view:
-# CHECK-NEXT: 0123456789
-# CHECK-NEXT: Index 0123456789 0123
+# CHECK-NEXT: 0123456789 0123456789 0123456789 0123456789
+# CHECK-NEXT: Index 0123456789 0123456789 0123456789 0123456789
-# CHECK: [0,0] DR . . . . . xorps %xmm0, %xmm0
-# CHECK-NEXT: [0,1] DR . . . . . xorpd %xmm1, %xmm1
-# CHECK-NEXT: [0,2] .DR . . . . . vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: [0,3] .DR . . . . . vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: [0,4] . DR . . . . . pxor %xmm2, %xmm2
-# CHECK-NEXT: [0,5] . DR . . . . . vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,6] . DR. . . . . vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: [0,7] . DR. . . . . vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: [0,8] . DR . . . . vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [1,0] . DR . . . . xorps %xmm0, %xmm0
-# CHECK-NEXT: [1,1] . DR . . . . xorpd %xmm1, %xmm1
-# CHECK-NEXT: [1,2] . DR . . . . vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: [1,3] . .DR . . . . vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: [1,4] . .DR . . . . pxor %xmm2, %xmm2
-# CHECK-NEXT: [1,5] . . DR . . . . vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [1,6] . . DR . . . . vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: [1,7] . . DR. . . . vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: [1,8] . . DR. . . . vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [2,0] . . DR . . . xorps %xmm0, %xmm0
-# CHECK-NEXT: [2,1] . . DR . . . xorpd %xmm1, %xmm1
-# CHECK-NEXT: [2,2] . . DR . . . vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: [2,3] . . DR . . . vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: [2,4] . . .DR . . . pxor %xmm2, %xmm2
-# CHECK-NEXT: [2,5] . . .DR . . . vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [2,6] . . . DR . . . vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: [2,7] . . . DR . . . vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: [2,8] . . . DR. . . vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [3,0] . . . DR. . . xorps %xmm0, %xmm0
-# CHECK-NEXT: [3,1] . . . DR . . xorpd %xmm1, %xmm1
-# CHECK-NEXT: [3,2] . . . DR . . vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: [3,3] . . . DR . . vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: [3,4] . . . DR . . pxor %xmm2, %xmm2
-# CHECK-NEXT: [3,5] . . . .DR . . vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [3,6] . . . .DR . . vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: [3,7] . . . . DR . . vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: [3,8] . . . . DR . . vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [4,0] . . . . DR. . xorps %xmm0, %xmm0
-# CHECK-NEXT: [4,1] . . . . DR. . xorpd %xmm1, %xmm1
-# CHECK-NEXT: [4,2] . . . . DR . vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: [4,3] . . . . DR . vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: [4,4] . . . . DR . pxor %xmm2, %xmm2
-# CHECK-NEXT: [4,5] . . . . DR . vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [4,6] . . . . .DR. vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: [4,7] . . . . .DR. vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: [4,8] . . . . . DR vpxor %xmm3, %xmm3, %xmm5
+# 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: Average Wait times (based on the timeline view):
# CHECK-NEXT: [0]: Executions
@@ -141,12 +381,54 @@ vpxor %xmm3, %xmm3, %xmm5
# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
# CHECK: [0] [1] [2] [3]
-# CHECK-NEXT: 0. 5 0.0 0.0 0.0 xorps %xmm0, %xmm0
-# CHECK-NEXT: 1. 5 0.0 0.0 0.0 xorpd %xmm1, %xmm1
-# CHECK-NEXT: 2. 5 0.0 0.0 0.0 vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: 3. 5 0.0 0.0 0.0 vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: 4. 5 0.0 0.0 0.0 pxor %xmm2, %xmm2
-# CHECK-NEXT: 5. 5 0.0 0.0 0.0 vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 6. 5 0.0 0.0 0.0 vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: 7. 5 0.0 0.0 0.0 vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: 8. 5 0.0 0.0 0.0 vpxor %xmm3, %xmm3, %xmm5
+# 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
More information about the llvm-commits
mailing list