From 256f149bf0f8ef2c83cbb467074f6f62ecb18826 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Fri, 23 Mar 2018 16:17:56 +0000 Subject: [PATCH] [X86][Btver2] Vector permutes use a JFPU01 scheduler pipe and JFPX/JVALU function unit llvm-svn: 328331 --- llvm/lib/Target/X86/X86ScheduleBtVer2.td | 36 +- .../tools/llvm-mca/X86/BtVer2/resources-avx1.s | 562 ++++++++++----------- .../tools/llvm-mca/X86/BtVer2/resources-ssse3.s | 44 +- 3 files changed, 321 insertions(+), 321 deletions(-) diff --git a/llvm/lib/Target/X86/X86ScheduleBtVer2.td b/llvm/lib/Target/X86/X86ScheduleBtVer2.td index 9f4c7276..97842d2 100644 --- a/llvm/lib/Target/X86/X86ScheduleBtVer2.td +++ b/llvm/lib/Target/X86/X86ScheduleBtVer2.td @@ -649,66 +649,66 @@ def JWriteVCVTPDYLd: SchedWriteRes<[JLAGU, JFPU1, JSTC, JFPX]> { } def : InstRW<[JWriteVCVTPDYLd, ReadAfterLd], (instrs VCVTPD2DQYrm, VCVTTPD2DQYrm, VCVTPD2PSYrm)>; -def JWritePSHUFB: SchedWriteRes<[JFPU01]> { +def JWritePSHUFB: SchedWriteRes<[JFPU01, JVALU]> { let Latency = 2; - let ResourceCycles = [4]; + let ResourceCycles = [1, 4]; let NumMicroOps = 3; } def : InstRW<[JWritePSHUFB], (instrs PSHUFBrr, VPSHUFBrr)>; -def JWritePSHUFBLd: SchedWriteRes<[JLAGU, JFPU01]> { +def JWritePSHUFBLd: SchedWriteRes<[JLAGU, JFPU01, JVALU]> { let Latency = 7; - let ResourceCycles = [1, 4]; + let ResourceCycles = [1, 1, 4]; let NumMicroOps = 3; } def : InstRW<[JWritePSHUFBLd, ReadAfterLd], (instrs PSHUFBrm, VPSHUFBrm)>; -def JWriteVPERM: SchedWriteRes<[JFPU01]> { +def JWriteVPERM: SchedWriteRes<[JFPU01, JFPX]> { let Latency = 2; - let ResourceCycles = [4]; + let ResourceCycles = [1, 4]; let NumMicroOps = 3; } def : InstRW<[JWriteVPERM], (instrs VPERMILPDrr, VPERMILPSrr)>; -def JWriteVPERMLd: SchedWriteRes<[JLAGU, JFPU01]> { +def JWriteVPERMLd: SchedWriteRes<[JLAGU, JFPU01, JFPX]> { let Latency = 7; - let ResourceCycles = [1, 4]; + let ResourceCycles = [1, 1, 4]; let NumMicroOps = 3; } def : InstRW<[JWriteVPERMLd, ReadAfterLd], (instrs VPERMILPDrm, VPERMILPSrm)>; -def JWriteVPERMY: SchedWriteRes<[JFPU01]> { +def JWriteVPERMY: SchedWriteRes<[JFPU01, JFPX]> { let Latency = 3; - let ResourceCycles = [6]; + let ResourceCycles = [1, 6]; let NumMicroOps = 6; } def : InstRW<[JWriteVPERMY], (instrs VBLENDVPDYrr, VBLENDVPSYrr, VPERMILPDYrr, VPERMILPSYrr)>; -def JWriteVPERMYLd: SchedWriteRes<[JLAGU, JFPU01]> { +def JWriteVPERMYLd: SchedWriteRes<[JLAGU, JFPU01, JFPX]> { let Latency = 8; - let ResourceCycles = [1, 6]; + let ResourceCycles = [1, 1, 6]; let NumMicroOps = 6; } def : InstRW<[JWriteVPERMYLd, ReadAfterLd], (instrs VBLENDVPDYrm, VBLENDVPSYrm, VPERMILPDYrm, VPERMILPSYrm)>; -def JWriteShuffleY: SchedWriteRes<[JFPU01]> { - let ResourceCycles = [2]; +def JWriteShuffleY: SchedWriteRes<[JFPU01, JFPX]> { + let ResourceCycles = [1, 2]; let NumMicroOps = 2; } def : InstRW<[JWriteShuffleY], (instrs VMOVDDUPYrr, VMOVSHDUPYrr, VMOVSLDUPYrr, VPERMILPDYri, VPERMILPSYri, VSHUFPDYrri, VSHUFPSYrri)>; -def JWriteShuffleYLd: SchedWriteRes<[JLAGU, JFPU01]> { +def JWriteShuffleYLd: SchedWriteRes<[JLAGU, JFPU01, JFPX]> { let Latency = 6; - let ResourceCycles = [1, 2]; + let ResourceCycles = [1, 1, 2]; let NumMicroOps = 2; } def : InstRW<[JWriteShuffleYLd, ReadAfterLd], (instrs VMOVDDUPYrm, VMOVSHDUPYrm, VMOVSLDUPYrm, VPERMILPDYmi, VPERMILPSYmi, VSHUFPDYrmi, VSHUFPSYrmi)>; -def JWriteVBROADCASTYLd: SchedWriteRes<[JLAGU, JFPU01]> { +def JWriteVBROADCASTYLd: SchedWriteRes<[JLAGU, JFPU01, JFPX]> { let Latency = 6; - let ResourceCycles = [1, 4]; + let ResourceCycles = [1, 1, 4]; } def : InstRW<[JWriteVBROADCASTYLd, ReadAfterLd], (instrs VBROADCASTSDYrm, VBROADCASTSSYrm)>; diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s index fdb0d88..5ed2e2c 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s @@ -1078,17 +1078,17 @@ vzeroupper # CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vblendps $11, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vblendps $11, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - 4.00 1.00 - - - - - - - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 4.00 - - 1.00 1.00 - - - - - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 6.00 - - - - - - - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - 6.00 1.00 - - - - - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - 4.00 1.00 - - - - - - - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 4.00 - 1.00 - 1.00 - - - - - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 6.00 - 1.00 - - - - - - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 6.00 - 1.00 - 1.00 - - - - - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - 4.00 - 1.00 - - - - - - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 4.00 - 1.00 - 1.00 - - - - - - vblendvps %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 6.00 - - - - - - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - 6.00 - 1.00 - - - - - - vblendvps %ymm3, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - 6.00 - 1.00 - - - - - - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 6.00 - 1.00 - 1.00 - - - - - - vblendvps %ymm3, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vbroadcastf128 (%rax), %ymm2 -# CHECK-NEXT: - - - - - - 4.00 1.00 - - - - - - vbroadcastsd (%rax), %ymm2 -# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vbroadcastss (%rax), %xmm2 -# CHECK-NEXT: - - - - - 4.00 - 1.00 - - - - - - vbroadcastss (%rax), %ymm2 +# CHECK-NEXT: - - - - 4.00 1.00 - 1.00 - - - - - - vbroadcastsd (%rax), %ymm2 +# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vbroadcastss (%rax), %xmm2 +# CHECK-NEXT: - - - 4.00 - 1.00 - 1.00 - - - - - - vbroadcastss (%rax), %ymm2 # CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmppd $0, %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmppd $0, (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 2.00 - 1.00 - - - - - - - - vcmppd $0, %ymm0, %ymm1, %ymm2 @@ -1116,7 +1116,7 @@ vzeroupper # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtpd2dq %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtpd2dqx (%rax), %xmm2 # CHECK-NEXT: - - - - 4.00 - 1.00 - - - 2.00 - - - vcvtpd2dq %ymm0, %xmm2 -# CHECK-NEXT: - - - 4.00 - - 1.00 1.00 - - 2.00 - - - vcvtpd2dqy (%rax), %xmm2 +# CHECK-NEXT: - - - - 4.00 - 1.00 1.00 - - 2.00 - - - vcvtpd2dqy (%rax), %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtpd2ps %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtpd2psx (%rax), %xmm2 # CHECK-NEXT: - - - - 4.00 - 1.00 - - - 2.00 - - - vcvtpd2ps %ymm0, %xmm2 @@ -1203,8 +1203,8 @@ vzeroupper # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vinsertf128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vinsertps $1, %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vinsertps $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vlddqu (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vlddqu (%rax), %ymm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vlddqu (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vlddqu (%rax), %ymm2 # CHECK-NEXT: - - - - - - - 1.00 - - - - - - vldmxcsr (%rax) # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmaskmovdqu %xmm0, %xmm1 # CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - vmaskmovpd (%rax), %xmm0, %xmm2 @@ -1257,73 +1257,73 @@ vzeroupper # CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovd %xmm0, (%rax) # CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovddup %xmm0, %xmm2 # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovddup (%rax), %xmm2 -# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vmovddup %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vmovddup (%rax), %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vmovdqa %xmm0, %xmm2 +# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - vmovddup %ymm0, %ymm2 +# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - vmovddup (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vmovdqa %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqa %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vmovdqa (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vmovdqa %ymm0, %ymm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vmovdqa (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vmovdqa %ymm0, %ymm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqa %ymm0, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vmovdqa (%rax), %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vmovdqu %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vmovdqa (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vmovdqu %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqu %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vmovdqu (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vmovdqu %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vmovdqu (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vmovdqu %ymm0, %ymm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqu %ymm0, (%rax) -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vmovdqu (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vmovdqu (%rax), %ymm2 # CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovhlps %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovlhps %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovhpd %xmm0, (%rax) -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovhpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vmovhpd (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovhps %xmm0, (%rax) -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovhps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vmovhps (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovlpd %xmm0, (%rax) -# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovlpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vmovlpd (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovlps %xmm0, (%rax) -# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vmovlps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovlps (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmovmskpd %xmm0, %ecx # CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmovmskpd %ymm0, %ecx # CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmovmskps %xmm0, %ecx # CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmovmskps %ymm0, %ecx # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovntdq %xmm0, (%rax) # CHECK-NEXT: - - - - - - 1.00 - - 1.00 2.00 - - - vmovntdq %ymm0, (%rax) -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vmovntdqa (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vmovntdqa (%rax), %ymm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vmovntdqa (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vmovntdqa (%rax), %ymm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovntpd %xmm0, (%rax) # CHECK-NEXT: - - - - - - 1.00 - - 1.00 2.00 - - - vmovntpd %ymm0, (%rax) # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovntps %xmm0, (%rax) # CHECK-NEXT: - - - - - - 1.00 - - 1.00 2.00 - - - vmovntps %ymm0, (%rax) -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vmovq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vmovq %xmm0, %xmm2 # CHECK-NEXT: - 1.00 - - - - - - - - - - - - vmovq %rax, %xmm2 # CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovq (%rax), %xmm2 # CHECK-NEXT: 1.00 - - - - - - - - - - - - - vmovq %xmm0, %rcx # CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovq %xmm0, (%rax) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vmovsd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovsd %xmm0, (%rax) # CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovsd (%rax), %xmm2 -# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vmovshdup %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vmovshdup (%rax), %xmm2 -# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vmovshdup %ymm0, %ymm2 -# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vmovshdup (%rax), %ymm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovsldup %xmm0, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vmovsldup (%rax), %xmm2 -# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vmovsldup %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vmovsldup (%rax), %ymm2 -# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vmovss %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovshdup %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovshdup (%rax), %xmm2 +# CHECK-NEXT: - - - 2.00 - 1.00 - - - - - - - - vmovshdup %ymm0, %ymm2 +# CHECK-NEXT: - - - - 2.00 1.00 - 1.00 - - - - - - vmovshdup (%rax), %ymm2 +# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vmovsldup %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vmovsldup (%rax), %xmm2 +# CHECK-NEXT: - - - 2.00 - - 1.00 - - - - - - - vmovsldup %ymm0, %ymm2 +# CHECK-NEXT: - - - - 2.00 1.00 - 1.00 - - - - - - vmovsldup (%rax), %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovss %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovss %xmm0, (%rax) # CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovss (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovupd %xmm0, %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovupd %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovupd %xmm0, (%rax) -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovupd (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovupd %ymm0, %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovupd (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vmovupd %ymm0, %ymm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovupd %ymm0, (%rax) -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovupd (%rax), %ymm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovups %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vmovupd (%rax), %ymm2 +# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vmovups %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovups %xmm0, (%rax) -# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vmovups (%rax), %xmm2 -# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vmovups %ymm0, %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovups (%rax), %xmm2 +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovups %ymm0, %ymm2 # CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovups %ymm0, (%rax) -# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vmovups (%rax), %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovups (%rax), %ymm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - 2.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 2.00 vmpsadbw $1, (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - vmulpd %xmm0, %xmm1, %xmm2 @@ -1346,169 +1346,169 @@ vzeroupper # CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vorps (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vorps %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - 2.00 - 2.00 - 1.00 - - - - - - vorps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpabsb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpabsb (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpabsd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpabsd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpabsw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpabsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpackssdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpackssdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpacksswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpacksswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpackusdw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpackusdw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpackuswb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpackuswb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddusb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddusb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddusw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddusw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpalignr $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpalignr $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpand %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpand (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpandn %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpandn (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpavgb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpavgb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpavgw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpavgw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 4.00 - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 4.00 - vpblendvb %xmm3, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpblendw $11, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpblendw $11, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpabsb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpabsb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpabsd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpabsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpabsw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpabsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpackssdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpackssdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpacksswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpacksswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpackusdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpackusdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpackuswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpackuswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpaddb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpaddb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpaddq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpaddq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpaddsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpaddsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpaddusb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpaddusb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpaddusw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpaddusw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpalignr $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpalignr $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpand %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpand (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpandn %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpandn (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpavgb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpavgb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpavgw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpavgw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 2.00 2.00 - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 2.00 2.00 - vpblendvb %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpblendw $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpblendw $11, (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpclmulqdq $11, %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpclmulqdq $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpeqb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpeqb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpeqd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpeqd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpeqq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpeqq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpeqw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpeqw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpgtb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpgtb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpgtd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpgtd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpgtq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpgtq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpgtw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpgtw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpcmpeqb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpcmpeqb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpcmpeqd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpcmpeqd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpcmpeqq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpcmpeqq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpcmpeqw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpcmpgtb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpcmpgtb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpcmpgtd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpcmpgtd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpcmpgtq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpcmpgtq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpcmpgtw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpcmpgtw (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vperm2f128 $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vpermilpd $1, %xmm0, %xmm2 # CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vpermilpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - 4.00 - - - - - - - - vpermilpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 4.00 1.00 - - - - - - vpermilpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vpermilpd $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vpermilpd $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - 6.00 - - - - - - - - vpermilpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - 6.00 1.00 - - - - - - vpermilpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - 4.00 1.00 - - - - - - - - vpermilpd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 4.00 - - 1.00 1.00 - - - - - - vpermilpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 2.00 1.00 - - - - - - - - vpermilpd $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - 2.00 - - 1.00 1.00 - - - - - - vpermilpd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - 6.00 1.00 - - - - - - - - vpermilpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 6.00 - - 1.00 1.00 - - - - - - vpermilpd (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vpermilps $1, %xmm0, %xmm2 # CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vpermilps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - 4.00 - - - - - - - - vpermilps %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 4.00 1.00 - - - - - - vpermilps (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vpermilps $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vpermilps $1, (%rax), %ymm2 -# CHECK-NEXT: - - - - - 6.00 - - - - - - - - vpermilps %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - - 6.00 1.00 - - - - - - vpermilps (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpextrb $1, %xmm0, %ecx -# CHECK-NEXT: - - - - - 1.00 - 1.00 - 1.00 - 1.00 - - vpextrb $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpextrd $1, %xmm0, %ecx -# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - - 1.00 - vpextrd $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpextrq $1, %xmm0, %rcx -# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 1.00 - - vpextrq $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpextrw $1, %xmm0, %ecx -# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - - 1.00 - vpextrw $1, %xmm0, (%rax) -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vphaddd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vphaddd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vphaddsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vphaddsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vphaddw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vphaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 4.00 1.00 - - - - - - - - vpermilps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 4.00 - - 1.00 1.00 - - - - - - vpermilps (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - 2.00 1.00 - - - - - - - - vpermilps $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - 2.00 - - 1.00 1.00 - - - - - - vpermilps $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - 6.00 1.00 - - - - - - - - vpermilps %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 6.00 - - 1.00 1.00 - - - - - - vpermilps (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpextrb $1, %xmm0, %ecx +# CHECK-NEXT: - - - - - 1.00 - 1.00 - 1.00 - 0.50 0.50 - vpextrb $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpextrd $1, %xmm0, %ecx +# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 0.50 0.50 - vpextrd $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpextrq $1, %xmm0, %rcx +# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 0.50 0.50 - vpextrq $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpextrw $1, %xmm0, %ecx +# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 0.50 0.50 - vpextrw $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vphaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vphaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vphaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vphaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vphaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vphaddw (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vphminposuw %xmm0, %xmm2 # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vphminposuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vphsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vphsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vphsubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vphsubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vphsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vphsubw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpinsrb $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpinsrb $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpinsrd $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpinsrd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpinsrq $1, %rax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpinsrq $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpinsrw $1, %eax, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpinsrw $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vphsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vphsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vphsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vphsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vphsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vphsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpinsrb $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpinsrb $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpinsrd $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpinsrd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpinsrq $1, %rax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpinsrq $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpinsrw $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpinsrw $1, (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmaddubsw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmaddubsw (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmaddwd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmaddwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmaxsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmaxsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmaxsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmaxsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpmaxsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmaxsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpmaxub %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmaxub (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmaxud %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmaxud (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmaxuw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmaxuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpminsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpminsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpminsd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpminsd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpminsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpminsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpminub %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpminub (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpminud %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpminud (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpminuw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpminuw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmovmskb %xmm0, %ecx -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmovsxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmovsxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmovsxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmovsxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmovsxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmovsxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmovsxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmovsxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmovsxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmovsxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmovsxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmovsxwq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmovzxbd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmovzxbd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmovzxbq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmovzxbq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmovzxbw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmovzxbw (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmovzxdq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovzxdq (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmovzxwd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmovzxwd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmovzxwq %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovzxwq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmaxsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmaxsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmaxsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmaxsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpmaxsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmaxsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpmaxub %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmaxub (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmaxud %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmaxud (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmaxuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmaxuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpminsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpminsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpminsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpminsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpminsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpminsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpminub %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpminub (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpminud %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpminud (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpminuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpminuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovmskb %xmm0, %ecx +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovsxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovsxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovsxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovsxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovsxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovsxwq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovzxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovzxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovzxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovzxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovzxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpmovzxwq (%rax), %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmuldq %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmuldq (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmulhrsw %xmm0, %xmm1, %xmm2 @@ -1523,88 +1523,88 @@ vzeroupper # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmullw (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmuludq %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmuludq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpor %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpor (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsadbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpsadbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 4.00 - - - - - - - vpshufb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 4.00 1.00 - - - - - - vpshufb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpshufd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpshufd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpshufhw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpshufhw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpshuflw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpshuflw $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsignb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpsignb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsignd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpsignd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsignw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpsignw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpslld $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpslld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpslld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpslldq $1, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsllq $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpsllq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpsllq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpsllw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsllw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpsllw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsrad $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpsrad %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpsrad (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpsraw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsraw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpsraw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsrld $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpsrld %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpsrld (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpsrldq $1, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsrlq $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpsrlq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpsrlq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpsrlw $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsrlw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpsrlw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsubb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpsubb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsubd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpsubd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsubq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpsubq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsubsb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpsubsb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsubsw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpsubsw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsubusb %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpsubusb (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsubusw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpsubusw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsubw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpor %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpor (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpsadbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsadbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 2.00 2.00 - vpshufb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 2.00 2.00 - vpshufb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpshufd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsignb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsignb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsignd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsignd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsignw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsignw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpslld $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpslld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpslld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpslldq $1, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsllq $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpsllq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpsllq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpsllw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsllw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsllw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsrad $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpsrad %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpsrad (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpsraw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsraw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsraw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsrld $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpsrld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpsrld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpsrldq $1, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsrlq $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpsrlq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpsrlq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpsrlw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsrlw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsrlw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsubb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsubb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsubq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsubq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsubsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsubsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsubusb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsubusb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsubusw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsubusw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - vpsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - vpsubw (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - - vptest %xmm0, %xmm1 # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vptest (%rax), %xmm1 # CHECK-NEXT: - - - - - 2.00 2.00 - - - - - - - vptest %ymm0, %ymm1 # CHECK-NEXT: - - - - - 2.00 2.00 1.00 - - - - - - vptest (%rax), %ymm1 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpunpckhbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpunpckhbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpunpckhdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpunpckhdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpunpckhqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpunpckhqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpunpckhwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpunpckhwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpunpcklbw %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpunpcklbw (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpunpckldq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpunpckldq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpunpcklqdq %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpunpcklqdq (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpunpcklwd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpunpcklwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpxor %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpxor (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpunpckhbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpunpckhbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpunpckhdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpunpckhdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpunpckhqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpunpckhqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpunpckhwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpunpckhwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpunpcklbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpunpcklbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpunpckldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpunpckldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpunpcklqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpunpcklqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpunpcklwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpunpcklwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vpxor %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - vpxor (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vrcpps %xmm0, %xmm2 # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vrcpps (%rax), %xmm2 # CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - vrcpps %ymm0, %ymm2 @@ -1629,14 +1629,14 @@ vzeroupper # CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - vrsqrtps (%rax), %ymm2 # CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vrsqrtss %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vrsqrtss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vshufpd $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vshufpd $1, %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vshufpd $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vshufpd $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vshufpd $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vshufps $1, %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vshufps $1, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vshufps $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vshufps $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 - 1.00 - - - - - - - - vshufpd $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 - 1.00 - 1.00 - - - - - - vshufpd $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vshufps $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vshufps $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 - 1.00 - - - - - - - - vshufps $1, %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - 2.00 - - 1.00 1.00 - - - - - - vshufps $1, (%rax), %ymm1, %ymm2 # CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - vsqrtpd %xmm0, %xmm2 # CHECK-NEXT: - - - - 21.00 - 1.00 1.00 - - - - - - vsqrtpd (%rax), %xmm2 # CHECK-NEXT: - - - - 54.00 - 1.00 - - - - - - - vsqrtpd %ymm0, %ymm2 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-ssse3.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-ssse3.s index e8cc26e..44265c6 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-ssse3.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-ssse3.s @@ -57,29 +57,29 @@ psignw (%rax), %xmm2 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - palignr $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - palignr $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - phaddd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - phaddd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - phaddsw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - phaddsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - phaddw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - phaddw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - phsubd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - phsubd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - phsubsw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - phsubsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - phsubw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - phsubw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - 1.00 - palignr $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 1.00 - - palignr $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - 1.00 - phaddd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 1.00 - - phaddd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - 1.00 - phaddsw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 1.00 - - phaddsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - 1.00 - phaddw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 1.00 - - phaddw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - 1.00 - phsubd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 1.00 - - phsubd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - 1.00 - phsubsw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 1.00 - - phsubsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - 1.00 - phsubw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 1.00 - - phsubw (%rax), %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmaddubsw %xmm0, %xmm2 # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmaddubsw (%rax), %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhrsw %xmm0, %xmm2 # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhrsw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 4.00 - - - - - - - pshufb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 4.00 - 1.00 - - - - - - pshufb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - psignb %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - psignb (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - psignd %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - psignd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - psignw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - psignw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - - 4.00 - pshufb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 4.00 - - pshufb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psignb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psignb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psignd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psignd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psignw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psignw (%rax), %xmm2 -- 2.7.4