diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-03-22 17:43:12 +0000 |
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-03-22 17:43:12 +0000 |
| commit | 0e031afa95470df1dfdf6428e4d4cfccd812bb4c (patch) | |
| tree | 3013a7828f995002debf58db182d3ced212efd83 /llvm | |
| parent | 71d36ad9f919d420beed28f6467123acb621f486 (diff) | |
| download | bcm5719-llvm-0e031afa95470df1dfdf6428e4d4cfccd812bb4c.tar.gz bcm5719-llvm-0e031afa95470df1dfdf6428e4d4cfccd812bb4c.zip | |
[X86][Btver2] FCMP (inc FMAX/FMIN) instructions use the JFPA functional pipe
The ymm instructions are double pumped as well.
llvm-svn: 328222
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/Target/X86/X86ScheduleBtVer2.td | 12 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s | 98 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s | 28 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s | 28 |
4 files changed, 83 insertions, 83 deletions
diff --git a/llvm/lib/Target/X86/X86ScheduleBtVer2.td b/llvm/lib/Target/X86/X86ScheduleBtVer2.td index 462c2f02d54..21576e37121 100644 --- a/llvm/lib/Target/X86/X86ScheduleBtVer2.td +++ b/llvm/lib/Target/X86/X86ScheduleBtVer2.td @@ -625,13 +625,13 @@ def JWriteVMOVNTPYSt: SchedWriteRes<[JSTC, JSAGU]> { } 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<[JLAGU, JFPU01]> { } 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")>; 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 948f014cced..1b5390b9058 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s @@ -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 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 476ae83aeee..2b8fa71fe5a 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s @@ -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) 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 e3c8d5b8bc8..50b472c9150 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s @@ -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) |

