[llvm] r328324 - [X86][Btver2] Cleanup DPPS/DPPD instructions to use JFPA/JFPM function units
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 23 08:17:51 PDT 2018
Author: rksimon
Date: Fri Mar 23 08:17:50 2018
New Revision: 328324
URL: http://llvm.org/viewvc/llvm-project?rev=328324&view=rev
Log:
[X86][Btver2] Cleanup DPPS/DPPD instructions to use JFPA/JFPM function units
Modified:
llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s
Modified: llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td?rev=328324&r1=328323&r2=328324&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td (original)
+++ llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td Fri Mar 23 08:17:50 2018
@@ -388,30 +388,30 @@ defm : JWriteResFpuPair<WriteCLMul,
// SSE4.1 instructions.
////////////////////////////////////////////////////////////////////////////////
-def JWriteDPPS: SchedWriteRes<[JFPU0, JFPU1]> {
+def JWriteDPPS: SchedWriteRes<[JFPU1, JFPM, JFPA]> {
let Latency = 11;
- let ResourceCycles = [3, 3];
+ let ResourceCycles = [1, 3, 3];
let NumMicroOps = 5;
}
def : InstRW<[JWriteDPPS], (instrs DPPSrri, VDPPSrri)>;
-def JWriteDPPSLd: SchedWriteRes<[JLAGU, JFPU0, JFPU1]> {
+def JWriteDPPSLd: SchedWriteRes<[JLAGU, JFPU1, JFPM, JFPA]> {
let Latency = 16;
- let ResourceCycles = [1, 3, 3];
+ let ResourceCycles = [1, 1, 3, 3];
let NumMicroOps = 5;
}
def : InstRW<[JWriteDPPSLd], (instrs DPPSrmi, VDPPSrmi)>;
-def JWriteDPPD: SchedWriteRes<[JFPU0, JFPU1]> {
+def JWriteDPPD: SchedWriteRes<[JFPU1, JFPM, JFPA]> {
let Latency = 9;
- let ResourceCycles = [3, 3];
+ let ResourceCycles = [1, 3, 3];
let NumMicroOps = 3;
}
def : InstRW<[JWriteDPPD], (instrs DPPDrri, VDPPDrri)>;
-def JWriteDPPDLd: SchedWriteRes<[JLAGU, JFPU0, JFPU1]> {
+def JWriteDPPDLd: SchedWriteRes<[JLAGU, JFPU1, JFPM, JFPA]> {
let Latency = 14;
- let ResourceCycles = [1, 3, 3];
+ let ResourceCycles = [1, 1, 3, 3];
let NumMicroOps = 3;
}
def : InstRW<[JWriteDPPDLd], (instrs DPPDrmi, VDPPDrmi)>;
@@ -515,16 +515,16 @@ def : InstRW<[JWriteFLogicYLd], (instrs
VANDPDYrm, VANDPSYrm,
VANDNPDYrm, VANDNPSYrm)>;
-def JWriteVDPPSY: SchedWriteRes<[JFPU1, JFPU0]> {
+def JWriteVDPPSY: SchedWriteRes<[JFPU1, JFPM, JFPA]> {
let Latency = 12;
- let ResourceCycles = [6, 6];
+ let ResourceCycles = [1, 6, 6];
let NumMicroOps = 10;
}
def : InstRW<[JWriteVDPPSY], (instrs VDPPSYrri)>;
-def JWriteVDPPSYLd: SchedWriteRes<[JLAGU, JFPU1, JFPU0]> {
+def JWriteVDPPSYLd: SchedWriteRes<[JLAGU, JFPU1, JFPM, JFPA]> {
let Latency = 17;
- let ResourceCycles = [1, 6, 6];
+ let ResourceCycles = [1, 1, 6, 6];
let NumMicroOps = 10;
}
def : InstRW<[JWriteVDPPSYLd, ReadAfterLd], (instrs VDPPSYrmi)>;
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s?rev=328324&r1=328323&r2=328324&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s Fri Mar 23 08:17:50 2018
@@ -1173,16 +1173,16 @@ vzeroupper
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - vdivsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - vdivss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - vdivss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 3.00 3.00 - - - - - - - vdppd $22, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 3.00 3.00 1.00 - - - - - - vdppd $22, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 3.00 3.00 - - - - - - - vdpps $22, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 3.00 3.00 1.00 - - - - - - vdpps $22, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 6.00 6.00 - - - - - - - vdpps $22, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 6.00 6.00 1.00 - - - - - - vdpps $22, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 3.00 3.00 - 1.00 - - - - - - - vdppd $22, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 3.00 3.00 - 1.00 1.00 - - - - - - vdppd $22, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 3.00 3.00 - 1.00 - - - - - - - vdpps $22, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 3.00 3.00 - 1.00 1.00 - - - - - - vdpps $22, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 6.00 6.00 - 1.00 - - - - - - - vdpps $22, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 6.00 6.00 - 1.00 1.00 - - - - - - vdpps $22, (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vextractf128 $1, %ymm0, %xmm2
# CHECK-NEXT: - - - 1.00 - 1.00 - - - 1.00 - - - - vextractf128 $1, %ymm0, (%rax)
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vextractps $1, %xmm0, %ecx
-# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - 1.00 - - - - vextractps $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - 1.00 - - - - vextractps $1, %xmm0, (%rax)
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhaddpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vhaddpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vhaddpd %ymm0, %ymm1, %ymm2
@@ -1208,13 +1208,13 @@ vzeroupper
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vldmxcsr (%rax)
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 - 0.50 0.50 - vmaskmovdqu %xmm0, %xmm1
# 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 (%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: - - - 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
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s?rev=328324&r1=328323&r2=328324&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s Fri Mar 23 08:17:50 2018
@@ -171,80 +171,80 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: - - - 0.06 3.94 1.00 - 1.00 - - - - - - blendvpd %xmm0, (%rax), %xmm2
# CHECK-NEXT: - - - 4.00 - 0.99 0.01 - - - - - - - blendvps %xmm0, %xmm0, %xmm2
# CHECK-NEXT: - - - - 4.00 0.01 0.99 1.00 - - - - - - blendvps %xmm0, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 3.00 3.00 - - - - - - - dppd $22, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 3.00 3.00 1.00 - - - - - - dppd $22, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 3.00 3.00 - - - - - - - dpps $22, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 3.00 3.00 1.00 - - - - - - dpps $22, (%rax), %xmm2
+# CHECK-NEXT: - - - 3.00 3.00 - 1.00 - - - - - - - dppd $22, %xmm0, %xmm2
+# CHECK-NEXT: - - - 3.00 3.00 - 1.00 1.00 - - - - - - dppd $22, (%rax), %xmm2
+# CHECK-NEXT: - - - 3.00 3.00 - 1.00 - - - - - - - dpps $22, %xmm0, %xmm2
+# CHECK-NEXT: - - - 3.00 3.00 - 1.00 1.00 - - - - - - dpps $22, (%rax), %xmm2
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - extractps $1, %xmm0, %ecx
-# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - 1.00 - - - - extractps $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - insertps $1, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - insertps $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.99 0.01 - movntdqa (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - 1.00 - - - - extractps $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - insertps $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - insertps $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.50 0.50 - movntdqa (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 2.00 mpsadbw $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 2.00 mpsadbw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.99 0.01 - packusdw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.01 0.99 - packusdw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 4.00 - - pblendvb %xmm0, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - - 4.00 - pblendvb %xmm0, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pblendw $11, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pblendw $11, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pcmpeqq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pcmpeqq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.01 0.99 - pextrb $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 1.00 - - pextrb $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.99 0.01 - pextrd $1, %xmm0, %ecx
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - 1.00 - - 1.00 - pextrd $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - 1.00 - - - - - 0.01 0.99 - pextrq $1, %xmm0, %rcx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 1.00 - - pextrq $1, %xmm0, (%rax)
-# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - - 1.00 - pextrw $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - packusdw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - packusdw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 2.00 2.00 - pblendvb %xmm0, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 2.00 2.00 - pblendvb %xmm0, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pblendw $11, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pblendw $11, (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pcmpeqq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pcmpeqq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pextrb $1, %xmm0, %ecx
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - 1.00 - 0.50 0.50 - pextrb $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - 0.01 0.99 - - - - 0.50 0.50 - pextrd $1, %xmm0, %ecx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 0.50 0.50 - pextrd $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.50 0.50 - pextrq $1, %xmm0, %rcx
+# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 0.50 0.50 - pextrq $1, %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 0.50 0.50 - pextrw $1, %xmm0, (%rax)
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 phminposuw %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 phminposuw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 0.99 0.01 - pinsrb $1, %eax, %xmm1
-# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - - 1.00 - pinsrb $1, (%rax), %xmm1
-# CHECK-NEXT: - - - - - 0.01 0.99 - - - - 0.01 0.99 - pinsrd $1, %eax, %xmm1
-# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 1.00 - - pinsrd $1, (%rax), %xmm1
-# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pinsrq $1, %rax, %xmm1
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pinsrq $1, (%rax), %xmm1
-# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.99 0.01 - pmaxsb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pmaxsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pmaxsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pmaxsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pmaxud %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pmaxud (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pmaxuw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pmaxuw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pminsb %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pminsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pminsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pminsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pminud %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pminud (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pminuw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pminuw (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pmovsxbd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pmovsxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pmovsxbq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pmovsxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pmovsxbw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pmovsxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pmovsxdq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pmovsxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pmovsxwd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pmovsxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pmovsxwq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pmovsxwq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pmovzxbd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pmovzxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pmovzxbq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pmovzxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pmovzxbw %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pmovzxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pmovzxdq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pmovzxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pmovzxwd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pmovzxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pmovzxwq %xmm0, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pmovzxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pinsrb $1, %eax, %xmm1
+# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.50 0.50 - pinsrb $1, (%rax), %xmm1
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pinsrd $1, %eax, %xmm1
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pinsrd $1, (%rax), %xmm1
+# CHECK-NEXT: - - - - - 0.01 0.99 - - - - 0.50 0.50 - pinsrq $1, %rax, %xmm1
+# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - 0.50 0.50 - pinsrq $1, (%rax), %xmm1
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmaxsb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmaxsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmaxsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmaxsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmaxud %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.50 0.50 - pmaxud (%rax), %xmm2
+# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.51 0.49 - pmaxuw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmaxuw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pminsb %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pminsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pminsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pminsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pminud %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pminud (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pminuw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.51 0.49 - pminuw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.50 0.50 - pmovsxbd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.49 0.51 - pmovsxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmovsxbq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmovsxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovsxbw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovsxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovsxdq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovsxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovsxwd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovsxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.49 0.51 - pmovsxwq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.51 0.49 - pmovsxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.49 0.51 - pmovzxbd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.51 0.49 - pmovzxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.49 0.51 - pmovzxbq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.51 0.49 - pmovzxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.49 0.51 - pmovzxbw %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.51 0.49 - pmovzxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovzxdq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - 0.49 0.51 - pmovzxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovzxwd %xmm0, %xmm2
+# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmovzxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovzxwq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovzxwq (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmuldq %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmuldq (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulld %xmm0, %xmm2
More information about the llvm-commits
mailing list