[llvm] r353013 - Revert r352985 "[X86] Print %st(0) as %st to match what gcc inline asm uses as the clobber name to make MS inline asm work correctly"

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 3 20:15:02 PST 2019


Author: ctopper
Date: Sun Feb  3 20:15:02 2019
New Revision: 353013

URL: http://llvm.org/viewvc/llvm-project?rev=353013&view=rev
Log:
Revert r352985 "[X86] Print %st(0) as %st to match what gcc inline asm uses as the clobber name to make MS inline asm work correctly"

Looking into gcc and objdump behavior more this was overly aggressive. If the register is encoded in the instruction we should print %st(0), if its implicit we should print %st.

I'll be making a more directed change in a future patch.

Modified:
    llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
    llvm/trunk/lib/Target/X86/X86InstrFPStack.td
    llvm/trunk/lib/Target/X86/X86InstrInfo.td
    llvm/trunk/lib/Target/X86/X86RegisterInfo.td
    llvm/trunk/test/CodeGen/X86/2007-09-27-LDIntrinsics.ll
    llvm/trunk/test/CodeGen/X86/avx512-regcall-NoMask.ll
    llvm/trunk/test/CodeGen/X86/fcmove.ll
    llvm/trunk/test/CodeGen/X86/finite-libcalls.ll
    llvm/trunk/test/CodeGen/X86/fmf-flags.ll
    llvm/trunk/test/CodeGen/X86/fp-cvt.ll
    llvm/trunk/test/CodeGen/X86/fp128-cast.ll
    llvm/trunk/test/CodeGen/X86/inline-asm-fpstack.ll
    llvm/trunk/test/CodeGen/X86/pr13577.ll
    llvm/trunk/test/CodeGen/X86/pr33349.ll
    llvm/trunk/test/CodeGen/X86/pr34080.ll
    llvm/trunk/test/CodeGen/X86/pr34177.ll
    llvm/trunk/test/CodeGen/X86/scalar-fp-to-i64.ll
    llvm/trunk/test/CodeGen/X86/select.ll
    llvm/trunk/test/CodeGen/X86/sibcall.ll
    llvm/trunk/test/CodeGen/X86/x87-schedule.ll
    llvm/trunk/test/MC/Disassembler/X86/fp-stack.txt
    llvm/trunk/test/MC/Disassembler/X86/x86-16.txt
    llvm/trunk/test/MC/X86/PPRO-32.s
    llvm/trunk/test/MC/X86/PPRO-64.s
    llvm/trunk/test/MC/X86/X87-32.s
    llvm/trunk/test/MC/X86/X87-64.s
    llvm/trunk/test/MC/X86/intel-syntax.s
    llvm/trunk/test/MC/X86/x86-16.s
    llvm/trunk/test/MC/X86/x86-32-coverage.s
    llvm/trunk/test/MC/X86/x86-32.s
    llvm/trunk/test/MC/X86/x86-64.s
    llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x87.s
    llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-x87.s
    llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x87.s
    llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x87.s
    llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x87.s
    llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x87.s
    llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x87.s
    llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s
    llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s
    llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s
    llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x87.s

Modified: llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp (original)
+++ llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp Sun Feb  3 20:15:02 2019
@@ -1114,7 +1114,8 @@ bool X86AsmParser::ParseRegister(unsigne
   }
 
   // Parse "%st" as "%st(0)" and "%st(1)", which is multiple tokens.
