[llvm] r328222 - [X86][Btver2] FCMP (inc FMAX/FMIN) instructions use the JFPA functional pipe
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 22 10:43:12 PDT 2018
Author: rksimon
Date: Thu Mar 22 10:43:12 2018
New Revision: 328222
URL: http://llvm.org/viewvc/llvm-project?rev=328222&view=rev
Log:
[X86][Btver2] FCMP (inc FMAX/FMIN) instructions use the JFPA functional pipe
The ymm instructions are double pumped as well.
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-sse1.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s
Modified: llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td?rev=328222&r1=328221&r2=328222&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td (original)
+++ llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td Thu Mar 22 10:43:12 2018
@@ -625,13 +625,13 @@ def JWriteVMOVNTPYSt: SchedWriteRes<[JST
}
def : InstRW<[JWriteVMOVNTPYSt], (instrs VMOVNTDQYmr, VMOVNTPDYmr, VMOVNTPSYmr)>;
-def JWriteFCmp: SchedWriteRes<[JFPU0]> {
+def JWriteFCmp: SchedWriteRes<[JFPU0, JFPA]> {
let Latency = 2;
}
def : InstRW<[JWriteFCmp], (instregex "(V)?M(AX|IN)(P|S)(D|S)rr",
"(V)?CMPP(S|D)rri", "(V)?CMPS(S|D)rr")>;
-def JWriteFCmpLd: SchedWriteRes<[JLAGU, JFPU0]> {
+def JWriteFCmpLd: SchedWriteRes<[JLAGU, JFPU0, JFPA]> {
let Latency = 7;
}
def : InstRW<[JWriteFCmpLd], (instregex "(V)?M(AX|IN)(P|S)(D|S)rm",
@@ -712,15 +712,15 @@ def JWriteVBROADCASTYLd: SchedWriteRes<[
}
def : InstRW<[JWriteVBROADCASTYLd, ReadAfterLd], (instrs VBROADCASTSDYrm, VBROADCASTSSYrm)>;
-def JWriteFPAY22: SchedWriteRes<[JFPU0]> {
+def JWriteFPAY22: SchedWriteRes<[JFPU0, JFPA]> {
let Latency = 2;
- let ResourceCycles = [2];
+ let ResourceCycles = [1, 2];
}
def : InstRW<[JWriteFPAY22], (instregex "VCMPP(S|D)Yrri", "VM(AX|IN)P(D|S)Yrr")>;
-def JWriteFPAY22Ld: SchedWriteRes<[JLAGU, JFPU0]> {
+def JWriteFPAY22Ld: SchedWriteRes<[JLAGU, JFPU0, JFPA]> {
let Latency = 7;
- let ResourceCycles = [1, 2];
+ let ResourceCycles = [1, 1, 2];
}
def : InstRW<[JWriteFPAY22Ld, ReadAfterLd], (instregex "VCMPP(S|D)Yrmi", "VM(AX|IN)P(D|S)Yrm")>;
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=328222&r1=328221&r2=328222&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 Thu Mar 22 10:43:12 2018
@@ -1089,18 +1089,18 @@ vzeroupper
# CHECK-NEXT: - - - - - - 4.00 1.00 - - - - - - vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vbroadcastss (%rax), %xmm2
# CHECK-NEXT: - - - - - 4.00 - 1.00 - - - - - - vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vcmppd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vcmppd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vcmppd $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vcmppd $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vcmpps $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vcmpps $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vcmpps $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vcmpps $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vcmpsd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vcmpsd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vcmpss $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vcmpss $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmppd $0, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmppd $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 2.00 - 1.00 - - - - - - - - vcmppd $0, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 2.00 - 1.00 - 1.00 - - - - - - vcmppd $0, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmpps $0, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmpps $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 2.00 - 1.00 - - - - - - - - vcmpps $0, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 2.00 - 1.00 - 1.00 - - - - - - vcmpps $0, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmpsd $0, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmpsd $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmpss $0, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmpss $0, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcomisd %xmm0, %xmm1
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcomisd (%rax), %xmm1
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcomiss %xmm0, %xmm1
@@ -1215,30 +1215,30 @@ vzeroupper
# 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: - - - - - 1.00 - - - - - - - - vmaxpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vmaxpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vmaxpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vmaxpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmaxps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vmaxps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vmaxps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vmaxps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmaxsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vmaxsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmaxss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vmaxss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vminpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vminpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vminpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vminpd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vminps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vminps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vminps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - vminps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vminsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vminsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vminss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - vminss (%rax), %xmm1, %xmm2
+# 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
+# CHECK-NEXT: - - - 2.00 - 1.00 - 1.00 - - - - - - vmaxpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmaxps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmaxps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 2.00 - 1.00 - - - - - - - - vmaxps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 2.00 - 1.00 - 1.00 - - - - - - vmaxps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmaxsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmaxsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmaxss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmaxss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vminpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vminpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 2.00 - 1.00 - - - - - - - - vminpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 2.00 - 1.00 - 1.00 - - - - - - vminpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vminps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vminps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 2.00 - 1.00 - - - - - - - - vminps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 2.00 - 1.00 - 1.00 - - - - - - vminps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vminsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vminsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vminss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vminss (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vmovapd %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovapd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovapd (%rax), %xmm2
@@ -1255,14 +1255,14 @@ vzeroupper
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovd (%rax), %xmm2
# CHECK-NEXT: 1.00 - - - - - - - - - - - - - vmovd %xmm0, %ecx
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovd %xmm0, (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vmovddup %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovddup %xmm0, %xmm2
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovddup (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - vmovddup %ymm0, %ymm2
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vmovddup %ymm0, %ymm2
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vmovddup (%rax), %ymm2
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vmovdqa %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovdqa %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovdqa (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vmovdqa %ymm0, %ymm2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmovdqa %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovdqa %ymm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovdqa (%rax), %ymm2
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vmovdqu %xmm0, %xmm2
@@ -1271,16 +1271,16 @@ vzeroupper
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vmovdqu %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovdqu %ymm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovdqu (%rax), %ymm2
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vmovhlps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovhlps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovlhps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovhpd %xmm0, (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vmovhpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovhpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovhps %xmm0, (%rax)
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovhps (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovlpd %xmm0, (%rax)
-# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovlpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovlpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovlps %xmm0, (%rax)
-# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovlps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovlps (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmovmskpd %xmm0, %ecx
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmovmskpd %ymm0, %ecx
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vmovmskps %xmm0, %ecx
@@ -1298,18 +1298,18 @@ vzeroupper
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovq (%rax), %xmm2
# CHECK-NEXT: 1.00 - - - - - - - - - - - - - vmovq %xmm0, %rcx
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovq %xmm0, (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vmovsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovsd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovsd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovsd (%rax), %xmm2
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vmovshdup %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vmovshdup (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovshdup %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovshdup (%rax), %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vmovshdup %ymm0, %ymm2
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vmovshdup (%rax), %ymm2
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vmovsldup %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vmovsldup (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovsldup %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovsldup (%rax), %xmm2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - vmovsldup %ymm0, %ymm2
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vmovsldup (%rax), %ymm2
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vmovss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - 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
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s?rev=328222&r1=328221&r2=328222&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s Thu Mar 22 10:43:12 2018
@@ -160,10 +160,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - 0.01 0.99 1.00 - - - - - - andnps (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - 0.01 0.99 - - - - - - - andps %xmm0, %xmm2
# CHECK-NEXT: - - - 1.00 - 0.99 0.01 1.00 - - - - - - andps (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpps $0, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmpps $0, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpss $0, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmpss $0, (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - comiss %xmm0, %xmm1
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - comiss (%rax), %xmm1
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2ssl %ecx, %xmm2
@@ -183,19 +183,19 @@ xorps (%rax), %xmm2
# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divss %xmm0, %xmm2
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divss (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - ldmxcsr (%rax)
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - maxps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - maxps (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - maxss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - maxss (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - minps %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - minps (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - minss %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - minss (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - maxps %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - maxps (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - maxss %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - maxss (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - minps %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minps (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - minss %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minss (%rax), %xmm2
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - - - movaps %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movaps %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movaps (%rax), %xmm2
-# CHECK-NEXT: - - - 1.00 - 0.01 0.99 - - - - - - - movhlps %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - movlhps %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 0.01 0.99 - - - - - - - movhlps %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - movlhps %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movhps %xmm0, (%rax)
# CHECK-NEXT: - - - - 1.00 0.99 0.01 1.00 - - - - - - movhps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movlps %xmm0, (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s?rev=328222&r1=328221&r2=328222&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s Thu Mar 22 10:43:12 2018
@@ -403,10 +403,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - 0.99 0.01 0.01 0.99 1.00 - - - - - - andnpd (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - 0.01 0.99 - - - - - - - andpd %xmm0, %xmm2
# CHECK-NEXT: - - - 0.99 0.01 1.00 - 1.00 - - - - - - andpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmppd $0, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmppd $0, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpsd $0, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmpsd $0, (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - comisd %xmm0, %xmm1
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - comisd (%rax), %xmm1
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtdq2pd %xmm0, %xmm2
@@ -446,14 +446,14 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divsd %xmm0, %xmm2
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divsd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - maskmovdqu %xmm0, %xmm1
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - maxpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - maxpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - maxsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - maxsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - minpd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - minpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - - minsd %xmm0, %xmm2
-# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - minsd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - maxpd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - maxpd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - maxsd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - maxsd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - minpd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minpd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - minsd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minsd (%rax), %xmm2
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - - - movapd %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movapd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movapd (%rax), %xmm2
@@ -468,9 +468,9 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movdqu %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movdqu (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movhpd %xmm0, (%rax)
-# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - movhpd (%rax), %xmm2
+# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - movhpd (%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 - 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)
More information about the llvm-commits
mailing list