summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/X86/and-su.ll2
-rw-r--r--llvm/test/CodeGen/X86/fmf-flags.ll4
-rw-r--r--llvm/test/CodeGen/X86/inline-asm-fpstack.ll6
-rw-r--r--llvm/test/CodeGen/X86/pr34080.ll8
-rw-r--r--llvm/test/CodeGen/X86/sincos-opt.ll4
-rw-r--r--llvm/test/MC/Disassembler/X86/fp-stack.txt192
-rw-r--r--llvm/test/MC/Disassembler/X86/x86-16.txt4
-rwxr-xr-xllvm/test/MC/X86/X87-32.s24
-rwxr-xr-xllvm/test/MC/X86/X87-64.s22
-rw-r--r--llvm/test/MC/X86/intel-syntax-2.s12
-rw-r--r--llvm/test/MC/X86/intel-syntax.s84
-rw-r--r--llvm/test/MC/X86/x86-16.s4
-rw-r--r--llvm/test/MC/X86/x86-32-coverage.s22
-rw-r--r--llvm/test/MC/X86/x86-32.s2
-rw-r--r--llvm/test/MC/X86/x86-64.s66
-rw-r--r--llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s88
-rw-r--r--llvm/test/tools/llvm-mca/X86/BdVer2/resources-x87.s88
-rw-r--r--llvm/test/tools/llvm-mca/X86/Broadwell/resources-x87.s88
-rw-r--r--llvm/test/tools/llvm-mca/X86/BtVer2/resources-x87.s88
-rw-r--r--llvm/test/tools/llvm-mca/X86/Generic/resources-x87.s88
-rw-r--r--llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s88
-rw-r--r--llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s88
-rw-r--r--llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s88
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s88
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s88
-rw-r--r--llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s88
26 files changed, 712 insertions, 712 deletions
diff --git a/llvm/test/CodeGen/X86/and-su.ll b/llvm/test/CodeGen/X86/and-su.ll
index 55bfa8def44..de384368bfc 100644
--- a/llvm/test/CodeGen/X86/and-su.ll
+++ b/llvm/test/CodeGen/X86/and-su.ll
@@ -49,7 +49,7 @@ define fastcc double @bar(i32 %hash, double %x, double %y) nounwind {
; CHECK-NEXT: fchs
; CHECK-NEXT: fxch %st(1)
; CHECK-NEXT: .LBB1_5: # %bb16
-; CHECK-NEXT: faddp %st(1)
+; CHECK-NEXT: faddp %st, %st(1)
; CHECK-NEXT: movl %ebp, %esp
; CHECK-NEXT: popl %ebp
; CHECK-NEXT: retl
diff --git a/llvm/test/CodeGen/X86/fmf-flags.ll b/llvm/test/CodeGen/X86/fmf-flags.ll
index 440756fca87..c0ee182b64e 100644
--- a/llvm/test/CodeGen/X86/fmf-flags.ll
+++ b/llvm/test/CodeGen/X86/fmf-flags.ll
@@ -20,7 +20,7 @@ define float @fast_recip_sqrt(float %x) {
; X86-NEXT: flds {{[0-9]+}}(%esp)
; X86-NEXT: fsqrt
; X86-NEXT: fld1
-; X86-NEXT: fdivp %st(1)
+; X86-NEXT: fdivp %st, %st(1)
; X86-NEXT: retl
%y = call fast float @llvm.sqrt.f32(float %x)
%z = fdiv fast float 1.0, %y
@@ -95,7 +95,7 @@ define float @not_so_fast_recip_sqrt(float %x) {
; X86-NEXT: flds {{[0-9]+}}(%esp)
; X86-NEXT: fsqrt
; X86-NEXT: fld1
-; X86-NEXT: fdiv %st(1)
+; X86-NEXT: fdiv %st(1), %st
; X86-NEXT: fxch %st(1)
; X86-NEXT: fstps sqrt1
; X86-NEXT: retl
diff --git a/llvm/test/CodeGen/X86/inline-asm-fpstack.ll b/llvm/test/CodeGen/X86/inline-asm-fpstack.ll
index 3737cc4f49c..71c89df084f 100644
--- a/llvm/test/CodeGen/X86/inline-asm-fpstack.ll
+++ b/llvm/test/CodeGen/X86/inline-asm-fpstack.ll
@@ -218,8 +218,8 @@ define void @testPR4485(x86_fp80* %a) {
; CHECK-NEXT: fistpl %st
; CHECK-NEXT: ## InlineAsm End
; CHECK-NEXT: fldt (%eax)
-; CHECK-NEXT: fmulp %st(1)
-; CHECK-NEXT: fmulp %st(1)
+; CHECK-NEXT: fmulp %st, %st(1)
+; CHECK-NEXT: fmulp %st, %st(1)
; CHECK-NEXT: ## InlineAsm Start
; CHECK-NEXT: fistpl %st
; CHECK-NEXT: ## InlineAsm End
@@ -497,7 +497,7 @@ define double @test_operand_rewrite() {
; CHECK-NEXT: ## InlineAsm Start
; CHECK-NEXT: foo %st, %st(1)
; CHECK-NEXT: ## InlineAsm End
-; CHECK-NEXT: fsubp %st(1)
+; CHECK-NEXT: fsubp %st, %st(1)
; CHECK-NEXT: retl
entry:
%0 = tail call { double, double } asm sideeffect "foo $0, $1", "={st},={st(1)},~{dirflag},~{fpsr},~{flags}"()
diff --git a/llvm/test/CodeGen/X86/pr34080.ll b/llvm/test/CodeGen/X86/pr34080.ll
index ad0dd59c6b6..dc1f653408a 100644
--- a/llvm/test/CodeGen/X86/pr34080.ll
+++ b/llvm/test/CodeGen/X86/pr34080.ll
@@ -41,7 +41,7 @@ define void @_Z1fe(x86_fp80 %z) local_unnamed_addr #0 {
; SSE2-NEXT: movsd %xmm0, -56(%rbp)
; SSE2-NEXT: movsd %xmm0, -24(%rbp)
; SSE2-NEXT: fsubl -24(%rbp)
-; SSE2-NEXT: fmulp %st(1)
+; SSE2-NEXT: fmulp %st, %st(1)
; SSE2-NEXT: fstpl -48(%rbp)
; SSE2-NEXT: popq %rbp
; SSE2-NEXT: retq
@@ -80,7 +80,7 @@ define void @_Z1fe(x86_fp80 %z) local_unnamed_addr #0 {
; SSE2-SCHEDULE-NEXT: movsd %xmm0, -56(%rbp)
; SSE2-SCHEDULE-NEXT: movsd %xmm0, -24(%rbp)
; SSE2-SCHEDULE-NEXT: fsubl -24(%rbp)
-; SSE2-SCHEDULE-NEXT: fmulp %st(1)
+; SSE2-SCHEDULE-NEXT: fmulp %st, %st(1)
; SSE2-SCHEDULE-NEXT: fstpl -48(%rbp)
; SSE2-SCHEDULE-NEXT: popq %rbp
; SSE2-SCHEDULE-NEXT: retq
@@ -109,7 +109,7 @@ define void @_Z1fe(x86_fp80 %z) local_unnamed_addr #0 {
; SSE3-NEXT: movsd %xmm0, -16(%rbp)
; SSE3-NEXT: fxch %st(1)
; SSE3-NEXT: fsubl -16(%rbp)
-; SSE3-NEXT: fmulp %st(1)
+; SSE3-NEXT: fmulp %st, %st(1)
; SSE3-NEXT: fstpl -32(%rbp)
; SSE3-NEXT: popq %rbp
; SSE3-NEXT: retq
@@ -137,7 +137,7 @@ define void @_Z1fe(x86_fp80 %z) local_unnamed_addr #0 {
; AVX-NEXT: vmovsd %xmm0, -16(%rbp)
; AVX-NEXT: fxch %st(1)
; AVX-NEXT: fsubl -16(%rbp)
-; AVX-NEXT: fmulp %st(1)
+; AVX-NEXT: fmulp %st, %st(1)
; AVX-NEXT: fstpl -32(%rbp)
; AVX-NEXT: popq %rbp
; AVX-NEXT: retq
diff --git a/llvm/test/CodeGen/X86/sincos-opt.ll b/llvm/test/CodeGen/X86/sincos-opt.ll
index b4330ea58ea..b6445086342 100644
--- a/llvm/test/CodeGen/X86/sincos-opt.ll
+++ b/llvm/test/CodeGen/X86/sincos-opt.ll
@@ -115,13 +115,13 @@ entry:
; GNU_SINCOS: callq sincosl
; GNU_SINCOS: fldt 16(%rsp)
; GNU_SINCOS: fldt 32(%rsp)
-; GNU_SINCOS: faddp %st(1)
+; GNU_SINCOS: faddp %st, %st(1)
; GNU_SINCOS_FASTMATH-LABEL: test3:
; GNU_SINCOS_FASTMATH: callq sincosl
; GNU_SINCOS_FASTMATH: fldt 16(%{{[re]}}sp)
; GNU_SINCOS_FASTMATH: fldt 32(%{{[re]}}sp)
-; GNU_SINCOS_FASTMATH: faddp %st(1)
+; GNU_SINCOS_FASTMATH: faddp %st, %st(1)
%call = tail call x86_fp80 @sinl(x86_fp80 %x) readnone
%call1 = tail call x86_fp80 @cosl(x86_fp80 %x) readnone
%add = fadd x86_fp80 %call, %call1
diff --git a/llvm/test/MC/Disassembler/X86/fp-stack.txt b/llvm/test/MC/Disassembler/X86/fp-stack.txt
index 6c4ae7c118d..1b1687b2a20 100644
--- a/llvm/test/MC/Disassembler/X86/fp-stack.txt
+++ b/llvm/test/MC/Disassembler/X86/fp-stack.txt
@@ -1,52 +1,52 @@
# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s
# RUN: llvm-mc --disassemble %s -triple=i686-apple-darwin9 | FileCheck %s
-# CHECK: fadd %st(0)
+# CHECK: fadd %st(0), %st
0xd8,0xc0
-# CHECK: fadd %st(1)
+# CHECK: fadd %st(1), %st
0xd8,0xc1
-# CHECK: fadd %st(2)
+# CHECK: fadd %st(2), %st
0xd8,0xc2
-# CHECK: fadd %st(3)
+# CHECK: fadd %st(3), %st
0xd8,0xc3
-# CHECK: fadd %st(4)
+# CHECK: fadd %st(4), %st
0xd8,0xc4
-# CHECK: fadd %st(5)
+# CHECK: fadd %st(5), %st
0xd8,0xc5
-# CHECK: fadd %st(6)
+# CHECK: fadd %st(6), %st
0xd8,0xc6
-# CHECK: fadd %st(7)
+# CHECK: fadd %st(7), %st
0xd8,0xc7
-# CHECK: fmul %st(0)
+# CHECK: fmul %st(0), %st
0xd8,0xc8
-# CHECK: fmul %st(1)
+# CHECK: fmul %st(1), %st
0xd8,0xc9
-# CHECK: fmul %st(2)
+# CHECK: fmul %st(2), %st
0xd8,0xca
-# CHECK: fmul %st(3)
+# CHECK: fmul %st(3), %st
0xd8,0xcb
-# CHECK: fmul %st(4)
+# CHECK: fmul %st(4), %st
0xd8,0xcc
-# CHECK: fmul %st(5)
+# CHECK: fmul %st(5), %st
0xd8,0xcd
-# CHECK: fmul %st(6)
+# CHECK: fmul %st(6), %st
0xd8,0xce
-# CHECK: fmul %st(7)
+# CHECK: fmul %st(7), %st
0xd8,0xcf
# CHECK: fcom %st(0)
@@ -97,100 +97,100 @@
# CHECK: fcomp %st(7)
0xd8,0xdf
-# CHECK: fsub %st(0)
+# CHECK: fsub %st(0), %st
0xd8,0xe0
-# CHECK: fsub %st(1)
+# CHECK: fsub %st(1), %st
0xd8,0xe1
-# CHECK: fsub %st(2)
+# CHECK: fsub %st(2), %st
0xd8,0xe2
-# CHECK: fsub %st(3)
+# CHECK: fsub %st(3), %st
0xd8,0xe3
-# CHECK: fsub %st(4)
+# CHECK: fsub %st(4), %st
0xd8,0xe4
-# CHECK: fsub %st(5)
+# CHECK: fsub %st(5), %st
0xd8,0xe5
-# CHECK: fsub %st(6)
+# CHECK: fsub %st(6), %st
0xd8,0xe6
-# CHECK: fsub %st(7)
+# CHECK: fsub %st(7), %st
0xd8,0xe7
-# CHECK: fsubr %st(0)
+# CHECK: fsubr %st(0), %st
0xd8,0xe8
-# CHECK: fsubr %st(1)
+# CHECK: fsubr %st(1), %st
0xd8,0xe9
-# CHECK: fsubr %st(2)
+# CHECK: fsubr %st(2), %st
0xd8,0xea
-# CHECK: fsubr %st(3)
+# CHECK: fsubr %st(3), %st
0xd8,0xeb
-# CHECK: fsubr %st(4)
+# CHECK: fsubr %st(4), %st
0xd8,0xec
-# CHECK: fsubr %st(5)
+# CHECK: fsubr %st(5), %st
0xd8,0xed
-# CHECK: fsubr %st(6)
+# CHECK: fsubr %st(6), %st
0xd8,0xee
-# CHECK: fsubr %st(7)
+# CHECK: fsubr %st(7), %st
0xd8,0xef
-# CHECK: fdiv %st(0)
+# CHECK: fdiv %st(0), %st
0xd8,0xf0
-# CHECK: fdiv %st(1)
+# CHECK: fdiv %st(1), %st
0xd8,0xf1
-# CHECK: fdiv %st(2)
+# CHECK: fdiv %st(2), %st
0xd8,0xf2
-# CHECK: fdiv %st(3)
+# CHECK: fdiv %st(3), %st
0xd8,0xf3
-# CHECK: fdiv %st(4)
+# CHECK: fdiv %st(4), %st
0xd8,0xf4
-# CHECK: fdiv %st(5)
+# CHECK: fdiv %st(5), %st
0xd8,0xf5
-# CHECK: fdiv %st(6)
+# CHECK: fdiv %st(6), %st
0xd8,0xf6
-# CHECK: fdiv %st(7)
+# CHECK: fdiv %st(7), %st
0xd8,0xf7
-# CHECK: fdivr %st(0)
+# CHECK: fdivr %st(0), %st
0xd8,0xf8
-# CHECK: fdivr %st(1)
+# CHECK: fdivr %st(1), %st
0xd8,0xf9
-# CHECK: fdivr %st(2)
+# CHECK: fdivr %st(2), %st
0xd8,0xfa
-# CHECK: fdivr %st(3)
+# CHECK: fdivr %st(3), %st
0xd8,0xfb
-# CHECK: fdivr %st(4)
+# CHECK: fdivr %st(4), %st
0xd8,0xfc
-# CHECK: fdivr %st(5)
+# CHECK: fdivr %st(5), %st
0xd8,0xfd
-# CHECK: fdivr %st(6)
+# CHECK: fdivr %st(6), %st
0xd8,0xfe
-# CHECK: fdivr %st(7)
+# CHECK: fdivr %st(7), %st
0xd8,0xff
# CHECK: fld %st(0)
@@ -838,151 +838,151 @@
# CHECK: fucomp %st(7)
0xdd,0xef
-# CHECK: faddp %st(0)
+# CHECK: faddp %st, %st(0)
0xde,0xc0
-# CHECK: faddp %st(1)
+# CHECK: faddp %st, %st(1)
0xde,0xc1
-# CHECK: faddp %st(2)
+# CHECK: faddp %st, %st(2)
0xde,0xc2
-# CHECK: faddp %st(3)
+# CHECK: faddp %st, %st(3)
0xde,0xc3
-# CHECK: faddp %st(4)
+# CHECK: faddp %st, %st(4)
0xde,0xc4
-# CHECK: faddp %st(5)
+# CHECK: faddp %st, %st(5)
0xde,0xc5
-# CHECK: faddp %st(6)
+# CHECK: faddp %st, %st(6)
0xde,0xc6
-# CHECK: faddp %st(7)
+# CHECK: faddp %st, %st(7)
0xde,0xc7
-# CHECK: fmulp %st(0)
+# CHECK: fmulp %st, %st(0)
0xde,0xc8
-# CHECK: fmulp %st(1)
+# CHECK: fmulp %st, %st(1)
0xde,0xc9
-# CHECK: fmulp %st(2)
+# CHECK: fmulp %st, %st(2)
0xde,0xca
-# CHECK: fmulp %st(3)
+# CHECK: fmulp %st, %st(3)
0xde,0xcb
-# CHECK: fmulp %st(4)
+# CHECK: fmulp %st, %st(4)
0xde,0xcc
-# CHECK: fmulp %st(5)
+# CHECK: fmulp %st, %st(5)
0xde,0xcd
-# CHECK: fmulp %st(6)
+# CHECK: fmulp %st, %st(6)
0xde,0xce
-# CHECK: fmulp %st(7)
+# CHECK: fmulp %st, %st(7)
0xde,0xcf
# CHECK: fcompp
0xde,0xd9
-# CHECK: fsubp %st(0)
+# CHECK: fsubp %st, %st(0)
0xde,0xe0
-# CHECK: fsubp %st(1)
+# CHECK: fsubp %st, %st(1)
0xde,0xe1
-# CHECK: fsubp %st(2)
+# CHECK: fsubp %st, %st(2)
0xde,0xe2
-# CHECK: fsubp %st(3)
+# CHECK: fsubp %st, %st(3)
0xde,0xe3
-# CHECK: fsubp %st(4)
+# CHECK: fsubp %st, %st(4)
0xde,0xe4
-# CHECK: fsubp %st(5)
+# CHECK: fsubp %st, %st(5)
0xde,0xe5
-# CHECK: fsubp %st(6)
+# CHECK: fsubp %st, %st(6)
0xde,0xe6
-# CHECK: fsubp %st(7)
+# CHECK: fsubp %st, %st(7)
0xde,0xe7
-# CHECK: fsubrp %st(0)
+# CHECK: fsubrp %st, %st(0)
0xde,0xe8
-# CHECK: fsubrp %st(1)
+# CHECK: fsubrp %st, %st(1)
0xde,0xe9
-# CHECK: fsubrp %st(2)
+# CHECK: fsubrp %st, %st(2)
0xde,0xea
-# CHECK: fsubrp %st(3)
+# CHECK: fsubrp %st, %st(3)
0xde,0xeb
-# CHECK: fsubrp %st(4)
+# CHECK: fsubrp %st, %st(4)
0xde,0xec
-# CHECK: fsubrp %st(5)
+# CHECK: fsubrp %st, %st(5)
0xde,0xed
-# CHECK: fsubrp %st(6)
+# CHECK: fsubrp %st, %st(6)
0xde,0xee
-# CHECK: fsubrp %st(7)
+# CHECK: fsubrp %st, %st(7)
0xde,0xef
-# CHECK: fdivp %st(0)
+# CHECK: fdivp %st, %st(0)
0xde,0xf0
-# CHECK: fdivp %st(1)
+# CHECK: fdivp %st, %st(1)
0xde,0xf1
-# CHECK: fdivp %st(2)
+# CHECK: fdivp %st, %st(2)
0xde,0xf2
-# CHECK: fdivp %st(3)
+# CHECK: fdivp %st, %st(3)
0xde,0xf3
-# CHECK: fdivp %st(4)
+# CHECK: fdivp %st, %st(4)
0xde,0xf4
-# CHECK: fdivp %st(5)
+# CHECK: fdivp %st, %st(5)
0xde,0xf5
-# CHECK: fdivp %st(6)
+# CHECK: fdivp %st, %st(6)
0xde,0xf6
-# CHECK: fdivp %st(7)
+# CHECK: fdivp %st, %st(7)
0xde,0xf7
-# CHECK: fdivrp %st(0)
+# CHECK: fdivrp %st, %st(0)
0xde,0xf8
-# CHECK: fdivrp %st(1)
+# CHECK: fdivrp %st, %st(1)
0xde,0xf9
-# CHECK: fdivrp %st(2)
+# CHECK: fdivrp %st, %st(2)
0xde,0xfa
-# CHECK: fdivrp %st(3)
+# CHECK: fdivrp %st, %st(3)
0xde,0xfb
-# CHECK: fdivrp %st(4)
+# CHECK: fdivrp %st, %st(4)
0xde,0xfc
-# CHECK: fdivrp %st(5)
+# CHECK: fdivrp %st, %st(5)
0xde,0xfd
-# CHECK: fdivrp %st(6)
+# CHECK: fdivrp %st, %st(6)
0xde,0xfe
-# CHECK: fdivrp %st(7)
+# CHECK: fdivrp %st, %st(7)
0xde,0xff
# CHECK: ffreep %st(0)
diff --git a/llvm/test/MC/Disassembler/X86/x86-16.txt b/llvm/test/MC/Disassembler/X86/x86-16.txt
index 43cd09516c3..286aa88489c 100644
--- a/llvm/test/MC/Disassembler/X86/x86-16.txt
+++ b/llvm/test/MC/Disassembler/X86/x86-16.txt
@@ -759,10 +759,10 @@
# CHECK: strl %eax
0x66 0x0f 0x00 0xc8
-# CHECK: fsubp %st(1)
+# CHECK: fsubp %st, %st(1)
0xde 0xe1
-# CHECK: fsubp %st(2)
+# CHECK: fsubp %st, %st(2)
0xde 0xe2
# CHECKX: nop
diff --git a/llvm/test/MC/X86/X87-32.s b/llvm/test/MC/X86/X87-32.s
index 5d001b9863c..d414ab65b7d 100755
--- a/llvm/test/MC/X86/X87-32.s
+++ b/llvm/test/MC/X86/X87-32.s
@@ -31,7 +31,7 @@ faddl 64(%edx,%eax)
// CHECK: encoding: [0xdc,0x02]
faddl (%edx)
-// CHECK: faddp %st(4)
+// CHECK: faddp %st, %st(4)
// CHECK: encoding: [0xde,0xc4]
faddp %st(4)
@@ -63,7 +63,7 @@ fadds (%edx)
// CHECK: encoding: [0xdc,0xc4]
fadd %st, %st(4)
-// CHECK: fadd %st(4)
+// CHECK: fadd %st(4), %st
// CHECK: encoding: [0xd8,0xc4]
fadd %st(4)
@@ -259,7 +259,7 @@ fdivl 64(%edx,%eax)
// CHECK: encoding: [0xdc,0x32]
fdivl (%edx)
-// CHECK: fdivp %st(4)
+// CHECK: fdivp %st, %st(4)
// CHECK: encoding: [0xde,0xf4]
fdivp %st(4)
@@ -287,7 +287,7 @@ fdivrl 64(%edx,%eax)
// CHECK: encoding: [0xdc,0x3a]
fdivrl (%edx)
-// CHECK: fdivrp %st(4)
+// CHECK: fdivrp %st, %st(4)
// CHECK: encoding: [0xde,0xfc]
fdivrp %st(4)
@@ -319,7 +319,7 @@ fdivrs (%edx)
// CHECK: encoding: [0xdc,0xfc]
fdivr %st, %st(4)
-// CHECK: fdivr %st(4)
+// CHECK: fdivr %st(4), %st
// CHECK: encoding: [0xd8,0xfc]
fdivr %st(4)
@@ -351,7 +351,7 @@ fdivs (%edx)
// CHECK: encoding: [0xdc,0xf4]
fdiv %st, %st(4)
-// CHECK: fdiv %st(4)
+// CHECK: fdiv %st(4), %st
// CHECK: encoding: [0xd8,0xf4]
fdiv %st(4)
@@ -1119,7 +1119,7 @@ fmull 64(%edx,%eax)
// CHECK: encoding: [0xdc,0x0a]
fmull (%edx)
-// CHECK: fmulp %st(4)
+// CHECK: fmulp %st, %st(4)
// CHECK: encoding: [0xde,0xcc]
fmulp %st(4)
@@ -1151,7 +1151,7 @@ fmuls (%edx)
// CHECK: encoding: [0xdc,0xcc]
fmul %st, %st(4)
-// CHECK: fmul %st(4)
+// CHECK: fmul %st(4), %st
// CHECK: encoding: [0xd8,0xcc]
fmul %st(4)
@@ -1479,7 +1479,7 @@ fsubl 64(%edx,%eax)
// CHECK: encoding: [0xdc,0x22]
fsubl (%edx)
-// CHECK: fsubp %st(4)
+// CHECK: fsubp %st, %st(4)
// CHECK: encoding: [0xde,0xe4]
fsubp %st(4)
@@ -1507,7 +1507,7 @@ fsubrl 64(%edx,%eax)
// CHECK: encoding: [0xdc,0x2a]
fsubrl (%edx)
-// CHECK: fsubrp %st(4)
+// CHECK: fsubrp %st, %st(4)
// CHECK: encoding: [0xde,0xec]
fsubrp %st(4)
@@ -1539,7 +1539,7 @@ fsubrs (%edx)
// CHECK: encoding: [0xdc,0xec]
fsubr %st, %st(4)
-// CHECK: fsubr %st(4)
+// CHECK: fsubr %st(4), %st
// CHECK: encoding: [0xd8,0xec]
fsubr %st(4)
@@ -1571,7 +1571,7 @@ fsubs (%edx)
// CHECK: encoding: [0xdc,0xe4]
fsub %st, %st(4)
-// CHECK: fsub %st(4)
+// CHECK: fsub %st(4), %st
// CHECK: encoding: [0xd8,0xe4]
fsub %st(4)
diff --git a/llvm/test/MC/X86/X87-64.s b/llvm/test/MC/X86/X87-64.s
index 83abafd9eea..1103f326ea0 100755
--- a/llvm/test/MC/X86/X87-64.s
+++ b/llvm/test/MC/X86/X87-64.s
@@ -31,7 +31,7 @@ faddl 64(%rdx,%rax)
// CHECK: encoding: [0xdc,0x02]
faddl (%rdx)
-// CHECK: faddp %st(4)
+// CHECK: faddp %st, %st(4)
// CHECK: encoding: [0xde,0xc4]
faddp %st(4)
@@ -63,7 +63,7 @@ fadds (%rdx)
// CHECK: encoding: [0xdc,0xc4]
fadd %st, %st(4)
-// CHECK: fadd %st(4)
+// CHECK: fadd %st(4), %st
// CHECK: encoding: [0xd8,0xc4]
fadd %st(4)
@@ -259,7 +259,7 @@ fdivl 64(%rdx,%rax)
// CHECK: encoding: [0xdc,0x32]
fdivl (%rdx)
-// CHECK: fdivp %st(4)
+// CHECK: fdivp %st, %st(4)
// CHECK: encoding: [0xde,0xf4]
fdivp %st(4)
@@ -287,7 +287,7 @@ fdivrl 64(%rdx,%rax)
// CHECK: encoding: [0xdc,0x3a]
fdivrl (%rdx)
-// CHECK: fdivrp %st(4)
+// CHECK: fdivrp %st, %st(4)
// CHECK: encoding: [0xde,0xfc]
fdivrp %st(4)
@@ -319,7 +319,7 @@ fdivrs (%rdx)
// CHECK: encoding: [0xdc,0xfc]
fdivr %st, %st(4)
-// CHECK: fdivr %st(4)
+// CHECK: fdivr %st(4), %st
// CHECK: encoding: [0xd8,0xfc]
fdivr %st(4)
@@ -351,7 +351,7 @@ fdivs (%rdx)
// CHECK: encoding: [0xdc,0xf4]
fdiv %st, %st(4)
-// CHECK: fdiv %st(4)
+// CHECK: fdiv %st(4), %st
// CHECK: encoding: [0xd8,0xf4]
fdiv %st(4)
@@ -1119,7 +1119,7 @@ fmull 64(%rdx,%rax)
// CHECK: encoding: [0xdc,0x0a]
fmull (%rdx)
-// CHECK: fmulp %st(4)
+// CHECK: fmulp %st, %st(4)
// CHECK: encoding: [0xde,0xcc]
fmulp %st(4)
@@ -1479,7 +1479,7 @@ fsubl 64(%rdx,%rax)
// CHECK: encoding: [0xdc,0x22]
fsubl (%rdx)
-// CHECK: fsubp %st(4)
+// CHECK: fsubp %st, %st(4)
// CHECK: encoding: [0xde,0xe4]
fsubp %st(4)
@@ -1507,7 +1507,7 @@ fsubrl 64(%rdx,%rax)
// CHECK: encoding: [0xdc,0x2a]
fsubrl (%rdx)
-// CHECK: fsubrp %st(4)
+// CHECK: fsubrp %st, %st(4)
// CHECK: encoding: [0xde,0xec]
fsubrp %st(4)
@@ -1539,7 +1539,7 @@ fsubrs (%rdx)
// CHECK: encoding: [0xdc,0xec]
fsubr %st, %st(4)
-// CHECK: fsubr %st(4)
+// CHECK: fsubr %st(4), %st
// CHECK: encoding: [0xd8,0xec]
fsubr %st(4)
@@ -1571,7 +1571,7 @@ fsubs (%rdx)
// CHECK: encoding: [0xdc,0xe4]
fsub %st, %st(4)
-// CHECK: fsub %st(4)
+// CHECK: fsub %st(4), %st
// CHECK: encoding: [0xd8,0xe4]
fsub %st(4)
diff --git a/llvm/test/MC/X86/intel-syntax-2.s b/llvm/test/MC/X86/intel-syntax-2.s
index aead5766db4..b23965ae52e 100644
--- a/llvm/test/MC/X86/intel-syntax-2.s
+++ b/llvm/test/MC/X86/intel-syntax-2.s
@@ -18,14 +18,14 @@ _test2:
_test3:
fadd
-// CHECK: faddp %st(1)
+// CHECK: faddp %st, %st(1)
fmul
-// CHECK: fmulp %st(1)
+// CHECK: fmulp %st, %st(1)
fsub
-// CHECK: fsubp %st(1)
+// CHECK: fsubp %st, %st(1)
fsubr
-// CHECK: fsubrp %st(1)
+// CHECK: fsubrp %st, %st(1)
fdiv
-// CHECK: fdivp %st(1)
+// CHECK: fdivp %st, %st(1)
fdivr
-// CHECK: fdivrp %st(1)
+// CHECK: fdivrp %st, %st(1)
diff --git a/llvm/test/MC/X86/intel-syntax.s b/llvm/test/MC/X86/intel-syntax.s
index ade58f17bf1..171357e1f52 100644
--- a/llvm/test/MC/X86/intel-syntax.s
+++ b/llvm/test/MC/X86/intel-syntax.s
@@ -556,12 +556,12 @@ fnstsw
fnstsw AX
fnstsw WORD PTR [EAX]
-// CHECK: faddp %st(1)
-// CHECK: fmulp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fsubp %st(1)
-// CHECK: fdivrp %st(1)
-// CHECK: fdivp %st(1)
+// CHECK: faddp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
faddp ST(1), ST(0)
fmulp ST(1), ST(0)
fsubp ST(1), ST(0)
@@ -569,12 +569,12 @@ fsubrp ST(1), ST(0)
fdivp ST(1), ST(0)
fdivrp ST(1), ST(0)
-// CHECK: faddp %st(1)
-// CHECK: fmulp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fsubp %st(1)
-// CHECK: fdivrp %st(1)
-// CHECK: fdivp %st(1)
+// CHECK: faddp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
faddp ST(0), ST(1)
fmulp ST(0), ST(1)
fsubp ST(0), ST(1)
@@ -582,12 +582,12 @@ fsubrp ST(0), ST(1)
fdivp ST(0), ST(1)
fdivrp ST(0), ST(1)
-// CHECK: faddp %st(1)
-// CHECK: fmulp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fsubp %st(1)
-// CHECK: fdivrp %st(1)
-// CHECK: fdivp %st(1)
+// CHECK: faddp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
faddp ST(1)
fmulp ST(1)
fsubp ST(1)
@@ -596,12 +596,12 @@ fdivp ST(1)
fdivrp ST(1)
-// CHECK: faddp %st(1)
-// CHECK: fmulp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fsubp %st(1)
-// CHECK: fdivrp %st(1)
-// CHECK: fdivp %st(1)
+// CHECK: faddp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
fadd
fmul
fsub
@@ -609,12 +609,12 @@ fsubr
fdiv
fdivr
-// CHECK: faddp %st(1)
-// CHECK: fmulp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fsubp %st(1)
-// CHECK: fdivrp %st(1)
-// CHECK: fdivp %st(1)
+// CHECK: faddp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
faddp
fmulp
fsubp
@@ -622,12 +622,12 @@ fsubrp
fdivp
fdivrp
-// CHECK: fadd %st(1)
-// CHECK: fmul %st(1)
-// CHECK: fsub %st(1)
-// CHECK: fsubr %st(1)
-// CHECK: fdiv %st(1)
-// CHECK: fdivr %st(1)
+// CHECK: fadd %st(1), %st
+// CHECK: fmul %st(1), %st
+// CHECK: fsub %st(1), %st
+// CHECK: fsubr %st(1), %st
+// CHECK: fdiv %st(1), %st
+// CHECK: fdivr %st(1), %st
fadd ST(0), ST(1)
fmul ST(0), ST(1)
fsub ST(0), ST(1)
@@ -648,12 +648,12 @@ fsubr ST(1), ST(0)
fdiv ST(1), ST(0)
fdivr ST(1), ST(0)
-// CHECK: fadd %st(1)
-// CHECK: fmul %st(1)
-// CHECK: fsub %st(1)
-// CHECK: fsubr %st(1)
-// CHECK: fdiv %st(1)
-// CHECK: fdivr %st(1)
+// CHECK: fadd %st(1), %st
+// CHECK: fmul %st(1), %st
+// CHECK: fsub %st(1), %st
+// CHECK: fsubr %st(1), %st
+// CHECK: fdiv %st(1), %st
+// CHECK: fdivr %st(1), %st
fadd ST(1)
fmul ST(1)
fsub ST(1)
diff --git a/llvm/test/MC/X86/x86-16.s b/llvm/test/MC/X86/x86-16.s
index 50263beaa67..88ee77a6d41 100644
--- a/llvm/test/MC/X86/x86-16.s
+++ b/llvm/test/MC/X86/x86-16.s
@@ -920,11 +920,11 @@ pshufw $90, %mm4, %mm0
str %eax
-// CHECK: fsubp
+// CHECK: fsubp %st, %st(1)
// CHECK: encoding: [0xde,0xe1]
fsubp %st,%st(1)
-// CHECK: fsubp %st(2)
+// CHECK: fsubp %st, %st(2)
// CHECK: encoding: [0xde,0xe2]
fsubp %st, %st(2)
diff --git a/llvm/test/MC/X86/x86-32-coverage.s b/llvm/test/MC/X86/x86-32-coverage.s
index 2686792a415..ba59fb357b9 100644
--- a/llvm/test/MC/X86/x86-32-coverage.s
+++ b/llvm/test/MC/X86/x86-32-coverage.s
@@ -2472,11 +2472,11 @@
// CHECK: encoding: [0xda,0x05,0x78,0x56,0x34,0x12]
fiaddl 0x12345678
-// CHECK: faddp %st(2)
+// CHECK: faddp %st, %st(2)
// CHECK: encoding: [0xde,0xc2]
faddp %st(2)
-// CHECK: fsub %st(2)
+// CHECK: fsub %st(2), %st
// CHECK: encoding: [0xd8,0xe2]
fsub %st(2)
@@ -2504,11 +2504,11 @@
// CHECK: encoding: [0xda,0x25,0x78,0x56,0x34,0x12]
fisubl 0x12345678
-// CHECK: fsubp %st(2)
+// CHECK: fsubp %st, %st(2)
// CHECK: encoding: [0xde,0xe2]
fsubp %st(2)
-// CHECK: fsubr %st(2)
+// CHECK: fsubr %st(2), %st
// CHECK: encoding: [0xd8,0xea]
fsubr %st(2)
@@ -2536,11 +2536,11 @@
// CHECK: encoding: [0xda,0x2d,0x78,0x56,0x34,0x12]
fisubrl 0x12345678
-// CHECK: fsubrp %st(2)
+// CHECK: fsubrp %st, %st(2)
// CHECK: encoding: [0xde,0xea]
fsubrp %st(2)
-// CHECK: fmul %st(2)
+// CHECK: fmul %st(2), %st
// CHECK: encoding: [0xd8,0xca]
fmul %st(2)
@@ -2568,11 +2568,11 @@
// CHECK: encoding: [0xda,0x0d,0x78,0x56,0x34,0x12]
fimull 0x12345678
-// CHECK: fmulp %st(2)
+// CHECK: fmulp %st, %st(2)
// CHECK: encoding: [0xde,0xca]
fmulp %st(2)
-// CHECK: fdiv %st(2)
+// CHECK: fdiv %st(2), %st
// CHECK: encoding: [0xd8,0xf2]
fdiv %st(2)
@@ -2600,11 +2600,11 @@
// CHECK: encoding: [0xda,0x35,0x78,0x56,0x34,0x12]
fidivl 0x12345678
-// CHECK: fdivp %st(2)
+// CHECK: fdivp %st, %st(2)
// CHECK: encoding: [0xde,0xf2]
fdivp %st(2)
-// CHECK: fdivr %st(2)
+// CHECK: fdivr %st(2), %st
// CHECK: encoding: [0xd8,0xfa]
fdivr %st(2)
@@ -2632,7 +2632,7 @@
// CHECK: encoding: [0xda,0x3d,0x78,0x56,0x34,0x12]
fidivrl 0x12345678
-// CHECK: fdivrp %st(2)
+// CHECK: fdivrp %st, %st(2)
// CHECK: encoding: [0xde,0xfa]
fdivrp %st(2)
diff --git a/llvm/test/MC/X86/x86-32.s b/llvm/test/MC/X86/x86-32.s
index 69d36032593..1593c26b9d0 100644
--- a/llvm/test/MC/X86/x86-32.s
+++ b/llvm/test/MC/X86/x86-32.s
@@ -1055,7 +1055,7 @@ pshufw $90, %mm4, %mm0
fsubp %st,%st(1)
// PR9164
-// CHECK: fsubp %st(2)
+// CHECK: fsubp %st, %st(2)
// CHECK: encoding: [0xde,0xe2]
fsubp %st, %st(2)
diff --git a/llvm/test/MC/X86/x86-64.s b/llvm/test/MC/X86/x86-64.s
index 6aa30ad9f45..e35ba19fc4f 100644
--- a/llvm/test/MC/X86/x86-64.s
+++ b/llvm/test/MC/X86/x86-64.s
@@ -307,13 +307,13 @@ insl (%dx), %es:(%rdi)
// CHECK: fxch %st(1)
// CHECK: fucom %st(1)
// CHECK: fucomp %st(1)
-// CHECK: faddp %st(1)
-// CHECK: faddp %st(0)
-// CHECK: fsubp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fmulp %st(1)
-// CHECK: fdivp %st(1)
-// CHECK: fdivrp %st(1)
+// CHECK: faddp %st, %st(1)
+// CHECK: faddp %st, %st(0)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
fxch
fucom
@@ -456,8 +456,8 @@ mov %rdx, %db15
// CHECK: encoding: [0x44,0x0f,0x23,0xfa]
// rdar://8456371 - Handle commutable instructions written backward.
-// CHECK: faddp %st(1)
-// CHECK: fmulp %st(2)
+// CHECK: faddp %st, %st(1)
+// CHECK: fmulp %st, %st(2)
faddp %st, %st(1)
fmulp %st, %st(2)
@@ -1391,12 +1391,12 @@ clac
// CHECK: encoding: [0x0f,0x01,0xcb]
stac
-// CHECK: faddp %st(1)
-// CHECK: fmulp %st(1)
-// CHECK: fsubp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fdivp %st(1)
-// CHECK: fdivrp %st(1)
+// CHECK: faddp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
faddp %st, %st(1)
fmulp %st, %st(1)
fsubp %st, %st(1)
@@ -1404,12 +1404,12 @@ fsubrp %st, %st(1)
fdivp %st, %st(1)
fdivrp %st, %st(1)
-// CHECK: faddp %st(1)
-// CHECK: fmulp %st(1)
-// CHECK: fsubp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fdivp %st(1)
-// CHECK: fdivrp %st(1)
+// CHECK: faddp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
faddp %st(1), %st
fmulp %st(1), %st
fsubp %st(1), %st
@@ -1417,12 +1417,12 @@ fsubrp %st(1), %st
fdivp %st(1), %st
fdivrp %st(1), %st
-// CHECK: faddp %st(1)
-// CHECK: fmulp %st(1)
-// CHECK: fsubp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fdivp %st(1)
-// CHECK: fdivrp %st(1)
+// CHECK: faddp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
faddp %st(1)
fmulp %st(1)
fsubp %st(1)
@@ -1430,12 +1430,12 @@ fsubrp %st(1)
fdivp %st(1)
fdivrp %st(1)
-// CHECK: faddp %st(1)
-// CHECK: fmulp %st(1)
-// CHECK: fsubp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fdivp %st(1)
-// CHECK: fdivrp %st(1)
+// CHECK: faddp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
faddp
fmulp
fsubp
diff --git a/llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s
index d9ea706bbf2..eda0fdebb7d 100644
--- a/llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s
@@ -209,11 +209,11 @@ fyl2xp1
# CHECK-NEXT: 1 99 49.50 U f2xm1
# CHECK-NEXT: 1 1 1.00 U fabs
# CHECK-NEXT: 1 5 5.00 U fadd %st, %st(1)
-# CHECK-NEXT: 1 5 5.00 U fadd %st(2)
+# CHECK-NEXT: 1 5 5.00 U fadd %st(2), %st
# CHECK-NEXT: 1 5 5.00 * U fadds (%ecx)
# CHECK-NEXT: 1 5 5.00 * U faddl (%ecx)
-# CHECK-NEXT: 1 5 5.00 U faddp %st(1)
-# CHECK-NEXT: 1 5 5.00 U faddp %st(2)
+# CHECK-NEXT: 1 5 5.00 U faddp %st, %st(1)
+# CHECK-NEXT: 1 5 5.00 U faddp %st, %st(2)
# CHECK-NEXT: 1 5 5.00 * U fiadds (%ecx)
# CHECK-NEXT: 1 5 5.00 * U fiaddl (%ecx)
# CHECK-NEXT: 1 100 0.50 U fbld (%ecx)
@@ -237,24 +237,24 @@ fyl2xp1
# CHECK-NEXT: 1 5 5.00 U fcomps (%ecx)
# CHECK-NEXT: 1 5 5.00 U fcompl (%eax)
# CHECK-NEXT: 1 1 1.00 U fcompp
-# CHECK-NEXT: 1 9 4.50 U fcomi %st(3)
-# CHECK-NEXT: 1 9 4.50 U fcompi %st(3)
+# CHECK-NEXT: 1 9 4.50 U fcomi %st(3), %st
+# CHECK-NEXT: 1 9 4.50 U fcompi %st(3), %st
# CHECK-NEXT: 1 174 87.00 U fcos
# CHECK-NEXT: 1 1 0.50 U fdecstp
# CHECK-NEXT: 1 34 17.00 U fdiv %st, %st(1)
-# CHECK-NEXT: 1 34 17.00 U fdiv %st(2)
+# CHECK-NEXT: 1 34 17.00 U fdiv %st(2), %st
# CHECK-NEXT: 1 34 17.00 * U fdivs (%ecx)
# CHECK-NEXT: 1 34 17.00 * U fdivl (%eax)
-# CHECK-NEXT: 1 34 17.00 U fdivp %st(1)
-# CHECK-NEXT: 1 34 17.00 U fdivp %st(2)
+# CHECK-NEXT: 1 34 17.00 U fdivp %st, %st(1)
+# CHECK-NEXT: 1 34 17.00 U fdivp %st, %st(2)
# CHECK-NEXT: 1 34 17.00 * U fidivs (%ecx)
# CHECK-NEXT: 1 34 17.00 * U fidivl (%eax)
# CHECK-NEXT: 1 34 17.00 U fdivr %st, %st(1)
-# CHECK-NEXT: 1 34 17.00 U fdivr %st(2)
+# CHECK-NEXT: 1 34 17.00 U fdivr %st(2), %st
# CHECK-NEXT: 1 34 17.00 * U fdivrs (%ecx)
# CHECK-NEXT: 1 34 17.00 * U fdivrl (%eax)
-# CHECK-NEXT: 1 34 17.00 U fdivrp %st(1)
-# CHECK-NEXT: 1 34 17.00 U fdivrp %st(2)
+# CHECK-NEXT: 1 34 17.00 U fdivrp %st, %st(1)
+# CHECK-NEXT: 1 34 17.00 U fdivrp %st, %st(2)
# CHECK-NEXT: 1 34 17.00 * U fidivrs (%ecx)
# CHECK-NEXT: 1 34 17.00 * U fidivrl (%eax)
# CHECK-NEXT: 1 1 0.50 U ffree %st(0)
@@ -289,11 +289,11 @@ fyl2xp1
# CHECK-NEXT: 1 10 5.00 U fldpi
# CHECK-NEXT: 1 1 0.50 U fldz
# CHECK-NEXT: 1 4 4.00 U fmul %st, %st(1)
-# CHECK-NEXT: 1 4 4.00 U fmul %st(2)
+# CHECK-NEXT: 1 4 4.00 U fmul %st(2), %st
# CHECK-NEXT: 1 4 4.00 * U fmuls (%ecx)
# CHECK-NEXT: 1 4 4.00 * U fmull (%eax)
-# CHECK-NEXT: 1 4 4.00 U fmulp %st(1)
-# CHECK-NEXT: 1 4 4.00 U fmulp %st(2)
+# CHECK-NEXT: 1 4 4.00 U fmulp %st, %st(1)
+# CHECK-NEXT: 1 4 4.00 U fmulp %st, %st(2)
# CHECK-NEXT: 1 4 4.00 * U fimuls (%ecx)
# CHECK-NEXT: 1 4 4.00 * U fimull (%eax)
# CHECK-NEXT: 1 1 0.50 U fnop
@@ -322,19 +322,19 @@ fyl2xp1
# CHECK-NEXT: 1 1 0.50 U wait
# CHECK-NEXT: 1 100 0.50 U fnsave (%eax)
# CHECK-NEXT: 1 5 5.00 U fsub %st, %st(1)
-# CHECK-NEXT: 1 5 5.00 U fsub %st(2)
+# CHECK-NEXT: 1 5 5.00 U fsub %st(2), %st
# CHECK-NEXT: 1 5 5.00 * U fsubs (%ecx)
# CHECK-NEXT: 1 5 5.00 * U fsubl (%eax)
-# CHECK-NEXT: 1 5 5.00 U fsubp %st(1)
-# CHECK-NEXT: 1 5 5.00 U fsubp %st(2)
+# CHECK-NEXT: 1 5 5.00 U fsubp %st, %st(1)
+# CHECK-NEXT: 1 5 5.00 U fsubp %st, %st(2)
# CHECK-NEXT: 1 5 5.00 * U fisubs (%ecx)
# CHECK-NEXT: 1 5 5.00 * U fisubl (%eax)
# CHECK-NEXT: 1 5 5.00 U fsubr %st, %st(1)
-# CHECK-NEXT: 1 5 5.00 U fsubr %st(2)
+# CHECK-NEXT: 1 5 5.00 U fsubr %st(2), %st
# CHECK-NEXT: 1 5 5.00 * U fsubrs (%ecx)
# CHECK-NEXT: 1 5 5.00 * U fsubrl (%eax)
-# CHECK-NEXT: 1 5 5.00 U fsubrp %st(1)
-# CHECK-NEXT: 1 5 5.00 U fsubrp %st(2)
+# CHECK-NEXT: 1 5 5.00 U fsubrp %st, %st(1)
+# CHECK-NEXT: 1 5 5.00 U fsubrp %st, %st(2)
# CHECK-NEXT: 1 5 5.00 * U fisubrs (%ecx)
# CHECK-NEXT: 1 5 5.00 * U fisubrl (%eax)
# CHECK-NEXT: 1 9 4.50 U ftst
@@ -343,8 +343,8 @@ fyl2xp1
# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
# CHECK-NEXT: 1 1 1.00 U fucompp
-# CHECK-NEXT: 1 9 4.50 U fucomi %st(3)
-# CHECK-NEXT: 1 9 4.50 U fucompi %st(3)
+# CHECK-NEXT: 1 9 4.50 U fucomi %st(3), %st
+# CHECK-NEXT: 1 9 4.50 U fucompi %st(3), %st
# CHECK-NEXT: 1 1 0.50 U wait
# CHECK-NEXT: 1 1 1.00 U fxam
# CHECK-NEXT: 1 1 1.00 U fxch %st(1)
@@ -368,11 +368,11 @@ fyl2xp1
# CHECK-NEXT: 49.50 49.50 f2xm1
# CHECK-NEXT: - 1.00 fabs
# CHECK-NEXT: 5.00 - fadd %st, %st(1)
-# CHECK-NEXT: 5.00 - fadd %st(2)
+# CHECK-NEXT: 5.00 - fadd %st(2), %st
# CHECK-NEXT: 5.00 - fadds (%ecx)
# CHECK-NEXT: 5.00 - faddl (%ecx)
-# CHECK-NEXT: 5.00 - faddp %st(1)
-# CHECK-NEXT: 5.00 - faddp %st(2)
+# CHECK-NEXT: 5.00 - faddp %st, %st(1)
+# CHECK-NEXT: 5.00 - faddp %st, %st(2)
# CHECK-NEXT: 5.00 - fiadds (%ecx)
# CHECK-NEXT: 5.00 - fiaddl (%ecx)
# CHECK-NEXT: 0.50 0.50 fbld (%ecx)
@@ -396,24 +396,24 @@ fyl2xp1
# CHECK-NEXT: 5.00 - fcomps (%ecx)
# CHECK-NEXT: 5.00 - fcompl (%eax)
# CHECK-NEXT: - 1.00 fcompp
-# CHECK-NEXT: 4.50 4.50 fcomi %st(3)
-# CHECK-NEXT: 4.50 4.50 fcompi %st(3)
+# CHECK-NEXT: 4.50 4.50 fcomi %st(3), %st
+# CHECK-NEXT: 4.50 4.50 fcompi %st(3), %st
# CHECK-NEXT: 87.00 87.00 fcos
# CHECK-NEXT: 0.50 0.50 fdecstp
# CHECK-NEXT: 17.00 17.00 fdiv %st, %st(1)
-# CHECK-NEXT: 17.00 17.00 fdiv %st(2)
+# CHECK-NEXT: 17.00 17.00 fdiv %st(2), %st
# CHECK-NEXT: 17.00 17.00 fdivs (%ecx)
# CHECK-NEXT: 17.00 17.00 fdivl (%eax)
-# CHECK-NEXT: 17.00 17.00 fdivp %st(1)
-# CHECK-NEXT: 17.00 17.00 fdivp %st(2)
+# CHECK-NEXT: 17.00 17.00 fdivp %st, %st(1)
+# CHECK-NEXT: 17.00 17.00 fdivp %st, %st(2)
# CHECK-NEXT: 17.00 17.00 fidivs (%ecx)
# CHECK-NEXT: 17.00 17.00 fidivl (%eax)
# CHECK-NEXT: 17.00 17.00 fdivr %st, %st(1)
-# CHECK-NEXT: 17.00 17.00 fdivr %st(2)
+# CHECK-NEXT: 17.00 17.00 fdivr %st(2), %st
# CHECK-NEXT: 17.00 17.00 fdivrs (%ecx)
# CHECK-NEXT: 17.00 17.00 fdivrl (%eax)
-# CHECK-NEXT: 17.00 17.00 fdivrp %st(1)
-# CHECK-NEXT: 17.00 17.00 fdivrp %st(2)
+# CHECK-NEXT: 17.00 17.00 fdivrp %st, %st(1)
+# CHECK-NEXT: 17.00 17.00 fdivrp %st, %st(2)
# CHECK-NEXT: 17.00 17.00 fidivrs (%ecx)
# CHECK-NEXT: 17.00 17.00 fidivrl (%eax)
# CHECK-NEXT: 0.50 0.50 ffree %st(0)
@@ -448,11 +448,11 @@ fyl2xp1
# CHECK-NEXT: 5.00 5.00 fldpi
# CHECK-NEXT: 0.50 0.50 fldz
# CHECK-NEXT: 4.00 - fmul %st, %st(1)
-# CHECK-NEXT: 4.00 - fmul %st(2)
+# CHECK-NEXT: 4.00 - fmul %st(2), %st
# CHECK-NEXT: 4.00 - fmuls (%ecx)
# CHECK-NEXT: 4.00 - fmull (%eax)
-# CHECK-NEXT: 4.00 - fmulp %st(1)
-# CHECK-NEXT: 4.00 - fmulp %st(2)
+# CHECK-NEXT: 4.00 - fmulp %st, %st(1)
+# CHECK-NEXT: 4.00 - fmulp %st, %st(2)
# CHECK-NEXT: 4.00 - fimuls (%ecx)
# CHECK-NEXT: 4.00 - fimull (%eax)
# CHECK-NEXT: 0.50 0.50 fnop
@@ -481,19 +481,19 @@ fyl2xp1
# CHECK-NEXT: 0.50 0.50 wait
# CHECK-NEXT: 0.50 0.50 fnsave (%eax)
# CHECK-NEXT: 5.00 - fsub %st, %st(1)
-# CHECK-NEXT: 5.00 - fsub %st(2)
+# CHECK-NEXT: 5.00 - fsub %st(2), %st
# CHECK-NEXT: 5.00 - fsubs (%ecx)
# CHECK-NEXT: 5.00 - fsubl (%eax)
-# CHECK-NEXT: 5.00 - fsubp %st(1)
-# CHECK-NEXT: 5.00 - fsubp %st(2)
+# CHECK-NEXT: 5.00 - fsubp %st, %st(1)
+# CHECK-NEXT: 5.00 - fsubp %st, %st(2)
# CHECK-NEXT: 5.00 - fisubs (%ecx)
# CHECK-NEXT: 5.00 - fisubl (%eax)
# CHECK-NEXT: 5.00 - fsubr %st, %st(1)
-# CHECK-NEXT: 5.00 - fsubr %st(2)
+# CHECK-NEXT: 5.00 - fsubr %st(2), %st
# CHECK-NEXT: 5.00 - fsubrs (%ecx)
# CHECK-NEXT: 5.00 - fsubrl (%eax)
-# CHECK-NEXT: 5.00 - fsubrp %st(1)
-# CHECK-NEXT: 5.00 - fsubrp %st(2)
+# CHECK-NEXT: 5.00 - fsubrp %st, %st(1)
+# CHECK-NEXT: 5.00 - fsubrp %st, %st(2)
# CHECK-NEXT: 5.00 - fisubrs (%ecx)
# CHECK-NEXT: 5.00 - fisubrl (%eax)
# CHECK-NEXT: 4.50 4.50 ftst
@@ -502,8 +502,8 @@ fyl2xp1
# CHECK-NEXT: - 1.00 fucomp %st(1)
# CHECK-NEXT: - 1.00 fucomp %st(3)
# CHECK-NEXT: - 1.00 fucompp
-# CHECK-NEXT: 4.50 4.50 fucomi %st(3)
-# CHECK-NEXT: 4.50 4.50 fucompi %st(3)
+# CHECK-NEXT: 4.50 4.50 fucomi %st(3), %st
+# CHECK-NEXT: 4.50 4.50 fucompi %st(3), %st
# CHECK-NEXT: 0.50 0.50 wait
# CHECK-NEXT: 1.00 - fxam
# CHECK-NEXT: 1.00 1.00 fxch %st(1)
diff --git a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-x87.s b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-x87.s
index 93d071bbf0a..4cdddf01104 100644
--- a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-x87.s
@@ -209,11 +209,11 @@ fyl2xp1
# CHECK-NEXT: 1 100 0.50 U f2xm1
# CHECK-NEXT: 1 1 1.00 U fabs
# CHECK-NEXT: 1 5 1.00 U fadd %st, %st(1)
-# CHECK-NEXT: 1 5 1.00 U fadd %st(2)
+# CHECK-NEXT: 1 5 1.00 U fadd %st(2), %st
# CHECK-NEXT: 1 10 1.00 * U fadds (%ecx)
# CHECK-NEXT: 1 10 1.00 * U faddl (%ecx)
-# CHECK-NEXT: 1 5 1.00 U faddp %st(1)
-# CHECK-NEXT: 1 5 1.00 U faddp %st(2)
+# CHECK-NEXT: 1 5 1.00 U faddp %st, %st(1)
+# CHECK-NEXT: 1 5 1.00 U faddp %st, %st(2)
# CHECK-NEXT: 1 10 1.00 * U fiadds (%ecx)
# CHECK-NEXT: 1 10 1.00 * U fiaddl (%ecx)
# CHECK-NEXT: 1 100 0.50 U fbld (%ecx)
@@ -237,24 +237,24 @@ fyl2xp1
# CHECK-NEXT: 1 6 1.00 U fcomps (%ecx)
# CHECK-NEXT: 1 6 1.00 U fcompl (%eax)
# CHECK-NEXT: 1 100 0.50 U fcompp
-# CHECK-NEXT: 2 1 1.00 U fcomi %st(3)
-# CHECK-NEXT: 2 1 1.00 U fcompi %st(3)
+# CHECK-NEXT: 2 1 1.00 U fcomi %st(3), %st
+# CHECK-NEXT: 2 1 1.00 U fcompi %st(3), %st
# CHECK-NEXT: 1 100 0.50 U fcos
# CHECK-NEXT: 1 100 0.50 U fdecstp
# CHECK-NEXT: 1 9 9.50 U fdiv %st, %st(1)
-# CHECK-NEXT: 1 9 9.50 U fdiv %st(2)
+# CHECK-NEXT: 1 9 9.50 U fdiv %st(2), %st
# CHECK-NEXT: 1 14 9.50 * U fdivs (%ecx)
# CHECK-NEXT: 1 14 9.50 * U fdivl (%eax)
-# CHECK-NEXT: 1 9 9.50 U fdivp %st(1)
-# CHECK-NEXT: 1 9 9.50 U fdivp %st(2)
+# CHECK-NEXT: 1 9 9.50 U fdivp %st, %st(1)
+# CHECK-NEXT: 1 9 9.50 U fdivp %st, %st(2)
# CHECK-NEXT: 1 14 9.50 * U fidivs (%ecx)
# CHECK-NEXT: 1 14 9.50 * U fidivl (%eax)
# CHECK-NEXT: 1 9 9.50 U fdivr %st, %st(1)
-# CHECK-NEXT: 1 9 9.50 U fdivr %st(2)
+# CHECK-NEXT: 1 9 9.50 U fdivr %st(2), %st
# CHECK-NEXT: 1 14 9.50 * U fdivrs (%ecx)
# CHECK-NEXT: 1 14 9.50 * U fdivrl (%eax)
-# CHECK-NEXT: 1 9 9.50 U fdivrp %st(1)
-# CHECK-NEXT: 1 9 9.50 U fdivrp %st(2)
+# CHECK-NEXT: 1 9 9.50 U fdivrp %st, %st(1)
+# CHECK-NEXT: 1 9 9.50 U fdivrp %st, %st(2)
# CHECK-NEXT: 1 14 9.50 * U fidivrs (%ecx)
# CHECK-NEXT: 1 14 9.50 * U fidivrl (%eax)
# CHECK-NEXT: 1 100 0.50 U ffree %st(0)
@@ -289,11 +289,11 @@ fyl2xp1
# CHECK-NEXT: 1 3 1.00 U fldpi
# CHECK-NEXT: 1 3 1.00 U fldz
# CHECK-NEXT: 1 5 1.00 U fmul %st, %st(1)
-# CHECK-NEXT: 1 5 1.00 U fmul %st(2)
+# CHECK-NEXT: 1 5 1.00 U fmul %st(2), %st
# CHECK-NEXT: 1 10 1.00 * U fmuls (%ecx)
# CHECK-NEXT: 1 10 1.00 * U fmull (%eax)
-# CHECK-NEXT: 1 5 1.00 U fmulp %st(1)
-# CHECK-NEXT: 1 5 1.00 U fmulp %st(2)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st, %st(1)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st, %st(2)
# CHECK-NEXT: 1 10 1.00 * U fimuls (%ecx)
# CHECK-NEXT: 1 10 1.00 * U fimull (%eax)
# CHECK-NEXT: 1 1 0.50 U fnop
@@ -322,19 +322,19 @@ fyl2xp1
# CHECK-NEXT: 1 100 0.50 U wait
# CHECK-NEXT: 1 100 0.50 U fnsave (%eax)
# CHECK-NEXT: 1 5 1.00 U fsub %st, %st(1)
-# CHECK-NEXT: 1 5 1.00 U fsub %st(2)
+# CHECK-NEXT: 1 5 1.00 U fsub %st(2), %st
# CHECK-NEXT: 1 10 1.00 * U fsubs (%ecx)
# CHECK-NEXT: 1 10 1.00 * U fsubl (%eax)
-# CHECK-NEXT: 1 5 1.00 U fsubp %st(1)
-# CHECK-NEXT: 1 5 1.00 U fsubp %st(2)
+# CHECK-NEXT: 1 5 1.00 U fsubp %st, %st(1)
+# CHECK-NEXT: 1 5 1.00 U fsubp %st, %st(2)
# CHECK-NEXT: 1 10 1.00 * U fisubs (%ecx)
# CHECK-NEXT: 1 10 1.00 * U fisubl (%eax)
# CHECK-NEXT: 1 5 1.00 U fsubr %st, %st(1)
-# CHECK-NEXT: 1 5 1.00 U fsubr %st(2)
+# CHECK-NEXT: 1 5 1.00 U fsubr %st(2), %st
# CHECK-NEXT: 1 10 1.00 * U fsubrs (%ecx)
# CHECK-NEXT: 1 10 1.00 * U fsubrl (%eax)
-# CHECK-NEXT: 1 5 1.00 U fsubrp %st(1)
-# CHECK-NEXT: 1 5 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 1 5 1.00 U fsubrp %st, %st(1)
+# CHECK-NEXT: 1 5 1.00 U fsubrp %st, %st(2)
# CHECK-NEXT: 1 10 1.00 * U fisubrs (%ecx)
# CHECK-NEXT: 1 10 1.00 * U fisubrl (%eax)
# CHECK-NEXT: 1 1 1.00 U ftst
@@ -343,8 +343,8 @@ fyl2xp1
# CHECK-NEXT: 2 1 1.00 U fucomp %st(1)
# CHECK-NEXT: 2 1 1.00 U fucomp %st(3)
# CHECK-NEXT: 1 1 1.00 U fucompp
-# CHECK-NEXT: 2 1 1.00 U fucomi %st(3)
-# CHECK-NEXT: 2 1 1.00 U fucompi %st(3)
+# CHECK-NEXT: 2 1 1.00 U fucomi %st(3), %st
+# CHECK-NEXT: 2 1 1.00 U fucompi %st(3), %st
# CHECK-NEXT: 1 100 0.50 U wait
# CHECK-NEXT: 1 100 0.50 U fxam
# CHECK-NEXT: 1 1 0.50 U fxch %st(1)
@@ -389,11 +389,11 @@ fyl2xp1
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - f2xm1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fabs
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fadd %st, %st(1)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fadd %st(2)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fadd %st(2), %st
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - fadds (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - faddl (%ecx)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - faddp %st(1)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - faddp %st(2)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - faddp %st, %st(1)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - faddp %st, %st(2)
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - fiadds (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - fiaddl (%ecx)
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fbld (%ecx)
@@ -417,24 +417,24 @@ fyl2xp1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fcomps (%ecx)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fcompl (%eax)
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fcompp
-# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcomi %st(3)
-# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcompi %st(3)
+# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcomi %st(3), %st
+# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcompi %st(3), %st
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fcos
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fdecstp
# CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdiv %st, %st(1)
-# CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdiv %st(2)
+# CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdiv %st(2), %st
# CHECK-NEXT: 0.50 0.50 - - - - - - 9.50 9.50 - - - - - 1.00 - - - 0.50 0.50 - - fdivs (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - - 9.50 9.50 - - - - - 1.00 - - - 0.50 0.50 - - fdivl (%eax)
-# CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdivp %st(1)
-# CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdivp %st(2)
+# CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdivp %st, %st(1)
+# CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdivp %st, %st(2)
# CHECK-NEXT: 0.50 0.50 - - - - - - 9.50 9.50 - - - - - 1.00 - - - 0.50 0.50 - - fidivs (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - - 9.50 9.50 - - - - - 1.00 - - - 0.50 0.50 - - fidivl (%eax)
# CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdivr %st, %st(1)
-# CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdivr %st(2)
+# CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdivr %st(2), %st
# CHECK-NEXT: 0.50 0.50 - - - - - - 9.50 9.50 - - - - - 1.00 - - - 0.50 0.50 - - fdivrs (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - - 9.50 9.50 - - - - - 1.00 - - - 0.50 0.50 - - fdivrl (%eax)
-# CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdivrp %st(1)
-# CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdivrp %st(2)
+# CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdivrp %st, %st(1)
+# CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdivrp %st, %st(2)
# CHECK-NEXT: 0.50 0.50 - - - - - - 9.50 9.50 - - - - - 1.00 - - - 0.50 0.50 - - fidivrs (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - - 9.50 9.50 - - - - - 1.00 - - - 0.50 0.50 - - fidivrl (%eax)
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - ffree %st(0)
@@ -469,11 +469,11 @@ fyl2xp1
# CHECK-NEXT: - - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - fldpi
# CHECK-NEXT: - - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - fldz
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fmul %st, %st(1)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fmul %st(2)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fmul %st(2), %st
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - - 1.00 - - - 0.50 0.50 - - fmuls (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - - 1.00 - - - 0.50 0.50 - - fmull (%eax)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fmulp %st(1)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fmulp %st(2)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fmulp %st, %st(1)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fmulp %st, %st(2)
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - - 1.00 - - - 0.50 0.50 - - fimuls (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - - 1.00 - - - 0.50 0.50 - - fimull (%eax)
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fnop
@@ -502,19 +502,19 @@ fyl2xp1
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - wait
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fnsave (%eax)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsub %st, %st(1)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsub %st(2)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsub %st(2), %st
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - fsubs (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - fsubl (%eax)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubp %st(1)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubp %st(2)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubp %st, %st(1)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubp %st, %st(2)
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - fisubs (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - fisubl (%eax)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubr %st, %st(1)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubr %st(2)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubr %st(2), %st
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - fsubrs (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - fsubrl (%eax)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubrp %st(1)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubrp %st(2)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubrp %st, %st(1)
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubrp %st, %st(2)
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - fisubrs (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - fisubrl (%eax)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - ftst
@@ -523,8 +523,8 @@ fyl2xp1
# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fucomp %st(1)
# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fucomp %st(3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fucompp
-# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fucomi %st(3)
-# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fucompi %st(3)
+# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fucomi %st(3), %st
+# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fucompi %st(3), %st
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - wait
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fxam
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fxch %st(1)
diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x87.s
index be2e6cb333b..2f3a69da99d 100644
--- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x87.s
@@ -209,11 +209,11 @@ fyl2xp1
# CHECK-NEXT: 1 100 0.25 U f2xm1
# CHECK-NEXT: 1 1 1.00 U fabs
# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fadd %st(2)
+# CHECK-NEXT: 1 3 1.00 U fadd %st(2), %st
# CHECK-NEXT: 2 9 1.00 * U fadds (%ecx)
# CHECK-NEXT: 2 9 1.00 * U faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 U faddp %st(2)
+# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(2)
# CHECK-NEXT: 3 12 2.00 * U fiadds (%ecx)
# CHECK-NEXT: 3 12 2.00 * U fiaddl (%ecx)
# CHECK-NEXT: 1 100 0.25 U fbld (%ecx)
@@ -237,24 +237,24 @@ fyl2xp1
# CHECK-NEXT: 2 7 1.00 U fcomps (%ecx)
# CHECK-NEXT: 2 7 1.00 U fcompl (%eax)
# CHECK-NEXT: 1 100 0.25 U fcompp
-# CHECK-NEXT: 1 3 1.00 U fcomi %st(3)
-# CHECK-NEXT: 1 3 1.00 U fcompi %st(3)
+# CHECK-NEXT: 1 3 1.00 U fcomi %st(3), %st
+# CHECK-NEXT: 1 3 1.00 U fcompi %st(3), %st
# CHECK-NEXT: 1 100 0.25 U fcos
# CHECK-NEXT: 2 2 1.00 U fdecstp
# CHECK-NEXT: 1 15 1.00 U fdiv %st, %st(1)
-# CHECK-NEXT: 1 20 1.00 U fdiv %st(2)
+# CHECK-NEXT: 1 20 1.00 U fdiv %st(2), %st
# CHECK-NEXT: 2 21 1.00 * U fdivs (%ecx)
# CHECK-NEXT: 2 21 1.00 * U fdivl (%eax)
-# CHECK-NEXT: 1 15 1.00 U fdivp %st(1)
-# CHECK-NEXT: 1 15 1.00 U fdivp %st(2)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st, %st(1)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st, %st(2)
# CHECK-NEXT: 3 24 1.00 * U fidivs (%ecx)
# CHECK-NEXT: 3 24 1.00 * U fidivl (%eax)
# CHECK-NEXT: 1 20 1.00 U fdivr %st, %st(1)
-# CHECK-NEXT: 1 15 1.00 U fdivr %st(2)
+# CHECK-NEXT: 1 15 1.00 U fdivr %st(2), %st
# CHECK-NEXT: 2 26 1.00 * U fdivrs (%ecx)
# CHECK-NEXT: 2 26 1.00 * U fdivrl (%eax)
-# CHECK-NEXT: 1 20 1.00 U fdivrp %st(1)
-# CHECK-NEXT: 1 20 1.00 U fdivrp %st(2)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st, %st(1)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st, %st(2)
# CHECK-NEXT: 3 29 1.00 * U fidivrs (%ecx)
# CHECK-NEXT: 3 29 1.00 * U fidivrl (%eax)
# CHECK-NEXT: 1 100 0.25 U ffree %st(0)
@@ -289,11 +289,11 @@ fyl2xp1
# CHECK-NEXT: 2 1 1.00 U fldpi
# CHECK-NEXT: 1 1 0.50 U fldz
# CHECK-NEXT: 1 5 1.00 U fmul %st, %st(1)
-# CHECK-NEXT: 1 5 1.00 U fmul %st(2)
+# CHECK-NEXT: 1 5 1.00 U fmul %st(2), %st
# CHECK-NEXT: 2 11 1.00 * U fmuls (%ecx)
# CHECK-NEXT: 2 11 1.00 * U fmull (%eax)
-# CHECK-NEXT: 1 5 1.00 U fmulp %st(1)
-# CHECK-NEXT: 1 5 1.00 U fmulp %st(2)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st, %st(1)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st, %st(2)
# CHECK-NEXT: 3 14 1.00 * U fimuls (%ecx)
# CHECK-NEXT: 3 14 1.00 * U fimull (%eax)
# CHECK-NEXT: 1 1 0.50 U fnop
@@ -322,19 +322,19 @@ fyl2xp1
# CHECK-NEXT: 2 2 0.50 U wait
# CHECK-NEXT: 1 100 0.25 U fnsave (%eax)
# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsub %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(2), %st
# CHECK-NEXT: 2 9 1.00 * U fsubs (%ecx)
# CHECK-NEXT: 2 9 1.00 * U fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubp %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(2)
# CHECK-NEXT: 3 12 2.00 * U fisubs (%ecx)
# CHECK-NEXT: 3 12 2.00 * U fisubl (%eax)
# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubr %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(2), %st
# CHECK-NEXT: 2 9 1.00 * U fsubrs (%ecx)
# CHECK-NEXT: 2 9 1.00 * U fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(2)
# CHECK-NEXT: 3 12 2.00 * U fisubrs (%ecx)
# CHECK-NEXT: 3 12 2.00 * U fisubrl (%eax)
# CHECK-NEXT: 1 3 1.00 U ftst
@@ -343,8 +343,8 @@ fyl2xp1
# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
# CHECK-NEXT: 1 3 1.00 U fucompp
-# CHECK-NEXT: 1 3 1.00 U fucomi %st(3)
-# CHECK-NEXT: 1 3 1.00 U fucompi %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucomi %st(3), %st
+# CHECK-NEXT: 1 3 1.00 U fucompi %st(3), %st
# CHECK-NEXT: 2 2 0.50 U wait
# CHECK-NEXT: 1 100 0.25 U fxam
# CHECK-NEXT: 12 14 4.00 U fxch %st(1)
@@ -376,11 +376,11 @@ fyl2xp1
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - f2xm1
# CHECK-NEXT: - - - - - - - 1.00 - - fabs
# CHECK-NEXT: - - - 1.00 - - - - - - fadd %st, %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - - - fadd %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - - - fadd %st(2), %st
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fadds (%ecx)
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - faddl (%ecx)
-# CHECK-NEXT: - - - 1.00 - - - - - - faddp %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - - - faddp %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - - - faddp %st, %st(1)
+# CHECK-NEXT: - - - 1.00 - - - - - - faddp %st, %st(2)
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fiadds (%ecx)
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fiaddl (%ecx)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fbld (%ecx)
@@ -404,24 +404,24 @@ fyl2xp1
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcomps (%ecx)
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcompl (%eax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcompp
-# CHECK-NEXT: - - - 1.00 - - - - - - fcomi %st(3)
-# CHECK-NEXT: - - - 1.00 - - - - - - fcompi %st(3)
+# CHECK-NEXT: - - - 1.00 - - - - - - fcomi %st(3), %st
+# CHECK-NEXT: - - - 1.00 - - - - - - fcompi %st(3), %st
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcos
# CHECK-NEXT: - - 1.00 1.00 - - - - - - fdecstp
# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st, %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2), %st
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivs (%ecx)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivl (%eax)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st, %st(1)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st, %st(2)
# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivs (%ecx)
# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivl (%eax)
# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st, %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2), %st
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrs (%ecx)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrl (%eax)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st, %st(1)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st, %st(2)
# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivrs (%ecx)
# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivrl (%eax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ffree %st(0)
@@ -456,11 +456,11 @@ fyl2xp1
# CHECK-NEXT: - - 1.00 1.00 - - - - - - fldpi
# CHECK-NEXT: - - 0.50 0.50 - - - - - - fldz
# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st, %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2), %st
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmuls (%ecx)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmull (%eax)
-# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st, %st(1)
+# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st, %st(2)
# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fimuls (%ecx)
# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fimull (%eax)
# CHECK-NEXT: - - 0.50 0.50 - - - - - - fnop
@@ -489,19 +489,19 @@ fyl2xp1
# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax)
# CHECK-NEXT: - - - 1.00 - - - - - - fsub %st, %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - - - fsub %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - - - fsub %st(2), %st
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubs (%ecx)
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubl (%eax)
-# CHECK-NEXT: - - - 1.00 - - - - - - fsubp %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - - - fsubp %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - - - fsubp %st, %st(1)
+# CHECK-NEXT: - - - 1.00 - - - - - - fsubp %st, %st(2)
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubs (%ecx)
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubl (%eax)
# CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st, %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st(2), %st
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubrs (%ecx)
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubrl (%eax)
-# CHECK-NEXT: - - - 1.00 - - - - - - fsubrp %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - - - fsubrp %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - - - fsubrp %st, %st(1)
+# CHECK-NEXT: - - - 1.00 - - - - - - fsubrp %st, %st(2)
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubrs (%ecx)
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubrl (%eax)
# CHECK-NEXT: - - - 1.00 - - - - - - ftst
@@ -510,8 +510,8 @@ fyl2xp1
# CHECK-NEXT: - - - 1.00 - - - - - - fucomp %st(1)
# CHECK-NEXT: - - - 1.00 - - - - - - fucomp %st(3)
# CHECK-NEXT: - - - 1.00 - - - - - - fucompp
-# CHECK-NEXT: - - - 1.00 - - - - - - fucomi %st(3)
-# CHECK-NEXT: - - - 1.00 - - - - - - fucompi %st(3)
+# CHECK-NEXT: - - - 1.00 - - - - - - fucomi %st(3), %st
+# CHECK-NEXT: - - - 1.00 - - - - - - fucompi %st(3), %st
# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxam
# CHECK-NEXT: - - 3.25 2.25 - - - 1.25 5.25 - fxch %st(1)
diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x87.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x87.s
index 076b07b3ea1..f738be857c4 100644
--- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x87.s
@@ -209,11 +209,11 @@ fyl2xp1
# CHECK-NEXT: 1 100 0.50 U f2xm1
# CHECK-NEXT: 1 2 1.00 U fabs
# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fadd %st(2)
+# CHECK-NEXT: 1 3 1.00 U fadd %st(2), %st
# CHECK-NEXT: 1 8 1.00 * U fadds (%ecx)
# CHECK-NEXT: 1 8 1.00 * U faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 U faddp %st(2)
+# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(2)
# CHECK-NEXT: 1 8 1.00 * U fiadds (%ecx)
# CHECK-NEXT: 1 8 1.00 * U fiaddl (%ecx)
# CHECK-NEXT: 1 100 0.50 U fbld (%ecx)
@@ -237,24 +237,24 @@ fyl2xp1
# CHECK-NEXT: 1 8 1.00 U fcomps (%ecx)
# CHECK-NEXT: 1 8 1.00 U fcompl (%eax)
# CHECK-NEXT: 1 100 0.50 U fcompp
-# CHECK-NEXT: 1 3 1.00 U fcomi %st(3)
-# CHECK-NEXT: 1 3 1.00 U fcompi %st(3)
+# CHECK-NEXT: 1 3 1.00 U fcomi %st(3), %st
+# CHECK-NEXT: 1 3 1.00 U fcompi %st(3), %st
# CHECK-NEXT: 1 100 0.50 U fcos
# CHECK-NEXT: 1 100 0.50 U fdecstp
# CHECK-NEXT: 1 19 19.00 U fdiv %st, %st(1)
-# CHECK-NEXT: 1 19 19.00 U fdiv %st(2)
+# CHECK-NEXT: 1 19 19.00 U fdiv %st(2), %st
# CHECK-NEXT: 1 24 19.00 * U fdivs (%ecx)
# CHECK-NEXT: 1 24 19.00 * U fdivl (%eax)
-# CHECK-NEXT: 1 19 19.00 U fdivp %st(1)
-# CHECK-NEXT: 1 19 19.00 U fdivp %st(2)
+# CHECK-NEXT: 1 19 19.00 U fdivp %st, %st(1)
+# CHECK-NEXT: 1 19 19.00 U fdivp %st, %st(2)
# CHECK-NEXT: 1 24 19.00 * U fidivs (%ecx)
# CHECK-NEXT: 1 24 19.00 * U fidivl (%eax)
# CHECK-NEXT: 1 19 19.00 U fdivr %st, %st(1)
-# CHECK-NEXT: 1 19 19.00 U fdivr %st(2)
+# CHECK-NEXT: 1 19 19.00 U fdivr %st(2), %st
# CHECK-NEXT: 1 24 19.00 * U fdivrs (%ecx)
# CHECK-NEXT: 1 24 19.00 * U fdivrl (%eax)
-# CHECK-NEXT: 1 19 19.00 U fdivrp %st(1)
-# CHECK-NEXT: 1 19 19.00 U fdivrp %st(2)
+# CHECK-NEXT: 1 19 19.00 U fdivrp %st, %st(1)
+# CHECK-NEXT: 1 19 19.00 U fdivrp %st, %st(2)
# CHECK-NEXT: 1 24 19.00 * U fidivrs (%ecx)
# CHECK-NEXT: 1 24 19.00 * U fidivrl (%eax)
# CHECK-NEXT: 1 100 0.50 U ffree %st(0)
@@ -289,11 +289,11 @@ fyl2xp1
# CHECK-NEXT: 1 3 1.00 U fldpi
# CHECK-NEXT: 1 3 1.00 U fldz
# CHECK-NEXT: 1 2 1.00 U fmul %st, %st(1)
-# CHECK-NEXT: 1 2 1.00 U fmul %st(2)
+# CHECK-NEXT: 1 2 1.00 U fmul %st(2), %st
# CHECK-NEXT: 1 7 1.00 * U fmuls (%ecx)
# CHECK-NEXT: 1 7 1.00 * U fmull (%eax)
-# CHECK-NEXT: 1 2 1.00 U fmulp %st(1)
-# CHECK-NEXT: 1 2 1.00 U fmulp %st(2)
+# CHECK-NEXT: 1 2 1.00 U fmulp %st, %st(1)
+# CHECK-NEXT: 1 2 1.00 U fmulp %st, %st(2)
# CHECK-NEXT: 1 7 1.00 * U fimuls (%ecx)
# CHECK-NEXT: 1 7 1.00 * U fimull (%eax)
# CHECK-NEXT: 1 1 0.50 U fnop
@@ -322,19 +322,19 @@ fyl2xp1
# CHECK-NEXT: 1 100 0.50 U wait
# CHECK-NEXT: 1 100 0.50 U fnsave (%eax)
# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsub %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(2), %st
# CHECK-NEXT: 1 8 1.00 * U fsubs (%ecx)
# CHECK-NEXT: 1 8 1.00 * U fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubp %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(2)
# CHECK-NEXT: 1 8 1.00 * U fisubs (%ecx)
# CHECK-NEXT: 1 8 1.00 * U fisubl (%eax)
# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubr %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(2), %st
# CHECK-NEXT: 1 8 1.00 * U fsubrs (%ecx)
# CHECK-NEXT: 1 8 1.00 * U fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(2)
# CHECK-NEXT: 1 8 1.00 * U fisubrs (%ecx)
# CHECK-NEXT: 1 8 1.00 * U fisubrl (%eax)
# CHECK-NEXT: 1 3 1.00 U ftst
@@ -343,8 +343,8 @@ fyl2xp1
# CHECK-NEXT: 1 3 1.00 U fucomp %st(1)
# CHECK-NEXT: 1 3 1.00 U fucomp %st(3)
# CHECK-NEXT: 1 3 1.00 U fucompp
-# CHECK-NEXT: 1 3 1.00 U fucomi %st(3)
-# CHECK-NEXT: 1 3 1.00 U fucompi %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucomi %st(3), %st
+# CHECK-NEXT: 1 3 1.00 U fucompi %st(3), %st
# CHECK-NEXT: 1 100 0.50 U wait
# CHECK-NEXT: 1 100 0.50 U fxam
# CHECK-NEXT: 1 1 0.50 U fxch %st(1)
@@ -380,11 +380,11 @@ fyl2xp1
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - f2xm1
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fabs
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fadd %st, %st(1)
-# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fadd %st(2)
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fadd %st(2), %st
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fadds (%ecx)
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - faddl (%ecx)
-# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - faddp %st(1)
-# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - faddp %st(2)
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - faddp %st, %st(1)
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - faddp %st, %st(2)
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fiadds (%ecx)
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fiaddl (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fbld (%ecx)
@@ -408,24 +408,24 @@ fyl2xp1
# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - fcomps (%ecx)
# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - fcompl (%eax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fcompp
-# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fcomi %st(3)
-# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fcompi %st(3)
+# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fcomi %st(3), %st
+# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fcompi %st(3), %st
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fcos
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fdecstp
# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdiv %st, %st(1)
-# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdiv %st(2)
+# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdiv %st(2), %st
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fdivs (%ecx)
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fdivl (%eax)
-# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivp %st(1)
-# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivp %st(2)
+# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivp %st, %st(1)
+# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivp %st, %st(2)
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fidivs (%ecx)
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fidivl (%eax)
# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivr %st, %st(1)
-# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivr %st(2)
+# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivr %st(2), %st
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fdivrs (%ecx)
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fdivrl (%eax)
-# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivrp %st(1)
-# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivrp %st(2)
+# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivrp %st, %st(1)
+# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivrp %st, %st(2)
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fidivrs (%ecx)
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fidivrl (%eax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - ffree %st(0)
@@ -460,11 +460,11 @@ fyl2xp1
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - fldpi
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - fldz
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fmul %st, %st(1)
-# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fmul %st(2)
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fmul %st(2), %st
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - fmuls (%ecx)
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - fmull (%eax)
-# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fmulp %st(1)
-# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fmulp %st(2)
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fmulp %st, %st(1)
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fmulp %st, %st(2)
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - fimuls (%ecx)
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - fimull (%eax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fnop
@@ -493,19 +493,19 @@ fyl2xp1
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - wait
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fnsave (%eax)
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsub %st, %st(1)
-# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsub %st(2)
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsub %st(2), %st
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fsubs (%ecx)
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fsubl (%eax)
-# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubp %st(1)
-# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubp %st(2)
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubp %st, %st(1)
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubp %st, %st(2)
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fisubs (%ecx)
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fisubl (%eax)
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubr %st, %st(1)
-# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubr %st(2)
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubr %st(2), %st
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fsubrs (%ecx)
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fsubrl (%eax)
-# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubrp %st(1)
-# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubrp %st(2)
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubrp %st, %st(1)
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubrp %st, %st(2)
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fisubrs (%ecx)
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fisubrl (%eax)
# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - ftst
@@ -514,8 +514,8 @@ fyl2xp1
# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucomp %st(1)
# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucomp %st(3)
# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucompp
-# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucomi %st(3)
-# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucompi %st(3)
+# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucomi %st(3), %st
+# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fucompi %st(3), %st
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - wait
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fxam
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fxch %st(1)
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-x87.s
index 4e998655960..1f3e51e58b3 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-x87.s
@@ -209,11 +209,11 @@ fyl2xp1
# CHECK-NEXT: 1 100 0.33 U f2xm1
# CHECK-NEXT: 1 1 1.00 U fabs
# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fadd %st(2)
+# CHECK-NEXT: 1 3 1.00 U fadd %st(2), %st
# CHECK-NEXT: 2 10 1.00 * U fadds (%ecx)
# CHECK-NEXT: 2 10 1.00 * U faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 U faddp %st(2)
+# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(2)
# CHECK-NEXT: 3 13 2.00 * U fiadds (%ecx)
# CHECK-NEXT: 3 13 2.00 * U fiaddl (%ecx)
# CHECK-NEXT: 1 100 0.33 U fbld (%ecx)
@@ -237,24 +237,24 @@ fyl2xp1
# CHECK-NEXT: 2 8 1.00 U fcomps (%ecx)
# CHECK-NEXT: 2 8 1.00 U fcompl (%eax)
# CHECK-NEXT: 1 100 0.33 U fcompp
-# CHECK-NEXT: 3 3 1.00 U fcomi %st(3)
-# CHECK-NEXT: 3 3 1.00 U fcompi %st(3)
+# CHECK-NEXT: 3 3 1.00 U fcomi %st(3), %st
+# CHECK-NEXT: 3 3 1.00 U fcompi %st(3), %st
# CHECK-NEXT: 1 100 0.33 U fcos
# CHECK-NEXT: 1 1 1.00 U fdecstp
# CHECK-NEXT: 1 14 14.00 U fdiv %st, %st(1)
-# CHECK-NEXT: 1 14 14.00 U fdiv %st(2)
+# CHECK-NEXT: 1 14 14.00 U fdiv %st(2), %st
# CHECK-NEXT: 2 31 1.00 * U fdivs (%ecx)
# CHECK-NEXT: 2 31 1.00 * U fdivl (%eax)
-# CHECK-NEXT: 1 14 14.00 U fdivp %st(1)
-# CHECK-NEXT: 1 14 14.00 U fdivp %st(2)
+# CHECK-NEXT: 1 14 14.00 U fdivp %st, %st(1)
+# CHECK-NEXT: 1 14 14.00 U fdivp %st, %st(2)
# CHECK-NEXT: 3 34 1.00 * U fidivs (%ecx)
# CHECK-NEXT: 3 34 1.00 * U fidivl (%eax)
# CHECK-NEXT: 1 14 14.00 U fdivr %st, %st(1)
-# CHECK-NEXT: 1 14 14.00 U fdivr %st(2)
+# CHECK-NEXT: 1 14 14.00 U fdivr %st(2), %st
# CHECK-NEXT: 2 31 1.00 * U fdivrs (%ecx)
# CHECK-NEXT: 2 31 1.00 * U fdivrl (%eax)
-# CHECK-NEXT: 1 14 14.00 U fdivrp %st(1)
-# CHECK-NEXT: 1 14 14.00 U fdivrp %st(2)
+# CHECK-NEXT: 1 14 14.00 U fdivrp %st, %st(1)
+# CHECK-NEXT: 1 14 14.00 U fdivrp %st, %st(2)
# CHECK-NEXT: 3 34 1.00 * U fidivrs (%ecx)
# CHECK-NEXT: 3 34 1.00 * U fidivrl (%eax)
# CHECK-NEXT: 1 1 1.00 U ffree %st(0)
@@ -289,11 +289,11 @@ fyl2xp1
# CHECK-NEXT: 2 1 1.00 U fldpi
# CHECK-NEXT: 1 1 1.00 U fldz
# CHECK-NEXT: 1 5 1.00 U fmul %st, %st(1)
-# CHECK-NEXT: 1 5 1.00 U fmul %st(2)
+# CHECK-NEXT: 1 5 1.00 U fmul %st(2), %st
# CHECK-NEXT: 2 12 1.00 * U fmuls (%ecx)
# CHECK-NEXT: 2 12 1.00 * U fmull (%eax)
-# CHECK-NEXT: 1 5 1.00 U fmulp %st(1)
-# CHECK-NEXT: 1 5 1.00 U fmulp %st(2)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st, %st(1)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st, %st(2)
# CHECK-NEXT: 3 15 1.00 * U fimuls (%ecx)
# CHECK-NEXT: 3 15 1.00 * U fimull (%eax)
# CHECK-NEXT: 1 1 1.00 U fnop
@@ -322,19 +322,19 @@ fyl2xp1
# CHECK-NEXT: 1 100 0.33 U wait
# CHECK-NEXT: 1 100 0.33 U fnsave (%eax)
# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsub %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(2), %st
# CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx)
# CHECK-NEXT: 2 10 1.00 * U fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubp %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(2)
# CHECK-NEXT: 3 13 2.00 * U fisubs (%ecx)
# CHECK-NEXT: 3 13 2.00 * U fisubl (%eax)
# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubr %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(2), %st
# CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx)
# CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(2)
# CHECK-NEXT: 3 13 2.00 * U fisubrs (%ecx)
# CHECK-NEXT: 3 13 2.00 * U fisubrl (%eax)
# CHECK-NEXT: 1 3 1.00 U ftst
@@ -343,8 +343,8 @@ fyl2xp1
# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
# CHECK-NEXT: 1 3 1.00 U fucompp
-# CHECK-NEXT: 3 3 1.00 U fucomi %st(3)
-# CHECK-NEXT: 3 3 1.00 U fucompi %st(3)
+# CHECK-NEXT: 3 3 1.00 U fucomi %st(3), %st
+# CHECK-NEXT: 3 3 1.00 U fucompi %st(3), %st
# CHECK-NEXT: 1 100 0.33 U wait
# CHECK-NEXT: 1 100 0.33 U fxam
# CHECK-NEXT: 1 1 0.33 U fxch %st(1)
@@ -374,11 +374,11 @@ fyl2xp1
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - f2xm1
# CHECK-NEXT: - - - - - 1.00 - - fabs
# CHECK-NEXT: - - - 1.00 - - - - fadd %st, %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - fadd %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - fadd %st(2), %st
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fadds (%ecx)
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 faddl (%ecx)
-# CHECK-NEXT: - - - 1.00 - - - - faddp %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - faddp %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - faddp %st, %st(1)
+# CHECK-NEXT: - - - 1.00 - - - - faddp %st, %st(2)
# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fiadds (%ecx)
# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fiaddl (%ecx)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fbld (%ecx)
@@ -402,24 +402,24 @@ fyl2xp1
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fcomps (%ecx)
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fcompl (%eax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fcompp
-# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fcomi %st(3)
-# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fcompi %st(3)
+# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fcomi %st(3), %st
+# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fcompi %st(3), %st
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fcos
# CHECK-NEXT: - - - - - 1.00 - - fdecstp
# CHECK-NEXT: - 14.00 1.00 - - - - - fdiv %st, %st(1)
-# CHECK-NEXT: - 14.00 1.00 - - - - - fdiv %st(2)
+# CHECK-NEXT: - 14.00 1.00 - - - - - fdiv %st(2), %st
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivs (%ecx)
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivl (%eax)
-# CHECK-NEXT: - 14.00 1.00 - - - - - fdivp %st(1)
-# CHECK-NEXT: - 14.00 1.00 - - - - - fdivp %st(2)
+# CHECK-NEXT: - 14.00 1.00 - - - - - fdivp %st, %st(1)
+# CHECK-NEXT: - 14.00 1.00 - - - - - fdivp %st, %st(2)
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivs (%ecx)
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivl (%eax)
# CHECK-NEXT: - 14.00 1.00 - - - - - fdivr %st, %st(1)
-# CHECK-NEXT: - 14.00 1.00 - - - - - fdivr %st(2)
+# CHECK-NEXT: - 14.00 1.00 - - - - - fdivr %st(2), %st
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivrs (%ecx)
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivrl (%eax)
-# CHECK-NEXT: - 14.00 1.00 - - - - - fdivrp %st(1)
-# CHECK-NEXT: - 14.00 1.00 - - - - - fdivrp %st(2)
+# CHECK-NEXT: - 14.00 1.00 - - - - - fdivrp %st, %st(1)
+# CHECK-NEXT: - 14.00 1.00 - - - - - fdivrp %st, %st(2)
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivrs (%ecx)
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivrl (%eax)
# CHECK-NEXT: - - - - - 1.00 - - ffree %st(0)
@@ -454,11 +454,11 @@ fyl2xp1
# CHECK-NEXT: - - 1.00 1.00 - - - - fldpi
# CHECK-NEXT: - - - - - 1.00 - - fldz
# CHECK-NEXT: - - 1.00 - - - - - fmul %st, %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - fmul %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - fmul %st(2), %st
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fmuls (%ecx)
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fmull (%eax)
-# CHECK-NEXT: - - 1.00 - - - - - fmulp %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - fmulp %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - fmulp %st, %st(1)
+# CHECK-NEXT: - - 1.00 - - - - - fmulp %st, %st(2)
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fimuls (%ecx)
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fimull (%eax)
# CHECK-NEXT: - - - - - 1.00 - - fnop
@@ -487,19 +487,19 @@ fyl2xp1
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - wait
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fnsave (%eax)
# CHECK-NEXT: - - - 1.00 - - - - fsub %st, %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - fsub %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - fsub %st(2), %st
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubs (%ecx)
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubl (%eax)
-# CHECK-NEXT: - - - 1.00 - - - - fsubp %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - fsubp %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - fsubp %st, %st(1)
+# CHECK-NEXT: - - - 1.00 - - - - fsubp %st, %st(2)
# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubs (%ecx)
# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubl (%eax)
# CHECK-NEXT: - - - 1.00 - - - - fsubr %st, %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - fsubr %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - fsubr %st(2), %st
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubrs (%ecx)
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubrl (%eax)
-# CHECK-NEXT: - - - 1.00 - - - - fsubrp %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - fsubrp %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - fsubrp %st, %st(1)
+# CHECK-NEXT: - - - 1.00 - - - - fsubrp %st, %st(2)
# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubrs (%ecx)
# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubrl (%eax)
# CHECK-NEXT: - - - 1.00 - - - - ftst
@@ -508,8 +508,8 @@ fyl2xp1
# CHECK-NEXT: - - - 1.00 - - - - fucomp %st(1)
# CHECK-NEXT: - - - 1.00 - - - - fucomp %st(3)
# CHECK-NEXT: - - - 1.00 - - - - fucompp
-# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fucomi %st(3)
-# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fucompi %st(3)
+# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fucomi %st(3), %st
+# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fucompi %st(3), %st
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - wait
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxam
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxch %st(1)
diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s
index 3692718a8bb..7da8b2802a9 100644
--- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s
@@ -209,11 +209,11 @@ fyl2xp1
# CHECK-NEXT: 1 100 0.25 U f2xm1
# CHECK-NEXT: 1 1 1.00 U fabs
# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fadd %st(2)
+# CHECK-NEXT: 1 3 1.00 U fadd %st(2), %st
# CHECK-NEXT: 2 10 1.00 * U fadds (%ecx)
# CHECK-NEXT: 2 10 1.00 * U faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 U faddp %st(2)
+# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(2)
# CHECK-NEXT: 3 13 2.00 * U fiadds (%ecx)
# CHECK-NEXT: 3 13 2.00 * U fiaddl (%ecx)
# CHECK-NEXT: 43 47 10.75 U fbld (%ecx)
@@ -237,24 +237,24 @@ fyl2xp1
# CHECK-NEXT: 2 8 1.00 U fcomps (%ecx)
# CHECK-NEXT: 2 8 1.00 U fcompl (%eax)
# CHECK-NEXT: 2 1 0.50 U fcompp
-# CHECK-NEXT: 3 1 0.50 U fcomi %st(3)
-# CHECK-NEXT: 3 1 0.50 U fcompi %st(3)
+# CHECK-NEXT: 3 1 0.50 U fcomi %st(3), %st
+# CHECK-NEXT: 3 1 0.50 U fcompi %st(3), %st
# CHECK-NEXT: 1 100 0.25 U fcos
# CHECK-NEXT: 2 2 1.00 U fdecstp
# CHECK-NEXT: 1 24 1.00 U fdiv %st, %st(1)
-# CHECK-NEXT: 1 20 1.00 U fdiv %st(2)
+# CHECK-NEXT: 1 20 1.00 U fdiv %st(2), %st
# CHECK-NEXT: 2 31 1.00 * U fdivs (%ecx)
# CHECK-NEXT: 2 31 1.00 * U fdivl (%eax)
-# CHECK-NEXT: 1 24 1.00 U fdivp %st(1)
-# CHECK-NEXT: 1 24 1.00 U fdivp %st(2)
+# CHECK-NEXT: 1 24 1.00 U fdivp %st, %st(1)
+# CHECK-NEXT: 1 24 1.00 U fdivp %st, %st(2)
# CHECK-NEXT: 3 34 1.00 * U fidivs (%ecx)
# CHECK-NEXT: 3 34 1.00 * U fidivl (%eax)
# CHECK-NEXT: 1 20 1.00 U fdivr %st, %st(1)
-# CHECK-NEXT: 1 24 1.00 U fdivr %st(2)
+# CHECK-NEXT: 1 24 1.00 U fdivr %st(2), %st
# CHECK-NEXT: 2 27 1.00 * U fdivrs (%ecx)
# CHECK-NEXT: 2 27 1.00 * U fdivrl (%eax)
-# CHECK-NEXT: 1 20 1.00 U fdivrp %st(1)
-# CHECK-NEXT: 1 20 1.00 U fdivrp %st(2)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st, %st(1)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st, %st(2)
# CHECK-NEXT: 3 30 1.00 * U fidivrs (%ecx)
# CHECK-NEXT: 3 30 1.00 * U fidivrl (%eax)
# CHECK-NEXT: 1 1 0.50 U ffree %st(0)
@@ -289,11 +289,11 @@ fyl2xp1
# CHECK-NEXT: 2 1 1.00 U fldpi
# CHECK-NEXT: 1 1 0.50 U fldz
# CHECK-NEXT: 1 5 1.00 U fmul %st, %st(1)
-# CHECK-NEXT: 1 5 1.00 U fmul %st(2)
+# CHECK-NEXT: 1 5 1.00 U fmul %st(2), %st
# CHECK-NEXT: 2 12 1.00 * U fmuls (%ecx)
# CHECK-NEXT: 2 12 1.00 * U fmull (%eax)
-# CHECK-NEXT: 1 5 1.00 U fmulp %st(1)
-# CHECK-NEXT: 1 5 1.00 U fmulp %st(2)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st, %st(1)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st, %st(2)
# CHECK-NEXT: 3 15 1.00 * U fimuls (%ecx)
# CHECK-NEXT: 3 15 1.00 * U fimull (%eax)
# CHECK-NEXT: 1 1 0.50 U fnop
@@ -322,19 +322,19 @@ fyl2xp1
# CHECK-NEXT: 2 2 0.50 U wait
# CHECK-NEXT: 147 1 36.75 U fnsave (%eax)
# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsub %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(2), %st
# CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx)
# CHECK-NEXT: 2 10 1.00 * U fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubp %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(2)
# CHECK-NEXT: 3 13 2.00 * U fisubs (%ecx)
# CHECK-NEXT: 3 13 2.00 * U fisubl (%eax)
# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubr %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(2), %st
# CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx)
# CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(2)
# CHECK-NEXT: 3 13 2.00 * U fisubrs (%ecx)
# CHECK-NEXT: 3 13 2.00 * U fisubrl (%eax)
# CHECK-NEXT: 1 1 1.00 U ftst
@@ -343,8 +343,8 @@ fyl2xp1
# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
# CHECK-NEXT: 2 1 0.50 U fucompp
-# CHECK-NEXT: 3 1 0.50 U fucomi %st(3)
-# CHECK-NEXT: 3 1 0.50 U fucompi %st(3)
+# CHECK-NEXT: 3 1 0.50 U fucomi %st(3), %st
+# CHECK-NEXT: 3 1 0.50 U fucompi %st(3), %st
# CHECK-NEXT: 2 2 0.50 U wait
# CHECK-NEXT: 2 1 2.00 U fxam
# CHECK-NEXT: 15 17 4.00 U fxch %st(1)
@@ -376,11 +376,11 @@ fyl2xp1
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - f2xm1
# CHECK-NEXT: - - 1.00 - - - - - - - fabs
# CHECK-NEXT: - - - 1.00 - - - - - - fadd %st, %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - - - fadd %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - - - fadd %st(2), %st
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fadds (%ecx)
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - faddl (%ecx)
-# CHECK-NEXT: - - - 1.00 - - - - - - faddp %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - - - faddp %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - - - faddp %st, %st(1)
+# CHECK-NEXT: - - - 1.00 - - - - - - faddp %st, %st(2)
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fiadds (%ecx)
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fiaddl (%ecx)
# CHECK-NEXT: - - - - - - - - - - fbld (%ecx)
@@ -404,24 +404,24 @@ fyl2xp1
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcomps (%ecx)
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcompl (%eax)
# CHECK-NEXT: - - 0.50 0.50 - - - - - - fcompp
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - fcomi %st(3)
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - fcompi %st(3)
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - fcomi %st(3), %st
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - fcompi %st(3), %st
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcos
# CHECK-NEXT: - - 1.00 1.00 - - - - - - fdecstp
# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st, %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2), %st
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivs (%ecx)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivl (%eax)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st, %st(1)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st, %st(2)
# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivs (%ecx)
# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivl (%eax)
# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st, %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2), %st
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrs (%ecx)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrl (%eax)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st, %st(1)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st, %st(2)
# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivrs (%ecx)
# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivrl (%eax)
# CHECK-NEXT: - - 0.50 0.50 - - - - - - ffree %st(0)
@@ -456,11 +456,11 @@ fyl2xp1
# CHECK-NEXT: - - 1.00 1.00 - - - - - - fldpi
# CHECK-NEXT: - - 0.50 0.50 - - - - - - fldz
# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st, %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2), %st
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmuls (%ecx)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmull (%eax)
-# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st, %st(1)
+# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st, %st(2)
# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fimuls (%ecx)
# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fimull (%eax)
# CHECK-NEXT: - - 0.50 0.50 - - - - - - fnop
@@ -489,19 +489,19 @@ fyl2xp1
# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait
# CHECK-NEXT: - - - - - - - - - - fnsave (%eax)
# CHECK-NEXT: - - - 1.00 - - - - - - fsub %st, %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - - - fsub %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - - - fsub %st(2), %st
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubs (%ecx)
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubl (%eax)
-# CHECK-NEXT: - - - 1.00 - - - - - - fsubp %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - - - fsubp %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - - - fsubp %st, %st(1)
+# CHECK-NEXT: - - - 1.00 - - - - - - fsubp %st, %st(2)
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubs (%ecx)
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubl (%eax)
# CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st, %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st(2), %st
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubrs (%ecx)
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubrl (%eax)
-# CHECK-NEXT: - - - 1.00 - - - - - - fsubrp %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - - - fsubrp %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - - - fsubrp %st, %st(1)
+# CHECK-NEXT: - - - 1.00 - - - - - - fsubrp %st, %st(2)
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubrs (%ecx)
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubrl (%eax)
# CHECK-NEXT: - - - 1.00 - - - - - - ftst
@@ -510,8 +510,8 @@ fyl2xp1
# CHECK-NEXT: - - - 1.00 - - - - - - fucomp %st(1)
# CHECK-NEXT: - - - 1.00 - - - - - - fucomp %st(3)
# CHECK-NEXT: - - 0.50 0.50 - - - - - - fucompp
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - fucomi %st(3)
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - fucompi %st(3)
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - fucomi %st(3), %st
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - fucompi %st(3), %st
# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait
# CHECK-NEXT: - - - 2.00 - - - - - - fxam
# CHECK-NEXT: - - 4.00 3.00 - - - 3.00 5.00 - fxch %st(1)
diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s
index 3c9e821306c..d6d42e957bf 100644
--- a/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s
@@ -209,11 +209,11 @@ fyl2xp1
# CHECK-NEXT: 1 100 1.00 U f2xm1
# CHECK-NEXT: 1 1 0.50 U fabs
# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fadd %st(2)
+# CHECK-NEXT: 1 3 1.00 U fadd %st(2), %st
# CHECK-NEXT: 1 6 1.00 * U fadds (%ecx)
# CHECK-NEXT: 1 6 1.00 * U faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 U faddp %st(2)
+# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(2)
# CHECK-NEXT: 1 6 1.00 * U fiadds (%ecx)
# CHECK-NEXT: 1 6 1.00 * U fiaddl (%ecx)
# CHECK-NEXT: 1 100 1.00 U fbld (%ecx)
@@ -237,24 +237,24 @@ fyl2xp1
# CHECK-NEXT: 1 6 1.00 U fcomps (%ecx)
# CHECK-NEXT: 1 6 1.00 U fcompl (%eax)
# CHECK-NEXT: 1 100 1.00 U fcompp
-# CHECK-NEXT: 1 3 1.00 U fcomi %st(3)
-# CHECK-NEXT: 1 3 1.00 U fcompi %st(3)
+# CHECK-NEXT: 1 3 1.00 U fcomi %st(3), %st
+# CHECK-NEXT: 1 3 1.00 U fcompi %st(3), %st
# CHECK-NEXT: 1 100 1.00 U fcos
# CHECK-NEXT: 1 100 1.00 U fdecstp
# CHECK-NEXT: 1 19 17.00 U fdiv %st, %st(1)
-# CHECK-NEXT: 1 19 17.00 U fdiv %st(2)
+# CHECK-NEXT: 1 19 17.00 U fdiv %st(2), %st
# CHECK-NEXT: 1 22 17.00 * U fdivs (%ecx)
# CHECK-NEXT: 1 22 17.00 * U fdivl (%eax)
-# CHECK-NEXT: 1 19 17.00 U fdivp %st(1)
-# CHECK-NEXT: 1 19 17.00 U fdivp %st(2)
+# CHECK-NEXT: 1 19 17.00 U fdivp %st, %st(1)
+# CHECK-NEXT: 1 19 17.00 U fdivp %st, %st(2)
# CHECK-NEXT: 1 22 17.00 * U fidivs (%ecx)
# CHECK-NEXT: 1 22 17.00 * U fidivl (%eax)
# CHECK-NEXT: 1 19 17.00 U fdivr %st, %st(1)
-# CHECK-NEXT: 1 19 17.00 U fdivr %st(2)
+# CHECK-NEXT: 1 19 17.00 U fdivr %st(2), %st
# CHECK-NEXT: 1 22 17.00 * U fdivrs (%ecx)
# CHECK-NEXT: 1 22 17.00 * U fdivrl (%eax)
-# CHECK-NEXT: 1 19 17.00 U fdivrp %st(1)
-# CHECK-NEXT: 1 19 17.00 U fdivrp %st(2)
+# CHECK-NEXT: 1 19 17.00 U fdivrp %st, %st(1)
+# CHECK-NEXT: 1 19 17.00 U fdivrp %st, %st(2)
# CHECK-NEXT: 1 22 17.00 * U fidivrs (%ecx)
# CHECK-NEXT: 1 22 17.00 * U fidivrl (%eax)
# CHECK-NEXT: 1 100 1.00 U ffree %st(0)
@@ -289,11 +289,11 @@ fyl2xp1
# CHECK-NEXT: 2 1 1.00 U fldpi
# CHECK-NEXT: 1 1 0.50 U fldz
# CHECK-NEXT: 1 5 2.00 U fmul %st, %st(1)
-# CHECK-NEXT: 1 5 2.00 U fmul %st(2)
+# CHECK-NEXT: 1 5 2.00 U fmul %st(2), %st
# CHECK-NEXT: 1 8 2.00 * U fmuls (%ecx)
# CHECK-NEXT: 1 8 2.00 * U fmull (%eax)
-# CHECK-NEXT: 1 5 2.00 U fmulp %st(1)
-# CHECK-NEXT: 1 5 2.00 U fmulp %st(2)
+# CHECK-NEXT: 1 5 2.00 U fmulp %st, %st(1)
+# CHECK-NEXT: 1 5 2.00 U fmulp %st, %st(2)
# CHECK-NEXT: 1 8 2.00 * U fimuls (%ecx)
# CHECK-NEXT: 1 8 2.00 * U fimull (%eax)
# CHECK-NEXT: 1 1 0.50 U fnop
@@ -322,19 +322,19 @@ fyl2xp1
# CHECK-NEXT: 1 100 1.00 U wait
# CHECK-NEXT: 1 100 1.00 U fnsave (%eax)
# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsub %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(2), %st
# CHECK-NEXT: 1 6 1.00 * U fsubs (%ecx)
# CHECK-NEXT: 1 6 1.00 * U fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubp %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(2)
# CHECK-NEXT: 1 6 1.00 * U fisubs (%ecx)
# CHECK-NEXT: 1 6 1.00 * U fisubl (%eax)
# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubr %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(2), %st
# CHECK-NEXT: 1 6 1.00 * U fsubrs (%ecx)
# CHECK-NEXT: 1 6 1.00 * U fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(2)
# CHECK-NEXT: 1 6 1.00 * U fisubrs (%ecx)
# CHECK-NEXT: 1 6 1.00 * U fisubrl (%eax)
# CHECK-NEXT: 1 3 1.00 U ftst
@@ -343,8 +343,8 @@ fyl2xp1
# CHECK-NEXT: 1 3 1.00 U fucomp %st(1)
# CHECK-NEXT: 1 3 1.00 U fucomp %st(3)
# CHECK-NEXT: 1 3 1.00 U fucompp
-# CHECK-NEXT: 1 3 1.00 U fucomi %st(3)
-# CHECK-NEXT: 1 3 1.00 U fucompi %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucomi %st(3), %st
+# CHECK-NEXT: 1 3 1.00 U fucompi %st(3), %st
# CHECK-NEXT: 1 100 1.00 U wait
# CHECK-NEXT: 1 100 1.00 U fxam
# CHECK-NEXT: 1 1 0.50 U fxch %st(1)
@@ -374,11 +374,11 @@ fyl2xp1
# CHECK-NEXT: - - - 1.00 - - - - f2xm1
# CHECK-NEXT: - - - 0.50 0.50 - - - fabs
# CHECK-NEXT: - - - - 1.00 - - - fadd %st, %st(1)
-# CHECK-NEXT: - - - - 1.00 - - - fadd %st(2)
+# CHECK-NEXT: - - - - 1.00 - - - fadd %st(2), %st
# CHECK-NEXT: - - - - 1.00 - - 1.00 fadds (%ecx)
# CHECK-NEXT: - - - - 1.00 - - 1.00 faddl (%ecx)
-# CHECK-NEXT: - - - - 1.00 - - - faddp %st(1)
-# CHECK-NEXT: - - - - 1.00 - - - faddp %st(2)
+# CHECK-NEXT: - - - - 1.00 - - - faddp %st, %st(1)
+# CHECK-NEXT: - - - - 1.00 - - - faddp %st, %st(2)
# CHECK-NEXT: - - - - 1.00 - - 1.00 fiadds (%ecx)
# CHECK-NEXT: - - - - 1.00 - - 1.00 fiaddl (%ecx)
# CHECK-NEXT: - - - 1.00 - - - - fbld (%ecx)
@@ -402,24 +402,24 @@ fyl2xp1
# CHECK-NEXT: - - - - 1.00 - - 1.00 fcomps (%ecx)
# CHECK-NEXT: - - - - 1.00 - - 1.00 fcompl (%eax)
# CHECK-NEXT: - - - 1.00 - - - - fcompp
-# CHECK-NEXT: - - - - 1.00 - - - fcomi %st(3)
-# CHECK-NEXT: - - - - 1.00 - - - fcompi %st(3)
+# CHECK-NEXT: - - - - 1.00 - - - fcomi %st(3), %st
+# CHECK-NEXT: - - - - 1.00 - - - fcompi %st(3), %st
# CHECK-NEXT: - - - 1.00 - - - - fcos
# CHECK-NEXT: - - - 1.00 - - - - fdecstp
# CHECK-NEXT: - 17.00 - 1.00 - - - - fdiv %st, %st(1)
-# CHECK-NEXT: - 17.00 - 1.00 - - - - fdiv %st(2)
+# CHECK-NEXT: - 17.00 - 1.00 - - - - fdiv %st(2), %st
# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fdivs (%ecx)
# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fdivl (%eax)
-# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivp %st(1)
-# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivp %st(2)
+# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivp %st, %st(1)
+# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivp %st, %st(2)
# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fidivs (%ecx)
# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fidivl (%eax)
# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivr %st, %st(1)
-# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivr %st(2)
+# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivr %st(2), %st
# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fdivrs (%ecx)
# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fdivrl (%eax)
-# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivrp %st(1)
-# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivrp %st(2)
+# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivrp %st, %st(1)
+# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivrp %st, %st(2)
# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fidivrs (%ecx)
# CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fidivrl (%eax)
# CHECK-NEXT: - - - 1.00 - - - - ffree %st(0)
@@ -454,11 +454,11 @@ fyl2xp1
# CHECK-NEXT: - - - 1.00 1.00 - - - fldpi
# CHECK-NEXT: - - - 0.50 0.50 - - - fldz
# CHECK-NEXT: - - 2.00 1.00 - - - - fmul %st, %st(1)
-# CHECK-NEXT: - - 2.00 1.00 - - - - fmul %st(2)
+# CHECK-NEXT: - - 2.00 1.00 - - - - fmul %st(2), %st
# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 fmuls (%ecx)
# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 fmull (%eax)
-# CHECK-NEXT: - - 2.00 1.00 - - - - fmulp %st(1)
-# CHECK-NEXT: - - 2.00 1.00 - - - - fmulp %st(2)
+# CHECK-NEXT: - - 2.00 1.00 - - - - fmulp %st, %st(1)
+# CHECK-NEXT: - - 2.00 1.00 - - - - fmulp %st, %st(2)
# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 fimuls (%ecx)
# CHECK-NEXT: - - 2.00 1.00 - - - 1.00 fimull (%eax)
# CHECK-NEXT: - - - - - - - - fnop
@@ -487,19 +487,19 @@ fyl2xp1
# CHECK-NEXT: - - - 1.00 - - - - wait
# CHECK-NEXT: - - - 1.00 - - - - fnsave (%eax)
# CHECK-NEXT: - - - - 1.00 - - - fsub %st, %st(1)
-# CHECK-NEXT: - - - - 1.00 - - - fsub %st(2)
+# CHECK-NEXT: - - - - 1.00 - - - fsub %st(2), %st
# CHECK-NEXT: - - - - 1.00 - - 1.00 fsubs (%ecx)
# CHECK-NEXT: - - - - 1.00 - - 1.00 fsubl (%eax)
-# CHECK-NEXT: - - - - 1.00 - - - fsubp %st(1)
-# CHECK-NEXT: - - - - 1.00 - - - fsubp %st(2)
+# CHECK-NEXT: - - - - 1.00 - - - fsubp %st, %st(1)
+# CHECK-NEXT: - - - - 1.00 - - - fsubp %st, %st(2)
# CHECK-NEXT: - - - - 1.00 - - 1.00 fisubs (%ecx)
# CHECK-NEXT: - - - - 1.00 - - 1.00 fisubl (%eax)
# CHECK-NEXT: - - - - 1.00 - - - fsubr %st, %st(1)
-# CHECK-NEXT: - - - - 1.00 - - - fsubr %st(2)
+# CHECK-NEXT: - - - - 1.00 - - - fsubr %st(2), %st
# CHECK-NEXT: - - - - 1.00 - - 1.00 fsubrs (%ecx)
# CHECK-NEXT: - - - - 1.00 - - 1.00 fsubrl (%eax)
-# CHECK-NEXT: - - - - 1.00 - - - fsubrp %st(1)
-# CHECK-NEXT: - - - - 1.00 - - - fsubrp %st(2)
+# CHECK-NEXT: - - - - 1.00 - - - fsubrp %st, %st(1)
+# CHECK-NEXT: - - - - 1.00 - - - fsubrp %st, %st(2)
# CHECK-NEXT: - - - - 1.00 - - 1.00 fisubrs (%ecx)
# CHECK-NEXT: - - - - 1.00 - - 1.00 fisubrl (%eax)
# CHECK-NEXT: - - - - 1.00 - - - ftst
@@ -508,8 +508,8 @@ fyl2xp1
# CHECK-NEXT: - - - - 1.00 - - - fucomp %st(1)
# CHECK-NEXT: - - - - 1.00 - - - fucomp %st(3)
# CHECK-NEXT: - - - - 1.00 - - - fucompp
-# CHECK-NEXT: - - - - 1.00 - - - fucomi %st(3)
-# CHECK-NEXT: - - - - 1.00 - - - fucompi %st(3)
+# CHECK-NEXT: - - - - 1.00 - - - fucomi %st(3), %st
+# CHECK-NEXT: - - - - 1.00 - - - fucompi %st(3), %st
# CHECK-NEXT: - - - 1.00 - - - - wait
# CHECK-NEXT: - - - 1.00 - - - - fxam
# CHECK-NEXT: - - - - - 0.50 0.50 - fxch %st(1)
diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s
index c129d3f6072..1bed53326ce 100644
--- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s
@@ -209,11 +209,11 @@ fyl2xp1
# CHECK-NEXT: 1 100 0.33 U f2xm1
# CHECK-NEXT: 1 1 1.00 U fabs
# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fadd %st(2)
+# CHECK-NEXT: 1 3 1.00 U fadd %st(2), %st
# CHECK-NEXT: 2 10 1.00 * U fadds (%ecx)
# CHECK-NEXT: 2 10 1.00 * U faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 U faddp %st(2)
+# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(2)
# CHECK-NEXT: 3 13 2.00 * U fiadds (%ecx)
# CHECK-NEXT: 3 13 2.00 * U fiaddl (%ecx)
# CHECK-NEXT: 1 100 0.33 U fbld (%ecx)
@@ -237,24 +237,24 @@ fyl2xp1
# CHECK-NEXT: 2 8 1.00 U fcomps (%ecx)
# CHECK-NEXT: 2 8 1.00 U fcompl (%eax)
# CHECK-NEXT: 1 100 0.33 U fcompp
-# CHECK-NEXT: 3 3 1.00 U fcomi %st(3)
-# CHECK-NEXT: 3 3 1.00 U fcompi %st(3)
+# CHECK-NEXT: 3 3 1.00 U fcomi %st(3), %st
+# CHECK-NEXT: 3 3 1.00 U fcompi %st(3), %st
# CHECK-NEXT: 1 100 0.33 U fcos
# CHECK-NEXT: 1 1 1.00 U fdecstp
# CHECK-NEXT: 1 14 14.00 U fdiv %st, %st(1)
-# CHECK-NEXT: 1 14 14.00 U fdiv %st(2)
+# CHECK-NEXT: 1 14 14.00 U fdiv %st(2), %st
# CHECK-NEXT: 2 31 1.00 * U fdivs (%ecx)
# CHECK-NEXT: 2 31 1.00 * U fdivl (%eax)
-# CHECK-NEXT: 1 14 14.00 U fdivp %st(1)
-# CHECK-NEXT: 1 14 14.00 U fdivp %st(2)
+# CHECK-NEXT: 1 14 14.00 U fdivp %st, %st(1)
+# CHECK-NEXT: 1 14 14.00 U fdivp %st, %st(2)
# CHECK-NEXT: 3 34 1.00 * U fidivs (%ecx)
# CHECK-NEXT: 3 34 1.00 * U fidivl (%eax)
# CHECK-NEXT: 1 14 14.00 U fdivr %st, %st(1)
-# CHECK-NEXT: 1 14 14.00 U fdivr %st(2)
+# CHECK-NEXT: 1 14 14.00 U fdivr %st(2), %st
# CHECK-NEXT: 2 31 1.00 * U fdivrs (%ecx)
# CHECK-NEXT: 2 31 1.00 * U fdivrl (%eax)
-# CHECK-NEXT: 1 14 14.00 U fdivrp %st(1)
-# CHECK-NEXT: 1 14 14.00 U fdivrp %st(2)
+# CHECK-NEXT: 1 14 14.00 U fdivrp %st, %st(1)
+# CHECK-NEXT: 1 14 14.00 U fdivrp %st, %st(2)
# CHECK-NEXT: 3 34 1.00 * U fidivrs (%ecx)
# CHECK-NEXT: 3 34 1.00 * U fidivrl (%eax)
# CHECK-NEXT: 1 1 1.00 U ffree %st(0)
@@ -289,11 +289,11 @@ fyl2xp1
# CHECK-NEXT: 2 1 1.00 U fldpi
# CHECK-NEXT: 1 1 1.00 U fldz
# CHECK-NEXT: 1 5 1.00 U fmul %st, %st(1)
-# CHECK-NEXT: 1 5 1.00 U fmul %st(2)
+# CHECK-NEXT: 1 5 1.00 U fmul %st(2), %st
# CHECK-NEXT: 2 12 1.00 * U fmuls (%ecx)
# CHECK-NEXT: 2 12 1.00 * U fmull (%eax)
-# CHECK-NEXT: 1 5 1.00 U fmulp %st(1)
-# CHECK-NEXT: 1 5 1.00 U fmulp %st(2)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st, %st(1)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st, %st(2)
# CHECK-NEXT: 3 15 1.00 * U fimuls (%ecx)
# CHECK-NEXT: 3 15 1.00 * U fimull (%eax)
# CHECK-NEXT: 1 1 1.00 U fnop
@@ -322,19 +322,19 @@ fyl2xp1
# CHECK-NEXT: 1 100 0.33 U wait
# CHECK-NEXT: 1 100 0.33 U fnsave (%eax)
# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsub %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(2), %st
# CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx)
# CHECK-NEXT: 2 10 1.00 * U fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubp %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(2)
# CHECK-NEXT: 3 13 2.00 * U fisubs (%ecx)
# CHECK-NEXT: 3 13 2.00 * U fisubl (%eax)
# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubr %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(2), %st
# CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx)
# CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(2)
# CHECK-NEXT: 3 13 2.00 * U fisubrs (%ecx)
# CHECK-NEXT: 3 13 2.00 * U fisubrl (%eax)
# CHECK-NEXT: 1 3 1.00 U ftst
@@ -343,8 +343,8 @@ fyl2xp1
# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
# CHECK-NEXT: 1 3 1.00 U fucompp
-# CHECK-NEXT: 3 3 1.00 U fucomi %st(3)
-# CHECK-NEXT: 3 3 1.00 U fucompi %st(3)
+# CHECK-NEXT: 3 3 1.00 U fucomi %st(3), %st
+# CHECK-NEXT: 3 3 1.00 U fucompi %st(3), %st
# CHECK-NEXT: 1 100 0.33 U wait
# CHECK-NEXT: 1 100 0.33 U fxam
# CHECK-NEXT: 1 1 0.33 U fxch %st(1)
@@ -374,11 +374,11 @@ fyl2xp1
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - f2xm1
# CHECK-NEXT: - - - - - 1.00 - - fabs
# CHECK-NEXT: - - - 1.00 - - - - fadd %st, %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - fadd %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - fadd %st(2), %st
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fadds (%ecx)
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 faddl (%ecx)
-# CHECK-NEXT: - - - 1.00 - - - - faddp %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - faddp %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - faddp %st, %st(1)
+# CHECK-NEXT: - - - 1.00 - - - - faddp %st, %st(2)
# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fiadds (%ecx)
# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fiaddl (%ecx)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fbld (%ecx)
@@ -402,24 +402,24 @@ fyl2xp1
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fcomps (%ecx)
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fcompl (%eax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fcompp
-# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fcomi %st(3)
-# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fcompi %st(3)
+# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fcomi %st(3), %st
+# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fcompi %st(3), %st
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fcos
# CHECK-NEXT: - - - - - 1.00 - - fdecstp
# CHECK-NEXT: - 14.00 1.00 - - - - - fdiv %st, %st(1)
-# CHECK-NEXT: - 14.00 1.00 - - - - - fdiv %st(2)
+# CHECK-NEXT: - 14.00 1.00 - - - - - fdiv %st(2), %st
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivs (%ecx)
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivl (%eax)
-# CHECK-NEXT: - 14.00 1.00 - - - - - fdivp %st(1)
-# CHECK-NEXT: - 14.00 1.00 - - - - - fdivp %st(2)
+# CHECK-NEXT: - 14.00 1.00 - - - - - fdivp %st, %st(1)
+# CHECK-NEXT: - 14.00 1.00 - - - - - fdivp %st, %st(2)
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivs (%ecx)
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivl (%eax)
# CHECK-NEXT: - 14.00 1.00 - - - - - fdivr %st, %st(1)
-# CHECK-NEXT: - 14.00 1.00 - - - - - fdivr %st(2)
+# CHECK-NEXT: - 14.00 1.00 - - - - - fdivr %st(2), %st
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivrs (%ecx)
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivrl (%eax)
-# CHECK-NEXT: - 14.00 1.00 - - - - - fdivrp %st(1)
-# CHECK-NEXT: - 14.00 1.00 - - - - - fdivrp %st(2)
+# CHECK-NEXT: - 14.00 1.00 - - - - - fdivrp %st, %st(1)
+# CHECK-NEXT: - 14.00 1.00 - - - - - fdivrp %st, %st(2)
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivrs (%ecx)
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivrl (%eax)
# CHECK-NEXT: - - - - - 1.00 - - ffree %st(0)
@@ -454,11 +454,11 @@ fyl2xp1
# CHECK-NEXT: - - 1.00 1.00 - - - - fldpi
# CHECK-NEXT: - - - - - 1.00 - - fldz
# CHECK-NEXT: - - 1.00 - - - - - fmul %st, %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - fmul %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - fmul %st(2), %st
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fmuls (%ecx)
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fmull (%eax)
-# CHECK-NEXT: - - 1.00 - - - - - fmulp %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - fmulp %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - fmulp %st, %st(1)
+# CHECK-NEXT: - - 1.00 - - - - - fmulp %st, %st(2)
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fimuls (%ecx)
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fimull (%eax)
# CHECK-NEXT: - - - - - 1.00 - - fnop
@@ -487,19 +487,19 @@ fyl2xp1
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - wait
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fnsave (%eax)
# CHECK-NEXT: - - - 1.00 - - - - fsub %st, %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - fsub %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - fsub %st(2), %st
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubs (%ecx)
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubl (%eax)
-# CHECK-NEXT: - - - 1.00 - - - - fsubp %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - fsubp %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - fsubp %st, %st(1)
+# CHECK-NEXT: - - - 1.00 - - - - fsubp %st, %st(2)
# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubs (%ecx)
# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubl (%eax)
# CHECK-NEXT: - - - 1.00 - - - - fsubr %st, %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - fsubr %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - fsubr %st(2), %st
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubrs (%ecx)
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubrl (%eax)
-# CHECK-NEXT: - - - 1.00 - - - - fsubrp %st(1)
-# CHECK-NEXT: - - - 1.00 - - - - fsubrp %st(2)
+# CHECK-NEXT: - - - 1.00 - - - - fsubrp %st, %st(1)
+# CHECK-NEXT: - - - 1.00 - - - - fsubrp %st, %st(2)
# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubrs (%ecx)
# CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubrl (%eax)
# CHECK-NEXT: - - - 1.00 - - - - ftst
@@ -508,8 +508,8 @@ fyl2xp1
# CHECK-NEXT: - - - 1.00 - - - - fucomp %st(1)
# CHECK-NEXT: - - - 1.00 - - - - fucomp %st(3)
# CHECK-NEXT: - - - 1.00 - - - - fucompp
-# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fucomi %st(3)
-# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fucompi %st(3)
+# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fucomi %st(3), %st
+# CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fucompi %st(3), %st
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - wait
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxam
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fxch %st(1)
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s
index 1dd7c896ec4..6cd4439a25c 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s
@@ -209,11 +209,11 @@ fyl2xp1
# CHECK-NEXT: 1 100 0.25 U f2xm1
# CHECK-NEXT: 1 1 1.00 U fabs
# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fadd %st(2)
+# CHECK-NEXT: 1 3 1.00 U fadd %st(2), %st
# CHECK-NEXT: 2 10 1.00 * U fadds (%ecx)
# CHECK-NEXT: 2 10 1.00 * U faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 U faddp %st(2)
+# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(2)
# CHECK-NEXT: 3 13 2.00 * U fiadds (%ecx)
# CHECK-NEXT: 3 13 2.00 * U fiaddl (%ecx)
# CHECK-NEXT: 1 100 0.25 U fbld (%ecx)
@@ -237,24 +237,24 @@ fyl2xp1
# CHECK-NEXT: 2 8 1.00 U fcomps (%ecx)
# CHECK-NEXT: 2 8 1.00 U fcompl (%eax)
# CHECK-NEXT: 1 100 0.25 U fcompp
-# CHECK-NEXT: 1 2 1.00 U fcomi %st(3)
-# CHECK-NEXT: 1 2 1.00 U fcompi %st(3)
+# CHECK-NEXT: 1 2 1.00 U fcomi %st(3), %st
+# CHECK-NEXT: 1 2 1.00 U fcompi %st(3), %st
# CHECK-NEXT: 1 100 0.25 U fcos
# CHECK-NEXT: 2 2 1.00 U fdecstp
# CHECK-NEXT: 1 15 1.00 U fdiv %st, %st(1)
-# CHECK-NEXT: 1 20 1.00 U fdiv %st(2)
+# CHECK-NEXT: 1 20 1.00 U fdiv %st(2), %st
# CHECK-NEXT: 2 22 1.00 * U fdivs (%ecx)
# CHECK-NEXT: 2 22 1.00 * U fdivl (%eax)
-# CHECK-NEXT: 1 15 1.00 U fdivp %st(1)
-# CHECK-NEXT: 1 15 1.00 U fdivp %st(2)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st, %st(1)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st, %st(2)
# CHECK-NEXT: 3 25 1.00 * U fidivs (%ecx)
# CHECK-NEXT: 3 25 1.00 * U fidivl (%eax)
# CHECK-NEXT: 1 20 1.00 U fdivr %st, %st(1)
-# CHECK-NEXT: 1 15 1.00 U fdivr %st(2)
+# CHECK-NEXT: 1 15 1.00 U fdivr %st(2), %st
# CHECK-NEXT: 2 27 1.00 * U fdivrs (%ecx)
# CHECK-NEXT: 2 27 1.00 * U fdivrl (%eax)
-# CHECK-NEXT: 1 20 1.00 U fdivrp %st(1)
-# CHECK-NEXT: 1 20 1.00 U fdivrp %st(2)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st, %st(1)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st, %st(2)
# CHECK-NEXT: 3 30 1.00 * U fidivrs (%ecx)
# CHECK-NEXT: 3 30 1.00 * U fidivrl (%eax)
# CHECK-NEXT: 1 100 0.25 U ffree %st(0)
@@ -289,11 +289,11 @@ fyl2xp1
# CHECK-NEXT: 2 1 1.00 U fldpi
# CHECK-NEXT: 1 1 0.50 U fldz
# CHECK-NEXT: 1 4 1.00 U fmul %st, %st(1)
-# CHECK-NEXT: 1 4 1.00 U fmul %st(2)
+# CHECK-NEXT: 1 4 1.00 U fmul %st(2), %st
# CHECK-NEXT: 2 11 1.00 * U fmuls (%ecx)
# CHECK-NEXT: 2 11 1.00 * U fmull (%eax)
-# CHECK-NEXT: 1 4 1.00 U fmulp %st(1)
-# CHECK-NEXT: 1 4 1.00 U fmulp %st(2)
+# CHECK-NEXT: 1 4 1.00 U fmulp %st, %st(1)
+# CHECK-NEXT: 1 4 1.00 U fmulp %st, %st(2)
# CHECK-NEXT: 3 14 1.00 * U fimuls (%ecx)
# CHECK-NEXT: 3 14 1.00 * U fimull (%eax)
# CHECK-NEXT: 1 1 0.50 U fnop
@@ -322,19 +322,19 @@ fyl2xp1
# CHECK-NEXT: 2 2 0.50 U wait
# CHECK-NEXT: 1 100 0.25 U fnsave (%eax)
# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsub %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(2), %st
# CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx)
# CHECK-NEXT: 2 10 1.00 * U fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubp %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(2)
# CHECK-NEXT: 3 13 2.00 * U fisubs (%ecx)
# CHECK-NEXT: 3 13 2.00 * U fisubl (%eax)
# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubr %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(2), %st
# CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx)
# CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(2)
# CHECK-NEXT: 3 13 2.00 * U fisubrs (%ecx)
# CHECK-NEXT: 3 13 2.00 * U fisubrl (%eax)
# CHECK-NEXT: 1 2 1.00 U ftst
@@ -343,8 +343,8 @@ fyl2xp1
# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
# CHECK-NEXT: 1 2 1.00 U fucompp
-# CHECK-NEXT: 1 2 1.00 U fucomi %st(3)
-# CHECK-NEXT: 1 2 1.00 U fucompi %st(3)
+# CHECK-NEXT: 1 2 1.00 U fucomi %st(3), %st
+# CHECK-NEXT: 1 2 1.00 U fucompi %st(3), %st
# CHECK-NEXT: 2 2 0.50 U wait
# CHECK-NEXT: 1 100 0.25 U fxam
# CHECK-NEXT: 15 17 4.00 U fxch %st(1)
@@ -376,11 +376,11 @@ fyl2xp1
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - f2xm1
# CHECK-NEXT: - - 1.00 - - - - - - - fabs
# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st, %st(1)
-# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st(2)
+# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st(2), %st
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fadds (%ecx)
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - faddl (%ecx)
-# CHECK-NEXT: - - - - - - - 1.00 - - faddp %st(1)
-# CHECK-NEXT: - - - - - - - 1.00 - - faddp %st(2)
+# CHECK-NEXT: - - - - - - - 1.00 - - faddp %st, %st(1)
+# CHECK-NEXT: - - - - - - - 1.00 - - faddp %st, %st(2)
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fiadds (%ecx)
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fiaddl (%ecx)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fbld (%ecx)
@@ -404,24 +404,24 @@ fyl2xp1
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcomps (%ecx)
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcompl (%eax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcompp
-# CHECK-NEXT: - - 1.00 - - - - - - - fcomi %st(3)
-# CHECK-NEXT: - - 1.00 - - - - - - - fcompi %st(3)
+# CHECK-NEXT: - - 1.00 - - - - - - - fcomi %st(3), %st
+# CHECK-NEXT: - - 1.00 - - - - - - - fcompi %st(3), %st
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcos
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - fdecstp
# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st, %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2), %st
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivs (%ecx)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivl (%eax)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st, %st(1)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st, %st(2)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivs (%ecx)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivl (%eax)
# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st, %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2), %st
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrs (%ecx)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrl (%eax)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st, %st(1)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st, %st(2)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivrs (%ecx)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivrl (%eax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ffree %st(0)
@@ -456,11 +456,11 @@ fyl2xp1
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - fldpi
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - fldz
# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st, %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2), %st
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmuls (%ecx)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmull (%eax)
-# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st, %st(1)
+# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st, %st(2)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fimuls (%ecx)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fimull (%eax)
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - fnop
@@ -489,19 +489,19 @@ fyl2xp1
# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax)
# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st, %st(1)
-# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st(2)
+# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st(2), %st
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubs (%ecx)
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubl (%eax)
-# CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st(1)
-# CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st(2)
+# CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st, %st(1)
+# CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st, %st(2)
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubs (%ecx)
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubl (%eax)
# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st, %st(1)
-# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st(2)
+# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st(2), %st
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubrs (%ecx)
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubrl (%eax)
-# CHECK-NEXT: - - - - - - - 1.00 - - fsubrp %st(1)
-# CHECK-NEXT: - - - - - - - 1.00 - - fsubrp %st(2)
+# CHECK-NEXT: - - - - - - - 1.00 - - fsubrp %st, %st(1)
+# CHECK-NEXT: - - - - - - - 1.00 - - fsubrp %st, %st(2)
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubrs (%ecx)
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubrl (%eax)
# CHECK-NEXT: - - 1.00 - - - - - - - ftst
@@ -510,8 +510,8 @@ fyl2xp1
# CHECK-NEXT: - - - - - - - 1.00 - - fucomp %st(1)
# CHECK-NEXT: - - - - - - - 1.00 - - fucomp %st(3)
# CHECK-NEXT: - - 1.00 - - - - - - - fucompp
-# CHECK-NEXT: - - 1.00 - - - - - - - fucomi %st(3)
-# CHECK-NEXT: - - 1.00 - - - - - - - fucompi %st(3)
+# CHECK-NEXT: - - 1.00 - - - - - - - fucomi %st(3), %st
+# CHECK-NEXT: - - 1.00 - - - - - - - fucompi %st(3), %st
# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxam
# CHECK-NEXT: - - 4.00 2.00 - - - 4.00 5.00 - fxch %st(1)
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s
index f3ab6edb4c4..75cca529770 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s
@@ -209,11 +209,11 @@ fyl2xp1
# CHECK-NEXT: 1 100 0.25 U f2xm1
# CHECK-NEXT: 1 1 1.00 U fabs
# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fadd %st(2)
+# CHECK-NEXT: 1 3 1.00 U fadd %st(2), %st
# CHECK-NEXT: 2 10 1.00 * U fadds (%ecx)
# CHECK-NEXT: 2 10 1.00 * U faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 U faddp %st(2)
+# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(2)
# CHECK-NEXT: 3 13 2.00 * U fiadds (%ecx)
# CHECK-NEXT: 3 13 2.00 * U fiaddl (%ecx)
# CHECK-NEXT: 1 100 0.25 U fbld (%ecx)
@@ -237,24 +237,24 @@ fyl2xp1
# CHECK-NEXT: 2 8 1.00 U fcomps (%ecx)
# CHECK-NEXT: 2 8 1.00 U fcompl (%eax)
# CHECK-NEXT: 1 100 0.25 U fcompp
-# CHECK-NEXT: 1 2 1.00 U fcomi %st(3)
-# CHECK-NEXT: 1 2 1.00 U fcompi %st(3)
+# CHECK-NEXT: 1 2 1.00 U fcomi %st(3), %st
+# CHECK-NEXT: 1 2 1.00 U fcompi %st(3), %st
# CHECK-NEXT: 1 100 0.25 U fcos
# CHECK-NEXT: 2 2 1.00 U fdecstp
# CHECK-NEXT: 1 15 1.00 U fdiv %st, %st(1)
-# CHECK-NEXT: 1 20 1.00 U fdiv %st(2)
+# CHECK-NEXT: 1 20 1.00 U fdiv %st(2), %st
# CHECK-NEXT: 2 22 1.00 * U fdivs (%ecx)
# CHECK-NEXT: 2 22 1.00 * U fdivl (%eax)
-# CHECK-NEXT: 1 15 1.00 U fdivp %st(1)
-# CHECK-NEXT: 1 15 1.00 U fdivp %st(2)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st, %st(1)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st, %st(2)
# CHECK-NEXT: 3 25 1.00 * U fidivs (%ecx)
# CHECK-NEXT: 3 25 1.00 * U fidivl (%eax)
# CHECK-NEXT: 1 20 1.00 U fdivr %st, %st(1)
-# CHECK-NEXT: 1 15 1.00 U fdivr %st(2)
+# CHECK-NEXT: 1 15 1.00 U fdivr %st(2), %st
# CHECK-NEXT: 2 27 1.00 * U fdivrs (%ecx)
# CHECK-NEXT: 2 27 1.00 * U fdivrl (%eax)
-# CHECK-NEXT: 1 20 1.00 U fdivrp %st(1)
-# CHECK-NEXT: 1 20 1.00 U fdivrp %st(2)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st, %st(1)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st, %st(2)
# CHECK-NEXT: 3 30 1.00 * U fidivrs (%ecx)
# CHECK-NEXT: 3 30 1.00 * U fidivrl (%eax)
# CHECK-NEXT: 1 100 0.25 U ffree %st(0)
@@ -289,11 +289,11 @@ fyl2xp1
# CHECK-NEXT: 2 1 1.00 U fldpi
# CHECK-NEXT: 1 1 0.50 U fldz
# CHECK-NEXT: 1 4 1.00 U fmul %st, %st(1)
-# CHECK-NEXT: 1 4 1.00 U fmul %st(2)
+# CHECK-NEXT: 1 4 1.00 U fmul %st(2), %st
# CHECK-NEXT: 2 11 1.00 * U fmuls (%ecx)
# CHECK-NEXT: 2 11 1.00 * U fmull (%eax)
-# CHECK-NEXT: 1 4 1.00 U fmulp %st(1)
-# CHECK-NEXT: 1 4 1.00 U fmulp %st(2)
+# CHECK-NEXT: 1 4 1.00 U fmulp %st, %st(1)
+# CHECK-NEXT: 1 4 1.00 U fmulp %st, %st(2)
# CHECK-NEXT: 3 14 1.00 * U fimuls (%ecx)
# CHECK-NEXT: 3 14 1.00 * U fimull (%eax)
# CHECK-NEXT: 1 1 0.50 U fnop
@@ -322,19 +322,19 @@ fyl2xp1
# CHECK-NEXT: 2 2 0.50 U wait
# CHECK-NEXT: 1 100 0.25 U fnsave (%eax)
# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsub %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(2), %st
# CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx)
# CHECK-NEXT: 2 10 1.00 * U fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubp %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(2)
# CHECK-NEXT: 3 13 2.00 * U fisubs (%ecx)
# CHECK-NEXT: 3 13 2.00 * U fisubl (%eax)
# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubr %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(2), %st
# CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx)
# CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(2)
# CHECK-NEXT: 3 13 2.00 * U fisubrs (%ecx)
# CHECK-NEXT: 3 13 2.00 * U fisubrl (%eax)
# CHECK-NEXT: 1 2 1.00 U ftst
@@ -343,8 +343,8 @@ fyl2xp1
# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
# CHECK-NEXT: 1 2 1.00 U fucompp
-# CHECK-NEXT: 1 2 1.00 U fucomi %st(3)
-# CHECK-NEXT: 1 2 1.00 U fucompi %st(3)
+# CHECK-NEXT: 1 2 1.00 U fucomi %st(3), %st
+# CHECK-NEXT: 1 2 1.00 U fucompi %st(3), %st
# CHECK-NEXT: 2 2 0.50 U wait
# CHECK-NEXT: 1 100 0.25 U fxam
# CHECK-NEXT: 15 17 4.00 U fxch %st(1)
@@ -376,11 +376,11 @@ fyl2xp1
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - f2xm1
# CHECK-NEXT: - - 1.00 - - - - - - - fabs
# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st, %st(1)
-# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st(2)
+# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st(2), %st
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fadds (%ecx)
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - faddl (%ecx)
-# CHECK-NEXT: - - - - - - - 1.00 - - faddp %st(1)
-# CHECK-NEXT: - - - - - - - 1.00 - - faddp %st(2)
+# CHECK-NEXT: - - - - - - - 1.00 - - faddp %st, %st(1)
+# CHECK-NEXT: - - - - - - - 1.00 - - faddp %st, %st(2)
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fiadds (%ecx)
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fiaddl (%ecx)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fbld (%ecx)
@@ -404,24 +404,24 @@ fyl2xp1
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcomps (%ecx)
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcompl (%eax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcompp
-# CHECK-NEXT: - - 1.00 - - - - - - - fcomi %st(3)
-# CHECK-NEXT: - - 1.00 - - - - - - - fcompi %st(3)
+# CHECK-NEXT: - - 1.00 - - - - - - - fcomi %st(3), %st
+# CHECK-NEXT: - - 1.00 - - - - - - - fcompi %st(3), %st
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcos
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - fdecstp
# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st, %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2), %st
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivs (%ecx)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivl (%eax)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st, %st(1)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st, %st(2)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivs (%ecx)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivl (%eax)
# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st, %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2), %st
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrs (%ecx)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrl (%eax)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st, %st(1)
+# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st, %st(2)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivrs (%ecx)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivrl (%eax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ffree %st(0)
@@ -456,11 +456,11 @@ fyl2xp1
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - fldpi
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - fldz
# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st, %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2), %st
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmuls (%ecx)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmull (%eax)
-# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(1)
-# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st(2)
+# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st, %st(1)
+# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st, %st(2)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fimuls (%ecx)
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fimull (%eax)
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - fnop
@@ -489,19 +489,19 @@ fyl2xp1
# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax)
# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st, %st(1)
-# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st(2)
+# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st(2), %st
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubs (%ecx)
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubl (%eax)
-# CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st(1)
-# CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st(2)
+# CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st, %st(1)
+# CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st, %st(2)
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubs (%ecx)
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubl (%eax)
# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st, %st(1)
-# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st(2)
+# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st(2), %st
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubrs (%ecx)
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubrl (%eax)
-# CHECK-NEXT: - - - - - - - 1.00 - - fsubrp %st(1)
-# CHECK-NEXT: - - - - - - - 1.00 - - fsubrp %st(2)
+# CHECK-NEXT: - - - - - - - 1.00 - - fsubrp %st, %st(1)
+# CHECK-NEXT: - - - - - - - 1.00 - - fsubrp %st, %st(2)
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubrs (%ecx)
# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubrl (%eax)
# CHECK-NEXT: - - 1.00 - - - - - - - ftst
@@ -510,8 +510,8 @@ fyl2xp1
# CHECK-NEXT: - - - - - - - 1.00 - - fucomp %st(1)
# CHECK-NEXT: - - - - - - - 1.00 - - fucomp %st(3)
# CHECK-NEXT: - - 1.00 - - - - - - - fucompp
-# CHECK-NEXT: - - 1.00 - - - - - - - fucomi %st(3)
-# CHECK-NEXT: - - 1.00 - - - - - - - fucompi %st(3)
+# CHECK-NEXT: - - 1.00 - - - - - - - fucomi %st(3), %st
+# CHECK-NEXT: - - 1.00 - - - - - - - fucompi %st(3), %st
# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxam
# CHECK-NEXT: - - 4.00 2.00 - - - 4.00 5.00 - fxch %st(1)
diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s
index 098d3e4844f..030b71fb7b6 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s
@@ -209,11 +209,11 @@ fyl2xp1
# CHECK-NEXT: 1 100 0.25 U f2xm1
# CHECK-NEXT: 1 2 1.00 U fabs
# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fadd %st(2)
+# CHECK-NEXT: 1 3 1.00 U fadd %st(2), %st
# CHECK-NEXT: 1 10 1.00 * U fadds (%ecx)
# CHECK-NEXT: 1 10 1.00 * U faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 U faddp %st(2)
+# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(2)
# CHECK-NEXT: 1 10 1.00 * U fiadds (%ecx)
# CHECK-NEXT: 1 10 1.00 * U fiaddl (%ecx)
# CHECK-NEXT: 1 100 0.25 U fbld (%ecx)
@@ -237,24 +237,24 @@ fyl2xp1
# CHECK-NEXT: 1 8 1.00 U fcomps (%ecx)
# CHECK-NEXT: 1 8 1.00 U fcompl (%eax)
# CHECK-NEXT: 1 1 1.00 U fcompp
-# CHECK-NEXT: 1 9 0.50 U fcomi %st(3)
-# CHECK-NEXT: 1 9 0.50 U fcompi %st(3)
+# CHECK-NEXT: 1 9 0.50 U fcomi %st(3), %st
+# CHECK-NEXT: 1 9 0.50 U fcompi %st(3), %st
# CHECK-NEXT: 1 100 0.25 U fcos
# CHECK-NEXT: 1 11 1.00 U fdecstp
# CHECK-NEXT: 1 15 1.00 U fdiv %st, %st(1)
-# CHECK-NEXT: 1 15 1.00 U fdiv %st(2)
+# CHECK-NEXT: 1 15 1.00 U fdiv %st(2), %st
# CHECK-NEXT: 1 22 1.00 * U fdivs (%ecx)
# CHECK-NEXT: 1 22 1.00 * U fdivl (%eax)
-# CHECK-NEXT: 1 15 1.00 U fdivp %st(1)
-# CHECK-NEXT: 1 15 1.00 U fdivp %st(2)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st, %st(1)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st, %st(2)
# CHECK-NEXT: 1 22 1.00 * U fidivs (%ecx)
# CHECK-NEXT: 1 22 1.00 * U fidivl (%eax)
# CHECK-NEXT: 1 15 1.00 U fdivr %st, %st(1)
-# CHECK-NEXT: 1 15 1.00 U fdivr %st(2)
+# CHECK-NEXT: 1 15 1.00 U fdivr %st(2), %st
# CHECK-NEXT: 1 22 1.00 * U fdivrs (%ecx)
# CHECK-NEXT: 1 22 1.00 * U fdivrl (%eax)
-# CHECK-NEXT: 1 15 1.00 U fdivrp %st(1)
-# CHECK-NEXT: 1 15 1.00 U fdivrp %st(2)
+# CHECK-NEXT: 1 15 1.00 U fdivrp %st, %st(1)
+# CHECK-NEXT: 1 15 1.00 U fdivrp %st, %st(2)
# CHECK-NEXT: 1 22 1.00 * U fidivrs (%ecx)
# CHECK-NEXT: 1 22 1.00 * U fidivrl (%eax)
# CHECK-NEXT: 1 11 1.00 U ffree %st(0)
@@ -289,11 +289,11 @@ fyl2xp1
# CHECK-NEXT: 1 11 1.00 U fldpi
# CHECK-NEXT: 1 8 0.50 U fldz
# CHECK-NEXT: 1 3 0.50 U fmul %st, %st(1)
-# CHECK-NEXT: 1 3 0.50 U fmul %st(2)
+# CHECK-NEXT: 1 3 0.50 U fmul %st(2), %st
# CHECK-NEXT: 2 10 0.50 * U fmuls (%ecx)
# CHECK-NEXT: 2 10 0.50 * U fmull (%eax)
-# CHECK-NEXT: 1 3 0.50 U fmulp %st(1)
-# CHECK-NEXT: 1 3 0.50 U fmulp %st(2)
+# CHECK-NEXT: 1 3 0.50 U fmulp %st, %st(1)
+# CHECK-NEXT: 1 3 0.50 U fmulp %st, %st(2)
# CHECK-NEXT: 2 10 0.50 * U fimuls (%ecx)
# CHECK-NEXT: 2 10 0.50 * U fimull (%eax)
# CHECK-NEXT: 1 1 1.00 U fnop
@@ -322,19 +322,19 @@ fyl2xp1
# CHECK-NEXT: 1 1 1.00 U wait
# CHECK-NEXT: 1 100 0.25 U fnsave (%eax)
# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsub %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(2), %st
# CHECK-NEXT: 1 10 1.00 * U fsubs (%ecx)
# CHECK-NEXT: 1 10 1.00 * U fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubp %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(2)
# CHECK-NEXT: 1 10 1.00 * U fisubs (%ecx)
# CHECK-NEXT: 1 10 1.00 * U fisubl (%eax)
# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubr %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(2), %st
# CHECK-NEXT: 1 10 1.00 * U fsubrs (%ecx)
# CHECK-NEXT: 1 10 1.00 * U fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(2)
# CHECK-NEXT: 1 10 1.00 * U fisubrs (%ecx)
# CHECK-NEXT: 1 10 1.00 * U fisubrl (%eax)
# CHECK-NEXT: 1 1 1.00 U ftst
@@ -343,8 +343,8 @@ fyl2xp1
# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
# CHECK-NEXT: 1 1 1.00 U fucompp
-# CHECK-NEXT: 1 9 0.50 U fucomi %st(3)
-# CHECK-NEXT: 1 9 0.50 U fucompi %st(3)
+# CHECK-NEXT: 1 9 0.50 U fucomi %st(3), %st
+# CHECK-NEXT: 1 9 0.50 U fucompi %st(3), %st
# CHECK-NEXT: 1 1 1.00 U wait
# CHECK-NEXT: 1 1 1.00 U fxam
# CHECK-NEXT: 1 1 0.25 U fxch %st(1)
@@ -378,11 +378,11 @@ fyl2xp1
# CHECK-NEXT: - - - - - - - - - - - - f2xm1
# CHECK-NEXT: - - - - - - - - - - 1.00 - fabs
# CHECK-NEXT: - - - - - - - 1.00 - - - - fadd %st, %st(1)
-# CHECK-NEXT: - - - - - - - 1.00 - - - - fadd %st(2)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - fadd %st(2), %st
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fadds (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - faddl (%ecx)
-# CHECK-NEXT: - - - - - - - 1.00 - - - - faddp %st(1)
-# CHECK-NEXT: - - - - - - - 1.00 - - - - faddp %st(2)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - faddp %st, %st(1)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - faddp %st, %st(2)
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fiadds (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fiaddl (%ecx)
# CHECK-NEXT: - - - - - - - - - - - - fbld (%ecx)
@@ -406,24 +406,24 @@ fyl2xp1
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fcomps (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fcompl (%eax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - fcompp
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fcomi %st(3)
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fcompi %st(3)
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fcomi %st(3), %st
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fcompi %st(3), %st
# CHECK-NEXT: - - - - - - - - - - - - fcos
# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdecstp
# CHECK-NEXT: - - - - - - - - - - 1.00 - fdiv %st, %st(1)
-# CHECK-NEXT: - - - - - - - - - - 1.00 - fdiv %st(2)
+# CHECK-NEXT: - - - - - - - - - - 1.00 - fdiv %st(2), %st
# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdivs (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdivl (%eax)
-# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivp %st(1)
-# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivp %st(2)
+# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivp %st, %st(1)
+# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivp %st, %st(2)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fidivs (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fidivl (%eax)
# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivr %st, %st(1)
-# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivr %st(2)
+# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivr %st(2), %st
# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdivrs (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdivrl (%eax)
-# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivrp %st(1)
-# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivrp %st(2)
+# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivrp %st, %st(1)
+# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivrp %st, %st(2)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fidivrs (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fidivrl (%eax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - ffree %st(0)
@@ -458,11 +458,11 @@ fyl2xp1
# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fldpi
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 - 0.50 - fldz
# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmul %st, %st(1)
-# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmul %st(2)
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmul %st(2), %st
# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - fmuls (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - fmull (%eax)
-# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmulp %st(1)
-# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmulp %st(2)
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmulp %st, %st(1)
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmulp %st, %st(2)
# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - fimuls (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - fimull (%eax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - fnop
@@ -491,19 +491,19 @@ fyl2xp1
# CHECK-NEXT: - - - - - - - 1.00 - - - - wait
# CHECK-NEXT: - - - - - - - - - - - - fnsave (%eax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - fsub %st, %st(1)
-# CHECK-NEXT: - - - - - - - 1.00 - - - - fsub %st(2)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - fsub %st(2), %st
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubs (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubl (%eax)
-# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubp %st(1)
-# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubp %st(2)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubp %st, %st(1)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubp %st, %st(2)
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fisubs (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fisubl (%eax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubr %st, %st(1)
-# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubr %st(2)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubr %st(2), %st
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubrs (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubrl (%eax)
-# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubrp %st(1)
-# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubrp %st(2)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubrp %st, %st(1)
+# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubrp %st, %st(2)
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fisubrs (%ecx)
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fisubrl (%eax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - ftst
@@ -512,8 +512,8 @@ fyl2xp1
# CHECK-NEXT: - - - - - - - 1.00 - - - - fucomp %st(1)
# CHECK-NEXT: - - - - - - - 1.00 - - - - fucomp %st(3)
# CHECK-NEXT: - - - - - - - 1.00 - - - - fucompp
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fucomi %st(3)
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fucompi %st(3)
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fucomi %st(3), %st
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fucompi %st(3), %st
# CHECK-NEXT: - - - - - - - 1.00 - - - - wait
# CHECK-NEXT: - - - - - - - - - - 1.00 - fxam
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - fxch %st(1)
OpenPOWER on IntegriCloud