-  if (RegNo == X86::ST0) {
+  if (RegNo == 0 && (Tok.getString() == "st" || Tok.getString() == "ST")) {
+    RegNo = X86::ST0;
     Parser.Lex(); // Eat 'st'
 
     // Check to see if we have '(4)' after %st.

Modified: llvm/trunk/lib/Target/X86/X86InstrFPStack.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrFPStack.td?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrFPStack.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrFPStack.td Sun Feb  3 20:15:02 2019
@@ -268,13 +268,13 @@ class FPrST0PInst<Format fp, string asm>
 // we have to put some 'r's in and take them out of weird places.
 let SchedRW = [WriteFAdd], Defs = [FPSW] in {
 def ADD_FST0r   : FPST0rInst <MRM0r, "fadd\t$op">;
-def ADD_FrST0   : FPrST0Inst <MRM0r, "fadd\t{%st, $op|$op, st}">;
+def ADD_FrST0   : FPrST0Inst <MRM0r, "fadd\t{%st(0), $op|$op, st(0)}">;
 def ADD_FPrST0  : FPrST0PInst<MRM0r, "faddp\t$op">;
 def SUBR_FST0r  : FPST0rInst <MRM5r, "fsubr\t$op">;
-def SUB_FrST0   : FPrST0Inst <MRM5r, "fsub{r}\t{%st, $op|$op, st}">;
+def SUB_FrST0   : FPrST0Inst <MRM5r, "fsub{r}\t{%st(0), $op|$op, st(0)}">;
 def SUB_FPrST0  : FPrST0PInst<MRM5r, "fsub{r}p\t$op">;
 def SUB_FST0r   : FPST0rInst <MRM4r, "fsub\t$op">;
-def SUBR_FrST0  : FPrST0Inst <MRM4r, "fsub{|r}\t{%st, $op|$op, st}">;
+def SUBR_FrST0  : FPrST0Inst <MRM4r, "fsub{|r}\t{%st(0), $op|$op, st(0)}">;
 def SUBR_FPrST0 : FPrST0PInst<MRM4r, "fsub{|r}p\t$op">;
 } // SchedRW
 let SchedRW = [WriteFCom], Defs = [FPSW] in {
@@ -283,15 +283,15 @@ def COMP_FST0r  : FPST0rInst <MRM3r, "fc
 } // SchedRW
 let SchedRW = [WriteFMul], Defs = [FPSW] in {
 def MUL_FST0r   : FPST0rInst <MRM1r, "fmul\t$op">;
-def MUL_FrST0   : FPrST0Inst <MRM1r, "fmul\t{%st, $op|$op, st}">;
+def MUL_FrST0   : FPrST0Inst <MRM1r, "fmul\t{%st(0), $op|$op, st(0)}">;
 def MUL_FPrST0  : FPrST0PInst<MRM1r, "fmulp\t$op">;
 } // SchedRW
 let SchedRW = [WriteFDiv], Defs = [FPSW] in {
 def DIVR_FST0r  : FPST0rInst <MRM7r, "fdivr\t$op">;
-def DIV_FrST0   : FPrST0Inst <MRM7r, "fdiv{r}\t{%st, $op|$op, st}">;
+def DIV_FrST0   : FPrST0Inst <MRM7r, "fdiv{r}\t{%st(0), $op|$op, st(0)}">;
 def DIV_FPrST0  : FPrST0PInst<MRM7r, "fdiv{r}p\t$op">;
 def DIV_FST0r   : FPST0rInst <MRM6r, "fdiv\t$op">;
-def DIVR_FrST0  : FPrST0Inst <MRM6r, "fdiv{|r}\t{%st, $op|$op, st}">;
+def DIVR_FrST0  : FPrST0Inst <MRM6r, "fdiv{|r}\t{%st(0), $op|$op, st(0)}">;
 def DIVR_FPrST0 : FPrST0PInst<MRM6r, "fdiv{|r}p\t$op">;
 } // SchedRW
 
@@ -398,21 +398,21 @@ defm CMOVNP : FPCMov<X86_COND_NP>;
 let Predicates = [HasCMov] in {
 // These are not factored because there's no clean way to pass DA/DB.
 def CMOVB_F  : FPI<0xDA, MRM0r, (outs), (ins RST:$op),
-                  "fcmovb\t{$op, %st|st, $op}">;
+                  "fcmovb\t{$op, %st(0)|st(0), $op}">;
 def CMOVBE_F : FPI<0xDA, MRM2r, (outs), (ins RST:$op),
-                  "fcmovbe\t{$op, %st|st, $op}">;
+                  "fcmovbe\t{$op, %st(0)|st(0), $op}">;
 def CMOVE_F  : FPI<0xDA, MRM1r, (outs), (ins RST:$op),
-                  "fcmove\t{$op, %st|st, $op}">;
+                  "fcmove\t{$op, %st(0)|st(0), $op}">;
 def CMOVP_F  : FPI<0xDA, MRM3r, (outs), (ins RST:$op),
-                  "fcmovu\t{$op, %st|st, $op}">;
+                  "fcmovu\t{$op, %st(0)|st(0), $op}">;
 def CMOVNB_F : FPI<0xDB, MRM0r, (outs), (ins RST:$op),
-                  "fcmovnb\t{$op, %st|st, $op}">;
+                  "fcmovnb\t{$op, %st(0)|st(0), $op}">;
 def CMOVNBE_F: FPI<0xDB, MRM2r, (outs), (ins RST:$op),
-                  "fcmovnbe\t{$op, %st|st, $op}">;
+                  "fcmovnbe\t{$op, %st(0)|st(0), $op}">;
 def CMOVNE_F : FPI<0xDB, MRM1r, (outs), (ins RST:$op),
-                  "fcmovne\t{$op, %st|st, $op}">;
+                  "fcmovne\t{$op, %st(0)|st(0), $op}">;
 def CMOVNP_F : FPI<0xDB, MRM3r, (outs), (ins RST:$op),
-                  "fcmovnu\t{$op, %st|st, $op}">;
+                  "fcmovnu\t{$op, %st(0)|st(0), $op}">;
 } // Predicates = [HasCMov]
 } // SchedRW
 

Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.td?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrInfo.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrInfo.td Sun Feb  3 20:15:02 2019
@@ -3238,9 +3238,9 @@ def : InstAlias<"fucompi",      (UCOM_FI
 // instructions like "fadd %st(0), %st(0)" as "fadd %st(0)" for consistency with
 // gas.
 multiclass FpUnaryAlias<string Mnemonic, Instruction Inst, bit EmitAlias = 1> {
- def : InstAlias<!strconcat(Mnemonic, "\t{$op, %st|st, $op}"),
+ def : InstAlias<!strconcat(Mnemonic, "\t{$op, %st(0)|st(0), $op}"),
                  (Inst RST:$op), EmitAlias>;
- def : InstAlias<!strconcat(Mnemonic, "\t{%st, %st|st, st}"),
+ def : InstAlias<!strconcat(Mnemonic, "\t{%st(0), %st(0)|st(0), st(0)}"),
                  (Inst ST0), EmitAlias>;
 }
 
@@ -3265,12 +3265,12 @@ defm : FpUnaryAlias<"fucompi",  UCOM_FIP
 // Handle "f{mulp,addp} st(0), $op" the same as "f{mulp,addp} $op", since they
 // commute.  We also allow fdiv[r]p/fsubrp even though they don't commute,
 // solely because gas supports it.
-def : InstAlias<"faddp\t{%st, $op|$op, st}", (ADD_FPrST0 RST:$op)>;
-def : InstAlias<"fmulp\t{%st, $op|$op, st}", (MUL_FPrST0 RST:$op)>;
-def : InstAlias<"fsub{|r}p\t{%st, $op|$op, st}", (SUBR_FPrST0 RST:$op)>;
-def : InstAlias<"fsub{r|}p\t{%st, $op|$op, st}", (SUB_FPrST0 RST:$op)>;
-def : InstAlias<"fdiv{|r}p\t{%st, $op|$op, st}", (DIVR_FPrST0 RST:$op)>;
-def : InstAlias<"fdiv{r|}p\t{%st, $op|$op, st}", (DIV_FPrST0 RST:$op)>;
+def : InstAlias<"faddp\t{%st(0), $op|$op, st(0)}", (ADD_FPrST0 RST:$op)>;
+def : InstAlias<"fmulp\t{%st(0), $op|$op, st(0)}", (MUL_FPrST0 RST:$op)>;
+def : InstAlias<"fsub{|r}p\t{%st(0), $op|$op, st(0)}", (SUBR_FPrST0 RST:$op)>;
+def : InstAlias<"fsub{r|}p\t{%st(0), $op|$op, st(0)}", (SUB_FPrST0 RST:$op)>;
+def : InstAlias<"fdiv{|r}p\t{%st(0), $op|$op, st(0)}", (DIVR_FPrST0 RST:$op)>;
+def : InstAlias<"fdiv{r|}p\t{%st(0), $op|$op, st(0)}", (DIV_FPrST0 RST:$op)>;
 
 def : InstAlias<"fnstsw"     , (FNSTSW16r), 0>;
 

Modified: llvm/trunk/lib/Target/X86/X86RegisterInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86RegisterInfo.td?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86RegisterInfo.td (original)
+++ llvm/trunk/lib/Target/X86/X86RegisterInfo.td Sun Feb  3 20:15:02 2019
@@ -277,7 +277,7 @@ def K7 : X86Reg<"k7", 7>, DwarfRegNum<[1
 // pseudo registers, but we still mark them as aliasing FP registers. That
 // way both kinds can be live without exceeding the stack depth. ST registers
 // are only live around inline assembly.
-def ST0 : X86Reg<"st", 0>, DwarfRegNum<[33, 12, 11]>;
+def ST0 : X86Reg<"st(0)", 0>, DwarfRegNum<[33, 12, 11]>;
 def ST1 : X86Reg<"st(1)", 1>, DwarfRegNum<[34, 13, 12]>;
 def ST2 : X86Reg<"st(2)", 2>, DwarfRegNum<[35, 14, 13]>;
 def ST3 : X86Reg<"st(3)", 3>, DwarfRegNum<[36, 15, 14]>;

Modified: llvm/trunk/test/CodeGen/X86/2007-09-27-LDIntrinsics.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/2007-09-27-LDIntrinsics.ll?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/2007-09-27-LDIntrinsics.ll (original)
+++ llvm/trunk/test/CodeGen/X86/2007-09-27-LDIntrinsics.ll Sun Feb  3 20:15:02 2019
@@ -21,7 +21,7 @@ entry:
 	ret x86_fp80 %tmp2
 ; CHECK-LABEL: bar:
 ; CHECK: fldt 4(%esp)
-; CHECK-NEXT: fld	%st
+; CHECK-NEXT: fld	%st(0)
 ; CHECK-NEXT: fmul	%st(1)
 ; CHECK-NEXT: fmulp
 ; CHECK-NEXT: ret

Modified: llvm/trunk/test/CodeGen/X86/avx512-regcall-NoMask.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/avx512-regcall-NoMask.ll?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/avx512-regcall-NoMask.ll (original)
+++ llvm/trunk/test/CodeGen/X86/avx512-regcall-NoMask.ll Sun Feb  3 20:15:02 2019
@@ -508,17 +508,17 @@ define x86_regcallcc double @test_Callar
 define x86_regcallcc x86_fp80 @test_argRetf80(x86_fp80 %a0) nounwind {
 ; X32-LABEL: test_argRetf80:
 ; X32:       # %bb.0:
-; X32-NEXT:    fadd %st, %st
+; X32-NEXT:    fadd %st(0), %st(0)
 ; X32-NEXT:    retl
 ;
 ; WIN64-LABEL: test_argRetf80:
 ; WIN64:       # %bb.0:
-; WIN64-NEXT:    fadd %st, %st
+; WIN64-NEXT:    fadd %st(0), %st(0)
 ; WIN64-NEXT:    retq
 ;
 ; LINUXOSX64-LABEL: test_argRetf80:
 ; LINUXOSX64:       # %bb.0:
-; LINUXOSX64-NEXT:    fadd %st, %st
+; LINUXOSX64-NEXT:    fadd %st(0), %st(0)
 ; LINUXOSX64-NEXT:    retq
   %r0 = fadd x86_fp80 %a0, %a0
   ret x86_fp80 %r0
@@ -529,9 +529,9 @@ define x86_regcallcc x86_fp80 @test_Call
 ; X32-LABEL: test_CallargRetf80:
 ; X32:       # %bb.0:
 ; X32-NEXT:    pushl %esp
-; X32-NEXT:    fadd %st, %st
+; X32-NEXT:    fadd %st(0), %st(0)
 ; X32-NEXT:    calll _test_argRetf80
-; X32-NEXT:    fadd %st, %st
+; X32-NEXT:    fadd %st(0), %st(0)
 ; X32-NEXT:    popl %esp
 ; X32-NEXT:    retl
 ;
@@ -540,9 +540,9 @@ define x86_regcallcc x86_fp80 @test_Call
 ; WIN64-NEXT:    pushq %rsp
 ; WIN64-NEXT:    .seh_pushreg 4
 ; WIN64-NEXT:    .seh_endprologue
-; WIN64-NEXT:    fadd %st, %st
+; WIN64-NEXT:    fadd %st(0), %st(0)
 ; WIN64-NEXT:    callq test_argRetf80
-; WIN64-NEXT:    fadd %st, %st
+; WIN64-NEXT:    fadd %st(0), %st(0)
 ; WIN64-NEXT:    popq %rsp
 ; WIN64-NEXT:    retq
 ; WIN64-NEXT:    .seh_handlerdata
@@ -554,9 +554,9 @@ define x86_regcallcc x86_fp80 @test_Call
 ; LINUXOSX64-NEXT:    pushq %rsp
 ; LINUXOSX64-NEXT:    .cfi_def_cfa_offset 16
 ; LINUXOSX64-NEXT:    .cfi_offset %rsp, -16
-; LINUXOSX64-NEXT:    fadd %st, %st
+; LINUXOSX64-NEXT:    fadd %st(0), %st(0)
 ; LINUXOSX64-NEXT:    callq test_argRetf80
-; LINUXOSX64-NEXT:    fadd %st, %st
+; LINUXOSX64-NEXT:    fadd %st(0), %st(0)
 ; LINUXOSX64-NEXT:    popq %rsp
 ; LINUXOSX64-NEXT:    .cfi_def_cfa_offset 8
 ; LINUXOSX64-NEXT:    retq

Modified: llvm/trunk/test/CodeGen/X86/fcmove.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/fcmove.ll?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/fcmove.ll (original)
+++ llvm/trunk/test/CodeGen/X86/fcmove.ll Sun Feb  3 20:15:02 2019
@@ -6,7 +6,7 @@ target triple = "x86_64-unknown-unknown"
 ; Test that we can generate an fcmove, and also that it passes verification.
 
 ; CHECK-LABEL: cmove_f
-; CHECK: fcmove %st({{[0-7]}}), %st
+; CHECK: fcmove %st({{[0-7]}}), %st(0)
 define x86_fp80 @cmove_f(x86_fp80 %a, x86_fp80 %b, i32 %c) {
   %test = icmp eq i32 %c, 0
   %add = fadd x86_fp80 %a, %b

Modified: llvm/trunk/test/CodeGen/X86/finite-libcalls.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/finite-libcalls.ll?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/finite-libcalls.ll (original)
+++ llvm/trunk/test/CodeGen/X86/finite-libcalls.ll Sun Feb  3 20:15:02 2019
@@ -404,7 +404,7 @@ define x86_fp80 @pow_f80(x86_fp80 %x) #0
 ; GNU:       # %bb.0:
 ; GNU-NEXT:    subq $40, %rsp
 ; GNU-NEXT:    fldt {{[0-9]+}}(%rsp)
-; GNU-NEXT:    fld %st
+; GNU-NEXT:    fld %st(0)
 ; GNU-NEXT:    fstpt {{[0-9]+}}(%rsp)
 ; GNU-NEXT:    fstpt (%rsp)
 ; GNU-NEXT:    callq __powl_finite
@@ -417,7 +417,7 @@ define x86_fp80 @pow_f80(x86_fp80 %x) #0
 ; WIN-NEXT:    subq $80, %rsp
 ; WIN-NEXT:    movq %rcx, %rsi
 ; WIN-NEXT:    fldt (%rdx)
-; WIN-NEXT:    fld %st
+; WIN-NEXT:    fld %st(0)
 ; WIN-NEXT:    fstpt {{[0-9]+}}(%rsp)
 ; WIN-NEXT:    fstpt {{[0-9]+}}(%rsp)
 ; WIN-NEXT:    leaq {{[0-9]+}}(%rsp), %rcx
@@ -435,7 +435,7 @@ define x86_fp80 @pow_f80(x86_fp80 %x) #0
 ; MAC:       ## %bb.0:
 ; MAC-NEXT:    subq $40, %rsp
 ; MAC-NEXT:    fldt {{[0-9]+}}(%rsp)
-; MAC-NEXT:    fld %st
+; MAC-NEXT:    fld %st(0)
 ; MAC-NEXT:    fstpt {{[0-9]+}}(%rsp)
 ; MAC-NEXT:    fstpt (%rsp)
 ; MAC-NEXT:    callq _powl

Modified: llvm/trunk/test/CodeGen/X86/fmf-flags.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/fmf-flags.ll?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/fmf-flags.ll (original)
+++ llvm/trunk/test/CodeGen/X86/fmf-flags.ll Sun Feb  3 20:15:02 2019
@@ -60,7 +60,7 @@ define double @not_so_fast_mul_add(doubl
 ; X86-LABEL: not_so_fast_mul_add:
 ; X86:       # %bb.0:
 ; X86-NEXT:    fldl {{[0-9]+}}(%esp)
-; X86-NEXT:    fld %st
+; X86-NEXT:    fld %st(0)
 ; X86-NEXT:    fmull {{\.LCPI.*}}
 ; X86-NEXT:    fxch %st(1)
 ; X86-NEXT:    fmull {{\.LCPI.*}}

Modified: llvm/trunk/test/CodeGen/X86/fp-cvt.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/fp-cvt.ll?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/fp-cvt.ll (original)
+++ llvm/trunk/test/CodeGen/X86/fp-cvt.ll Sun Feb  3 20:15:02 2019
@@ -460,7 +460,7 @@ define i64 @fptoui_i64_fp80(x86_fp80 %a0
 ; X86-NEXT:    fstp %st(1)
 ; X86-NEXT:    fldz
 ; X86-NEXT:  .LBB10_2:
-; X86-NEXT:    fstp %st
+; X86-NEXT:    fstp %st(0)
 ; X86-NEXT:    fnstcw {{[0-9]+}}(%esp)
 ; X86-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
 ; X86-NEXT:    movw $3199, {{[0-9]+}}(%esp) # imm = 0xC7F
@@ -486,7 +486,7 @@ define i64 @fptoui_i64_fp80(x86_fp80 %a0
 ; X64-X87-NEXT:    xorl %eax, %eax
 ; X64-X87-NEXT:    fxch %st(1)
 ; X64-X87-NEXT:    fucompi %st(2)
-; X64-X87-NEXT:    fcmovnbe %st(1), %st
+; X64-X87-NEXT:    fcmovnbe %st(1), %st(0)
 ; X64-X87-NEXT:    fstp %st(1)
 ; X64-X87-NEXT:    fnstcw -{{[0-9]+}}(%rsp)
 ; X64-X87-NEXT:    movzwl -{{[0-9]+}}(%rsp), %ecx
@@ -509,7 +509,7 @@ define i64 @fptoui_i64_fp80(x86_fp80 %a0
 ; X64-SSSE3-NEXT:    xorl %eax, %eax
 ; X64-SSSE3-NEXT:    fxch %st(1)
 ; X64-SSSE3-NEXT:    fucompi %st(2)
-; X64-SSSE3-NEXT:    fcmovnbe %st(1), %st
+; X64-SSSE3-NEXT:    fcmovnbe %st(1), %st(0)
 ; X64-SSSE3-NEXT:    fstp %st(1)
 ; X64-SSSE3-NEXT:    fisttpll -{{[0-9]+}}(%rsp)
 ; X64-SSSE3-NEXT:    setbe %al
@@ -542,7 +542,7 @@ define i64 @fptoui_i64_fp80_ld(x86_fp80
 ; X86-NEXT:    fstp %st(1)
 ; X86-NEXT:    fldz
 ; X86-NEXT:  .LBB11_2:
-; X86-NEXT:    fstp %st
+; X86-NEXT:    fstp %st(0)
 ; X86-NEXT:    fnstcw {{[0-9]+}}(%esp)
 ; X86-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
 ; X86-NEXT:    movw $3199, {{[0-9]+}}(%esp) # imm = 0xC7F
@@ -568,7 +568,7 @@ define i64 @fptoui_i64_fp80_ld(x86_fp80
 ; X64-X87-NEXT:    xorl %eax, %eax
 ; X64-X87-NEXT:    fxch %st(1)
 ; X64-X87-NEXT:    fucompi %st(2)
-; X64-X87-NEXT:    fcmovnbe %st(1), %st
+; X64-X87-NEXT:    fcmovnbe %st(1), %st(0)
 ; X64-X87-NEXT:    fstp %st(1)
 ; X64-X87-NEXT:    fnstcw -{{[0-9]+}}(%rsp)
 ; X64-X87-NEXT:    movzwl -{{[0-9]+}}(%rsp), %ecx
@@ -591,7 +591,7 @@ define i64 @fptoui_i64_fp80_ld(x86_fp80
 ; X64-SSSE3-NEXT:    xorl %eax, %eax
 ; X64-SSSE3-NEXT:    fxch %st(1)
 ; X64-SSSE3-NEXT:    fucompi %st(2)
-; X64-SSSE3-NEXT:    fcmovnbe %st(1), %st
+; X64-SSSE3-NEXT:    fcmovnbe %st(1), %st(0)
 ; X64-SSSE3-NEXT:    fstp %st(1)
 ; X64-SSSE3-NEXT:    fisttpll -{{[0-9]+}}(%rsp)
 ; X64-SSSE3-NEXT:    setbe %al

Modified: llvm/trunk/test/CodeGen/X86/fp128-cast.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/fp128-cast.ll?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/fp128-cast.ll (original)
+++ llvm/trunk/test/CodeGen/X86/fp128-cast.ll Sun Feb  3 20:15:02 2019
@@ -900,7 +900,7 @@ define fp128 @TestTruncCopysign(fp128 %x
 ; X32-NEXT:    fstp %st(1)
 ; X32-NEXT:    fldz
 ; X32-NEXT:  .LBB17_3: # %if.then
-; X32-NEXT:    fstp %st
+; X32-NEXT:    fstp %st(0)
 ; X32-NEXT:    subl $16, %esp
 ; X32-NEXT:    leal {{[0-9]+}}(%esp), %eax
 ; X32-NEXT:    movl %eax, (%esp)

Modified: llvm/trunk/test/CodeGen/X86/inline-asm-fpstack.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/inline-asm-fpstack.ll?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/inline-asm-fpstack.ll (original)
+++ llvm/trunk/test/CodeGen/X86/inline-asm-fpstack.ll Sun Feb  3 20:15:02 2019
@@ -75,23 +75,24 @@ define void @test6(double %A, double %B,
 ; CHECK-NEXT:    fldl {{[0-9]+}}(%esp)
 ; CHECK-NEXT:    fldl {{[0-9]+}}(%esp)
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    foo %st %st
+; CHECK-NEXT:    foo %st(0) %st(0)
 ; CHECK-NEXT:    ## InlineAsm End
-; CHECK-NEXT:    fstp %st
+; CHECK-NEXT:    fstp %st(0)
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    bar %st(1) %st
+; CHECK-NEXT:    bar %st(1) %st(0)
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    fstp %st(1)
-; CHECK-NEXT:    fstp %st
+; CHECK-NEXT:    fstp %st(0)
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    baz %st(1) %st
+; CHECK-NEXT:    baz %st(1) %st(0)
 ; CHECK-NEXT:    ## InlineAsm End
-; CHECK-NEXT:    fstp %st
+; CHECK-NEXT:    fstp %st(0)
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    baz %st
+; CHECK-NEXT:    baz %st(0)
 ; CHECK-NEXT:    ## InlineAsm End
-; CHECK-NEXT:    fstp %st
+; CHECK-NEXT:    fstp %st(0)
 ; CHECK-NEXT:    retl
+; CHECK-NEXT:    ## -- End function
 entry:
 ; Uses the same value twice, should have one fstp after the asm.
   tail call void asm sideeffect "foo $0 $1", "f,f,~{dirflag},~{fpsr},~{flags}"( double %A, double %A ) nounwind
@@ -114,12 +115,12 @@ define void @testPR4185() {
 ; CHECK-LABEL: testPR4185:
 ; CHECK:       ## %bb.0: ## %return
 ; CHECK-NEXT:    flds LCPI6_0
-; CHECK-NEXT:    fld %st
+; CHECK-NEXT:    fld %st(0)
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    fistpl %st
+; CHECK-NEXT:    fistpl %st(0)
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    fistpl %st
+; CHECK-NEXT:    fistpl %st(0)
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    retl
 return:
@@ -137,10 +138,10 @@ define void @testPR4185b() {
 ; CHECK:       ## %bb.0: ## %return
 ; CHECK-NEXT:    flds LCPI7_0
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    fistl %st
+; CHECK-NEXT:    fistl %st(0)
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    fistpl %st
+; CHECK-NEXT:    fistpl %st(0)
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    retl
 return:
@@ -159,10 +160,10 @@ define void @testPR4459(x86_fp80 %a) {
 ; CHECK-NEXT:    fldt {{[0-9]+}}(%esp)
 ; CHECK-NEXT:    fstpt (%esp)
 ; CHECK-NEXT:    calll _ceil
-; CHECK-NEXT:    fld %st
+; CHECK-NEXT:    fld %st(0)
 ; CHECK-NEXT:    fxch %st(1)
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    fistpl %st
+; CHECK-NEXT:    fistpl %st(0)
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    fstpt (%esp)
 ; CHECK-NEXT:    calll _test3
@@ -186,11 +187,11 @@ define void @testPR4484(x86_fp80 %a) {
 ; CHECK-NEXT:    subl $28, %esp
 ; CHECK-NEXT:    .cfi_def_cfa_offset 32
 ; CHECK-NEXT:    fldt {{[0-9]+}}(%esp)
-; CHECK-NEXT:    fstpt {{[-0-9]+}}(%e{{[sb]}}p) ## 10-byte Folded Spill
+; CHECK-NEXT:    fstpt {{[0-9]+}}(%esp) ## 10-byte Folded Spill
 ; CHECK-NEXT:    calll _test1
-; CHECK-NEXT:    fldt {{[-0-9]+}}(%e{{[sb]}}p) ## 10-byte Folded Reload
+; CHECK-NEXT:    fldt {{[0-9]+}}(%esp) ## 10-byte Folded Reload
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    fistpl %st
+; CHECK-NEXT:    fistpl %st(0)
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    fstpt (%esp)
 ; CHECK-NEXT:    calll _test3
@@ -210,18 +211,18 @@ define void @testPR4485(x86_fp80* %a) {
 ; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax
 ; CHECK-NEXT:    fldt (%eax)
 ; CHECK-NEXT:    flds LCPI10_0
-; CHECK-NEXT:    fmul %st, %st(1)
+; CHECK-NEXT:    fmul %st(0), %st(1)
 ; CHECK-NEXT:    flds LCPI10_1
-; CHECK-NEXT:    fmul %st, %st(2)
+; CHECK-NEXT:    fmul %st(0), %st(2)
 ; CHECK-NEXT:    fxch %st(2)
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    fistpl %st
+; CHECK-NEXT:    fistpl %st(0)
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    fldt (%eax)
 ; CHECK-NEXT:    fmulp %st(1)
 ; CHECK-NEXT:    fmulp %st(1)
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    fistpl %st
+; CHECK-NEXT:    fistpl %st(0)
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    retl
 entry:
@@ -253,8 +254,9 @@ define void @fist1(x86_fp80 %x, i32* %p)
 ; CHECK-NEXT:    ## InlineAsm Start
 ; CHECK-NEXT:    fistl (%eax)
 ; CHECK-NEXT:    ## InlineAsm End
-; CHECK-NEXT:    fstp %st
+; CHECK-NEXT:    fstp %st(0)
 ; CHECK-NEXT:    retl
+; CHECK-NEXT:    ## -- End function
 entry:
   tail call void asm sideeffect "fistl $1", "{st},*m,~{memory},~{dirflag},~{fpsr},~{flags}"(x86_fp80 %x, i32* %p) nounwind
   ret void
@@ -277,6 +279,7 @@ define x86_fp80 @fist2(x86_fp80 %x, i32*
 ; CHECK-NEXT:    fistl (%eax)
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    retl
+; CHECK-NEXT:    ## -- End function
 entry:
   %0 = tail call x86_fp80 asm "fistl $2", "=&{st},0,*m,~{memory},~{dirflag},~{fpsr},~{flags}"(x86_fp80 %x, i32* %p) nounwind
   ret x86_fp80 %0
@@ -296,8 +299,9 @@ define void @fucomp1(x86_fp80 %x, x86_fp
 ; CHECK-NEXT:    ## InlineAsm Start
 ; CHECK-NEXT:    fucomp %st(1)
 ; CHECK-NEXT:    ## InlineAsm End
-; CHECK-NEXT:    fstp %st
+; CHECK-NEXT:    fstp %st(0)
 ; CHECK-NEXT:    retl
+; CHECK-NEXT:    ## -- End function
 entry:
   tail call void asm sideeffect "fucomp $1", "{st},f,~{st},~{dirflag},~{fpsr},~{flags}"(x86_fp80 %x, x86_fp80 %y) nounwind
   ret void
@@ -322,8 +326,9 @@ define void @fucomp2(x86_fp80 %x, x86_fp
 ; CHECK-NEXT:    ## InlineAsm Start
 ; CHECK-NEXT:    fucomp %st(1)
 ; CHECK-NEXT:    ## InlineAsm End
-; CHECK-NEXT:    fstp %st
+; CHECK-NEXT:    fstp %st(0)
 ; CHECK-NEXT:    retl
+; CHECK-NEXT:    ## -- End function
 entry:
   tail call void asm sideeffect "fucomp $1", "{st},{st(1)},~{st},~{dirflag},~{fpsr},~{flags}"(x86_fp80 %x, x86_fp80 %y) nounwind
   ret void
@@ -339,6 +344,7 @@ define void @fucomp3(x86_fp80 %x, x86_fp
 ; CHECK-NEXT:    fucompp %st(1)
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    retl
+; CHECK-NEXT:    ## -- End function
 entry:
   tail call void asm sideeffect "fucompp $1", "{st},{st(1)},~{st},~{st(1)},~{dirflag},~{fpsr},~{flags}"(x86_fp80 %x, x86_fp80 %y) nounwind
   ret void
@@ -355,6 +361,7 @@ define float @sincos1(float %x) nounwind
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    fstp %st(1)
 ; CHECK-NEXT:    retl
+; CHECK-NEXT:    ## -- End function
 entry:
   %0 = tail call %complex asm "sincos", "={st},={st(1)},0,~{dirflag},~{fpsr},~{flags}"(float %x) nounwind
   %asmresult = extractvalue %complex %0, 0
@@ -371,6 +378,7 @@ define float @sincos2(float %x) nounwind
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    fstp %st(1)
 ; CHECK-NEXT:    retl
+; CHECK-NEXT:    ## -- End function
 entry:
   %0 = tail call %complex asm "sincos", "={st(1)},={st},1,~{dirflag},~{fpsr},~{flags}"(float %x) nounwind
   %asmresult = extractvalue %complex %0, 1
@@ -386,18 +394,19 @@ define float @sincos3(float %x) nounwind
 ; CHECK-LABEL: sincos3:
 ; CHECK:       ## %bb.0: ## %entry
 ; CHECK-NEXT:    flds {{[0-9]+}}(%esp)
-; CHECK-NEXT:    fld %st
+; CHECK-NEXT:    fld %st(0)
 ; CHECK-NEXT:    ## InlineAsm Start
 ; CHECK-NEXT:    sincos
 ; CHECK-NEXT:    ## InlineAsm End
-; CHECK-NEXT:    fstp %st
+; CHECK-NEXT:    fstp %st(0)
 ; CHECK-NEXT:    fxch %st(1)
 ; CHECK-NEXT:    ## InlineAsm Start
 ; CHECK-NEXT:    sincos
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    fstp %st(1)
-; CHECK-NEXT:    fstp %st
+; CHECK-NEXT:    fstp %st(0)
 ; CHECK-NEXT:    retl
+; CHECK-NEXT:    ## -- End function
 entry:
   %0 = tail call %complex asm sideeffect "sincos", "={st(1)},={st},1,~{dirflag},~{fpsr},~{flags}"(float %x) nounwind
   %1 = tail call %complex asm sideeffect "sincos", "={st(1)},={st},1,~{dirflag},~{fpsr},~{flags}"(float %x) nounwind
@@ -410,14 +419,15 @@ define i32 @PR10602() nounwind ssp {
 ; CHECK-LABEL: PR10602:
 ; CHECK:       ## %bb.0: ## %entry
 ; CHECK-NEXT:    flds LCPI19_0
-; CHECK-NEXT:    fld %st
+; CHECK-NEXT:    fld %st(0)
 ; CHECK-NEXT:    fxch %st(1)
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    fcomi %st(1), %st; pushf; pop %eax
+; CHECK-NEXT:    fcomi %st(1), %st(0); pushf; pop %eax
 ; CHECK-NEXT:    ## InlineAsm End
-; CHECK-NEXT:    fstp %st
-; CHECK-NEXT:    fstp %st
+; CHECK-NEXT:    fstp %st(0)
+; CHECK-NEXT:    fstp %st(0)
 ; CHECK-NEXT:    retl
+; CHECK-NEXT:    ## -- End function
 entry:
   %0 = tail call i32 asm "fcomi $2, $1; pushf; pop $0", "=r,{st},{st(1)},~{dirflag},~{fpsr},~{flags}"(double 2.000000e+00, double 2.000000e+00) nounwind
   ret i32 %0
@@ -495,7 +505,7 @@ define double @test_operand_rewrite() {
 ; CHECK-LABEL: test_operand_rewrite:
 ; CHECK:       ## %bb.0: ## %entry
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    foo %st, %st(1)
+; CHECK-NEXT:    foo %st(0), %st(1)
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    fsubp %st(1)
 ; CHECK-NEXT:    retl

Modified: llvm/trunk/test/CodeGen/X86/pr13577.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/pr13577.ll?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/pr13577.ll (original)
+++ llvm/trunk/test/CodeGen/X86/pr13577.ll Sun Feb  3 20:15:02 2019
@@ -14,7 +14,7 @@ define x86_fp80 @foo(x86_fp80 %a) {
 ; CHECK-NEXT:    testb $-128, -{{[0-9]+}}(%rsp)
 ; CHECK-NEXT:    flds {{.*}}(%rip)
 ; CHECK-NEXT:    flds {{.*}}(%rip)
-; CHECK-NEXT:    fcmovne %st(1), %st
+; CHECK-NEXT:    fcmovne %st(1), %st(0)
 ; CHECK-NEXT:    fstp %st(1)
 ; CHECK-NEXT:    retq
   %1 = tail call x86_fp80 @copysignl(x86_fp80 0xK7FFF8000000000000000, x86_fp80 %a) nounwind readnone

Modified: llvm/trunk/test/CodeGen/X86/pr33349.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/pr33349.ll?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/pr33349.ll (original)
+++ llvm/trunk/test/CodeGen/X86/pr33349.ll Sun Feb  3 20:15:02 2019
@@ -18,19 +18,19 @@ target triple = "x86_64-unknown-linux-gn
 ; KNL-NEXT:    testb $1, %al
 ; KNL-NEXT:    fld1
 ; KNL-NEXT:    fldz
-; KNL-NEXT:    fld %st
-; KNL-NEXT:    fcmovne %st(2), %st
+; KNL-NEXT:    fld %st(0)
+; KNL-NEXT:    fcmovne %st(2), %st(0)
 ; KNL-NEXT:    testb $1, %cl
 ; KNL-NEXT:    fld %st(1)
-; KNL-NEXT:    fcmovne %st(3), %st
+; KNL-NEXT:    fcmovne %st(3), %st(0)
 ; KNL-NEXT:    kmovw %k2, %eax
 ; KNL-NEXT:    testb $1, %al
 ; KNL-NEXT:    fld %st(2)
-; KNL-NEXT:    fcmovne %st(4), %st
+; KNL-NEXT:    fcmovne %st(4), %st(0)
 ; KNL-NEXT:    kmovw %k0, %eax
 ; KNL-NEXT:    testb $1, %al
 ; KNL-NEXT:    fxch %st(3)
-; KNL-NEXT:    fcmovne %st(4), %st
+; KNL-NEXT:    fcmovne %st(4), %st(0)
 ; KNL-NEXT:    fstp %st(4)
 ; KNL-NEXT:    fxch %st(3)
 ; KNL-NEXT:    fstpt (%rdi)
@@ -54,19 +54,19 @@ target triple = "x86_64-unknown-linux-gn
 ; SKX-NEXT:    testb $1, %al
 ; SKX-NEXT:    fld1
 ; SKX-NEXT:    fldz
-; SKX-NEXT:    fld %st
-; SKX-NEXT:    fcmovne %st(2), %st
+; SKX-NEXT:    fld %st(0)
+; SKX-NEXT:    fcmovne %st(2), %st(0)
 ; SKX-NEXT:    testb $1, %cl
 ; SKX-NEXT:    fld %st(1)
-; SKX-NEXT:    fcmovne %st(3), %st
+; SKX-NEXT:    fcmovne %st(3), %st(0)
 ; SKX-NEXT:    kmovd %k2, %eax
 ; SKX-NEXT:    testb $1, %al
 ; SKX-NEXT:    fld %st(2)
-; SKX-NEXT:    fcmovne %st(4), %st
+; SKX-NEXT:    fcmovne %st(4), %st(0)
 ; SKX-NEXT:    kmovd %k0, %eax
 ; SKX-NEXT:    testb $1, %al
 ; SKX-NEXT:    fxch %st(3)
-; SKX-NEXT:    fcmovne %st(4), %st
+; SKX-NEXT:    fcmovne %st(4), %st(0)
 ; SKX-NEXT:    fstp %st(4)
 ; SKX-NEXT:    fxch %st(3)
 ; SKX-NEXT:    fstpt (%rdi)

Modified: llvm/trunk/test/CodeGen/X86/pr34080.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/pr34080.ll?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/pr34080.ll (original)
+++ llvm/trunk/test/CodeGen/X86/pr34080.ll Sun Feb  3 20:15:02 2019
@@ -27,7 +27,7 @@ define void @_Z1fe(x86_fp80 %z) local_un
 ; SSE2-NEXT:    movsd %xmm0, -32(%rbp)
 ; SSE2-NEXT:    fsubl -32(%rbp)
 ; SSE2-NEXT:    flds {{.*}}(%rip)
-; SSE2-NEXT:    fmul %st, %st(1)
+; SSE2-NEXT:    fmul %st(0), %st(1)
 ; SSE2-NEXT:    fnstcw -2(%rbp)
 ; SSE2-NEXT:    movzwl -2(%rbp), %eax
 ; SSE2-NEXT:    movw $3199, -2(%rbp) ## imm = 0xC7F
@@ -70,7 +70,7 @@ define void @_Z1fe(x86_fp80 %z) local_un
 ; SSE2-SCHEDULE-NEXT:    movzwl -2(%rbp), %eax
 ; SSE2-SCHEDULE-NEXT:    movw $3199, -2(%rbp) ## imm = 0xC7F
 ; SSE2-SCHEDULE-NEXT:    fldcw -2(%rbp)
-; SSE2-SCHEDULE-NEXT:    fmul %st, %st(1)
+; SSE2-SCHEDULE-NEXT:    fmul %st(0), %st(1)
 ; SSE2-SCHEDULE-NEXT:    movw %ax, -2(%rbp)
 ; SSE2-SCHEDULE-NEXT:    fxch %st(1)
 ; SSE2-SCHEDULE-NEXT:    fistl -12(%rbp)
@@ -93,14 +93,14 @@ define void @_Z1fe(x86_fp80 %z) local_un
 ; SSE3-NEXT:    movq %rsp, %rbp
 ; SSE3-NEXT:    .cfi_def_cfa_register %rbp
 ; SSE3-NEXT:    fldt 16(%rbp)
-; SSE3-NEXT:    fld %st
+; SSE3-NEXT:    fld %st(0)
 ; SSE3-NEXT:    fisttpl -4(%rbp)
 ; SSE3-NEXT:    cvtsi2sdl -4(%rbp), %xmm0
 ; SSE3-NEXT:    movsd %xmm0, -48(%rbp)
 ; SSE3-NEXT:    movsd %xmm0, -24(%rbp)
 ; SSE3-NEXT:    fsubl -24(%rbp)
 ; SSE3-NEXT:    flds {{.*}}(%rip)
-; SSE3-NEXT:    fmul %st, %st(1)
+; SSE3-NEXT:    fmul %st(0), %st(1)
 ; SSE3-NEXT:    fld %st(1)
 ; SSE3-NEXT:    fisttpl -8(%rbp)
 ; SSE3-NEXT:    xorps %xmm0, %xmm0
@@ -122,14 +122,14 @@ define void @_Z1fe(x86_fp80 %z) local_un
 ; AVX-NEXT:    movq %rsp, %rbp
 ; AVX-NEXT:    .cfi_def_cfa_register %rbp
 ; AVX-NEXT:    fldt 16(%rbp)
-; AVX-NEXT:    fld %st
+; AVX-NEXT:    fld %st(0)
 ; AVX-NEXT:    fisttpl -4(%rbp)
 ; AVX-NEXT:    vcvtsi2sdl -4(%rbp), %xmm0, %xmm0
 ; AVX-NEXT:    vmovsd %xmm0, -48(%rbp)
 ; AVX-NEXT:    vmovsd %xmm0, -24(%rbp)
 ; AVX-NEXT:    fsubl -24(%rbp)
 ; AVX-NEXT:    flds {{.*}}(%rip)
-; AVX-NEXT:    fmul %st, %st(1)
+; AVX-NEXT:    fmul %st(0), %st(1)
 ; AVX-NEXT:    fld %st(1)
 ; AVX-NEXT:    fisttpl -8(%rbp)
 ; AVX-NEXT:    vcvtsi2sdl -8(%rbp), %xmm1, %xmm0

Modified: llvm/trunk/test/CodeGen/X86/pr34177.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/pr34177.ll?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/pr34177.ll (original)
+++ llvm/trunk/test/CodeGen/X86/pr34177.ll Sun Feb  3 20:15:02 2019
@@ -19,18 +19,18 @@ define void @test(<4 x i64> %a, <4 x x86
 ; CHECK-NEXT:    negq %rcx
 ; CHECK-NEXT:    fld1
 ; CHECK-NEXT:    fldz
-; CHECK-NEXT:    fld %st
-; CHECK-NEXT:    fcmove %st(2), %st
+; CHECK-NEXT:    fld %st(0)
+; CHECK-NEXT:    fcmove %st(2), %st(0)
 ; CHECK-NEXT:    cmpq %rax, %rsi
 ; CHECK-NEXT:    fld %st(1)
-; CHECK-NEXT:    fcmove %st(3), %st
+; CHECK-NEXT:    fcmove %st(3), %st(0)
 ; CHECK-NEXT:    cmpq %rdx, %r9
 ; CHECK-NEXT:    fld %st(2)
-; CHECK-NEXT:    fcmove %st(4), %st
+; CHECK-NEXT:    fcmove %st(4), %st(0)
 ; CHECK-NEXT:    movl $1, %eax
 ; CHECK-NEXT:    cmpq %r8, %rax
 ; CHECK-NEXT:    fxch %st(3)
-; CHECK-NEXT:    fcmove %st(4), %st
+; CHECK-NEXT:    fcmove %st(4), %st(0)
 ; CHECK-NEXT:    fstp %st(4)
 ; CHECK-NEXT:    fldt {{[0-9]+}}(%rsp)
 ; CHECK-NEXT:    fstpt 70(%rdi)
@@ -40,15 +40,15 @@ define void @test(<4 x i64> %a, <4 x x86
 ; CHECK-NEXT:    fstpt 30(%rdi)
 ; CHECK-NEXT:    fldt {{[0-9]+}}(%rsp)
 ; CHECK-NEXT:    fstpt 10(%rdi)
-; CHECK-NEXT:    fadd %st, %st
+; CHECK-NEXT:    fadd %st(0), %st(0)
 ; CHECK-NEXT:    fstpt 60(%rdi)
 ; CHECK-NEXT:    fxch %st(1)
-; CHECK-NEXT:    fadd %st, %st
+; CHECK-NEXT:    fadd %st(0), %st(0)
 ; CHECK-NEXT:    fstpt 40(%rdi)
 ; CHECK-NEXT:    fxch %st(1)
-; CHECK-NEXT:    fadd %st, %st
+; CHECK-NEXT:    fadd %st(0), %st(0)
 ; CHECK-NEXT:    fstpt 20(%rdi)
-; CHECK-NEXT:    fadd %st, %st
+; CHECK-NEXT:    fadd %st(0), %st(0)
 ; CHECK-NEXT:    fstpt (%rdi)
   %1 = icmp eq <4 x i64> <i64 0, i64 1, i64 2, i64 3>, %a
   %2 = select <4 x i1> %1, <4 x x86_fp80> <x86_fp80 0xK3FFF8000000000000000, x86_fp80 0xK3FFF8000000000000000, x86_fp80 0xK3FFF8000000000000000, x86_fp80 0xK3FFF8000000000000000>, <4 x x86_fp80> zeroinitializer

Modified: llvm/trunk/test/CodeGen/X86/scalar-fp-to-i64.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/scalar-fp-to-i64.ll?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/scalar-fp-to-i64.ll (original)
+++ llvm/trunk/test/CodeGen/X86/scalar-fp-to-i64.ll Sun Feb  3 20:15:02 2019
@@ -286,7 +286,7 @@ define i64 @f_to_u64(float %a) nounwind
 ; X87_WIN-NEXT:    fstp %st(1)
 ; X87_WIN-NEXT:    fldz
 ; X87_WIN-NEXT:  LBB0_2:
-; X87_WIN-NEXT:    fstp %st
+; X87_WIN-NEXT:    fstp %st(0)
 ; X87_WIN-NEXT:    fnstcw {{[0-9]+}}(%esp)
 ; X87_WIN-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
 ; X87_WIN-NEXT:    movw $3199, {{[0-9]+}}(%esp) # imm = 0xC7F
@@ -320,7 +320,7 @@ define i64 @f_to_u64(float %a) nounwind
 ; X87_LIN-NEXT:    fstp %st(1)
 ; X87_LIN-NEXT:    fldz
 ; X87_LIN-NEXT:  .LBB0_2:
-; X87_LIN-NEXT:    fstp %st
+; X87_LIN-NEXT:    fstp %st(0)
 ; X87_LIN-NEXT:    fnstcw {{[0-9]+}}(%esp)
 ; X87_LIN-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
 ; X87_LIN-NEXT:    movw $3199, {{[0-9]+}}(%esp) # imm = 0xC7F
@@ -774,7 +774,7 @@ define i64 @d_to_u64(double %a) nounwind
 ; X87_WIN-NEXT:    fstp %st(1)
 ; X87_WIN-NEXT:    fldz
 ; X87_WIN-NEXT:  LBB2_2:
-; X87_WIN-NEXT:    fstp %st
+; X87_WIN-NEXT:    fstp %st(0)
 ; X87_WIN-NEXT:    fnstcw {{[0-9]+}}(%esp)
 ; X87_WIN-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
 ; X87_WIN-NEXT:    movw $3199, {{[0-9]+}}(%esp) # imm = 0xC7F
@@ -808,7 +808,7 @@ define i64 @d_to_u64(double %a) nounwind
 ; X87_LIN-NEXT:    fstp %st(1)
 ; X87_LIN-NEXT:    fldz
 ; X87_LIN-NEXT:  .LBB2_2:
-; X87_LIN-NEXT:    fstp %st
+; X87_LIN-NEXT:    fstp %st(0)
 ; X87_LIN-NEXT:    fnstcw {{[0-9]+}}(%esp)
 ; X87_LIN-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
 ; X87_LIN-NEXT:    movw $3199, {{[0-9]+}}(%esp) # imm = 0xC7F
@@ -1028,7 +1028,7 @@ define i64 @x_to_u64(x86_fp80 %a) nounwi
 ; AVX512_32_WIN-NEXT:    xorl %edx, %edx
 ; AVX512_32_WIN-NEXT:    fxch %st(1)
 ; AVX512_32_WIN-NEXT:    fucompi %st(2)
-; AVX512_32_WIN-NEXT:    fcmovnbe %st(1), %st
+; AVX512_32_WIN-NEXT:    fcmovnbe %st(1), %st(0)
 ; AVX512_32_WIN-NEXT:    fstp %st(1)
 ; AVX512_32_WIN-NEXT:    fisttpll (%esp)
 ; AVX512_32_WIN-NEXT:    setbe %dl
@@ -1049,7 +1049,7 @@ define i64 @x_to_u64(x86_fp80 %a) nounwi
 ; AVX512_32_LIN-NEXT:    xorl %edx, %edx
 ; AVX512_32_LIN-NEXT:    fxch %st(1)
 ; AVX512_32_LIN-NEXT:    fucompi %st(2)
-; AVX512_32_LIN-NEXT:    fcmovnbe %st(1), %st
+; AVX512_32_LIN-NEXT:    fcmovnbe %st(1), %st(0)
 ; AVX512_32_LIN-NEXT:    fstp %st(1)
 ; AVX512_32_LIN-NEXT:    fisttpll (%esp)
 ; AVX512_32_LIN-NEXT:    setbe %dl
@@ -1069,7 +1069,7 @@ define i64 @x_to_u64(x86_fp80 %a) nounwi
 ; AVX512_64_WIN-NEXT:    xorl %ecx, %ecx
 ; AVX512_64_WIN-NEXT:    fxch %st(1)
 ; AVX512_64_WIN-NEXT:    fucompi %st(2)
-; AVX512_64_WIN-NEXT:    fcmovnbe %st(1), %st
+; AVX512_64_WIN-NEXT:    fcmovnbe %st(1), %st(0)
 ; AVX512_64_WIN-NEXT:    fstp %st(1)
 ; AVX512_64_WIN-NEXT:    fisttpll (%rsp)
 ; AVX512_64_WIN-NEXT:    setbe %cl
@@ -1090,7 +1090,7 @@ define i64 @x_to_u64(x86_fp80 %a) nounwi
 ; AVX512_64_LIN-NEXT:    xorl %ecx, %ecx
 ; AVX512_64_LIN-NEXT:    fxch %st(1)
 ; AVX512_64_LIN-NEXT:    fucompi %st(2)
-; AVX512_64_LIN-NEXT:    fcmovnbe %st(1), %st
+; AVX512_64_LIN-NEXT:    fcmovnbe %st(1), %st(0)
 ; AVX512_64_LIN-NEXT:    fstp %st(1)
 ; AVX512_64_LIN-NEXT:    fisttpll -{{[0-9]+}}(%rsp)
 ; AVX512_64_LIN-NEXT:    setbe %cl
@@ -1114,7 +1114,7 @@ define i64 @x_to_u64(x86_fp80 %a) nounwi
 ; SSE3_32_WIN-NEXT:    xorl %edx, %edx
 ; SSE3_32_WIN-NEXT:    fxch %st(1)
 ; SSE3_32_WIN-NEXT:    fucompi %st(2)
-; SSE3_32_WIN-NEXT:    fcmovnbe %st(1), %st
+; SSE3_32_WIN-NEXT:    fcmovnbe %st(1), %st(0)
 ; SSE3_32_WIN-NEXT:    fstp %st(1)
 ; SSE3_32_WIN-NEXT:    fisttpll (%esp)
 ; SSE3_32_WIN-NEXT:    setbe %dl
@@ -1135,7 +1135,7 @@ define i64 @x_to_u64(x86_fp80 %a) nounwi
 ; SSE3_32_LIN-NEXT:    xorl %edx, %edx
 ; SSE3_32_LIN-NEXT:    fxch %st(1)
 ; SSE3_32_LIN-NEXT:    fucompi %st(2)
-; SSE3_32_LIN-NEXT:    fcmovnbe %st(1), %st
+; SSE3_32_LIN-NEXT:    fcmovnbe %st(1), %st(0)
 ; SSE3_32_LIN-NEXT:    fstp %st(1)
 ; SSE3_32_LIN-NEXT:    fisttpll (%esp)
 ; SSE3_32_LIN-NEXT:    setbe %dl
@@ -1155,7 +1155,7 @@ define i64 @x_to_u64(x86_fp80 %a) nounwi
 ; SSE3_64_WIN-NEXT:    xorl %eax, %eax
 ; SSE3_64_WIN-NEXT:    fxch %st(1)
 ; SSE3_64_WIN-NEXT:    fucompi %st(2)
-; SSE3_64_WIN-NEXT:    fcmovnbe %st(1), %st
+; SSE3_64_WIN-NEXT:    fcmovnbe %st(1), %st(0)
 ; SSE3_64_WIN-NEXT:    fstp %st(1)
 ; SSE3_64_WIN-NEXT:    fisttpll (%rsp)
 ; SSE3_64_WIN-NEXT:    setbe %al
@@ -1173,7 +1173,7 @@ define i64 @x_to_u64(x86_fp80 %a) nounwi
 ; SSE3_64_LIN-NEXT:    xorl %eax, %eax
 ; SSE3_64_LIN-NEXT:    fxch %st(1)
 ; SSE3_64_LIN-NEXT:    fucompi %st(2)
-; SSE3_64_LIN-NEXT:    fcmovnbe %st(1), %st
+; SSE3_64_LIN-NEXT:    fcmovnbe %st(1), %st(0)
 ; SSE3_64_LIN-NEXT:    fstp %st(1)
 ; SSE3_64_LIN-NEXT:    fisttpll -{{[0-9]+}}(%rsp)
 ; SSE3_64_LIN-NEXT:    setbe %al
@@ -1194,7 +1194,7 @@ define i64 @x_to_u64(x86_fp80 %a) nounwi
 ; SSE2_32_WIN-NEXT:    xorl %edx, %edx
 ; SSE2_32_WIN-NEXT:    fxch %st(1)
 ; SSE2_32_WIN-NEXT:    fucompi %st(2)
-; SSE2_32_WIN-NEXT:    fcmovnbe %st(1), %st
+; SSE2_32_WIN-NEXT:    fcmovnbe %st(1), %st(0)
 ; SSE2_32_WIN-NEXT:    fstp %st(1)
 ; SSE2_32_WIN-NEXT:    fnstcw {{[0-9]+}}(%esp)
 ; SSE2_32_WIN-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
@@ -1221,7 +1221,7 @@ define i64 @x_to_u64(x86_fp80 %a) nounwi
 ; SSE2_32_LIN-NEXT:    xorl %edx, %edx
 ; SSE2_32_LIN-NEXT:    fxch %st(1)
 ; SSE2_32_LIN-NEXT:    fucompi %st(2)
-; SSE2_32_LIN-NEXT:    fcmovnbe %st(1), %st
+; SSE2_32_LIN-NEXT:    fcmovnbe %st(1), %st(0)
 ; SSE2_32_LIN-NEXT:    fstp %st(1)
 ; SSE2_32_LIN-NEXT:    fnstcw {{[0-9]+}}(%esp)
 ; SSE2_32_LIN-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
@@ -1247,7 +1247,7 @@ define i64 @x_to_u64(x86_fp80 %a) nounwi
 ; SSE2_64_WIN-NEXT:    xorl %eax, %eax
 ; SSE2_64_WIN-NEXT:    fxch %st(1)
 ; SSE2_64_WIN-NEXT:    fucompi %st(2)
-; SSE2_64_WIN-NEXT:    fcmovnbe %st(1), %st
+; SSE2_64_WIN-NEXT:    fcmovnbe %st(1), %st(0)
 ; SSE2_64_WIN-NEXT:    fstp %st(1)
 ; SSE2_64_WIN-NEXT:    fnstcw {{[0-9]+}}(%rsp)
 ; SSE2_64_WIN-NEXT:    movzwl {{[0-9]+}}(%rsp), %ecx
@@ -1271,7 +1271,7 @@ define i64 @x_to_u64(x86_fp80 %a) nounwi
 ; SSE2_64_LIN-NEXT:    xorl %eax, %eax
 ; SSE2_64_LIN-NEXT:    fxch %st(1)
 ; SSE2_64_LIN-NEXT:    fucompi %st(2)
-; SSE2_64_LIN-NEXT:    fcmovnbe %st(1), %st
+; SSE2_64_LIN-NEXT:    fcmovnbe %st(1), %st(0)
 ; SSE2_64_LIN-NEXT:    fstp %st(1)
 ; SSE2_64_LIN-NEXT:    fnstcw -{{[0-9]+}}(%rsp)
 ; SSE2_64_LIN-NEXT:    movzwl -{{[0-9]+}}(%rsp), %ecx
@@ -1305,7 +1305,7 @@ define i64 @x_to_u64(x86_fp80 %a) nounwi
 ; X87_WIN-NEXT:    fstp %st(1)
 ; X87_WIN-NEXT:    fldz
 ; X87_WIN-NEXT:  LBB4_2:
-; X87_WIN-NEXT:    fstp %st
+; X87_WIN-NEXT:    fstp %st(0)
 ; X87_WIN-NEXT:    fnstcw {{[0-9]+}}(%esp)
 ; X87_WIN-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
 ; X87_WIN-NEXT:    movw $3199, {{[0-9]+}}(%esp) # imm = 0xC7F
@@ -1339,7 +1339,7 @@ define i64 @x_to_u64(x86_fp80 %a) nounwi
 ; X87_LIN-NEXT:    fstp %st(1)
 ; X87_LIN-NEXT:    fldz
 ; X87_LIN-NEXT:  .LBB4_2:
-; X87_LIN-NEXT:    fstp %st
+; X87_LIN-NEXT:    fstp %st(0)
 ; X87_LIN-NEXT:    fnstcw {{[0-9]+}}(%esp)
 ; X87_LIN-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
 ; X87_LIN-NEXT:    movw $3199, {{[0-9]+}}(%esp) # imm = 0xC7F

Modified: llvm/trunk/test/CodeGen/X86/select.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/select.ll?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/select.ll (original)
+++ llvm/trunk/test/CodeGen/X86/select.ll Sun Feb  3 20:15:02 2019
@@ -192,7 +192,7 @@ define signext i8 @test4(i8* nocapture %
 ; ATHLON-NEXT:    flds LCPI3_0
 ; ATHLON-NEXT:    xorl %ecx, %ecx
 ; ATHLON-NEXT:    fucompi %st(1)
-; ATHLON-NEXT:    fstp %st
+; ATHLON-NEXT:    fstp %st(0)
 ; ATHLON-NEXT:    seta %cl
 ; ATHLON-NEXT:    movsbl (%eax,%ecx,4), %eax
 ; ATHLON-NEXT:    retl
@@ -293,25 +293,25 @@ define void @test6(i32 %C, <4 x float>*
 ; ATHLON-NEXT:    flds 4(%ecx)
 ; ATHLON-NEXT:    flds (%ecx)
 ; ATHLON-NEXT:    flds (%eax)
-; ATHLON-NEXT:    fmul %st, %st
+; ATHLON-NEXT:    fmul %st(0), %st(0)
 ; ATHLON-NEXT:    cmpl $0, {{[0-9]+}}(%esp)
 ; ATHLON-NEXT:    fxch %st(1)
-; ATHLON-NEXT:    fcmove %st(1), %st
+; ATHLON-NEXT:    fcmove %st(1), %st(0)
 ; ATHLON-NEXT:    fstp %st(1)
 ; ATHLON-NEXT:    flds 4(%eax)
-; ATHLON-NEXT:    fmul %st, %st
+; ATHLON-NEXT:    fmul %st(0), %st(0)
 ; ATHLON-NEXT:    fxch %st(2)
-; ATHLON-NEXT:    fcmove %st(2), %st
+; ATHLON-NEXT:    fcmove %st(2), %st(0)
 ; ATHLON-NEXT:    fstp %st(2)
 ; ATHLON-NEXT:    flds 8(%eax)
-; ATHLON-NEXT:    fmul %st, %st
+; ATHLON-NEXT:    fmul %st(0), %st(0)
 ; ATHLON-NEXT:    fxch %st(3)
-; ATHLON-NEXT:    fcmove %st(3), %st
+; ATHLON-NEXT:    fcmove %st(3), %st(0)
 ; ATHLON-NEXT:    fstp %st(3)
 ; ATHLON-NEXT:    flds 12(%eax)
-; ATHLON-NEXT:    fmul %st, %st
+; ATHLON-NEXT:    fmul %st(0), %st(0)
 ; ATHLON-NEXT:    fxch %st(4)
-; ATHLON-NEXT:    fcmove %st(4), %st
+; ATHLON-NEXT:    fcmove %st(4), %st(0)
 ; ATHLON-NEXT:    fstp %st(4)
 ; ATHLON-NEXT:    fxch %st(3)
 ; ATHLON-NEXT:    fstps 12(%ecx)
@@ -332,13 +332,13 @@ define void @test6(i32 %C, <4 x float>*
 ; MCU-NEXT:    flds 4(%ecx)
 ; MCU-NEXT:    flds 8(%ecx)
 ; MCU-NEXT:    flds 12(%ecx)
-; MCU-NEXT:    fmul %st, %st
+; MCU-NEXT:    fmul %st(0), %st(0)
 ; MCU-NEXT:    fxch %st(1)
-; MCU-NEXT:    fmul %st, %st
+; MCU-NEXT:    fmul %st(0), %st(0)
 ; MCU-NEXT:    fxch %st(2)
-; MCU-NEXT:    fmul %st, %st
+; MCU-NEXT:    fmul %st(0), %st(0)
 ; MCU-NEXT:    fxch %st(3)
-; MCU-NEXT:    fmul %st, %st
+; MCU-NEXT:    fmul %st(0), %st(0)
 ; MCU-NEXT:    testl %eax, %eax
 ; MCU-NEXT:    flds (%edx)
 ; MCU-NEXT:    je .LBB5_2
@@ -346,7 +346,7 @@ define void @test6(i32 %C, <4 x float>*
 ; MCU-NEXT:    fstp %st(1)
 ; MCU-NEXT:    fstp %st(3)
 ; MCU-NEXT:    fstp %st(1)
-; MCU-NEXT:    fstp %st
+; MCU-NEXT:    fstp %st(0)
 ; MCU-NEXT:    flds (%esp) # 4-byte Folded Reload
 ; MCU-NEXT:    fldz
 ; MCU-NEXT:    fldz
@@ -360,7 +360,7 @@ define void @test6(i32 %C, <4 x float>*
 ; MCU-NEXT:    fxch %st(3)
 ; MCU-NEXT:    fxch %st(2)
 ; MCU-NEXT:  .LBB5_2:
-; MCU-NEXT:    fstp %st
+; MCU-NEXT:    fstp %st(0)
 ; MCU-NEXT:    fstp %st(5)
 ; MCU-NEXT:    fstp %st(3)
 ; MCU-NEXT:    fxch %st(2)
@@ -1294,10 +1294,10 @@ define void @test19() {
 ; ATHLON-NEXT:    .p2align 4, 0x90
 ; ATHLON-NEXT:  LBB23_4: ## %CF242
 ; ATHLON-NEXT:    ## =>This Inner Loop Header: Depth=1
-; ATHLON-NEXT:    fucomi %st
+; ATHLON-NEXT:    fucomi %st(0)
 ; ATHLON-NEXT:    jp LBB23_4
 ; ATHLON-NEXT:  ## %bb.5: ## %CF244
-; ATHLON-NEXT:    fstp %st
+; ATHLON-NEXT:    fstp %st(0)
 ; ATHLON-NEXT:    retl
 ;
 ; MCU-LABEL: test19:
@@ -1318,13 +1318,13 @@ define void @test19() {
 ; MCU-NEXT:  .LBB23_4: # %CF242
 ; MCU-NEXT:    # =>This Inner Loop Header: Depth=1
 ; MCU-NEXT:    cmpl %eax, %ecx
-; MCU-NEXT:    fucom %st
+; MCU-NEXT:    fucom %st(0)
 ; MCU-NEXT:    fnstsw %ax
 ; MCU-NEXT:    # kill: def $ah killed $ah killed $ax
 ; MCU-NEXT:    sahf
 ; MCU-NEXT:    jp .LBB23_4
 ; MCU-NEXT:  # %bb.5: # %CF244
-; MCU-NEXT:    fstp %st
+; MCU-NEXT:    fstp %st(0)
 ; MCU-NEXT:    retl
 BB:
   br label %CF

Modified: llvm/trunk/test/CodeGen/X86/sibcall.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/sibcall.ll?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/sibcall.ll (original)
+++ llvm/trunk/test/CodeGen/X86/sibcall.ll Sun Feb  3 20:15:02 2019
@@ -495,7 +495,7 @@ define void @t16() nounwind ssp {
 ; X86:       # %bb.0: # %entry
 ; X86-NEXT:    subl $12, %esp
 ; X86-NEXT:    calll bar4
-; X86-NEXT:    fstp %st
+; X86-NEXT:    fstp %st(0)
 ; X86-NEXT:    addl $12, %esp
 ; X86-NEXT:    retl
 ;
@@ -541,7 +541,7 @@ define void @t18() nounwind ssp {
 ; X86:       # %bb.0: # %entry
 ; X86-NEXT:    subl $12, %esp
 ; X86-NEXT:    calll bar6
-; X86-NEXT:    fstp %st
+; X86-NEXT:    fstp %st(0)
 ; X86-NEXT:    addl $12, %esp
 ; X86-NEXT:    retl
 ;

Modified: llvm/trunk/test/CodeGen/X86/x87-schedule.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/x87-schedule.ll?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/x87-schedule.ll (original)
+++ llvm/trunk/test/CodeGen/X86/x87-schedule.ll Sun Feb  3 20:15:02 2019
@@ -180,7 +180,7 @@ define void @test_fadd(float *%a0, doubl
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    fadd %st, %st(1)
+; GENERIC-NEXT:    fadd %st(0), %st(1)
 ; GENERIC-NEXT:    fadd %st(2)
 ; GENERIC-NEXT:    fadds (%ecx)
 ; GENERIC-NEXT:    faddl (%eax)
@@ -192,7 +192,7 @@ define void @test_fadd(float *%a0, doubl
 ; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [1:1.00]
 ; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [1:1.00]
 ; ATOM-NEXT:    #APP
-; ATOM-NEXT:    fadd %st, %st(1) # sched: [5:5.00]
+; ATOM-NEXT:    fadd %st(0), %st(1) # sched: [5:5.00]
 ; ATOM-NEXT:    fadd %st(2) # sched: [5:5.00]
 ; ATOM-NEXT:    fadds (%ecx) # sched: [5:5.00]
 ; ATOM-NEXT:    faddl (%eax) # sched: [5:5.00]
@@ -204,7 +204,7 @@ define void @test_fadd(float *%a0, doubl
 ; SLM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [3:1.00]
 ; SLM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
 ; SLM-NEXT:    #APP
-; SLM-NEXT:    fadd %st, %st(1) # sched: [3:1.00]
+; SLM-NEXT:    fadd %st(0), %st(1) # sched: [3:1.00]
 ; SLM-NEXT:    fadd %st(2) # sched: [3:1.00]
 ; SLM-NEXT:    fadds (%ecx) # sched: [6:1.00]
 ; SLM-NEXT:    faddl (%eax) # sched: [6:1.00]
@@ -216,7 +216,7 @@ define void @test_fadd(float *%a0, doubl
 ; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SANDY-NEXT:    #APP
-; SANDY-NEXT:    fadd %st, %st(1) # sched: [3:1.00]
+; SANDY-NEXT:    fadd %st(0), %st(1) # sched: [3:1.00]
 ; SANDY-NEXT:    fadd %st(2) # sched: [3:1.00]
 ; SANDY-NEXT:    fadds (%ecx) # sched: [10:1.00]
 ; SANDY-NEXT:    faddl (%eax) # sched: [10:1.00]
@@ -228,7 +228,7 @@ define void @test_fadd(float *%a0, doubl
 ; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; HASWELL-NEXT:    #APP
-; HASWELL-NEXT:    fadd %st, %st(1) # sched: [3:1.00]
+; HASWELL-NEXT:    fadd %st(0), %st(1) # sched: [3:1.00]
 ; HASWELL-NEXT:    fadd %st(2) # sched: [3:1.00]
 ; HASWELL-NEXT:    fadds (%ecx) # sched: [10:1.00]
 ; HASWELL-NEXT:    faddl (%eax) # sched: [10:1.00]
@@ -240,7 +240,7 @@ define void @test_fadd(float *%a0, doubl
 ; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; BROADWELL-NEXT:    #APP
-; BROADWELL-NEXT:    fadd %st, %st(1) # sched: [3:1.00]
+; BROADWELL-NEXT:    fadd %st(0), %st(1) # sched: [3:1.00]
 ; BROADWELL-NEXT:    fadd %st(2) # sched: [3:1.00]
 ; BROADWELL-NEXT:    fadds (%ecx) # sched: [9:1.00]
 ; BROADWELL-NEXT:    faddl (%eax) # sched: [9:1.00]
@@ -252,7 +252,7 @@ define void @test_fadd(float *%a0, doubl
 ; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SKYLAKE-NEXT:    #APP
-; SKYLAKE-NEXT:    fadd %st, %st(1) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fadd %st(0), %st(1) # sched: [3:1.00]
 ; SKYLAKE-NEXT:    fadd %st(2) # sched: [3:1.00]
 ; SKYLAKE-NEXT:    fadds (%ecx) # sched: [10:1.00]
 ; SKYLAKE-NEXT:    faddl (%eax) # sched: [10:1.00]
@@ -264,7 +264,7 @@ define void @test_fadd(float *%a0, doubl
 ; SKX-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SKX-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SKX-NEXT:    #APP
-; SKX-NEXT:    fadd %st, %st(1) # sched: [3:1.00]
+; SKX-NEXT:    fadd %st(0), %st(1) # sched: [3:1.00]
 ; SKX-NEXT:    fadd %st(2) # sched: [3:1.00]
 ; SKX-NEXT:    fadds (%ecx) # sched: [10:1.00]
 ; SKX-NEXT:    faddl (%eax) # sched: [10:1.00]
@@ -276,7 +276,7 @@ define void @test_fadd(float *%a0, doubl
 ; BDVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; BDVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; BDVER2-NEXT:    #APP
-; BDVER2-NEXT:    fadd %st, %st(1) # sched: [5:1.00]
+; BDVER2-NEXT:    fadd %st(0), %st(1) # sched: [5:1.00]
 ; BDVER2-NEXT:    fadd %st(2) # sched: [5:1.00]
 ; BDVER2-NEXT:    fadds (%ecx) # sched: [10:1.00]
 ; BDVER2-NEXT:    faddl (%eax) # sched: [10:1.00]
@@ -288,7 +288,7 @@ define void @test_fadd(float *%a0, doubl
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [3:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fadd %st, %st(1) # sched: [3:1.00]
+; BTVER2-NEXT:    fadd %st(0), %st(1) # sched: [3:1.00]
 ; BTVER2-NEXT:    fadd %st(2) # sched: [3:1.00]
 ; BTVER2-NEXT:    fadds (%ecx) # sched: [8:1.00]
 ; BTVER2-NEXT:    faddl (%eax) # sched: [8:1.00]
@@ -300,7 +300,7 @@ define void @test_fadd(float *%a0, doubl
 ; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [8:0.50]
 ; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [8:0.50]
 ; ZNVER1-NEXT:    #APP
-; ZNVER1-NEXT:    fadd %st, %st(1) # sched: [3:1.00]
+; ZNVER1-NEXT:    fadd %st(0), %st(1) # sched: [3:1.00]
 ; ZNVER1-NEXT:    fadd %st(2) # sched: [3:1.00]
 ; ZNVER1-NEXT:    fadds (%ecx) # sched: [10:1.00]
 ; ZNVER1-NEXT:    faddl (%eax) # sched: [10:1.00]
@@ -807,154 +807,154 @@ define void @test_fcmov() optsize {
 ; GENERIC-LABEL: test_fcmov:
 ; GENERIC:       # %bb.0:
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    fcmovb %st(1), %st
-; GENERIC-NEXT:    fcmovbe %st(1), %st
-; GENERIC-NEXT:    fcmove %st(1), %st
-; GENERIC-NEXT:    fcmovnb %st(1), %st
-; GENERIC-NEXT:    fcmovnbe %st(1), %st
-; GENERIC-NEXT:    fcmovne %st(1), %st
-; GENERIC-NEXT:    fcmovnu %st(1), %st
-; GENERIC-NEXT:    fcmovu %st(1), %st
+; GENERIC-NEXT:    fcmovb %st(1), %st(0)
+; GENERIC-NEXT:    fcmovbe %st(1), %st(0)
+; GENERIC-NEXT:    fcmove %st(1), %st(0)
+; GENERIC-NEXT:    fcmovnb %st(1), %st(0)
+; GENERIC-NEXT:    fcmovnbe %st(1), %st(0)
+; GENERIC-NEXT:    fcmovne %st(1), %st(0)
+; GENERIC-NEXT:    fcmovnu %st(1), %st(0)
+; GENERIC-NEXT:    fcmovu %st(1), %st(0)
 ; GENERIC-NEXT:    #NO_APP
 ; GENERIC-NEXT:    retl
 ;
 ; ATOM-LABEL: test_fcmov:
 ; ATOM:       # %bb.0:
 ; ATOM-NEXT:    #APP
-; ATOM-NEXT:    fcmovb %st(1), %st # sched: [9:4.50]
-; ATOM-NEXT:    fcmovbe %st(1), %st # sched: [9:4.50]
-; ATOM-NEXT:    fcmove %st(1), %st # sched: [9:4.50]
-; ATOM-NEXT:    fcmovnb %st(1), %st # sched: [9:4.50]
-; ATOM-NEXT:    fcmovnbe %st(1), %st # sched: [9:4.50]
-; ATOM-NEXT:    fcmovne %st(1), %st # sched: [9:4.50]
-; ATOM-NEXT:    fcmovnu %st(1), %st # sched: [9:4.50]
-; ATOM-NEXT:    fcmovu %st(1), %st # sched: [9:4.50]
+; ATOM-NEXT:    fcmovb %st(1), %st(0) # sched: [9:4.50]
+; ATOM-NEXT:    fcmovbe %st(1), %st(0) # sched: [9:4.50]
+; ATOM-NEXT:    fcmove %st(1), %st(0) # sched: [9:4.50]
+; ATOM-NEXT:    fcmovnb %st(1), %st(0) # sched: [9:4.50]
+; ATOM-NEXT:    fcmovnbe %st(1), %st(0) # sched: [9:4.50]
+; ATOM-NEXT:    fcmovne %st(1), %st(0) # sched: [9:4.50]
+; ATOM-NEXT:    fcmovnu %st(1), %st(0) # sched: [9:4.50]
+; ATOM-NEXT:    fcmovu %st(1), %st(0) # sched: [9:4.50]
 ; ATOM-NEXT:    #NO_APP
 ; ATOM-NEXT:    retl # sched: [79:39.50]
 ;
 ; SLM-LABEL: test_fcmov:
 ; SLM:       # %bb.0:
 ; SLM-NEXT:    #APP
-; SLM-NEXT:    fcmovb %st(1), %st # sched: [3:1.00]
-; SLM-NEXT:    fcmovbe %st(1), %st # sched: [3:1.00]
-; SLM-NEXT:    fcmove %st(1), %st # sched: [3:1.00]
-; SLM-NEXT:    fcmovnb %st(1), %st # sched: [3:1.00]
-; SLM-NEXT:    fcmovnbe %st(1), %st # sched: [3:1.00]
-; SLM-NEXT:    fcmovne %st(1), %st # sched: [3:1.00]
-; SLM-NEXT:    fcmovnu %st(1), %st # sched: [3:1.00]
-; SLM-NEXT:    fcmovu %st(1), %st # sched: [3:1.00]
+; SLM-NEXT:    fcmovb %st(1), %st(0) # sched: [3:1.00]
+; SLM-NEXT:    fcmovbe %st(1), %st(0) # sched: [3:1.00]
+; SLM-NEXT:    fcmove %st(1), %st(0) # sched: [3:1.00]
+; SLM-NEXT:    fcmovnb %st(1), %st(0) # sched: [3:1.00]
+; SLM-NEXT:    fcmovnbe %st(1), %st(0) # sched: [3:1.00]
+; SLM-NEXT:    fcmovne %st(1), %st(0) # sched: [3:1.00]
+; SLM-NEXT:    fcmovnu %st(1), %st(0) # sched: [3:1.00]
+; SLM-NEXT:    fcmovu %st(1), %st(0) # sched: [3:1.00]
 ; SLM-NEXT:    #NO_APP
 ; SLM-NEXT:    retl # sched: [4:1.00]
 ;
 ; SANDY-LABEL: test_fcmov:
 ; SANDY:       # %bb.0:
 ; SANDY-NEXT:    #APP
-; SANDY-NEXT:    fcmovb %st(1), %st # sched: [3:2.00]
-; SANDY-NEXT:    fcmovbe %st(1), %st # sched: [3:2.00]
-; SANDY-NEXT:    fcmove %st(1), %st # sched: [3:2.00]
-; SANDY-NEXT:    fcmovnb %st(1), %st # sched: [3:2.00]
-; SANDY-NEXT:    fcmovnbe %st(1), %st # sched: [3:2.00]
-; SANDY-NEXT:    fcmovne %st(1), %st # sched: [3:2.00]
-; SANDY-NEXT:    fcmovnu %st(1), %st # sched: [3:2.00]
-; SANDY-NEXT:    fcmovu %st(1), %st # sched: [3:2.00]
+; SANDY-NEXT:    fcmovb %st(1), %st(0) # sched: [3:2.00]
+; SANDY-NEXT:    fcmovbe %st(1), %st(0) # sched: [3:2.00]
+; SANDY-NEXT:    fcmove %st(1), %st(0) # sched: [3:2.00]
+; SANDY-NEXT:    fcmovnb %st(1), %st(0) # sched: [3:2.00]
+; SANDY-NEXT:    fcmovnbe %st(1), %st(0) # sched: [3:2.00]
+; SANDY-NEXT:    fcmovne %st(1), %st(0) # sched: [3:2.00]
+; SANDY-NEXT:    fcmovnu %st(1), %st(0) # sched: [3:2.00]
+; SANDY-NEXT:    fcmovu %st(1), %st(0) # sched: [3:2.00]
 ; SANDY-NEXT:    #NO_APP
 ; SANDY-NEXT:    retl # sched: [6:1.00]
 ;
 ; HASWELL-LABEL: test_fcmov:
 ; HASWELL:       # %bb.0:
 ; HASWELL-NEXT:    #APP
-; HASWELL-NEXT:    fcmovb %st(1), %st # sched: [3:1.00]
-; HASWELL-NEXT:    fcmovbe %st(1), %st # sched: [3:1.00]
-; HASWELL-NEXT:    fcmove %st(1), %st # sched: [3:1.00]
-; HASWELL-NEXT:    fcmovnb %st(1), %st # sched: [3:1.00]
-; HASWELL-NEXT:    fcmovnbe %st(1), %st # sched: [3:1.00]
-; HASWELL-NEXT:    fcmovne %st(1), %st # sched: [3:1.00]
-; HASWELL-NEXT:    fcmovnu %st(1), %st # sched: [3:1.00]
-; HASWELL-NEXT:    fcmovu %st(1), %st # sched: [3:1.00]
+; HASWELL-NEXT:    fcmovb %st(1), %st(0) # sched: [3:1.00]
+; HASWELL-NEXT:    fcmovbe %st(1), %st(0) # sched: [3:1.00]
+; HASWELL-NEXT:    fcmove %st(1), %st(0) # sched: [3:1.00]
+; HASWELL-NEXT:    fcmovnb %st(1), %st(0) # sched: [3:1.00]
+; HASWELL-NEXT:    fcmovnbe %st(1), %st(0) # sched: [3:1.00]
+; HASWELL-NEXT:    fcmovne %st(1), %st(0) # sched: [3:1.00]
+; HASWELL-NEXT:    fcmovnu %st(1), %st(0) # sched: [3:1.00]
+; HASWELL-NEXT:    fcmovu %st(1), %st(0) # sched: [3:1.00]
 ; HASWELL-NEXT:    #NO_APP
 ; HASWELL-NEXT:    retl # sched: [7:1.00]
 ;
 ; BROADWELL-LABEL: test_fcmov:
 ; BROADWELL:       # %bb.0:
 ; BROADWELL-NEXT:    #APP
-; BROADWELL-NEXT:    fcmovb %st(1), %st # sched: [3:1.00]
-; BROADWELL-NEXT:    fcmovbe %st(1), %st # sched: [3:1.00]
-; BROADWELL-NEXT:    fcmove %st(1), %st # sched: [3:1.00]
-; BROADWELL-NEXT:    fcmovnb %st(1), %st # sched: [3:1.00]
-; BROADWELL-NEXT:    fcmovnbe %st(1), %st # sched: [3:1.00]
-; BROADWELL-NEXT:    fcmovne %st(1), %st # sched: [3:1.00]
-; BROADWELL-NEXT:    fcmovnu %st(1), %st # sched: [3:1.00]
-; BROADWELL-NEXT:    fcmovu %st(1), %st # sched: [3:1.00]
+; BROADWELL-NEXT:    fcmovb %st(1), %st(0) # sched: [3:1.00]
+; BROADWELL-NEXT:    fcmovbe %st(1), %st(0) # sched: [3:1.00]
+; BROADWELL-NEXT:    fcmove %st(1), %st(0) # sched: [3:1.00]
+; BROADWELL-NEXT:    fcmovnb %st(1), %st(0) # sched: [3:1.00]
+; BROADWELL-NEXT:    fcmovnbe %st(1), %st(0) # sched: [3:1.00]
+; BROADWELL-NEXT:    fcmovne %st(1), %st(0) # sched: [3:1.00]
+; BROADWELL-NEXT:    fcmovnu %st(1), %st(0) # sched: [3:1.00]
+; BROADWELL-NEXT:    fcmovu %st(1), %st(0) # sched: [3:1.00]
 ; BROADWELL-NEXT:    #NO_APP
 ; BROADWELL-NEXT:    retl # sched: [6:0.50]
 ;
 ; SKYLAKE-LABEL: test_fcmov:
 ; SKYLAKE:       # %bb.0:
 ; SKYLAKE-NEXT:    #APP
-; SKYLAKE-NEXT:    fcmovb %st(1), %st # sched: [3:1.00]
-; SKYLAKE-NEXT:    fcmovbe %st(1), %st # sched: [3:1.00]
-; SKYLAKE-NEXT:    fcmove %st(1), %st # sched: [3:1.00]
-; SKYLAKE-NEXT:    fcmovnb %st(1), %st # sched: [3:1.00]
-; SKYLAKE-NEXT:    fcmovnbe %st(1), %st # sched: [3:1.00]
-; SKYLAKE-NEXT:    fcmovne %st(1), %st # sched: [3:1.00]
-; SKYLAKE-NEXT:    fcmovnu %st(1), %st # sched: [3:1.00]
-; SKYLAKE-NEXT:    fcmovu %st(1), %st # sched: [3:1.00]
+; SKYLAKE-NEXT:    fcmovb %st(1), %st(0) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fcmovbe %st(1), %st(0) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fcmove %st(1), %st(0) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fcmovnb %st(1), %st(0) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fcmovnbe %st(1), %st(0) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fcmovne %st(1), %st(0) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fcmovnu %st(1), %st(0) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fcmovu %st(1), %st(0) # sched: [3:1.00]
 ; SKYLAKE-NEXT:    #NO_APP
 ; SKYLAKE-NEXT:    retl # sched: [6:0.50]
 ;
 ; SKX-LABEL: test_fcmov:
 ; SKX:       # %bb.0:
 ; SKX-NEXT:    #APP
-; SKX-NEXT:    fcmovb %st(1), %st # sched: [3:1.00]
-; SKX-NEXT:    fcmovbe %st(1), %st # sched: [3:1.00]
-; SKX-NEXT:    fcmove %st(1), %st # sched: [3:1.00]
-; SKX-NEXT:    fcmovnb %st(1), %st # sched: [3:1.00]
-; SKX-NEXT:    fcmovnbe %st(1), %st # sched: [3:1.00]
-; SKX-NEXT:    fcmovne %st(1), %st # sched: [3:1.00]
-; SKX-NEXT:    fcmovnu %st(1), %st # sched: [3:1.00]
-; SKX-NEXT:    fcmovu %st(1), %st # sched: [3:1.00]
+; SKX-NEXT:    fcmovb %st(1), %st(0) # sched: [3:1.00]
+; SKX-NEXT:    fcmovbe %st(1), %st(0) # sched: [3:1.00]
+; SKX-NEXT:    fcmove %st(1), %st(0) # sched: [3:1.00]
+; SKX-NEXT:    fcmovnb %st(1), %st(0) # sched: [3:1.00]
+; SKX-NEXT:    fcmovnbe %st(1), %st(0) # sched: [3:1.00]
+; SKX-NEXT:    fcmovne %st(1), %st(0) # sched: [3:1.00]
+; SKX-NEXT:    fcmovnu %st(1), %st(0) # sched: [3:1.00]
+; SKX-NEXT:    fcmovu %st(1), %st(0) # sched: [3:1.00]
 ; SKX-NEXT:    #NO_APP
 ; SKX-NEXT:    retl # sched: [6:0.50]
 ;
 ; BDVER2-LABEL: test_fcmov:
 ; BDVER2:       # %bb.0:
 ; BDVER2-NEXT:    #APP
-; BDVER2-NEXT:    fcmovb %st(1), %st # sched: [1:1.00]
-; BDVER2-NEXT:    fcmovbe %st(1), %st # sched: [1:1.00]
-; BDVER2-NEXT:    fcmove %st(1), %st # sched: [1:1.00]
-; BDVER2-NEXT:    fcmovnb %st(1), %st # sched: [1:1.00]
-; BDVER2-NEXT:    fcmovnbe %st(1), %st # sched: [1:1.00]
-; BDVER2-NEXT:    fcmovne %st(1), %st # sched: [1:1.00]
-; BDVER2-NEXT:    fcmovnu %st(1), %st # sched: [1:1.00]
-; BDVER2-NEXT:    fcmovu %st(1), %st # sched: [1:1.00]
+; BDVER2-NEXT:    fcmovb %st(1), %st(0) # sched: [1:1.00]
+; BDVER2-NEXT:    fcmovbe %st(1), %st(0) # sched: [1:1.00]
+; BDVER2-NEXT:    fcmove %st(1), %st(0) # sched: [1:1.00]
+; BDVER2-NEXT:    fcmovnb %st(1), %st(0) # sched: [1:1.00]
+; BDVER2-NEXT:    fcmovnbe %st(1), %st(0) # sched: [1:1.00]
+; BDVER2-NEXT:    fcmovne %st(1), %st(0) # sched: [1:1.00]
+; BDVER2-NEXT:    fcmovnu %st(1), %st(0) # sched: [1:1.00]
+; BDVER2-NEXT:    fcmovu %st(1), %st(0) # sched: [1:1.00]
 ; BDVER2-NEXT:    #NO_APP
 ; BDVER2-NEXT:    retl # sched: [5:1.00]
 ;
 ; BTVER2-LABEL: test_fcmov:
 ; BTVER2:       # %bb.0:
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fcmovb %st(1), %st # sched: [3:1.00]
-; BTVER2-NEXT:    fcmovbe %st(1), %st # sched: [3:1.00]
-; BTVER2-NEXT:    fcmove %st(1), %st # sched: [3:1.00]
-; BTVER2-NEXT:    fcmovnb %st(1), %st # sched: [3:1.00]
-; BTVER2-NEXT:    fcmovnbe %st(1), %st # sched: [3:1.00]
-; BTVER2-NEXT:    fcmovne %st(1), %st # sched: [3:1.00]
-; BTVER2-NEXT:    fcmovnu %st(1), %st # sched: [3:1.00]
-; BTVER2-NEXT:    fcmovu %st(1), %st # sched: [3:1.00]
+; BTVER2-NEXT:    fcmovb %st(1), %st(0) # sched: [3:1.00]
+; BTVER2-NEXT:    fcmovbe %st(1), %st(0) # sched: [3:1.00]
+; BTVER2-NEXT:    fcmove %st(1), %st(0) # sched: [3:1.00]
+; BTVER2-NEXT:    fcmovnb %st(1), %st(0) # sched: [3:1.00]
+; BTVER2-NEXT:    fcmovnbe %st(1), %st(0) # sched: [3:1.00]
+; BTVER2-NEXT:    fcmovne %st(1), %st(0) # sched: [3:1.00]
+; BTVER2-NEXT:    fcmovnu %st(1), %st(0) # sched: [3:1.00]
+; BTVER2-NEXT:    fcmovu %st(1), %st(0) # sched: [3:1.00]
 ; BTVER2-NEXT:    #NO_APP
 ; BTVER2-NEXT:    retl # sched: [4:1.00]
 ;
 ; ZNVER1-LABEL: test_fcmov:
 ; ZNVER1:       # %bb.0:
 ; ZNVER1-NEXT:    #APP
-; ZNVER1-NEXT:    fcmovb %st(1), %st # sched: [100:0.25]
-; ZNVER1-NEXT:    fcmovbe %st(1), %st # sched: [100:0.25]
-; ZNVER1-NEXT:    fcmove %st(1), %st # sched: [100:0.25]
-; ZNVER1-NEXT:    fcmovnb %st(1), %st # sched: [100:0.25]
-; ZNVER1-NEXT:    fcmovnbe %st(1), %st # sched: [100:0.25]
-; ZNVER1-NEXT:    fcmovne %st(1), %st # sched: [100:0.25]
-; ZNVER1-NEXT:    fcmovnu %st(1), %st # sched: [100:0.25]
-; ZNVER1-NEXT:    fcmovu %st(1), %st # sched: [100:0.25]
+; ZNVER1-NEXT:    fcmovb %st(1), %st(0) # sched: [100:0.25]
+; ZNVER1-NEXT:    fcmovbe %st(1), %st(0) # sched: [100:0.25]
+; ZNVER1-NEXT:    fcmove %st(1), %st(0) # sched: [100:0.25]
+; ZNVER1-NEXT:    fcmovnb %st(1), %st(0) # sched: [100:0.25]
+; ZNVER1-NEXT:    fcmovnbe %st(1), %st(0) # sched: [100:0.25]
+; ZNVER1-NEXT:    fcmovne %st(1), %st(0) # sched: [100:0.25]
+; ZNVER1-NEXT:    fcmovnu %st(1), %st(0) # sched: [100:0.25]
+; ZNVER1-NEXT:    fcmovu %st(1), %st(0) # sched: [100:0.25]
 ; ZNVER1-NEXT:    #NO_APP
 ; ZNVER1-NEXT:    retl # sched: [1:0.50]
   tail call void asm sideeffect "fcmovb %st(1), %st(0) \0A\09 fcmovbe %st(1), %st(0) \0A\09 fcmove %st(1), %st(0) \0A\09 fcmovnb %st(1), %st(0) \0A\09 fcmovnbe %st(1), %st(0) \0A\09 fcmovne %st(1), %st(0) \0A\09 fcmovnu %st(1), %st(0) \0A\09 fcmovu %st(1), %st(0)", ""() nounwind
@@ -1504,7 +1504,7 @@ define void @test_fdiv(float *%a0, doubl
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    fdiv %st, %st(1)
+; GENERIC-NEXT:    fdiv %st(0), %st(1)
 ; GENERIC-NEXT:    fdiv %st(2)
 ; GENERIC-NEXT:    fdivs (%ecx)
 ; GENERIC-NEXT:    fdivl (%eax)
@@ -1516,7 +1516,7 @@ define void @test_fdiv(float *%a0, doubl
 ; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [1:1.00]
 ; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [1:1.00]
 ; ATOM-NEXT:    #APP
-; ATOM-NEXT:    fdiv %st, %st(1) # sched: [34:17.00]
+; ATOM-NEXT:    fdiv %st(0), %st(1) # sched: [34:17.00]
 ; ATOM-NEXT:    fdiv %st(2) # sched: [34:17.00]
 ; ATOM-NEXT:    fdivs (%ecx) # sched: [34:17.00]
 ; ATOM-NEXT:    fdivl (%eax) # sched: [34:17.00]
@@ -1528,7 +1528,7 @@ define void @test_fdiv(float *%a0, doubl
 ; SLM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [3:1.00]
 ; SLM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
 ; SLM-NEXT:    #APP
-; SLM-NEXT:    fdiv %st, %st(1) # sched: [19:17.00]
+; SLM-NEXT:    fdiv %st(0), %st(1) # sched: [19:17.00]
 ; SLM-NEXT:    fdiv %st(2) # sched: [19:17.00]
 ; SLM-NEXT:    fdivs (%ecx) # sched: [22:17.00]
 ; SLM-NEXT:    fdivl (%eax) # sched: [22:17.00]
@@ -1540,7 +1540,7 @@ define void @test_fdiv(float *%a0, doubl
 ; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SANDY-NEXT:    #APP
-; SANDY-NEXT:    fdiv %st, %st(1) # sched: [14:14.00]
+; SANDY-NEXT:    fdiv %st(0), %st(1) # sched: [14:14.00]
 ; SANDY-NEXT:    fdiv %st(2) # sched: [14:14.00]
 ; SANDY-NEXT:    fdivs (%ecx) # sched: [31:1.00]
 ; SANDY-NEXT:    fdivl (%eax) # sched: [31:1.00]
@@ -1552,7 +1552,7 @@ define void @test_fdiv(float *%a0, doubl
 ; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; HASWELL-NEXT:    #APP
-; HASWELL-NEXT:    fdiv %st, %st(1) # sched: [24:1.00]
+; HASWELL-NEXT:    fdiv %st(0), %st(1) # sched: [24:1.00]
 ; HASWELL-NEXT:    fdiv %st(2) # sched: [20:1.00]
 ; HASWELL-NEXT:    fdivs (%ecx) # sched: [31:1.00]
 ; HASWELL-NEXT:    fdivl (%eax) # sched: [31:1.00]
@@ -1564,7 +1564,7 @@ define void @test_fdiv(float *%a0, doubl
 ; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; BROADWELL-NEXT:    #APP
-; BROADWELL-NEXT:    fdiv %st, %st(1) # sched: [15:1.00]
+; BROADWELL-NEXT:    fdiv %st(0), %st(1) # sched: [15:1.00]
 ; BROADWELL-NEXT:    fdiv %st(2) # sched: [20:1.00]
 ; BROADWELL-NEXT:    fdivs (%ecx) # sched: [21:1.00]
 ; BROADWELL-NEXT:    fdivl (%eax) # sched: [21:1.00]
@@ -1576,7 +1576,7 @@ define void @test_fdiv(float *%a0, doubl
 ; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SKYLAKE-NEXT:    #APP
-; SKYLAKE-NEXT:    fdiv %st, %st(1) # sched: [15:1.00]
+; SKYLAKE-NEXT:    fdiv %st(0), %st(1) # sched: [15:1.00]
 ; SKYLAKE-NEXT:    fdiv %st(2) # sched: [20:1.00]
 ; SKYLAKE-NEXT:    fdivs (%ecx) # sched: [22:1.00]
 ; SKYLAKE-NEXT:    fdivl (%eax) # sched: [22:1.00]
@@ -1588,7 +1588,7 @@ define void @test_fdiv(float *%a0, doubl
 ; SKX-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SKX-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SKX-NEXT:    #APP
-; SKX-NEXT:    fdiv %st, %st(1) # sched: [15:1.00]
+; SKX-NEXT:    fdiv %st(0), %st(1) # sched: [15:1.00]
 ; SKX-NEXT:    fdiv %st(2) # sched: [20:1.00]
 ; SKX-NEXT:    fdivs (%ecx) # sched: [22:1.00]
 ; SKX-NEXT:    fdivl (%eax) # sched: [22:1.00]
@@ -1600,7 +1600,7 @@ define void @test_fdiv(float *%a0, doubl
 ; BDVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; BDVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; BDVER2-NEXT:    #APP
-; BDVER2-NEXT:    fdiv %st, %st(1) # sched: [9:9.50]
+; BDVER2-NEXT:    fdiv %st(0), %st(1) # sched: [9:9.50]
 ; BDVER2-NEXT:    fdiv %st(2) # sched: [9:9.50]
 ; BDVER2-NEXT:    fdivs (%ecx) # sched: [14:9.50]
 ; BDVER2-NEXT:    fdivl (%eax) # sched: [14:9.50]
@@ -1612,7 +1612,7 @@ define void @test_fdiv(float *%a0, doubl
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [3:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fdiv %st, %st(1) # sched: [19:19.00]
+; BTVER2-NEXT:    fdiv %st(0), %st(1) # sched: [19:19.00]
 ; BTVER2-NEXT:    fdiv %st(2) # sched: [19:19.00]
 ; BTVER2-NEXT:    fdivs (%ecx) # sched: [24:19.00]
 ; BTVER2-NEXT:    fdivl (%eax) # sched: [24:19.00]
@@ -1624,7 +1624,7 @@ define void @test_fdiv(float *%a0, doubl
 ; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [8:0.50]
 ; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [8:0.50]
 ; ZNVER1-NEXT:    #APP
-; ZNVER1-NEXT:    fdiv %st, %st(1) # sched: [15:1.00]
+; ZNVER1-NEXT:    fdiv %st(0), %st(1) # sched: [15:1.00]
 ; ZNVER1-NEXT:    fdiv %st(2) # sched: [15:1.00]
 ; ZNVER1-NEXT:    fdivs (%ecx) # sched: [22:1.00]
 ; ZNVER1-NEXT:    fdivl (%eax) # sched: [22:1.00]
@@ -1776,7 +1776,7 @@ define void @test_fdivr(float *%a0, doub
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    fdivr %st, %st(1)
+; GENERIC-NEXT:    fdivr %st(0), %st(1)
 ; GENERIC-NEXT:    fdivr %st(2)
 ; GENERIC-NEXT:    fdivrs (%ecx)
 ; GENERIC-NEXT:    fdivrl (%eax)
@@ -1788,7 +1788,7 @@ define void @test_fdivr(float *%a0, doub
 ; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [1:1.00]
 ; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [1:1.00]
 ; ATOM-NEXT:    #APP
-; ATOM-NEXT:    fdivr %st, %st(1) # sched: [34:17.00]
+; ATOM-NEXT:    fdivr %st(0), %st(1) # sched: [34:17.00]
 ; ATOM-NEXT:    fdivr %st(2) # sched: [34:17.00]
 ; ATOM-NEXT:    fdivrs (%ecx) # sched: [34:17.00]
 ; ATOM-NEXT:    fdivrl (%eax) # sched: [34:17.00]
@@ -1800,7 +1800,7 @@ define void @test_fdivr(float *%a0, doub
 ; SLM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [3:1.00]
 ; SLM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
 ; SLM-NEXT:    #APP
-; SLM-NEXT:    fdivr %st, %st(1) # sched: [19:17.00]
+; SLM-NEXT:    fdivr %st(0), %st(1) # sched: [19:17.00]
 ; SLM-NEXT:    fdivr %st(2) # sched: [19:17.00]
 ; SLM-NEXT:    fdivrs (%ecx) # sched: [22:17.00]
 ; SLM-NEXT:    fdivrl (%eax) # sched: [22:17.00]
@@ -1812,7 +1812,7 @@ define void @test_fdivr(float *%a0, doub
 ; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SANDY-NEXT:    #APP
-; SANDY-NEXT:    fdivr %st, %st(1) # sched: [14:14.00]
+; SANDY-NEXT:    fdivr %st(0), %st(1) # sched: [14:14.00]
 ; SANDY-NEXT:    fdivr %st(2) # sched: [14:14.00]
 ; SANDY-NEXT:    fdivrs (%ecx) # sched: [31:1.00]
 ; SANDY-NEXT:    fdivrl (%eax) # sched: [31:1.00]
@@ -1824,7 +1824,7 @@ define void @test_fdivr(float *%a0, doub
 ; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; HASWELL-NEXT:    #APP
-; HASWELL-NEXT:    fdivr %st, %st(1) # sched: [20:1.00]
+; HASWELL-NEXT:    fdivr %st(0), %st(1) # sched: [20:1.00]
 ; HASWELL-NEXT:    fdivr %st(2) # sched: [24:1.00]
 ; HASWELL-NEXT:    fdivrs (%ecx) # sched: [27:1.00]
 ; HASWELL-NEXT:    fdivrl (%eax) # sched: [27:1.00]
@@ -1836,7 +1836,7 @@ define void @test_fdivr(float *%a0, doub
 ; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; BROADWELL-NEXT:    #APP
-; BROADWELL-NEXT:    fdivr %st, %st(1) # sched: [20:1.00]
+; BROADWELL-NEXT:    fdivr %st(0), %st(1) # sched: [20:1.00]
 ; BROADWELL-NEXT:    fdivr %st(2) # sched: [15:1.00]
 ; BROADWELL-NEXT:    fdivrs (%ecx) # sched: [26:1.00]
 ; BROADWELL-NEXT:    fdivrl (%eax) # sched: [26:1.00]
@@ -1848,7 +1848,7 @@ define void @test_fdivr(float *%a0, doub
 ; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SKYLAKE-NEXT:    #APP
-; SKYLAKE-NEXT:    fdivr %st, %st(1) # sched: [20:1.00]
+; SKYLAKE-NEXT:    fdivr %st(0), %st(1) # sched: [20:1.00]
 ; SKYLAKE-NEXT:    fdivr %st(2) # sched: [15:1.00]
 ; SKYLAKE-NEXT:    fdivrs (%ecx) # sched: [27:1.00]
 ; SKYLAKE-NEXT:    fdivrl (%eax) # sched: [27:1.00]
@@ -1860,7 +1860,7 @@ define void @test_fdivr(float *%a0, doub
 ; SKX-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SKX-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SKX-NEXT:    #APP
-; SKX-NEXT:    fdivr %st, %st(1) # sched: [20:1.00]
+; SKX-NEXT:    fdivr %st(0), %st(1) # sched: [20:1.00]
 ; SKX-NEXT:    fdivr %st(2) # sched: [15:1.00]
 ; SKX-NEXT:    fdivrs (%ecx) # sched: [27:1.00]
 ; SKX-NEXT:    fdivrl (%eax) # sched: [27:1.00]
@@ -1872,7 +1872,7 @@ define void @test_fdivr(float *%a0, doub
 ; BDVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; BDVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; BDVER2-NEXT:    #APP
-; BDVER2-NEXT:    fdivr %st, %st(1) # sched: [9:9.50]
+; BDVER2-NEXT:    fdivr %st(0), %st(1) # sched: [9:9.50]
 ; BDVER2-NEXT:    fdivr %st(2) # sched: [9:9.50]
 ; BDVER2-NEXT:    fdivrs (%ecx) # sched: [14:9.50]
 ; BDVER2-NEXT:    fdivrl (%eax) # sched: [14:9.50]
@@ -1884,7 +1884,7 @@ define void @test_fdivr(float *%a0, doub
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [3:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fdivr %st, %st(1) # sched: [19:19.00]
+; BTVER2-NEXT:    fdivr %st(0), %st(1) # sched: [19:19.00]
 ; BTVER2-NEXT:    fdivr %st(2) # sched: [19:19.00]
 ; BTVER2-NEXT:    fdivrs (%ecx) # sched: [24:19.00]
 ; BTVER2-NEXT:    fdivrl (%eax) # sched: [24:19.00]
@@ -1896,7 +1896,7 @@ define void @test_fdivr(float *%a0, doub
 ; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [8:0.50]
 ; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [8:0.50]
 ; ZNVER1-NEXT:    #APP
-; ZNVER1-NEXT:    fdivr %st, %st(1) # sched: [15:1.00]
+; ZNVER1-NEXT:    fdivr %st(0), %st(1) # sched: [15:1.00]
 ; ZNVER1-NEXT:    fdivr %st(2) # sched: [15:1.00]
 ; ZNVER1-NEXT:    fdivrs (%ecx) # sched: [22:1.00]
 ; ZNVER1-NEXT:    fdivrl (%eax) # sched: [22:1.00]
@@ -2046,77 +2046,77 @@ define void @test_ffree() optsize {
 ; GENERIC-LABEL: test_ffree:
 ; GENERIC:       # %bb.0:
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    ffree %st
+; GENERIC-NEXT:    ffree %st(0)
 ; GENERIC-NEXT:    #NO_APP
 ; GENERIC-NEXT:    retl
 ;
 ; ATOM-LABEL: test_ffree:
 ; ATOM:       # %bb.0:
 ; ATOM-NEXT:    #APP
-; ATOM-NEXT:    ffree %st # sched: [1:0.50]
+; ATOM-NEXT:    ffree %st(0) # sched: [1:0.50]
 ; ATOM-NEXT:    #NO_APP
 ; ATOM-NEXT:    retl # sched: [79:39.50]
 ;
 ; SLM-LABEL: test_ffree:
 ; SLM:       # %bb.0:
 ; SLM-NEXT:    #APP
-; SLM-NEXT:    ffree %st # sched: [100:1.00]
+; SLM-NEXT:    ffree %st(0) # sched: [100:1.00]
 ; SLM-NEXT:    #NO_APP
 ; SLM-NEXT:    retl # sched: [4:1.00]
 ;
 ; SANDY-LABEL: test_ffree:
 ; SANDY:       # %bb.0:
 ; SANDY-NEXT:    #APP
-; SANDY-NEXT:    ffree %st # sched: [1:1.00]
+; SANDY-NEXT:    ffree %st(0) # sched: [1:1.00]
 ; SANDY-NEXT:    #NO_APP
 ; SANDY-NEXT:    retl # sched: [6:1.00]
 ;
 ; HASWELL-LABEL: test_ffree:
 ; HASWELL:       # %bb.0:
 ; HASWELL-NEXT:    #APP
-; HASWELL-NEXT:    ffree %st # sched: [1:0.50]
+; HASWELL-NEXT:    ffree %st(0) # sched: [1:0.50]
 ; HASWELL-NEXT:    #NO_APP
 ; HASWELL-NEXT:    retl # sched: [7:1.00]
 ;
 ; BROADWELL-LABEL: test_ffree:
 ; BROADWELL:       # %bb.0:
 ; BROADWELL-NEXT:    #APP
-; BROADWELL-NEXT:    ffree %st # sched: [100:0.25]
+; BROADWELL-NEXT:    ffree %st(0) # sched: [100:0.25]
 ; BROADWELL-NEXT:    #NO_APP
 ; BROADWELL-NEXT:    retl # sched: [6:0.50]
 ;
 ; SKYLAKE-LABEL: test_ffree:
 ; SKYLAKE:       # %bb.0:
 ; SKYLAKE-NEXT:    #APP
-; SKYLAKE-NEXT:    ffree %st # sched: [100:0.25]
+; SKYLAKE-NEXT:    ffree %st(0) # sched: [100:0.25]
 ; SKYLAKE-NEXT:    #NO_APP
 ; SKYLAKE-NEXT:    retl # sched: [6:0.50]
 ;
 ; SKX-LABEL: test_ffree:
 ; SKX:       # %bb.0:
 ; SKX-NEXT:    #APP
-; SKX-NEXT:    ffree %st # sched: [100:0.25]
+; SKX-NEXT:    ffree %st(0) # sched: [100:0.25]
 ; SKX-NEXT:    #NO_APP
 ; SKX-NEXT:    retl # sched: [6:0.50]
 ;
 ; BDVER2-LABEL: test_ffree:
 ; BDVER2:       # %bb.0:
 ; BDVER2-NEXT:    #APP
-; BDVER2-NEXT:    ffree %st # sched: [100:0.50]
+; BDVER2-NEXT:    ffree %st(0) # sched: [100:0.50]
 ; BDVER2-NEXT:    #NO_APP
 ; BDVER2-NEXT:    retl # sched: [5:1.00]
 ;
 ; BTVER2-LABEL: test_ffree:
 ; BTVER2:       # %bb.0:
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    ffree %st # sched: [100:0.50]
+; BTVER2-NEXT:    ffree %st(0) # sched: [100:0.50]
 ; BTVER2-NEXT:    #NO_APP
 ; BTVER2-NEXT:    retl # sched: [4:1.00]
 ;
 ; ZNVER1-LABEL: test_ffree:
 ; ZNVER1:       # %bb.0:
 ; ZNVER1-NEXT:    #APP
-; ZNVER1-NEXT:    ffree %st # sched: [11:1.00]
+; ZNVER1-NEXT:    ffree %st(0) # sched: [11:1.00]
 ; ZNVER1-NEXT:    #NO_APP
 ; ZNVER1-NEXT:    retl # sched: [1:0.50]
   tail call void asm sideeffect "ffree %st(0)", ""() nounwind
@@ -2847,7 +2847,7 @@ define void @test_fld(i16* %a0, i32* %a1
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %edx
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    fld %st
+; GENERIC-NEXT:    fld %st(0)
 ; GENERIC-NEXT:    flds (%edx)
 ; GENERIC-NEXT:    fldl (%ecx)
 ; GENERIC-NEXT:    fldt (%eax)
@@ -2860,7 +2860,7 @@ define void @test_fld(i16* %a0, i32* %a1
 ; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [1:1.00]
 ; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [1:1.00]
 ; ATOM-NEXT:    #APP
-; ATOM-NEXT:    fld %st # sched: [1:1.00]
+; ATOM-NEXT:    fld %st(0) # sched: [1:1.00]
 ; ATOM-NEXT:    flds (%edx) # sched: [1:1.00]
 ; ATOM-NEXT:    fldl (%ecx) # sched: [1:1.00]
 ; ATOM-NEXT:    fldt (%eax) # sched: [4:2.00]
@@ -2873,7 +2873,7 @@ define void @test_fld(i16* %a0, i32* %a1
 ; SLM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
 ; SLM-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [3:1.00]
 ; SLM-NEXT:    #APP
-; SLM-NEXT:    fld %st # sched: [1:0.50]
+; SLM-NEXT:    fld %st(0) # sched: [1:0.50]
 ; SLM-NEXT:    flds (%edx) # sched: [3:1.00]
 ; SLM-NEXT:    fldl (%ecx) # sched: [3:1.00]
 ; SLM-NEXT:    fldt (%eax) # sched: [3:1.00]
@@ -2886,7 +2886,7 @@ define void @test_fld(i16* %a0, i32* %a1
 ; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
 ; SANDY-NEXT:    #APP
-; SANDY-NEXT:    fld %st # sched: [1:1.00]
+; SANDY-NEXT:    fld %st(0) # sched: [1:1.00]
 ; SANDY-NEXT:    flds (%edx) # sched: [9:1.00]
 ; SANDY-NEXT:    fldl (%ecx) # sched: [9:1.00]
 ; SANDY-NEXT:    fldt (%eax) # sched: [9:1.00]
@@ -2899,7 +2899,7 @@ define void @test_fld(i16* %a0, i32* %a1
 ; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
 ; HASWELL-NEXT:    #APP
-; HASWELL-NEXT:    fld %st # sched: [1:0.50]
+; HASWELL-NEXT:    fld %st(0) # sched: [1:0.50]
 ; HASWELL-NEXT:    flds (%edx) # sched: [7:0.50]
 ; HASWELL-NEXT:    fldl (%ecx) # sched: [7:0.50]
 ; HASWELL-NEXT:    fldt (%eax) # sched: [7:0.50]
@@ -2912,7 +2912,7 @@ define void @test_fld(i16* %a0, i32* %a1
 ; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
 ; BROADWELL-NEXT:    #APP
-; BROADWELL-NEXT:    fld %st # sched: [1:0.25]
+; BROADWELL-NEXT:    fld %st(0) # sched: [1:0.25]
 ; BROADWELL-NEXT:    flds (%edx) # sched: [6:0.50]
 ; BROADWELL-NEXT:    fldl (%ecx) # sched: [6:0.50]
 ; BROADWELL-NEXT:    fldt (%eax) # sched: [6:0.50]
@@ -2925,7 +2925,7 @@ define void @test_fld(i16* %a0, i32* %a1
 ; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
 ; SKYLAKE-NEXT:    #APP
-; SKYLAKE-NEXT:    fld %st # sched: [1:0.25]
+; SKYLAKE-NEXT:    fld %st(0) # sched: [1:0.25]
 ; SKYLAKE-NEXT:    flds (%edx) # sched: [7:0.50]
 ; SKYLAKE-NEXT:    fldl (%ecx) # sched: [7:0.50]
 ; SKYLAKE-NEXT:    fldt (%eax) # sched: [7:0.50]
@@ -2938,7 +2938,7 @@ define void @test_fld(i16* %a0, i32* %a1
 ; SKX-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SKX-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
 ; SKX-NEXT:    #APP
-; SKX-NEXT:    fld %st # sched: [1:0.25]
+; SKX-NEXT:    fld %st(0) # sched: [1:0.25]
 ; SKX-NEXT:    flds (%edx) # sched: [7:0.50]
 ; SKX-NEXT:    fldl (%ecx) # sched: [7:0.50]
 ; SKX-NEXT:    fldt (%eax) # sched: [7:0.50]
@@ -2951,7 +2951,7 @@ define void @test_fld(i16* %a0, i32* %a1
 ; BDVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; BDVER2-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
 ; BDVER2-NEXT:    #APP
-; BDVER2-NEXT:    fld %st # sched: [1:0.50]
+; BDVER2-NEXT:    fld %st(0) # sched: [1:0.50]
 ; BDVER2-NEXT:    flds (%edx) # sched: [5:0.50]
 ; BDVER2-NEXT:    fldl (%ecx) # sched: [5:0.50]
 ; BDVER2-NEXT:    fldt (%eax) # sched: [5:0.50]
@@ -2964,7 +2964,7 @@ define void @test_fld(i16* %a0, i32* %a1
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [3:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fld %st # sched: [1:0.50]
+; BTVER2-NEXT:    fld %st(0) # sched: [1:0.50]
 ; BTVER2-NEXT:    flds (%edx) # sched: [3:1.00]
 ; BTVER2-NEXT:    fldl (%ecx) # sched: [3:1.00]
 ; BTVER2-NEXT:    fldt (%eax) # sched: [3:1.00]
@@ -2977,7 +2977,7 @@ define void @test_fld(i16* %a0, i32* %a1
 ; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [8:0.50]
 ; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [8:0.50]
 ; ZNVER1-NEXT:    #APP
-; ZNVER1-NEXT:    fld %st # sched: [1:0.50]
+; ZNVER1-NEXT:    fld %st(0) # sched: [1:0.50]
 ; ZNVER1-NEXT:    flds (%edx) # sched: [8:0.50]
 ; ZNVER1-NEXT:    fldl (%ecx) # sched: [8:0.50]
 ; ZNVER1-NEXT:    fldt (%eax) # sched: [1:0.50]
@@ -3243,7 +3243,7 @@ define void @test_fmul(float *%a0, doubl
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    fmul %st, %st(1)
+; GENERIC-NEXT:    fmul %st(0), %st(1)
 ; GENERIC-NEXT:    fmul %st(2)
 ; GENERIC-NEXT:    fmuls (%ecx)
 ; GENERIC-NEXT:    fmull (%eax)
@@ -3255,7 +3255,7 @@ define void @test_fmul(float *%a0, doubl
 ; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [1:1.00]
 ; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [1:1.00]
 ; ATOM-NEXT:    #APP
-; ATOM-NEXT:    fmul %st, %st(1) # sched: [4:4.00]
+; ATOM-NEXT:    fmul %st(0), %st(1) # sched: [4:4.00]
 ; ATOM-NEXT:    fmul %st(2) # sched: [4:4.00]
 ; ATOM-NEXT:    fmuls (%ecx) # sched: [4:4.00]
 ; ATOM-NEXT:    fmull (%eax) # sched: [4:4.00]
@@ -3267,7 +3267,7 @@ define void @test_fmul(float *%a0, doubl
 ; SLM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [3:1.00]
 ; SLM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
 ; SLM-NEXT:    #APP
-; SLM-NEXT:    fmul %st, %st(1) # sched: [5:2.00]
+; SLM-NEXT:    fmul %st(0), %st(1) # sched: [5:2.00]
 ; SLM-NEXT:    fmul %st(2) # sched: [5:2.00]
 ; SLM-NEXT:    fmuls (%ecx) # sched: [8:2.00]
 ; SLM-NEXT:    fmull (%eax) # sched: [8:2.00]
@@ -3279,7 +3279,7 @@ define void @test_fmul(float *%a0, doubl
 ; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SANDY-NEXT:    #APP
-; SANDY-NEXT:    fmul %st, %st(1) # sched: [5:1.00]
+; SANDY-NEXT:    fmul %st(0), %st(1) # sched: [5:1.00]
 ; SANDY-NEXT:    fmul %st(2) # sched: [5:1.00]
 ; SANDY-NEXT:    fmuls (%ecx) # sched: [12:1.00]
 ; SANDY-NEXT:    fmull (%eax) # sched: [12:1.00]
@@ -3291,7 +3291,7 @@ define void @test_fmul(float *%a0, doubl
 ; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; HASWELL-NEXT:    #APP
-; HASWELL-NEXT:    fmul %st, %st(1) # sched: [5:1.00]
+; HASWELL-NEXT:    fmul %st(0), %st(1) # sched: [5:1.00]
 ; HASWELL-NEXT:    fmul %st(2) # sched: [5:1.00]
 ; HASWELL-NEXT:    fmuls (%ecx) # sched: [12:1.00]
 ; HASWELL-NEXT:    fmull (%eax) # sched: [12:1.00]
@@ -3303,7 +3303,7 @@ define void @test_fmul(float *%a0, doubl
 ; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; BROADWELL-NEXT:    #APP
-; BROADWELL-NEXT:    fmul %st, %st(1) # sched: [5:1.00]
+; BROADWELL-NEXT:    fmul %st(0), %st(1) # sched: [5:1.00]
 ; BROADWELL-NEXT:    fmul %st(2) # sched: [5:1.00]
 ; BROADWELL-NEXT:    fmuls (%ecx) # sched: [11:1.00]
 ; BROADWELL-NEXT:    fmull (%eax) # sched: [11:1.00]
@@ -3315,7 +3315,7 @@ define void @test_fmul(float *%a0, doubl
 ; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SKYLAKE-NEXT:    #APP
-; SKYLAKE-NEXT:    fmul %st, %st(1) # sched: [4:1.00]
+; SKYLAKE-NEXT:    fmul %st(0), %st(1) # sched: [4:1.00]
 ; SKYLAKE-NEXT:    fmul %st(2) # sched: [4:1.00]
 ; SKYLAKE-NEXT:    fmuls (%ecx) # sched: [11:1.00]
 ; SKYLAKE-NEXT:    fmull (%eax) # sched: [11:1.00]
@@ -3327,7 +3327,7 @@ define void @test_fmul(float *%a0, doubl
 ; SKX-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SKX-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SKX-NEXT:    #APP
-; SKX-NEXT:    fmul %st, %st(1) # sched: [4:1.00]
+; SKX-NEXT:    fmul %st(0), %st(1) # sched: [4:1.00]
 ; SKX-NEXT:    fmul %st(2) # sched: [4:1.00]
 ; SKX-NEXT:    fmuls (%ecx) # sched: [11:1.00]
 ; SKX-NEXT:    fmull (%eax) # sched: [11:1.00]
@@ -3339,7 +3339,7 @@ define void @test_fmul(float *%a0, doubl
 ; BDVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; BDVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; BDVER2-NEXT:    #APP
-; BDVER2-NEXT:    fmul %st, %st(1) # sched: [5:1.00]
+; BDVER2-NEXT:    fmul %st(0), %st(1) # sched: [5:1.00]
 ; BDVER2-NEXT:    fmul %st(2) # sched: [5:1.00]
 ; BDVER2-NEXT:    fmuls (%ecx) # sched: [10:1.00]
 ; BDVER2-NEXT:    fmull (%eax) # sched: [10:1.00]
@@ -3351,7 +3351,7 @@ define void @test_fmul(float *%a0, doubl
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [3:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fmul %st, %st(1) # sched: [2:1.00]
+; BTVER2-NEXT:    fmul %st(0), %st(1) # sched: [2:1.00]
 ; BTVER2-NEXT:    fmul %st(2) # sched: [2:1.00]
 ; BTVER2-NEXT:    fmuls (%ecx) # sched: [7:1.00]
 ; BTVER2-NEXT:    fmull (%eax) # sched: [7:1.00]
@@ -3363,7 +3363,7 @@ define void @test_fmul(float *%a0, doubl
 ; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [8:0.50]
 ; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [8:0.50]
 ; ZNVER1-NEXT:    #APP
-; ZNVER1-NEXT:    fmul %st, %st(1) # sched: [3:0.50]
+; ZNVER1-NEXT:    fmul %st(0), %st(1) # sched: [3:0.50]
 ; ZNVER1-NEXT:    fmul %st(2) # sched: [3:0.50]
 ; ZNVER1-NEXT:    fmuls (%ecx) # sched: [10:0.50]
 ; ZNVER1-NEXT:    fmull (%eax) # sched: [10:0.50]
@@ -4543,10 +4543,10 @@ define void @test_fst_fstp(i16* %a0, i32
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %edx
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    fst %st
+; GENERIC-NEXT:    fst %st(0)
 ; GENERIC-NEXT:    fsts (%edx)
 ; GENERIC-NEXT:    fstl (%ecx)
-; GENERIC-NEXT:    fstp %st
+; GENERIC-NEXT:    fstp %st(0)
 ; GENERIC-NEXT:    fstpl (%edx)
 ; GENERIC-NEXT:    fstpl (%ecx)
 ; GENERIC-NEXT:    fstpt (%eax)
@@ -4559,10 +4559,10 @@ define void @test_fst_fstp(i16* %a0, i32
 ; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [1:1.00]
 ; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [1:1.00]
 ; ATOM-NEXT:    #APP
-; ATOM-NEXT:    fst %st # sched: [2:1.00]
+; ATOM-NEXT:    fst %st(0) # sched: [2:1.00]
 ; ATOM-NEXT:    fsts (%edx) # sched: [2:1.00]
 ; ATOM-NEXT:    fstl (%ecx) # sched: [2:1.00]
-; ATOM-NEXT:    fstp %st # sched: [2:1.00]
+; ATOM-NEXT:    fstp %st(0) # sched: [2:1.00]
 ; ATOM-NEXT:    fstpl (%edx) # sched: [2:1.00]
 ; ATOM-NEXT:    fstpl (%ecx) # sched: [2:1.00]
 ; ATOM-NEXT:    fstpt (%eax) # sched: [5:2.50]
@@ -4575,10 +4575,10 @@ define void @test_fst_fstp(i16* %a0, i32
 ; SLM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
 ; SLM-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [3:1.00]
 ; SLM-NEXT:    #APP
-; SLM-NEXT:    fst %st # sched: [1:0.50]
+; SLM-NEXT:    fst %st(0) # sched: [1:0.50]
 ; SLM-NEXT:    fsts (%edx) # sched: [1:1.00]
 ; SLM-NEXT:    fstl (%ecx) # sched: [1:1.00]
-; SLM-NEXT:    fstp %st # sched: [1:0.50]
+; SLM-NEXT:    fstp %st(0) # sched: [1:0.50]
 ; SLM-NEXT:    fstpl (%edx) # sched: [1:1.00]
 ; SLM-NEXT:    fstpl (%ecx) # sched: [1:1.00]
 ; SLM-NEXT:    fstpt (%eax) # sched: [1:1.00]
@@ -4591,10 +4591,10 @@ define void @test_fst_fstp(i16* %a0, i32
 ; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
 ; SANDY-NEXT:    #APP
-; SANDY-NEXT:    fst %st # sched: [1:1.00]
+; SANDY-NEXT:    fst %st(0) # sched: [1:1.00]
 ; SANDY-NEXT:    fsts (%edx) # sched: [6:1.00]
 ; SANDY-NEXT:    fstl (%ecx) # sched: [6:1.00]
-; SANDY-NEXT:    fstp %st # sched: [1:1.00]
+; SANDY-NEXT:    fstp %st(0) # sched: [1:1.00]
 ; SANDY-NEXT:    fstpl (%edx) # sched: [6:1.00]
 ; SANDY-NEXT:    fstpl (%ecx) # sched: [6:1.00]
 ; SANDY-NEXT:    fstpt (%eax) # sched: [6:1.00]
@@ -4607,10 +4607,10 @@ define void @test_fst_fstp(i16* %a0, i32
 ; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
 ; HASWELL-NEXT:    #APP
-; HASWELL-NEXT:    fst %st # sched: [1:0.50]
+; HASWELL-NEXT:    fst %st(0) # sched: [1:0.50]
 ; HASWELL-NEXT:    fsts (%edx) # sched: [1:1.00]
 ; HASWELL-NEXT:    fstl (%ecx) # sched: [1:1.00]
-; HASWELL-NEXT:    fstp %st # sched: [1:0.50]
+; HASWELL-NEXT:    fstp %st(0) # sched: [1:0.50]
 ; HASWELL-NEXT:    fstpl (%edx) # sched: [1:1.00]
 ; HASWELL-NEXT:    fstpl (%ecx) # sched: [1:1.00]
 ; HASWELL-NEXT:    fstpt (%eax) # sched: [1:1.00]
@@ -4623,10 +4623,10 @@ define void @test_fst_fstp(i16* %a0, i32
 ; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
 ; BROADWELL-NEXT:    #APP
-; BROADWELL-NEXT:    fst %st # sched: [1:0.25]
+; BROADWELL-NEXT:    fst %st(0) # sched: [1:0.25]
 ; BROADWELL-NEXT:    fsts (%edx) # sched: [1:1.00]
 ; BROADWELL-NEXT:    fstl (%ecx) # sched: [1:1.00]
-; BROADWELL-NEXT:    fstp %st # sched: [1:0.25]
+; BROADWELL-NEXT:    fstp %st(0) # sched: [1:0.25]
 ; BROADWELL-NEXT:    fstpl (%edx) # sched: [1:1.00]
 ; BROADWELL-NEXT:    fstpl (%ecx) # sched: [1:1.00]
 ; BROADWELL-NEXT:    fstpt (%eax) # sched: [1:1.00]
@@ -4639,10 +4639,10 @@ define void @test_fst_fstp(i16* %a0, i32
 ; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
 ; SKYLAKE-NEXT:    #APP
-; SKYLAKE-NEXT:    fst %st # sched: [1:0.25]
+; SKYLAKE-NEXT:    fst %st(0) # sched: [1:0.25]
 ; SKYLAKE-NEXT:    fsts (%edx) # sched: [1:1.00]
 ; SKYLAKE-NEXT:    fstl (%ecx) # sched: [1:1.00]
-; SKYLAKE-NEXT:    fstp %st # sched: [1:0.25]
+; SKYLAKE-NEXT:    fstp %st(0) # sched: [1:0.25]
 ; SKYLAKE-NEXT:    fstpl (%edx) # sched: [1:1.00]
 ; SKYLAKE-NEXT:    fstpl (%ecx) # sched: [1:1.00]
 ; SKYLAKE-NEXT:    fstpt (%eax) # sched: [1:1.00]
@@ -4655,10 +4655,10 @@ define void @test_fst_fstp(i16* %a0, i32
 ; SKX-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SKX-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
 ; SKX-NEXT:    #APP
-; SKX-NEXT:    fst %st # sched: [1:0.25]
+; SKX-NEXT:    fst %st(0) # sched: [1:0.25]
 ; SKX-NEXT:    fsts (%edx) # sched: [1:1.00]
 ; SKX-NEXT:    fstl (%ecx) # sched: [1:1.00]
-; SKX-NEXT:    fstp %st # sched: [1:0.25]
+; SKX-NEXT:    fstp %st(0) # sched: [1:0.25]
 ; SKX-NEXT:    fstpl (%edx) # sched: [1:1.00]
 ; SKX-NEXT:    fstpl (%ecx) # sched: [1:1.00]
 ; SKX-NEXT:    fstpt (%eax) # sched: [1:1.00]
@@ -4671,10 +4671,10 @@ define void @test_fst_fstp(i16* %a0, i32
 ; BDVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; BDVER2-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [5:0.50]
 ; BDVER2-NEXT:    #APP
-; BDVER2-NEXT:    fst %st # sched: [1:0.50]
+; BDVER2-NEXT:    fst %st(0) # sched: [1:0.50]
 ; BDVER2-NEXT:    fsts (%edx) # sched: [1:1.00]
 ; BDVER2-NEXT:    fstl (%ecx) # sched: [1:1.00]
-; BDVER2-NEXT:    fstp %st # sched: [1:0.50]
+; BDVER2-NEXT:    fstp %st(0) # sched: [1:0.50]
 ; BDVER2-NEXT:    fstpl (%edx) # sched: [1:1.00]
 ; BDVER2-NEXT:    fstpl (%ecx) # sched: [1:1.00]
 ; BDVER2-NEXT:    fstpt (%eax) # sched: [1:1.00]
@@ -4687,10 +4687,10 @@ define void @test_fst_fstp(i16* %a0, i32
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [3:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fst %st # sched: [1:0.50]
+; BTVER2-NEXT:    fst %st(0) # sched: [1:0.50]
 ; BTVER2-NEXT:    fsts (%edx) # sched: [1:1.00]
 ; BTVER2-NEXT:    fstl (%ecx) # sched: [1:1.00]
-; BTVER2-NEXT:    fstp %st # sched: [1:0.50]
+; BTVER2-NEXT:    fstp %st(0) # sched: [1:0.50]
 ; BTVER2-NEXT:    fstpl (%edx) # sched: [1:1.00]
 ; BTVER2-NEXT:    fstpl (%ecx) # sched: [1:1.00]
 ; BTVER2-NEXT:    fstpt (%eax) # sched: [1:1.00]
@@ -4703,10 +4703,10 @@ define void @test_fst_fstp(i16* %a0, i32
 ; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [8:0.50]
 ; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %edx # sched: [8:0.50]
 ; ZNVER1-NEXT:    #APP
-; ZNVER1-NEXT:    fst %st # sched: [5:0.50]
+; ZNVER1-NEXT:    fst %st(0) # sched: [5:0.50]
 ; ZNVER1-NEXT:    fsts (%edx) # sched: [1:0.50]
 ; ZNVER1-NEXT:    fstl (%ecx) # sched: [1:0.50]
-; ZNVER1-NEXT:    fstp %st # sched: [5:0.50]
+; ZNVER1-NEXT:    fstp %st(0) # sched: [5:0.50]
 ; ZNVER1-NEXT:    fstpl (%edx) # sched: [1:0.50]
 ; ZNVER1-NEXT:    fstpl (%ecx) # sched: [1:0.50]
 ; ZNVER1-NEXT:    fstpt (%eax) # sched: [5:0.50]
@@ -4983,7 +4983,7 @@ define void @test_fsub(float *%a0, doubl
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    fsub %st, %st(1)
+; GENERIC-NEXT:    fsub %st(0), %st(1)
 ; GENERIC-NEXT:    fsub %st(2)
 ; GENERIC-NEXT:    fsubs (%ecx)
 ; GENERIC-NEXT:    fsubl (%eax)
@@ -4995,7 +4995,7 @@ define void @test_fsub(float *%a0, doubl
 ; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [1:1.00]
 ; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [1:1.00]
 ; ATOM-NEXT:    #APP
-; ATOM-NEXT:    fsub %st, %st(1) # sched: [5:5.00]
+; ATOM-NEXT:    fsub %st(0), %st(1) # sched: [5:5.00]
 ; ATOM-NEXT:    fsub %st(2) # sched: [5:5.00]
 ; ATOM-NEXT:    fsubs (%ecx) # sched: [5:5.00]
 ; ATOM-NEXT:    fsubl (%eax) # sched: [5:5.00]
@@ -5007,7 +5007,7 @@ define void @test_fsub(float *%a0, doubl
 ; SLM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [3:1.00]
 ; SLM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
 ; SLM-NEXT:    #APP
-; SLM-NEXT:    fsub %st, %st(1) # sched: [3:1.00]
+; SLM-NEXT:    fsub %st(0), %st(1) # sched: [3:1.00]
 ; SLM-NEXT:    fsub %st(2) # sched: [3:1.00]
 ; SLM-NEXT:    fsubs (%ecx) # sched: [6:1.00]
 ; SLM-NEXT:    fsubl (%eax) # sched: [6:1.00]
@@ -5019,7 +5019,7 @@ define void @test_fsub(float *%a0, doubl
 ; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SANDY-NEXT:    #APP
-; SANDY-NEXT:    fsub %st, %st(1) # sched: [3:1.00]
+; SANDY-NEXT:    fsub %st(0), %st(1) # sched: [3:1.00]
 ; SANDY-NEXT:    fsub %st(2) # sched: [3:1.00]
 ; SANDY-NEXT:    fsubs (%ecx) # sched: [10:1.00]
 ; SANDY-NEXT:    fsubl (%eax) # sched: [10:1.00]
@@ -5031,7 +5031,7 @@ define void @test_fsub(float *%a0, doubl
 ; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; HASWELL-NEXT:    #APP
-; HASWELL-NEXT:    fsub %st, %st(1) # sched: [3:1.00]
+; HASWELL-NEXT:    fsub %st(0), %st(1) # sched: [3:1.00]
 ; HASWELL-NEXT:    fsub %st(2) # sched: [3:1.00]
 ; HASWELL-NEXT:    fsubs (%ecx) # sched: [10:1.00]
 ; HASWELL-NEXT:    fsubl (%eax) # sched: [10:1.00]
@@ -5043,7 +5043,7 @@ define void @test_fsub(float *%a0, doubl
 ; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; BROADWELL-NEXT:    #APP
-; BROADWELL-NEXT:    fsub %st, %st(1) # sched: [3:1.00]
+; BROADWELL-NEXT:    fsub %st(0), %st(1) # sched: [3:1.00]
 ; BROADWELL-NEXT:    fsub %st(2) # sched: [3:1.00]
 ; BROADWELL-NEXT:    fsubs (%ecx) # sched: [9:1.00]
 ; BROADWELL-NEXT:    fsubl (%eax) # sched: [9:1.00]
@@ -5055,7 +5055,7 @@ define void @test_fsub(float *%a0, doubl
 ; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SKYLAKE-NEXT:    #APP
-; SKYLAKE-NEXT:    fsub %st, %st(1) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fsub %st(0), %st(1) # sched: [3:1.00]
 ; SKYLAKE-NEXT:    fsub %st(2) # sched: [3:1.00]
 ; SKYLAKE-NEXT:    fsubs (%ecx) # sched: [10:1.00]
 ; SKYLAKE-NEXT:    fsubl (%eax) # sched: [10:1.00]
@@ -5067,7 +5067,7 @@ define void @test_fsub(float *%a0, doubl
 ; SKX-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SKX-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SKX-NEXT:    #APP
-; SKX-NEXT:    fsub %st, %st(1) # sched: [3:1.00]
+; SKX-NEXT:    fsub %st(0), %st(1) # sched: [3:1.00]
 ; SKX-NEXT:    fsub %st(2) # sched: [3:1.00]
 ; SKX-NEXT:    fsubs (%ecx) # sched: [10:1.00]
 ; SKX-NEXT:    fsubl (%eax) # sched: [10:1.00]
@@ -5079,7 +5079,7 @@ define void @test_fsub(float *%a0, doubl
 ; BDVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; BDVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; BDVER2-NEXT:    #APP
-; BDVER2-NEXT:    fsub %st, %st(1) # sched: [5:1.00]
+; BDVER2-NEXT:    fsub %st(0), %st(1) # sched: [5:1.00]
 ; BDVER2-NEXT:    fsub %st(2) # sched: [5:1.00]
 ; BDVER2-NEXT:    fsubs (%ecx) # sched: [10:1.00]
 ; BDVER2-NEXT:    fsubl (%eax) # sched: [10:1.00]
@@ -5091,7 +5091,7 @@ define void @test_fsub(float *%a0, doubl
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [3:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fsub %st, %st(1) # sched: [3:1.00]
+; BTVER2-NEXT:    fsub %st(0), %st(1) # sched: [3:1.00]
 ; BTVER2-NEXT:    fsub %st(2) # sched: [3:1.00]
 ; BTVER2-NEXT:    fsubs (%ecx) # sched: [8:1.00]
 ; BTVER2-NEXT:    fsubl (%eax) # sched: [8:1.00]
@@ -5103,7 +5103,7 @@ define void @test_fsub(float *%a0, doubl
 ; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [8:0.50]
 ; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [8:0.50]
 ; ZNVER1-NEXT:    #APP
-; ZNVER1-NEXT:    fsub %st, %st(1) # sched: [3:1.00]
+; ZNVER1-NEXT:    fsub %st(0), %st(1) # sched: [3:1.00]
 ; ZNVER1-NEXT:    fsub %st(2) # sched: [3:1.00]
 ; ZNVER1-NEXT:    fsubs (%ecx) # sched: [10:1.00]
 ; ZNVER1-NEXT:    fsubl (%eax) # sched: [10:1.00]
@@ -5255,7 +5255,7 @@ define void @test_fsubr(float *%a0, doub
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    fsubr %st, %st(1)
+; GENERIC-NEXT:    fsubr %st(0), %st(1)
 ; GENERIC-NEXT:    fsubr %st(2)
 ; GENERIC-NEXT:    fsubrs (%ecx)
 ; GENERIC-NEXT:    fsubrl (%eax)
@@ -5267,7 +5267,7 @@ define void @test_fsubr(float *%a0, doub
 ; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [1:1.00]
 ; ATOM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [1:1.00]
 ; ATOM-NEXT:    #APP
-; ATOM-NEXT:    fsubr %st, %st(1) # sched: [5:5.00]
+; ATOM-NEXT:    fsubr %st(0), %st(1) # sched: [5:5.00]
 ; ATOM-NEXT:    fsubr %st(2) # sched: [5:5.00]
 ; ATOM-NEXT:    fsubrs (%ecx) # sched: [5:5.00]
 ; ATOM-NEXT:    fsubrl (%eax) # sched: [5:5.00]
@@ -5279,7 +5279,7 @@ define void @test_fsubr(float *%a0, doub
 ; SLM-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [3:1.00]
 ; SLM-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
 ; SLM-NEXT:    #APP
-; SLM-NEXT:    fsubr %st, %st(1) # sched: [3:1.00]
+; SLM-NEXT:    fsubr %st(0), %st(1) # sched: [3:1.00]
 ; SLM-NEXT:    fsubr %st(2) # sched: [3:1.00]
 ; SLM-NEXT:    fsubrs (%ecx) # sched: [6:1.00]
 ; SLM-NEXT:    fsubrl (%eax) # sched: [6:1.00]
@@ -5291,7 +5291,7 @@ define void @test_fsubr(float *%a0, doub
 ; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SANDY-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SANDY-NEXT:    #APP
-; SANDY-NEXT:    fsubr %st, %st(1) # sched: [3:1.00]
+; SANDY-NEXT:    fsubr %st(0), %st(1) # sched: [3:1.00]
 ; SANDY-NEXT:    fsubr %st(2) # sched: [3:1.00]
 ; SANDY-NEXT:    fsubrs (%ecx) # sched: [10:1.00]
 ; SANDY-NEXT:    fsubrl (%eax) # sched: [10:1.00]
@@ -5303,7 +5303,7 @@ define void @test_fsubr(float *%a0, doub
 ; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; HASWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; HASWELL-NEXT:    #APP
-; HASWELL-NEXT:    fsubr %st, %st(1) # sched: [3:1.00]
+; HASWELL-NEXT:    fsubr %st(0), %st(1) # sched: [3:1.00]
 ; HASWELL-NEXT:    fsubr %st(2) # sched: [3:1.00]
 ; HASWELL-NEXT:    fsubrs (%ecx) # sched: [10:1.00]
 ; HASWELL-NEXT:    fsubrl (%eax) # sched: [10:1.00]
@@ -5315,7 +5315,7 @@ define void @test_fsubr(float *%a0, doub
 ; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; BROADWELL-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; BROADWELL-NEXT:    #APP
-; BROADWELL-NEXT:    fsubr %st, %st(1) # sched: [3:1.00]
+; BROADWELL-NEXT:    fsubr %st(0), %st(1) # sched: [3:1.00]
 ; BROADWELL-NEXT:    fsubr %st(2) # sched: [3:1.00]
 ; BROADWELL-NEXT:    fsubrs (%ecx) # sched: [9:1.00]
 ; BROADWELL-NEXT:    fsubrl (%eax) # sched: [9:1.00]
@@ -5327,7 +5327,7 @@ define void @test_fsubr(float *%a0, doub
 ; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SKYLAKE-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SKYLAKE-NEXT:    #APP
-; SKYLAKE-NEXT:    fsubr %st, %st(1) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fsubr %st(0), %st(1) # sched: [3:1.00]
 ; SKYLAKE-NEXT:    fsubr %st(2) # sched: [3:1.00]
 ; SKYLAKE-NEXT:    fsubrs (%ecx) # sched: [10:1.00]
 ; SKYLAKE-NEXT:    fsubrl (%eax) # sched: [10:1.00]
@@ -5339,7 +5339,7 @@ define void @test_fsubr(float *%a0, doub
 ; SKX-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; SKX-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; SKX-NEXT:    #APP
-; SKX-NEXT:    fsubr %st, %st(1) # sched: [3:1.00]
+; SKX-NEXT:    fsubr %st(0), %st(1) # sched: [3:1.00]
 ; SKX-NEXT:    fsubr %st(2) # sched: [3:1.00]
 ; SKX-NEXT:    fsubrs (%ecx) # sched: [10:1.00]
 ; SKX-NEXT:    fsubrl (%eax) # sched: [10:1.00]
@@ -5351,7 +5351,7 @@ define void @test_fsubr(float *%a0, doub
 ; BDVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:0.50]
 ; BDVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:0.50]
 ; BDVER2-NEXT:    #APP
-; BDVER2-NEXT:    fsubr %st, %st(1) # sched: [5:1.00]
+; BDVER2-NEXT:    fsubr %st(0), %st(1) # sched: [5:1.00]
 ; BDVER2-NEXT:    fsubr %st(2) # sched: [5:1.00]
 ; BDVER2-NEXT:    fsubrs (%ecx) # sched: [10:1.00]
 ; BDVER2-NEXT:    fsubrl (%eax) # sched: [10:1.00]
@@ -5363,7 +5363,7 @@ define void @test_fsubr(float *%a0, doub
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [3:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [3:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fsubr %st, %st(1) # sched: [3:1.00]
+; BTVER2-NEXT:    fsubr %st(0), %st(1) # sched: [3:1.00]
 ; BTVER2-NEXT:    fsubr %st(2) # sched: [3:1.00]
 ; BTVER2-NEXT:    fsubrs (%ecx) # sched: [8:1.00]
 ; BTVER2-NEXT:    fsubrl (%eax) # sched: [8:1.00]
@@ -5375,7 +5375,7 @@ define void @test_fsubr(float *%a0, doub
 ; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [8:0.50]
 ; ZNVER1-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [8:0.50]
 ; ZNVER1-NEXT:    #APP
-; ZNVER1-NEXT:    fsubr %st, %st(1) # sched: [3:1.00]
+; ZNVER1-NEXT:    fsubr %st(0), %st(1) # sched: [3:1.00]
 ; ZNVER1-NEXT:    fsubr %st(2) # sched: [3:1.00]
 ; ZNVER1-NEXT:    fsubrs (%ecx) # sched: [10:1.00]
 ; ZNVER1-NEXT:    fsubrl (%eax) # sched: [10:1.00]

Modified: llvm/trunk/test/MC/Disassembler/X86/fp-stack.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Disassembler/X86/fp-stack.txt?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/MC/Disassembler/X86/fp-stack.txt (original)
+++ llvm/trunk/test/MC/Disassembler/X86/fp-stack.txt Sun Feb  3 20:15:02 2019
@@ -1,7 +1,7 @@
 # RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s
 # RUN: llvm-mc --disassemble %s -triple=i686-apple-darwin9 | FileCheck %s
 
-# CHECK: fadd %st
+# CHECK: fadd %st(0)
 0xd8,0xc0
 
 # CHECK: fadd %st(1)
@@ -25,7 +25,7 @@
 # CHECK: fadd %st(7)
 0xd8,0xc7
 
-# CHECK: fmul %st
+# CHECK: fmul %st(0)
 0xd8,0xc8
 
 # CHECK: fmul %st(1)
@@ -49,7 +49,7 @@
 # CHECK: fmul %st(7)
 0xd8,0xcf
 
-# CHECK: fcom %st
+# CHECK: fcom %st(0)
 0xd8,0xd0
 
 # CHECK: fcom %st(1)
@@ -73,7 +73,7 @@
 # CHECK: fcom %st(7)
 0xd8,0xd7
 
-# CHECK: fcomp %st
+# CHECK: fcomp %st(0)
 0xd8,0xd8
 
 # CHECK: fcomp %st(1)
@@ -97,7 +97,7 @@
 # CHECK: fcomp %st(7)
 0xd8,0xdf
 
-# CHECK: fsub %st
+# CHECK: fsub %st(0)
 0xd8,0xe0
 
 # CHECK: fsub %st(1)
@@ -121,7 +121,7 @@
 # CHECK: fsub %st(7)
 0xd8,0xe7
 
-# CHECK: fsubr %st
+# CHECK: fsubr %st(0)
 0xd8,0xe8
 
 # CHECK: fsubr %st(1)
@@ -145,7 +145,7 @@
 # CHECK: fsubr %st(7)
 0xd8,0xef
 
-# CHECK: fdiv %st
+# CHECK: fdiv %st(0)
 0xd8,0xf0
 
 # CHECK: fdiv %st(1)
@@ -169,7 +169,7 @@
 # CHECK: fdiv %st(7)
 0xd8,0xf7
 
-# CHECK: fdivr %st
+# CHECK: fdivr %st(0)
 0xd8,0xf8
 
 # CHECK: fdivr %st(1)
@@ -193,7 +193,7 @@
 # CHECK: fdivr %st(7)
 0xd8,0xff
 
-# CHECK: fld %st
+# CHECK: fld %st(0)
 0xd9,0xc0
 
 # CHECK: fld %st(1)
@@ -217,7 +217,7 @@
 # CHECK: fld %st(7)
 0xd9,0xc7
 
-# CHECK: fxch %st
+# CHECK: fxch %st(0)
 0xd9,0xc8
 
 # CHECK: fxch %st(1)
@@ -325,199 +325,199 @@
 # CHECK: fcos
 0xd9,0xff
 
-# CHECK: fcmovb %st, %st
+# CHECK: fcmovb %st(0), %st(0)
 0xda,0xc0
 
-# CHECK: fcmovb %st(1), %st
+# CHECK: fcmovb %st(1), %st(0)
 0xda,0xc1
 
-# CHECK: fcmovb %st(2), %st
+# CHECK: fcmovb %st(2), %st(0)
 0xda,0xc2
 
-# CHECK: fcmovb %st(3), %st
+# CHECK: fcmovb %st(3), %st(0)
 0xda,0xc3
 
-# CHECK: fcmovb %st(4), %st
+# CHECK: fcmovb %st(4), %st(0)
 0xda,0xc4
 
-# CHECK: fcmovb %st(5), %st
+# CHECK: fcmovb %st(5), %st(0)
 0xda,0xc5
 
-# CHECK: fcmovb %st(6), %st
+# CHECK: fcmovb %st(6), %st(0)
 0xda,0xc6
 
-# CHECK: fcmovb %st(7), %st
+# CHECK: fcmovb %st(7), %st(0)
 0xda,0xc7
 
-# CHECK: fcmove %st, %st
+# CHECK: fcmove %st(0), %st(0)
 0xda,0xc8
 
-# CHECK: fcmove %st(1), %st
+# CHECK: fcmove %st(1), %st(0)
 0xda,0xc9
 
-# CHECK: fcmove %st(2), %st
+# CHECK: fcmove %st(2), %st(0)
 0xda,0xca
 
-# CHECK: fcmove %st(3), %st
+# CHECK: fcmove %st(3), %st(0)
 0xda,0xcb
 
-# CHECK: fcmove %st(4), %st
+# CHECK: fcmove %st(4), %st(0)
 0xda,0xcc
 
-# CHECK: fcmove %st(5), %st
+# CHECK: fcmove %st(5), %st(0)
 0xda,0xcd
 
-# CHECK: fcmove %st(6), %st
+# CHECK: fcmove %st(6), %st(0)
 0xda,0xce
 
-# CHECK: fcmove %st(7), %st
+# CHECK: fcmove %st(7), %st(0)
 0xda,0xcf
 
-# CHECK: fcmovbe %st, %st
+# CHECK: fcmovbe %st(0), %st(0)
 0xda,0xd0
 
-# CHECK: fcmovbe %st(1), %st
+# CHECK: fcmovbe %st(1), %st(0)
 0xda,0xd1
 
-# CHECK: fcmovbe %st(2), %st
+# CHECK: fcmovbe %st(2), %st(0)
 0xda,0xd2
 
-# CHECK: fcmovbe %st(3), %st
+# CHECK: fcmovbe %st(3), %st(0)
 0xda,0xd3
 
-# CHECK: fcmovbe %st(4), %st
+# CHECK: fcmovbe %st(4), %st(0)
 0xda,0xd4
 
-# CHECK: fcmovbe %st(5), %st
+# CHECK: fcmovbe %st(5), %st(0)
 0xda,0xd5
 
-# CHECK: fcmovbe %st(6), %st
+# CHECK: fcmovbe %st(6), %st(0)
 0xda,0xd6
 
-# CHECK: fcmovbe %st(7), %st
+# CHECK: fcmovbe %st(7), %st(0)
 0xda,0xd7
 
-# CHECK: fcmovu %st, %st
+# CHECK: fcmovu %st(0), %st(0)
 0xda,0xd8
 
-# CHECK: fcmovu %st(1), %st
+# CHECK: fcmovu %st(1), %st(0)
 0xda,0xd9
 
-# CHECK: fcmovu %st(2), %st
+# CHECK: fcmovu %st(2), %st(0)
 0xda,0xda
 
-# CHECK: fcmovu %st(3), %st
+# CHECK: fcmovu %st(3), %st(0)
 0xda,0xdb
 
-# CHECK: fcmovu %st(4), %st
+# CHECK: fcmovu %st(4), %st(0)
 0xda,0xdc
 
-# CHECK: fcmovu %st(5), %st
+# CHECK: fcmovu %st(5), %st(0)
 0xda,0xdd
 
-# CHECK: fcmovu %st(6), %st
+# CHECK: fcmovu %st(6), %st(0)
 0xda,0xde
 
-# CHECK: fcmovu %st(7), %st
+# CHECK: fcmovu %st(7), %st(0)
 0xda,0xdf
 
 # CHECK: fucompp
 0xda,0xe9
 
-# CHECK: fcmovnb %st, %st
+# CHECK: fcmovnb %st(0), %st(0)
 0xdb,0xc0
 
-# CHECK: fcmovnb %st(1), %st
+# CHECK: fcmovnb %st(1), %st(0)
 0xdb,0xc1
 
-# CHECK: fcmovnb %st(2), %st
+# CHECK: fcmovnb %st(2), %st(0)
 0xdb,0xc2
 
-# CHECK: fcmovnb %st(3), %st
+# CHECK: fcmovnb %st(3), %st(0)
 0xdb,0xc3
 
-# CHECK: fcmovnb %st(4), %st
+# CHECK: fcmovnb %st(4), %st(0)
 0xdb,0xc4
 
-# CHECK: fcmovnb %st(5), %st
+# CHECK: fcmovnb %st(5), %st(0)
 0xdb,0xc5
 
-# CHECK: fcmovnb %st(6), %st
+# CHECK: fcmovnb %st(6), %st(0)
 0xdb,0xc6
 
-# CHECK: fcmovnb %st(7), %st
+# CHECK: fcmovnb %st(7), %st(0)
 0xdb,0xc7
 
-# CHECK: fcmovne %st, %st
+# CHECK: fcmovne %st(0), %st(0)
 0xdb,0xc8
 
-# CHECK: fcmovne %st(1), %st
+# CHECK: fcmovne %st(1), %st(0)
 0xdb,0xc9
 
-# CHECK: fcmovne %st(2), %st
+# CHECK: fcmovne %st(2), %st(0)
 0xdb,0xca
 
-# CHECK: fcmovne %st(3), %st
+# CHECK: fcmovne %st(3), %st(0)
 0xdb,0xcb
 
-# CHECK: fcmovne %st(4), %st
+# CHECK: fcmovne %st(4), %st(0)
 0xdb,0xcc
 
-# CHECK: fcmovne %st(5), %st
+# CHECK: fcmovne %st(5), %st(0)
 0xdb,0xcd
 
-# CHECK: fcmovne %st(6), %st
+# CHECK: fcmovne %st(6), %st(0)
 0xdb,0xce
 
-# CHECK: fcmovne %st(7), %st
+# CHECK: fcmovne %st(7), %st(0)
 0xdb,0xcf
 
-# CHECK: fcmovnbe %st, %st
+# CHECK: fcmovnbe %st(0), %st(0)
 0xdb,0xd0
 
-# CHECK: fcmovnbe %st(1), %st
+# CHECK: fcmovnbe %st(1), %st(0)
 0xdb,0xd1
 
-# CHECK: fcmovnbe %st(2), %st
+# CHECK: fcmovnbe %st(2), %st(0)
 0xdb,0xd2
 
-# CHECK: fcmovnbe %st(3), %st
+# CHECK: fcmovnbe %st(3), %st(0)
 0xdb,0xd3
 
-# CHECK: fcmovnbe %st(4), %st
+# CHECK: fcmovnbe %st(4), %st(0)
 0xdb,0xd4
 
-# CHECK: fcmovnbe %st(5), %st
+# CHECK: fcmovnbe %st(5), %st(0)
 0xdb,0xd5
 
-# CHECK: fcmovnbe %st(6), %st
+# CHECK: fcmovnbe %st(6), %st(0)
 0xdb,0xd6
 
-# CHECK: fcmovnbe %st(7), %st
+# CHECK: fcmovnbe %st(7), %st(0)
 0xdb,0xd7
 
-# CHECK: fcmovnu %st, %st
+# CHECK: fcmovnu %st(0), %st(0)
 0xdb,0xd8
 
-# CHECK: fcmovnu %st(1), %st
+# CHECK: fcmovnu %st(1), %st(0)
 0xdb,0xd9
 
-# CHECK: fcmovnu %st(2), %st
+# CHECK: fcmovnu %st(2), %st(0)
 0xdb,0xda
 
-# CHECK: fcmovnu %st(3), %st
+# CHECK: fcmovnu %st(3), %st(0)
 0xdb,0xdb
 
-# CHECK: fcmovnu %st(4), %st
+# CHECK: fcmovnu %st(4), %st(0)
 0xdb,0xdc
 
-# CHECK: fcmovnu %st(5), %st
+# CHECK: fcmovnu %st(5), %st(0)
 0xdb,0xdd
 
-# CHECK: fcmovnu %st(6), %st
+# CHECK: fcmovnu %st(6), %st(0)
 0xdb,0xde
 
-# CHECK: fcmovnu %st(7), %st
+# CHECK: fcmovnu %st(7), %st(0)
 0xdb,0xdf
 
 # CHECK: fnclex
@@ -526,7 +526,7 @@
 # CHECK: fninit
 0xdb,0xe3
 
-# CHECK: fucomi %st
+# CHECK: fucomi %st(0)
 0xdb,0xe8
 
 # CHECK: fucomi %st(1)
@@ -550,7 +550,7 @@
 # CHECK: fucomi %st(7)
 0xdb,0xef
 
-# CHECK: fcomi %st
+# CHECK: fcomi %st(0)
 0xdb,0xf0
 
 # CHECK: fcomi %st(1)
@@ -574,151 +574,151 @@
 # CHECK: fcomi %st(7)
 0xdb,0xf7
 
-# CHECK: fadd %st, %st
+# CHECK: fadd %st(0), %st(0)
 0xdc,0xc0
 
-# CHECK: fadd %st, %st(1)
+# CHECK: fadd %st(0), %st(1)
 0xdc,0xc1
 
-# CHECK: fadd %st, %st(2)
+# CHECK: fadd %st(0), %st(2)
 0xdc,0xc2
 
-# CHECK: fadd %st, %st(3)
+# CHECK: fadd %st(0), %st(3)
 0xdc,0xc3
 
-# CHECK: fadd %st, %st(4)
+# CHECK: fadd %st(0), %st(4)
 0xdc,0xc4
 
-# CHECK: fadd %st, %st(5)
+# CHECK: fadd %st(0), %st(5)
 0xdc,0xc5
 
-# CHECK: fadd %st, %st(6)
+# CHECK: fadd %st(0), %st(6)
 0xdc,0xc6
 
-# CHECK: fadd %st, %st(7)
+# CHECK: fadd %st(0), %st(7)
 0xdc,0xc7
 
-# CHECK: fmul %st, %st
+# CHECK: fmul %st(0), %st(0)
 0xdc,0xc8
 
-# CHECK: fmul %st, %st(1)
+# CHECK: fmul %st(0), %st(1)
 0xdc,0xc9
 
-# CHECK: fmul %st, %st(2)
+# CHECK: fmul %st(0), %st(2)
 0xdc,0xca
 
-# CHECK: fmul %st, %st(3)
+# CHECK: fmul %st(0), %st(3)
 0xdc,0xcb
 
-# CHECK: fmul %st, %st(4)
+# CHECK: fmul %st(0), %st(4)
 0xdc,0xcc
 
-# CHECK: fmul %st, %st(5)
+# CHECK: fmul %st(0), %st(5)
 0xdc,0xcd
 
-# CHECK: fmul %st, %st(6)
+# CHECK: fmul %st(0), %st(6)
 0xdc,0xce
 
-# CHECK: fmul %st, %st(7)
+# CHECK: fmul %st(0), %st(7)
 0xdc,0xcf
 
-# CHECK: fsub %st, %st
+# CHECK: fsub %st(0), %st(0)
 0xdc,0xe0
 
-# CHECK: fsub %st, %st(1)
+# CHECK: fsub %st(0), %st(1)
 0xdc,0xe1
 
-# CHECK: fsub %st, %st(2)
+# CHECK: fsub %st(0), %st(2)
 0xdc,0xe2
 
-# CHECK: fsub %st, %st(3)
+# CHECK: fsub %st(0), %st(3)
 0xdc,0xe3
 
-# CHECK: fsub %st, %st(4)
+# CHECK: fsub %st(0), %st(4)
 0xdc,0xe4
 
-# CHECK: fsub %st, %st(5)
+# CHECK: fsub %st(0), %st(5)
 0xdc,0xe5
 
-# CHECK: fsub %st, %st(6)
+# CHECK: fsub %st(0), %st(6)
 0xdc,0xe6
 
-# CHECK: fsub %st, %st(7)
+# CHECK: fsub %st(0), %st(7)
 0xdc,0xe7
 
-# CHECK: fsubr %st, %st
+# CHECK: fsubr %st(0), %st(0)
 0xdc,0xe8
 
-# CHECK: fsubr %st, %st(1)
+# CHECK: fsubr %st(0), %st(1)
 0xdc,0xe9
 
-# CHECK: fsubr %st, %st(2)
+# CHECK: fsubr %st(0), %st(2)
 0xdc,0xea
 
-# CHECK: fsubr %st, %st(3)
+# CHECK: fsubr %st(0), %st(3)
 0xdc,0xeb
 
-# CHECK: fsubr %st, %st(4)
+# CHECK: fsubr %st(0), %st(4)
 0xdc,0xec
 
-# CHECK: fsubr %st, %st(5)
+# CHECK: fsubr %st(0), %st(5)
 0xdc,0xed
 
-# CHECK: fsubr %st, %st(6)
+# CHECK: fsubr %st(0), %st(6)
 0xdc,0xee
 
-# CHECK: fsubr %st, %st(7)
+# CHECK: fsubr %st(0), %st(7)
 0xdc,0xef
 
-# CHECK: fdiv %st, %st
+# CHECK: fdiv %st(0), %st(0)
 0xdc,0xf0
 
-# CHECK: fdiv %st, %st(1)
+# CHECK: fdiv %st(0), %st(1)
 0xdc,0xf1
 
-# CHECK: fdiv %st, %st(2)
+# CHECK: fdiv %st(0), %st(2)
 0xdc,0xf2
 
-# CHECK: fdiv %st, %st(3)
+# CHECK: fdiv %st(0), %st(3)
 0xdc,0xf3
 
-# CHECK: fdiv %st, %st(4)
+# CHECK: fdiv %st(0), %st(4)
 0xdc,0xf4
 
-# CHECK: fdiv %st, %st(5)
+# CHECK: fdiv %st(0), %st(5)
 0xdc,0xf5
 
-# CHECK: fdiv %st, %st(6)
+# CHECK: fdiv %st(0), %st(6)
 0xdc,0xf6
 
-# CHECK: fdiv %st, %st(7)
+# CHECK: fdiv %st(0), %st(7)
 0xdc,0xf7
 
-# CHECK: fdivr %st, %st
+# CHECK: fdivr %st(0), %st(0)
 0xdc,0xf8
 
-# CHECK: fdivr %st, %st(1)
+# CHECK: fdivr %st(0), %st(1)
 0xdc,0xf9
 
-# CHECK: fdivr %st, %st(2)
+# CHECK: fdivr %st(0), %st(2)
 0xdc,0xfa
 
-# CHECK: fdivr %st, %st(3)
+# CHECK: fdivr %st(0), %st(3)
 0xdc,0xfb
 
-# CHECK: fdivr %st, %st(4)
+# CHECK: fdivr %st(0), %st(4)
 0xdc,0xfc
 
-# CHECK: fdivr %st, %st(5)
+# CHECK: fdivr %st(0), %st(5)
 0xdc,0xfd
 
-# CHECK: fdivr %st, %st(6)
+# CHECK: fdivr %st(0), %st(6)
 0xdc,0xfe
 
-# CHECK: fdivr %st, %st(7)
+# CHECK: fdivr %st(0), %st(7)
 0xdc,0xff
 
-# CHECK: ffree %st
+# CHECK: ffree %st(0)
 0xdd,0xc0
 
 # CHECK: ffree %st(1)
@@ -742,7 +742,7 @@
 # CHECK: ffree %st(7)
 0xdd,0xc7
 
-# CHECK: fst %st
+# CHECK: fst %st(0)
 0xdd,0xd0
 
 # CHECK: fst %st(1)
@@ -766,7 +766,7 @@
 # CHECK: fst %st(7)
 0xdd,0xd7
 
-# CHECK: fstp %st
+# CHECK: fstp %st(0)
 0xdd,0xd8
 
 # CHECK: fstp %st(1)
@@ -790,7 +790,7 @@
 # CHECK: fstp %st(7)
 0xdd,0xdf
 
-# CHECK: fucom %st
+# CHECK: fucom %st(0)
 0xdd,0xe0
 
 # CHECK: fucom %st(1)
@@ -814,7 +814,7 @@
 # CHECK: fucom %st(7)
 0xdd,0xe7
 
-# CHECK: fucomp %st
+# CHECK: fucomp %st(0)
 0xdd,0xe8
 
 # CHECK: fucomp %st(1)
@@ -838,7 +838,7 @@
 # CHECK: fucomp %st(7)
 0xdd,0xef
 
-# CHECK: faddp %st
+# CHECK: faddp %st(0)
 0xde,0xc0
 
 # CHECK: faddp %st(1)
@@ -862,7 +862,7 @@
 # CHECK: faddp %st(7)
 0xde,0xc7
 
-# CHECK: fmulp %st
+# CHECK: fmulp %st(0)
 0xde,0xc8
 
 # CHECK: fmulp %st(1)
@@ -889,7 +889,7 @@
 # CHECK: fcompp
 0xde,0xd9
 
-# CHECK: fsubp %st
+# CHECK: fsubp %st(0)
 0xde,0xe0
 
 # CHECK: fsubp %st(1)
@@ -913,7 +913,7 @@
 # CHECK: fsubp %st(7)
 0xde,0xe7
 
-# CHECK: fsubrp %st
+# CHECK: fsubrp %st(0)
 0xde,0xe8
 
 # CHECK: fsubrp %st(1)
@@ -937,7 +937,7 @@
 # CHECK: fsubrp %st(7)
 0xde,0xef
 
-# CHECK: fdivp %st
+# CHECK: fdivp %st(0)
 0xde,0xf0
 
 # CHECK: fdivp %st(1)
@@ -961,7 +961,7 @@
 # CHECK: fdivp %st(7)
 0xde,0xf7
 
-# CHECK: fdivrp %st
+# CHECK: fdivrp %st(0)
 0xde,0xf8
 
 # CHECK: fdivrp %st(1)
@@ -985,7 +985,7 @@
 # CHECK: fdivrp %st(7)
 0xde,0xff
 
-# CHECK: ffreep %st
+# CHECK: ffreep %st(0)
 0xdf,0xc0
 
 # CHECK: ffreep %st(1)
@@ -1012,7 +1012,7 @@
 # CHECK: fnstsw %ax
 0xdf,0xe0
 
-# CHECK: fucompi %st
+# CHECK: fucompi %st(0)
 0xdf,0xe8
 
 # CHECK: fucompi %st(1)
@@ -1036,7 +1036,7 @@
 # CHECK: fucompi %st(7)
 0xdf,0xef
 
-# CHECK: fcompi %st
+# CHECK: fcompi %st(0)
 0xdf,0xf0
 
 # CHECK: fcompi %st(1)

Modified: llvm/trunk/test/MC/Disassembler/X86/x86-16.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Disassembler/X86/x86-16.txt?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/MC/Disassembler/X86/x86-16.txt (original)
+++ llvm/trunk/test/MC/Disassembler/X86/x86-16.txt Sun Feb  3 20:15:02 2019
@@ -183,22 +183,22 @@
 # CHECK: cmovel %eax, %edx
 0x66 0x0f 0x44 0xd0
 
-# CHECK: fmul %st
+# CHECK: fmul %st(0)
 0xd8 0xc8
 
-# CHECK: fadd %st
+# CHECK: fadd %st(0)
 0xd8 0xc0
 
-# CHECK: fsub %st
+# CHECK: fsub %st(0)
 0xd8 0xe0
 
-# CHECK: fsubr %st
+# CHECK: fsubr %st(0)
 0xd8 0xe8
 
-# CHECK: fdivr %st
+# CHECK: fdivr %st(0)
 0xd8 0xf8
 
-# CHECK: fdiv %st
+# CHECK: fdiv %st(0)
 0xd8 0xf0
 
 # CHECK: movl %cs, %eax

Modified: llvm/trunk/test/MC/X86/PPRO-32.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/PPRO-32.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/PPRO-32.s (original)
+++ llvm/trunk/test/MC/X86/PPRO-32.s Sun Feb  3 20:15:02 2019
@@ -64,37 +64,37 @@ cmovpl %eax, %eax
 // CHECK: encoding: [0x0f,0x48,0xc0]        
 cmovsl %eax, %eax 
 
-// CHECK: fcmovbe %st(4), %st 
+// CHECK: fcmovbe %st(4), %st(0) 
 // CHECK: encoding: [0xda,0xd4]        
-fcmovbe %st(4), %st 
+fcmovbe %st(4), %st(0) 
 
-// CHECK: fcmovb %st(4), %st 
+// CHECK: fcmovb %st(4), %st(0) 
 // CHECK: encoding: [0xda,0xc4]        
-fcmovb %st(4), %st 
+fcmovb %st(4), %st(0) 
 
-// CHECK: fcmove %st(4), %st 
+// CHECK: fcmove %st(4), %st(0) 
 // CHECK: encoding: [0xda,0xcc]        
-fcmove %st(4), %st 
+fcmove %st(4), %st(0) 
 
-// CHECK: fcmovnbe %st(4), %st 
+// CHECK: fcmovnbe %st(4), %st(0) 
 // CHECK: encoding: [0xdb,0xd4]        
-fcmovnbe %st(4), %st 
+fcmovnbe %st(4), %st(0) 
 
-// CHECK: fcmovnb %st(4), %st 
+// CHECK: fcmovnb %st(4), %st(0) 
 // CHECK: encoding: [0xdb,0xc4]        
-fcmovnb %st(4), %st 
+fcmovnb %st(4), %st(0) 
 
-// CHECK: fcmovne %st(4), %st 
+// CHECK: fcmovne %st(4), %st(0) 
 // CHECK: encoding: [0xdb,0xcc]        
-fcmovne %st(4), %st 
+fcmovne %st(4), %st(0) 
 
-// CHECK: fcmovnu %st(4), %st 
+// CHECK: fcmovnu %st(4), %st(0) 
 // CHECK: encoding: [0xdb,0xdc]        
-fcmovnu %st(4), %st 
+fcmovnu %st(4), %st(0) 
 
-// CHECK: fcmovu %st(4), %st 
+// CHECK: fcmovu %st(4), %st(0) 
 // CHECK: encoding: [0xda,0xdc]        
-fcmovu %st(4), %st 
+fcmovu %st(4), %st(0) 
 
 // CHECK: fcomi %st(4) 
 // CHECK: encoding: [0xdb,0xf4]         

Modified: llvm/trunk/test/MC/X86/PPRO-64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/PPRO-64.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/PPRO-64.s (original)
+++ llvm/trunk/test/MC/X86/PPRO-64.s Sun Feb  3 20:15:02 2019
@@ -64,37 +64,37 @@ cmovpl %r13d, %r13d
 // CHECK: encoding: [0x45,0x0f,0x48,0xed]        
 cmovsl %r13d, %r13d 
 
-// CHECK: fcmovbe %st(4), %st 
+// CHECK: fcmovbe %st(4), %st(0) 
 // CHECK: encoding: [0xda,0xd4]        
-fcmovbe %st(4), %st 
+fcmovbe %st(4), %st(0) 
 
-// CHECK: fcmovb %st(4), %st 
+// CHECK: fcmovb %st(4), %st(0) 
 // CHECK: encoding: [0xda,0xc4]        
-fcmovb %st(4), %st 
+fcmovb %st(4), %st(0) 
 
-// CHECK: fcmove %st(4), %st 
+// CHECK: fcmove %st(4), %st(0) 
 // CHECK: encoding: [0xda,0xcc]        
-fcmove %st(4), %st 
+fcmove %st(4), %st(0) 
 
-// CHECK: fcmovnbe %st(4), %st 
+// CHECK: fcmovnbe %st(4), %st(0) 
 // CHECK: encoding: [0xdb,0xd4]        
-fcmovnbe %st(4), %st 
+fcmovnbe %st(4), %st(0) 
 
-// CHECK: fcmovnb %st(4), %st 
+// CHECK: fcmovnb %st(4), %st(0) 
 // CHECK: encoding: [0xdb,0xc4]        
-fcmovnb %st(4), %st 
+fcmovnb %st(4), %st(0) 
 
-// CHECK: fcmovne %st(4), %st 
+// CHECK: fcmovne %st(4), %st(0) 
 // CHECK: encoding: [0xdb,0xcc]        
-fcmovne %st(4), %st 
+fcmovne %st(4), %st(0) 
 
-// CHECK: fcmovnu %st(4), %st 
+// CHECK: fcmovnu %st(4), %st(0) 
 // CHECK: encoding: [0xdb,0xdc]        
-fcmovnu %st(4), %st 
+fcmovnu %st(4), %st(0) 
 
-// CHECK: fcmovu %st(4), %st 
+// CHECK: fcmovu %st(4), %st(0) 
 // CHECK: encoding: [0xda,0xdc]        
-fcmovu %st(4), %st 
+fcmovu %st(4), %st(0) 
 
 // CHECK: fcomi %st(4) 
 // CHECK: encoding: [0xdb,0xf4]         

Modified: llvm/trunk/test/MC/X86/X87-32.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/X87-32.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/X87-32.s (original)
+++ llvm/trunk/test/MC/X86/X87-32.s Sun Feb  3 20:15:02 2019
@@ -59,9 +59,9 @@ fadds 64(%edx,%eax)
 // CHECK: encoding: [0xd8,0x02]        
 fadds (%edx) 
 
-// CHECK: fadd %st, %st(4) 
+// CHECK: fadd %st(0), %st(4) 
 // CHECK: encoding: [0xdc,0xc4]       
-fadd %st, %st(4) 
+fadd %st(0), %st(4) 
 
 // CHECK: fadd %st(4) 
 // CHECK: encoding: [0xd8,0xc4]        
@@ -315,9 +315,9 @@ fdivrs 64(%edx,%eax)
 // CHECK: encoding: [0xd8,0x3a]        
 fdivrs (%edx) 
 
-// CHECK: fdivr %st, %st(4) 
+// CHECK: fdivr %st(0), %st(4) 
 // CHECK: encoding: [0xdc,0xfc]       
-fdivr %st, %st(4) 
+fdivr %st(0), %st(4) 
 
 // CHECK: fdivr %st(4) 
 // CHECK: encoding: [0xd8,0xfc]        
@@ -347,9 +347,9 @@ fdivs 64(%edx,%eax)
 // CHECK: encoding: [0xd8,0x32]        
 fdivs (%edx) 
 
-// CHECK: fdiv %st, %st(4) 
+// CHECK: fdiv %st(0), %st(4) 
 // CHECK: encoding: [0xdc,0xf4]       
-fdiv %st, %st(4) 
+fdiv %st(0), %st(4) 
 
 // CHECK: fdiv %st(4) 
 // CHECK: encoding: [0xd8,0xf4]        
@@ -1147,9 +1147,9 @@ fmuls 64(%edx,%eax)
 // CHECK: encoding: [0xd8,0x0a]        
 fmuls (%edx) 
 
-// CHECK: fmul %st, %st(4) 
+// CHECK: fmul %st(0), %st(4) 
 // CHECK: encoding: [0xdc,0xcc]       
-fmul %st, %st(4) 
+fmul %st(0), %st(4) 
 
 // CHECK: fmul %st(4) 
 // CHECK: encoding: [0xd8,0xcc]        
@@ -1535,9 +1535,9 @@ fsubrs 64(%edx,%eax)
 // CHECK: encoding: [0xd8,0x2a]        
 fsubrs (%edx) 
 
-// CHECK: fsubr %st, %st(4) 
+// CHECK: fsubr %st(0), %st(4) 
 // CHECK: encoding: [0xdc,0xec]       
-fsubr %st, %st(4) 
+fsubr %st(0), %st(4) 
 
 // CHECK: fsubr %st(4) 
 // CHECK: encoding: [0xd8,0xec]        
@@ -1567,9 +1567,9 @@ fsubs 64(%edx,%eax)
 // CHECK: encoding: [0xd8,0x22]        
 fsubs (%edx) 
 
-// CHECK: fsub %st, %st(4) 
+// CHECK: fsub %st(0), %st(4) 
 // CHECK: encoding: [0xdc,0xe4]       
-fsub %st, %st(4) 
+fsub %st(0), %st(4) 
 
 // CHECK: fsub %st(4) 
 // CHECK: encoding: [0xd8,0xe4]        

Modified: llvm/trunk/test/MC/X86/X87-64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/X87-64.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/X87-64.s (original)
+++ llvm/trunk/test/MC/X86/X87-64.s Sun Feb  3 20:15:02 2019
@@ -59,9 +59,9 @@ fadds 64(%rdx,%rax)
 // CHECK: encoding: [0xd8,0x02]        
 fadds (%rdx) 
 
-// CHECK: fadd %st, %st(4) 
+// CHECK: fadd %st(0), %st(4) 
 // CHECK: encoding: [0xdc,0xc4]       
-fadd %st, %st(4) 
+fadd %st(0), %st(4) 
 
 // CHECK: fadd %st(4) 
 // CHECK: encoding: [0xd8,0xc4]        
@@ -315,9 +315,9 @@ fdivrs 64(%rdx,%rax)
 // CHECK: encoding: [0xd8,0x3a]        
 fdivrs (%rdx) 
 
-// CHECK: fdivr %st, %st(4) 
+// CHECK: fdivr %st(0), %st(4) 
 // CHECK: encoding: [0xdc,0xfc]       
-fdivr %st, %st(4) 
+fdivr %st(0), %st(4) 
 
 // CHECK: fdivr %st(4) 
 // CHECK: encoding: [0xd8,0xfc]        
@@ -347,9 +347,9 @@ fdivs 64(%rdx,%rax)
 // CHECK: encoding: [0xd8,0x32]        
 fdivs (%rdx) 
 
-// CHECK: fdiv %st, %st(4) 
+// CHECK: fdiv %st(0), %st(4) 
 // CHECK: encoding: [0xdc,0xf4]       
-fdiv %st, %st(4) 
+fdiv %st(0), %st(4) 
 
 // CHECK: fdiv %st(4) 
 // CHECK: encoding: [0xd8,0xf4]        
@@ -1147,9 +1147,9 @@ fmuls 64(%rdx,%rax)
 // CHECK: encoding: [0xd8,0x0a]        
 fmuls (%rdx) 
 
-// CHECK: fmul %st, %st(4) 
+// CHECK: fmul %st(0), %st(4) 
 // CHECK: encoding: [0xdc,0xcc]       
-fmul %st, %st(4) 
+fmul %st(0), %st(4) 
 
 // CHECK: fmul %st(4) 
 // CHECK: encoding: [0xd8,0xcc]        
@@ -1535,9 +1535,9 @@ fsubrs 64(%rdx,%rax)
 // CHECK: encoding: [0xd8,0x2a]        
 fsubrs (%rdx) 
 
-// CHECK: fsubr %st, %st(4) 
+// CHECK: fsubr %st(0), %st(4) 
 // CHECK: encoding: [0xdc,0xec]       
-fsubr %st, %st(4) 
+fsubr %st(0), %st(4) 
 
 // CHECK: fsubr %st(4) 
 // CHECK: encoding: [0xd8,0xec]        
@@ -1567,9 +1567,9 @@ fsubs 64(%rdx,%rax)
 // CHECK: encoding: [0xd8,0x22]        
 fsubs (%rdx) 
 
-// CHECK: fsub %st, %st(4) 
+// CHECK: fsub %st(0), %st(4) 
 // CHECK: encoding: [0xdc,0xe4]       
-fsub %st, %st(4) 
+fsub %st(0), %st(4) 
 
 // CHECK: fsub %st(4) 
 // CHECK: encoding: [0xd8,0xe4]        

Modified: llvm/trunk/test/MC/X86/intel-syntax.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/intel-syntax.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/intel-syntax.s (original)
+++ llvm/trunk/test/MC/X86/intel-syntax.s Sun Feb  3 20:15:02 2019
@@ -115,8 +115,8 @@ main:
 	and	rax, 257
 // CHECK:	andq	$-257,	%rax
 	and	rax, -257
-// CHECK:	fld	%st
-	fld	st
+// CHECK:	fld	%st(0)
+	fld	ST(0)
 // CHECK:	movl	%fs:(%rdi), %eax
     mov EAX, DWORD PTR FS:[RDI]
 // CHECK: leal (,%rdi,4), %r8d
@@ -562,12 +562,12 @@ fnstsw WORD PTR [EAX]
 // CHECK: fsubp %st(1)
 // CHECK: fdivrp %st(1)
 // CHECK: fdivp %st(1)
-faddp ST(1), st
-fmulp ST(1), st
-fsubp ST(1), st
-fsubrp ST(1), st
-fdivp ST(1), st
-fdivrp ST(1), st
+faddp ST(1), ST(0)
+fmulp ST(1), ST(0)
+fsubp ST(1), ST(0)
+fsubrp ST(1), ST(0)
+fdivp ST(1), ST(0)
+fdivrp ST(1), ST(0)
 
 // CHECK: faddp %st(1)
 // CHECK: fmulp %st(1)
@@ -575,12 +575,12 @@ fdivrp ST(1), st
 // CHECK: fsubp %st(1)
 // CHECK: fdivrp %st(1)
 // CHECK: fdivp %st(1)
-faddp st, ST(1)
-fmulp st, ST(1)
-fsubp st, ST(1)
-fsubrp st, ST(1)
-fdivp st, ST(1)
-fdivrp st, ST(1)
+faddp ST(0), ST(1)
+fmulp ST(0), ST(1)
+fsubp ST(0), ST(1)
+fsubrp ST(0), ST(1)
+fdivp ST(0), ST(1)
+fdivrp ST(0), ST(1)
 
 // CHECK: faddp %st(1)
 // CHECK: fmulp %st(1)
@@ -628,25 +628,25 @@ fdivrp
 // CHECK: fsubr %st(1)
 // CHECK: fdiv %st(1)
 // CHECK: fdivr %st(1)
-fadd st, ST(1)
-fmul st, ST(1)
-fsub st, ST(1)
-fsubr st, ST(1)
-fdiv st, ST(1)
-fdivr st, ST(1)
-
-// CHECK: fadd %st, %st(1)
-// CHECK: fmul %st, %st(1)
-// CHECK: fsubr %st, %st(1)
-// CHECK: fsub %st, %st(1)
-// CHECK: fdivr %st, %st(1)
-// CHECK: fdiv %st, %st(1)
-fadd ST(1), st
-fmul ST(1), st
-fsub ST(1), st
-fsubr ST(1), st
-fdiv ST(1), st
-fdivr ST(1), st
+fadd ST(0), ST(1)
+fmul ST(0), ST(1)
+fsub ST(0), ST(1)
+fsubr ST(0), ST(1)
+fdiv ST(0), ST(1)
+fdivr ST(0), ST(1)
+
+// CHECK: fadd %st(0), %st(1)
+// CHECK: fmul %st(0), %st(1)
+// CHECK: fsubr %st(0), %st(1)
+// CHECK: fsub %st(0), %st(1)
+// CHECK: fdivr %st(0), %st(1)
+// CHECK: fdiv %st(0), %st(1)
+fadd ST(1), ST(0)
+fmul ST(1), ST(0)
+fsub ST(1), ST(0)
+fsubr ST(1), ST(0)
+fdiv ST(1), ST(0)
+fdivr ST(1), ST(0)
 
 // CHECK: fadd %st(1)
 // CHECK: fmul %st(1)

Modified: llvm/trunk/test/MC/X86/x86-16.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86-16.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/x86-16.s (original)
+++ llvm/trunk/test/MC/X86/x86-16.s Sun Feb  3 20:15:02 2019
@@ -216,29 +216,29 @@ cmovnae	%bx,%bx
 // CHECK:  encoding: [0x66,0x0f,0x44,0xd0]
         	cmovzl	%eax,%edx
 
-// CHECK: fmul	%st
+// CHECK: fmul	%st(0)
 // CHECK:  encoding: [0xd8,0xc8]
-        fmul %st, %st
+        fmul %st(0), %st
 
-// CHECK: fadd	%st
+// CHECK: fadd	%st(0)
 // CHECK:  encoding: [0xd8,0xc0]
-        fadd %st, %st
+        fadd %st(0), %st
 
-// CHECK: fsub	%st
+// CHECK: fsub	%st(0)
 // CHECK:  encoding: [0xd8,0xe0]
-        fsub %st, %st
+        fsub %st(0), %st
 
-// CHECK: fsubr	%st
+// CHECK: fsubr	%st(0)
 // CHECK:  encoding: [0xd8,0xe8]
-        fsubr %st, %st
+        fsubr %st(0), %st
 
-// CHECK: fdivr	%st
+// CHECK: fdivr	%st(0)
 // CHECK:  encoding: [0xd8,0xf8]
-        fdivr %st, %st
+        fdivr %st(0), %st
 
-// CHECK: fdiv	%st
+// CHECK: fdiv	%st(0)
 // CHECK:  encoding: [0xd8,0xf0]
-        fdiv %st, %st
+        fdiv %st(0), %st
 
 // CHECK: movl	%cs, %eax
 // CHECK:  encoding: [0x66,0x8c,0xc8]

Modified: llvm/trunk/test/MC/X86/x86-32-coverage.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86-32-coverage.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/x86-32-coverage.s (original)
+++ llvm/trunk/test/MC/X86/x86-32-coverage.s Sun Feb  3 20:15:02 2019
@@ -2876,35 +2876,35 @@
 // CHECK:  encoding: [0x0f,0x0b]
         	ud2
 
-// CHECK: fcmovb	%st(2), %st
+// CHECK: fcmovb	%st(2), %st(0)
 // CHECK:  encoding: [0xda,0xc2]
         	fcmovb	%st(2),%st
 
-// CHECK: fcmove	%st(2), %st
+// CHECK: fcmove	%st(2), %st(0)
 // CHECK:  encoding: [0xda,0xca]
         	fcmove	%st(2),%st
 
-// CHECK: fcmovbe	%st(2), %st
+// CHECK: fcmovbe	%st(2), %st(0)
 // CHECK:  encoding: [0xda,0xd2]
         	fcmovbe	%st(2),%st
 
-// CHECK: fcmovu	 %st(2), %st
+// CHECK: fcmovu	 %st(2), %st(0)
 // CHECK:  encoding: [0xda,0xda]
         	fcmovu	%st(2),%st
 
-// CHECK: fcmovnb	%st(2), %st
+// CHECK: fcmovnb	%st(2), %st(0)
 // CHECK:  encoding: [0xdb,0xc2]
         	fcmovnb	%st(2),%st
 
-// CHECK: fcmovne	%st(2), %st
+// CHECK: fcmovne	%st(2), %st(0)
 // CHECK:  encoding: [0xdb,0xca]
         	fcmovne	%st(2),%st
 
-// CHECK: fcmovnbe	%st(2), %st
+// CHECK: fcmovnbe	%st(2), %st(0)
 // CHECK:  encoding: [0xdb,0xd2]
         	fcmovnbe	%st(2),%st
 
-// CHECK: fcmovnu	%st(2), %st
+// CHECK: fcmovnu	%st(2), %st(0)
 // CHECK:  encoding: [0xdb,0xda]
         	fcmovnu	%st(2),%st
 

Modified: llvm/trunk/test/MC/X86/x86-32.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86-32.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/x86-32.s (original)
+++ llvm/trunk/test/MC/X86/x86-32.s Sun Feb  3 20:15:02 2019
@@ -322,29 +322,29 @@ cmovnae	%bx,%bx
         cmpordsd %xmm0, %xmm1
 
 // rdar://7995856
-// CHECK: fmul	%st
+// CHECK: fmul	%st(0)
 // CHECK:  encoding: [0xd8,0xc8]
-        fmul %st, %st
+        fmul %st(0), %st
 
-// CHECK: fadd	%st
+// CHECK: fadd	%st(0)
 // CHECK:  encoding: [0xd8,0xc0]
-        fadd %st, %st
+        fadd %st(0), %st
 
-// CHECK: fsub	%st
+// CHECK: fsub	%st(0)
 // CHECK:  encoding: [0xd8,0xe0]
-        fsub %st, %st
+        fsub %st(0), %st
 
-// CHECK: fsubr	%st
+// CHECK: fsubr	%st(0)
 // CHECK:  encoding: [0xd8,0xe8]
-        fsubr %st, %st
+        fsubr %st(0), %st
 
-// CHECK: fdivr	%st
+// CHECK: fdivr	%st(0)
 // CHECK:  encoding: [0xd8,0xf8]
-        fdivr %st, %st
+        fdivr %st(0), %st
 
-// CHECK: fdiv	%st
+// CHECK: fdiv	%st(0)
 // CHECK:  encoding: [0xd8,0xf0]
-        fdiv %st, %st
+        fdiv %st(0), %st
 
 // radr://8017519
 // CHECK: movl	%cs, %eax

Modified: llvm/trunk/test/MC/X86/x86-64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86-64.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/x86-64.s (original)
+++ llvm/trunk/test/MC/X86/x86-64.s Sun Feb  3 20:15:02 2019
@@ -183,11 +183,11 @@ smovq // CHECK: movsq
 // CHECK: movb (%eax), %al
         gs;movb 0(%eax), %al
 
-// CHECK: fadd %st
+// CHECK: fadd %st(0)
 // CHECK: fadd %st(1)
 // CHECK: fadd %st(7)
 
-fadd %st
+fadd %st(0)
 fadd %st(1)
 fadd %st(7)
 
@@ -308,7 +308,7 @@ insl	(%dx), %es:(%rdi)
 // CHECK: fucom %st(1)
 // CHECK: fucomp %st(1)
 // CHECK: faddp %st(1)
-// CHECK: faddp	%st
+// CHECK: faddp	%st(0)
 // CHECK: fsubp %st(1)
 // CHECK: fsubrp %st(1)
 // CHECK: fmulp %st(1)
@@ -416,21 +416,21 @@ enter $0x7ace,$0x7f
 mov %cs, %ax
 
 // rdar://8456391
-fcmovb %st(1), %st   // CHECK: fcmovb	%st(1), %st
-fcmove %st(1), %st   // CHECK: fcmove	%st(1), %st
-fcmovbe %st(1), %st  // CHECK: fcmovbe	%st(1), %st
-fcmovu %st(1), %st   // CHECK: fcmovu	 %st(1), %st
-
-fcmovnb %st(1), %st  // CHECK: fcmovnb	%st(1), %st
-fcmovne %st(1), %st  // CHECK: fcmovne	%st(1), %st
-fcmovnbe %st(1), %st // CHECK: fcmovnbe	%st(1), %st
-fcmovnu %st(1), %st  // CHECK: fcmovnu	%st(1), %st
+fcmovb %st(1), %st(0)   // CHECK: fcmovb	%st(1), %st(0)
+fcmove %st(1), %st(0)   // CHECK: fcmove	%st(1), %st(0)
+fcmovbe %st(1), %st(0)  // CHECK: fcmovbe	%st(1), %st(0)
+fcmovu %st(1), %st(0)   // CHECK: fcmovu	 %st(1), %st(0)
+
+fcmovnb %st(1), %st(0)  // CHECK: fcmovnb	%st(1), %st(0)
+fcmovne %st(1), %st(0)  // CHECK: fcmovne	%st(1), %st(0)
+fcmovnbe %st(1), %st(0) // CHECK: fcmovnbe	%st(1), %st(0)
+fcmovnu %st(1), %st(0)  // CHECK: fcmovnu	%st(1), %st(0)
 
-fcmovnae %st(1), %st // CHECK: fcmovb	%st(1), %st
-fcmovna %st(1), %st  // CHECK: fcmovbe	%st(1), %st
+fcmovnae %st(1), %st(0) // CHECK: fcmovb	%st(1), %st(0)
+fcmovna %st(1), %st(0)  // CHECK: fcmovbe	%st(1), %st(0)
 
-fcmovae %st(1), %st  // CHECK: fcmovnb	%st(1), %st
-fcmova %st(1), %st   // CHECK: fcmovnbe	%st(1), %st
+fcmovae %st(1), %st(0)  // CHECK: fcmovnb	%st(1), %st(0)
+fcmova %st(1), %st(0)   // CHECK: fcmovnbe	%st(1), %st(0)
 
 // rdar://8456417
 .byte (88 + 1) & 15  // CHECK: .byte	9
@@ -462,14 +462,14 @@ faddp %st, %st(1)
 fmulp %st, %st(2)
 
 // rdar://8468087 - Encode these accurately, they are not synonyms.
-// CHECK: fmul	%st, %st(1)
+// CHECK: fmul	%st(0), %st(1)
 // CHECK: encoding: [0xdc,0xc9]
 // CHECK: fmul	%st(1)
 // CHECK: encoding: [0xd8,0xc9]
 fmul %st, %st(1)
 fmul %st(1), %st
 
-// CHECK: fadd	%st, %st(1)
+// CHECK: fadd	%st(0), %st(1)
 // CHECK: encoding: [0xdc,0xc1]
 // CHECK: fadd	%st(1)
 // CHECK: encoding: [0xd8,0xc1]
@@ -582,15 +582,15 @@ movmskpd	%xmm6, %eax
 // CHECK: encoding: [0x66,0x0f,0x50,0xc6]
 
 // rdar://8491845 - Gas supports commuted forms of non-commutable instructions.
-fdivrp %st, %st(1) // CHECK: encoding: [0xde,0xf9]
-fdivrp %st(1), %st // CHECK: encoding: [0xde,0xf9]
+fdivrp %st(0), %st(1) // CHECK: encoding: [0xde,0xf9]
+fdivrp %st(1), %st(0) // CHECK: encoding: [0xde,0xf9]
 
-fsubrp %st, %st(1) // CHECK: encoding: [0xde,0xe9]
-fsubrp %st(1), %st // CHECK: encoding: [0xde,0xe9]
+fsubrp %st(0), %st(1) // CHECK: encoding: [0xde,0xe9]
+fsubrp %st(1), %st(0) // CHECK: encoding: [0xde,0xe9]
 
 // also PR8861
-fdivp %st, %st(1) // CHECK: encoding: [0xde,0xf1]
-fdivp %st(1), %st // CHECK: encoding: [0xde,0xf1]
+fdivp %st(0), %st(1) // CHECK: encoding: [0xde,0xf1]
+fdivp %st(1), %st(0) // CHECK: encoding: [0xde,0xf1]
 
 
 movl	foo(%rip), %eax
@@ -1397,12 +1397,12 @@ stac
 // CHECK: fsubrp %st(1)
 // CHECK: fdivp %st(1)
 // CHECK: fdivrp %st(1)
-faddp %st, %st(1)
-fmulp %st, %st(1)
-fsubp %st, %st(1)
-fsubrp %st, %st(1)
-fdivp %st, %st(1)
-fdivrp %st, %st(1)
+faddp %st(0), %st(1)
+fmulp %st(0), %st(1)
+fsubp %st(0), %st(1)
+fsubrp %st(0), %st(1)
+fdivp %st(0), %st(1)
+fdivrp %st(0), %st(1)
 
 // CHECK: faddp %st(1)
 // CHECK: fmulp %st(1)
@@ -1410,12 +1410,12 @@ fdivrp %st, %st(1)
 // CHECK: fsubrp %st(1)
 // CHECK: fdivp %st(1)
 // CHECK: fdivrp %st(1)
-faddp %st(1), %st
-fmulp %st(1), %st
-fsubp %st(1), %st
-fsubrp %st(1), %st
-fdivp %st(1), %st
-fdivrp %st(1), %st
+faddp %st(1), %st(0)
+fmulp %st(1), %st(0)
+fsubp %st(1), %st(0)
+fsubrp %st(1), %st(0)
+fdivp %st(1), %st(0)
+fdivrp %st(1), %st(0)
 
 // CHECK: faddp %st(1)
 // CHECK: fmulp %st(1)
@@ -1449,25 +1449,25 @@ fdivrp
 // CHECK: fsubr %st(1)
 // CHECK: fdiv %st(1)
 // CHECK: fdivr %st(1)
-fadd %st(1), %st
-fmul %st(1), %st
-fsub %st(1), %st
-fsubr %st(1), %st
-fdiv %st(1), %st
-fdivr %st(1), %st
-
-// CHECK: fadd %st, %st(1)
-// CHECK: fmul %st, %st(1)
-// CHECK: fsub %st, %st(1)
-// CHECK: fsubr %st, %st(1)
-// CHECK: fdiv %st, %st(1)
-// CHECK: fdivr %st, %st(1)
-fadd %st, %st(1)
-fmul %st, %st(1)
-fsub %st, %st(1)
-fsubr %st, %st(1)
-fdiv %st, %st(1)
-fdivr %st, %st(1)
+fadd %st(1), %st(0)
+fmul %st(1), %st(0)
+fsub %st(1), %st(0)
+fsubr %st(1), %st(0)
+fdiv %st(1), %st(0)
+fdivr %st(1), %st(0)
+
+// CHECK: fadd %st(0), %st(1)
+// CHECK: fmul %st(0), %st(1)
+// CHECK: fsub %st(0), %st(1)
+// CHECK: fsubr %st(0), %st(1)
+// CHECK: fdiv %st(0), %st(1)
+// CHECK: fdivr %st(0), %st(1)
+fadd %st(0), %st(1)
+fmul %st(0), %st(1)
+fsub %st(0), %st(1)
+fsubr %st(0), %st(1)
+fdiv %st(0), %st(1)
+fdivr %st(0), %st(1)
 
 // CHECK: fadd %st(1)
 // CHECK: fmul %st(1)

Modified: llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x87.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x87.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x87.s Sun Feb  3 20:15:02 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st, %st(1)
+fadd %st(0), %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-fcmovb %st(1), %st
-fcmovbe %st(1), %st
-fcmove %st(1), %st
-fcmovnb %st(1), %st
-fcmovnbe %st(1), %st
-fcmovne %st(1), %st
-fcmovnu %st(1), %st
-fcmovu %st(1), %st
+fcmovb %st(1), %st(0)
+fcmovbe %st(1), %st(0)
+fcmove %st(1), %st(0)
+fcmovnb %st(1), %st(0)
+fcmovnbe %st(1), %st(0)
+fcmovne %st(1), %st(0)
+fcmovnu %st(1), %st(0)
+fcmovu %st(1), %st(0)
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st, %st(1)
+fdiv %st(0), %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st, %st(1)
+fdivr %st(0), %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -65,7 +65,7 @@ fdivrp %st(2)
 fidivrs (%ecx)
 fidivrl (%eax)
 
-ffree %st
+ffree %st(0)
 
 ficoms (%ecx)
 ficoml (%eax)
@@ -90,7 +90,7 @@ fisttps (%edx)
 fisttpl (%ecx)
 fisttpll (%eax)
 
-fld %st
+fld %st(0)
 flds (%edx)
 fldl (%ecx)
 fldt (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st, %st(1)
+fmul %st(0), %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -138,10 +138,10 @@ fsincos
 
 fsqrt
 
-fst %st
+fst %st(0)
 fsts (%edx)
 fstl (%ecx)
-fstp %st
+fstp %st(0)
 fstpl (%edx)
 fstpl (%ecx)
 fstpt (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st, %st(1)
+fsub %st(0), %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st, %st(1)
+fsubr %st(0), %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,7 +208,7 @@ fyl2xp1
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  1      5     5.00                  U     fadd	%st(2)
 # CHECK-NEXT:  1      5     5.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  1      5     5.00    *             U     faddl	(%ecx)
@@ -220,14 +220,14 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.50                  U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fchs
 # CHECK-NEXT:  1      25    12.50                 U     fnclex
-# CHECK-NEXT:  1      9     4.50                  U     fcmovb	%st(1), %st
-# CHECK-NEXT:  1      9     4.50                  U     fcmovbe	%st(1), %st
-# CHECK-NEXT:  1      9     4.50                  U     fcmove	%st(1), %st
-# CHECK-NEXT:  1      9     4.50                  U     fcmovnb	%st(1), %st
-# CHECK-NEXT:  1      9     4.50                  U     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  1      9     4.50                  U     fcmovne	%st(1), %st
-# CHECK-NEXT:  1      9     4.50                  U     fcmovnu	%st(1), %st
-# CHECK-NEXT:  1      9     4.50                  U     fcmovu	%st(1), %st
+# CHECK-NEXT:  1      9     4.50                  U     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  1      9     4.50                  U     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  1      9     4.50                  U     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  1      9     4.50                  U     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  1      9     4.50                  U     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  1      9     4.50                  U     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  1      9     4.50                  U     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  1      9     4.50                  U     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  1      5     5.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      5     5.00                  U     fcom	%st(3)
 # CHECK-NEXT:  1      5     5.00                  U     fcoms	(%ecx)
@@ -241,7 +241,7 @@ fyl2xp1
 # CHECK-NEXT:  1      9     4.50                  U     fcompi	%st(3)
 # 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(0), %st(1)
 # CHECK-NEXT:  1      34    17.00                 U     fdiv	%st(2)
 # CHECK-NEXT:  1      34    17.00   *             U     fdivs	(%ecx)
 # CHECK-NEXT:  1      34    17.00   *             U     fdivl	(%eax)
@@ -249,7 +249,7 @@ fyl2xp1
 # CHECK-NEXT:  1      34    17.00                 U     fdivp	%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(0), %st(1)
 # CHECK-NEXT:  1      34    17.00                 U     fdivr	%st(2)
 # CHECK-NEXT:  1      34    17.00   *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  1      34    17.00   *             U     fdivrl	(%eax)
@@ -257,7 +257,7 @@ fyl2xp1
 # CHECK-NEXT:  1      34    17.00                 U     fdivrp	%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
+# CHECK-NEXT:  1      1     0.50                  U     ffree	%st(0)
 # CHECK-NEXT:  1      5     5.00                  U     ficoms	(%ecx)
 # CHECK-NEXT:  1      5     5.00                  U     ficoml	(%eax)
 # CHECK-NEXT:  1      5     5.00                  U     ficomps	(%ecx)
@@ -275,7 +275,7 @@ fyl2xp1
 # CHECK-NEXT:  1      2     1.00           *      U     fisttps	(%edx)
 # CHECK-NEXT:  1      2     1.00           *      U     fisttpl	(%ecx)
 # CHECK-NEXT:  1      2     1.00           *      U     fisttpll	(%eax)
-# CHECK-NEXT:  1      1     1.00                  U     fld	%st
+# CHECK-NEXT:  1      1     1.00                  U     fld	%st(0)
 # CHECK-NEXT:  1      1     1.00    *             U     flds	(%edx)
 # CHECK-NEXT:  1      1     1.00    *             U     fldl	(%ecx)
 # CHECK-NEXT:  1      4     2.00    *             U     fldt	(%eax)
@@ -288,7 +288,7 @@ fyl2xp1
 # CHECK-NEXT:  1      10    5.00                  U     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  1      4     4.00                  U     fmul	%st(2)
 # CHECK-NEXT:  1      4     4.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  1      4     4.00    *             U     fmull	(%eax)
@@ -308,10 +308,10 @@ fyl2xp1
 # CHECK-NEXT:  1      174   87.00                 U     fsin
 # CHECK-NEXT:  1      174   87.00                 U     fsincos
 # CHECK-NEXT:  1      71    35.50                 U     fsqrt
-# CHECK-NEXT:  1      2     1.00                  U     fst	%st
+# CHECK-NEXT:  1      2     1.00                  U     fst	%st(0)
 # CHECK-NEXT:  1      2     1.00           *      U     fsts	(%edx)
 # CHECK-NEXT:  1      2     1.00           *      U     fstl	(%ecx)
-# CHECK-NEXT:  1      2     1.00                  U     fstp	%st
+# CHECK-NEXT:  1      2     1.00                  U     fstp	%st(0)
 # CHECK-NEXT:  1      2     1.00           *      U     fstpl	(%edx)
 # CHECK-NEXT:  1      2     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  1      5     2.50           *      U     fstpt	(%eax)
@@ -321,7 +321,7 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.50                  U     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  1      5     5.00                  U     fsub	%st(2)
 # CHECK-NEXT:  1      5     5.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  1      5     5.00    *             U     fsubl	(%eax)
@@ -329,7 +329,7 @@ fyl2xp1
 # CHECK-NEXT:  1      5     5.00                  U     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  1      5     5.00                  U     fsubr	%st(2)
 # CHECK-NEXT:  1      5     5.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  1      5     5.00    *             U     fsubrl	(%eax)
@@ -367,7 +367,7 @@ fyl2xp1
 # CHECK-NEXT: [0]    [1]    Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT: 5.00    -     fadd	%st(2)
 # CHECK-NEXT: 5.00    -     fadds	(%ecx)
 # CHECK-NEXT: 5.00    -     faddl	(%ecx)
@@ -379,14 +379,14 @@ fyl2xp1
 # CHECK-NEXT: 0.50   0.50   fbstp	(%eax)
 # CHECK-NEXT:  -     1.00   fchs
 # CHECK-NEXT: 12.50  12.50  fnclex
-# CHECK-NEXT: 4.50   4.50   fcmovb	%st(1), %st
-# CHECK-NEXT: 4.50   4.50   fcmovbe	%st(1), %st
-# CHECK-NEXT: 4.50   4.50   fcmove	%st(1), %st
-# CHECK-NEXT: 4.50   4.50   fcmovnb	%st(1), %st
-# CHECK-NEXT: 4.50   4.50   fcmovnbe	%st(1), %st
-# CHECK-NEXT: 4.50   4.50   fcmovne	%st(1), %st
-# CHECK-NEXT: 4.50   4.50   fcmovnu	%st(1), %st
-# CHECK-NEXT: 4.50   4.50   fcmovu	%st(1), %st
+# CHECK-NEXT: 4.50   4.50   fcmovb	%st(1), %st(0)
+# CHECK-NEXT: 4.50   4.50   fcmovbe	%st(1), %st(0)
+# CHECK-NEXT: 4.50   4.50   fcmove	%st(1), %st(0)
+# CHECK-NEXT: 4.50   4.50   fcmovnb	%st(1), %st(0)
+# CHECK-NEXT: 4.50   4.50   fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT: 4.50   4.50   fcmovne	%st(1), %st(0)
+# CHECK-NEXT: 4.50   4.50   fcmovnu	%st(1), %st(0)
+# CHECK-NEXT: 4.50   4.50   fcmovu	%st(1), %st(0)
 # CHECK-NEXT: 5.00    -     fcom	%st(1)
 # CHECK-NEXT: 5.00    -     fcom	%st(3)
 # CHECK-NEXT: 5.00    -     fcoms	(%ecx)
@@ -400,7 +400,7 @@ fyl2xp1
 # CHECK-NEXT: 4.50   4.50   fcompi	%st(3)
 # 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(0), %st(1)
 # CHECK-NEXT: 17.00  17.00  fdiv	%st(2)
 # CHECK-NEXT: 17.00  17.00  fdivs	(%ecx)
 # CHECK-NEXT: 17.00  17.00  fdivl	(%eax)
@@ -408,7 +408,7 @@ fyl2xp1
 # CHECK-NEXT: 17.00  17.00  fdivp	%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(0), %st(1)
 # CHECK-NEXT: 17.00  17.00  fdivr	%st(2)
 # CHECK-NEXT: 17.00  17.00  fdivrs	(%ecx)
 # CHECK-NEXT: 17.00  17.00  fdivrl	(%eax)
@@ -416,7 +416,7 @@ fyl2xp1
 # CHECK-NEXT: 17.00  17.00  fdivrp	%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
+# CHECK-NEXT: 0.50   0.50   ffree	%st(0)
 # CHECK-NEXT: 5.00    -     ficoms	(%ecx)
 # CHECK-NEXT: 5.00    -     ficoml	(%eax)
 # CHECK-NEXT: 5.00    -     ficomps	(%ecx)
@@ -434,7 +434,7 @@ fyl2xp1
 # CHECK-NEXT: 1.00   1.00   fisttps	(%edx)
 # CHECK-NEXT: 1.00   1.00   fisttpl	(%ecx)
 # CHECK-NEXT: 1.00   1.00   fisttpll	(%eax)
-# CHECK-NEXT: 1.00    -     fld	%st
+# CHECK-NEXT: 1.00    -     fld	%st(0)
 # CHECK-NEXT: 1.00    -     flds	(%edx)
 # CHECK-NEXT: 1.00    -     fldl	(%ecx)
 # CHECK-NEXT: 2.00   2.00   fldt	(%eax)
@@ -447,7 +447,7 @@ fyl2xp1
 # CHECK-NEXT: 5.00   5.00   fldln2
 # 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(0), %st(1)
 # CHECK-NEXT: 4.00    -     fmul	%st(2)
 # CHECK-NEXT: 4.00    -     fmuls	(%ecx)
 # CHECK-NEXT: 4.00    -     fmull	(%eax)
@@ -467,10 +467,10 @@ fyl2xp1
 # CHECK-NEXT: 87.00  87.00  fsin
 # CHECK-NEXT: 87.00  87.00  fsincos
 # CHECK-NEXT: 35.50  35.50  fsqrt
-# CHECK-NEXT: 1.00   1.00   fst	%st
+# CHECK-NEXT: 1.00   1.00   fst	%st(0)
 # CHECK-NEXT: 1.00   1.00   fsts	(%edx)
 # CHECK-NEXT: 1.00   1.00   fstl	(%ecx)
-# CHECK-NEXT: 1.00   1.00   fstp	%st
+# CHECK-NEXT: 1.00   1.00   fstp	%st(0)
 # CHECK-NEXT: 1.00   1.00   fstpl	(%edx)
 # CHECK-NEXT: 1.00   1.00   fstpl	(%ecx)
 # CHECK-NEXT: 2.50   2.50   fstpt	(%eax)
@@ -480,7 +480,7 @@ fyl2xp1
 # CHECK-NEXT: 0.50   0.50   frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT: 5.00    -     fsub	%st(2)
 # CHECK-NEXT: 5.00    -     fsubs	(%ecx)
 # CHECK-NEXT: 5.00    -     fsubl	(%eax)
@@ -488,7 +488,7 @@ fyl2xp1
 # CHECK-NEXT: 5.00    -     fsubp	%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(0), %st(1)
 # CHECK-NEXT: 5.00    -     fsubr	%st(2)
 # CHECK-NEXT: 5.00    -     fsubrs	(%ecx)
 # CHECK-NEXT: 5.00    -     fsubrl	(%eax)

Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-x87.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-x87.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-x87.s Sun Feb  3 20:15:02 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st, %st(1)
+fadd %st(0), %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-fcmovb %st(1), %st
-fcmovbe %st(1), %st
-fcmove %st(1), %st
-fcmovnb %st(1), %st
-fcmovnbe %st(1), %st
-fcmovne %st(1), %st
-fcmovnu %st(1), %st
-fcmovu %st(1), %st
+fcmovb %st(1), %st(0)
+fcmovbe %st(1), %st(0)
+fcmove %st(1), %st(0)
+fcmovnb %st(1), %st(0)
+fcmovnbe %st(1), %st(0)
+fcmovne %st(1), %st(0)
+fcmovnu %st(1), %st(0)
+fcmovu %st(1), %st(0)
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st, %st(1)
+fdiv %st(0), %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st, %st(1)
+fdivr %st(0), %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -65,7 +65,7 @@ fdivrp %st(2)
 fidivrs (%ecx)
 fidivrl (%eax)
 
-ffree %st
+ffree %st(0)
 
 ficoms (%ecx)
 ficoml (%eax)
@@ -90,7 +90,7 @@ fisttps (%edx)
 fisttpl (%ecx)
 fisttpll (%eax)
 
-fld %st
+fld %st(0)
 flds (%edx)
 fldl (%ecx)
 fldt (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st, %st(1)
+fmul %st(0), %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -138,10 +138,10 @@ fsincos
 
 fsqrt
 
-fst %st
+fst %st(0)
 fsts (%edx)
 fstl (%ecx)
-fstp %st
+fstp %st(0)
 fstpl (%edx)
 fstpl (%ecx)
 fstpt (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st, %st(1)
+fsub %st(0), %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st, %st(1)
+fsubr %st(0), %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,7 +208,7 @@ fyl2xp1
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  1      5     1.00                  U     fadd	%st(2)
 # CHECK-NEXT:  1      10    1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     faddl	(%ecx)
@@ -220,14 +220,14 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.50                  U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fchs
 # CHECK-NEXT:  1      100   0.50                  U     fnclex
-# CHECK-NEXT:  1      1     1.00                  U     fcmovb	%st(1), %st
-# CHECK-NEXT:  1      1     1.00                  U     fcmovbe	%st(1), %st
-# CHECK-NEXT:  1      1     1.00                  U     fcmove	%st(1), %st
-# CHECK-NEXT:  1      1     1.00                  U     fcmovnb	%st(1), %st
-# CHECK-NEXT:  1      1     1.00                  U     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  1      1     1.00                  U     fcmovne	%st(1), %st
-# CHECK-NEXT:  1      1     1.00                  U     fcmovnu	%st(1), %st
-# CHECK-NEXT:  1      1     1.00                  U     fcmovu	%st(1), %st
+# CHECK-NEXT:  1      1     1.00                  U     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  1      1     1.00                  U     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  1      1     1.00                  U     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  1      1     1.00                  U     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  1      1     1.00                  U     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  1      1     1.00                  U     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  1      1     1.00                  U     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  1      1     1.00                  U     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  2      1     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  2      1     1.00                  U     fcom	%st(3)
 # CHECK-NEXT:  1      6     1.00                  U     fcoms	(%ecx)
@@ -241,7 +241,7 @@ fyl2xp1
 # CHECK-NEXT:  2      1     1.00                  U     fcompi	%st(3)
 # 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(0), %st(1)
 # CHECK-NEXT:  1      9     9.50                  U     fdiv	%st(2)
 # CHECK-NEXT:  1      14    9.50    *             U     fdivs	(%ecx)
 # CHECK-NEXT:  1      14    9.50    *             U     fdivl	(%eax)
@@ -249,7 +249,7 @@ fyl2xp1
 # CHECK-NEXT:  1      9     9.50                  U     fdivp	%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(0), %st(1)
 # CHECK-NEXT:  1      9     9.50                  U     fdivr	%st(2)
 # CHECK-NEXT:  1      14    9.50    *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  1      14    9.50    *             U     fdivrl	(%eax)
@@ -257,7 +257,7 @@ fyl2xp1
 # CHECK-NEXT:  1      9     9.50                  U     fdivrp	%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
+# CHECK-NEXT:  1      100   0.50                  U     ffree	%st(0)
 # CHECK-NEXT:  2      6     1.00                  U     ficoms	(%ecx)
 # CHECK-NEXT:  2      6     1.00                  U     ficoml	(%eax)
 # CHECK-NEXT:  2      6     1.00                  U     ficomps	(%ecx)
@@ -275,7 +275,7 @@ fyl2xp1
 # CHECK-NEXT:  1      1     1.00           *      U     fisttps	(%edx)
 # CHECK-NEXT:  1      1     1.00           *      U     fisttpl	(%ecx)
 # CHECK-NEXT:  1      1     1.00           *      U     fisttpll	(%eax)
-# CHECK-NEXT:  1      1     0.50                  U     fld	%st
+# CHECK-NEXT:  1      1     0.50                  U     fld	%st(0)
 # CHECK-NEXT:  1      5     0.50    *             U     flds	(%edx)
 # CHECK-NEXT:  1      5     0.50    *             U     fldl	(%ecx)
 # CHECK-NEXT:  1      5     0.50    *             U     fldt	(%eax)
@@ -288,7 +288,7 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  1      5     1.00                  U     fmul	%st(2)
 # CHECK-NEXT:  1      10    1.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     fmull	(%eax)
@@ -308,10 +308,10 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.50                  U     fsin
 # CHECK-NEXT:  1      100   0.50                  U     fsincos
 # CHECK-NEXT:  1      1     17.50                 U     fsqrt
-# CHECK-NEXT:  1      1     0.50                  U     fst	%st
+# CHECK-NEXT:  1      1     0.50                  U     fst	%st(0)
 # CHECK-NEXT:  1      1     1.00           *      U     fsts	(%edx)
 # CHECK-NEXT:  1      1     1.00           *      U     fstl	(%ecx)
-# CHECK-NEXT:  1      1     0.50                  U     fstp	%st
+# CHECK-NEXT:  1      1     0.50                  U     fstp	%st(0)
 # CHECK-NEXT:  1      1     1.00           *      U     fstpl	(%edx)
 # CHECK-NEXT:  1      1     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  1      1     1.00           *      U     fstpt	(%eax)
@@ -321,7 +321,7 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.50                  U     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  1      5     1.00                  U     fsub	%st(2)
 # CHECK-NEXT:  1      10    1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     fsubl	(%eax)
@@ -329,7 +329,7 @@ fyl2xp1
 # CHECK-NEXT:  1      5     1.00                  U     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  1      5     1.00                  U     fsubr	%st(2)
 # CHECK-NEXT:  1      10    1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     fsubrl	(%eax)
@@ -388,7 +388,7 @@ fyl2xp1
 # CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16.0] [16.1] [17]   [18]   Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fadd	%st(2)
 # 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)
@@ -400,14 +400,14 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fbstp	(%eax)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fchs
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fnclex
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcmovb	%st(1), %st
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcmovbe	%st(1), %st
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcmove	%st(1), %st
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcmovnb	%st(1), %st
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcmovne	%st(1), %st
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcmovnu	%st(1), %st
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcmovu	%st(1), %st
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcom	%st(1)
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcom	%st(3)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fcoms	(%ecx)
@@ -421,7 +421,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcompi	%st(3)
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(2)
 # 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)
@@ -429,7 +429,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdivp	%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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(2)
 # 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)
@@ -437,7 +437,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdivrp	%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
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     ffree	%st(0)
 # CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -     0.50   0.50    -      -     ficoms	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -     0.50   0.50    -      -     ficoml	(%eax)
 # CHECK-NEXT: 0.50   0.50    -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -     0.50   0.50    -      -     ficomps	(%ecx)
@@ -455,7 +455,7 @@ fyl2xp1
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   fisttps	(%edx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   fisttpl	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   fisttpll	(%eax)
-# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fld	%st
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fld	%st(0)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     flds	(%edx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     fldl	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     0.50   0.50    -      -     fldt	(%eax)
@@ -468,7 +468,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2)
 # 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)
@@ -488,10 +488,10 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fsin
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fsincos
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     17.50  17.50   -      -      -      -      -     1.00    -      -      -      -      -      -      -     fsqrt
-# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fst	%st
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fst	%st(0)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   fsts	(%edx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   fstl	(%ecx)
-# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fstp	%st
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fstp	%st(0)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   fstpl	(%edx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   fstpl	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   fstpt	(%eax)
@@ -501,7 +501,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fsub	%st(2)
 # 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)
@@ -509,7 +509,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fsubr	%st(2)
 # 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)

Modified: llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x87.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x87.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x87.s Sun Feb  3 20:15:02 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st, %st(1)
+fadd %st(0), %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-fcmovb %st(1), %st
-fcmovbe %st(1), %st
-fcmove %st(1), %st
-fcmovnb %st(1), %st
-fcmovnbe %st(1), %st
-fcmovne %st(1), %st
-fcmovnu %st(1), %st
-fcmovu %st(1), %st
+fcmovb %st(1), %st(0)
+fcmovbe %st(1), %st(0)
+fcmove %st(1), %st(0)
+fcmovnb %st(1), %st(0)
+fcmovnbe %st(1), %st(0)
+fcmovne %st(1), %st(0)
+fcmovnu %st(1), %st(0)
+fcmovu %st(1), %st(0)
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st, %st(1)
+fdiv %st(0), %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st, %st(1)
+fdivr %st(0), %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -65,7 +65,7 @@ fdivrp %st(2)
 fidivrs (%ecx)
 fidivrl (%eax)
 
-ffree %st
+ffree %st(0)
 
 ficoms (%ecx)
 ficoml (%eax)
@@ -90,7 +90,7 @@ fisttps (%edx)
 fisttpl (%ecx)
 fisttpll (%eax)
 
-fld %st
+fld %st(0)
 flds (%edx)
 fldl (%ecx)
 fldt (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st, %st(1)
+fmul %st(0), %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -138,10 +138,10 @@ fsincos
 
 fsqrt
 
-fst %st
+fst %st(0)
 fsts (%edx)
 fstl (%ecx)
-fstp %st
+fstp %st(0)
 fstpl (%edx)
 fstpl (%ecx)
 fstpt (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st, %st(1)
+fsub %st(0), %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st, %st(1)
+fsubr %st(0), %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,7 +208,7 @@ fyl2xp1
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2)
 # CHECK-NEXT:  2      9     1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  2      9     1.00    *             U     faddl	(%ecx)
@@ -220,14 +220,14 @@ fyl2xp1
 # CHECK-NEXT:  2      1     1.00                  U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fchs
 # CHECK-NEXT:  4      4     1.00                  U     fnclex
-# CHECK-NEXT:  1      3     1.00                  U     fcmovb	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovbe	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmove	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovnb	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovne	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovnu	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st
+# CHECK-NEXT:  1      3     1.00                  U     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(3)
 # CHECK-NEXT:  2      7     1.00                  U     fcoms	(%ecx)
@@ -241,7 +241,7 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fcompi	%st(3)
 # 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      15    1.00                  U     fdiv	%st(0), %st(1)
 # CHECK-NEXT:  1      20    1.00                  U     fdiv	%st(2)
 # CHECK-NEXT:  2      21    1.00    *             U     fdivs	(%ecx)
 # CHECK-NEXT:  2      21    1.00    *             U     fdivl	(%eax)
@@ -249,7 +249,7 @@ fyl2xp1
 # CHECK-NEXT:  1      15    1.00                  U     fdivp	%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      20    1.00                  U     fdivr	%st(0), %st(1)
 # CHECK-NEXT:  1      15    1.00                  U     fdivr	%st(2)
 # CHECK-NEXT:  2      26    1.00    *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  2      26    1.00    *             U     fdivrl	(%eax)
@@ -257,7 +257,7 @@ fyl2xp1
 # CHECK-NEXT:  1      20    1.00                  U     fdivrp	%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
+# CHECK-NEXT:  1      100   0.25                  U     ffree	%st(0)
 # CHECK-NEXT:  3      10    2.00                  U     ficoms	(%ecx)
 # CHECK-NEXT:  3      10    2.00                  U     ficoml	(%eax)
 # CHECK-NEXT:  3      10    2.00                  U     ficomps	(%ecx)
@@ -275,7 +275,7 @@ fyl2xp1
 # CHECK-NEXT:  3      4     1.00           *      U     fisttps	(%edx)
 # CHECK-NEXT:  3      4     1.00           *      U     fisttpl	(%ecx)
 # CHECK-NEXT:  3      4     1.00           *      U     fisttpll	(%eax)
-# CHECK-NEXT:  1      1     0.25                  U     fld	%st
+# CHECK-NEXT:  1      1     0.25                  U     fld	%st(0)
 # CHECK-NEXT:  1      6     0.50    *             U     flds	(%edx)
 # CHECK-NEXT:  1      6     0.50    *             U     fldl	(%ecx)
 # CHECK-NEXT:  1      6     0.50    *             U     fldt	(%eax)
@@ -288,7 +288,7 @@ fyl2xp1
 # CHECK-NEXT:  2      1     1.00                  U     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  1      5     1.00                  U     fmul	%st(2)
 # CHECK-NEXT:  2      11    1.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  2      11    1.00    *             U     fmull	(%eax)
@@ -308,10 +308,10 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.25                  U     fsin
 # CHECK-NEXT:  1      100   0.25                  U     fsincos
 # CHECK-NEXT:  1      23    9.00                  U     fsqrt
-# CHECK-NEXT:  1      1     0.25                  U     fst	%st
+# CHECK-NEXT:  1      1     0.25                  U     fst	%st(0)
 # CHECK-NEXT:  1      1     1.00           *      U     fsts	(%edx)
 # CHECK-NEXT:  1      1     1.00           *      U     fstl	(%ecx)
-# CHECK-NEXT:  1      1     0.25                  U     fstp	%st
+# CHECK-NEXT:  1      1     0.25                  U     fstp	%st(0)
 # CHECK-NEXT:  2      1     1.00           *      U     fstpl	(%edx)
 # CHECK-NEXT:  2      1     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  2      1     1.00           *      U     fstpt	(%eax)
@@ -321,7 +321,7 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.25                  U     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2)
 # CHECK-NEXT:  2      9     1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  2      9     1.00    *             U     fsubl	(%eax)
@@ -329,7 +329,7 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2)
 # CHECK-NEXT:  2      9     1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  2      9     1.00    *             U     fsubrl	(%eax)
@@ -375,7 +375,7 @@ fyl2xp1
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fadd	%st(2)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fadds	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     faddl	(%ecx)
@@ -387,14 +387,14 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fbstp	(%eax)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fchs
 # CHECK-NEXT:  -      -     1.00   1.00    -      -      -     1.00   1.00    -     fnclex
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovb	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovbe	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmove	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnb	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovne	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnu	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovu	%st(1), %st
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcom	%st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcom	%st(3)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fcoms	(%ecx)
@@ -408,7 +408,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcompi	%st(3)
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(2)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivl	(%eax)
@@ -416,7 +416,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%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(0), %st(1)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(2)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivrs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivrl	(%eax)
@@ -424,7 +424,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%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
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     ffree	%st(0)
 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     ficoms	(%ecx)
 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     ficoml	(%eax)
 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     ficomps	(%ecx)
@@ -442,7 +442,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00   0.33   0.33   1.00    -      -     0.33   fisttps	(%edx)
 # CHECK-NEXT:  -      -      -     1.00   0.33   0.33   1.00    -      -     0.33   fisttpl	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00   0.33   0.33   1.00    -      -     0.33   fisttpll	(%eax)
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fld	%st
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fld	%st(0)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     flds	(%edx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     fldl	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     fldt	(%eax)
@@ -455,7 +455,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -      -      -     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fmuls	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fmull	(%eax)
@@ -475,10 +475,10 @@ fyl2xp1
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fsin
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fsincos
 # CHECK-NEXT:  -     9.00   1.00    -      -      -      -      -      -      -     fsqrt
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fst	%st
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fst	%st(0)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fsts	(%edx)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstl	(%ecx)
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fstp	%st
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fstp	%st(0)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstpl	(%edx)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstpl	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstpt	(%eax)
@@ -488,7 +488,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsub	%st(2)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubl	(%eax)
@@ -496,7 +496,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubr	%st(2)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubrs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubrl	(%eax)

Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x87.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x87.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x87.s Sun Feb  3 20:15:02 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st, %st(1)
+fadd %st(0), %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-fcmovb %st(1), %st
-fcmovbe %st(1), %st
-fcmove %st(1), %st
-fcmovnb %st(1), %st
-fcmovnbe %st(1), %st
-fcmovne %st(1), %st
-fcmovnu %st(1), %st
-fcmovu %st(1), %st
+fcmovb %st(1), %st(0)
+fcmovbe %st(1), %st(0)
+fcmove %st(1), %st(0)
+fcmovnb %st(1), %st(0)
+fcmovnbe %st(1), %st(0)
+fcmovne %st(1), %st(0)
+fcmovnu %st(1), %st(0)
+fcmovu %st(1), %st(0)
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st, %st(1)
+fdiv %st(0), %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st, %st(1)
+fdivr %st(0), %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -65,7 +65,7 @@ fdivrp %st(2)
 fidivrs (%ecx)
 fidivrl (%eax)
 
-ffree %st
+ffree %st(0)
 
 ficoms (%ecx)
 ficoml (%eax)
@@ -90,7 +90,7 @@ fisttps (%edx)
 fisttpl (%ecx)
 fisttpll (%eax)
 
-fld %st
+fld %st(0)
 flds (%edx)
 fldl (%ecx)
 fldt (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st, %st(1)
+fmul %st(0), %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -138,10 +138,10 @@ fsincos
 
 fsqrt
 
-fst %st
+fst %st(0)
 fsts (%edx)
 fstl (%ecx)
-fstp %st
+fstp %st(0)
 fstpl (%edx)
 fstpl (%ecx)
 fstpt (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st, %st(1)
+fsub %st(0), %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st, %st(1)
+fsubr %st(0), %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,7 +208,7 @@ fyl2xp1
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2)
 # CHECK-NEXT:  1      8     1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  1      8     1.00    *             U     faddl	(%ecx)
@@ -220,14 +220,14 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.50                  U     fbstp	(%eax)
 # CHECK-NEXT:  1      2     1.00                  U     fchs
 # CHECK-NEXT:  1      100   0.50                  U     fnclex
-# CHECK-NEXT:  1      3     1.00                  U     fcmovb	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovbe	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmove	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovnb	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovne	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovnu	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st
+# CHECK-NEXT:  1      3     1.00                  U     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  1      3     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fcom	%st(3)
 # CHECK-NEXT:  1      8     1.00                  U     fcoms	(%ecx)
@@ -241,7 +241,7 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fcompi	%st(3)
 # 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(0), %st(1)
 # CHECK-NEXT:  1      19    19.00                 U     fdiv	%st(2)
 # CHECK-NEXT:  1      24    19.00   *             U     fdivs	(%ecx)
 # CHECK-NEXT:  1      24    19.00   *             U     fdivl	(%eax)
@@ -249,7 +249,7 @@ fyl2xp1
 # CHECK-NEXT:  1      19    19.00                 U     fdivp	%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(0), %st(1)
 # CHECK-NEXT:  1      19    19.00                 U     fdivr	%st(2)
 # CHECK-NEXT:  1      24    19.00   *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  1      24    19.00   *             U     fdivrl	(%eax)
@@ -257,7 +257,7 @@ fyl2xp1
 # CHECK-NEXT:  1      19    19.00                 U     fdivrp	%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
+# CHECK-NEXT:  1      100   0.50                  U     ffree	%st(0)
 # CHECK-NEXT:  1      8     1.00                  U     ficoms	(%ecx)
 # CHECK-NEXT:  1      8     1.00                  U     ficoml	(%eax)
 # CHECK-NEXT:  1      8     1.00                  U     ficomps	(%ecx)
@@ -275,7 +275,7 @@ fyl2xp1
 # CHECK-NEXT:  1      1     1.00           *      U     fisttps	(%edx)
 # CHECK-NEXT:  1      1     1.00           *      U     fisttpl	(%ecx)
 # CHECK-NEXT:  1      1     1.00           *      U     fisttpll	(%eax)
-# CHECK-NEXT:  1      1     0.50                  U     fld	%st
+# CHECK-NEXT:  1      1     0.50                  U     fld	%st(0)
 # CHECK-NEXT:  1      3     1.00    *             U     flds	(%edx)
 # CHECK-NEXT:  1      3     1.00    *             U     fldl	(%ecx)
 # CHECK-NEXT:  1      3     1.00    *             U     fldt	(%eax)
@@ -288,7 +288,7 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  1      2     1.00                  U     fmul	%st(2)
 # CHECK-NEXT:  1      7     1.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  1      7     1.00    *             U     fmull	(%eax)
@@ -308,10 +308,10 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.50                  U     fsin
 # CHECK-NEXT:  1      100   0.50                  U     fsincos
 # CHECK-NEXT:  1      35    35.00                 U     fsqrt
-# CHECK-NEXT:  1      1     0.50                  U     fst	%st
+# CHECK-NEXT:  1      1     0.50                  U     fst	%st(0)
 # CHECK-NEXT:  1      1     1.00           *      U     fsts	(%edx)
 # CHECK-NEXT:  1      1     1.00           *      U     fstl	(%ecx)
-# CHECK-NEXT:  1      1     0.50                  U     fstp	%st
+# CHECK-NEXT:  1      1     0.50                  U     fstp	%st(0)
 # CHECK-NEXT:  1      1     1.00           *      U     fstpl	(%edx)
 # CHECK-NEXT:  1      1     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  1      1     1.00           *      U     fstpt	(%eax)
@@ -321,7 +321,7 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.50                  U     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2)
 # CHECK-NEXT:  1      8     1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  1      8     1.00    *             U     fsubl	(%eax)
@@ -329,7 +329,7 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2)
 # CHECK-NEXT:  1      8     1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  1      8     1.00    *             U     fsubrl	(%eax)
@@ -379,7 +379,7 @@ fyl2xp1
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]   Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fadd	%st(2)
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     fadds	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     faddl	(%ecx)
@@ -391,14 +391,14 @@ fyl2xp1
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fbstp	(%eax)
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     fchs
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fnclex
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcmovb	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcmovbe	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcmove	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcmovnb	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcmovne	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcmovnu	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcmovu	%st(1), %st
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcmovu	%st(1), %st(0)
 # CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcom	%st(1)
 # CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcom	%st(3)
 # CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     fcoms	(%ecx)
@@ -412,7 +412,7 @@ fyl2xp1
 # CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcompi	%st(3)
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdiv	%st(2)
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00   1.00    -      -      -      -      -      -     fdivs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00   1.00    -      -      -      -      -      -     fdivl	(%eax)
@@ -420,7 +420,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdivp	%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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdivr	%st(2)
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00   1.00    -      -      -      -      -      -     fdivrs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00   1.00    -      -      -      -      -      -     fdivrl	(%eax)
@@ -428,7 +428,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdivrp	%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
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     ffree	%st(0)
 # CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     ficoms	(%ecx)
 # CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     ficoml	(%eax)
 # CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     ficomps	(%ecx)
@@ -446,7 +446,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     fisttps	(%edx)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     fisttpl	(%ecx)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     fisttpll	(%eax)
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fld	%st
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fld	%st(0)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -      -      -     flds	(%edx)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -      -      -     fldl	(%ecx)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -      -      -     fldt	(%eax)
@@ -459,7 +459,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     fmul	%st(2)
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00    -      -      -      -      -      -     fmuls	(%ecx)
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00    -      -      -      -      -      -     fmull	(%eax)
@@ -479,10 +479,10 @@ fyl2xp1
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fsin
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fsincos
 # CHECK-NEXT:  -      -      -      -     35.00   -     1.00    -      -      -      -      -      -      -     fsqrt
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fst	%st
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fst	%st(0)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     fsts	(%edx)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     fstl	(%ecx)
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fstp	%st
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fstp	%st(0)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     fstpl	(%edx)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     fstpl	(%ecx)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     fstpt	(%eax)
@@ -492,7 +492,7 @@ fyl2xp1
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fsub	%st(2)
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     fsubs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     fsubl	(%eax)
@@ -500,7 +500,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fsubr	%st(2)
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     fsubrs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     fsubrl	(%eax)

Modified: llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x87.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x87.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x87.s Sun Feb  3 20:15:02 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st, %st(1)
+fadd %st(0), %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-fcmovb %st(1), %st
-fcmovbe %st(1), %st
-fcmove %st(1), %st
-fcmovnb %st(1), %st
-fcmovnbe %st(1), %st
-fcmovne %st(1), %st
-fcmovnu %st(1), %st
-fcmovu %st(1), %st
+fcmovb %st(1), %st(0)
+fcmovbe %st(1), %st(0)
+fcmove %st(1), %st(0)
+fcmovnb %st(1), %st(0)
+fcmovnbe %st(1), %st(0)
+fcmovne %st(1), %st(0)
+fcmovnu %st(1), %st(0)
+fcmovu %st(1), %st(0)
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st, %st(1)
+fdiv %st(0), %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st, %st(1)
+fdivr %st(0), %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -65,7 +65,7 @@ fdivrp %st(2)
 fidivrs (%ecx)
 fidivrl (%eax)
 
-ffree %st
+ffree %st(0)
 
 ficoms (%ecx)
 ficoml (%eax)
@@ -90,7 +90,7 @@ fisttps (%edx)
 fisttpl (%ecx)
 fisttpll (%eax)
 
-fld %st
+fld %st(0)
 flds (%edx)
 fldl (%ecx)
 fldt (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st, %st(1)
+fmul %st(0), %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -138,10 +138,10 @@ fsincos
 
 fsqrt
 
-fst %st
+fst %st(0)
 fsts (%edx)
 fstl (%ecx)
-fstp %st
+fstp %st(0)
 fstpl (%edx)
 fstpl (%ecx)
 fstpt (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st, %st(1)
+fsub %st(0), %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st, %st(1)
+fsubr %st(0), %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,7 +208,7 @@ fyl2xp1
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2)
 # CHECK-NEXT:  2      10    1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     faddl	(%ecx)
@@ -220,14 +220,14 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.33                  U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fchs
 # CHECK-NEXT:  1      100   0.33                  U     fnclex
-# CHECK-NEXT:  3      3     2.00                  U     fcmovb	%st(1), %st
-# CHECK-NEXT:  3      3     2.00                  U     fcmovbe	%st(1), %st
-# CHECK-NEXT:  3      3     2.00                  U     fcmove	%st(1), %st
-# CHECK-NEXT:  3      3     2.00                  U     fcmovnb	%st(1), %st
-# CHECK-NEXT:  3      3     2.00                  U     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  3      3     2.00                  U     fcmovne	%st(1), %st
-# CHECK-NEXT:  3      3     2.00                  U     fcmovnu	%st(1), %st
-# CHECK-NEXT:  3      3     2.00                  U     fcmovu	%st(1), %st
+# CHECK-NEXT:  3      3     2.00                  U     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  3      3     2.00                  U     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  3      3     2.00                  U     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  3      3     2.00                  U     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  3      3     2.00                  U     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  3      3     2.00                  U     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  3      3     2.00                  U     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  3      3     2.00                  U     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(3)
 # CHECK-NEXT:  2      8     1.00                  U     fcoms	(%ecx)
@@ -241,7 +241,7 @@ fyl2xp1
 # CHECK-NEXT:  3      3     1.00                  U     fcompi	%st(3)
 # 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(0), %st(1)
 # CHECK-NEXT:  1      14    14.00                 U     fdiv	%st(2)
 # CHECK-NEXT:  2      31    1.00    *             U     fdivs	(%ecx)
 # CHECK-NEXT:  2      31    1.00    *             U     fdivl	(%eax)
@@ -249,7 +249,7 @@ fyl2xp1
 # CHECK-NEXT:  1      14    14.00                 U     fdivp	%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(0), %st(1)
 # CHECK-NEXT:  1      14    14.00                 U     fdivr	%st(2)
 # CHECK-NEXT:  2      31    1.00    *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  2      31    1.00    *             U     fdivrl	(%eax)
@@ -257,7 +257,7 @@ fyl2xp1
 # CHECK-NEXT:  1      14    14.00                 U     fdivrp	%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
+# CHECK-NEXT:  1      1     1.00                  U     ffree	%st(0)
 # CHECK-NEXT:  3      11    2.00                  U     ficoms	(%ecx)
 # CHECK-NEXT:  3      11    2.00                  U     ficoml	(%eax)
 # CHECK-NEXT:  3      11    2.00                  U     ficomps	(%ecx)
@@ -275,7 +275,7 @@ fyl2xp1
 # CHECK-NEXT:  3      5     1.00           *      U     fisttps	(%edx)
 # CHECK-NEXT:  3      5     1.00           *      U     fisttpl	(%ecx)
 # CHECK-NEXT:  3      5     1.00           *      U     fisttpll	(%eax)
-# CHECK-NEXT:  1      1     1.00                  U     fld	%st
+# CHECK-NEXT:  1      1     1.00                  U     fld	%st(0)
 # CHECK-NEXT:  3      9     1.00    *             U     flds	(%edx)
 # CHECK-NEXT:  3      9     1.00    *             U     fldl	(%ecx)
 # CHECK-NEXT:  3      9     1.00    *             U     fldt	(%eax)
@@ -288,7 +288,7 @@ fyl2xp1
 # CHECK-NEXT:  2      1     1.00                  U     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  1      5     1.00                  U     fmul	%st(2)
 # CHECK-NEXT:  2      12    1.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  2      12    1.00    *             U     fmull	(%eax)
@@ -308,10 +308,10 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.33                  U     fsin
 # CHECK-NEXT:  1      100   0.33                  U     fsincos
 # CHECK-NEXT:  1      24    24.00                 U     fsqrt
-# CHECK-NEXT:  1      1     1.00                  U     fst	%st
+# CHECK-NEXT:  1      1     1.00                  U     fst	%st(0)
 # CHECK-NEXT:  3      6     1.00           *      U     fsts	(%edx)
 # CHECK-NEXT:  3      6     1.00           *      U     fstl	(%ecx)
-# CHECK-NEXT:  1      1     1.00                  U     fstp	%st
+# CHECK-NEXT:  1      1     1.00                  U     fstp	%st(0)
 # CHECK-NEXT:  3      6     1.00           *      U     fstpl	(%edx)
 # CHECK-NEXT:  3      6     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  3      6     1.00           *      U     fstpt	(%eax)
@@ -321,7 +321,7 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.33                  U     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubl	(%eax)
@@ -329,7 +329,7 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrl	(%eax)
@@ -373,7 +373,7 @@ fyl2xp1
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fadd	%st(2)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fadds	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   faddl	(%ecx)
@@ -385,14 +385,14 @@ fyl2xp1
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fbstp	(%eax)
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fchs
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fnclex
-# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovb	%st(1), %st
-# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovbe	%st(1), %st
-# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmove	%st(1), %st
-# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovnb	%st(1), %st
-# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovne	%st(1), %st
-# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovnu	%st(1), %st
-# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovu	%st(1), %st
+# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fcom	%st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fcom	%st(3)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fcoms	(%ecx)
@@ -406,7 +406,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     fcompi	%st(3)
 # 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(0), %st(1)
 # CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdiv	%st(2)
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fdivs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fdivl	(%eax)
@@ -414,7 +414,7 @@ fyl2xp1
 # CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivp	%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(0), %st(1)
 # CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivr	%st(2)
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fdivrs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fdivrl	(%eax)
@@ -422,7 +422,7 @@ fyl2xp1
 # CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivrp	%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
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     ffree	%st(0)
 # CHECK-NEXT:  -      -      -     2.00    -      -     0.50   0.50   ficoms	(%ecx)
 # CHECK-NEXT:  -      -      -     2.00    -      -     0.50   0.50   ficoml	(%eax)
 # CHECK-NEXT:  -      -      -     2.00    -      -     0.50   0.50   ficomps	(%ecx)
@@ -440,7 +440,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00   1.00    -     0.50   0.50   fisttps	(%edx)
 # CHECK-NEXT:  -      -      -     1.00   1.00    -     0.50   0.50   fisttpl	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00   1.00    -     0.50   0.50   fisttpll	(%eax)
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fld	%st
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fld	%st(0)
 # CHECK-NEXT:  -      -     0.50   0.50    -     1.00   0.50   0.50   flds	(%edx)
 # CHECK-NEXT:  -      -     0.50   0.50    -     1.00   0.50   0.50   fldl	(%ecx)
 # CHECK-NEXT:  -      -     0.50   0.50    -     1.00   0.50   0.50   fldt	(%eax)
@@ -453,7 +453,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -     fmul	%st(2)
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fmuls	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fmull	(%eax)
@@ -473,10 +473,10 @@ fyl2xp1
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fsin
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fsincos
 # CHECK-NEXT:  -     24.00  1.00    -      -      -      -      -     fsqrt
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fst	%st
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fst	%st(0)
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00   fsts	(%edx)
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00   fstl	(%ecx)
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fstp	%st
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fstp	%st(0)
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00   fstpl	(%edx)
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00   fstpl	(%ecx)
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00   fstpt	(%eax)
@@ -486,7 +486,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsub	%st(2)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fsubs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fsubl	(%eax)
@@ -494,7 +494,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubr	%st(2)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fsubrs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fsubrl	(%eax)

Modified: llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x87.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x87.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x87.s Sun Feb  3 20:15:02 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st, %st(1)
+fadd %st(0), %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-fcmovb %st(1), %st
-fcmovbe %st(1), %st
-fcmove %st(1), %st
-fcmovnb %st(1), %st
-fcmovnbe %st(1), %st
-fcmovne %st(1), %st
-fcmovnu %st(1), %st
-fcmovu %st(1), %st
+fcmovb %st(1), %st(0)
+fcmovbe %st(1), %st(0)
+fcmove %st(1), %st(0)
+fcmovnb %st(1), %st(0)
+fcmovnbe %st(1), %st(0)
+fcmovne %st(1), %st(0)
+fcmovnu %st(1), %st(0)
+fcmovu %st(1), %st(0)
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st, %st(1)
+fdiv %st(0), %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st, %st(1)
+fdivr %st(0), %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -65,7 +65,7 @@ fdivrp %st(2)
 fidivrs (%ecx)
 fidivrl (%eax)
 
-ffree %st
+ffree %st(0)
 
 ficoms (%ecx)
 ficoml (%eax)
@@ -90,7 +90,7 @@ fisttps (%edx)
 fisttpl (%ecx)
 fisttpll (%eax)
 
-fld %st
+fld %st(0)
 flds (%edx)
 fldl (%ecx)
 fldt (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st, %st(1)
+fmul %st(0), %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -138,10 +138,10 @@ fsincos
 
 fsqrt
 
-fst %st
+fst %st(0)
 fsts (%edx)
 fstl (%ecx)
-fstp %st
+fstp %st(0)
 fstpl (%edx)
 fstpl (%ecx)
 fstpt (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st, %st(1)
+fsub %st(0), %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st, %st(1)
+fsubr %st(0), %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,7 +208,7 @@ fyl2xp1
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2)
 # CHECK-NEXT:  2      10    1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     faddl	(%ecx)
@@ -220,14 +220,14 @@ fyl2xp1
 # CHECK-NEXT:  2      1     1.00                  U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fchs
 # CHECK-NEXT:  4      4     1.00                  U     fnclex
-# CHECK-NEXT:  1      3     1.00                  U     fcmovb	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovbe	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmove	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovnb	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovne	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovnu	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st
+# CHECK-NEXT:  1      3     1.00                  U     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(3)
 # CHECK-NEXT:  2      8     1.00                  U     fcoms	(%ecx)
@@ -241,7 +241,7 @@ fyl2xp1
 # CHECK-NEXT:  3      1     0.50                  U     fcompi	%st(3)
 # 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      24    1.00                  U     fdiv	%st(0), %st(1)
 # CHECK-NEXT:  1      20    1.00                  U     fdiv	%st(2)
 # CHECK-NEXT:  2      31    1.00    *             U     fdivs	(%ecx)
 # CHECK-NEXT:  2      31    1.00    *             U     fdivl	(%eax)
@@ -249,7 +249,7 @@ fyl2xp1
 # CHECK-NEXT:  1      24    1.00                  U     fdivp	%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      20    1.00                  U     fdivr	%st(0), %st(1)
 # CHECK-NEXT:  1      24    1.00                  U     fdivr	%st(2)
 # CHECK-NEXT:  2      27    1.00    *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  2      27    1.00    *             U     fdivrl	(%eax)
@@ -257,7 +257,7 @@ fyl2xp1
 # CHECK-NEXT:  1      20    1.00                  U     fdivrp	%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
+# CHECK-NEXT:  1      1     0.50                  U     ffree	%st(0)
 # CHECK-NEXT:  3      11    2.00                  U     ficoms	(%ecx)
 # CHECK-NEXT:  3      11    2.00                  U     ficoml	(%eax)
 # CHECK-NEXT:  3      11    2.00                  U     ficomps	(%ecx)
@@ -275,7 +275,7 @@ fyl2xp1
 # CHECK-NEXT:  3      4     1.00           *      U     fisttps	(%edx)
 # CHECK-NEXT:  3      4     1.00           *      U     fisttpl	(%ecx)
 # CHECK-NEXT:  3      4     1.00           *      U     fisttpll	(%eax)
-# CHECK-NEXT:  1      1     0.50                  U     fld	%st
+# CHECK-NEXT:  1      1     0.50                  U     fld	%st(0)
 # CHECK-NEXT:  1      7     0.50    *             U     flds	(%edx)
 # CHECK-NEXT:  1      7     0.50    *             U     fldl	(%ecx)
 # CHECK-NEXT:  1      7     0.50    *             U     fldt	(%eax)
@@ -288,7 +288,7 @@ fyl2xp1
 # CHECK-NEXT:  2      1     1.00                  U     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  1      5     1.00                  U     fmul	%st(2)
 # CHECK-NEXT:  2      12    1.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  2      12    1.00    *             U     fmull	(%eax)
@@ -308,10 +308,10 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.25                  U     fsin
 # CHECK-NEXT:  1      100   0.25                  U     fsincos
 # CHECK-NEXT:  1      23    17.00                 U     fsqrt
-# CHECK-NEXT:  1      1     0.50                  U     fst	%st
+# CHECK-NEXT:  1      1     0.50                  U     fst	%st(0)
 # CHECK-NEXT:  1      1     1.00           *      U     fsts	(%edx)
 # CHECK-NEXT:  1      1     1.00           *      U     fstl	(%ecx)
-# CHECK-NEXT:  1      1     0.50                  U     fstp	%st
+# CHECK-NEXT:  1      1     0.50                  U     fstp	%st(0)
 # CHECK-NEXT:  2      1     1.00           *      U     fstpl	(%edx)
 # CHECK-NEXT:  2      1     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  2      1     1.00           *      U     fstpt	(%eax)
@@ -321,7 +321,7 @@ fyl2xp1
 # CHECK-NEXT:  90     1     22.50                 U     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubl	(%eax)
@@ -329,7 +329,7 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrl	(%eax)
@@ -375,7 +375,7 @@ fyl2xp1
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fadd	%st(2)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fadds	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     faddl	(%ecx)
@@ -387,14 +387,14 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fbstp	(%eax)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fchs
 # CHECK-NEXT:  -      -     1.00   1.00    -      -      -     1.00   1.00    -     fnclex
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovb	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovbe	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmove	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnb	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovne	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnu	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovu	%st(1), %st
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcom	%st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcom	%st(3)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fcoms	(%ecx)
@@ -408,7 +408,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fcompi	%st(3)
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(2)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivl	(%eax)
@@ -416,7 +416,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%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(0), %st(1)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(2)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivrs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivrl	(%eax)
@@ -424,7 +424,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%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
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     ffree	%st(0)
 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     ficoms	(%ecx)
 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     ficoml	(%eax)
 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     ficomps	(%ecx)
@@ -442,7 +442,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00   0.33   0.33   1.00    -      -     0.33   fisttps	(%edx)
 # CHECK-NEXT:  -      -      -     1.00   0.33   0.33   1.00    -      -     0.33   fisttpl	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00   0.33   0.33   1.00    -      -     0.33   fisttpll	(%eax)
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fld	%st
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fld	%st(0)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     flds	(%edx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     fldl	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     fldt	(%eax)
@@ -455,7 +455,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -      -      -     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fmuls	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fmull	(%eax)
@@ -475,10 +475,10 @@ fyl2xp1
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fsin
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fsincos
 # CHECK-NEXT:  -     17.00  1.00    -      -      -      -      -      -      -     fsqrt
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fst	%st
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fst	%st(0)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fsts	(%edx)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstl	(%ecx)
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fstp	%st
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fstp	%st(0)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstpl	(%edx)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstpl	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstpt	(%eax)
@@ -488,7 +488,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsub	%st(2)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubl	(%eax)
@@ -496,7 +496,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubr	%st(2)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubrs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubrl	(%eax)

Modified: llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x87.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x87.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x87.s Sun Feb  3 20:15:02 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st, %st(1)
+fadd %st(0), %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-fcmovb %st(1), %st
-fcmovbe %st(1), %st
-fcmove %st(1), %st
-fcmovnb %st(1), %st
-fcmovnbe %st(1), %st
-fcmovne %st(1), %st
-fcmovnu %st(1), %st
-fcmovu %st(1), %st
+fcmovb %st(1), %st(0)
+fcmovbe %st(1), %st(0)
+fcmove %st(1), %st(0)
+fcmovnb %st(1), %st(0)
+fcmovnbe %st(1), %st(0)
+fcmovne %st(1), %st(0)
+fcmovnu %st(1), %st(0)
+fcmovu %st(1), %st(0)
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st, %st(1)
+fdiv %st(0), %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st, %st(1)
+fdivr %st(0), %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -65,7 +65,7 @@ fdivrp %st(2)
 fidivrs (%ecx)
 fidivrl (%eax)
 
-ffree %st
+ffree %st(0)
 
 ficoms (%ecx)
 ficoml (%eax)
@@ -90,7 +90,7 @@ fisttps (%edx)
 fisttpl (%ecx)
 fisttpll (%eax)
 
-fld %st
+fld %st(0)
 flds (%edx)
 fldl (%ecx)
 fldt (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st, %st(1)
+fmul %st(0), %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -138,10 +138,10 @@ fsincos
 
 fsqrt
 
-fst %st
+fst %st(0)
 fsts (%edx)
 fstl (%ecx)
-fstp %st
+fstp %st(0)
 fstpl (%edx)
 fstpl (%ecx)
 fstpt (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st, %st(1)
+fsub %st(0), %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st, %st(1)
+fsubr %st(0), %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,7 +208,7 @@ fyl2xp1
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2)
 # CHECK-NEXT:  1      6     1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  1      6     1.00    *             U     faddl	(%ecx)
@@ -220,14 +220,14 @@ fyl2xp1
 # CHECK-NEXT:  1      100   1.00                  U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     0.50                  U     fchs
 # CHECK-NEXT:  1      100   1.00                  U     fnclex
-# CHECK-NEXT:  1      3     1.00                  U     fcmovb	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovbe	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmove	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovnb	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovne	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovnu	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st
+# CHECK-NEXT:  1      3     1.00                  U     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  1      3     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fcom	%st(3)
 # CHECK-NEXT:  1      6     1.00                  U     fcoms	(%ecx)
@@ -241,7 +241,7 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fcompi	%st(3)
 # 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(0), %st(1)
 # CHECK-NEXT:  1      19    17.00                 U     fdiv	%st(2)
 # CHECK-NEXT:  1      22    17.00   *             U     fdivs	(%ecx)
 # CHECK-NEXT:  1      22    17.00   *             U     fdivl	(%eax)
@@ -249,7 +249,7 @@ fyl2xp1
 # CHECK-NEXT:  1      19    17.00                 U     fdivp	%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(0), %st(1)
 # CHECK-NEXT:  1      19    17.00                 U     fdivr	%st(2)
 # CHECK-NEXT:  1      22    17.00   *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  1      22    17.00   *             U     fdivrl	(%eax)
@@ -257,7 +257,7 @@ fyl2xp1
 # CHECK-NEXT:  1      19    17.00                 U     fdivrp	%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
+# CHECK-NEXT:  1      100   1.00                  U     ffree	%st(0)
 # CHECK-NEXT:  1      6     1.00                  U     ficoms	(%ecx)
 # CHECK-NEXT:  1      6     1.00                  U     ficoml	(%eax)
 # CHECK-NEXT:  1      6     1.00                  U     ficomps	(%ecx)
@@ -275,7 +275,7 @@ fyl2xp1
 # CHECK-NEXT:  1      1     1.00           *      U     fisttps	(%edx)
 # CHECK-NEXT:  1      1     1.00           *      U     fisttpl	(%ecx)
 # CHECK-NEXT:  1      1     1.00           *      U     fisttpll	(%eax)
-# CHECK-NEXT:  1      1     0.50                  U     fld	%st
+# CHECK-NEXT:  1      1     0.50                  U     fld	%st(0)
 # CHECK-NEXT:  1      3     1.00    *             U     flds	(%edx)
 # CHECK-NEXT:  1      3     1.00    *             U     fldl	(%ecx)
 # CHECK-NEXT:  1      3     1.00    *             U     fldt	(%eax)
@@ -288,7 +288,7 @@ fyl2xp1
 # CHECK-NEXT:  2      1     1.00                  U     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  1      5     2.00                  U     fmul	%st(2)
 # CHECK-NEXT:  1      8     2.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  1      8     2.00    *             U     fmull	(%eax)
@@ -308,10 +308,10 @@ fyl2xp1
 # CHECK-NEXT:  1      100   1.00                  U     fsin
 # CHECK-NEXT:  1      100   1.00                  U     fsincos
 # CHECK-NEXT:  1      40    40.00                 U     fsqrt
-# CHECK-NEXT:  1      1     0.50                  U     fst	%st
+# CHECK-NEXT:  1      1     0.50                  U     fst	%st(0)
 # CHECK-NEXT:  1      1     1.00           *      U     fsts	(%edx)
 # CHECK-NEXT:  1      1     1.00           *      U     fstl	(%ecx)
-# CHECK-NEXT:  1      1     0.50                  U     fstp	%st
+# CHECK-NEXT:  1      1     0.50                  U     fstp	%st(0)
 # CHECK-NEXT:  1      1     1.00           *      U     fstpl	(%edx)
 # CHECK-NEXT:  1      1     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  1      1     1.00           *      U     fstpt	(%eax)
@@ -321,7 +321,7 @@ fyl2xp1
 # CHECK-NEXT:  1      100   1.00                  U     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2)
 # CHECK-NEXT:  1      6     1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  1      6     1.00    *             U     fsubl	(%eax)
@@ -329,7 +329,7 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2)
 # CHECK-NEXT:  1      6     1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  1      6     1.00    *             U     fsubrl	(%eax)
@@ -373,7 +373,7 @@ fyl2xp1
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fadd	%st(2)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fadds	(%ecx)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   faddl	(%ecx)
@@ -385,14 +385,14 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fbstp	(%eax)
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     fchs
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fnclex
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcmovb	%st(1), %st
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcmovbe	%st(1), %st
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcmove	%st(1), %st
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcmovnb	%st(1), %st
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcmovne	%st(1), %st
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcmovnu	%st(1), %st
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcmovu	%st(1), %st
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcom	%st(1)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcom	%st(3)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fcoms	(%ecx)
@@ -406,7 +406,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcompi	%st(3)
 # 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(0), %st(1)
 # CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdiv	%st(2)
 # CHECK-NEXT:  -     17.00   -     1.00    -      -      -     1.00   fdivs	(%ecx)
 # CHECK-NEXT:  -     17.00   -     1.00    -      -      -     1.00   fdivl	(%eax)
@@ -414,7 +414,7 @@ fyl2xp1
 # CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdivp	%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(0), %st(1)
 # CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdivr	%st(2)
 # CHECK-NEXT:  -     17.00   -     1.00    -      -      -     1.00   fdivrs	(%ecx)
 # CHECK-NEXT:  -     17.00   -     1.00    -      -      -     1.00   fdivrl	(%eax)
@@ -422,7 +422,7 @@ fyl2xp1
 # CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdivrp	%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
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     ffree	%st(0)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   ficoms	(%ecx)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   ficoml	(%eax)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   ficomps	(%ecx)
@@ -440,7 +440,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   fisttps	(%edx)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   fisttpl	(%ecx)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   fisttpll	(%eax)
-# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fld	%st
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fld	%st(0)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   flds	(%edx)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   fldl	(%ecx)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   fldt	(%eax)
@@ -453,7 +453,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -     2.00   1.00    -      -      -      -     fmul	%st(2)
 # CHECK-NEXT:  -      -     2.00   1.00    -      -      -     1.00   fmuls	(%ecx)
 # CHECK-NEXT:  -      -     2.00   1.00    -      -      -     1.00   fmull	(%eax)
@@ -473,10 +473,10 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsin
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsincos
 # CHECK-NEXT:  -     40.00   -     1.00    -      -      -      -     fsqrt
-# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fst	%st
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fst	%st(0)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   fsts	(%edx)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   fstl	(%ecx)
-# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fstp	%st
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fstp	%st(0)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   fstpl	(%edx)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   fstpl	(%ecx)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50   1.00   fstpt	(%eax)
@@ -486,7 +486,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsub	%st(2)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fsubs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fsubl	(%eax)
@@ -494,7 +494,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsubr	%st(2)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fsubrs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fsubrl	(%eax)

Modified: llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s Sun Feb  3 20:15:02 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st, %st(1)
+fadd %st(0), %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-fcmovb %st(1), %st
-fcmovbe %st(1), %st
-fcmove %st(1), %st
-fcmovnb %st(1), %st
-fcmovnbe %st(1), %st
-fcmovne %st(1), %st
-fcmovnu %st(1), %st
-fcmovu %st(1), %st
+fcmovb %st(1), %st(0)
+fcmovbe %st(1), %st(0)
+fcmove %st(1), %st(0)
+fcmovnb %st(1), %st(0)
+fcmovnbe %st(1), %st(0)
+fcmovne %st(1), %st(0)
+fcmovnu %st(1), %st(0)
+fcmovu %st(1), %st(0)
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st, %st(1)
+fdiv %st(0), %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st, %st(1)
+fdivr %st(0), %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -65,7 +65,7 @@ fdivrp %st(2)
 fidivrs (%ecx)
 fidivrl (%eax)
 
-ffree %st
+ffree %st(0)
 
 ficoms (%ecx)
 ficoml (%eax)
@@ -90,7 +90,7 @@ fisttps (%edx)
 fisttpl (%ecx)
 fisttpll (%eax)
 
-fld %st
+fld %st(0)
 flds (%edx)
 fldl (%ecx)
 fldt (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st, %st(1)
+fmul %st(0), %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -138,10 +138,10 @@ fsincos
 
 fsqrt
 
-fst %st
+fst %st(0)
 fsts (%edx)
 fstl (%ecx)
-fstp %st
+fstp %st(0)
 fstpl (%edx)
 fstpl (%ecx)
 fstpt (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st, %st(1)
+fsub %st(0), %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st, %st(1)
+fsubr %st(0), %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,7 +208,7 @@ fyl2xp1
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2)
 # CHECK-NEXT:  2      10    1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     faddl	(%ecx)
@@ -220,14 +220,14 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.33                  U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fchs
 # CHECK-NEXT:  1      100   0.33                  U     fnclex
-# CHECK-NEXT:  3      3     2.00                  U     fcmovb	%st(1), %st
-# CHECK-NEXT:  3      3     2.00                  U     fcmovbe	%st(1), %st
-# CHECK-NEXT:  3      3     2.00                  U     fcmove	%st(1), %st
-# CHECK-NEXT:  3      3     2.00                  U     fcmovnb	%st(1), %st
-# CHECK-NEXT:  3      3     2.00                  U     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  3      3     2.00                  U     fcmovne	%st(1), %st
-# CHECK-NEXT:  3      3     2.00                  U     fcmovnu	%st(1), %st
-# CHECK-NEXT:  3      3     2.00                  U     fcmovu	%st(1), %st
+# CHECK-NEXT:  3      3     2.00                  U     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  3      3     2.00                  U     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  3      3     2.00                  U     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  3      3     2.00                  U     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  3      3     2.00                  U     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  3      3     2.00                  U     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  3      3     2.00                  U     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  3      3     2.00                  U     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(3)
 # CHECK-NEXT:  2      8     1.00                  U     fcoms	(%ecx)
@@ -241,7 +241,7 @@ fyl2xp1
 # CHECK-NEXT:  3      3     1.00                  U     fcompi	%st(3)
 # 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(0), %st(1)
 # CHECK-NEXT:  1      14    14.00                 U     fdiv	%st(2)
 # CHECK-NEXT:  2      31    1.00    *             U     fdivs	(%ecx)
 # CHECK-NEXT:  2      31    1.00    *             U     fdivl	(%eax)
@@ -249,7 +249,7 @@ fyl2xp1
 # CHECK-NEXT:  1      14    14.00                 U     fdivp	%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(0), %st(1)
 # CHECK-NEXT:  1      14    14.00                 U     fdivr	%st(2)
 # CHECK-NEXT:  2      31    1.00    *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  2      31    1.00    *             U     fdivrl	(%eax)
@@ -257,7 +257,7 @@ fyl2xp1
 # CHECK-NEXT:  1      14    14.00                 U     fdivrp	%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
+# CHECK-NEXT:  1      1     1.00                  U     ffree	%st(0)
 # CHECK-NEXT:  3      11    2.00                  U     ficoms	(%ecx)
 # CHECK-NEXT:  3      11    2.00                  U     ficoml	(%eax)
 # CHECK-NEXT:  3      11    2.00                  U     ficomps	(%ecx)
@@ -275,7 +275,7 @@ fyl2xp1
 # CHECK-NEXT:  3      5     1.00           *      U     fisttps	(%edx)
 # CHECK-NEXT:  3      5     1.00           *      U     fisttpl	(%ecx)
 # CHECK-NEXT:  3      5     1.00           *      U     fisttpll	(%eax)
-# CHECK-NEXT:  1      1     1.00                  U     fld	%st
+# CHECK-NEXT:  1      1     1.00                  U     fld	%st(0)
 # CHECK-NEXT:  3      9     1.00    *             U     flds	(%edx)
 # CHECK-NEXT:  3      9     1.00    *             U     fldl	(%ecx)
 # CHECK-NEXT:  3      9     1.00    *             U     fldt	(%eax)
@@ -288,7 +288,7 @@ fyl2xp1
 # CHECK-NEXT:  2      1     1.00                  U     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  1      5     1.00                  U     fmul	%st(2)
 # CHECK-NEXT:  2      12    1.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  2      12    1.00    *             U     fmull	(%eax)
@@ -308,10 +308,10 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.33                  U     fsin
 # CHECK-NEXT:  1      100   0.33                  U     fsincos
 # CHECK-NEXT:  1      24    24.00                 U     fsqrt
-# CHECK-NEXT:  1      1     1.00                  U     fst	%st
+# CHECK-NEXT:  1      1     1.00                  U     fst	%st(0)
 # CHECK-NEXT:  3      6     1.00           *      U     fsts	(%edx)
 # CHECK-NEXT:  3      6     1.00           *      U     fstl	(%ecx)
-# CHECK-NEXT:  1      1     1.00                  U     fstp	%st
+# CHECK-NEXT:  1      1     1.00                  U     fstp	%st(0)
 # CHECK-NEXT:  3      6     1.00           *      U     fstpl	(%edx)
 # CHECK-NEXT:  3      6     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  3      6     1.00           *      U     fstpt	(%eax)
@@ -321,7 +321,7 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.33                  U     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubl	(%eax)
@@ -329,7 +329,7 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrl	(%eax)
@@ -373,7 +373,7 @@ fyl2xp1
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fadd	%st(2)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fadds	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   faddl	(%ecx)
@@ -385,14 +385,14 @@ fyl2xp1
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fbstp	(%eax)
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fchs
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fnclex
-# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovb	%st(1), %st
-# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovbe	%st(1), %st
-# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmove	%st(1), %st
-# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovnb	%st(1), %st
-# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovne	%st(1), %st
-# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovnu	%st(1), %st
-# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovu	%st(1), %st
+# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  -      -     0.50    -      -     2.50    -      -     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fcom	%st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fcom	%st(3)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fcoms	(%ecx)
@@ -406,7 +406,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     fcompi	%st(3)
 # 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(0), %st(1)
 # CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdiv	%st(2)
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fdivs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fdivl	(%eax)
@@ -414,7 +414,7 @@ fyl2xp1
 # CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivp	%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(0), %st(1)
 # CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivr	%st(2)
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fdivrs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fdivrl	(%eax)
@@ -422,7 +422,7 @@ fyl2xp1
 # CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivrp	%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
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     ffree	%st(0)
 # CHECK-NEXT:  -      -      -     2.00    -      -     0.50   0.50   ficoms	(%ecx)
 # CHECK-NEXT:  -      -      -     2.00    -      -     0.50   0.50   ficoml	(%eax)
 # CHECK-NEXT:  -      -      -     2.00    -      -     0.50   0.50   ficomps	(%ecx)
@@ -440,7 +440,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00   1.00    -     0.50   0.50   fisttps	(%edx)
 # CHECK-NEXT:  -      -      -     1.00   1.00    -     0.50   0.50   fisttpl	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00   1.00    -     0.50   0.50   fisttpll	(%eax)
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fld	%st
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fld	%st(0)
 # CHECK-NEXT:  -      -     0.50   0.50    -     1.00   0.50   0.50   flds	(%edx)
 # CHECK-NEXT:  -      -     0.50   0.50    -     1.00   0.50   0.50   fldl	(%ecx)
 # CHECK-NEXT:  -      -     0.50   0.50    -     1.00   0.50   0.50   fldt	(%eax)
@@ -453,7 +453,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -     fmul	%st(2)
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fmuls	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fmull	(%eax)
@@ -473,10 +473,10 @@ fyl2xp1
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fsin
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fsincos
 # CHECK-NEXT:  -     24.00  1.00    -      -      -      -      -     fsqrt
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fst	%st
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fst	%st(0)
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00   fsts	(%edx)
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00   fstl	(%ecx)
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fstp	%st
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fstp	%st(0)
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00   fstpl	(%edx)
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00   fstpl	(%ecx)
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00   fstpt	(%eax)
@@ -486,7 +486,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsub	%st(2)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fsubs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fsubl	(%eax)
@@ -494,7 +494,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubr	%st(2)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fsubrs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fsubrl	(%eax)

Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s Sun Feb  3 20:15:02 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st, %st(1)
+fadd %st(0), %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-fcmovb %st(1), %st
-fcmovbe %st(1), %st
-fcmove %st(1), %st
-fcmovnb %st(1), %st
-fcmovnbe %st(1), %st
-fcmovne %st(1), %st
-fcmovnu %st(1), %st
-fcmovu %st(1), %st
+fcmovb %st(1), %st(0)
+fcmovbe %st(1), %st(0)
+fcmove %st(1), %st(0)
+fcmovnb %st(1), %st(0)
+fcmovnbe %st(1), %st(0)
+fcmovne %st(1), %st(0)
+fcmovnu %st(1), %st(0)
+fcmovu %st(1), %st(0)
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st, %st(1)
+fdiv %st(0), %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st, %st(1)
+fdivr %st(0), %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -65,7 +65,7 @@ fdivrp %st(2)
 fidivrs (%ecx)
 fidivrl (%eax)
 
-ffree %st
+ffree %st(0)
 
 ficoms (%ecx)
 ficoml (%eax)
@@ -90,7 +90,7 @@ fisttps (%edx)
 fisttpl (%ecx)
 fisttpll (%eax)
 
-fld %st
+fld %st(0)
 flds (%edx)
 fldl (%ecx)
 fldt (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st, %st(1)
+fmul %st(0), %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -138,10 +138,10 @@ fsincos
 
 fsqrt
 
-fst %st
+fst %st(0)
 fsts (%edx)
 fstl (%ecx)
-fstp %st
+fstp %st(0)
 fstpl (%edx)
 fstpl (%ecx)
 fstpt (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st, %st(1)
+fsub %st(0), %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st, %st(1)
+fsubr %st(0), %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,7 +208,7 @@ fyl2xp1
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2)
 # CHECK-NEXT:  2      10    1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     faddl	(%ecx)
@@ -220,14 +220,14 @@ fyl2xp1
 # CHECK-NEXT:  2      1     1.00                  U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fchs
 # CHECK-NEXT:  4      4     1.00                  U     fnclex
-# CHECK-NEXT:  1      3     1.00                  U     fcmovb	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovbe	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmove	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovnb	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovne	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovnu	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st
+# CHECK-NEXT:  1      3     1.00                  U     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(3)
 # CHECK-NEXT:  2      8     1.00                  U     fcoms	(%ecx)
@@ -241,7 +241,7 @@ fyl2xp1
 # CHECK-NEXT:  1      2     1.00                  U     fcompi	%st(3)
 # 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      15    1.00                  U     fdiv	%st(0), %st(1)
 # CHECK-NEXT:  1      20    1.00                  U     fdiv	%st(2)
 # CHECK-NEXT:  2      22    1.00    *             U     fdivs	(%ecx)
 # CHECK-NEXT:  2      22    1.00    *             U     fdivl	(%eax)
@@ -249,7 +249,7 @@ fyl2xp1
 # CHECK-NEXT:  1      15    1.00                  U     fdivp	%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      20    1.00                  U     fdivr	%st(0), %st(1)
 # CHECK-NEXT:  1      15    1.00                  U     fdivr	%st(2)
 # CHECK-NEXT:  2      27    1.00    *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  2      27    1.00    *             U     fdivrl	(%eax)
@@ -257,7 +257,7 @@ fyl2xp1
 # CHECK-NEXT:  1      20    1.00                  U     fdivrp	%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
+# CHECK-NEXT:  1      100   0.25                  U     ffree	%st(0)
 # CHECK-NEXT:  3      11    2.00                  U     ficoms	(%ecx)
 # CHECK-NEXT:  3      11    2.00                  U     ficoml	(%eax)
 # CHECK-NEXT:  3      11    2.00                  U     ficomps	(%ecx)
@@ -275,7 +275,7 @@ fyl2xp1
 # CHECK-NEXT:  3      4     1.00           *      U     fisttps	(%edx)
 # CHECK-NEXT:  3      4     1.00           *      U     fisttpl	(%ecx)
 # CHECK-NEXT:  3      4     1.00           *      U     fisttpll	(%eax)
-# CHECK-NEXT:  1      1     0.25                  U     fld	%st
+# CHECK-NEXT:  1      1     0.25                  U     fld	%st(0)
 # CHECK-NEXT:  1      7     0.50    *             U     flds	(%edx)
 # CHECK-NEXT:  1      7     0.50    *             U     fldl	(%ecx)
 # CHECK-NEXT:  1      7     0.50    *             U     fldt	(%eax)
@@ -288,7 +288,7 @@ fyl2xp1
 # CHECK-NEXT:  2      1     1.00                  U     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  1      4     1.00                  U     fmul	%st(2)
 # CHECK-NEXT:  2      11    1.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  2      11    1.00    *             U     fmull	(%eax)
@@ -308,10 +308,10 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.25                  U     fsin
 # CHECK-NEXT:  1      100   0.25                  U     fsincos
 # CHECK-NEXT:  1      21    7.00                  U     fsqrt
-# CHECK-NEXT:  1      1     0.25                  U     fst	%st
+# CHECK-NEXT:  1      1     0.25                  U     fst	%st(0)
 # CHECK-NEXT:  1      1     1.00           *      U     fsts	(%edx)
 # CHECK-NEXT:  1      1     1.00           *      U     fstl	(%ecx)
-# CHECK-NEXT:  1      1     0.25                  U     fstp	%st
+# CHECK-NEXT:  1      1     0.25                  U     fstp	%st(0)
 # CHECK-NEXT:  2      1     1.00           *      U     fstpl	(%edx)
 # CHECK-NEXT:  2      1     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  2      1     1.00           *      U     fstpt	(%eax)
@@ -321,7 +321,7 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.25                  U     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubl	(%eax)
@@ -329,7 +329,7 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrl	(%eax)
@@ -375,7 +375,7 @@ fyl2xp1
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fadd	%st(2)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fadds	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     faddl	(%ecx)
@@ -387,14 +387,14 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fbstp	(%eax)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fchs
 # CHECK-NEXT:  -      -     1.00   1.00    -      -      -     1.00   1.00    -     fnclex
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovb	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovbe	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmove	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnb	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovne	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnu	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovu	%st(1), %st
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fcom	%st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fcom	%st(3)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fcoms	(%ecx)
@@ -408,7 +408,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fcompi	%st(3)
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(2)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivl	(%eax)
@@ -416,7 +416,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%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(0), %st(1)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(2)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivrs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivrl	(%eax)
@@ -424,7 +424,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%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
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     ffree	%st(0)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     ficoms	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     ficoml	(%eax)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     ficomps	(%ecx)
@@ -442,7 +442,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   1.00    -     0.33   fisttps	(%edx)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   1.00    -     0.33   fisttpl	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   1.00    -     0.33   fisttpll	(%eax)
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fld	%st
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fld	%st(0)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     flds	(%edx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     fldl	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     fldt	(%eax)
@@ -455,7 +455,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fmuls	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fmull	(%eax)
@@ -475,10 +475,10 @@ fyl2xp1
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fsin
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fsincos
 # CHECK-NEXT:  -     7.00   1.00    -      -      -      -      -      -      -     fsqrt
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fst	%st
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fst	%st(0)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fsts	(%edx)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstl	(%ecx)
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fstp	%st
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fstp	%st(0)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstpl	(%edx)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstpl	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstpt	(%eax)
@@ -488,7 +488,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsub	%st(2)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubl	(%eax)
@@ -496,7 +496,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubr	%st(2)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubrs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubrl	(%eax)

Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s Sun Feb  3 20:15:02 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st, %st(1)
+fadd %st(0), %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-fcmovb %st(1), %st
-fcmovbe %st(1), %st
-fcmove %st(1), %st
-fcmovnb %st(1), %st
-fcmovnbe %st(1), %st
-fcmovne %st(1), %st
-fcmovnu %st(1), %st
-fcmovu %st(1), %st
+fcmovb %st(1), %st(0)
+fcmovbe %st(1), %st(0)
+fcmove %st(1), %st(0)
+fcmovnb %st(1), %st(0)
+fcmovnbe %st(1), %st(0)
+fcmovne %st(1), %st(0)
+fcmovnu %st(1), %st(0)
+fcmovu %st(1), %st(0)
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st, %st(1)
+fdiv %st(0), %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st, %st(1)
+fdivr %st(0), %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -65,7 +65,7 @@ fdivrp %st(2)
 fidivrs (%ecx)
 fidivrl (%eax)
 
-ffree %st
+ffree %st(0)
 
 ficoms (%ecx)
 ficoml (%eax)
@@ -90,7 +90,7 @@ fisttps (%edx)
 fisttpl (%ecx)
 fisttpll (%eax)
 
-fld %st
+fld %st(0)
 flds (%edx)
 fldl (%ecx)
 fldt (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st, %st(1)
+fmul %st(0), %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -138,10 +138,10 @@ fsincos
 
 fsqrt
 
-fst %st
+fst %st(0)
 fsts (%edx)
 fstl (%ecx)
-fstp %st
+fstp %st(0)
 fstpl (%edx)
 fstpl (%ecx)
 fstpt (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st, %st(1)
+fsub %st(0), %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st, %st(1)
+fsubr %st(0), %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,7 +208,7 @@ fyl2xp1
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2)
 # CHECK-NEXT:  2      10    1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     faddl	(%ecx)
@@ -220,14 +220,14 @@ fyl2xp1
 # CHECK-NEXT:  2      1     1.00                  U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fchs
 # CHECK-NEXT:  4      4     1.00                  U     fnclex
-# CHECK-NEXT:  1      3     1.00                  U     fcmovb	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovbe	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmove	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovnb	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovne	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovnu	%st(1), %st
-# CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st
+# CHECK-NEXT:  1      3     1.00                  U     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(3)
 # CHECK-NEXT:  2      8     1.00                  U     fcoms	(%ecx)
@@ -241,7 +241,7 @@ fyl2xp1
 # CHECK-NEXT:  1      2     1.00                  U     fcompi	%st(3)
 # 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      15    1.00                  U     fdiv	%st(0), %st(1)
 # CHECK-NEXT:  1      20    1.00                  U     fdiv	%st(2)
 # CHECK-NEXT:  2      22    1.00    *             U     fdivs	(%ecx)
 # CHECK-NEXT:  2      22    1.00    *             U     fdivl	(%eax)
@@ -249,7 +249,7 @@ fyl2xp1
 # CHECK-NEXT:  1      15    1.00                  U     fdivp	%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      20    1.00                  U     fdivr	%st(0), %st(1)
 # CHECK-NEXT:  1      15    1.00                  U     fdivr	%st(2)
 # CHECK-NEXT:  2      27    1.00    *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  2      27    1.00    *             U     fdivrl	(%eax)
@@ -257,7 +257,7 @@ fyl2xp1
 # CHECK-NEXT:  1      20    1.00                  U     fdivrp	%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
+# CHECK-NEXT:  1      100   0.25                  U     ffree	%st(0)
 # CHECK-NEXT:  3      11    2.00                  U     ficoms	(%ecx)
 # CHECK-NEXT:  3      11    2.00                  U     ficoml	(%eax)
 # CHECK-NEXT:  3      11    2.00                  U     ficomps	(%ecx)
@@ -275,7 +275,7 @@ fyl2xp1
 # CHECK-NEXT:  3      4     1.00           *      U     fisttps	(%edx)
 # CHECK-NEXT:  3      4     1.00           *      U     fisttpl	(%ecx)
 # CHECK-NEXT:  3      4     1.00           *      U     fisttpll	(%eax)
-# CHECK-NEXT:  1      1     0.25                  U     fld	%st
+# CHECK-NEXT:  1      1     0.25                  U     fld	%st(0)
 # CHECK-NEXT:  1      7     0.50    *             U     flds	(%edx)
 # CHECK-NEXT:  1      7     0.50    *             U     fldl	(%ecx)
 # CHECK-NEXT:  1      7     0.50    *             U     fldt	(%eax)
@@ -288,7 +288,7 @@ fyl2xp1
 # CHECK-NEXT:  2      1     1.00                  U     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  1      4     1.00                  U     fmul	%st(2)
 # CHECK-NEXT:  2      11    1.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  2      11    1.00    *             U     fmull	(%eax)
@@ -308,10 +308,10 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.25                  U     fsin
 # CHECK-NEXT:  1      100   0.25                  U     fsincos
 # CHECK-NEXT:  1      21    7.00                  U     fsqrt
-# CHECK-NEXT:  1      1     0.25                  U     fst	%st
+# CHECK-NEXT:  1      1     0.25                  U     fst	%st(0)
 # CHECK-NEXT:  1      1     1.00           *      U     fsts	(%edx)
 # CHECK-NEXT:  1      1     1.00           *      U     fstl	(%ecx)
-# CHECK-NEXT:  1      1     0.25                  U     fstp	%st
+# CHECK-NEXT:  1      1     0.25                  U     fstp	%st(0)
 # CHECK-NEXT:  2      1     1.00           *      U     fstpl	(%edx)
 # CHECK-NEXT:  2      1     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  2      1     1.00           *      U     fstpt	(%eax)
@@ -321,7 +321,7 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.25                  U     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubl	(%eax)
@@ -329,7 +329,7 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrl	(%eax)
@@ -375,7 +375,7 @@ fyl2xp1
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fadd	%st(2)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fadds	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     faddl	(%ecx)
@@ -387,14 +387,14 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fbstp	(%eax)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fchs
 # CHECK-NEXT:  -      -     1.00   1.00    -      -      -     1.00   1.00    -     fnclex
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovb	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovbe	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmove	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnb	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovne	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnu	%st(1), %st
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovu	%st(1), %st
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fcom	%st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fcom	%st(3)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fcoms	(%ecx)
@@ -408,7 +408,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fcompi	%st(3)
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(2)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivl	(%eax)
@@ -416,7 +416,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%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(0), %st(1)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(2)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivrs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivrl	(%eax)
@@ -424,7 +424,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%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
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     ffree	%st(0)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     ficoms	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     ficoml	(%eax)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     ficomps	(%ecx)
@@ -442,7 +442,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   1.00    -     0.33   fisttps	(%edx)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   1.00    -     0.33   fisttpl	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   1.00    -     0.33   fisttpll	(%eax)
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fld	%st
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fld	%st(0)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     flds	(%edx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     fldl	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     fldt	(%eax)
@@ -455,7 +455,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fmuls	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fmull	(%eax)
@@ -475,10 +475,10 @@ fyl2xp1
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fsin
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fsincos
 # CHECK-NEXT:  -     7.00   1.00    -      -      -      -      -      -      -     fsqrt
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fst	%st
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fst	%st(0)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fsts	(%edx)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstl	(%ecx)
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fstp	%st
+# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fstp	%st(0)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstpl	(%edx)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstpl	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstpt	(%eax)
@@ -488,7 +488,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsub	%st(2)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubl	(%eax)
@@ -496,7 +496,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubr	%st(2)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubrs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubrl	(%eax)

Modified: llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x87.s?rev=353013&r1=353012&r2=353013&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x87.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x87.s Sun Feb  3 20:15:02 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st, %st(1)
+fadd %st(0), %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-fcmovb %st(1), %st
-fcmovbe %st(1), %st
-fcmove %st(1), %st
-fcmovnb %st(1), %st
-fcmovnbe %st(1), %st
-fcmovne %st(1), %st
-fcmovnu %st(1), %st
-fcmovu %st(1), %st
+fcmovb %st(1), %st(0)
+fcmovbe %st(1), %st(0)
+fcmove %st(1), %st(0)
+fcmovnb %st(1), %st(0)
+fcmovnbe %st(1), %st(0)
+fcmovne %st(1), %st(0)
+fcmovnu %st(1), %st(0)
+fcmovu %st(1), %st(0)
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st, %st(1)
+fdiv %st(0), %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st, %st(1)
+fdivr %st(0), %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -65,7 +65,7 @@ fdivrp %st(2)
 fidivrs (%ecx)
 fidivrl (%eax)
 
-ffree %st
+ffree %st(0)
 
 ficoms (%ecx)
 ficoml (%eax)
@@ -90,7 +90,7 @@ fisttps (%edx)
 fisttpl (%ecx)
 fisttpll (%eax)
 
-fld %st
+fld %st(0)
 flds (%edx)
 fldl (%ecx)
 fldt (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st, %st(1)
+fmul %st(0), %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -138,10 +138,10 @@ fsincos
 
 fsqrt
 
-fst %st
+fst %st(0)
 fsts (%edx)
 fstl (%ecx)
-fstp %st
+fstp %st(0)
 fstpl (%edx)
 fstpl (%ecx)
 fstpt (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st, %st(1)
+fsub %st(0), %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st, %st(1)
+fsubr %st(0), %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,7 +208,7 @@ fyl2xp1
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # 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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2)
 # CHECK-NEXT:  1      10    1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     faddl	(%ecx)
@@ -220,14 +220,14 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.25                  U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fchs
 # CHECK-NEXT:  1      100   0.25                  U     fnclex
-# CHECK-NEXT:  1      100   0.25                  U     fcmovb	%st(1), %st
-# CHECK-NEXT:  1      100   0.25                  U     fcmovbe	%st(1), %st
-# CHECK-NEXT:  1      100   0.25                  U     fcmove	%st(1), %st
-# CHECK-NEXT:  1      100   0.25                  U     fcmovnb	%st(1), %st
-# CHECK-NEXT:  1      100   0.25                  U     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  1      100   0.25                  U     fcmovne	%st(1), %st
-# CHECK-NEXT:  1      100   0.25                  U     fcmovnu	%st(1), %st
-# CHECK-NEXT:  1      100   0.25                  U     fcmovu	%st(1), %st
+# CHECK-NEXT:  1      100   0.25                  U     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  1      100   0.25                  U     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  1      100   0.25                  U     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  1      100   0.25                  U     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  1      100   0.25                  U     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  1      100   0.25                  U     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  1      100   0.25                  U     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  1      100   0.25                  U     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(3)
 # CHECK-NEXT:  1      8     1.00                  U     fcoms	(%ecx)
@@ -241,7 +241,7 @@ fyl2xp1
 # CHECK-NEXT:  1      9     0.50                  U     fcompi	%st(3)
 # 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(0), %st(1)
 # CHECK-NEXT:  1      15    1.00                  U     fdiv	%st(2)
 # CHECK-NEXT:  1      22    1.00    *             U     fdivs	(%ecx)
 # CHECK-NEXT:  1      22    1.00    *             U     fdivl	(%eax)
@@ -249,7 +249,7 @@ fyl2xp1
 # CHECK-NEXT:  1      15    1.00                  U     fdivp	%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(0), %st(1)
 # CHECK-NEXT:  1      15    1.00                  U     fdivr	%st(2)
 # CHECK-NEXT:  1      22    1.00    *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  1      22    1.00    *             U     fdivrl	(%eax)
@@ -257,7 +257,7 @@ fyl2xp1
 # CHECK-NEXT:  1      15    1.00                  U     fdivrp	%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
+# CHECK-NEXT:  1      11    1.00                  U     ffree	%st(0)
 # CHECK-NEXT:  2      12    1.50                  U     ficoms	(%ecx)
 # CHECK-NEXT:  2      12    1.50                  U     ficoml	(%eax)
 # CHECK-NEXT:  2      12    1.50                  U     ficomps	(%ecx)
@@ -275,7 +275,7 @@ fyl2xp1
 # CHECK-NEXT:  1      12    0.50           *      U     fisttps	(%edx)
 # CHECK-NEXT:  1      12    0.50           *      U     fisttpl	(%ecx)
 # CHECK-NEXT:  1      12    0.50           *      U     fisttpll	(%eax)
-# CHECK-NEXT:  1      1     0.50                  U     fld	%st
+# CHECK-NEXT:  1      1     0.50                  U     fld	%st(0)
 # CHECK-NEXT:  1      8     0.50    *             U     flds	(%edx)
 # CHECK-NEXT:  1      8     0.50    *             U     fldl	(%ecx)
 # CHECK-NEXT:  2      1     0.50    *             U     fldt	(%eax)
@@ -288,7 +288,7 @@ fyl2xp1
 # CHECK-NEXT:  1      11    1.00                  U     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  1      3     0.50                  U     fmul	%st(2)
 # CHECK-NEXT:  2      10    0.50    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  2      10    0.50    *             U     fmull	(%eax)
@@ -308,10 +308,10 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.25                  U     fsin
 # CHECK-NEXT:  1      100   0.25                  U     fsincos
 # CHECK-NEXT:  1      20    20.00                 U     fsqrt
-# CHECK-NEXT:  2      5     0.50                  U     fst	%st
+# CHECK-NEXT:  2      5     0.50                  U     fst	%st(0)
 # CHECK-NEXT:  1      1     0.50           *      U     fsts	(%edx)
 # CHECK-NEXT:  1      1     0.50           *      U     fstl	(%ecx)
-# CHECK-NEXT:  2      5     0.50                  U     fstp	%st
+# CHECK-NEXT:  2      5     0.50                  U     fstp	%st(0)
 # CHECK-NEXT:  1      1     0.50           *      U     fstpl	(%edx)
 # CHECK-NEXT:  1      1     0.50           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  1      5     0.50           *      U     fstpt	(%eax)
@@ -321,7 +321,7 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.25                  U     frstor	(%eax)
 # 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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2)
 # CHECK-NEXT:  1      10    1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     fsubl	(%eax)
@@ -329,7 +329,7 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2)
 # CHECK-NEXT:  1      10    1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     fsubrl	(%eax)
@@ -377,7 +377,7 @@ fyl2xp1
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   Instructions:
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     f2xm1
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fabs
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fadd	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fadd	%st(0), %st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fadd	%st(2)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fadds	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     faddl	(%ecx)
@@ -389,14 +389,14 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fbstp	(%eax)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fchs
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fnclex
-# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fcmovb	%st(1), %st
-# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fcmovbe	%st(1), %st
-# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fcmove	%st(1), %st
-# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fcmovnb	%st(1), %st
-# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fcmovnbe	%st(1), %st
-# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fcmovne	%st(1), %st
-# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fcmovnu	%st(1), %st
-# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fcmovu	%st(1), %st
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fcmovb	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fcmovbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fcmove	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fcmovnb	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fcmovnbe	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fcmovne	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fcmovnu	%st(1), %st(0)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fcmovu	%st(1), %st(0)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fcom	%st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fcom	%st(3)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fcoms	(%ecx)
@@ -410,7 +410,7 @@ fyl2xp1
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.50    -     0.50    -      -     fcompi	%st(3)
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdiv	%st(2)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     1.00    -     fdivs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     1.00    -     fdivl	(%eax)
@@ -418,7 +418,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdivp	%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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdivr	%st(2)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     1.00    -     fdivrs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     1.00    -     fdivrl	(%eax)
@@ -426,7 +426,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdivrp	%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
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     1.00    -     ffree	%st(0)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.50    -      -     1.50    -     ficoms	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.50    -      -     1.50    -     ficoml	(%eax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.50    -      -     1.50    -     ficomps	(%ecx)
@@ -444,7 +444,7 @@ fyl2xp1
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -     0.50   0.50    -     fisttps	(%edx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -     0.50   0.50    -     fisttpl	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -     0.50   0.50    -     fisttpll	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50    -     0.50    -     fld	%st
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50    -     0.50    -     fld	%st(0)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     flds	(%edx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     fldl	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50    -     0.50    -     fldt	(%eax)
@@ -457,7 +457,7 @@ fyl2xp1
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     1.00    -     fldln2
 # 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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -     0.50   0.50    -      -      -     fmul	%st(2)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.50   0.50    -      -      -     fmuls	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.50   0.50    -      -      -     fmull	(%eax)
@@ -477,10 +477,10 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fsin
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fsincos
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     20.00   -     fsqrt
-# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     0.50   0.50    -     fst	%st
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     0.50   0.50    -     fst	%st(0)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     fsts	(%edx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     fstl	(%ecx)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     0.50   0.50    -     fstp	%st
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     0.50   0.50    -     fstp	%st(0)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     fstpl	(%edx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -     fstpl	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -     0.50   0.50    -     fstpt	(%eax)
@@ -490,7 +490,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     frstor	(%eax)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     wait
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fnsave	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsub	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsub	%st(0), %st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsub	%st(2)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fsubs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fsubl	(%eax)
@@ -498,7 +498,7 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsubp	%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(0), %st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsubr	%st(2)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fsubrs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fsubrl	(%eax)




More information about the llvm-commits mailing list