From bcb86bb92750119b144b1da32f5ef98c15271a48 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Thu, 22 Mar 2018 18:29:16 +0000 Subject: [PATCH] [X86][Btver2] Conversion, MaskedLoad/MaskedStore and NTStores all are scheduled through the JFPU1 pipe llvm-svn: 328226 --- llvm/lib/Target/X86/X86ScheduleBtVer2.td | 42 +- .../tools/llvm-mca/X86/BtVer2/resources-avx1.s | 524 ++++++++++----------- .../tools/llvm-mca/X86/BtVer2/resources-sse1.s | 2 +- .../tools/llvm-mca/X86/BtVer2/resources-sse2.s | 6 +- .../tools/llvm-mca/X86/BtVer2/resources-sse4a.s | 6 +- 5 files changed, 291 insertions(+), 289 deletions(-) diff --git a/llvm/lib/Target/X86/X86ScheduleBtVer2.td b/llvm/lib/Target/X86/X86ScheduleBtVer2.td index 21576e3..26fb4be 100644 --- a/llvm/lib/Target/X86/X86ScheduleBtVer2.td +++ b/llvm/lib/Target/X86/X86ScheduleBtVer2.td @@ -593,35 +593,35 @@ def JWriteVMULPDLd: SchedWriteRes<[JLAGU, JFPU1, JFPM]> { } def : InstRW<[JWriteVMULPDLd], (instrs MULPDrm, MULSDrm, VMULPDrm, VMULSDrm)>; -def JWriteVCVTY: SchedWriteRes<[JSTC]> { +def JWriteVCVTY: SchedWriteRes<[JFPU1, JSTC]> { let Latency = 3; - let ResourceCycles = [2]; + let ResourceCycles = [1, 2]; } def : InstRW<[JWriteVCVTY], (instrs VCVTDQ2PDYrr, VCVTDQ2PSYrr, VCVTPS2DQYrr, VCVTTPS2DQYrr, VROUNDYPDr, VROUNDYPSr)>; -def JWriteVCVTYLd: SchedWriteRes<[JLAGU, JSTC]> { +def JWriteVCVTYLd: SchedWriteRes<[JLAGU, JFPU1, JSTC]> { let Latency = 8; - let ResourceCycles = [1, 2]; + let ResourceCycles = [1, 1, 2]; } def : InstRW<[JWriteVCVTYLd, ReadAfterLd], (instrs VCVTDQ2PDYrm, VCVTDQ2PSYrm, VCVTPS2DQYrm, VCVTTPS2DQYrm, VROUNDYPDm, VROUNDYPSm)>; -def JWriteVMOVNTDQSt: SchedWriteRes<[JSTC, JSAGU]> { +def JWriteVMOVNTDQSt: SchedWriteRes<[JFPU1, JSTC, JSAGU]> { let Latency = 2; } def : InstRW<[JWriteVMOVNTDQSt], (instrs MOVNTDQmr, VMOVNTDQmr)>; -def JWriteMOVNTSt: SchedWriteRes<[JSTC, JSAGU]> { +def JWriteMOVNTSt: SchedWriteRes<[JFPU1, JSTC, JSAGU]> { let Latency = 3; } def : InstRW<[JWriteMOVNTSt], (instrs MOVNTPDmr, MOVNTPSmr, MOVNTSD, MOVNTSS, VMOVNTPDmr, VMOVNTPSmr)>; -def JWriteVMOVNTPYSt: SchedWriteRes<[JSTC, JSAGU]> { +def JWriteVMOVNTPYSt: SchedWriteRes<[JFPU1, JSTC, JSAGU]> { let Latency = 3; - let ResourceCycles = [2,1]; + let ResourceCycles = [1, 2, 1]; } def : InstRW<[JWriteVMOVNTPYSt], (instrs VMOVNTDQYmr, VMOVNTPDYmr, VMOVNTPSYmr)>; @@ -637,15 +637,15 @@ def JWriteFCmpLd: SchedWriteRes<[JLAGU, JFPU0, JFPA]> { def : InstRW<[JWriteFCmpLd], (instregex "(V)?M(AX|IN)(P|S)(D|S)rm", "(V)?CMPP(S|D)rmi", "(V)?CMPS(S|D)rm")>; -def JWriteVCVTPDY: SchedWriteRes<[JSTC, JFPU01]> { +def JWriteVCVTPDY: SchedWriteRes<[JFPU1, JSTC, JFPX]> { let Latency = 6; - let ResourceCycles = [2, 4]; + let ResourceCycles = [1, 2, 4]; } def : InstRW<[JWriteVCVTPDY], (instrs VCVTPD2DQYrr, VCVTTPD2DQYrr, VCVTPD2PSYrr)>; -def JWriteVCVTPDYLd: SchedWriteRes<[JLAGU, JSTC, JFPU01]> { +def JWriteVCVTPDYLd: SchedWriteRes<[JLAGU, JFPU1, JSTC, JFPX]> { let Latency = 11; - let ResourceCycles = [1, 2, 4]; + let ResourceCycles = [1, 1, 2, 4]; } def : InstRW<[JWriteVCVTPDYLd, ReadAfterLd], (instrs VCVTPD2DQYrm, VCVTTPD2DQYrm, VCVTPD2PSYrm)>; @@ -724,27 +724,29 @@ def JWriteFPAY22Ld: SchedWriteRes<[JLAGU, JFPU0, JFPA]> { } def : InstRW<[JWriteFPAY22Ld, ReadAfterLd], (instregex "VCMPP(S|D)Yrmi", "VM(AX|IN)P(D|S)Yrm")>; -def JWriteVMaskMovLd: SchedWriteRes<[JLAGU,JFPU01]> { +def JWriteVMaskMovLd: SchedWriteRes<[JLAGU, JFPU01, JFPX]> { let Latency = 6; - let ResourceCycles = [1, 2]; + let ResourceCycles = [1, 1, 2]; } def : InstRW<[JWriteVMaskMovLd], (instrs VMASKMOVPDrm, VMASKMOVPSrm)>; -def JWriteVMaskMovYLd: SchedWriteRes<[JLAGU,JFPU01]> { +def JWriteVMaskMovYLd: SchedWriteRes<[JLAGU, JFPU01, JFPX]> { let Latency = 6; - let ResourceCycles = [1, 4]; + let ResourceCycles = [1, 1, 4]; + let NumMicroOps = 2; } def : InstRW<[JWriteVMaskMovYLd], (instrs VMASKMOVPDYrm, VMASKMOVPSYrm)>; -def JWriteVMaskMovSt: SchedWriteRes<[JFPU01,JSAGU]> { +def JWriteVMaskMovSt: SchedWriteRes<[JFPU01, JFPX, JSAGU]> { let Latency = 6; - let ResourceCycles = [4, 1]; + let ResourceCycles = [1, 4, 1]; } def : InstRW<[JWriteVMaskMovSt], (instrs VMASKMOVPDmr, VMASKMOVPSmr)>; -def JWriteVMaskMovYSt: SchedWriteRes<[JFPU01,JSAGU]> { +def JWriteVMaskMovYSt: SchedWriteRes<[JFPU01, JFPX, JSAGU]> { let Latency = 6; - let ResourceCycles = [4, 1]; + let ResourceCycles = [1, 4, 1]; + let NumMicroOps = 2; } def : InstRW<[JWriteVMaskMovYSt], (instrs VMASKMOVPDYmr, VMASKMOVPSYmr)>; 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 1b5390b..c7767cf 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s @@ -1107,24 +1107,24 @@ vzeroupper # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcomiss (%rax), %xmm1 # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtdq2pd %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtdq2pd (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 2.00 - - - vcvtdq2pd %xmm0, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - 2.00 - - - vcvtdq2pd (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 2.00 - - - vcvtdq2pd %xmm0, %ymm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 2.00 - - - vcvtdq2pd (%rax), %ymm2 # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtdq2ps %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 2.00 - - - vcvtdq2ps %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - 2.00 - - - vcvtdq2ps (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 2.00 - - - vcvtdq2ps %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 2.00 - - - vcvtdq2ps (%rax), %ymm2 # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtpd2dq %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtpd2dqx (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 4.00 - - - 2.00 - - - vcvtpd2dq %ymm0, %xmm2 -# CHECK-NEXT: - - - - - 4.00 - 1.00 - - 2.00 - - - vcvtpd2dqy (%rax), %xmm2 +# CHECK-NEXT: - - - - 4.00 - 1.00 - - - 2.00 - - - vcvtpd2dq %ymm0, %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 - - - 2.00 - - - vcvtpd2ps %ymm0, %xmm2 -# CHECK-NEXT: - - - - - 4.00 - 1.00 - - 2.00 - - - vcvtpd2psy (%rax), %xmm2 +# CHECK-NEXT: - - - - 4.00 - 1.00 - - - 2.00 - - - vcvtpd2ps %ymm0, %xmm2 +# CHECK-NEXT: - - - - 4.00 - 1.00 1.00 - - 2.00 - - - vcvtpd2psy (%rax), %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtps2dq %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtps2dq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 2.00 - - - vcvtps2dq %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - 2.00 - - - vcvtps2dq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 2.00 - - - vcvtps2dq %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 2.00 - - - vcvtps2dq (%rax), %ymm2 # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtps2pd %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtps2pd (%rax), %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtps2pd %xmm0, %ymm2 @@ -1151,12 +1151,12 @@ vzeroupper # CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtss2si (%rax), %rcx # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvttpd2dq %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvttpd2dqx (%rax), %xmm2 -# CHECK-NEXT: - - - - - 4.00 - - - - 2.00 - - - vcvttpd2dq %ymm0, %xmm2 -# CHECK-NEXT: - - - - - - 4.00 1.00 - - 2.00 - - - vcvttpd2dqy (%rax), %xmm2 +# CHECK-NEXT: - - - 4.00 - - 1.00 - - - 2.00 - - - vcvttpd2dq %ymm0, %xmm2 +# CHECK-NEXT: - - - 4.00 - - 1.00 1.00 - - 2.00 - - - vcvttpd2dqy (%rax), %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvttps2dq %xmm0, %xmm2 # CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvttps2dq (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 2.00 - - - vcvttps2dq %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - 2.00 - - - vcvttps2dq (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 2.00 - - - vcvttps2dq %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 2.00 - - - vcvttps2dq (%rax), %ymm2 # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvttsd2si %xmm0, %ecx # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvttsd2si %xmm0, %rcx # CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvttsd2si (%rax), %ecx @@ -1207,14 +1207,14 @@ vzeroupper # CHECK-NEXT: - - - - - - - 1.00 - - - - - - vlddqu (%rax), %ymm2 # CHECK-NEXT: - - - - - - - 1.00 - - - - - - vldmxcsr (%rax) # CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmaskmovdqu %xmm0, %xmm1 -# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vmaskmovpd (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 4.00 1.00 - - - - - - vmaskmovpd (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - - - - 4.00 - - - 1.00 - - - - vmaskmovpd %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - - - - 4.00 - - - 1.00 - - - - vmaskmovpd %ymm0, %ymm1, (%rax) -# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vmaskmovps (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - - - - 4.00 - 1.00 - - - - - - vmaskmovps (%rax), %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - 4.00 - - 1.00 - - - - vmaskmovps %xmm0, %xmm1, (%rax) -# CHECK-NEXT: - - - - - 4.00 - - - 1.00 - - - - vmaskmovps %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - vmaskmovpd (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - 4.00 - - 1.00 1.00 - - - - - - vmaskmovpd (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - - - 4.00 1.00 - - - 1.00 - - - - vmaskmovpd %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - - 4.00 - - 1.00 - - 1.00 - - - - vmaskmovpd %ymm0, %ymm1, (%rax) +# CHECK-NEXT: - - - - 2.00 1.00 - 1.00 - - - - - - vmaskmovps (%rax), %xmm0, %xmm2 +# CHECK-NEXT: - - - - 4.00 - 1.00 1.00 - - - - - - vmaskmovps (%rax), %ymm0, %ymm2 +# CHECK-NEXT: - - - 4.00 - 1.00 - - - 1.00 - - - - vmaskmovps %xmm0, %xmm1, (%rax) +# CHECK-NEXT: - - - - 4.00 - 1.00 - - 1.00 - - - - vmaskmovps %ymm0, %ymm1, (%rax) # CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmaxpd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmaxpd (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 2.00 - 1.00 - - - - - - - - vmaxpd %ymm0, %ymm1, %ymm2 @@ -1285,15 +1285,15 @@ vzeroupper # 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 - - - vmovntdq %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - - - 1.00 2.00 - - - vmovntdq %ymm0, (%rax) +# 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 - - - - - - vmovntdqa (%rax), %xmm2 # CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovntdqa (%rax), %ymm2 -# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - vmovntpd %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - - - 1.00 2.00 - - - vmovntpd %ymm0, (%rax) -# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - vmovntps %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - - - 1.00 2.00 - - - vmovntps %ymm0, (%rax) -# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - vmovq %xmm0, %xmm2 +# 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 - - - - - - - - - - - - vmovq %rax, %xmm2 # CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovq (%rax), %xmm2 # CHECK-NEXT: 1.00 - - - - - - - - - - - - - vmovq %xmm0, %rcx @@ -1302,9 +1302,9 @@ vzeroupper # 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 - 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 @@ -1312,13 +1312,13 @@ vzeroupper # CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovss %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovss %xmm0, (%rax) # CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovss (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vmovupd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmovupd %xmm0, %xmm2 # CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovupd %xmm0, (%rax) # CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovupd (%rax), %xmm2 -# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmovupd %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vmovupd %ymm0, %ymm2 # CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovupd %ymm0, (%rax) # CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovupd (%rax), %ymm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vmovups %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmovups %xmm0, %xmm2 # CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovups %xmm0, (%rax) # CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovups (%rax), %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmovups %ymm0, %ymm2 @@ -1339,176 +1339,176 @@ vzeroupper # CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmulss %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmulss (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vorpd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vorpd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vorpd %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - 2.00 - 2.00 - 1.00 - - - - - - vorpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vorps %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vorpd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - 2.00 - - 2.00 - - - - - - - vorpd %ymm0, %ymm1, %ymm2 +# CHECK-NEXT: - - - - 2.00 2.00 - 1.00 - - - - - - vorpd (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vorps %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vorps (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vorps %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - 2.00 - 2.00 - 1.00 - - - - - - vorps (%rax), %ymm1, %ymm2 -# 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 - - vpabsb %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpabsb (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpabsd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpabsd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpabsw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpabsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpackssdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpackssdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpacksswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpacksswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpackusdw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpackusdw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpackuswb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpackuswb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpaddb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddusb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddusb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddusw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddusw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpalignr $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpalignr $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpand %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpand (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpandn %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpandn (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpavgb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpavgb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpavgw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpavgw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 4.00 - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 4.00 - vpblendvb %xmm3, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpblendw $11, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpblendw $11, (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpclmulqdq $11, %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpclmulqdq $11, (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 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 - - vpcmpeqb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpeqb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpeqd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpeqd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpeqq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpeqq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpeqw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpeqw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpgtb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpgtb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpgtd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpgtd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpgtq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpgtq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpgtw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpgtw (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vperm2f128 $1, %ymm0, %ymm1, %ymm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vperm2f128 $1, (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vpermilpd $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vpermilpd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vperm2f128 $1, (%rax), %ymm1, %ymm2 +# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vpermilpd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vpermilpd $1, (%rax), %xmm2 # CHECK-NEXT: - - - - - 4.00 - - - - - - - - vpermilpd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - - 4.00 1.00 - - - - - - vpermilpd (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - 2.00 - - - - - - - - vpermilpd $1, %ymm0, %ymm2 # CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vpermilpd $1, (%rax), %ymm2 # CHECK-NEXT: - - - - - 6.00 - - - - - - - - vpermilpd %ymm0, %ymm1, %ymm2 # CHECK-NEXT: - - - - - - 6.00 1.00 - - - - - - vpermilpd (%rax), %ymm1, %ymm2 -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vpermilps $1, %xmm0, %xmm2 -# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vpermilps $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - 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 - - - - - 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 - - vpextrb $1, %xmm0, %ecx +# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - - 1.00 - vpextrb $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpextrd $1, %xmm0, %ecx +# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - - 1.00 - vpextrd $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpextrq $1, %xmm0, %rcx +# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 1.00 - - vpextrq $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpextrw $1, %xmm0, %ecx +# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 1.00 - - vpextrw $1, %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vphaddd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vphaddd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vphaddsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vphaddsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vphaddw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vphaddw (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vphminposuw %xmm0, %xmm2 # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vphminposuw (%rax), %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 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 - - vphsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vphsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vphsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vphsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vphsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vphsubw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpinsrb $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpinsrb $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpinsrd $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpinsrd $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpinsrq $1, %rax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpinsrq $1, (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpinsrw $1, %eax, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpinsrw $1, (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmaddubsw %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmaddubsw (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmaddwd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmaddwd (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 - - - - 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 - vpmaxsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmaxsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpmaxsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmaxsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpmaxsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmaxsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmaxub %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmaxub (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmaxud %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmaxud (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmaxuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmaxuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpminsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpminsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpminsd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpminsd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpminsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpminsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpminub %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpminub (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpminud %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpminud (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpminuw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpminuw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovmskb %xmm0, %ecx +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovsxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovsxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovsxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovsxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovsxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovsxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovsxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovsxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovsxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovsxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovsxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovsxwq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovzxbd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovzxbd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovzxbq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovzxbq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovzxbw %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovzxbw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovzxdq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovzxdq (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovzxwd %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmovzxwd (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovzxwq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovzxwq (%rax), %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmuldq %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmuldq (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmulhrsw %xmm0, %xmm1, %xmm2 @@ -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 - - - - 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 - - - - - 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 - - - - 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 - - - - - 1.00 - vpshufd $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpshufd $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpshufhw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpshufhw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpshuflw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpshuflw $1, (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsignb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsignb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsignd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsignd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsignw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsignw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpslld $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpslld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpslld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpslldq $1, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsllq $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsllq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpsllq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsllw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsllw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsllw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsrad $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsrad %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpsrad (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsraw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsraw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsraw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsrld $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsrld %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpsrld (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsrldq $1, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsrlq $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsrlq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpsrlq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsrlw $1, %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsrlw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsrlw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubsb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubsb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubsw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubsw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubusb %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubusb (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubusw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubusw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubw (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - - - vptest %xmm0, %xmm1 # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vptest (%rax), %xmm1 # CHECK-NEXT: - - - - - 2.00 2.00 - - - - - - - vptest %ymm0, %ymm1 # CHECK-NEXT: - - - - - 2.00 2.00 1.00 - - - - - - vptest (%rax), %ymm1 -# CHECK-NEXT: - - - - - - 1.00 - - - - 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 - vpunpckhbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpunpckhbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpunpckhdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpunpckhdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpunpckhqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpunpckhqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpunpckhwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpunpckhwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpunpcklbw %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpunpcklbw (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpunpckldq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpunpckldq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpunpcklqdq %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpunpcklqdq (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpunpcklwd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpunpcklwd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpxor %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpxor (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vrcpps %xmm0, %xmm2 # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vrcpps (%rax), %xmm2 # CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - vrcpps %ymm0, %ymm2 @@ -1613,12 +1613,12 @@ vzeroupper # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vrcpss (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vroundpd $1, %xmm0, %xmm2 # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vroundpd $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 2.00 - - - vroundpd $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - 2.00 - - - vroundpd $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 2.00 - - - vroundpd $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 2.00 - - - vroundpd $1, (%rax), %ymm2 # CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vroundps $1, %xmm0, %xmm2 # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vroundps $1, (%rax), %xmm2 -# CHECK-NEXT: - - - - - - - - - - 2.00 - - - vroundps $1, %ymm0, %ymm2 -# CHECK-NEXT: - - - - - - - 1.00 - - 2.00 - - - vroundps $1, (%rax), %ymm2 +# CHECK-NEXT: - - - - - - 1.00 - - - 2.00 - - - vroundps $1, %ymm0, %ymm2 +# CHECK-NEXT: - - - - - - 1.00 1.00 - - 2.00 - - - vroundps $1, (%rax), %ymm2 # CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vroundsd $1, %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vroundsd $1, (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vroundss $1, %xmm0, %xmm1, %xmm2 @@ -1632,9 +1632,9 @@ vzeroupper # 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 - 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: - - - - 21.00 - 1.00 - - - - - - - vsqrtpd %xmm0, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s index 2b8fa71..6a181c3 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s @@ -201,7 +201,7 @@ xorps (%rax), %xmm2 # CHECK-NEXT: - - - - - - - - - 1.00 - - - - movlps %xmm0, (%rax) # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - movlps (%rax), %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - movmskps %xmm0, %ecx -# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - movntps %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntps %xmm0, (%rax) # CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - movss %xmm0, %xmm2 # CHECK-NEXT: - - - - - - - - - 1.00 - - - - movss %xmm0, (%rax) # CHECK-NEXT: - - - - - - - 1.00 - - - - - - movss (%rax), %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s index 50b472c..51288b9 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s @@ -472,8 +472,8 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: - - - - - - - - - 1.00 - - - - movlpd %xmm0, (%rax) # CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - movlpd (%rax), %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - movmskpd %xmm0, %ecx -# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - movntdq %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - movntpd %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntdq %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntpd %xmm0, (%rax) # CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - movq %xmm0, %xmm2 # CHECK-NEXT: - 1.00 - - - - - - - - - - - - movq %rax, %xmm2 # CHECK-NEXT: - - - - - - - 1.00 - - - - - - movq (%rax), %xmm2 @@ -496,7 +496,7 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pabsd %xmm0, %xmm2 # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pabsd (%rax), %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pabsw %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pabsw (%rax), %xmm2 +# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pabsw (%rax), %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - packssdw %xmm0, %xmm2 # CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - packssdw (%rax), %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - packsswb %xmm0, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse4a.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse4a.s index 091f173..e9d84a1 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse4a.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse4a.s @@ -27,9 +27,9 @@ movntss %xmm0, (%rax) # 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 - - - - 0.49 0.51 - extrq %xmm0, %xmm2 +# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.49 0.51 - extrq %xmm0, %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - extrq $22, $2, %xmm2 # CHECK-NEXT: - - - - - - 1.00 - - - - 2.00 2.00 - insertq %xmm0, %xmm2 # CHECK-NEXT: - - - - - 1.00 - - - - - 2.00 2.00 - insertq $22, $22, %xmm0, %xmm2 -# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - movntsd %xmm0, (%rax) -# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - movntss %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntsd %xmm0, (%rax) +# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntss %xmm0, (%rax) -- 2.7.4