[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