[llvm-branch-commits] [llvm-branch] r353818 - Merging r352607 r352608 r353015 r353061 r353138 r353141 r353334 r353489

Hans Wennborg via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Tue Feb 12 02:13:48 PST 2019


Author: hans
Date: Tue Feb 12 02:13:48 2019
New Revision: 353818

URL: http://llvm.org/viewvc/llvm-project?rev=353818&view=rev
Log:
Merging r352607 r352608 r353015 r353061 r353138 r353141 r353334 r353489

And re-generate expectations for a test:
$ utils/update_llc_test_checks.py --llc-binary ../build.release/bin/llc test/CodeGen/X86/x87-schedule.ll

Will also merge cfe r353142 for a clang-side test.

This merge was requested in PR40667.


------------------------------------------------------------------------
r352607 | ctopper | 2019-01-30 08:08:44 +0100 (Wed, 30 Jan 2019) | 1 line

[X86] Add FPSW as a Def on some FP instructions that were missing it.
------------------------------------------------------------------------

------------------------------------------------------------------------
r352608 | ctopper | 2019-01-30 08:33:24 +0100 (Wed, 30 Jan 2019) | 5 lines

[X86] Remove a couple places where we unnecessarily pass 0 to the EmitPriority of some FP instruction aliases. NFC

As far as I can tell we already won't emit these aliases due to an operand count check in the tablegen code. Removing these because I couldn't make sense of the inconsistency between fadd and fmul from reading the code.

I checked the AsmMatcher and AsmWriter files before and after this change and there were no differences.
------------------------------------------------------------------------

------------------------------------------------------------------------
r353015 | ctopper | 2019-02-04 05:15:10 +0100 (Mon, 04 Feb 2019) | 3 lines

[X86] Print %st(0) as %st when its implicit to the instruction. Continue printing it as %st(0) when its encoded in the instruction.

This is a step back from the change I made in r352985. This appears to be more consistent with gcc and objdump behavior.
------------------------------------------------------------------------

------------------------------------------------------------------------
r353061 | ctopper | 2019-02-04 18:28:18 +0100 (Mon, 04 Feb 2019) | 5 lines

[X86] Print all register forms of x87 fadd/fsub/fdiv/fmul as having two arguments where on is %st.

All of these instructions consume one encoded register and the other register is %st. They either write the result to %st or the encoded register. Previously we printed both arguments when the encoded register was written. And we printed one argument when the result was written to %st. For the stack popping forms the encoded register is always the destination and we didn't print both operands. This was inconsistent with gcc and objdump and just makes the output assembly code harder to read.

This patch changes things to always print both operands making us consistent with gcc and objdump. The parser should still be able to handle the single register forms just as it did before. This also matches the GNU assembler behavior.
------------------------------------------------------------------------

------------------------------------------------------------------------
r353138 | ctopper | 2019-02-05 05:48:23 +0100 (Tue, 05 Feb 2019) | 1 line

[X86] Add test case from PR40529. NFC
------------------------------------------------------------------------

------------------------------------------------------------------------
r353141 | ctopper | 2019-02-05 07:13:06 +0100 (Tue, 05 Feb 2019) | 16 lines

[X86] Connect the default fpsr and dirflag clobbers in inline assembly to the registers we have defined for them.

Summary:
We don't currently map these constraints to physical register numbers so they don't make it to the MachineIR representation of inline assembly.

This could have problems for proper dependency tracking in the machine schedulers though I don't have a test case that shows that.

Reviewers: rnk

Reviewed By: rnk

Subscribers: eraman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D57641
------------------------------------------------------------------------

------------------------------------------------------------------------
r353334 | ctopper | 2019-02-06 20:50:59 +0100 (Wed, 06 Feb 2019) | 1 line

[X86] Change the CPU on the test case for pr40529.ll to really show the bug. NFC
------------------------------------------------------------------------

------------------------------------------------------------------------
r353489 | ctopper | 2019-02-08 01:44:39 +0100 (Fri, 08 Feb 2019) | 14 lines

[X86] Add FPCW as a register and start using it as an implicit use on floating point instructions.

Summary:
FPCW contains the rounding mode control which we manipulate to implement fp to integer conversion by changing the roudning mode, storing the value to the stack, and then changing the rounding mode back. Because we didn't model FPCW and its dependency chain, other instructions could be scheduled into the middle of the sequence.

This patch introduces the register and adds it as an implciit def of FLDCW and implicit use of the FP binary arithmetic instructions and store instructions. There are more instructions that need to be updated, but this is a good start. I believe this fixes at least the reduced test case from PR40529.

Reviewers: RKSimon, spatel, rnk, efriedma, andrew.w.kaylor

Subscribers: dim, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D57735
------------------------------------------------------------------------

Added:
    llvm/branches/release_80/test/CodeGen/X86/inline-asm-default-clobbers.ll
      - copied unchanged from r353141, llvm/trunk/test/CodeGen/X86/inline-asm-default-clobbers.ll
    llvm/branches/release_80/test/CodeGen/X86/pr40529.ll
      - copied, changed from r353138, llvm/trunk/test/CodeGen/X86/pr40529.ll
Modified:
    llvm/branches/release_80/   (props changed)
    llvm/branches/release_80/lib/Target/X86/AsmParser/X86AsmParser.cpp
    llvm/branches/release_80/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
    llvm/branches/release_80/lib/Target/X86/InstPrinter/X86ATTInstPrinter.h
    llvm/branches/release_80/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
    llvm/branches/release_80/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h
    llvm/branches/release_80/lib/Target/X86/X86ISelLowering.cpp
    llvm/branches/release_80/lib/Target/X86/X86InstrFPStack.td
    llvm/branches/release_80/lib/Target/X86/X86InstrInfo.td
    llvm/branches/release_80/lib/Target/X86/X86RegisterInfo.cpp
    llvm/branches/release_80/lib/Target/X86/X86RegisterInfo.td
    llvm/branches/release_80/test/CodeGen/MIR/X86/memory-operands.mir
    llvm/branches/release_80/test/CodeGen/X86/and-su.ll
    llvm/branches/release_80/test/CodeGen/X86/avx512-regcall-NoMask.ll
    llvm/branches/release_80/test/CodeGen/X86/fcmove.ll
    llvm/branches/release_80/test/CodeGen/X86/fmf-flags.ll
    llvm/branches/release_80/test/CodeGen/X86/fp-cvt.ll
    llvm/branches/release_80/test/CodeGen/X86/inline-asm-fpstack.ll
    llvm/branches/release_80/test/CodeGen/X86/ipra-reg-usage.ll
    llvm/branches/release_80/test/CodeGen/X86/pr13577.ll
    llvm/branches/release_80/test/CodeGen/X86/pr33349.ll
    llvm/branches/release_80/test/CodeGen/X86/pr34080.ll
    llvm/branches/release_80/test/CodeGen/X86/pr34177.ll
    llvm/branches/release_80/test/CodeGen/X86/scalar-fp-to-i64.ll
    llvm/branches/release_80/test/CodeGen/X86/select.ll
    llvm/branches/release_80/test/CodeGen/X86/sincos-opt.ll
    llvm/branches/release_80/test/CodeGen/X86/x87-schedule.ll
    llvm/branches/release_80/test/MC/Disassembler/X86/fp-stack.txt
    llvm/branches/release_80/test/MC/Disassembler/X86/x86-16.txt
    llvm/branches/release_80/test/MC/X86/PPRO-32.s
    llvm/branches/release_80/test/MC/X86/PPRO-64.s
    llvm/branches/release_80/test/MC/X86/X87-32.s
    llvm/branches/release_80/test/MC/X86/X87-64.s
    llvm/branches/release_80/test/MC/X86/intel-syntax-2.s
    llvm/branches/release_80/test/MC/X86/intel-syntax.s
    llvm/branches/release_80/test/MC/X86/x86-16.s
    llvm/branches/release_80/test/MC/X86/x86-32-coverage.s
    llvm/branches/release_80/test/MC/X86/x86-32.s
    llvm/branches/release_80/test/MC/X86/x86-64.s
    llvm/branches/release_80/test/tools/llvm-mca/X86/Atom/resources-x87.s
    llvm/branches/release_80/test/tools/llvm-mca/X86/BdVer2/resources-x87.s
    llvm/branches/release_80/test/tools/llvm-mca/X86/Broadwell/resources-x87.s
    llvm/branches/release_80/test/tools/llvm-mca/X86/BtVer2/resources-x87.s
    llvm/branches/release_80/test/tools/llvm-mca/X86/Generic/resources-x87.s
    llvm/branches/release_80/test/tools/llvm-mca/X86/Haswell/resources-x87.s
    llvm/branches/release_80/test/tools/llvm-mca/X86/SLM/resources-x87.s
    llvm/branches/release_80/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s
    llvm/branches/release_80/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s
    llvm/branches/release_80/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s
    llvm/branches/release_80/test/tools/llvm-mca/X86/Znver1/resources-x87.s
    llvm/branches/release_80/utils/TableGen/X86RecognizableInstr.cpp

Propchange: llvm/branches/release_80/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 12 02:13:48 2019
@@ -1,3 +1,3 @@
 /llvm/branches/Apple/Pertwee:110850,110961
 /llvm/branches/type-system-rewrite:133420-134817
-/llvm/trunk:155241,351325,351344-351345,351349,351351,351370,351381,351387,351421,351426,351436,351475,351485,351753-351754,351765,351910,351930,351932,352034,352204,352246,352374,352555,352770,352889,352945,353082,353155,353218,353304,353367,353374,353463,353551,353809
+/llvm/trunk:155241,351325,351344-351345,351349,351351,351370,351381,351387,351421,351426,351436,351475,351485,351753-351754,351765,351910,351930,351932,352034,352204,352246,352374,352555,352607-352608,352770,352889,352945,353015,353061,353082,353138,353141,353155,353218,353304,353334,353367,353374,353463,353489,353551,353809

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

Modified: llvm/branches/release_80/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp (original)
+++ llvm/branches/release_80/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp Tue Feb 12 02:13:48 2019
@@ -200,3 +200,14 @@ void X86ATTInstPrinter::printU8Imm(const
   O << markup("<imm:") << '$' << formatImm(MI->getOperand(Op).getImm() & 0xff)
     << markup(">");
 }
+
+void X86ATTInstPrinter::printSTiRegOperand(const MCInst *MI, unsigned OpNo,
+                                           raw_ostream &OS) {
+  const MCOperand &Op = MI->getOperand(OpNo);
+  unsigned Reg = Op.getReg();
+  // Override the default printing to print st(0) instead st.
+  if (Reg == X86::ST0)
+    OS << markup("<reg:") << "%st(0)" << markup(">");
+  else
+    printRegName(OS, Reg);
+}

Modified: llvm/branches/release_80/lib/Target/X86/InstPrinter/X86ATTInstPrinter.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/lib/Target/X86/InstPrinter/X86ATTInstPrinter.h?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/lib/Target/X86/InstPrinter/X86ATTInstPrinter.h (original)
+++ llvm/branches/release_80/lib/Target/X86/InstPrinter/X86ATTInstPrinter.h Tue Feb 12 02:13:48 2019
@@ -44,6 +44,7 @@ public:
   void printSrcIdx(const MCInst *MI, unsigned Op, raw_ostream &O);
   void printDstIdx(const MCInst *MI, unsigned Op, raw_ostream &O);
   void printU8Imm(const MCInst *MI, unsigned Op, raw_ostream &OS);
+  void printSTiRegOperand(const MCInst *MI, unsigned OpNo, raw_ostream &OS);
 
   void printanymem(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
     printMemReference(MI, OpNo, O);

Modified: llvm/branches/release_80/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp (original)
+++ llvm/branches/release_80/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp Tue Feb 12 02:13:48 2019
@@ -160,3 +160,14 @@ void X86IntelInstPrinter::printU8Imm(con
 
   O << formatImm(MI->getOperand(Op).getImm() & 0xff);
 }
+
+void X86IntelInstPrinter::printSTiRegOperand(const MCInst *MI, unsigned OpNo,
+                                            raw_ostream &OS) {
+  const MCOperand &Op = MI->getOperand(OpNo);
+  unsigned Reg = Op.getReg();
+  // Override the default printing to print st(0) instead st.
+  if (Reg == X86::ST0)
+    OS << "st(0)";
+  else
+    printRegName(OS, Reg);
+}

Modified: llvm/branches/release_80/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h (original)
+++ llvm/branches/release_80/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h Tue Feb 12 02:13:48 2019
@@ -39,6 +39,7 @@ public:
   void printSrcIdx(const MCInst *MI, unsigned OpNo, raw_ostream &O);
   void printDstIdx(const MCInst *MI, unsigned OpNo, raw_ostream &O);
   void printU8Imm(const MCInst *MI, unsigned Op, raw_ostream &O);
+  void printSTiRegOperand(const MCInst *MI, unsigned OpNo, raw_ostream &OS);
 
   void printanymem(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
     printMemReference(MI, OpNo, O);

Modified: llvm/branches/release_80/lib/Target/X86/X86ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/lib/Target/X86/X86ISelLowering.cpp?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/branches/release_80/lib/Target/X86/X86ISelLowering.cpp Tue Feb 12 02:13:48 2019
@@ -42507,6 +42507,14 @@ X86TargetLowering::getRegForInlineAsmCon
     if (StringRef("{flags}").equals_lower(Constraint))
       return std::make_pair(X86::EFLAGS, &X86::CCRRegClass);
 
+    // dirflag -> DF
+    if (StringRef("{dirflag}").equals_lower(Constraint))
+      return std::make_pair(X86::DF, &X86::DFCCRRegClass);
+
+    // fpsr -> FPSW
+    if (StringRef("{fpsr}").equals_lower(Constraint))
+      return std::make_pair(X86::FPSW, &X86::FPCCRRegClass);
+
     // 'A' means [ER]AX + [ER]DX.
     if (Constraint == "A") {
       if (Subtarget.is64Bit())

Modified: llvm/branches/release_80/lib/Target/X86/X86InstrFPStack.td
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/lib/Target/X86/X86InstrFPStack.td?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/lib/Target/X86/X86InstrFPStack.td (original)
+++ llvm/branches/release_80/lib/Target/X86/X86InstrFPStack.td Tue Feb 12 02:13:48 2019
@@ -230,7 +230,7 @@ def _FI32m  : FPI<0xDA, fp, (outs), (ins
 } // mayLoad = 1, hasSideEffects = 1
 }
 
-let Defs = [FPSW] in {
+let Defs = [FPSW], Uses = [FPCW] in {
 // FPBinary_rr just defines pseudo-instructions, no need to set a scheduling
 // resources.
 let hasNoSchedulingInfo = 1 in {
@@ -258,42 +258,42 @@ defm DIVR: FPBinary<fdiv, MRM7m, "divr",
 } // Defs = [FPSW]
 
 class FPST0rInst<Format fp, string asm>
-  : FPI<0xD8, fp, (outs), (ins RST:$op), asm>;
+  : FPI<0xD8, fp, (outs), (ins RSTi:$op), asm>;
 class FPrST0Inst<Format fp, string asm>
-  : FPI<0xDC, fp, (outs), (ins RST:$op), asm>;
+  : FPI<0xDC, fp, (outs), (ins RSTi:$op), asm>;
 class FPrST0PInst<Format fp, string asm>
-  : FPI<0xDE, fp, (outs), (ins RST:$op), asm>;
+  : FPI<0xDE, fp, (outs), (ins RSTi:$op), asm>;
 
 // NOTE: GAS and apparently all other AT&T style assemblers have a broken notion
 // of some of the 'reverse' forms of the fsub and fdiv instructions.  As such,
 // we have to put some 'r's in and take them out of weird places.
-let SchedRW = [WriteFAdd] in {
-def ADD_FST0r   : FPST0rInst <MRM0r, "fadd\t$op">;
-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(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(0), $op|$op, st(0)}">;
-def SUBR_FPrST0 : FPrST0PInst<MRM4r, "fsub{|r}p\t$op">;
+let SchedRW = [WriteFAdd], Defs = [FPSW], Uses = [FPCW] in {
+def ADD_FST0r   : FPST0rInst <MRM0r, "fadd\t{$op, %st|st, $op}">;
+def ADD_FrST0   : FPrST0Inst <MRM0r, "fadd\t{%st, $op|$op, st}">;
+def ADD_FPrST0  : FPrST0PInst<MRM0r, "faddp\t{%st, $op|$op, st}">;
+def SUBR_FST0r  : FPST0rInst <MRM5r, "fsubr\t{$op, %st|st, $op}">;
+def SUB_FrST0   : FPrST0Inst <MRM5r, "fsub{r}\t{%st, $op|$op, st}">;
+def SUB_FPrST0  : FPrST0PInst<MRM5r, "fsub{r}p\t{%st, $op|$op, st}">;
+def SUB_FST0r   : FPST0rInst <MRM4r, "fsub\t{$op, %st|st, $op}">;
+def SUBR_FrST0  : FPrST0Inst <MRM4r, "fsub{|r}\t{%st, $op|$op, st}">;
+def SUBR_FPrST0 : FPrST0PInst<MRM4r, "fsub{|r}p\t{%st, $op|$op, st}">;
 } // SchedRW
-let SchedRW = [WriteFCom] in {
+let SchedRW = [WriteFCom], Defs = [FPSW], Uses = [FPCW] in {
 def COM_FST0r   : FPST0rInst <MRM2r, "fcom\t$op">;
 def COMP_FST0r  : FPST0rInst <MRM3r, "fcomp\t$op">;
 } // SchedRW
-let SchedRW = [WriteFMul] in {
-def MUL_FST0r   : FPST0rInst <MRM1r, "fmul\t$op">;
-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] in {
-def DIVR_FST0r  : FPST0rInst <MRM7r, "fdivr\t$op">;
-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(0), $op|$op, st(0)}">;
-def DIVR_FPrST0 : FPrST0PInst<MRM6r, "fdiv{|r}p\t$op">;
+let SchedRW = [WriteFMul], Defs = [FPSW], Uses = [FPCW] in {
+def MUL_FST0r   : FPST0rInst <MRM1r, "fmul\t{$op, %st|st, $op}">;
+def MUL_FrST0   : FPrST0Inst <MRM1r, "fmul\t{%st, $op|$op, st}">;
+def MUL_FPrST0  : FPrST0PInst<MRM1r, "fmulp\t{%st, $op|$op, st}">;
+} // SchedRW
+let SchedRW = [WriteFDiv], Defs = [FPSW], Uses = [FPCW] in {
+def DIVR_FST0r  : FPST0rInst <MRM7r, "fdivr\t{$op, %st|st, $op}">;
+def DIV_FrST0   : FPrST0Inst <MRM7r, "fdiv{r}\t{%st, $op|$op, st}">;
+def DIV_FPrST0  : FPrST0PInst<MRM7r, "fdiv{r}p\t{%st, $op|$op, st}">;
+def DIV_FST0r   : FPST0rInst <MRM6r, "fdiv\t{$op, %st|st, $op}">;
+def DIVR_FrST0  : FPrST0Inst <MRM6r, "fdiv{|r}\t{%st, $op|$op, st}">;
+def DIVR_FPrST0 : FPrST0PInst<MRM6r, "fdiv{|r}p\t{%st, $op|$op, st}">;
 } // SchedRW
 
 // Unary operations.
@@ -307,7 +307,7 @@ def _Fp80  : FpI_<(outs RFP80:$dst), (in
 def _F     : FPI<0xD9, fp, (outs), (ins), asmstring>;
 }
 
-let Defs = [FPSW] in {
+let Defs = [FPSW], Uses = [FPCW] in {
 
 let SchedRW = [WriteFSign] in {
 defm CHS : FPUnary<fneg, MRM_E0, "fchs">;
@@ -335,7 +335,7 @@ def TST_F  : FPI<0xD9, MRM_E4, (outs), (
 
 // Versions of FP instructions that take a single memory operand.  Added for the
 //   disassembler; remove as they are included with patterns elsewhere.
-let SchedRW = [WriteFComLd] in {
+let SchedRW = [WriteFComLd], Defs = [FPSW], Uses = [FPCW] in {
 def FCOM32m  : FPI<0xD8, MRM2m, (outs), (ins f32mem:$src), "fcom{s}\t$src">;
 def FCOMP32m : FPI<0xD8, MRM3m, (outs), (ins f32mem:$src), "fcomp{s}\t$src">;
 
@@ -398,22 +398,22 @@ 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(0)|st(0), $op}">;
-def CMOVBE_F : FPI<0xDA, MRM2r, (outs), (ins RST:$op),
-                  "fcmovbe\t{$op, %st(0)|st(0), $op}">;
-def CMOVE_F  : FPI<0xDA, MRM1r, (outs), (ins RST:$op),
-                  "fcmove\t{$op, %st(0)|st(0), $op}">;
-def CMOVP_F  : FPI<0xDA, MRM3r, (outs), (ins RST:$op),
-                  "fcmovu\t{$op, %st(0)|st(0), $op}">;
-def CMOVNB_F : FPI<0xDB, MRM0r, (outs), (ins RST:$op),
-                  "fcmovnb\t{$op, %st(0)|st(0), $op}">;
-def CMOVNBE_F: FPI<0xDB, MRM2r, (outs), (ins RST:$op),
-                  "fcmovnbe\t{$op, %st(0)|st(0), $op}">;
-def CMOVNE_F : FPI<0xDB, MRM1r, (outs), (ins RST:$op),
-                  "fcmovne\t{$op, %st(0)|st(0), $op}">;
-def CMOVNP_F : FPI<0xDB, MRM3r, (outs), (ins RST:$op),
-                  "fcmovnu\t{$op, %st(0)|st(0), $op}">;
+def CMOVB_F  : FPI<0xDA, MRM0r, (outs), (ins RSTi:$op),
+                  "fcmovb\t{$op, %st|st, $op}">;
+def CMOVBE_F : FPI<0xDA, MRM2r, (outs), (ins RSTi:$op),
+                  "fcmovbe\t{$op, %st|st, $op}">;
+def CMOVE_F  : FPI<0xDA, MRM1r, (outs), (ins RSTi:$op),
+                  "fcmove\t{$op, %st|st, $op}">;
+def CMOVP_F  : FPI<0xDA, MRM3r, (outs), (ins RSTi:$op),
+                  "fcmovu\t{$op, %st|st, $op}">;
+def CMOVNB_F : FPI<0xDB, MRM0r, (outs), (ins RSTi:$op),
+                  "fcmovnb\t{$op, %st|st, $op}">;
+def CMOVNBE_F: FPI<0xDB, MRM2r, (outs), (ins RSTi:$op),
+                  "fcmovnbe\t{$op, %st|st, $op}">;
+def CMOVNE_F : FPI<0xDB, MRM1r, (outs), (ins RSTi:$op),
+                  "fcmovne\t{$op, %st|st, $op}">;
+def CMOVNP_F : FPI<0xDB, MRM3r, (outs), (ins RSTi:$op),
+                  "fcmovnu\t{$op, %st|st, $op}">;
 } // Predicates = [HasCMov]
 } // SchedRW
 
@@ -454,7 +454,7 @@ def ILD_Fp64m80: FpI_<(outs RFP80:$dst),
                   [(set RFP80:$dst, (X86fild addr:$src, i64))]>;
 } // SchedRW
 
-let SchedRW = [WriteStore] in {
+let SchedRW = [WriteStore], Uses = [FPCW] in {
 def ST_Fp32m   : FpIf32<(outs), (ins f32mem:$op, RFP32:$src), OneArgFP,
                   [(store RFP32:$src, addr:$op)]>;
 def ST_Fp64m32 : FpIf64<(outs), (ins f32mem:$op, RFP64:$src), OneArgFP,
@@ -489,7 +489,7 @@ def IST_Fp16m80  : FpI_<(outs), (ins i16
 def IST_Fp32m80  : FpI_<(outs), (ins i32mem:$op, RFP80:$src), OneArgFP, []>;
 def IST_Fp64m80  : FpI_<(outs), (ins i64mem:$op, RFP80:$src), OneArgFP, []>;
 } // mayStore
-} // SchedRW
+} // SchedRW, Uses = [FPCW]
 
 let mayLoad = 1, SchedRW = [WriteLoad] in {
 def LD_F32m   : FPI<0xD9, MRM0m, (outs), (ins f32mem:$src), "fld{s}\t$src">;
@@ -499,7 +499,7 @@ def ILD_F16m  : FPI<0xDF, MRM0m, (outs),
 def ILD_F32m  : FPI<0xDB, MRM0m, (outs), (ins i32mem:$src), "fild{l}\t$src">;
 def ILD_F64m  : FPI<0xDF, MRM5m, (outs), (ins i64mem:$src), "fild{ll}\t$src">;
 }
-let mayStore = 1, SchedRW = [WriteStore] in {
+let mayStore = 1, SchedRW = [WriteStore], Uses = [FPCW] in {
 def ST_F32m   : FPI<0xD9, MRM2m, (outs), (ins f32mem:$dst), "fst{s}\t$dst">;
 def ST_F64m   : FPI<0xDD, MRM2m, (outs), (ins f64mem:$dst), "fst{l}\t$dst">;
 def ST_FP32m  : FPI<0xD9, MRM3m, (outs), (ins f32mem:$dst), "fstp{s}\t$dst">;
@@ -513,7 +513,7 @@ def IST_FP64m : FPI<0xDF, MRM7m, (outs),
 }
 
 // FISTTP requires SSE3 even though it's a FPStack op.
-let Predicates = [HasSSE3], SchedRW = [WriteStore] in {
+let Predicates = [HasSSE3], SchedRW = [WriteStore], Uses = [FPCW] in {
 def ISTT_Fp16m32 : FpI_<(outs), (ins i16mem:$op, RFP32:$src), OneArgFP,
                     [(X86fp_to_i16mem RFP32:$src, addr:$op)]>;
 def ISTT_Fp32m32 : FpI_<(outs), (ins i32mem:$op, RFP32:$src), OneArgFP,
@@ -534,7 +534,7 @@ def ISTT_Fp64m80 : FpI_<(outs), (ins i64
                     [(X86fp_to_i64mem RFP80:$src, addr:$op)]>;
 } // Predicates = [HasSSE3]
 
-let mayStore = 1, SchedRW = [WriteStore] in {
+let mayStore = 1, SchedRW = [WriteStore], Uses = [FPCW] in {
 def ISTT_FP16m : FPI<0xDF, MRM1m, (outs), (ins i16mem:$dst), "fisttp{s}\t$dst">;
 def ISTT_FP32m : FPI<0xDB, MRM1m, (outs), (ins i32mem:$dst), "fisttp{l}\t$dst">;
 def ISTT_FP64m : FPI<0xDD, MRM1m, (outs), (ins i64mem:$dst), "fisttp{ll}\t$dst">;
@@ -542,10 +542,10 @@ def ISTT_FP64m : FPI<0xDD, MRM1m, (outs)
 
 // FP Stack manipulation instructions.
 let SchedRW = [WriteMove] in {
-def LD_Frr   : FPI<0xD9, MRM0r, (outs), (ins RST:$op), "fld\t$op">;
-def ST_Frr   : FPI<0xDD, MRM2r, (outs), (ins RST:$op), "fst\t$op">;
-def ST_FPrr  : FPI<0xDD, MRM3r, (outs), (ins RST:$op), "fstp\t$op">;
-def XCH_F    : FPI<0xD9, MRM1r, (outs), (ins RST:$op), "fxch\t$op">;
+def LD_Frr   : FPI<0xD9, MRM0r, (outs), (ins RSTi:$op), "fld\t$op">;
+def ST_Frr   : FPI<0xDD, MRM2r, (outs), (ins RSTi:$op), "fst\t$op">;
+def ST_FPrr  : FPI<0xDD, MRM3r, (outs), (ins RSTi:$op), "fstp\t$op">;
+def XCH_F    : FPI<0xD9, MRM1r, (outs), (ins RSTi:$op), "fxch\t$op">;
 }
 
 // Floating point constant loads.
@@ -570,7 +570,7 @@ def LD_F0 : FPI<0xD9, MRM_EE, (outs), (i
 let SchedRW = [WriteFLD1] in
 def LD_F1 : FPI<0xD9, MRM_E8, (outs), (ins), "fld1">;
 
-let SchedRW = [WriteFLDC], Defs = [FPSW] in {
+let SchedRW = [WriteFLDC] in {
 def FLDL2T : I<0xD9, MRM_E9, (outs), (ins), "fldl2t", []>;
 def FLDL2E : I<0xD9, MRM_EA, (outs), (ins), "fldl2e", []>;
 def FLDPI : I<0xD9, MRM_EB, (outs), (ins), "fldpi", []>;
@@ -579,7 +579,7 @@ def FLDLN2 : I<0xD9, MRM_ED, (outs), (in
 } // SchedRW
 
 // Floating point compares.
-let SchedRW = [WriteFCom] in {
+let SchedRW = [WriteFCom], Uses = [FPCW] in {
 def UCOM_Fpr32 : FpIf32<(outs), (ins RFP32:$lhs, RFP32:$rhs), CompareFP,
                         [(set FPSW, (trunc (X86cmp RFP32:$lhs, RFP32:$rhs)))]>;
 def UCOM_Fpr64 : FpIf64<(outs), (ins RFP64:$lhs, RFP64:$rhs), CompareFP,
@@ -591,37 +591,37 @@ def UCOM_Fpr80 : FpI_  <(outs), (ins RFP
 
 let SchedRW = [WriteFCom] in {
 // CC = ST(0) cmp ST(i)
-let Defs = [EFLAGS, FPSW] in {
-let Predicates = [FPStackf32, HasCMov] in
-def UCOM_FpIr32: FpIf32<(outs), (ins RFP32:$lhs, RFP32:$rhs), CompareFP,
-                  [(set EFLAGS, (X86cmp RFP32:$lhs, RFP32:$rhs))]>;
-let Predicates = [FPStackf64, HasCMov] in
-def UCOM_FpIr64: FpIf64<(outs), (ins RFP64:$lhs, RFP64:$rhs), CompareFP,
-                  [(set EFLAGS, (X86cmp RFP64:$lhs, RFP64:$rhs))]>;
-let Predicates = [HasCMov] in
+let Defs = [EFLAGS, FPSW], Uses = [FPCW] in {
+def UCOM_FpIr32: FpI_<(outs), (ins RFP32:$lhs, RFP32:$rhs), CompareFP,
+                  [(set EFLAGS, (X86cmp RFP32:$lhs, RFP32:$rhs))]>,
+                  Requires<[FPStackf32, HasCMov]>;
+def UCOM_FpIr64: FpI_<(outs), (ins RFP64:$lhs, RFP64:$rhs), CompareFP,
+                  [(set EFLAGS, (X86cmp RFP64:$lhs, RFP64:$rhs))]>,
+                  Requires<[FPStackf64, HasCMov]>;
 def UCOM_FpIr80: FpI_<(outs), (ins RFP80:$lhs, RFP80:$rhs), CompareFP,
-                  [(set EFLAGS, (X86cmp RFP80:$lhs, RFP80:$rhs))]>;
+                  [(set EFLAGS, (X86cmp RFP80:$lhs, RFP80:$rhs))]>,
+                  Requires<[HasCMov]>;
 }
 
-let Defs = [FPSW], Uses = [ST0] in {
+let Defs = [FPSW], Uses = [ST0, FPCW] in {
 def UCOM_Fr    : FPI<0xDD, MRM4r,    // FPSW = cmp ST(0) with ST(i)
-                    (outs), (ins RST:$reg), "fucom\t$reg">;
+                    (outs), (ins RSTi:$reg), "fucom\t$reg">;
 def UCOM_FPr   : FPI<0xDD, MRM5r,    // FPSW = cmp ST(0) with ST(i), pop
-                    (outs), (ins RST:$reg), "fucomp\t$reg">;
+                    (outs), (ins RSTi:$reg), "fucomp\t$reg">;
 def UCOM_FPPr  : FPI<0xDA, MRM_E9,       // cmp ST(0) with ST(1), pop, pop
                     (outs), (ins), "fucompp">;
 }
 
-let Defs = [EFLAGS, FPSW], Uses = [ST0] in {
+let Defs = [EFLAGS, FPSW], Uses = [ST0, FPCW] in {
 def UCOM_FIr   : FPI<0xDB, MRM5r,     // CC = cmp ST(0) with ST(i)
-                    (outs), (ins RST:$reg), "fucomi\t$reg">;
+                    (outs), (ins RSTi:$reg), "fucomi\t{$reg, %st|st, $reg}">;
 def UCOM_FIPr  : FPI<0xDF, MRM5r,     // CC = cmp ST(0) with ST(i), pop
-                    (outs), (ins RST:$reg), "fucompi\t$reg">;
-}
+                    (outs), (ins RSTi:$reg), "fucompi\t{$reg, %st|st, $reg}">;
 
-let Defs = [EFLAGS, FPSW] in {
-def COM_FIr : FPI<0xDB, MRM6r, (outs), (ins RST:$reg), "fcomi\t$reg">;
-def COM_FIPr : FPI<0xDF, MRM6r, (outs), (ins RST:$reg), "fcompi\t$reg">;
+def COM_FIr : FPI<0xDB, MRM6r, (outs), (ins RSTi:$reg),
+                  "fcomi\t{$reg, %st|st, $reg}">;
+def COM_FIPr : FPI<0xDF, MRM6r, (outs), (ins RSTi:$reg),
+                   "fcompi\t{$reg, %st|st, $reg}">;
 }
 } // SchedRW
 
@@ -631,12 +631,12 @@ let Defs = [AX], Uses = [FPSW] in
 def FNSTSW16r : I<0xDF, MRM_E0,                  // AX = fp flags
                   (outs), (ins), "fnstsw\t{%ax|ax}",
                   [(set AX, (X86fp_stsw FPSW))]>;
-let Defs = [FPSW] in
+let Defs = [FPSW], Uses = [FPCW] in
 def FNSTCW16m : I<0xD9, MRM7m,                   // [mem16] = X87 control world
                   (outs), (ins i16mem:$dst), "fnstcw\t$dst",
                   [(X86fp_cwd_get16 addr:$dst)]>;
 } // SchedRW
-let Defs = [FPSW], mayLoad = 1 in
+let Defs = [FPSW,FPCW], mayLoad = 1 in
 def FLDCW16m  : I<0xD9, MRM5m,                   // X87 control world = [mem16]
                   (outs), (ins i16mem:$dst), "fldcw\t$dst", []>,
                 Sched<[WriteLoad]>;
@@ -645,8 +645,8 @@ def FLDCW16m  : I<0xD9, MRM5m,
 let SchedRW = [WriteMicrocoded] in {
 let Defs = [FPSW] in {
 def FNINIT : I<0xDB, MRM_E3, (outs), (ins), "fninit", []>;
-def FFREE : FPI<0xDD, MRM0r, (outs), (ins RST:$reg), "ffree\t$reg">;
-def FFREEP : FPI<0xDF, MRM0r, (outs), (ins RST:$reg), "ffreep\t$reg">;
+def FFREE : FPI<0xDD, MRM0r, (outs), (ins RSTi:$reg), "ffree\t$reg">;
+def FFREEP : FPI<0xDF, MRM0r, (outs), (ins RSTi:$reg), "ffreep\t$reg">;
 
 // Clear exceptions
 def FNCLEX : I<0xDB, MRM_E2, (outs), (ins), "fnclex", []>;

Modified: llvm/branches/release_80/lib/Target/X86/X86InstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/lib/Target/X86/X86InstrInfo.td?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/lib/Target/X86/X86InstrInfo.td (original)
+++ llvm/branches/release_80/lib/Target/X86/X86InstrInfo.td Tue Feb 12 02:13:48 2019
@@ -3231,39 +3231,39 @@ 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(0)|st(0), $op}"),
-                 (Inst RST:$op), EmitAlias>;
- def : InstAlias<!strconcat(Mnemonic, "\t{%st(0), %st(0)|st(0), st(0)}"),
+ def : InstAlias<!strconcat(Mnemonic, "\t$op"),
+                 (Inst RSTi:$op), EmitAlias>;
+ def : InstAlias<!strconcat(Mnemonic, "\t{%st, %st|st, st}"),
                  (Inst ST0), EmitAlias>;
 }
 
-defm : FpUnaryAlias<"fadd",   ADD_FST0r>;
+defm : FpUnaryAlias<"fadd",   ADD_FST0r, 0>;
 defm : FpUnaryAlias<"faddp",  ADD_FPrST0, 0>;
-defm : FpUnaryAlias<"fsub",   SUB_FST0r>;
-defm : FpUnaryAlias<"fsub{|r}p",  SUBR_FPrST0>;
-defm : FpUnaryAlias<"fsubr",  SUBR_FST0r>;
-defm : FpUnaryAlias<"fsub{r|}p", SUB_FPrST0>;
-defm : FpUnaryAlias<"fmul",   MUL_FST0r>;
-defm : FpUnaryAlias<"fmulp",  MUL_FPrST0>;
-defm : FpUnaryAlias<"fdiv",   DIV_FST0r>;
-defm : FpUnaryAlias<"fdiv{|r}p",  DIVR_FPrST0>;
-defm : FpUnaryAlias<"fdivr",  DIVR_FST0r>;
-defm : FpUnaryAlias<"fdiv{r|}p", DIV_FPrST0>;
+defm : FpUnaryAlias<"fsub",   SUB_FST0r, 0>;
+defm : FpUnaryAlias<"fsub{|r}p",  SUBR_FPrST0, 0>;
+defm : FpUnaryAlias<"fsubr",  SUBR_FST0r, 0>;
+defm : FpUnaryAlias<"fsub{r|}p", SUB_FPrST0, 0>;
+defm : FpUnaryAlias<"fmul",   MUL_FST0r, 0>;
+defm : FpUnaryAlias<"fmulp",  MUL_FPrST0, 0>;
+defm : FpUnaryAlias<"fdiv",   DIV_FST0r, 0>;
+defm : FpUnaryAlias<"fdiv{|r}p",  DIVR_FPrST0, 0>;
+defm : FpUnaryAlias<"fdivr",  DIVR_FST0r, 0>;
+defm : FpUnaryAlias<"fdiv{r|}p", DIV_FPrST0, 0>;
 defm : FpUnaryAlias<"fcomi",   COM_FIr, 0>;
 defm : FpUnaryAlias<"fucomi",  UCOM_FIr, 0>;
-defm : FpUnaryAlias<"fcompi",   COM_FIPr>;
-defm : FpUnaryAlias<"fucompi",  UCOM_FIPr>;
+defm : FpUnaryAlias<"fcompi",   COM_FIPr, 0>;
+defm : FpUnaryAlias<"fucompi",  UCOM_FIPr, 0>;
 
 
-// Handle "f{mulp,addp} st(0), $op" the same as "f{mulp,addp} $op", since they
+// Handle "f{mulp,addp} $op, %st(0)" 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(0), $op|$op, st(0)}", (ADD_FPrST0 RST:$op), 0>;
-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<"faddp\t{$op, %st|st, $op}", (ADD_FPrST0 RSTi:$op), 0>;
+def : InstAlias<"fmulp\t{$op, %st|st, $op}", (MUL_FPrST0 RSTi:$op), 0>;
+def : InstAlias<"fsub{|r}p\t{$op, %st|st, $op}", (SUBR_FPrST0 RSTi:$op), 0>;
+def : InstAlias<"fsub{r|}p\t{$op, %st|st, $op}", (SUB_FPrST0 RSTi:$op), 0>;
+def : InstAlias<"fdiv{|r}p\t{$op, %st|st, $op}", (DIVR_FPrST0 RSTi:$op), 0>;
+def : InstAlias<"fdiv{r|}p\t{$op, %st|st, $op}", (DIV_FPrST0 RSTi:$op), 0>;
 
 def : InstAlias<"fnstsw"     , (FNSTSW16r), 0>;
 

Modified: llvm/branches/release_80/lib/Target/X86/X86RegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/lib/Target/X86/X86RegisterInfo.cpp?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/lib/Target/X86/X86RegisterInfo.cpp (original)
+++ llvm/branches/release_80/lib/Target/X86/X86RegisterInfo.cpp Tue Feb 12 02:13:48 2019
@@ -497,6 +497,9 @@ BitVector X86RegisterInfo::getReservedRe
   BitVector Reserved(getNumRegs());
   const X86FrameLowering *TFI = getFrameLowering(MF);
 
+  // Set the floating point control register as reserved.
+  Reserved.set(X86::FPCW);
+
   // Set the stack-pointer register and its aliases as reserved.
   for (MCSubRegIterator I(X86::RSP, this, /*IncludeSelf=*/true); I.isValid();
        ++I)

Modified: llvm/branches/release_80/lib/Target/X86/X86RegisterInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/lib/Target/X86/X86RegisterInfo.td?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/lib/Target/X86/X86RegisterInfo.td (original)
+++ llvm/branches/release_80/lib/Target/X86/X86RegisterInfo.td Tue Feb 12 02:13:48 2019
@@ -278,7 +278,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)", 0>, DwarfRegNum<[33, 12, 11]>;
+def ST0 : X86Reg<"st", 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]>;
@@ -288,7 +288,10 @@ def ST6 : X86Reg<"st(6)", 6>, DwarfRegNu
 def ST7 : X86Reg<"st(7)", 7>, DwarfRegNum<[40, 19, 18]>;
 
 // Floating-point status word
-def FPSW : X86Reg<"fpsw", 0>;
+def FPSW : X86Reg<"fpsr", 0>;
+
+// Floating-point control word
+def FPCW : X86Reg<"fpcr", 0>;
 
 // Status flags register.
 //
@@ -539,6 +542,9 @@ def RST : RegisterClass<"X86", [f80, f64
   let isAllocatable = 0;
 }
 
+// Helper to allow %st to print as %st(0) when its encoded in the instruction.
+def RSTi : RegisterOperand<RST, "printSTiRegOperand">;
+
 // Generic vector registers: VR64 and VR128.
 // Ensure that float types are declared first - only float is legal on SSE1.
 def VR64: RegisterClass<"X86", [x86mmx], 64, (sequence "MM%u", 0, 7)>;

Modified: llvm/branches/release_80/test/CodeGen/MIR/X86/memory-operands.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/CodeGen/MIR/X86/memory-operands.mir?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/CodeGen/MIR/X86/memory-operands.mir (original)
+++ llvm/branches/release_80/test/CodeGen/MIR/X86/memory-operands.mir Tue Feb 12 02:13:48 2019
@@ -359,8 +359,8 @@ body: |
     CFI_INSTRUCTION def_cfa_offset 32
     LD_F80m $rsp, 1, $noreg, 32, $noreg, implicit-def dead $fpsw
   ; CHECK: name: stack_psv
-  ; CHECK: ST_FP80m $rsp, 1, $noreg, 0, $noreg, implicit-def dead $fpsw :: (store 10 into stack, align 16)
-    ST_FP80m $rsp, 1, _, 0, _, implicit-def dead $fpsw :: (store 10 into stack, align 16)
+  ; CHECK: ST_FP80m $rsp, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (store 10 into stack, align 16)
+    ST_FP80m $rsp, 1, _, 0, _, implicit-def dead $fpsw, implicit $fpcw :: (store 10 into stack, align 16)
     CALL64pcrel32 &cosl, csr_64, implicit $rsp, implicit-def $rsp, implicit-def $fp0
     $rsp = ADD64ri8 $rsp, 24, implicit-def dead $eflags
     RETQ

Modified: llvm/branches/release_80/test/CodeGen/X86/and-su.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/CodeGen/X86/and-su.ll?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/CodeGen/X86/and-su.ll (original)
+++ llvm/branches/release_80/test/CodeGen/X86/and-su.ll Tue Feb 12 02:13:48 2019
@@ -49,7 +49,7 @@ define fastcc double @bar(i32 %hash, dou
 ; CHECK-NEXT:    fchs
 ; CHECK-NEXT:    fxch %st(1)
 ; CHECK-NEXT:  .LBB1_5: # %bb16
-; CHECK-NEXT:    faddp %st(1)
+; CHECK-NEXT:    faddp %st, %st(1)
 ; CHECK-NEXT:    movl %ebp, %esp
 ; CHECK-NEXT:    popl %ebp
 ; CHECK-NEXT:    retl

Modified: llvm/branches/release_80/test/CodeGen/X86/avx512-regcall-NoMask.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/CodeGen/X86/avx512-regcall-NoMask.ll?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/CodeGen/X86/avx512-regcall-NoMask.ll (original)
+++ llvm/branches/release_80/test/CodeGen/X86/avx512-regcall-NoMask.ll Tue Feb 12 02:13:48 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(0), %st(0)
+; X32-NEXT:    fadd %st, %st(0)
 ; X32-NEXT:    retl
 ;
 ; WIN64-LABEL: test_argRetf80:
 ; WIN64:       # %bb.0:
-; WIN64-NEXT:    fadd %st(0), %st(0)
+; WIN64-NEXT:    fadd %st, %st(0)
 ; WIN64-NEXT:    retq
 ;
 ; LINUXOSX64-LABEL: test_argRetf80:
 ; LINUXOSX64:       # %bb.0:
-; LINUXOSX64-NEXT:    fadd %st(0), %st(0)
+; LINUXOSX64-NEXT:    fadd %st, %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(0), %st(0)
+; X32-NEXT:    fadd %st, %st(0)
 ; X32-NEXT:    calll _test_argRetf80
-; X32-NEXT:    fadd %st(0), %st(0)
+; X32-NEXT:    fadd %st, %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(0), %st(0)
+; WIN64-NEXT:    fadd %st, %st(0)
 ; WIN64-NEXT:    callq test_argRetf80
-; WIN64-NEXT:    fadd %st(0), %st(0)
+; WIN64-NEXT:    fadd %st, %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(0), %st(0)
+; LINUXOSX64-NEXT:    fadd %st, %st(0)
 ; LINUXOSX64-NEXT:    callq test_argRetf80
-; LINUXOSX64-NEXT:    fadd %st(0), %st(0)
+; LINUXOSX64-NEXT:    fadd %st, %st(0)
 ; LINUXOSX64-NEXT:    popq %rsp
 ; LINUXOSX64-NEXT:    .cfi_def_cfa_offset 8
 ; LINUXOSX64-NEXT:    retq

Modified: llvm/branches/release_80/test/CodeGen/X86/fcmove.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/CodeGen/X86/fcmove.ll?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/CodeGen/X86/fcmove.ll (original)
+++ llvm/branches/release_80/test/CodeGen/X86/fcmove.ll Tue Feb 12 02:13:48 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(0)
+; CHECK: fcmove %st({{[0-7]}}), %st
 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/branches/release_80/test/CodeGen/X86/fmf-flags.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/CodeGen/X86/fmf-flags.ll?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/CodeGen/X86/fmf-flags.ll (original)
+++ llvm/branches/release_80/test/CodeGen/X86/fmf-flags.ll Tue Feb 12 02:13:48 2019
@@ -20,7 +20,7 @@ define float @fast_recip_sqrt(float %x)
 ; X86-NEXT:    flds {{[0-9]+}}(%esp)
 ; X86-NEXT:    fsqrt
 ; X86-NEXT:    fld1
-; X86-NEXT:    fdivp %st(1)
+; X86-NEXT:    fdivp %st, %st(1)
 ; X86-NEXT:    retl
   %y = call fast float @llvm.sqrt.f32(float %x)
   %z = fdiv fast float 1.0,  %y
@@ -95,7 +95,7 @@ define float @not_so_fast_recip_sqrt(flo
 ; X86-NEXT:    flds {{[0-9]+}}(%esp)
 ; X86-NEXT:    fsqrt
 ; X86-NEXT:    fld1
-; X86-NEXT:    fdiv %st(1)
+; X86-NEXT:    fdiv %st(1), %st
 ; X86-NEXT:    fxch %st(1)
 ; X86-NEXT:    fstps sqrt1
 ; X86-NEXT:    retl

Modified: llvm/branches/release_80/test/CodeGen/X86/fp-cvt.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/CodeGen/X86/fp-cvt.ll?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/CodeGen/X86/fp-cvt.ll (original)
+++ llvm/branches/release_80/test/CodeGen/X86/fp-cvt.ll Tue Feb 12 02:13:48 2019
@@ -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(0)
+; X64-X87-NEXT:    fcmovnbe %st(1), %st
 ; 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(0)
+; X64-SSSE3-NEXT:    fcmovnbe %st(1), %st
 ; X64-SSSE3-NEXT:    fstp %st(1)
 ; X64-SSSE3-NEXT:    fisttpll -{{[0-9]+}}(%rsp)
 ; X64-SSSE3-NEXT:    setbe %al
@@ -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(0)
+; X64-X87-NEXT:    fcmovnbe %st(1), %st
 ; 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(0)
+; X64-SSSE3-NEXT:    fcmovnbe %st(1), %st
 ; X64-SSSE3-NEXT:    fstp %st(1)
 ; X64-SSSE3-NEXT:    fisttpll -{{[0-9]+}}(%rsp)
 ; X64-SSSE3-NEXT:    setbe %al

Modified: llvm/branches/release_80/test/CodeGen/X86/inline-asm-fpstack.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/CodeGen/X86/inline-asm-fpstack.ll?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/CodeGen/X86/inline-asm-fpstack.ll (original)
+++ llvm/branches/release_80/test/CodeGen/X86/inline-asm-fpstack.ll Tue Feb 12 02:13:48 2019
@@ -75,20 +75,20 @@ 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(0) %st(0)
+; CHECK-NEXT:    foo %st %st
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    fstp %st(0)
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    bar %st(1) %st(0)
+; CHECK-NEXT:    bar %st(1) %st
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    fstp %st(1)
 ; CHECK-NEXT:    fstp %st(0)
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    baz %st(1) %st(0)
+; CHECK-NEXT:    baz %st(1) %st
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    fstp %st(0)
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    baz %st(0)
+; CHECK-NEXT:    baz %st
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    fstp %st(0)
 ; CHECK-NEXT:    retl
@@ -117,10 +117,10 @@ define void @testPR4185() {
 ; CHECK-NEXT:    flds LCPI6_0
 ; CHECK-NEXT:    fld %st(0)
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    fistpl %st(0)
+; CHECK-NEXT:    fistpl %st
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    fistpl %st(0)
+; CHECK-NEXT:    fistpl %st
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    retl
 return:
@@ -138,10 +138,10 @@ define void @testPR4185b() {
 ; CHECK:       ## %bb.0: ## %return
 ; CHECK-NEXT:    flds LCPI7_0
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    fistl %st(0)
+; CHECK-NEXT:    fistl %st
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    fistpl %st(0)
+; CHECK-NEXT:    fistpl %st
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    retl
 return:
@@ -163,7 +163,7 @@ define void @testPR4459(x86_fp80 %a) {
 ; CHECK-NEXT:    fld %st(0)
 ; CHECK-NEXT:    fxch %st(1)
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    fistpl %st(0)
+; CHECK-NEXT:    fistpl %st
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    fstpt (%esp)
 ; CHECK-NEXT:    calll _test3
@@ -191,7 +191,7 @@ define void @testPR4484(x86_fp80 %a) {
 ; CHECK-NEXT:    calll _test1
 ; CHECK-NEXT:    fldt {{[0-9]+}}(%esp) ## 10-byte Folded Reload
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    fistpl %st(0)
+; CHECK-NEXT:    fistpl %st
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    fstpt (%esp)
 ; CHECK-NEXT:    calll _test3
@@ -211,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(0), %st(1)
+; CHECK-NEXT:    fmul %st, %st(1)
 ; CHECK-NEXT:    flds LCPI10_1
-; CHECK-NEXT:    fmul %st(0), %st(2)
+; CHECK-NEXT:    fmul %st, %st(2)
 ; CHECK-NEXT:    fxch %st(2)
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    fistpl %st(0)
+; CHECK-NEXT:    fistpl %st
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    fldt (%eax)
-; CHECK-NEXT:    fmulp %st(1)
-; CHECK-NEXT:    fmulp %st(1)
+; CHECK-NEXT:    fmulp %st, %st(1)
+; CHECK-NEXT:    fmulp %st, %st(1)
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    fistpl %st(0)
+; CHECK-NEXT:    fistpl %st
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    retl
 entry:
@@ -422,7 +422,7 @@ define i32 @PR10602() nounwind ssp {
 ; CHECK-NEXT:    fld %st(0)
 ; CHECK-NEXT:    fxch %st(1)
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    fcomi %st(1), %st(0); pushf; pop %eax
+; CHECK-NEXT:    fcomi %st(1), %st; pushf; pop %eax
 ; CHECK-NEXT:    ## InlineAsm End
 ; CHECK-NEXT:    fstp %st(0)
 ; CHECK-NEXT:    fstp %st(0)
@@ -505,9 +505,9 @@ define double @test_operand_rewrite() {
 ; CHECK-LABEL: test_operand_rewrite:
 ; CHECK:       ## %bb.0: ## %entry
 ; CHECK-NEXT:    ## InlineAsm Start
-; CHECK-NEXT:    foo %st(0), %st(1)
+; CHECK-NEXT:    foo %st, %st(1)
 ; CHECK-NEXT:    ## InlineAsm End
-; CHECK-NEXT:    fsubp %st(1)
+; CHECK-NEXT:    fsubp %st, %st(1)
 ; CHECK-NEXT:    retl
 entry:
   %0 = tail call { double, double } asm sideeffect "foo $0, $1", "={st},={st(1)},~{dirflag},~{fpsr},~{flags}"()

Modified: llvm/branches/release_80/test/CodeGen/X86/ipra-reg-usage.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/CodeGen/X86/ipra-reg-usage.ll?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/CodeGen/X86/ipra-reg-usage.ll (original)
+++ llvm/branches/release_80/test/CodeGen/X86/ipra-reg-usage.ll Tue Feb 12 02:13:48 2019
@@ -3,7 +3,7 @@
 target triple = "x86_64-unknown-unknown"
 declare void @bar1()
 define preserve_allcc void @foo()#0 {
-; CHECK: foo Clobbered Registers: $cs $df $ds $eflags $eip $eiz $es $fpsw $fs $gs $hip $ip $rip $riz $ss $ssp $bnd0 $bnd1 $bnd2 $bnd3 $cr0 $cr1 $cr2 $cr3 $cr4 $cr5 $cr6 $cr7 $cr8 $cr9 $cr10 $cr11 $cr12 $cr13 $cr14 $cr15 $dr0 $dr1 $dr2 $dr3 $dr4 $dr5 $dr6 $dr7 $dr8 $dr9 $dr10 $dr11 $dr12 $dr13 $dr14 $dr15 $fp0 $fp1 $fp2 $fp3 $fp4 $fp5 $fp6 $fp7 $k0 $k1 $k2 $k3 $k4 $k5 $k6 $k7 $mm0 $mm1 $mm2 $mm3 $mm4 $mm5 $mm6 $mm7 $r11 $st0 $st1 $st2 $st3 $st4 $st5 $st6 $st7 $xmm16 $xmm17 $xmm18 $xmm19 $xmm20 $xmm21 $xmm22 $xmm23 $xmm24 $xmm25 $xmm26 $xmm27 $xmm28 $xmm29 $xmm30 $xmm31 $ymm0 $ymm1 $ymm2 $ymm3 $ymm4 $ymm5 $ymm6 $ymm7 $ymm8 $ymm9 $ymm10 $ymm11 $ymm12 $ymm13 $ymm14 $ymm15 $ymm16 $ymm17 $ymm18 $ymm19 $ymm20 $ymm21 $ymm22 $ymm23 $ymm24 $ymm25 $ymm26 $ymm27 $ymm28 $ymm29 $ymm30 $ymm31 $zmm0 $zmm1 $zmm2 $zmm3 $zmm4 $zmm5 $zmm6 $zmm7 $zmm8 $zmm9 $zmm10 $zmm11 $zmm12 $zmm13 $zmm14 $zmm15 $zmm16 $zmm17 $zmm18 $zmm19 $zmm20 $zmm21 $zmm22 $zmm23 $zmm24 $zmm25 $zmm26 $zmm27 $zmm28 $zmm29 $zmm30 $zmm31 $r11b $r11bh $r11d $r11w $r11wh
+; CHECK: foo Clobbered Registers: $cs $df $ds $eflags $eip $eiz $es $fpcw $fpsw $fs $gs $hip $ip $rip $riz $ss $ssp $bnd0 $bnd1 $bnd2 $bnd3 $cr0 $cr1 $cr2 $cr3 $cr4 $cr5 $cr6 $cr7 $cr8 $cr9 $cr10 $cr11 $cr12 $cr13 $cr14 $cr15 $dr0 $dr1 $dr2 $dr3 $dr4 $dr5 $dr6 $dr7 $dr8 $dr9 $dr10 $dr11 $dr12 $dr13 $dr14 $dr15 $fp0 $fp1 $fp2 $fp3 $fp4 $fp5 $fp6 $fp7 $k0 $k1 $k2 $k3 $k4 $k5 $k6 $k7 $mm0 $mm1 $mm2 $mm3 $mm4 $mm5 $mm6 $mm7 $r11 $st0 $st1 $st2 $st3 $st4 $st5 $st6 $st7 $xmm16 $xmm17 $xmm18 $xmm19 $xmm20 $xmm21 $xmm22 $xmm23 $xmm24 $xmm25 $xmm26 $xmm27 $xmm28 $xmm29 $xmm30 $xmm31 $ymm0 $ymm1 $ymm2 $ymm3 $ymm4 $ymm5 $ymm6 $ymm7 $ymm8 $ymm9 $ymm10 $ymm11 $ymm12 $ymm13 $ymm14 $ymm15 $ymm16 $ymm17 $ymm18 $ymm19 $ymm20 $ymm21 $ymm22 $ymm23 $ymm24 $ymm25 $ymm26 $ymm27 $ymm28 $ymm29 $ymm30 $ymm31 $zmm0 $zmm1 $zmm2 $zmm3 $zmm4 $zmm5 $zmm6 $zmm7 $zmm8 $zmm9 $zmm10 $zmm11 $zmm12 $zmm13 $zmm14 $zmm15 $zmm16 $zmm17 $zmm18 $zmm19 $zmm20 $zmm21 $zmm22 $zmm23 $zmm24 $zmm25 $zmm26 $zmm27 $zmm28 $zmm29 $zmm30 $zmm31 $r11b $r11bh $r11d $r11w $r11wh
   call void @bar1()
   call void @bar2()
   ret void

Modified: llvm/branches/release_80/test/CodeGen/X86/pr13577.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/CodeGen/X86/pr13577.ll?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/CodeGen/X86/pr13577.ll (original)
+++ llvm/branches/release_80/test/CodeGen/X86/pr13577.ll Tue Feb 12 02:13:48 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(0)
+; CHECK-NEXT:    fcmovne %st(1), %st
 ; CHECK-NEXT:    fstp %st(1)
 ; CHECK-NEXT:    retq
   %1 = tail call x86_fp80 @copysignl(x86_fp80 0xK7FFF8000000000000000, x86_fp80 %a) nounwind readnone

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

Modified: llvm/branches/release_80/test/CodeGen/X86/pr34080.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/CodeGen/X86/pr34080.ll?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/CodeGen/X86/pr34080.ll (original)
+++ llvm/branches/release_80/test/CodeGen/X86/pr34080.ll Tue Feb 12 02:13:48 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(0), %st(1)
+; SSE2-NEXT:    fmul %st, %st(1)
 ; SSE2-NEXT:    fnstcw -2(%rbp)
 ; SSE2-NEXT:    movzwl -2(%rbp), %eax
 ; SSE2-NEXT:    movw $3199, -2(%rbp) ## imm = 0xC7F
@@ -41,7 +41,7 @@ define void @_Z1fe(x86_fp80 %z) local_un
 ; SSE2-NEXT:    movsd %xmm0, -56(%rbp)
 ; SSE2-NEXT:    movsd %xmm0, -24(%rbp)
 ; SSE2-NEXT:    fsubl -24(%rbp)
-; SSE2-NEXT:    fmulp %st(1)
+; SSE2-NEXT:    fmulp %st, %st(1)
 ; SSE2-NEXT:    fstpl -48(%rbp)
 ; SSE2-NEXT:    popq %rbp
 ; SSE2-NEXT:    retq
@@ -65,12 +65,12 @@ define void @_Z1fe(x86_fp80 %z) local_un
 ; SSE2-SCHEDULE-NEXT:    movsd %xmm0, -64(%rbp)
 ; SSE2-SCHEDULE-NEXT:    movsd %xmm0, -32(%rbp)
 ; SSE2-SCHEDULE-NEXT:    fsubl -32(%rbp)
-; SSE2-SCHEDULE-NEXT:    fnstcw -2(%rbp)
 ; SSE2-SCHEDULE-NEXT:    flds {{.*}}(%rip)
+; SSE2-SCHEDULE-NEXT:    fnstcw -2(%rbp)
+; SSE2-SCHEDULE-NEXT:    fmul %st, %st(1)
 ; 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(0), %st(1)
 ; SSE2-SCHEDULE-NEXT:    movw %ax, -2(%rbp)
 ; SSE2-SCHEDULE-NEXT:    fxch %st(1)
 ; SSE2-SCHEDULE-NEXT:    fistl -12(%rbp)
@@ -80,7 +80,7 @@ define void @_Z1fe(x86_fp80 %z) local_un
 ; SSE2-SCHEDULE-NEXT:    movsd %xmm0, -56(%rbp)
 ; SSE2-SCHEDULE-NEXT:    movsd %xmm0, -24(%rbp)
 ; SSE2-SCHEDULE-NEXT:    fsubl -24(%rbp)
-; SSE2-SCHEDULE-NEXT:    fmulp %st(1)
+; SSE2-SCHEDULE-NEXT:    fmulp %st, %st(1)
 ; SSE2-SCHEDULE-NEXT:    fstpl -48(%rbp)
 ; SSE2-SCHEDULE-NEXT:    popq %rbp
 ; SSE2-SCHEDULE-NEXT:    retq
@@ -100,7 +100,7 @@ define void @_Z1fe(x86_fp80 %z) local_un
 ; SSE3-NEXT:    movsd %xmm0, -24(%rbp)
 ; SSE3-NEXT:    fsubl -24(%rbp)
 ; SSE3-NEXT:    flds {{.*}}(%rip)
-; SSE3-NEXT:    fmul %st(0), %st(1)
+; SSE3-NEXT:    fmul %st, %st(1)
 ; SSE3-NEXT:    fld %st(1)
 ; SSE3-NEXT:    fisttpl -8(%rbp)
 ; SSE3-NEXT:    xorps %xmm0, %xmm0
@@ -109,7 +109,7 @@ define void @_Z1fe(x86_fp80 %z) local_un
 ; SSE3-NEXT:    movsd %xmm0, -16(%rbp)
 ; SSE3-NEXT:    fxch %st(1)
 ; SSE3-NEXT:    fsubl -16(%rbp)
-; SSE3-NEXT:    fmulp %st(1)
+; SSE3-NEXT:    fmulp %st, %st(1)
 ; SSE3-NEXT:    fstpl -32(%rbp)
 ; SSE3-NEXT:    popq %rbp
 ; SSE3-NEXT:    retq
@@ -129,7 +129,7 @@ define void @_Z1fe(x86_fp80 %z) local_un
 ; AVX-NEXT:    vmovsd %xmm0, -24(%rbp)
 ; AVX-NEXT:    fsubl -24(%rbp)
 ; AVX-NEXT:    flds {{.*}}(%rip)
-; AVX-NEXT:    fmul %st(0), %st(1)
+; AVX-NEXT:    fmul %st, %st(1)
 ; AVX-NEXT:    fld %st(1)
 ; AVX-NEXT:    fisttpl -8(%rbp)
 ; AVX-NEXT:    vcvtsi2sdl -8(%rbp), %xmm1, %xmm0
@@ -137,7 +137,7 @@ define void @_Z1fe(x86_fp80 %z) local_un
 ; AVX-NEXT:    vmovsd %xmm0, -16(%rbp)
 ; AVX-NEXT:    fxch %st(1)
 ; AVX-NEXT:    fsubl -16(%rbp)
-; AVX-NEXT:    fmulp %st(1)
+; AVX-NEXT:    fmulp %st, %st(1)
 ; AVX-NEXT:    fstpl -32(%rbp)
 ; AVX-NEXT:    popq %rbp
 ; AVX-NEXT:    retq

Modified: llvm/branches/release_80/test/CodeGen/X86/pr34177.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/CodeGen/X86/pr34177.ll?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/CodeGen/X86/pr34177.ll (original)
+++ llvm/branches/release_80/test/CodeGen/X86/pr34177.ll Tue Feb 12 02:13:48 2019
@@ -20,17 +20,17 @@ define void @test(<4x i64> %a, <4 x x86_
 ; CHECK-NEXT:    fld1
 ; CHECK-NEXT:    fldz
 ; CHECK-NEXT:    fld %st(0)
-; CHECK-NEXT:    fcmove %st(2), %st(0)
+; CHECK-NEXT:    fcmove %st(2), %st
 ; CHECK-NEXT:    cmpq %rax, %rsi
 ; CHECK-NEXT:    fld %st(1)
-; CHECK-NEXT:    fcmove %st(3), %st(0)
+; CHECK-NEXT:    fcmove %st(3), %st
 ; CHECK-NEXT:    cmpq %rdx, %r9
 ; CHECK-NEXT:    fld %st(2)
-; CHECK-NEXT:    fcmove %st(4), %st(0)
+; CHECK-NEXT:    fcmove %st(4), %st
 ; CHECK-NEXT:    movl $1, %eax
 ; CHECK-NEXT:    cmpq %r8, %rax
 ; CHECK-NEXT:    fxch %st(3)
-; CHECK-NEXT:    fcmove %st(4), %st(0)
+; CHECK-NEXT:    fcmove %st(4), %st
 ; CHECK-NEXT:    fstp %st(4)
 ; CHECK-NEXT:    fldt {{[0-9]+}}(%rsp)
 ; CHECK-NEXT:    fstpt 70(%rdi)
@@ -40,15 +40,15 @@ define void @test(<4x 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(0), %st(0)
+; CHECK-NEXT:    fadd %st, %st(0)
 ; CHECK-NEXT:    fstpt 60(%rdi)
 ; CHECK-NEXT:    fxch %st(1)
-; CHECK-NEXT:    fadd %st(0), %st(0)
+; CHECK-NEXT:    fadd %st, %st(0)
 ; CHECK-NEXT:    fstpt 40(%rdi)
 ; CHECK-NEXT:    fxch %st(1)
-; CHECK-NEXT:    fadd %st(0), %st(0)
+; CHECK-NEXT:    fadd %st, %st(0)
 ; CHECK-NEXT:    fstpt 20(%rdi)
-; CHECK-NEXT:    fadd %st(0), %st(0)
+; CHECK-NEXT:    fadd %st, %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

Copied: llvm/branches/release_80/test/CodeGen/X86/pr40529.ll (from r353138, llvm/trunk/test/CodeGen/X86/pr40529.ll)
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/CodeGen/X86/pr40529.ll?p2=llvm/branches/release_80/test/CodeGen/X86/pr40529.ll&p1=llvm/trunk/test/CodeGen/X86/pr40529.ll&r1=353138&r2=353818&rev=353818&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/pr40529.ll (original)
+++ llvm/branches/release_80/test/CodeGen/X86/pr40529.ll Tue Feb 12 02:13:48 2019
@@ -1,14 +1,14 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=x86_64-unknown-linux | FileCheck %s
+; RUN: llc < %s -mtriple=x86_64-unknown-linux -mcpu=x86-64 | FileCheck %s
 
 define x86_fp80 @rem_pio2l_min(x86_fp80 %z) {
 ; CHECK-LABEL: rem_pio2l_min:
 ; CHECK:       # %bb.0: # %entry
-; CHECK-NEXT:    fldt {{[0-9]+}}(%rsp)
 ; CHECK-NEXT:    fnstcw -{{[0-9]+}}(%rsp)
 ; CHECK-NEXT:    movzwl -{{[0-9]+}}(%rsp), %eax
 ; CHECK-NEXT:    movw $3199, -{{[0-9]+}}(%rsp) # imm = 0xC7F
 ; CHECK-NEXT:    fldcw -{{[0-9]+}}(%rsp)
+; CHECK-NEXT:    fldt {{[0-9]+}}(%rsp)
 ; CHECK-NEXT:    movw %ax, -{{[0-9]+}}(%rsp)
 ; CHECK-NEXT:    fistl -{{[0-9]+}}(%rsp)
 ; CHECK-NEXT:    fldcw -{{[0-9]+}}(%rsp)
@@ -16,8 +16,8 @@ define x86_fp80 @rem_pio2l_min(x86_fp80
 ; CHECK-NEXT:    movl %eax, -{{[0-9]+}}(%rsp)
 ; CHECK-NEXT:    fisubl -{{[0-9]+}}(%rsp)
 ; CHECK-NEXT:    flds {{.*}}(%rip)
-; CHECK-NEXT:    fmul %st, %st(1)
 ; CHECK-NEXT:    fnstcw -{{[0-9]+}}(%rsp)
+; CHECK-NEXT:    fmul %st, %st(1)
 ; CHECK-NEXT:    movzwl -{{[0-9]+}}(%rsp), %eax
 ; CHECK-NEXT:    movw $3199, -{{[0-9]+}}(%rsp) # imm = 0xC7F
 ; CHECK-NEXT:    fldcw -{{[0-9]+}}(%rsp)

Modified: llvm/branches/release_80/test/CodeGen/X86/scalar-fp-to-i64.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/CodeGen/X86/scalar-fp-to-i64.ll?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/CodeGen/X86/scalar-fp-to-i64.ll (original)
+++ llvm/branches/release_80/test/CodeGen/X86/scalar-fp-to-i64.ll Tue Feb 12 02:13:48 2019
@@ -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(0)
+; AVX512_32_WIN-NEXT:    fcmovnbe %st(1), %st
 ; 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(0)
+; AVX512_32_LIN-NEXT:    fcmovnbe %st(1), %st
 ; 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(0)
+; AVX512_64_WIN-NEXT:    fcmovnbe %st(1), %st
 ; 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(0)
+; AVX512_64_LIN-NEXT:    fcmovnbe %st(1), %st
 ; 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(0)
+; SSE3_32_WIN-NEXT:    fcmovnbe %st(1), %st
 ; 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(0)
+; SSE3_32_LIN-NEXT:    fcmovnbe %st(1), %st
 ; 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(0)
+; SSE3_64_WIN-NEXT:    fcmovnbe %st(1), %st
 ; 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(0)
+; SSE3_64_LIN-NEXT:    fcmovnbe %st(1), %st
 ; 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(0)
+; SSE2_32_WIN-NEXT:    fcmovnbe %st(1), %st
 ; 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(0)
+; SSE2_32_LIN-NEXT:    fcmovnbe %st(1), %st
 ; 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(0)
+; SSE2_64_WIN-NEXT:    fcmovnbe %st(1), %st
 ; 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(0)
+; SSE2_64_LIN-NEXT:    fcmovnbe %st(1), %st
 ; SSE2_64_LIN-NEXT:    fstp %st(1)
 ; SSE2_64_LIN-NEXT:    fnstcw -{{[0-9]+}}(%rsp)
 ; SSE2_64_LIN-NEXT:    movzwl -{{[0-9]+}}(%rsp), %ecx

Modified: llvm/branches/release_80/test/CodeGen/X86/select.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/CodeGen/X86/select.ll?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/CodeGen/X86/select.ll (original)
+++ llvm/branches/release_80/test/CodeGen/X86/select.ll Tue Feb 12 02:13:48 2019
@@ -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(0), %st(0)
+; ATHLON-NEXT:    fmul %st, %st(0)
 ; ATHLON-NEXT:    cmpl $0, {{[0-9]+}}(%esp)
 ; ATHLON-NEXT:    fxch %st(1)
-; ATHLON-NEXT:    fcmove %st(1), %st(0)
+; ATHLON-NEXT:    fcmove %st(1), %st
 ; ATHLON-NEXT:    fstp %st(1)
 ; ATHLON-NEXT:    flds 4(%eax)
-; ATHLON-NEXT:    fmul %st(0), %st(0)
+; ATHLON-NEXT:    fmul %st, %st(0)
 ; ATHLON-NEXT:    fxch %st(2)
-; ATHLON-NEXT:    fcmove %st(2), %st(0)
+; ATHLON-NEXT:    fcmove %st(2), %st
 ; ATHLON-NEXT:    fstp %st(2)
 ; ATHLON-NEXT:    flds 8(%eax)
-; ATHLON-NEXT:    fmul %st(0), %st(0)
+; ATHLON-NEXT:    fmul %st, %st(0)
 ; ATHLON-NEXT:    fxch %st(3)
-; ATHLON-NEXT:    fcmove %st(3), %st(0)
+; ATHLON-NEXT:    fcmove %st(3), %st
 ; ATHLON-NEXT:    fstp %st(3)
 ; ATHLON-NEXT:    flds 12(%eax)
-; ATHLON-NEXT:    fmul %st(0), %st(0)
+; ATHLON-NEXT:    fmul %st, %st(0)
 ; ATHLON-NEXT:    fxch %st(4)
-; ATHLON-NEXT:    fcmove %st(4), %st(0)
+; ATHLON-NEXT:    fcmove %st(4), %st
 ; 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(0), %st(0)
+; MCU-NEXT:    fmul %st, %st(0)
 ; MCU-NEXT:    fxch %st(1)
-; MCU-NEXT:    fmul %st(0), %st(0)
+; MCU-NEXT:    fmul %st, %st(0)
 ; MCU-NEXT:    fxch %st(2)
-; MCU-NEXT:    fmul %st(0), %st(0)
+; MCU-NEXT:    fmul %st, %st(0)
 ; MCU-NEXT:    fxch %st(3)
-; MCU-NEXT:    fmul %st(0), %st(0)
+; MCU-NEXT:    fmul %st, %st(0)
 ; MCU-NEXT:    testl %eax, %eax
 ; MCU-NEXT:    flds (%edx)
 ; MCU-NEXT:    je .LBB5_2

Modified: llvm/branches/release_80/test/CodeGen/X86/sincos-opt.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/CodeGen/X86/sincos-opt.ll?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/CodeGen/X86/sincos-opt.ll (original)
+++ llvm/branches/release_80/test/CodeGen/X86/sincos-opt.ll Tue Feb 12 02:13:48 2019
@@ -115,13 +115,13 @@ entry:
 ; GNU_SINCOS: callq sincosl
 ; GNU_SINCOS: fldt 16(%rsp)
 ; GNU_SINCOS: fldt 32(%rsp)
-; GNU_SINCOS: faddp %st(1)
+; GNU_SINCOS: faddp %st, %st(1)
 
 ; GNU_SINCOS_FASTMATH-LABEL: test3:
 ; GNU_SINCOS_FASTMATH: callq sincosl
 ; GNU_SINCOS_FASTMATH: fldt 16(%{{[re]}}sp)
 ; GNU_SINCOS_FASTMATH: fldt 32(%{{[re]}}sp)
-; GNU_SINCOS_FASTMATH: faddp %st(1)
+; GNU_SINCOS_FASTMATH: faddp %st, %st(1)
   %call = tail call x86_fp80 @sinl(x86_fp80 %x) readnone
   %call1 = tail call x86_fp80 @cosl(x86_fp80 %x) readnone
   %add = fadd x86_fp80 %call, %call1

Modified: llvm/branches/release_80/test/CodeGen/X86/x87-schedule.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/CodeGen/X86/x87-schedule.ll?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/CodeGen/X86/x87-schedule.ll (original)
+++ llvm/branches/release_80/test/CodeGen/X86/x87-schedule.ll Tue Feb 12 02:13:48 2019
@@ -180,8 +180,8 @@ 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(0), %st(1)
-; GENERIC-NEXT:    fadd %st(2)
+; GENERIC-NEXT:    fadd %st, %st(1)
+; GENERIC-NEXT:    fadd %st(2), %st
 ; GENERIC-NEXT:    fadds (%ecx)
 ; GENERIC-NEXT:    faddl (%eax)
 ; GENERIC-NEXT:    #NO_APP
@@ -192,8 +192,8 @@ 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(0), %st(1) # sched: [5:5.00]
-; ATOM-NEXT:    fadd %st(2) # sched: [5:5.00]
+; ATOM-NEXT:    fadd %st, %st(1) # sched: [5:5.00]
+; ATOM-NEXT:    fadd %st(2), %st # sched: [5:5.00]
 ; ATOM-NEXT:    fadds (%ecx) # sched: [5:5.00]
 ; ATOM-NEXT:    faddl (%eax) # sched: [5:5.00]
 ; ATOM-NEXT:    #NO_APP
@@ -204,8 +204,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; SLM-NEXT:    fadd %st(2) # sched: [3:1.00]
+; SLM-NEXT:    fadd %st, %st(1) # sched: [3:1.00]
+; SLM-NEXT:    fadd %st(2), %st # sched: [3:1.00]
 ; SLM-NEXT:    fadds (%ecx) # sched: [6:1.00]
 ; SLM-NEXT:    faddl (%eax) # sched: [6:1.00]
 ; SLM-NEXT:    #NO_APP
@@ -216,8 +216,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; SANDY-NEXT:    fadd %st(2) # sched: [3:1.00]
+; SANDY-NEXT:    fadd %st, %st(1) # sched: [3:1.00]
+; SANDY-NEXT:    fadd %st(2), %st # sched: [3:1.00]
 ; SANDY-NEXT:    fadds (%ecx) # sched: [10:1.00]
 ; SANDY-NEXT:    faddl (%eax) # sched: [10:1.00]
 ; SANDY-NEXT:    #NO_APP
@@ -228,8 +228,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; HASWELL-NEXT:    fadd %st(2) # sched: [3:1.00]
+; HASWELL-NEXT:    fadd %st, %st(1) # sched: [3:1.00]
+; HASWELL-NEXT:    fadd %st(2), %st # sched: [3:1.00]
 ; HASWELL-NEXT:    fadds (%ecx) # sched: [10:1.00]
 ; HASWELL-NEXT:    faddl (%eax) # sched: [10:1.00]
 ; HASWELL-NEXT:    #NO_APP
@@ -240,8 +240,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; BROADWELL-NEXT:    fadd %st(2) # sched: [3:1.00]
+; BROADWELL-NEXT:    fadd %st, %st(1) # sched: [3:1.00]
+; BROADWELL-NEXT:    fadd %st(2), %st # sched: [3:1.00]
 ; BROADWELL-NEXT:    fadds (%ecx) # sched: [9:1.00]
 ; BROADWELL-NEXT:    faddl (%eax) # sched: [9:1.00]
 ; BROADWELL-NEXT:    #NO_APP
@@ -252,8 +252,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; SKYLAKE-NEXT:    fadd %st(2) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fadd %st, %st(1) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fadd %st(2), %st # sched: [3:1.00]
 ; SKYLAKE-NEXT:    fadds (%ecx) # sched: [10:1.00]
 ; SKYLAKE-NEXT:    faddl (%eax) # sched: [10:1.00]
 ; SKYLAKE-NEXT:    #NO_APP
@@ -264,8 +264,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; SKX-NEXT:    fadd %st(2) # sched: [3:1.00]
+; SKX-NEXT:    fadd %st, %st(1) # sched: [3:1.00]
+; SKX-NEXT:    fadd %st(2), %st # sched: [3:1.00]
 ; SKX-NEXT:    fadds (%ecx) # sched: [10:1.00]
 ; SKX-NEXT:    faddl (%eax) # sched: [10:1.00]
 ; SKX-NEXT:    #NO_APP
@@ -276,8 +276,8 @@ 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(0), %st(1) # sched: [5:1.00]
-; BDVER2-NEXT:    fadd %st(2) # sched: [5:1.00]
+; BDVER2-NEXT:    fadd %st, %st(1) # sched: [5:1.00]
+; BDVER2-NEXT:    fadd %st(2), %st # sched: [5:1.00]
 ; BDVER2-NEXT:    fadds (%ecx) # sched: [10:1.00]
 ; BDVER2-NEXT:    faddl (%eax) # sched: [10:1.00]
 ; BDVER2-NEXT:    #NO_APP
@@ -288,8 +288,8 @@ define void @test_fadd(float *%a0, doubl
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fadd %st(0), %st(1) # sched: [3:1.00]
-; BTVER2-NEXT:    fadd %st(2) # sched: [3:1.00]
+; BTVER2-NEXT:    fadd %st, %st(1) # sched: [3:1.00]
+; BTVER2-NEXT:    fadd %st(2), %st # sched: [3:1.00]
 ; BTVER2-NEXT:    fadds (%ecx) # sched: [8:1.00]
 ; BTVER2-NEXT:    faddl (%eax) # sched: [8:1.00]
 ; BTVER2-NEXT:    #NO_APP
@@ -300,8 +300,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; ZNVER1-NEXT:    fadd %st(2) # sched: [3:1.00]
+; ZNVER1-NEXT:    fadd %st, %st(1) # sched: [3:1.00]
+; ZNVER1-NEXT:    fadd %st(2), %st # sched: [3:1.00]
 ; ZNVER1-NEXT:    fadds (%ecx) # sched: [10:1.00]
 ; ZNVER1-NEXT:    faddl (%eax) # sched: [10:1.00]
 ; ZNVER1-NEXT:    #NO_APP
@@ -316,8 +316,8 @@ define void @test_faddp_fiadd(i16 *%a0,
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    faddp %st(1)
-; GENERIC-NEXT:    faddp %st(2)
+; GENERIC-NEXT:    faddp %st, %st(1)
+; GENERIC-NEXT:    faddp %st, %st(2)
 ; GENERIC-NEXT:    fiadds (%ecx)
 ; GENERIC-NEXT:    fiaddl (%eax)
 ; GENERIC-NEXT:    #NO_APP
@@ -328,8 +328,8 @@ define void @test_faddp_fiadd(i16 *%a0,
 ; 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:    faddp %st(1) # sched: [5:5.00]
-; ATOM-NEXT:    faddp %st(2) # sched: [5:5.00]
+; ATOM-NEXT:    faddp %st, %st(1) # sched: [5:5.00]
+; ATOM-NEXT:    faddp %st, %st(2) # sched: [5:5.00]
 ; ATOM-NEXT:    fiadds (%ecx) # sched: [5:5.00]
 ; ATOM-NEXT:    fiaddl (%eax) # sched: [5:5.00]
 ; ATOM-NEXT:    #NO_APP
@@ -340,8 +340,8 @@ define void @test_faddp_fiadd(i16 *%a0,
 ; 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:    faddp %st(1) # sched: [3:1.00]
-; SLM-NEXT:    faddp %st(2) # sched: [3:1.00]
+; SLM-NEXT:    faddp %st, %st(1) # sched: [3:1.00]
+; SLM-NEXT:    faddp %st, %st(2) # sched: [3:1.00]
 ; SLM-NEXT:    fiadds (%ecx) # sched: [6:1.00]
 ; SLM-NEXT:    fiaddl (%eax) # sched: [6:1.00]
 ; SLM-NEXT:    #NO_APP
@@ -352,8 +352,8 @@ define void @test_faddp_fiadd(i16 *%a0,
 ; 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:    faddp %st(1) # sched: [3:1.00]
-; SANDY-NEXT:    faddp %st(2) # sched: [3:1.00]
+; SANDY-NEXT:    faddp %st, %st(1) # sched: [3:1.00]
+; SANDY-NEXT:    faddp %st, %st(2) # sched: [3:1.00]
 ; SANDY-NEXT:    fiadds (%ecx) # sched: [13:2.00]
 ; SANDY-NEXT:    fiaddl (%eax) # sched: [13:2.00]
 ; SANDY-NEXT:    #NO_APP
@@ -364,8 +364,8 @@ define void @test_faddp_fiadd(i16 *%a0,
 ; 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:    faddp %st(1) # sched: [3:1.00]
-; HASWELL-NEXT:    faddp %st(2) # sched: [3:1.00]
+; HASWELL-NEXT:    faddp %st, %st(1) # sched: [3:1.00]
+; HASWELL-NEXT:    faddp %st, %st(2) # sched: [3:1.00]
 ; HASWELL-NEXT:    fiadds (%ecx) # sched: [13:2.00]
 ; HASWELL-NEXT:    fiaddl (%eax) # sched: [13:2.00]
 ; HASWELL-NEXT:    #NO_APP
@@ -376,8 +376,8 @@ define void @test_faddp_fiadd(i16 *%a0,
 ; 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:    faddp %st(1) # sched: [3:1.00]
-; BROADWELL-NEXT:    faddp %st(2) # sched: [3:1.00]
+; BROADWELL-NEXT:    faddp %st, %st(1) # sched: [3:1.00]
+; BROADWELL-NEXT:    faddp %st, %st(2) # sched: [3:1.00]
 ; BROADWELL-NEXT:    fiadds (%ecx) # sched: [12:2.00]
 ; BROADWELL-NEXT:    fiaddl (%eax) # sched: [12:2.00]
 ; BROADWELL-NEXT:    #NO_APP
@@ -388,8 +388,8 @@ define void @test_faddp_fiadd(i16 *%a0,
 ; 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:    faddp %st(1) # sched: [3:1.00]
-; SKYLAKE-NEXT:    faddp %st(2) # sched: [3:1.00]
+; SKYLAKE-NEXT:    faddp %st, %st(1) # sched: [3:1.00]
+; SKYLAKE-NEXT:    faddp %st, %st(2) # sched: [3:1.00]
 ; SKYLAKE-NEXT:    fiadds (%ecx) # sched: [13:2.00]
 ; SKYLAKE-NEXT:    fiaddl (%eax) # sched: [13:2.00]
 ; SKYLAKE-NEXT:    #NO_APP
@@ -400,8 +400,8 @@ define void @test_faddp_fiadd(i16 *%a0,
 ; 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:    faddp %st(1) # sched: [3:1.00]
-; SKX-NEXT:    faddp %st(2) # sched: [3:1.00]
+; SKX-NEXT:    faddp %st, %st(1) # sched: [3:1.00]
+; SKX-NEXT:    faddp %st, %st(2) # sched: [3:1.00]
 ; SKX-NEXT:    fiadds (%ecx) # sched: [13:2.00]
 ; SKX-NEXT:    fiaddl (%eax) # sched: [13:2.00]
 ; SKX-NEXT:    #NO_APP
@@ -412,8 +412,8 @@ define void @test_faddp_fiadd(i16 *%a0,
 ; 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:    faddp %st(1) # sched: [5:1.00]
-; BDVER2-NEXT:    faddp %st(2) # sched: [5:1.00]
+; BDVER2-NEXT:    faddp %st, %st(1) # sched: [5:1.00]
+; BDVER2-NEXT:    faddp %st, %st(2) # sched: [5:1.00]
 ; BDVER2-NEXT:    fiadds (%ecx) # sched: [10:1.00]
 ; BDVER2-NEXT:    fiaddl (%eax) # sched: [10:1.00]
 ; BDVER2-NEXT:    #NO_APP
@@ -424,8 +424,8 @@ define void @test_faddp_fiadd(i16 *%a0,
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    faddp %st(1) # sched: [3:1.00]
-; BTVER2-NEXT:    faddp %st(2) # sched: [3:1.00]
+; BTVER2-NEXT:    faddp %st, %st(1) # sched: [3:1.00]
+; BTVER2-NEXT:    faddp %st, %st(2) # sched: [3:1.00]
 ; BTVER2-NEXT:    fiadds (%ecx) # sched: [8:1.00]
 ; BTVER2-NEXT:    fiaddl (%eax) # sched: [8:1.00]
 ; BTVER2-NEXT:    #NO_APP
@@ -436,8 +436,8 @@ define void @test_faddp_fiadd(i16 *%a0,
 ; 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:    faddp %st(1) # sched: [3:1.00]
-; ZNVER1-NEXT:    faddp %st(2) # sched: [3:1.00]
+; ZNVER1-NEXT:    faddp %st, %st(1) # sched: [3:1.00]
+; ZNVER1-NEXT:    faddp %st, %st(2) # sched: [3:1.00]
 ; ZNVER1-NEXT:    fiadds (%ecx) # sched: [10:1.00]
 ; ZNVER1-NEXT:    fiaddl (%eax) # sched: [10:1.00]
 ; ZNVER1-NEXT:    #NO_APP
@@ -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(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:    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:    #NO_APP
 ; GENERIC-NEXT:    retl
 ;
 ; ATOM-LABEL: test_fcmov:
 ; ATOM:       # %bb.0:
 ; ATOM-NEXT:    #APP
-; 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:    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:    #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(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:    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:    #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(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:    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:    #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(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:    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:    #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(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:    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:    #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(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:    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:    #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(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:    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:    #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(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:    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:    #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(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:    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:    #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(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:    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:    #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
@@ -1248,88 +1248,88 @@ define void @test_fcomi_fcomip() optsize
 ; GENERIC-LABEL: test_fcomi_fcomip:
 ; GENERIC:       # %bb.0:
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    fcomi %st(3)
-; GENERIC-NEXT:    fcompi %st(3)
+; GENERIC-NEXT:    fcomi %st(3), %st
+; GENERIC-NEXT:    fcompi %st(3), %st
 ; GENERIC-NEXT:    #NO_APP
 ; GENERIC-NEXT:    retl
 ;
 ; ATOM-LABEL: test_fcomi_fcomip:
 ; ATOM:       # %bb.0:
 ; ATOM-NEXT:    #APP
-; ATOM-NEXT:    fcomi %st(3) # sched: [9:4.50]
-; ATOM-NEXT:    fcompi %st(3) # sched: [9:4.50]
+; ATOM-NEXT:    fcomi %st(3), %st # sched: [9:4.50]
+; ATOM-NEXT:    fcompi %st(3), %st # sched: [9:4.50]
 ; ATOM-NEXT:    #NO_APP
 ; ATOM-NEXT:    retl # sched: [79:39.50]
 ;
 ; SLM-LABEL: test_fcomi_fcomip:
 ; SLM:       # %bb.0:
 ; SLM-NEXT:    #APP
-; SLM-NEXT:    fcomi %st(3) # sched: [3:1.00]
-; SLM-NEXT:    fcompi %st(3) # sched: [3:1.00]
+; SLM-NEXT:    fcomi %st(3), %st # sched: [3:1.00]
+; SLM-NEXT:    fcompi %st(3), %st # sched: [3:1.00]
 ; SLM-NEXT:    #NO_APP
 ; SLM-NEXT:    retl # sched: [4:1.00]
 ;
 ; SANDY-LABEL: test_fcomi_fcomip:
 ; SANDY:       # %bb.0:
 ; SANDY-NEXT:    #APP
-; SANDY-NEXT:    fcomi %st(3) # sched: [3:1.00]
-; SANDY-NEXT:    fcompi %st(3) # sched: [3:1.00]
+; SANDY-NEXT:    fcomi %st(3), %st # sched: [3:1.00]
+; SANDY-NEXT:    fcompi %st(3), %st # sched: [3:1.00]
 ; SANDY-NEXT:    #NO_APP
 ; SANDY-NEXT:    retl # sched: [6:1.00]
 ;
 ; HASWELL-LABEL: test_fcomi_fcomip:
 ; HASWELL:       # %bb.0:
 ; HASWELL-NEXT:    #APP
-; HASWELL-NEXT:    fcomi %st(3) # sched: [1:0.50]
-; HASWELL-NEXT:    fcompi %st(3) # sched: [1:0.50]
+; HASWELL-NEXT:    fcomi %st(3), %st # sched: [1:0.50]
+; HASWELL-NEXT:    fcompi %st(3), %st # sched: [1:0.50]
 ; HASWELL-NEXT:    #NO_APP
 ; HASWELL-NEXT:    retl # sched: [7:1.00]
 ;
 ; BROADWELL-LABEL: test_fcomi_fcomip:
 ; BROADWELL:       # %bb.0:
 ; BROADWELL-NEXT:    #APP
-; BROADWELL-NEXT:    fcomi %st(3) # sched: [3:1.00]
-; BROADWELL-NEXT:    fcompi %st(3) # sched: [3:1.00]
+; BROADWELL-NEXT:    fcomi %st(3), %st # sched: [3:1.00]
+; BROADWELL-NEXT:    fcompi %st(3), %st # sched: [3:1.00]
 ; BROADWELL-NEXT:    #NO_APP
 ; BROADWELL-NEXT:    retl # sched: [6:0.50]
 ;
 ; SKYLAKE-LABEL: test_fcomi_fcomip:
 ; SKYLAKE:       # %bb.0:
 ; SKYLAKE-NEXT:    #APP
-; SKYLAKE-NEXT:    fcomi %st(3) # sched: [2:1.00]
-; SKYLAKE-NEXT:    fcompi %st(3) # sched: [2:1.00]
+; SKYLAKE-NEXT:    fcomi %st(3), %st # sched: [2:1.00]
+; SKYLAKE-NEXT:    fcompi %st(3), %st # sched: [2:1.00]
 ; SKYLAKE-NEXT:    #NO_APP
 ; SKYLAKE-NEXT:    retl # sched: [6:0.50]
 ;
 ; SKX-LABEL: test_fcomi_fcomip:
 ; SKX:       # %bb.0:
 ; SKX-NEXT:    #APP
-; SKX-NEXT:    fcomi %st(3) # sched: [2:1.00]
-; SKX-NEXT:    fcompi %st(3) # sched: [2:1.00]
+; SKX-NEXT:    fcomi %st(3), %st # sched: [2:1.00]
+; SKX-NEXT:    fcompi %st(3), %st # sched: [2:1.00]
 ; SKX-NEXT:    #NO_APP
 ; SKX-NEXT:    retl # sched: [6:0.50]
 ;
 ; BDVER2-LABEL: test_fcomi_fcomip:
 ; BDVER2:       # %bb.0:
 ; BDVER2-NEXT:    #APP
-; BDVER2-NEXT:    fcomi %st(3) # sched: [1:1.00]
-; BDVER2-NEXT:    fcompi %st(3) # sched: [1:1.00]
+; BDVER2-NEXT:    fcomi %st(3), %st # sched: [1:1.00]
+; BDVER2-NEXT:    fcompi %st(3), %st # sched: [1:1.00]
 ; BDVER2-NEXT:    #NO_APP
 ; BDVER2-NEXT:    retl # sched: [5:1.00]
 ;
 ; BTVER2-LABEL: test_fcomi_fcomip:
 ; BTVER2:       # %bb.0:
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fcomi %st(3) # sched: [3:1.00]
-; BTVER2-NEXT:    fcompi %st(3) # sched: [3:1.00]
+; BTVER2-NEXT:    fcomi %st(3), %st # sched: [3:1.00]
+; BTVER2-NEXT:    fcompi %st(3), %st # sched: [3:1.00]
 ; BTVER2-NEXT:    #NO_APP
 ; BTVER2-NEXT:    retl # sched: [4:1.00]
 ;
 ; ZNVER1-LABEL: test_fcomi_fcomip:
 ; ZNVER1:       # %bb.0:
 ; ZNVER1-NEXT:    #APP
-; ZNVER1-NEXT:    fcomi %st(3) # sched: [9:0.50]
-; ZNVER1-NEXT:    fcompi %st(3) # sched: [9:0.50]
+; ZNVER1-NEXT:    fcomi %st(3), %st # sched: [9:0.50]
+; ZNVER1-NEXT:    fcompi %st(3), %st # sched: [9:0.50]
 ; ZNVER1-NEXT:    #NO_APP
 ; ZNVER1-NEXT:    retl # sched: [1:0.50]
   tail call void asm sideeffect "fcomi %st(3) \0A\09 fcomip %st(3)", ""() nounwind
@@ -1504,8 +1504,8 @@ 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(0), %st(1)
-; GENERIC-NEXT:    fdiv %st(2)
+; GENERIC-NEXT:    fdiv %st, %st(1)
+; GENERIC-NEXT:    fdiv %st(2), %st
 ; GENERIC-NEXT:    fdivs (%ecx)
 ; GENERIC-NEXT:    fdivl (%eax)
 ; GENERIC-NEXT:    #NO_APP
@@ -1516,8 +1516,8 @@ 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(0), %st(1) # sched: [34:17.00]
-; ATOM-NEXT:    fdiv %st(2) # sched: [34:17.00]
+; ATOM-NEXT:    fdiv %st, %st(1) # sched: [34:17.00]
+; ATOM-NEXT:    fdiv %st(2), %st # sched: [34:17.00]
 ; ATOM-NEXT:    fdivs (%ecx) # sched: [34:17.00]
 ; ATOM-NEXT:    fdivl (%eax) # sched: [34:17.00]
 ; ATOM-NEXT:    #NO_APP
@@ -1528,8 +1528,8 @@ 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(0), %st(1) # sched: [19:17.00]
-; SLM-NEXT:    fdiv %st(2) # sched: [19:17.00]
+; SLM-NEXT:    fdiv %st, %st(1) # sched: [19:17.00]
+; SLM-NEXT:    fdiv %st(2), %st # sched: [19:17.00]
 ; SLM-NEXT:    fdivs (%ecx) # sched: [22:17.00]
 ; SLM-NEXT:    fdivl (%eax) # sched: [22:17.00]
 ; SLM-NEXT:    #NO_APP
@@ -1540,8 +1540,8 @@ 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(0), %st(1) # sched: [14:14.00]
-; SANDY-NEXT:    fdiv %st(2) # sched: [14:14.00]
+; SANDY-NEXT:    fdiv %st, %st(1) # sched: [14:14.00]
+; SANDY-NEXT:    fdiv %st(2), %st # sched: [14:14.00]
 ; SANDY-NEXT:    fdivs (%ecx) # sched: [31:1.00]
 ; SANDY-NEXT:    fdivl (%eax) # sched: [31:1.00]
 ; SANDY-NEXT:    #NO_APP
@@ -1552,8 +1552,8 @@ 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(0), %st(1) # sched: [24:1.00]
-; HASWELL-NEXT:    fdiv %st(2) # sched: [20:1.00]
+; HASWELL-NEXT:    fdiv %st, %st(1) # sched: [24:1.00]
+; HASWELL-NEXT:    fdiv %st(2), %st # sched: [20:1.00]
 ; HASWELL-NEXT:    fdivs (%ecx) # sched: [31:1.00]
 ; HASWELL-NEXT:    fdivl (%eax) # sched: [31:1.00]
 ; HASWELL-NEXT:    #NO_APP
@@ -1564,8 +1564,8 @@ 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(0), %st(1) # sched: [15:1.00]
-; BROADWELL-NEXT:    fdiv %st(2) # sched: [20:1.00]
+; BROADWELL-NEXT:    fdiv %st, %st(1) # sched: [15:1.00]
+; BROADWELL-NEXT:    fdiv %st(2), %st # sched: [20:1.00]
 ; BROADWELL-NEXT:    fdivs (%ecx) # sched: [21:1.00]
 ; BROADWELL-NEXT:    fdivl (%eax) # sched: [21:1.00]
 ; BROADWELL-NEXT:    #NO_APP
@@ -1576,8 +1576,8 @@ 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(0), %st(1) # sched: [15:1.00]
-; SKYLAKE-NEXT:    fdiv %st(2) # sched: [20:1.00]
+; SKYLAKE-NEXT:    fdiv %st, %st(1) # sched: [15:1.00]
+; SKYLAKE-NEXT:    fdiv %st(2), %st # sched: [20:1.00]
 ; SKYLAKE-NEXT:    fdivs (%ecx) # sched: [22:1.00]
 ; SKYLAKE-NEXT:    fdivl (%eax) # sched: [22:1.00]
 ; SKYLAKE-NEXT:    #NO_APP
@@ -1588,8 +1588,8 @@ 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(0), %st(1) # sched: [15:1.00]
-; SKX-NEXT:    fdiv %st(2) # sched: [20:1.00]
+; SKX-NEXT:    fdiv %st, %st(1) # sched: [15:1.00]
+; SKX-NEXT:    fdiv %st(2), %st # sched: [20:1.00]
 ; SKX-NEXT:    fdivs (%ecx) # sched: [22:1.00]
 ; SKX-NEXT:    fdivl (%eax) # sched: [22:1.00]
 ; SKX-NEXT:    #NO_APP
@@ -1600,8 +1600,8 @@ 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(0), %st(1) # sched: [9:9.50]
-; BDVER2-NEXT:    fdiv %st(2) # sched: [9:9.50]
+; BDVER2-NEXT:    fdiv %st, %st(1) # sched: [9:9.50]
+; BDVER2-NEXT:    fdiv %st(2), %st # sched: [9:9.50]
 ; BDVER2-NEXT:    fdivs (%ecx) # sched: [14:9.50]
 ; BDVER2-NEXT:    fdivl (%eax) # sched: [14:9.50]
 ; BDVER2-NEXT:    #NO_APP
@@ -1612,8 +1612,8 @@ define void @test_fdiv(float *%a0, doubl
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fdiv %st(0), %st(1) # sched: [19:19.00]
-; BTVER2-NEXT:    fdiv %st(2) # sched: [19:19.00]
+; BTVER2-NEXT:    fdiv %st, %st(1) # sched: [19:19.00]
+; BTVER2-NEXT:    fdiv %st(2), %st # sched: [19:19.00]
 ; BTVER2-NEXT:    fdivs (%ecx) # sched: [24:19.00]
 ; BTVER2-NEXT:    fdivl (%eax) # sched: [24:19.00]
 ; BTVER2-NEXT:    #NO_APP
@@ -1624,8 +1624,8 @@ 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(0), %st(1) # sched: [15:1.00]
-; ZNVER1-NEXT:    fdiv %st(2) # sched: [15:1.00]
+; ZNVER1-NEXT:    fdiv %st, %st(1) # sched: [15:1.00]
+; ZNVER1-NEXT:    fdiv %st(2), %st # sched: [15:1.00]
 ; ZNVER1-NEXT:    fdivs (%ecx) # sched: [22:1.00]
 ; ZNVER1-NEXT:    fdivl (%eax) # sched: [22:1.00]
 ; ZNVER1-NEXT:    #NO_APP
@@ -1640,8 +1640,8 @@ define void @test_fdivp_fidiv(i16 *%a0,
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    fdivp %st(1)
-; GENERIC-NEXT:    fdivp %st(2)
+; GENERIC-NEXT:    fdivp %st, %st(1)
+; GENERIC-NEXT:    fdivp %st, %st(2)
 ; GENERIC-NEXT:    fidivs (%ecx)
 ; GENERIC-NEXT:    fidivl (%eax)
 ; GENERIC-NEXT:    #NO_APP
@@ -1652,8 +1652,8 @@ define void @test_fdivp_fidiv(i16 *%a0,
 ; 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:    fdivp %st(1) # sched: [34:17.00]
-; ATOM-NEXT:    fdivp %st(2) # sched: [34:17.00]
+; ATOM-NEXT:    fdivp %st, %st(1) # sched: [34:17.00]
+; ATOM-NEXT:    fdivp %st, %st(2) # sched: [34:17.00]
 ; ATOM-NEXT:    fidivs (%ecx) # sched: [34:17.00]
 ; ATOM-NEXT:    fidivl (%eax) # sched: [34:17.00]
 ; ATOM-NEXT:    #NO_APP
@@ -1664,8 +1664,8 @@ define void @test_fdivp_fidiv(i16 *%a0,
 ; 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:    fdivp %st(1) # sched: [19:17.00]
-; SLM-NEXT:    fdivp %st(2) # sched: [19:17.00]
+; SLM-NEXT:    fdivp %st, %st(1) # sched: [19:17.00]
+; SLM-NEXT:    fdivp %st, %st(2) # sched: [19:17.00]
 ; SLM-NEXT:    fidivs (%ecx) # sched: [22:17.00]
 ; SLM-NEXT:    fidivl (%eax) # sched: [22:17.00]
 ; SLM-NEXT:    #NO_APP
@@ -1676,8 +1676,8 @@ define void @test_fdivp_fidiv(i16 *%a0,
 ; 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:    fdivp %st(1) # sched: [14:14.00]
-; SANDY-NEXT:    fdivp %st(2) # sched: [14:14.00]
+; SANDY-NEXT:    fdivp %st, %st(1) # sched: [14:14.00]
+; SANDY-NEXT:    fdivp %st, %st(2) # sched: [14:14.00]
 ; SANDY-NEXT:    fidivs (%ecx) # sched: [34:1.00]
 ; SANDY-NEXT:    fidivl (%eax) # sched: [34:1.00]
 ; SANDY-NEXT:    #NO_APP
@@ -1688,8 +1688,8 @@ define void @test_fdivp_fidiv(i16 *%a0,
 ; 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:    fdivp %st(1) # sched: [24:1.00]
-; HASWELL-NEXT:    fdivp %st(2) # sched: [24:1.00]
+; HASWELL-NEXT:    fdivp %st, %st(1) # sched: [24:1.00]
+; HASWELL-NEXT:    fdivp %st, %st(2) # sched: [24:1.00]
 ; HASWELL-NEXT:    fidivs (%ecx) # sched: [34:1.00]
 ; HASWELL-NEXT:    fidivl (%eax) # sched: [34:1.00]
 ; HASWELL-NEXT:    #NO_APP
@@ -1700,8 +1700,8 @@ define void @test_fdivp_fidiv(i16 *%a0,
 ; 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:    fdivp %st(1) # sched: [15:1.00]
-; BROADWELL-NEXT:    fdivp %st(2) # sched: [15:1.00]
+; BROADWELL-NEXT:    fdivp %st, %st(1) # sched: [15:1.00]
+; BROADWELL-NEXT:    fdivp %st, %st(2) # sched: [15:1.00]
 ; BROADWELL-NEXT:    fidivs (%ecx) # sched: [24:1.00]
 ; BROADWELL-NEXT:    fidivl (%eax) # sched: [24:1.00]
 ; BROADWELL-NEXT:    #NO_APP
@@ -1712,8 +1712,8 @@ define void @test_fdivp_fidiv(i16 *%a0,
 ; 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:    fdivp %st(1) # sched: [15:1.00]
-; SKYLAKE-NEXT:    fdivp %st(2) # sched: [15:1.00]
+; SKYLAKE-NEXT:    fdivp %st, %st(1) # sched: [15:1.00]
+; SKYLAKE-NEXT:    fdivp %st, %st(2) # sched: [15:1.00]
 ; SKYLAKE-NEXT:    fidivs (%ecx) # sched: [25:1.00]
 ; SKYLAKE-NEXT:    fidivl (%eax) # sched: [25:1.00]
 ; SKYLAKE-NEXT:    #NO_APP
@@ -1724,8 +1724,8 @@ define void @test_fdivp_fidiv(i16 *%a0,
 ; 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:    fdivp %st(1) # sched: [15:1.00]
-; SKX-NEXT:    fdivp %st(2) # sched: [15:1.00]
+; SKX-NEXT:    fdivp %st, %st(1) # sched: [15:1.00]
+; SKX-NEXT:    fdivp %st, %st(2) # sched: [15:1.00]
 ; SKX-NEXT:    fidivs (%ecx) # sched: [25:1.00]
 ; SKX-NEXT:    fidivl (%eax) # sched: [25:1.00]
 ; SKX-NEXT:    #NO_APP
@@ -1736,8 +1736,8 @@ define void @test_fdivp_fidiv(i16 *%a0,
 ; 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:    fdivp %st(1) # sched: [9:9.50]
-; BDVER2-NEXT:    fdivp %st(2) # sched: [9:9.50]
+; BDVER2-NEXT:    fdivp %st, %st(1) # sched: [9:9.50]
+; BDVER2-NEXT:    fdivp %st, %st(2) # sched: [9:9.50]
 ; BDVER2-NEXT:    fidivs (%ecx) # sched: [14:9.50]
 ; BDVER2-NEXT:    fidivl (%eax) # sched: [14:9.50]
 ; BDVER2-NEXT:    #NO_APP
@@ -1748,8 +1748,8 @@ define void @test_fdivp_fidiv(i16 *%a0,
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fdivp %st(1) # sched: [19:19.00]
-; BTVER2-NEXT:    fdivp %st(2) # sched: [19:19.00]
+; BTVER2-NEXT:    fdivp %st, %st(1) # sched: [19:19.00]
+; BTVER2-NEXT:    fdivp %st, %st(2) # sched: [19:19.00]
 ; BTVER2-NEXT:    fidivs (%ecx) # sched: [24:19.00]
 ; BTVER2-NEXT:    fidivl (%eax) # sched: [24:19.00]
 ; BTVER2-NEXT:    #NO_APP
@@ -1760,8 +1760,8 @@ define void @test_fdivp_fidiv(i16 *%a0,
 ; 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:    fdivp %st(1) # sched: [15:1.00]
-; ZNVER1-NEXT:    fdivp %st(2) # sched: [15:1.00]
+; ZNVER1-NEXT:    fdivp %st, %st(1) # sched: [15:1.00]
+; ZNVER1-NEXT:    fdivp %st, %st(2) # sched: [15:1.00]
 ; ZNVER1-NEXT:    fidivs (%ecx) # sched: [22:1.00]
 ; ZNVER1-NEXT:    fidivl (%eax) # sched: [22:1.00]
 ; ZNVER1-NEXT:    #NO_APP
@@ -1776,8 +1776,8 @@ 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(0), %st(1)
-; GENERIC-NEXT:    fdivr %st(2)
+; GENERIC-NEXT:    fdivr %st, %st(1)
+; GENERIC-NEXT:    fdivr %st(2), %st
 ; GENERIC-NEXT:    fdivrs (%ecx)
 ; GENERIC-NEXT:    fdivrl (%eax)
 ; GENERIC-NEXT:    #NO_APP
@@ -1788,8 +1788,8 @@ 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(0), %st(1) # sched: [34:17.00]
-; ATOM-NEXT:    fdivr %st(2) # sched: [34:17.00]
+; ATOM-NEXT:    fdivr %st, %st(1) # sched: [34:17.00]
+; ATOM-NEXT:    fdivr %st(2), %st # sched: [34:17.00]
 ; ATOM-NEXT:    fdivrs (%ecx) # sched: [34:17.00]
 ; ATOM-NEXT:    fdivrl (%eax) # sched: [34:17.00]
 ; ATOM-NEXT:    #NO_APP
@@ -1800,8 +1800,8 @@ 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(0), %st(1) # sched: [19:17.00]
-; SLM-NEXT:    fdivr %st(2) # sched: [19:17.00]
+; SLM-NEXT:    fdivr %st, %st(1) # sched: [19:17.00]
+; SLM-NEXT:    fdivr %st(2), %st # sched: [19:17.00]
 ; SLM-NEXT:    fdivrs (%ecx) # sched: [22:17.00]
 ; SLM-NEXT:    fdivrl (%eax) # sched: [22:17.00]
 ; SLM-NEXT:    #NO_APP
@@ -1812,8 +1812,8 @@ 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(0), %st(1) # sched: [14:14.00]
-; SANDY-NEXT:    fdivr %st(2) # sched: [14:14.00]
+; SANDY-NEXT:    fdivr %st, %st(1) # sched: [14:14.00]
+; SANDY-NEXT:    fdivr %st(2), %st # sched: [14:14.00]
 ; SANDY-NEXT:    fdivrs (%ecx) # sched: [31:1.00]
 ; SANDY-NEXT:    fdivrl (%eax) # sched: [31:1.00]
 ; SANDY-NEXT:    #NO_APP
@@ -1824,8 +1824,8 @@ 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(0), %st(1) # sched: [20:1.00]
-; HASWELL-NEXT:    fdivr %st(2) # sched: [24:1.00]
+; HASWELL-NEXT:    fdivr %st, %st(1) # sched: [20:1.00]
+; HASWELL-NEXT:    fdivr %st(2), %st # sched: [24:1.00]
 ; HASWELL-NEXT:    fdivrs (%ecx) # sched: [27:1.00]
 ; HASWELL-NEXT:    fdivrl (%eax) # sched: [27:1.00]
 ; HASWELL-NEXT:    #NO_APP
@@ -1836,8 +1836,8 @@ 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(0), %st(1) # sched: [20:1.00]
-; BROADWELL-NEXT:    fdivr %st(2) # sched: [15:1.00]
+; BROADWELL-NEXT:    fdivr %st, %st(1) # sched: [20:1.00]
+; BROADWELL-NEXT:    fdivr %st(2), %st # sched: [15:1.00]
 ; BROADWELL-NEXT:    fdivrs (%ecx) # sched: [26:1.00]
 ; BROADWELL-NEXT:    fdivrl (%eax) # sched: [26:1.00]
 ; BROADWELL-NEXT:    #NO_APP
@@ -1848,8 +1848,8 @@ 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(0), %st(1) # sched: [20:1.00]
-; SKYLAKE-NEXT:    fdivr %st(2) # sched: [15:1.00]
+; SKYLAKE-NEXT:    fdivr %st, %st(1) # sched: [20:1.00]
+; SKYLAKE-NEXT:    fdivr %st(2), %st # sched: [15:1.00]
 ; SKYLAKE-NEXT:    fdivrs (%ecx) # sched: [27:1.00]
 ; SKYLAKE-NEXT:    fdivrl (%eax) # sched: [27:1.00]
 ; SKYLAKE-NEXT:    #NO_APP
@@ -1860,8 +1860,8 @@ 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(0), %st(1) # sched: [20:1.00]
-; SKX-NEXT:    fdivr %st(2) # sched: [15:1.00]
+; SKX-NEXT:    fdivr %st, %st(1) # sched: [20:1.00]
+; SKX-NEXT:    fdivr %st(2), %st # sched: [15:1.00]
 ; SKX-NEXT:    fdivrs (%ecx) # sched: [27:1.00]
 ; SKX-NEXT:    fdivrl (%eax) # sched: [27:1.00]
 ; SKX-NEXT:    #NO_APP
@@ -1872,8 +1872,8 @@ 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(0), %st(1) # sched: [9:9.50]
-; BDVER2-NEXT:    fdivr %st(2) # sched: [9:9.50]
+; BDVER2-NEXT:    fdivr %st, %st(1) # sched: [9:9.50]
+; BDVER2-NEXT:    fdivr %st(2), %st # sched: [9:9.50]
 ; BDVER2-NEXT:    fdivrs (%ecx) # sched: [14:9.50]
 ; BDVER2-NEXT:    fdivrl (%eax) # sched: [14:9.50]
 ; BDVER2-NEXT:    #NO_APP
@@ -1884,8 +1884,8 @@ define void @test_fdivr(float *%a0, doub
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fdivr %st(0), %st(1) # sched: [19:19.00]
-; BTVER2-NEXT:    fdivr %st(2) # sched: [19:19.00]
+; BTVER2-NEXT:    fdivr %st, %st(1) # sched: [19:19.00]
+; BTVER2-NEXT:    fdivr %st(2), %st # sched: [19:19.00]
 ; BTVER2-NEXT:    fdivrs (%ecx) # sched: [24:19.00]
 ; BTVER2-NEXT:    fdivrl (%eax) # sched: [24:19.00]
 ; BTVER2-NEXT:    #NO_APP
@@ -1896,8 +1896,8 @@ 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(0), %st(1) # sched: [15:1.00]
-; ZNVER1-NEXT:    fdivr %st(2) # sched: [15:1.00]
+; ZNVER1-NEXT:    fdivr %st, %st(1) # sched: [15:1.00]
+; ZNVER1-NEXT:    fdivr %st(2), %st # sched: [15:1.00]
 ; ZNVER1-NEXT:    fdivrs (%ecx) # sched: [22:1.00]
 ; ZNVER1-NEXT:    fdivrl (%eax) # sched: [22:1.00]
 ; ZNVER1-NEXT:    #NO_APP
@@ -1912,8 +1912,8 @@ define void @test_fdivrp_fidivr(i16 *%a0
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    fdivrp %st(1)
-; GENERIC-NEXT:    fdivrp %st(2)
+; GENERIC-NEXT:    fdivrp %st, %st(1)
+; GENERIC-NEXT:    fdivrp %st, %st(2)
 ; GENERIC-NEXT:    fidivrs (%ecx)
 ; GENERIC-NEXT:    fidivrl (%eax)
 ; GENERIC-NEXT:    #NO_APP
@@ -1924,8 +1924,8 @@ define void @test_fdivrp_fidivr(i16 *%a0
 ; 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:    fdivrp %st(1) # sched: [34:17.00]
-; ATOM-NEXT:    fdivrp %st(2) # sched: [34:17.00]
+; ATOM-NEXT:    fdivrp %st, %st(1) # sched: [34:17.00]
+; ATOM-NEXT:    fdivrp %st, %st(2) # sched: [34:17.00]
 ; ATOM-NEXT:    fidivrs (%ecx) # sched: [34:17.00]
 ; ATOM-NEXT:    fidivrl (%eax) # sched: [34:17.00]
 ; ATOM-NEXT:    #NO_APP
@@ -1936,8 +1936,8 @@ define void @test_fdivrp_fidivr(i16 *%a0
 ; 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:    fdivrp %st(1) # sched: [19:17.00]
-; SLM-NEXT:    fdivrp %st(2) # sched: [19:17.00]
+; SLM-NEXT:    fdivrp %st, %st(1) # sched: [19:17.00]
+; SLM-NEXT:    fdivrp %st, %st(2) # sched: [19:17.00]
 ; SLM-NEXT:    fidivrs (%ecx) # sched: [22:17.00]
 ; SLM-NEXT:    fidivrl (%eax) # sched: [22:17.00]
 ; SLM-NEXT:    #NO_APP
@@ -1948,8 +1948,8 @@ define void @test_fdivrp_fidivr(i16 *%a0
 ; 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:    fdivrp %st(1) # sched: [14:14.00]
-; SANDY-NEXT:    fdivrp %st(2) # sched: [14:14.00]
+; SANDY-NEXT:    fdivrp %st, %st(1) # sched: [14:14.00]
+; SANDY-NEXT:    fdivrp %st, %st(2) # sched: [14:14.00]
 ; SANDY-NEXT:    fidivrs (%ecx) # sched: [34:1.00]
 ; SANDY-NEXT:    fidivrl (%eax) # sched: [34:1.00]
 ; SANDY-NEXT:    #NO_APP
@@ -1960,8 +1960,8 @@ define void @test_fdivrp_fidivr(i16 *%a0
 ; 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:    fdivrp %st(1) # sched: [20:1.00]
-; HASWELL-NEXT:    fdivrp %st(2) # sched: [20:1.00]
+; HASWELL-NEXT:    fdivrp %st, %st(1) # sched: [20:1.00]
+; HASWELL-NEXT:    fdivrp %st, %st(2) # sched: [20:1.00]
 ; HASWELL-NEXT:    fidivrs (%ecx) # sched: [30:1.00]
 ; HASWELL-NEXT:    fidivrl (%eax) # sched: [30:1.00]
 ; HASWELL-NEXT:    #NO_APP
@@ -1972,8 +1972,8 @@ define void @test_fdivrp_fidivr(i16 *%a0
 ; 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:    fdivrp %st(1) # sched: [20:1.00]
-; BROADWELL-NEXT:    fdivrp %st(2) # sched: [20:1.00]
+; BROADWELL-NEXT:    fdivrp %st, %st(1) # sched: [20:1.00]
+; BROADWELL-NEXT:    fdivrp %st, %st(2) # sched: [20:1.00]
 ; BROADWELL-NEXT:    fidivrs (%ecx) # sched: [29:1.00]
 ; BROADWELL-NEXT:    fidivrl (%eax) # sched: [29:1.00]
 ; BROADWELL-NEXT:    #NO_APP
@@ -1984,8 +1984,8 @@ define void @test_fdivrp_fidivr(i16 *%a0
 ; 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:    fdivrp %st(1) # sched: [20:1.00]
-; SKYLAKE-NEXT:    fdivrp %st(2) # sched: [20:1.00]
+; SKYLAKE-NEXT:    fdivrp %st, %st(1) # sched: [20:1.00]
+; SKYLAKE-NEXT:    fdivrp %st, %st(2) # sched: [20:1.00]
 ; SKYLAKE-NEXT:    fidivrs (%ecx) # sched: [30:1.00]
 ; SKYLAKE-NEXT:    fidivrl (%eax) # sched: [30:1.00]
 ; SKYLAKE-NEXT:    #NO_APP
@@ -1996,8 +1996,8 @@ define void @test_fdivrp_fidivr(i16 *%a0
 ; 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:    fdivrp %st(1) # sched: [20:1.00]
-; SKX-NEXT:    fdivrp %st(2) # sched: [20:1.00]
+; SKX-NEXT:    fdivrp %st, %st(1) # sched: [20:1.00]
+; SKX-NEXT:    fdivrp %st, %st(2) # sched: [20:1.00]
 ; SKX-NEXT:    fidivrs (%ecx) # sched: [30:1.00]
 ; SKX-NEXT:    fidivrl (%eax) # sched: [30:1.00]
 ; SKX-NEXT:    #NO_APP
@@ -2008,8 +2008,8 @@ define void @test_fdivrp_fidivr(i16 *%a0
 ; 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:    fdivrp %st(1) # sched: [9:9.50]
-; BDVER2-NEXT:    fdivrp %st(2) # sched: [9:9.50]
+; BDVER2-NEXT:    fdivrp %st, %st(1) # sched: [9:9.50]
+; BDVER2-NEXT:    fdivrp %st, %st(2) # sched: [9:9.50]
 ; BDVER2-NEXT:    fidivrs (%ecx) # sched: [14:9.50]
 ; BDVER2-NEXT:    fidivrl (%eax) # sched: [14:9.50]
 ; BDVER2-NEXT:    #NO_APP
@@ -2020,8 +2020,8 @@ define void @test_fdivrp_fidivr(i16 *%a0
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fdivrp %st(1) # sched: [19:19.00]
-; BTVER2-NEXT:    fdivrp %st(2) # sched: [19:19.00]
+; BTVER2-NEXT:    fdivrp %st, %st(1) # sched: [19:19.00]
+; BTVER2-NEXT:    fdivrp %st, %st(2) # sched: [19:19.00]
 ; BTVER2-NEXT:    fidivrs (%ecx) # sched: [24:19.00]
 ; BTVER2-NEXT:    fidivrl (%eax) # sched: [24:19.00]
 ; BTVER2-NEXT:    #NO_APP
@@ -2032,8 +2032,8 @@ define void @test_fdivrp_fidivr(i16 *%a0
 ; 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:    fdivrp %st(1) # sched: [15:1.00]
-; ZNVER1-NEXT:    fdivrp %st(2) # sched: [15:1.00]
+; ZNVER1-NEXT:    fdivrp %st, %st(1) # sched: [15:1.00]
+; ZNVER1-NEXT:    fdivrp %st, %st(2) # sched: [15:1.00]
 ; ZNVER1-NEXT:    fidivrs (%ecx) # sched: [22:1.00]
 ; ZNVER1-NEXT:    fidivrl (%eax) # sched: [22:1.00]
 ; ZNVER1-NEXT:    #NO_APP
@@ -3243,8 +3243,8 @@ 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(0), %st(1)
-; GENERIC-NEXT:    fmul %st(2)
+; GENERIC-NEXT:    fmul %st, %st(1)
+; GENERIC-NEXT:    fmul %st(2), %st
 ; GENERIC-NEXT:    fmuls (%ecx)
 ; GENERIC-NEXT:    fmull (%eax)
 ; GENERIC-NEXT:    #NO_APP
@@ -3255,8 +3255,8 @@ 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(0), %st(1) # sched: [4:4.00]
-; ATOM-NEXT:    fmul %st(2) # sched: [4:4.00]
+; ATOM-NEXT:    fmul %st, %st(1) # sched: [4:4.00]
+; ATOM-NEXT:    fmul %st(2), %st # sched: [4:4.00]
 ; ATOM-NEXT:    fmuls (%ecx) # sched: [4:4.00]
 ; ATOM-NEXT:    fmull (%eax) # sched: [4:4.00]
 ; ATOM-NEXT:    #NO_APP
@@ -3267,8 +3267,8 @@ 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(0), %st(1) # sched: [5:2.00]
-; SLM-NEXT:    fmul %st(2) # sched: [5:2.00]
+; SLM-NEXT:    fmul %st, %st(1) # sched: [5:2.00]
+; SLM-NEXT:    fmul %st(2), %st # sched: [5:2.00]
 ; SLM-NEXT:    fmuls (%ecx) # sched: [8:2.00]
 ; SLM-NEXT:    fmull (%eax) # sched: [8:2.00]
 ; SLM-NEXT:    #NO_APP
@@ -3279,8 +3279,8 @@ 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(0), %st(1) # sched: [5:1.00]
-; SANDY-NEXT:    fmul %st(2) # sched: [5:1.00]
+; SANDY-NEXT:    fmul %st, %st(1) # sched: [5:1.00]
+; SANDY-NEXT:    fmul %st(2), %st # sched: [5:1.00]
 ; SANDY-NEXT:    fmuls (%ecx) # sched: [12:1.00]
 ; SANDY-NEXT:    fmull (%eax) # sched: [12:1.00]
 ; SANDY-NEXT:    #NO_APP
@@ -3291,8 +3291,8 @@ 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(0), %st(1) # sched: [5:1.00]
-; HASWELL-NEXT:    fmul %st(2) # sched: [5:1.00]
+; HASWELL-NEXT:    fmul %st, %st(1) # sched: [5:1.00]
+; HASWELL-NEXT:    fmul %st(2), %st # sched: [5:1.00]
 ; HASWELL-NEXT:    fmuls (%ecx) # sched: [12:1.00]
 ; HASWELL-NEXT:    fmull (%eax) # sched: [12:1.00]
 ; HASWELL-NEXT:    #NO_APP
@@ -3303,8 +3303,8 @@ 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(0), %st(1) # sched: [5:1.00]
-; BROADWELL-NEXT:    fmul %st(2) # sched: [5:1.00]
+; BROADWELL-NEXT:    fmul %st, %st(1) # sched: [5:1.00]
+; BROADWELL-NEXT:    fmul %st(2), %st # sched: [5:1.00]
 ; BROADWELL-NEXT:    fmuls (%ecx) # sched: [11:1.00]
 ; BROADWELL-NEXT:    fmull (%eax) # sched: [11:1.00]
 ; BROADWELL-NEXT:    #NO_APP
@@ -3315,8 +3315,8 @@ 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(0), %st(1) # sched: [4:1.00]
-; SKYLAKE-NEXT:    fmul %st(2) # sched: [4:1.00]
+; SKYLAKE-NEXT:    fmul %st, %st(1) # sched: [4:1.00]
+; SKYLAKE-NEXT:    fmul %st(2), %st # sched: [4:1.00]
 ; SKYLAKE-NEXT:    fmuls (%ecx) # sched: [11:1.00]
 ; SKYLAKE-NEXT:    fmull (%eax) # sched: [11:1.00]
 ; SKYLAKE-NEXT:    #NO_APP
@@ -3327,8 +3327,8 @@ 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(0), %st(1) # sched: [4:1.00]
-; SKX-NEXT:    fmul %st(2) # sched: [4:1.00]
+; SKX-NEXT:    fmul %st, %st(1) # sched: [4:1.00]
+; SKX-NEXT:    fmul %st(2), %st # sched: [4:1.00]
 ; SKX-NEXT:    fmuls (%ecx) # sched: [11:1.00]
 ; SKX-NEXT:    fmull (%eax) # sched: [11:1.00]
 ; SKX-NEXT:    #NO_APP
@@ -3339,8 +3339,8 @@ 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(0), %st(1) # sched: [5:1.00]
-; BDVER2-NEXT:    fmul %st(2) # sched: [5:1.00]
+; BDVER2-NEXT:    fmul %st, %st(1) # sched: [5:1.00]
+; BDVER2-NEXT:    fmul %st(2), %st # sched: [5:1.00]
 ; BDVER2-NEXT:    fmuls (%ecx) # sched: [10:1.00]
 ; BDVER2-NEXT:    fmull (%eax) # sched: [10:1.00]
 ; BDVER2-NEXT:    #NO_APP
@@ -3351,8 +3351,8 @@ define void @test_fmul(float *%a0, doubl
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fmul %st(0), %st(1) # sched: [2:1.00]
-; BTVER2-NEXT:    fmul %st(2) # sched: [2:1.00]
+; BTVER2-NEXT:    fmul %st, %st(1) # sched: [2:1.00]
+; BTVER2-NEXT:    fmul %st(2), %st # sched: [2:1.00]
 ; BTVER2-NEXT:    fmuls (%ecx) # sched: [7:1.00]
 ; BTVER2-NEXT:    fmull (%eax) # sched: [7:1.00]
 ; BTVER2-NEXT:    #NO_APP
@@ -3363,8 +3363,8 @@ 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(0), %st(1) # sched: [3:0.50]
-; ZNVER1-NEXT:    fmul %st(2) # sched: [3:0.50]
+; ZNVER1-NEXT:    fmul %st, %st(1) # sched: [3:0.50]
+; ZNVER1-NEXT:    fmul %st(2), %st # sched: [3:0.50]
 ; ZNVER1-NEXT:    fmuls (%ecx) # sched: [10:0.50]
 ; ZNVER1-NEXT:    fmull (%eax) # sched: [10:0.50]
 ; ZNVER1-NEXT:    #NO_APP
@@ -3379,8 +3379,8 @@ define void @test_fmulp_fimul(i16 *%a0,
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    fmulp %st(1)
-; GENERIC-NEXT:    fmulp %st(2)
+; GENERIC-NEXT:    fmulp %st, %st(1)
+; GENERIC-NEXT:    fmulp %st, %st(2)
 ; GENERIC-NEXT:    fimuls (%ecx)
 ; GENERIC-NEXT:    fimull (%eax)
 ; GENERIC-NEXT:    #NO_APP
@@ -3391,8 +3391,8 @@ define void @test_fmulp_fimul(i16 *%a0,
 ; 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:    fmulp %st(1) # sched: [4:4.00]
-; ATOM-NEXT:    fmulp %st(2) # sched: [4:4.00]
+; ATOM-NEXT:    fmulp %st, %st(1) # sched: [4:4.00]
+; ATOM-NEXT:    fmulp %st, %st(2) # sched: [4:4.00]
 ; ATOM-NEXT:    fimuls (%ecx) # sched: [4:4.00]
 ; ATOM-NEXT:    fimull (%eax) # sched: [4:4.00]
 ; ATOM-NEXT:    #NO_APP
@@ -3403,8 +3403,8 @@ define void @test_fmulp_fimul(i16 *%a0,
 ; 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:    fmulp %st(1) # sched: [5:2.00]
-; SLM-NEXT:    fmulp %st(2) # sched: [5:2.00]
+; SLM-NEXT:    fmulp %st, %st(1) # sched: [5:2.00]
+; SLM-NEXT:    fmulp %st, %st(2) # sched: [5:2.00]
 ; SLM-NEXT:    fimuls (%ecx) # sched: [8:2.00]
 ; SLM-NEXT:    fimull (%eax) # sched: [8:2.00]
 ; SLM-NEXT:    #NO_APP
@@ -3415,8 +3415,8 @@ define void @test_fmulp_fimul(i16 *%a0,
 ; 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:    fmulp %st(1) # sched: [5:1.00]
-; SANDY-NEXT:    fmulp %st(2) # sched: [5:1.00]
+; SANDY-NEXT:    fmulp %st, %st(1) # sched: [5:1.00]
+; SANDY-NEXT:    fmulp %st, %st(2) # sched: [5:1.00]
 ; SANDY-NEXT:    fimuls (%ecx) # sched: [15:1.00]
 ; SANDY-NEXT:    fimull (%eax) # sched: [15:1.00]
 ; SANDY-NEXT:    #NO_APP
@@ -3427,8 +3427,8 @@ define void @test_fmulp_fimul(i16 *%a0,
 ; 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:    fmulp %st(1) # sched: [5:1.00]
-; HASWELL-NEXT:    fmulp %st(2) # sched: [5:1.00]
+; HASWELL-NEXT:    fmulp %st, %st(1) # sched: [5:1.00]
+; HASWELL-NEXT:    fmulp %st, %st(2) # sched: [5:1.00]
 ; HASWELL-NEXT:    fimuls (%ecx) # sched: [15:1.00]
 ; HASWELL-NEXT:    fimull (%eax) # sched: [15:1.00]
 ; HASWELL-NEXT:    #NO_APP
@@ -3439,8 +3439,8 @@ define void @test_fmulp_fimul(i16 *%a0,
 ; 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:    fmulp %st(1) # sched: [5:1.00]
-; BROADWELL-NEXT:    fmulp %st(2) # sched: [5:1.00]
+; BROADWELL-NEXT:    fmulp %st, %st(1) # sched: [5:1.00]
+; BROADWELL-NEXT:    fmulp %st, %st(2) # sched: [5:1.00]
 ; BROADWELL-NEXT:    fimuls (%ecx) # sched: [14:1.00]
 ; BROADWELL-NEXT:    fimull (%eax) # sched: [14:1.00]
 ; BROADWELL-NEXT:    #NO_APP
@@ -3451,8 +3451,8 @@ define void @test_fmulp_fimul(i16 *%a0,
 ; 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:    fmulp %st(1) # sched: [4:1.00]
-; SKYLAKE-NEXT:    fmulp %st(2) # sched: [4:1.00]
+; SKYLAKE-NEXT:    fmulp %st, %st(1) # sched: [4:1.00]
+; SKYLAKE-NEXT:    fmulp %st, %st(2) # sched: [4:1.00]
 ; SKYLAKE-NEXT:    fimuls (%ecx) # sched: [14:1.00]
 ; SKYLAKE-NEXT:    fimull (%eax) # sched: [14:1.00]
 ; SKYLAKE-NEXT:    #NO_APP
@@ -3463,8 +3463,8 @@ define void @test_fmulp_fimul(i16 *%a0,
 ; 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:    fmulp %st(1) # sched: [4:1.00]
-; SKX-NEXT:    fmulp %st(2) # sched: [4:1.00]
+; SKX-NEXT:    fmulp %st, %st(1) # sched: [4:1.00]
+; SKX-NEXT:    fmulp %st, %st(2) # sched: [4:1.00]
 ; SKX-NEXT:    fimuls (%ecx) # sched: [14:1.00]
 ; SKX-NEXT:    fimull (%eax) # sched: [14:1.00]
 ; SKX-NEXT:    #NO_APP
@@ -3475,8 +3475,8 @@ define void @test_fmulp_fimul(i16 *%a0,
 ; 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:    fmulp %st(1) # sched: [5:1.00]
-; BDVER2-NEXT:    fmulp %st(2) # sched: [5:1.00]
+; BDVER2-NEXT:    fmulp %st, %st(1) # sched: [5:1.00]
+; BDVER2-NEXT:    fmulp %st, %st(2) # sched: [5:1.00]
 ; BDVER2-NEXT:    fimuls (%ecx) # sched: [10:1.00]
 ; BDVER2-NEXT:    fimull (%eax) # sched: [10:1.00]
 ; BDVER2-NEXT:    #NO_APP
@@ -3487,8 +3487,8 @@ define void @test_fmulp_fimul(i16 *%a0,
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fmulp %st(1) # sched: [2:1.00]
-; BTVER2-NEXT:    fmulp %st(2) # sched: [2:1.00]
+; BTVER2-NEXT:    fmulp %st, %st(1) # sched: [2:1.00]
+; BTVER2-NEXT:    fmulp %st, %st(2) # sched: [2:1.00]
 ; BTVER2-NEXT:    fimuls (%ecx) # sched: [7:1.00]
 ; BTVER2-NEXT:    fimull (%eax) # sched: [7:1.00]
 ; BTVER2-NEXT:    #NO_APP
@@ -3499,8 +3499,8 @@ define void @test_fmulp_fimul(i16 *%a0,
 ; 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:    fmulp %st(1) # sched: [3:0.50]
-; ZNVER1-NEXT:    fmulp %st(2) # sched: [3:0.50]
+; ZNVER1-NEXT:    fmulp %st, %st(1) # sched: [3:0.50]
+; ZNVER1-NEXT:    fmulp %st, %st(2) # sched: [3:0.50]
 ; ZNVER1-NEXT:    fimuls (%ecx) # sched: [10:0.50]
 ; ZNVER1-NEXT:    fimull (%eax) # sched: [10:0.50]
 ; ZNVER1-NEXT:    #NO_APP
@@ -4983,8 +4983,8 @@ 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(0), %st(1)
-; GENERIC-NEXT:    fsub %st(2)
+; GENERIC-NEXT:    fsub %st, %st(1)
+; GENERIC-NEXT:    fsub %st(2), %st
 ; GENERIC-NEXT:    fsubs (%ecx)
 ; GENERIC-NEXT:    fsubl (%eax)
 ; GENERIC-NEXT:    #NO_APP
@@ -4995,8 +4995,8 @@ 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(0), %st(1) # sched: [5:5.00]
-; ATOM-NEXT:    fsub %st(2) # sched: [5:5.00]
+; ATOM-NEXT:    fsub %st, %st(1) # sched: [5:5.00]
+; ATOM-NEXT:    fsub %st(2), %st # sched: [5:5.00]
 ; ATOM-NEXT:    fsubs (%ecx) # sched: [5:5.00]
 ; ATOM-NEXT:    fsubl (%eax) # sched: [5:5.00]
 ; ATOM-NEXT:    #NO_APP
@@ -5007,8 +5007,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; SLM-NEXT:    fsub %st(2) # sched: [3:1.00]
+; SLM-NEXT:    fsub %st, %st(1) # sched: [3:1.00]
+; SLM-NEXT:    fsub %st(2), %st # sched: [3:1.00]
 ; SLM-NEXT:    fsubs (%ecx) # sched: [6:1.00]
 ; SLM-NEXT:    fsubl (%eax) # sched: [6:1.00]
 ; SLM-NEXT:    #NO_APP
@@ -5019,8 +5019,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; SANDY-NEXT:    fsub %st(2) # sched: [3:1.00]
+; SANDY-NEXT:    fsub %st, %st(1) # sched: [3:1.00]
+; SANDY-NEXT:    fsub %st(2), %st # sched: [3:1.00]
 ; SANDY-NEXT:    fsubs (%ecx) # sched: [10:1.00]
 ; SANDY-NEXT:    fsubl (%eax) # sched: [10:1.00]
 ; SANDY-NEXT:    #NO_APP
@@ -5031,8 +5031,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; HASWELL-NEXT:    fsub %st(2) # sched: [3:1.00]
+; HASWELL-NEXT:    fsub %st, %st(1) # sched: [3:1.00]
+; HASWELL-NEXT:    fsub %st(2), %st # sched: [3:1.00]
 ; HASWELL-NEXT:    fsubs (%ecx) # sched: [10:1.00]
 ; HASWELL-NEXT:    fsubl (%eax) # sched: [10:1.00]
 ; HASWELL-NEXT:    #NO_APP
@@ -5043,8 +5043,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; BROADWELL-NEXT:    fsub %st(2) # sched: [3:1.00]
+; BROADWELL-NEXT:    fsub %st, %st(1) # sched: [3:1.00]
+; BROADWELL-NEXT:    fsub %st(2), %st # sched: [3:1.00]
 ; BROADWELL-NEXT:    fsubs (%ecx) # sched: [9:1.00]
 ; BROADWELL-NEXT:    fsubl (%eax) # sched: [9:1.00]
 ; BROADWELL-NEXT:    #NO_APP
@@ -5055,8 +5055,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; SKYLAKE-NEXT:    fsub %st(2) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fsub %st, %st(1) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fsub %st(2), %st # sched: [3:1.00]
 ; SKYLAKE-NEXT:    fsubs (%ecx) # sched: [10:1.00]
 ; SKYLAKE-NEXT:    fsubl (%eax) # sched: [10:1.00]
 ; SKYLAKE-NEXT:    #NO_APP
@@ -5067,8 +5067,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; SKX-NEXT:    fsub %st(2) # sched: [3:1.00]
+; SKX-NEXT:    fsub %st, %st(1) # sched: [3:1.00]
+; SKX-NEXT:    fsub %st(2), %st # sched: [3:1.00]
 ; SKX-NEXT:    fsubs (%ecx) # sched: [10:1.00]
 ; SKX-NEXT:    fsubl (%eax) # sched: [10:1.00]
 ; SKX-NEXT:    #NO_APP
@@ -5079,8 +5079,8 @@ 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(0), %st(1) # sched: [5:1.00]
-; BDVER2-NEXT:    fsub %st(2) # sched: [5:1.00]
+; BDVER2-NEXT:    fsub %st, %st(1) # sched: [5:1.00]
+; BDVER2-NEXT:    fsub %st(2), %st # sched: [5:1.00]
 ; BDVER2-NEXT:    fsubs (%ecx) # sched: [10:1.00]
 ; BDVER2-NEXT:    fsubl (%eax) # sched: [10:1.00]
 ; BDVER2-NEXT:    #NO_APP
@@ -5091,8 +5091,8 @@ define void @test_fsub(float *%a0, doubl
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fsub %st(0), %st(1) # sched: [3:1.00]
-; BTVER2-NEXT:    fsub %st(2) # sched: [3:1.00]
+; BTVER2-NEXT:    fsub %st, %st(1) # sched: [3:1.00]
+; BTVER2-NEXT:    fsub %st(2), %st # sched: [3:1.00]
 ; BTVER2-NEXT:    fsubs (%ecx) # sched: [8:1.00]
 ; BTVER2-NEXT:    fsubl (%eax) # sched: [8:1.00]
 ; BTVER2-NEXT:    #NO_APP
@@ -5103,8 +5103,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; ZNVER1-NEXT:    fsub %st(2) # sched: [3:1.00]
+; ZNVER1-NEXT:    fsub %st, %st(1) # sched: [3:1.00]
+; ZNVER1-NEXT:    fsub %st(2), %st # sched: [3:1.00]
 ; ZNVER1-NEXT:    fsubs (%ecx) # sched: [10:1.00]
 ; ZNVER1-NEXT:    fsubl (%eax) # sched: [10:1.00]
 ; ZNVER1-NEXT:    #NO_APP
@@ -5119,8 +5119,8 @@ define void @test_fsubp_fisub(i16 *%a0,
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    fsubp %st(1)
-; GENERIC-NEXT:    fsubp %st(2)
+; GENERIC-NEXT:    fsubp %st, %st(1)
+; GENERIC-NEXT:    fsubp %st, %st(2)
 ; GENERIC-NEXT:    fisubs (%ecx)
 ; GENERIC-NEXT:    fisubl (%eax)
 ; GENERIC-NEXT:    #NO_APP
@@ -5131,8 +5131,8 @@ define void @test_fsubp_fisub(i16 *%a0,
 ; 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:    fsubp %st(1) # sched: [5:5.00]
-; ATOM-NEXT:    fsubp %st(2) # sched: [5:5.00]
+; ATOM-NEXT:    fsubp %st, %st(1) # sched: [5:5.00]
+; ATOM-NEXT:    fsubp %st, %st(2) # sched: [5:5.00]
 ; ATOM-NEXT:    fisubs (%ecx) # sched: [5:5.00]
 ; ATOM-NEXT:    fisubl (%eax) # sched: [5:5.00]
 ; ATOM-NEXT:    #NO_APP
@@ -5143,8 +5143,8 @@ define void @test_fsubp_fisub(i16 *%a0,
 ; 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:    fsubp %st(1) # sched: [3:1.00]
-; SLM-NEXT:    fsubp %st(2) # sched: [3:1.00]
+; SLM-NEXT:    fsubp %st, %st(1) # sched: [3:1.00]
+; SLM-NEXT:    fsubp %st, %st(2) # sched: [3:1.00]
 ; SLM-NEXT:    fisubs (%ecx) # sched: [6:1.00]
 ; SLM-NEXT:    fisubl (%eax) # sched: [6:1.00]
 ; SLM-NEXT:    #NO_APP
@@ -5155,8 +5155,8 @@ define void @test_fsubp_fisub(i16 *%a0,
 ; 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:    fsubp %st(1) # sched: [3:1.00]
-; SANDY-NEXT:    fsubp %st(2) # sched: [3:1.00]
+; SANDY-NEXT:    fsubp %st, %st(1) # sched: [3:1.00]
+; SANDY-NEXT:    fsubp %st, %st(2) # sched: [3:1.00]
 ; SANDY-NEXT:    fisubs (%ecx) # sched: [13:2.00]
 ; SANDY-NEXT:    fisubl (%eax) # sched: [13:2.00]
 ; SANDY-NEXT:    #NO_APP
@@ -5167,8 +5167,8 @@ define void @test_fsubp_fisub(i16 *%a0,
 ; 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:    fsubp %st(1) # sched: [3:1.00]
-; HASWELL-NEXT:    fsubp %st(2) # sched: [3:1.00]
+; HASWELL-NEXT:    fsubp %st, %st(1) # sched: [3:1.00]
+; HASWELL-NEXT:    fsubp %st, %st(2) # sched: [3:1.00]
 ; HASWELL-NEXT:    fisubs (%ecx) # sched: [13:2.00]
 ; HASWELL-NEXT:    fisubl (%eax) # sched: [13:2.00]
 ; HASWELL-NEXT:    #NO_APP
@@ -5179,8 +5179,8 @@ define void @test_fsubp_fisub(i16 *%a0,
 ; 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:    fsubp %st(1) # sched: [3:1.00]
-; BROADWELL-NEXT:    fsubp %st(2) # sched: [3:1.00]
+; BROADWELL-NEXT:    fsubp %st, %st(1) # sched: [3:1.00]
+; BROADWELL-NEXT:    fsubp %st, %st(2) # sched: [3:1.00]
 ; BROADWELL-NEXT:    fisubs (%ecx) # sched: [12:2.00]
 ; BROADWELL-NEXT:    fisubl (%eax) # sched: [12:2.00]
 ; BROADWELL-NEXT:    #NO_APP
@@ -5191,8 +5191,8 @@ define void @test_fsubp_fisub(i16 *%a0,
 ; 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:    fsubp %st(1) # sched: [3:1.00]
-; SKYLAKE-NEXT:    fsubp %st(2) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fsubp %st, %st(1) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fsubp %st, %st(2) # sched: [3:1.00]
 ; SKYLAKE-NEXT:    fisubs (%ecx) # sched: [13:2.00]
 ; SKYLAKE-NEXT:    fisubl (%eax) # sched: [13:2.00]
 ; SKYLAKE-NEXT:    #NO_APP
@@ -5203,8 +5203,8 @@ define void @test_fsubp_fisub(i16 *%a0,
 ; 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:    fsubp %st(1) # sched: [3:1.00]
-; SKX-NEXT:    fsubp %st(2) # sched: [3:1.00]
+; SKX-NEXT:    fsubp %st, %st(1) # sched: [3:1.00]
+; SKX-NEXT:    fsubp %st, %st(2) # sched: [3:1.00]
 ; SKX-NEXT:    fisubs (%ecx) # sched: [13:2.00]
 ; SKX-NEXT:    fisubl (%eax) # sched: [13:2.00]
 ; SKX-NEXT:    #NO_APP
@@ -5215,8 +5215,8 @@ define void @test_fsubp_fisub(i16 *%a0,
 ; 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:    fsubp %st(1) # sched: [5:1.00]
-; BDVER2-NEXT:    fsubp %st(2) # sched: [5:1.00]
+; BDVER2-NEXT:    fsubp %st, %st(1) # sched: [5:1.00]
+; BDVER2-NEXT:    fsubp %st, %st(2) # sched: [5:1.00]
 ; BDVER2-NEXT:    fisubs (%ecx) # sched: [10:1.00]
 ; BDVER2-NEXT:    fisubl (%eax) # sched: [10:1.00]
 ; BDVER2-NEXT:    #NO_APP
@@ -5227,8 +5227,8 @@ define void @test_fsubp_fisub(i16 *%a0,
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fsubp %st(1) # sched: [3:1.00]
-; BTVER2-NEXT:    fsubp %st(2) # sched: [3:1.00]
+; BTVER2-NEXT:    fsubp %st, %st(1) # sched: [3:1.00]
+; BTVER2-NEXT:    fsubp %st, %st(2) # sched: [3:1.00]
 ; BTVER2-NEXT:    fisubs (%ecx) # sched: [8:1.00]
 ; BTVER2-NEXT:    fisubl (%eax) # sched: [8:1.00]
 ; BTVER2-NEXT:    #NO_APP
@@ -5239,8 +5239,8 @@ define void @test_fsubp_fisub(i16 *%a0,
 ; 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:    fsubp %st(1) # sched: [3:1.00]
-; ZNVER1-NEXT:    fsubp %st(2) # sched: [3:1.00]
+; ZNVER1-NEXT:    fsubp %st, %st(1) # sched: [3:1.00]
+; ZNVER1-NEXT:    fsubp %st, %st(2) # sched: [3:1.00]
 ; ZNVER1-NEXT:    fisubs (%ecx) # sched: [10:1.00]
 ; ZNVER1-NEXT:    fisubl (%eax) # sched: [10:1.00]
 ; ZNVER1-NEXT:    #NO_APP
@@ -5255,8 +5255,8 @@ 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(0), %st(1)
-; GENERIC-NEXT:    fsubr %st(2)
+; GENERIC-NEXT:    fsubr %st, %st(1)
+; GENERIC-NEXT:    fsubr %st(2), %st
 ; GENERIC-NEXT:    fsubrs (%ecx)
 ; GENERIC-NEXT:    fsubrl (%eax)
 ; GENERIC-NEXT:    #NO_APP
@@ -5267,8 +5267,8 @@ 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(0), %st(1) # sched: [5:5.00]
-; ATOM-NEXT:    fsubr %st(2) # sched: [5:5.00]
+; ATOM-NEXT:    fsubr %st, %st(1) # sched: [5:5.00]
+; ATOM-NEXT:    fsubr %st(2), %st # sched: [5:5.00]
 ; ATOM-NEXT:    fsubrs (%ecx) # sched: [5:5.00]
 ; ATOM-NEXT:    fsubrl (%eax) # sched: [5:5.00]
 ; ATOM-NEXT:    #NO_APP
@@ -5279,8 +5279,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; SLM-NEXT:    fsubr %st(2) # sched: [3:1.00]
+; SLM-NEXT:    fsubr %st, %st(1) # sched: [3:1.00]
+; SLM-NEXT:    fsubr %st(2), %st # sched: [3:1.00]
 ; SLM-NEXT:    fsubrs (%ecx) # sched: [6:1.00]
 ; SLM-NEXT:    fsubrl (%eax) # sched: [6:1.00]
 ; SLM-NEXT:    #NO_APP
@@ -5291,8 +5291,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; SANDY-NEXT:    fsubr %st(2) # sched: [3:1.00]
+; SANDY-NEXT:    fsubr %st, %st(1) # sched: [3:1.00]
+; SANDY-NEXT:    fsubr %st(2), %st # sched: [3:1.00]
 ; SANDY-NEXT:    fsubrs (%ecx) # sched: [10:1.00]
 ; SANDY-NEXT:    fsubrl (%eax) # sched: [10:1.00]
 ; SANDY-NEXT:    #NO_APP
@@ -5303,8 +5303,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; HASWELL-NEXT:    fsubr %st(2) # sched: [3:1.00]
+; HASWELL-NEXT:    fsubr %st, %st(1) # sched: [3:1.00]
+; HASWELL-NEXT:    fsubr %st(2), %st # sched: [3:1.00]
 ; HASWELL-NEXT:    fsubrs (%ecx) # sched: [10:1.00]
 ; HASWELL-NEXT:    fsubrl (%eax) # sched: [10:1.00]
 ; HASWELL-NEXT:    #NO_APP
@@ -5315,8 +5315,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; BROADWELL-NEXT:    fsubr %st(2) # sched: [3:1.00]
+; BROADWELL-NEXT:    fsubr %st, %st(1) # sched: [3:1.00]
+; BROADWELL-NEXT:    fsubr %st(2), %st # sched: [3:1.00]
 ; BROADWELL-NEXT:    fsubrs (%ecx) # sched: [9:1.00]
 ; BROADWELL-NEXT:    fsubrl (%eax) # sched: [9:1.00]
 ; BROADWELL-NEXT:    #NO_APP
@@ -5327,8 +5327,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; SKYLAKE-NEXT:    fsubr %st(2) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fsubr %st, %st(1) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fsubr %st(2), %st # sched: [3:1.00]
 ; SKYLAKE-NEXT:    fsubrs (%ecx) # sched: [10:1.00]
 ; SKYLAKE-NEXT:    fsubrl (%eax) # sched: [10:1.00]
 ; SKYLAKE-NEXT:    #NO_APP
@@ -5339,8 +5339,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; SKX-NEXT:    fsubr %st(2) # sched: [3:1.00]
+; SKX-NEXT:    fsubr %st, %st(1) # sched: [3:1.00]
+; SKX-NEXT:    fsubr %st(2), %st # sched: [3:1.00]
 ; SKX-NEXT:    fsubrs (%ecx) # sched: [10:1.00]
 ; SKX-NEXT:    fsubrl (%eax) # sched: [10:1.00]
 ; SKX-NEXT:    #NO_APP
@@ -5351,8 +5351,8 @@ 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(0), %st(1) # sched: [5:1.00]
-; BDVER2-NEXT:    fsubr %st(2) # sched: [5:1.00]
+; BDVER2-NEXT:    fsubr %st, %st(1) # sched: [5:1.00]
+; BDVER2-NEXT:    fsubr %st(2), %st # sched: [5:1.00]
 ; BDVER2-NEXT:    fsubrs (%ecx) # sched: [10:1.00]
 ; BDVER2-NEXT:    fsubrl (%eax) # sched: [10:1.00]
 ; BDVER2-NEXT:    #NO_APP
@@ -5363,8 +5363,8 @@ define void @test_fsubr(float *%a0, doub
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fsubr %st(0), %st(1) # sched: [3:1.00]
-; BTVER2-NEXT:    fsubr %st(2) # sched: [3:1.00]
+; BTVER2-NEXT:    fsubr %st, %st(1) # sched: [3:1.00]
+; BTVER2-NEXT:    fsubr %st(2), %st # sched: [3:1.00]
 ; BTVER2-NEXT:    fsubrs (%ecx) # sched: [8:1.00]
 ; BTVER2-NEXT:    fsubrl (%eax) # sched: [8:1.00]
 ; BTVER2-NEXT:    #NO_APP
@@ -5375,8 +5375,8 @@ 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(0), %st(1) # sched: [3:1.00]
-; ZNVER1-NEXT:    fsubr %st(2) # sched: [3:1.00]
+; ZNVER1-NEXT:    fsubr %st, %st(1) # sched: [3:1.00]
+; ZNVER1-NEXT:    fsubr %st(2), %st # sched: [3:1.00]
 ; ZNVER1-NEXT:    fsubrs (%ecx) # sched: [10:1.00]
 ; ZNVER1-NEXT:    fsubrl (%eax) # sched: [10:1.00]
 ; ZNVER1-NEXT:    #NO_APP
@@ -5391,8 +5391,8 @@ define void @test_fsubrp_fisubr(i16 *%a0
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
 ; GENERIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    fsubrp %st(1)
-; GENERIC-NEXT:    fsubrp %st(2)
+; GENERIC-NEXT:    fsubrp %st, %st(1)
+; GENERIC-NEXT:    fsubrp %st, %st(2)
 ; GENERIC-NEXT:    fisubrs (%ecx)
 ; GENERIC-NEXT:    fisubrl (%eax)
 ; GENERIC-NEXT:    #NO_APP
@@ -5403,8 +5403,8 @@ define void @test_fsubrp_fisubr(i16 *%a0
 ; 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:    fsubrp %st(1) # sched: [5:5.00]
-; ATOM-NEXT:    fsubrp %st(2) # sched: [5:5.00]
+; ATOM-NEXT:    fsubrp %st, %st(1) # sched: [5:5.00]
+; ATOM-NEXT:    fsubrp %st, %st(2) # sched: [5:5.00]
 ; ATOM-NEXT:    fisubrs (%ecx) # sched: [5:5.00]
 ; ATOM-NEXT:    fisubrl (%eax) # sched: [5:5.00]
 ; ATOM-NEXT:    #NO_APP
@@ -5415,8 +5415,8 @@ define void @test_fsubrp_fisubr(i16 *%a0
 ; 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:    fsubrp %st(1) # sched: [3:1.00]
-; SLM-NEXT:    fsubrp %st(2) # sched: [3:1.00]
+; SLM-NEXT:    fsubrp %st, %st(1) # sched: [3:1.00]
+; SLM-NEXT:    fsubrp %st, %st(2) # sched: [3:1.00]
 ; SLM-NEXT:    fisubrs (%ecx) # sched: [6:1.00]
 ; SLM-NEXT:    fisubrl (%eax) # sched: [6:1.00]
 ; SLM-NEXT:    #NO_APP
@@ -5427,8 +5427,8 @@ define void @test_fsubrp_fisubr(i16 *%a0
 ; 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:    fsubrp %st(1) # sched: [3:1.00]
-; SANDY-NEXT:    fsubrp %st(2) # sched: [3:1.00]
+; SANDY-NEXT:    fsubrp %st, %st(1) # sched: [3:1.00]
+; SANDY-NEXT:    fsubrp %st, %st(2) # sched: [3:1.00]
 ; SANDY-NEXT:    fisubrs (%ecx) # sched: [13:2.00]
 ; SANDY-NEXT:    fisubrl (%eax) # sched: [13:2.00]
 ; SANDY-NEXT:    #NO_APP
@@ -5439,8 +5439,8 @@ define void @test_fsubrp_fisubr(i16 *%a0
 ; 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:    fsubrp %st(1) # sched: [3:1.00]
-; HASWELL-NEXT:    fsubrp %st(2) # sched: [3:1.00]
+; HASWELL-NEXT:    fsubrp %st, %st(1) # sched: [3:1.00]
+; HASWELL-NEXT:    fsubrp %st, %st(2) # sched: [3:1.00]
 ; HASWELL-NEXT:    fisubrs (%ecx) # sched: [13:2.00]
 ; HASWELL-NEXT:    fisubrl (%eax) # sched: [13:2.00]
 ; HASWELL-NEXT:    #NO_APP
@@ -5451,8 +5451,8 @@ define void @test_fsubrp_fisubr(i16 *%a0
 ; 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:    fsubrp %st(1) # sched: [3:1.00]
-; BROADWELL-NEXT:    fsubrp %st(2) # sched: [3:1.00]
+; BROADWELL-NEXT:    fsubrp %st, %st(1) # sched: [3:1.00]
+; BROADWELL-NEXT:    fsubrp %st, %st(2) # sched: [3:1.00]
 ; BROADWELL-NEXT:    fisubrs (%ecx) # sched: [12:2.00]
 ; BROADWELL-NEXT:    fisubrl (%eax) # sched: [12:2.00]
 ; BROADWELL-NEXT:    #NO_APP
@@ -5463,8 +5463,8 @@ define void @test_fsubrp_fisubr(i16 *%a0
 ; 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:    fsubrp %st(1) # sched: [3:1.00]
-; SKYLAKE-NEXT:    fsubrp %st(2) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fsubrp %st, %st(1) # sched: [3:1.00]
+; SKYLAKE-NEXT:    fsubrp %st, %st(2) # sched: [3:1.00]
 ; SKYLAKE-NEXT:    fisubrs (%ecx) # sched: [13:2.00]
 ; SKYLAKE-NEXT:    fisubrl (%eax) # sched: [13:2.00]
 ; SKYLAKE-NEXT:    #NO_APP
@@ -5475,8 +5475,8 @@ define void @test_fsubrp_fisubr(i16 *%a0
 ; 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:    fsubrp %st(1) # sched: [3:1.00]
-; SKX-NEXT:    fsubrp %st(2) # sched: [3:1.00]
+; SKX-NEXT:    fsubrp %st, %st(1) # sched: [3:1.00]
+; SKX-NEXT:    fsubrp %st, %st(2) # sched: [3:1.00]
 ; SKX-NEXT:    fisubrs (%ecx) # sched: [13:2.00]
 ; SKX-NEXT:    fisubrl (%eax) # sched: [13:2.00]
 ; SKX-NEXT:    #NO_APP
@@ -5487,8 +5487,8 @@ define void @test_fsubrp_fisubr(i16 *%a0
 ; 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:    fsubrp %st(1) # sched: [5:1.00]
-; BDVER2-NEXT:    fsubrp %st(2) # sched: [5:1.00]
+; BDVER2-NEXT:    fsubrp %st, %st(1) # sched: [5:1.00]
+; BDVER2-NEXT:    fsubrp %st, %st(2) # sched: [5:1.00]
 ; BDVER2-NEXT:    fisubrs (%ecx) # sched: [10:1.00]
 ; BDVER2-NEXT:    fisubrl (%eax) # sched: [10:1.00]
 ; BDVER2-NEXT:    #NO_APP
@@ -5499,8 +5499,8 @@ define void @test_fsubrp_fisubr(i16 *%a0
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %eax # sched: [5:1.00]
 ; BTVER2-NEXT:    movl {{[0-9]+}}(%esp), %ecx # sched: [5:1.00]
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fsubrp %st(1) # sched: [3:1.00]
-; BTVER2-NEXT:    fsubrp %st(2) # sched: [3:1.00]
+; BTVER2-NEXT:    fsubrp %st, %st(1) # sched: [3:1.00]
+; BTVER2-NEXT:    fsubrp %st, %st(2) # sched: [3:1.00]
 ; BTVER2-NEXT:    fisubrs (%ecx) # sched: [8:1.00]
 ; BTVER2-NEXT:    fisubrl (%eax) # sched: [8:1.00]
 ; BTVER2-NEXT:    #NO_APP
@@ -5511,8 +5511,8 @@ define void @test_fsubrp_fisubr(i16 *%a0
 ; 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:    fsubrp %st(1) # sched: [3:1.00]
-; ZNVER1-NEXT:    fsubrp %st(2) # sched: [3:1.00]
+; ZNVER1-NEXT:    fsubrp %st, %st(1) # sched: [3:1.00]
+; ZNVER1-NEXT:    fsubrp %st, %st(2) # sched: [3:1.00]
 ; ZNVER1-NEXT:    fisubrs (%ecx) # sched: [10:1.00]
 ; ZNVER1-NEXT:    fisubrl (%eax) # sched: [10:1.00]
 ; ZNVER1-NEXT:    #NO_APP
@@ -5731,88 +5731,88 @@ define void @test_fucomi_fucomip() optsi
 ; GENERIC-LABEL: test_fucomi_fucomip:
 ; GENERIC:       # %bb.0:
 ; GENERIC-NEXT:    #APP
-; GENERIC-NEXT:    fucomi %st(3)
-; GENERIC-NEXT:    fucompi %st(3)
+; GENERIC-NEXT:    fucomi %st(3), %st
+; GENERIC-NEXT:    fucompi %st(3), %st
 ; GENERIC-NEXT:    #NO_APP
 ; GENERIC-NEXT:    retl
 ;
 ; ATOM-LABEL: test_fucomi_fucomip:
 ; ATOM:       # %bb.0:
 ; ATOM-NEXT:    #APP
-; ATOM-NEXT:    fucomi %st(3) # sched: [9:4.50]
-; ATOM-NEXT:    fucompi %st(3) # sched: [9:4.50]
+; ATOM-NEXT:    fucomi %st(3), %st # sched: [9:4.50]
+; ATOM-NEXT:    fucompi %st(3), %st # sched: [9:4.50]
 ; ATOM-NEXT:    #NO_APP
 ; ATOM-NEXT:    retl # sched: [79:39.50]
 ;
 ; SLM-LABEL: test_fucomi_fucomip:
 ; SLM:       # %bb.0:
 ; SLM-NEXT:    #APP
-; SLM-NEXT:    fucomi %st(3) # sched: [3:1.00]
-; SLM-NEXT:    fucompi %st(3) # sched: [3:1.00]
+; SLM-NEXT:    fucomi %st(3), %st # sched: [3:1.00]
+; SLM-NEXT:    fucompi %st(3), %st # sched: [3:1.00]
 ; SLM-NEXT:    #NO_APP
 ; SLM-NEXT:    retl # sched: [4:1.00]
 ;
 ; SANDY-LABEL: test_fucomi_fucomip:
 ; SANDY:       # %bb.0:
 ; SANDY-NEXT:    #APP
-; SANDY-NEXT:    fucomi %st(3) # sched: [3:1.00]
-; SANDY-NEXT:    fucompi %st(3) # sched: [3:1.00]
+; SANDY-NEXT:    fucomi %st(3), %st # sched: [3:1.00]
+; SANDY-NEXT:    fucompi %st(3), %st # sched: [3:1.00]
 ; SANDY-NEXT:    #NO_APP
 ; SANDY-NEXT:    retl # sched: [6:1.00]
 ;
 ; HASWELL-LABEL: test_fucomi_fucomip:
 ; HASWELL:       # %bb.0:
 ; HASWELL-NEXT:    #APP
-; HASWELL-NEXT:    fucomi %st(3) # sched: [1:0.50]
-; HASWELL-NEXT:    fucompi %st(3) # sched: [1:0.50]
+; HASWELL-NEXT:    fucomi %st(3), %st # sched: [1:0.50]
+; HASWELL-NEXT:    fucompi %st(3), %st # sched: [1:0.50]
 ; HASWELL-NEXT:    #NO_APP
 ; HASWELL-NEXT:    retl # sched: [7:1.00]
 ;
 ; BROADWELL-LABEL: test_fucomi_fucomip:
 ; BROADWELL:       # %bb.0:
 ; BROADWELL-NEXT:    #APP
-; BROADWELL-NEXT:    fucomi %st(3) # sched: [3:1.00]
-; BROADWELL-NEXT:    fucompi %st(3) # sched: [3:1.00]
+; BROADWELL-NEXT:    fucomi %st(3), %st # sched: [3:1.00]
+; BROADWELL-NEXT:    fucompi %st(3), %st # sched: [3:1.00]
 ; BROADWELL-NEXT:    #NO_APP
 ; BROADWELL-NEXT:    retl # sched: [6:0.50]
 ;
 ; SKYLAKE-LABEL: test_fucomi_fucomip:
 ; SKYLAKE:       # %bb.0:
 ; SKYLAKE-NEXT:    #APP
-; SKYLAKE-NEXT:    fucomi %st(3) # sched: [2:1.00]
-; SKYLAKE-NEXT:    fucompi %st(3) # sched: [2:1.00]
+; SKYLAKE-NEXT:    fucomi %st(3), %st # sched: [2:1.00]
+; SKYLAKE-NEXT:    fucompi %st(3), %st # sched: [2:1.00]
 ; SKYLAKE-NEXT:    #NO_APP
 ; SKYLAKE-NEXT:    retl # sched: [6:0.50]
 ;
 ; SKX-LABEL: test_fucomi_fucomip:
 ; SKX:       # %bb.0:
 ; SKX-NEXT:    #APP
-; SKX-NEXT:    fucomi %st(3) # sched: [2:1.00]
-; SKX-NEXT:    fucompi %st(3) # sched: [2:1.00]
+; SKX-NEXT:    fucomi %st(3), %st # sched: [2:1.00]
+; SKX-NEXT:    fucompi %st(3), %st # sched: [2:1.00]
 ; SKX-NEXT:    #NO_APP
 ; SKX-NEXT:    retl # sched: [6:0.50]
 ;
 ; BDVER2-LABEL: test_fucomi_fucomip:
 ; BDVER2:       # %bb.0:
 ; BDVER2-NEXT:    #APP
-; BDVER2-NEXT:    fucomi %st(3) # sched: [1:1.00]
-; BDVER2-NEXT:    fucompi %st(3) # sched: [1:1.00]
+; BDVER2-NEXT:    fucomi %st(3), %st # sched: [1:1.00]
+; BDVER2-NEXT:    fucompi %st(3), %st # sched: [1:1.00]
 ; BDVER2-NEXT:    #NO_APP
 ; BDVER2-NEXT:    retl # sched: [5:1.00]
 ;
 ; BTVER2-LABEL: test_fucomi_fucomip:
 ; BTVER2:       # %bb.0:
 ; BTVER2-NEXT:    #APP
-; BTVER2-NEXT:    fucomi %st(3) # sched: [3:1.00]
-; BTVER2-NEXT:    fucompi %st(3) # sched: [3:1.00]
+; BTVER2-NEXT:    fucomi %st(3), %st # sched: [3:1.00]
+; BTVER2-NEXT:    fucompi %st(3), %st # sched: [3:1.00]
 ; BTVER2-NEXT:    #NO_APP
 ; BTVER2-NEXT:    retl # sched: [4:1.00]
 ;
 ; ZNVER1-LABEL: test_fucomi_fucomip:
 ; ZNVER1:       # %bb.0:
 ; ZNVER1-NEXT:    #APP
-; ZNVER1-NEXT:    fucomi %st(3) # sched: [9:0.50]
-; ZNVER1-NEXT:    fucompi %st(3) # sched: [9:0.50]
+; ZNVER1-NEXT:    fucomi %st(3), %st # sched: [9:0.50]
+; ZNVER1-NEXT:    fucompi %st(3), %st # sched: [9:0.50]
 ; ZNVER1-NEXT:    #NO_APP
 ; ZNVER1-NEXT:    retl # sched: [1:0.50]
   tail call void asm sideeffect "fucomi %st(3) \0A\09 fucomip %st(3)", ""() nounwind

Modified: llvm/branches/release_80/test/MC/Disassembler/X86/fp-stack.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/MC/Disassembler/X86/fp-stack.txt?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/MC/Disassembler/X86/fp-stack.txt (original)
+++ llvm/branches/release_80/test/MC/Disassembler/X86/fp-stack.txt Tue Feb 12 02:13:48 2019
@@ -1,52 +1,52 @@
 # RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s
 # RUN: llvm-mc --disassemble %s -triple=i686-apple-darwin9 | FileCheck %s
 
-# CHECK: fadd %st(0)
+# CHECK: fadd %st(0), %st
 0xd8,0xc0
 
-# CHECK: fadd %st(1)
+# CHECK: fadd %st(1), %st
 0xd8,0xc1
 
-# CHECK: fadd %st(2)
+# CHECK: fadd %st(2), %st
 0xd8,0xc2
 
-# CHECK: fadd %st(3)
+# CHECK: fadd %st(3), %st
 0xd8,0xc3
 
-# CHECK: fadd %st(4)
+# CHECK: fadd %st(4), %st
 0xd8,0xc4
 
-# CHECK: fadd %st(5)
+# CHECK: fadd %st(5), %st
 0xd8,0xc5
 
-# CHECK: fadd %st(6)
+# CHECK: fadd %st(6), %st
 0xd8,0xc6
 
-# CHECK: fadd %st(7)
+# CHECK: fadd %st(7), %st
 0xd8,0xc7
 
-# CHECK: fmul %st(0)
+# CHECK: fmul %st(0), %st
 0xd8,0xc8
 
-# CHECK: fmul %st(1)
+# CHECK: fmul %st(1), %st
 0xd8,0xc9
 
-# CHECK: fmul %st(2)
+# CHECK: fmul %st(2), %st
 0xd8,0xca
 
-# CHECK: fmul %st(3)
+# CHECK: fmul %st(3), %st
 0xd8,0xcb
 
-# CHECK: fmul %st(4)
+# CHECK: fmul %st(4), %st
 0xd8,0xcc
 
-# CHECK: fmul %st(5)
+# CHECK: fmul %st(5), %st
 0xd8,0xcd
 
-# CHECK: fmul %st(6)
+# CHECK: fmul %st(6), %st
 0xd8,0xce
 
-# CHECK: fmul %st(7)
+# CHECK: fmul %st(7), %st
 0xd8,0xcf
 
 # CHECK: fcom %st(0)
@@ -97,100 +97,100 @@
 # CHECK: fcomp %st(7)
 0xd8,0xdf
 
-# CHECK: fsub %st(0)
+# CHECK: fsub %st(0), %st
 0xd8,0xe0
 
-# CHECK: fsub %st(1)
+# CHECK: fsub %st(1), %st
 0xd8,0xe1
 
-# CHECK: fsub %st(2)
+# CHECK: fsub %st(2), %st
 0xd8,0xe2
 
-# CHECK: fsub %st(3)
+# CHECK: fsub %st(3), %st
 0xd8,0xe3
 
-# CHECK: fsub %st(4)
+# CHECK: fsub %st(4), %st
 0xd8,0xe4
 
-# CHECK: fsub %st(5)
+# CHECK: fsub %st(5), %st
 0xd8,0xe5
 
-# CHECK: fsub %st(6)
+# CHECK: fsub %st(6), %st
 0xd8,0xe6
 
-# CHECK: fsub %st(7)
+# CHECK: fsub %st(7), %st
 0xd8,0xe7
 
-# CHECK: fsubr %st(0)
+# CHECK: fsubr %st(0), %st
 0xd8,0xe8
 
-# CHECK: fsubr %st(1)
+# CHECK: fsubr %st(1), %st
 0xd8,0xe9
 
-# CHECK: fsubr %st(2)
+# CHECK: fsubr %st(2), %st
 0xd8,0xea
 
-# CHECK: fsubr %st(3)
+# CHECK: fsubr %st(3), %st
 0xd8,0xeb
 
-# CHECK: fsubr %st(4)
+# CHECK: fsubr %st(4), %st
 0xd8,0xec
 
-# CHECK: fsubr %st(5)
+# CHECK: fsubr %st(5), %st
 0xd8,0xed
 
-# CHECK: fsubr %st(6)
+# CHECK: fsubr %st(6), %st
 0xd8,0xee
 
-# CHECK: fsubr %st(7)
+# CHECK: fsubr %st(7), %st
 0xd8,0xef
 
-# CHECK: fdiv %st(0)
+# CHECK: fdiv %st(0), %st
 0xd8,0xf0
 
-# CHECK: fdiv %st(1)
+# CHECK: fdiv %st(1), %st
 0xd8,0xf1
 
-# CHECK: fdiv %st(2)
+# CHECK: fdiv %st(2), %st
 0xd8,0xf2
 
-# CHECK: fdiv %st(3)
+# CHECK: fdiv %st(3), %st
 0xd8,0xf3
 
-# CHECK: fdiv %st(4)
+# CHECK: fdiv %st(4), %st
 0xd8,0xf4
 
-# CHECK: fdiv %st(5)
+# CHECK: fdiv %st(5), %st
 0xd8,0xf5
 
-# CHECK: fdiv %st(6)
+# CHECK: fdiv %st(6), %st
 0xd8,0xf6
 
-# CHECK: fdiv %st(7)
+# CHECK: fdiv %st(7), %st
 0xd8,0xf7
 
-# CHECK: fdivr %st(0)
+# CHECK: fdivr %st(0), %st
 0xd8,0xf8
 
-# CHECK: fdivr %st(1)
+# CHECK: fdivr %st(1), %st
 0xd8,0xf9
 
-# CHECK: fdivr %st(2)
+# CHECK: fdivr %st(2), %st
 0xd8,0xfa
 
-# CHECK: fdivr %st(3)
+# CHECK: fdivr %st(3), %st
 0xd8,0xfb
 
-# CHECK: fdivr %st(4)
+# CHECK: fdivr %st(4), %st
 0xd8,0xfc
 
-# CHECK: fdivr %st(5)
+# CHECK: fdivr %st(5), %st
 0xd8,0xfd
 
-# CHECK: fdivr %st(6)
+# CHECK: fdivr %st(6), %st
 0xd8,0xfe
 
-# CHECK: fdivr %st(7)
+# CHECK: fdivr %st(7), %st
 0xd8,0xff
 
 # CHECK: fld %st(0)
@@ -325,199 +325,199 @@
 # CHECK: fcos
 0xd9,0xff
 
-# CHECK: fcmovb %st(0), %st(0)
+# CHECK: fcmovb %st(0), %st
 0xda,0xc0
 
-# CHECK: fcmovb %st(1), %st(0)
+# CHECK: fcmovb %st(1), %st
 0xda,0xc1
 
-# CHECK: fcmovb %st(2), %st(0)
+# CHECK: fcmovb %st(2), %st
 0xda,0xc2
 
-# CHECK: fcmovb %st(3), %st(0)
+# CHECK: fcmovb %st(3), %st
 0xda,0xc3
 
-# CHECK: fcmovb %st(4), %st(0)
+# CHECK: fcmovb %st(4), %st
 0xda,0xc4
 
-# CHECK: fcmovb %st(5), %st(0)
+# CHECK: fcmovb %st(5), %st
 0xda,0xc5
 
-# CHECK: fcmovb %st(6), %st(0)
+# CHECK: fcmovb %st(6), %st
 0xda,0xc6
 
-# CHECK: fcmovb %st(7), %st(0)
+# CHECK: fcmovb %st(7), %st
 0xda,0xc7
 
-# CHECK: fcmove %st(0), %st(0)
+# CHECK: fcmove %st(0), %st
 0xda,0xc8
 
-# CHECK: fcmove %st(1), %st(0)
+# CHECK: fcmove %st(1), %st
 0xda,0xc9
 
-# CHECK: fcmove %st(2), %st(0)
+# CHECK: fcmove %st(2), %st
 0xda,0xca
 
-# CHECK: fcmove %st(3), %st(0)
+# CHECK: fcmove %st(3), %st
 0xda,0xcb
 
-# CHECK: fcmove %st(4), %st(0)
+# CHECK: fcmove %st(4), %st
 0xda,0xcc
 
-# CHECK: fcmove %st(5), %st(0)
+# CHECK: fcmove %st(5), %st
 0xda,0xcd
 
-# CHECK: fcmove %st(6), %st(0)
+# CHECK: fcmove %st(6), %st
 0xda,0xce
 
-# CHECK: fcmove %st(7), %st(0)
+# CHECK: fcmove %st(7), %st
 0xda,0xcf
 
-# CHECK: fcmovbe %st(0), %st(0)
+# CHECK: fcmovbe %st(0), %st
 0xda,0xd0
 
-# CHECK: fcmovbe %st(1), %st(0)
+# CHECK: fcmovbe %st(1), %st
 0xda,0xd1
 
-# CHECK: fcmovbe %st(2), %st(0)
+# CHECK: fcmovbe %st(2), %st
 0xda,0xd2
 
-# CHECK: fcmovbe %st(3), %st(0)
+# CHECK: fcmovbe %st(3), %st
 0xda,0xd3
 
-# CHECK: fcmovbe %st(4), %st(0)
+# CHECK: fcmovbe %st(4), %st
 0xda,0xd4
 
-# CHECK: fcmovbe %st(5), %st(0)
+# CHECK: fcmovbe %st(5), %st
 0xda,0xd5
 
-# CHECK: fcmovbe %st(6), %st(0)
+# CHECK: fcmovbe %st(6), %st
 0xda,0xd6
 
-# CHECK: fcmovbe %st(7), %st(0)
+# CHECK: fcmovbe %st(7), %st
 0xda,0xd7
 
-# CHECK: fcmovu %st(0), %st(0)
+# CHECK: fcmovu %st(0), %st
 0xda,0xd8
 
-# CHECK: fcmovu %st(1), %st(0)
+# CHECK: fcmovu %st(1), %st
 0xda,0xd9
 
-# CHECK: fcmovu %st(2), %st(0)
+# CHECK: fcmovu %st(2), %st
 0xda,0xda
 
-# CHECK: fcmovu %st(3), %st(0)
+# CHECK: fcmovu %st(3), %st
 0xda,0xdb
 
-# CHECK: fcmovu %st(4), %st(0)
+# CHECK: fcmovu %st(4), %st
 0xda,0xdc
 
-# CHECK: fcmovu %st(5), %st(0)
+# CHECK: fcmovu %st(5), %st
 0xda,0xdd
 
-# CHECK: fcmovu %st(6), %st(0)
+# CHECK: fcmovu %st(6), %st
 0xda,0xde
 
-# CHECK: fcmovu %st(7), %st(0)
+# CHECK: fcmovu %st(7), %st
 0xda,0xdf
 
 # CHECK: fucompp
 0xda,0xe9
 
-# CHECK: fcmovnb %st(0), %st(0)
+# CHECK: fcmovnb %st(0), %st
 0xdb,0xc0
 
-# CHECK: fcmovnb %st(1), %st(0)
+# CHECK: fcmovnb %st(1), %st
 0xdb,0xc1
 
-# CHECK: fcmovnb %st(2), %st(0)
+# CHECK: fcmovnb %st(2), %st
 0xdb,0xc2
 
-# CHECK: fcmovnb %st(3), %st(0)
+# CHECK: fcmovnb %st(3), %st
 0xdb,0xc3
 
-# CHECK: fcmovnb %st(4), %st(0)
+# CHECK: fcmovnb %st(4), %st
 0xdb,0xc4
 
-# CHECK: fcmovnb %st(5), %st(0)
+# CHECK: fcmovnb %st(5), %st
 0xdb,0xc5
 
-# CHECK: fcmovnb %st(6), %st(0)
+# CHECK: fcmovnb %st(6), %st
 0xdb,0xc6
 
-# CHECK: fcmovnb %st(7), %st(0)
+# CHECK: fcmovnb %st(7), %st
 0xdb,0xc7
 
-# CHECK: fcmovne %st(0), %st(0)
+# CHECK: fcmovne %st(0), %st
 0xdb,0xc8
 
-# CHECK: fcmovne %st(1), %st(0)
+# CHECK: fcmovne %st(1), %st
 0xdb,0xc9
 
-# CHECK: fcmovne %st(2), %st(0)
+# CHECK: fcmovne %st(2), %st
 0xdb,0xca
 
-# CHECK: fcmovne %st(3), %st(0)
+# CHECK: fcmovne %st(3), %st
 0xdb,0xcb
 
-# CHECK: fcmovne %st(4), %st(0)
+# CHECK: fcmovne %st(4), %st
 0xdb,0xcc
 
-# CHECK: fcmovne %st(5), %st(0)
+# CHECK: fcmovne %st(5), %st
 0xdb,0xcd
 
-# CHECK: fcmovne %st(6), %st(0)
+# CHECK: fcmovne %st(6), %st
 0xdb,0xce
 
-# CHECK: fcmovne %st(7), %st(0)
+# CHECK: fcmovne %st(7), %st
 0xdb,0xcf
 
-# CHECK: fcmovnbe %st(0), %st(0)
+# CHECK: fcmovnbe %st(0), %st
 0xdb,0xd0
 
-# CHECK: fcmovnbe %st(1), %st(0)
+# CHECK: fcmovnbe %st(1), %st
 0xdb,0xd1
 
-# CHECK: fcmovnbe %st(2), %st(0)
+# CHECK: fcmovnbe %st(2), %st
 0xdb,0xd2
 
-# CHECK: fcmovnbe %st(3), %st(0)
+# CHECK: fcmovnbe %st(3), %st
 0xdb,0xd3
 
-# CHECK: fcmovnbe %st(4), %st(0)
+# CHECK: fcmovnbe %st(4), %st
 0xdb,0xd4
 
-# CHECK: fcmovnbe %st(5), %st(0)
+# CHECK: fcmovnbe %st(5), %st
 0xdb,0xd5
 
-# CHECK: fcmovnbe %st(6), %st(0)
+# CHECK: fcmovnbe %st(6), %st
 0xdb,0xd6
 
-# CHECK: fcmovnbe %st(7), %st(0)
+# CHECK: fcmovnbe %st(7), %st
 0xdb,0xd7
 
-# CHECK: fcmovnu %st(0), %st(0)
+# CHECK: fcmovnu %st(0), %st
 0xdb,0xd8
 
-# CHECK: fcmovnu %st(1), %st(0)
+# CHECK: fcmovnu %st(1), %st
 0xdb,0xd9
 
-# CHECK: fcmovnu %st(2), %st(0)
+# CHECK: fcmovnu %st(2), %st
 0xdb,0xda
 
-# CHECK: fcmovnu %st(3), %st(0)
+# CHECK: fcmovnu %st(3), %st
 0xdb,0xdb
 
-# CHECK: fcmovnu %st(4), %st(0)
+# CHECK: fcmovnu %st(4), %st
 0xdb,0xdc
 
-# CHECK: fcmovnu %st(5), %st(0)
+# CHECK: fcmovnu %st(5), %st
 0xdb,0xdd
 
-# CHECK: fcmovnu %st(6), %st(0)
+# CHECK: fcmovnu %st(6), %st
 0xdb,0xde
 
-# CHECK: fcmovnu %st(7), %st(0)
+# CHECK: fcmovnu %st(7), %st
 0xdb,0xdf
 
 # CHECK: fnclex
@@ -574,148 +574,148 @@
 # CHECK: fcomi %st(7)
 0xdb,0xf7
 
-# CHECK: fadd %st(0), %st(0)
+# CHECK: fadd %st, %st(0)
 0xdc,0xc0
 
-# CHECK: fadd %st(0), %st(1)
+# CHECK: fadd %st, %st(1)
 0xdc,0xc1
 
-# CHECK: fadd %st(0), %st(2)
+# CHECK: fadd %st, %st(2)
 0xdc,0xc2
 
-# CHECK: fadd %st(0), %st(3)
+# CHECK: fadd %st, %st(3)
 0xdc,0xc3
 
-# CHECK: fadd %st(0), %st(4)
+# CHECK: fadd %st, %st(4)
 0xdc,0xc4
 
-# CHECK: fadd %st(0), %st(5)
+# CHECK: fadd %st, %st(5)
 0xdc,0xc5
 
-# CHECK: fadd %st(0), %st(6)
+# CHECK: fadd %st, %st(6)
 0xdc,0xc6
 
-# CHECK: fadd %st(0), %st(7)
+# CHECK: fadd %st, %st(7)
 0xdc,0xc7
 
-# CHECK: fmul %st(0), %st(0)
+# CHECK: fmul %st, %st(0)
 0xdc,0xc8
 
-# CHECK: fmul %st(0), %st(1)
+# CHECK: fmul %st, %st(1)
 0xdc,0xc9
 
-# CHECK: fmul %st(0), %st(2)
+# CHECK: fmul %st, %st(2)
 0xdc,0xca
 
-# CHECK: fmul %st(0), %st(3)
+# CHECK: fmul %st, %st(3)
 0xdc,0xcb
 
-# CHECK: fmul %st(0), %st(4)
+# CHECK: fmul %st, %st(4)
 0xdc,0xcc
 
-# CHECK: fmul %st(0), %st(5)
+# CHECK: fmul %st, %st(5)
 0xdc,0xcd
 
-# CHECK: fmul %st(0), %st(6)
+# CHECK: fmul %st, %st(6)
 0xdc,0xce
 
-# CHECK: fmul %st(0), %st(7)
+# CHECK: fmul %st, %st(7)
 0xdc,0xcf
 
-# CHECK: fsub %st(0), %st(0)
+# CHECK: fsub %st, %st(0)
 0xdc,0xe0
 
-# CHECK: fsub %st(0), %st(1)
+# CHECK: fsub %st, %st(1)
 0xdc,0xe1
 
-# CHECK: fsub %st(0), %st(2)
+# CHECK: fsub %st, %st(2)
 0xdc,0xe2
 
-# CHECK: fsub %st(0), %st(3)
+# CHECK: fsub %st, %st(3)
 0xdc,0xe3
 
-# CHECK: fsub %st(0), %st(4)
+# CHECK: fsub %st, %st(4)
 0xdc,0xe4
 
-# CHECK: fsub %st(0), %st(5)
+# CHECK: fsub %st, %st(5)
 0xdc,0xe5
 
-# CHECK: fsub %st(0), %st(6)
+# CHECK: fsub %st, %st(6)
 0xdc,0xe6
 
-# CHECK: fsub %st(0), %st(7)
+# CHECK: fsub %st, %st(7)
 0xdc,0xe7
 
-# CHECK: fsubr %st(0), %st(0)
+# CHECK: fsubr %st, %st(0)
 0xdc,0xe8
 
-# CHECK: fsubr %st(0), %st(1)
+# CHECK: fsubr %st, %st(1)
 0xdc,0xe9
 
-# CHECK: fsubr %st(0), %st(2)
+# CHECK: fsubr %st, %st(2)
 0xdc,0xea
 
-# CHECK: fsubr %st(0), %st(3)
+# CHECK: fsubr %st, %st(3)
 0xdc,0xeb
 
-# CHECK: fsubr %st(0), %st(4)
+# CHECK: fsubr %st, %st(4)
 0xdc,0xec
 
-# CHECK: fsubr %st(0), %st(5)
+# CHECK: fsubr %st, %st(5)
 0xdc,0xed
 
-# CHECK: fsubr %st(0), %st(6)
+# CHECK: fsubr %st, %st(6)
 0xdc,0xee
 
-# CHECK: fsubr %st(0), %st(7)
+# CHECK: fsubr %st, %st(7)
 0xdc,0xef
 
-# CHECK: fdiv %st(0), %st(0)
+# CHECK: fdiv %st, %st(0)
 0xdc,0xf0
 
-# CHECK: fdiv %st(0), %st(1)
+# CHECK: fdiv %st, %st(1)
 0xdc,0xf1
 
-# CHECK: fdiv %st(0), %st(2)
+# CHECK: fdiv %st, %st(2)
 0xdc,0xf2
 
-# CHECK: fdiv %st(0), %st(3)
+# CHECK: fdiv %st, %st(3)
 0xdc,0xf3
 
-# CHECK: fdiv %st(0), %st(4)
+# CHECK: fdiv %st, %st(4)
 0xdc,0xf4
 
-# CHECK: fdiv %st(0), %st(5)
+# CHECK: fdiv %st, %st(5)
 0xdc,0xf5
 
-# CHECK: fdiv %st(0), %st(6)
+# CHECK: fdiv %st, %st(6)
 0xdc,0xf6
 
-# CHECK: fdiv %st(0), %st(7)
+# CHECK: fdiv %st, %st(7)
 0xdc,0xf7
 
-# CHECK: fdivr %st(0), %st(0)
+# CHECK: fdivr %st, %st(0)
 0xdc,0xf8
 
-# CHECK: fdivr %st(0), %st(1)
+# CHECK: fdivr %st, %st(1)
 0xdc,0xf9
 
-# CHECK: fdivr %st(0), %st(2)
+# CHECK: fdivr %st, %st(2)
 0xdc,0xfa
 
-# CHECK: fdivr %st(0), %st(3)
+# CHECK: fdivr %st, %st(3)
 0xdc,0xfb
 
-# CHECK: fdivr %st(0), %st(4)
+# CHECK: fdivr %st, %st(4)
 0xdc,0xfc
 
-# CHECK: fdivr %st(0), %st(5)
+# CHECK: fdivr %st, %st(5)
 0xdc,0xfd
 
-# CHECK: fdivr %st(0), %st(6)
+# CHECK: fdivr %st, %st(6)
 0xdc,0xfe
 
-# CHECK: fdivr %st(0), %st(7)
+# CHECK: fdivr %st, %st(7)
 0xdc,0xff
 
 # CHECK: ffree %st(0)
@@ -838,151 +838,151 @@
 # CHECK: fucomp %st(7)
 0xdd,0xef
 
-# CHECK: faddp %st(0)
+# CHECK: faddp %st, %st(0)
 0xde,0xc0
 
-# CHECK: faddp %st(1)
+# CHECK: faddp %st, %st(1)
 0xde,0xc1
 
-# CHECK: faddp %st(2)
+# CHECK: faddp %st, %st(2)
 0xde,0xc2
 
-# CHECK: faddp %st(3)
+# CHECK: faddp %st, %st(3)
 0xde,0xc3
 
-# CHECK: faddp %st(4)
+# CHECK: faddp %st, %st(4)
 0xde,0xc4
 
-# CHECK: faddp %st(5)
+# CHECK: faddp %st, %st(5)
 0xde,0xc5
 
-# CHECK: faddp %st(6)
+# CHECK: faddp %st, %st(6)
 0xde,0xc6
 
-# CHECK: faddp %st(7)
+# CHECK: faddp %st, %st(7)
 0xde,0xc7
 
-# CHECK: fmulp %st(0)
+# CHECK: fmulp %st, %st(0)
 0xde,0xc8
 
-# CHECK: fmulp %st(1)
+# CHECK: fmulp %st, %st(1)
 0xde,0xc9
 
-# CHECK: fmulp %st(2)
+# CHECK: fmulp %st, %st(2)
 0xde,0xca
 
-# CHECK: fmulp %st(3)
+# CHECK: fmulp %st, %st(3)
 0xde,0xcb
 
-# CHECK: fmulp %st(4)
+# CHECK: fmulp %st, %st(4)
 0xde,0xcc
 
-# CHECK: fmulp %st(5)
+# CHECK: fmulp %st, %st(5)
 0xde,0xcd
 
-# CHECK: fmulp %st(6)
+# CHECK: fmulp %st, %st(6)
 0xde,0xce
 
-# CHECK: fmulp %st(7)
+# CHECK: fmulp %st, %st(7)
 0xde,0xcf
 
 # CHECK: fcompp
 0xde,0xd9
 
-# CHECK: fsubp %st(0)
+# CHECK: fsubp %st, %st(0)
 0xde,0xe0
 
-# CHECK: fsubp %st(1)
+# CHECK: fsubp %st, %st(1)
 0xde,0xe1
 
-# CHECK: fsubp %st(2)
+# CHECK: fsubp %st, %st(2)
 0xde,0xe2
 
-# CHECK: fsubp %st(3)
+# CHECK: fsubp %st, %st(3)
 0xde,0xe3
 
-# CHECK: fsubp %st(4)
+# CHECK: fsubp %st, %st(4)
 0xde,0xe4
 
-# CHECK: fsubp %st(5)
+# CHECK: fsubp %st, %st(5)
 0xde,0xe5
 
-# CHECK: fsubp %st(6)
+# CHECK: fsubp %st, %st(6)
 0xde,0xe6
 
-# CHECK: fsubp %st(7)
+# CHECK: fsubp %st, %st(7)
 0xde,0xe7
 
-# CHECK: fsubrp %st(0)
+# CHECK: fsubrp %st, %st(0)
 0xde,0xe8
 
-# CHECK: fsubrp %st(1)
+# CHECK: fsubrp %st, %st(1)
 0xde,0xe9
 
-# CHECK: fsubrp %st(2)
+# CHECK: fsubrp %st, %st(2)
 0xde,0xea
 
-# CHECK: fsubrp %st(3)
+# CHECK: fsubrp %st, %st(3)
 0xde,0xeb
 
-# CHECK: fsubrp %st(4)
+# CHECK: fsubrp %st, %st(4)
 0xde,0xec
 
-# CHECK: fsubrp %st(5)
+# CHECK: fsubrp %st, %st(5)
 0xde,0xed
 
-# CHECK: fsubrp %st(6)
+# CHECK: fsubrp %st, %st(6)
 0xde,0xee
 
-# CHECK: fsubrp %st(7)
+# CHECK: fsubrp %st, %st(7)
 0xde,0xef
 
-# CHECK: fdivp %st(0)
+# CHECK: fdivp %st, %st(0)
 0xde,0xf0
 
-# CHECK: fdivp %st(1)
+# CHECK: fdivp %st, %st(1)
 0xde,0xf1
 
-# CHECK: fdivp %st(2)
+# CHECK: fdivp %st, %st(2)
 0xde,0xf2
 
-# CHECK: fdivp %st(3)
+# CHECK: fdivp %st, %st(3)
 0xde,0xf3
 
-# CHECK: fdivp %st(4)
+# CHECK: fdivp %st, %st(4)
 0xde,0xf4
 
-# CHECK: fdivp %st(5)
+# CHECK: fdivp %st, %st(5)
 0xde,0xf5
 
-# CHECK: fdivp %st(6)
+# CHECK: fdivp %st, %st(6)
 0xde,0xf6
 
-# CHECK: fdivp %st(7)
+# CHECK: fdivp %st, %st(7)
 0xde,0xf7
 
-# CHECK: fdivrp %st(0)
+# CHECK: fdivrp %st, %st(0)
 0xde,0xf8
 
-# CHECK: fdivrp %st(1)
+# CHECK: fdivrp %st, %st(1)
 0xde,0xf9
 
-# CHECK: fdivrp %st(2)
+# CHECK: fdivrp %st, %st(2)
 0xde,0xfa
 
-# CHECK: fdivrp %st(3)
+# CHECK: fdivrp %st, %st(3)
 0xde,0xfb
 
-# CHECK: fdivrp %st(4)
+# CHECK: fdivrp %st, %st(4)
 0xde,0xfc
 
-# CHECK: fdivrp %st(5)
+# CHECK: fdivrp %st, %st(5)
 0xde,0xfd
 
-# CHECK: fdivrp %st(6)
+# CHECK: fdivrp %st, %st(6)
 0xde,0xfe
 
-# CHECK: fdivrp %st(7)
+# CHECK: fdivrp %st, %st(7)
 0xde,0xff
 
 # CHECK: ffreep %st(0)

Modified: llvm/branches/release_80/test/MC/Disassembler/X86/x86-16.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/MC/Disassembler/X86/x86-16.txt?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/MC/Disassembler/X86/x86-16.txt (original)
+++ llvm/branches/release_80/test/MC/Disassembler/X86/x86-16.txt Tue Feb 12 02:13:48 2019
@@ -759,10 +759,10 @@
 # CHECK: strl %eax
 0x66 0x0f 0x00 0xc8
 
-# CHECK: fsubp %st(1)
+# CHECK: fsubp %st, %st(1)
 0xde 0xe1
 
-# CHECK: fsubp %st(2)
+# CHECK: fsubp %st, %st(2)
 0xde 0xe2
 
 # CHECKX: nop

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

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

Modified: llvm/branches/release_80/test/MC/X86/X87-32.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/MC/X86/X87-32.s?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/MC/X86/X87-32.s (original)
+++ llvm/branches/release_80/test/MC/X86/X87-32.s Tue Feb 12 02:13:48 2019
@@ -31,7 +31,7 @@ faddl 64(%edx,%eax)
 // CHECK: encoding: [0xdc,0x02]        
 faddl (%edx) 
 
-// CHECK: faddp %st(4) 
+// CHECK: faddp %st, %st(4) 
 // CHECK: encoding: [0xde,0xc4]        
 faddp %st(4) 
 
@@ -59,11 +59,11 @@ fadds 64(%edx,%eax)
 // CHECK: encoding: [0xd8,0x02]        
 fadds (%edx) 
 
-// CHECK: fadd %st(0), %st(4) 
+// CHECK: fadd %st, %st(4) 
 // CHECK: encoding: [0xdc,0xc4]       
-fadd %st(0), %st(4) 
+fadd %st, %st(4) 
 
-// CHECK: fadd %st(4) 
+// CHECK: fadd %st(4), %st
 // CHECK: encoding: [0xd8,0xc4]        
 fadd %st(4) 
 
@@ -259,7 +259,7 @@ fdivl 64(%edx,%eax)
 // CHECK: encoding: [0xdc,0x32]        
 fdivl (%edx) 
 
-// CHECK: fdivp %st(4) 
+// CHECK: fdivp %st, %st(4) 
 // CHECK: encoding: [0xde,0xf4]        
 fdivp %st(4) 
 
@@ -287,7 +287,7 @@ fdivrl 64(%edx,%eax)
 // CHECK: encoding: [0xdc,0x3a]        
 fdivrl (%edx) 
 
-// CHECK: fdivrp %st(4) 
+// CHECK: fdivrp %st, %st(4) 
 // CHECK: encoding: [0xde,0xfc]        
 fdivrp %st(4) 
 
@@ -315,11 +315,11 @@ fdivrs 64(%edx,%eax)
 // CHECK: encoding: [0xd8,0x3a]        
 fdivrs (%edx) 
 
-// CHECK: fdivr %st(0), %st(4) 
+// CHECK: fdivr %st, %st(4) 
 // CHECK: encoding: [0xdc,0xfc]       
-fdivr %st(0), %st(4) 
+fdivr %st, %st(4) 
 
-// CHECK: fdivr %st(4) 
+// CHECK: fdivr %st(4), %st
 // CHECK: encoding: [0xd8,0xfc]        
 fdivr %st(4) 
 
@@ -347,11 +347,11 @@ fdivs 64(%edx,%eax)
 // CHECK: encoding: [0xd8,0x32]        
 fdivs (%edx) 
 
-// CHECK: fdiv %st(0), %st(4) 
+// CHECK: fdiv %st, %st(4) 
 // CHECK: encoding: [0xdc,0xf4]       
-fdiv %st(0), %st(4) 
+fdiv %st, %st(4) 
 
-// CHECK: fdiv %st(4) 
+// CHECK: fdiv %st(4), %st
 // CHECK: encoding: [0xd8,0xf4]        
 fdiv %st(4) 
 
@@ -1119,7 +1119,7 @@ fmull 64(%edx,%eax)
 // CHECK: encoding: [0xdc,0x0a]        
 fmull (%edx) 
 
-// CHECK: fmulp %st(4) 
+// CHECK: fmulp %st, %st(4) 
 // CHECK: encoding: [0xde,0xcc]        
 fmulp %st(4) 
 
@@ -1147,11 +1147,11 @@ fmuls 64(%edx,%eax)
 // CHECK: encoding: [0xd8,0x0a]        
 fmuls (%edx) 
 
-// CHECK: fmul %st(0), %st(4) 
+// CHECK: fmul %st, %st(4) 
 // CHECK: encoding: [0xdc,0xcc]       
-fmul %st(0), %st(4) 
+fmul %st, %st(4) 
 
-// CHECK: fmul %st(4) 
+// CHECK: fmul %st(4), %st
 // CHECK: encoding: [0xd8,0xcc]        
 fmul %st(4) 
 
@@ -1479,7 +1479,7 @@ fsubl 64(%edx,%eax)
 // CHECK: encoding: [0xdc,0x22]        
 fsubl (%edx) 
 
-// CHECK: fsubp %st(4) 
+// CHECK: fsubp %st, %st(4) 
 // CHECK: encoding: [0xde,0xe4]        
 fsubp %st(4) 
 
@@ -1507,7 +1507,7 @@ fsubrl 64(%edx,%eax)
 // CHECK: encoding: [0xdc,0x2a]        
 fsubrl (%edx) 
 
-// CHECK: fsubrp %st(4) 
+// CHECK: fsubrp %st, %st(4) 
 // CHECK: encoding: [0xde,0xec]        
 fsubrp %st(4) 
 
@@ -1535,11 +1535,11 @@ fsubrs 64(%edx,%eax)
 // CHECK: encoding: [0xd8,0x2a]        
 fsubrs (%edx) 
 
-// CHECK: fsubr %st(0), %st(4) 
+// CHECK: fsubr %st, %st(4) 
 // CHECK: encoding: [0xdc,0xec]       
-fsubr %st(0), %st(4) 
+fsubr %st, %st(4) 
 
-// CHECK: fsubr %st(4) 
+// CHECK: fsubr %st(4), %st
 // CHECK: encoding: [0xd8,0xec]        
 fsubr %st(4) 
 
@@ -1567,11 +1567,11 @@ fsubs 64(%edx,%eax)
 // CHECK: encoding: [0xd8,0x22]        
 fsubs (%edx) 
 
-// CHECK: fsub %st(0), %st(4) 
+// CHECK: fsub %st, %st(4) 
 // CHECK: encoding: [0xdc,0xe4]       
-fsub %st(0), %st(4) 
+fsub %st, %st(4) 
 
-// CHECK: fsub %st(4) 
+// CHECK: fsub %st(4), %st
 // CHECK: encoding: [0xd8,0xe4]        
 fsub %st(4) 
 

Modified: llvm/branches/release_80/test/MC/X86/X87-64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/MC/X86/X87-64.s?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/MC/X86/X87-64.s (original)
+++ llvm/branches/release_80/test/MC/X86/X87-64.s Tue Feb 12 02:13:48 2019
@@ -31,7 +31,7 @@ faddl 64(%rdx,%rax)
 // CHECK: encoding: [0xdc,0x02]        
 faddl (%rdx) 
 
-// CHECK: faddp %st(4) 
+// CHECK: faddp %st, %st(4) 
 // CHECK: encoding: [0xde,0xc4]        
 faddp %st(4) 
 
@@ -59,11 +59,11 @@ fadds 64(%rdx,%rax)
 // CHECK: encoding: [0xd8,0x02]        
 fadds (%rdx) 
 
-// CHECK: fadd %st(0), %st(4) 
+// CHECK: fadd %st, %st(4) 
 // CHECK: encoding: [0xdc,0xc4]       
-fadd %st(0), %st(4) 
+fadd %st, %st(4) 
 
-// CHECK: fadd %st(4) 
+// CHECK: fadd %st(4), %st
 // CHECK: encoding: [0xd8,0xc4]        
 fadd %st(4) 
 
@@ -259,7 +259,7 @@ fdivl 64(%rdx,%rax)
 // CHECK: encoding: [0xdc,0x32]        
 fdivl (%rdx) 
 
-// CHECK: fdivp %st(4) 
+// CHECK: fdivp %st, %st(4) 
 // CHECK: encoding: [0xde,0xf4]        
 fdivp %st(4) 
 
@@ -287,7 +287,7 @@ fdivrl 64(%rdx,%rax)
 // CHECK: encoding: [0xdc,0x3a]        
 fdivrl (%rdx) 
 
-// CHECK: fdivrp %st(4) 
+// CHECK: fdivrp %st, %st(4) 
 // CHECK: encoding: [0xde,0xfc]        
 fdivrp %st(4) 
 
@@ -315,11 +315,11 @@ fdivrs 64(%rdx,%rax)
 // CHECK: encoding: [0xd8,0x3a]        
 fdivrs (%rdx) 
 
-// CHECK: fdivr %st(0), %st(4) 
+// CHECK: fdivr %st, %st(4) 
 // CHECK: encoding: [0xdc,0xfc]       
-fdivr %st(0), %st(4) 
+fdivr %st, %st(4) 
 
-// CHECK: fdivr %st(4) 
+// CHECK: fdivr %st(4), %st
 // CHECK: encoding: [0xd8,0xfc]        
 fdivr %st(4) 
 
@@ -347,11 +347,11 @@ fdivs 64(%rdx,%rax)
 // CHECK: encoding: [0xd8,0x32]        
 fdivs (%rdx) 
 
-// CHECK: fdiv %st(0), %st(4) 
+// CHECK: fdiv %st, %st(4) 
 // CHECK: encoding: [0xdc,0xf4]       
-fdiv %st(0), %st(4) 
+fdiv %st, %st(4) 
 
-// CHECK: fdiv %st(4) 
+// CHECK: fdiv %st(4), %st
 // CHECK: encoding: [0xd8,0xf4]        
 fdiv %st(4) 
 
@@ -1119,7 +1119,7 @@ fmull 64(%rdx,%rax)
 // CHECK: encoding: [0xdc,0x0a]        
 fmull (%rdx) 
 
-// CHECK: fmulp %st(4) 
+// CHECK: fmulp %st, %st(4) 
 // CHECK: encoding: [0xde,0xcc]        
 fmulp %st(4) 
 
@@ -1147,9 +1147,9 @@ fmuls 64(%rdx,%rax)
 // CHECK: encoding: [0xd8,0x0a]        
 fmuls (%rdx) 
 
-// CHECK: fmul %st(0), %st(4) 
+// CHECK: fmul %st, %st(4) 
 // CHECK: encoding: [0xdc,0xcc]       
-fmul %st(0), %st(4) 
+fmul %st, %st(4) 
 
 // CHECK: fmul %st(4) 
 // CHECK: encoding: [0xd8,0xcc]        
@@ -1479,7 +1479,7 @@ fsubl 64(%rdx,%rax)
 // CHECK: encoding: [0xdc,0x22]        
 fsubl (%rdx) 
 
-// CHECK: fsubp %st(4) 
+// CHECK: fsubp %st, %st(4) 
 // CHECK: encoding: [0xde,0xe4]        
 fsubp %st(4) 
 
@@ -1507,7 +1507,7 @@ fsubrl 64(%rdx,%rax)
 // CHECK: encoding: [0xdc,0x2a]        
 fsubrl (%rdx) 
 
-// CHECK: fsubrp %st(4) 
+// CHECK: fsubrp %st, %st(4) 
 // CHECK: encoding: [0xde,0xec]        
 fsubrp %st(4) 
 
@@ -1535,11 +1535,11 @@ fsubrs 64(%rdx,%rax)
 // CHECK: encoding: [0xd8,0x2a]        
 fsubrs (%rdx) 
 
-// CHECK: fsubr %st(0), %st(4) 
+// CHECK: fsubr %st, %st(4) 
 // CHECK: encoding: [0xdc,0xec]       
-fsubr %st(0), %st(4) 
+fsubr %st, %st(4) 
 
-// CHECK: fsubr %st(4) 
+// CHECK: fsubr %st(4), %st
 // CHECK: encoding: [0xd8,0xec]        
 fsubr %st(4) 
 
@@ -1567,11 +1567,11 @@ fsubs 64(%rdx,%rax)
 // CHECK: encoding: [0xd8,0x22]        
 fsubs (%rdx) 
 
-// CHECK: fsub %st(0), %st(4) 
+// CHECK: fsub %st, %st(4) 
 // CHECK: encoding: [0xdc,0xe4]       
-fsub %st(0), %st(4) 
+fsub %st, %st(4) 
 
-// CHECK: fsub %st(4) 
+// CHECK: fsub %st(4), %st
 // CHECK: encoding: [0xd8,0xe4]        
 fsub %st(4) 
 

Modified: llvm/branches/release_80/test/MC/X86/intel-syntax-2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/MC/X86/intel-syntax-2.s?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/MC/X86/intel-syntax-2.s (original)
+++ llvm/branches/release_80/test/MC/X86/intel-syntax-2.s Tue Feb 12 02:13:48 2019
@@ -18,14 +18,14 @@ _test2:
 
 _test3:
 fadd 
-// CHECK: faddp %st(1)
+// CHECK: faddp %st, %st(1)
 fmul
-// CHECK: fmulp %st(1)
+// CHECK: fmulp %st, %st(1)
 fsub
-// CHECK: fsubp %st(1)
+// CHECK: fsubp %st, %st(1)
 fsubr
-// CHECK: fsubrp %st(1)
+// CHECK: fsubrp %st, %st(1)
 fdiv
-// CHECK: fdivp %st(1)
+// CHECK: fdivp %st, %st(1)
 fdivr
-// CHECK: fdivrp %st(1)
+// CHECK: fdivrp %st, %st(1)

Modified: llvm/branches/release_80/test/MC/X86/intel-syntax.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/MC/X86/intel-syntax.s?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/MC/X86/intel-syntax.s (original)
+++ llvm/branches/release_80/test/MC/X86/intel-syntax.s Tue Feb 12 02:13:48 2019
@@ -556,12 +556,12 @@ fnstsw
 fnstsw AX
 fnstsw WORD PTR [EAX]
 
-// CHECK: faddp %st(1)
-// CHECK: fmulp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fsubp %st(1)
-// CHECK: fdivrp %st(1)
-// CHECK: fdivp %st(1)
+// CHECK: faddp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
 faddp ST(1), ST(0)
 fmulp ST(1), ST(0)
 fsubp ST(1), ST(0)
@@ -569,12 +569,12 @@ fsubrp ST(1), ST(0)
 fdivp ST(1), ST(0)
 fdivrp ST(1), ST(0)
 
-// CHECK: faddp %st(1)
-// CHECK: fmulp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fsubp %st(1)
-// CHECK: fdivrp %st(1)
-// CHECK: fdivp %st(1)
+// CHECK: faddp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
 faddp ST(0), ST(1)
 fmulp ST(0), ST(1)
 fsubp ST(0), ST(1)
@@ -582,12 +582,12 @@ fsubrp ST(0), ST(1)
 fdivp ST(0), ST(1)
 fdivrp ST(0), ST(1)
 
-// CHECK: faddp %st(1)
-// CHECK: fmulp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fsubp %st(1)
-// CHECK: fdivrp %st(1)
-// CHECK: fdivp %st(1)
+// CHECK: faddp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
 faddp ST(1)
 fmulp ST(1)
 fsubp ST(1)
@@ -596,12 +596,12 @@ fdivp ST(1)
 fdivrp ST(1)
 
 
-// CHECK: faddp %st(1)
-// CHECK: fmulp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fsubp %st(1)
-// CHECK: fdivrp %st(1)
-// CHECK: fdivp %st(1)
+// CHECK: faddp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
 fadd 
 fmul
 fsub
@@ -609,12 +609,12 @@ fsubr
 fdiv
 fdivr
 
-// CHECK: faddp %st(1)
-// CHECK: fmulp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fsubp %st(1)
-// CHECK: fdivrp %st(1)
-// CHECK: fdivp %st(1)
+// CHECK: faddp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
 faddp
 fmulp
 fsubp
@@ -622,12 +622,12 @@ fsubrp
 fdivp
 fdivrp
 
-// CHECK: fadd %st(1)
-// CHECK: fmul %st(1)
-// CHECK: fsub %st(1)
-// CHECK: fsubr %st(1)
-// CHECK: fdiv %st(1)
-// CHECK: fdivr %st(1)
+// CHECK: fadd %st(1), %st
+// CHECK: fmul %st(1), %st
+// CHECK: fsub %st(1), %st
+// CHECK: fsubr %st(1), %st
+// CHECK: fdiv %st(1), %st
+// CHECK: fdivr %st(1), %st
 fadd ST(0), ST(1)
 fmul ST(0), ST(1)
 fsub ST(0), ST(1)
@@ -635,12 +635,12 @@ 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)
+// 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(0)
 fmul ST(1), ST(0)
 fsub ST(1), ST(0)
@@ -648,12 +648,12 @@ fsubr ST(1), ST(0)
 fdiv ST(1), ST(0)
 fdivr ST(1), ST(0)
 
-// CHECK: fadd %st(1)
-// CHECK: fmul %st(1)
-// CHECK: fsub %st(1)
-// CHECK: fsubr %st(1)
-// CHECK: fdiv %st(1)
-// CHECK: fdivr %st(1)
+// CHECK: fadd %st(1), %st
+// CHECK: fmul %st(1), %st
+// CHECK: fsub %st(1), %st
+// CHECK: fsubr %st(1), %st
+// CHECK: fdiv %st(1), %st
+// CHECK: fdivr %st(1), %st
 fadd ST(1)
 fmul ST(1)
 fsub ST(1)

Modified: llvm/branches/release_80/test/MC/X86/x86-16.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/MC/X86/x86-16.s?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/MC/X86/x86-16.s (original)
+++ llvm/branches/release_80/test/MC/X86/x86-16.s Tue Feb 12 02:13:48 2019
@@ -920,11 +920,11 @@ pshufw $90, %mm4, %mm0
 	str %eax
 
 
-// CHECK: fsubp
+// CHECK: fsubp %st, %st(1)
 // CHECK: encoding: [0xde,0xe1]
 fsubp %st,%st(1)
 
-// CHECK: fsubp	%st(2)
+// CHECK: fsubp %st, %st(2)
 // CHECK: encoding: [0xde,0xe2]
 fsubp   %st, %st(2)
 

Modified: llvm/branches/release_80/test/MC/X86/x86-32-coverage.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/MC/X86/x86-32-coverage.s?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/MC/X86/x86-32-coverage.s (original)
+++ llvm/branches/release_80/test/MC/X86/x86-32-coverage.s Tue Feb 12 02:13:48 2019
@@ -2472,11 +2472,11 @@
 // CHECK:  encoding: [0xda,0x05,0x78,0x56,0x34,0x12]
         	fiaddl	0x12345678
 
-// CHECK: faddp	%st(2)
+// CHECK: faddp	%st, %st(2)
 // CHECK:  encoding: [0xde,0xc2]
         	faddp	%st(2)
 
-// CHECK: fsub	%st(2)
+// CHECK: fsub	%st(2), %st
 // CHECK:  encoding: [0xd8,0xe2]
         	fsub	%st(2)
 
@@ -2504,11 +2504,11 @@
 // CHECK:  encoding: [0xda,0x25,0x78,0x56,0x34,0x12]
         	fisubl	0x12345678
 
-// CHECK: fsubp	%st(2)
+// CHECK: fsubp	%st, %st(2)
 // CHECK:  encoding: [0xde,0xe2]
         	fsubp	%st(2)
 
-// CHECK: fsubr	%st(2)
+// CHECK: fsubr	%st(2), %st
 // CHECK:  encoding: [0xd8,0xea]
         	fsubr	%st(2)
 
@@ -2536,11 +2536,11 @@
 // CHECK:  encoding: [0xda,0x2d,0x78,0x56,0x34,0x12]
         	fisubrl	0x12345678
 
-// CHECK: fsubrp	%st(2)
+// CHECK: fsubrp	%st, %st(2)
 // CHECK:  encoding: [0xde,0xea]
         	fsubrp	%st(2)
 
-// CHECK: fmul	%st(2)
+// CHECK: fmul	%st(2), %st
 // CHECK:  encoding: [0xd8,0xca]
         	fmul	%st(2)
 
@@ -2568,11 +2568,11 @@
 // CHECK:  encoding: [0xda,0x0d,0x78,0x56,0x34,0x12]
         	fimull	0x12345678
 
-// CHECK: fmulp	%st(2)
+// CHECK: fmulp	%st, %st(2)
 // CHECK:  encoding: [0xde,0xca]
         	fmulp	%st(2)
 
-// CHECK: fdiv	%st(2)
+// CHECK: fdiv	%st(2), %st
 // CHECK:  encoding: [0xd8,0xf2]
         	fdiv	%st(2)
 
@@ -2600,11 +2600,11 @@
 // CHECK:  encoding: [0xda,0x35,0x78,0x56,0x34,0x12]
         	fidivl	0x12345678
 
-// CHECK: fdivp	%st(2)
+// CHECK: fdivp	%st, %st(2)
 // CHECK:  encoding: [0xde,0xf2]
         	fdivp	%st(2)
 
-// CHECK: fdivr	%st(2)
+// CHECK: fdivr	%st(2), %st
 // CHECK:  encoding: [0xd8,0xfa]
         	fdivr	%st(2)
 
@@ -2632,7 +2632,7 @@
 // CHECK:  encoding: [0xda,0x3d,0x78,0x56,0x34,0x12]
         	fidivrl	0x12345678
 
-// CHECK: fdivrp	%st(2)
+// CHECK: fdivrp	%st, %st(2)
 // CHECK:  encoding: [0xde,0xfa]
         	fdivrp	%st(2)
 
@@ -2876,35 +2876,35 @@
 // CHECK:  encoding: [0x0f,0x0b]
         	ud2
 
-// CHECK: fcmovb	%st(2), %st(0)
+// CHECK: fcmovb	%st(2), %st
 // CHECK:  encoding: [0xda,0xc2]
         	fcmovb	%st(2),%st
 
-// CHECK: fcmove	%st(2), %st(0)
+// CHECK: fcmove	%st(2), %st
 // CHECK:  encoding: [0xda,0xca]
         	fcmove	%st(2),%st
 
-// CHECK: fcmovbe	%st(2), %st(0)
+// CHECK: fcmovbe	%st(2), %st
 // CHECK:  encoding: [0xda,0xd2]
         	fcmovbe	%st(2),%st
 
-// CHECK: fcmovu	 %st(2), %st(0)
+// CHECK: fcmovu	 %st(2), %st
 // CHECK:  encoding: [0xda,0xda]
         	fcmovu	%st(2),%st
 
-// CHECK: fcmovnb	%st(2), %st(0)
+// CHECK: fcmovnb	%st(2), %st
 // CHECK:  encoding: [0xdb,0xc2]
         	fcmovnb	%st(2),%st
 
-// CHECK: fcmovne	%st(2), %st(0)
+// CHECK: fcmovne	%st(2), %st
 // CHECK:  encoding: [0xdb,0xca]
         	fcmovne	%st(2),%st
 
-// CHECK: fcmovnbe	%st(2), %st(0)
+// CHECK: fcmovnbe	%st(2), %st
 // CHECK:  encoding: [0xdb,0xd2]
         	fcmovnbe	%st(2),%st
 
-// CHECK: fcmovnu	%st(2), %st(0)
+// CHECK: fcmovnu	%st(2), %st
 // CHECK:  encoding: [0xdb,0xda]
         	fcmovnu	%st(2),%st
 

Modified: llvm/branches/release_80/test/MC/X86/x86-32.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/MC/X86/x86-32.s?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/MC/X86/x86-32.s (original)
+++ llvm/branches/release_80/test/MC/X86/x86-32.s Tue Feb 12 02:13:48 2019
@@ -1055,7 +1055,7 @@ pshufw $90, %mm4, %mm0
 fsubp %st,%st(1)
 
 // PR9164
-// CHECK: fsubp	%st(2)
+// CHECK: fsubp %st, %st(2)
 // CHECK: encoding: [0xde,0xe2]
 fsubp   %st, %st(2)
 

Modified: llvm/branches/release_80/test/MC/X86/x86-64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/MC/X86/x86-64.s?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/MC/X86/x86-64.s (original)
+++ llvm/branches/release_80/test/MC/X86/x86-64.s Tue Feb 12 02:13:48 2019
@@ -307,13 +307,13 @@ insl	(%dx), %es:(%rdi)
 // CHECK: fxch %st(1)
 // CHECK: fucom %st(1)
 // CHECK: fucomp %st(1)
-// CHECK: faddp %st(1)
-// CHECK: faddp	%st(0)
-// CHECK: fsubp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fmulp %st(1)
-// CHECK: fdivp %st(1)
-// CHECK: fdivrp %st(1)
+// CHECK: faddp %st, %st(1)
+// CHECK: faddp %st, %st(0)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
 
 fxch
 fucom
@@ -416,21 +416,21 @@ enter $0x7ace,$0x7f
 mov %cs, %ax
 
 // rdar://8456391
-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)
+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
 
-fcmovnae %st(1), %st(0) // CHECK: fcmovb	%st(1), %st(0)
-fcmovna %st(1), %st(0)  // CHECK: fcmovbe	%st(1), %st(0)
+fcmovnae %st(1), %st // CHECK: fcmovb	%st(1), %st
+fcmovna %st(1), %st  // CHECK: fcmovbe	%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)
+fcmovae %st(1), %st  // CHECK: fcmovnb	%st(1), %st
+fcmova %st(1), %st   // CHECK: fcmovnbe	%st(1), %st
 
 // rdar://8456417
 .byte (88 + 1) & 15  // CHECK: .byte	9
@@ -456,20 +456,20 @@ mov %rdx, %db15
 // CHECK: encoding: [0x44,0x0f,0x23,0xfa]
 
 // rdar://8456371 - Handle commutable instructions written backward.
-// CHECK: 	faddp	%st(1)
-// CHECK:	fmulp	%st(2)
+// CHECK: 	faddp	%st, %st(1)
+// CHECK:	fmulp	%st, %st(2)
 faddp %st, %st(1)
 fmulp %st, %st(2)
 
 // rdar://8468087 - Encode these accurately, they are not synonyms.
-// CHECK: fmul	%st(0), %st(1)
+// CHECK: fmul	%st, %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(0), %st(1)
+// CHECK: fadd	%st, %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(0), %st(1) // CHECK: encoding: [0xde,0xf9]
-fdivrp %st(1), %st(0) // CHECK: encoding: [0xde,0xf9]
+fdivrp %st, %st(1) // CHECK: encoding: [0xde,0xf9]
+fdivrp %st(1), %st // CHECK: encoding: [0xde,0xf9]
 
-fsubrp %st(0), %st(1) // CHECK: encoding: [0xde,0xe9]
-fsubrp %st(1), %st(0) // CHECK: encoding: [0xde,0xe9]
+fsubrp %st, %st(1) // CHECK: encoding: [0xde,0xe9]
+fsubrp %st(1), %st // CHECK: encoding: [0xde,0xe9]
 
 // also PR8861
-fdivp %st(0), %st(1) // CHECK: encoding: [0xde,0xf1]
-fdivp %st(1), %st(0) // CHECK: encoding: [0xde,0xf1]
+fdivp %st, %st(1) // CHECK: encoding: [0xde,0xf1]
+fdivp %st(1), %st // CHECK: encoding: [0xde,0xf1]
 
 
 movl	foo(%rip), %eax
@@ -1391,38 +1391,38 @@ clac
 // CHECK: encoding: [0x0f,0x01,0xcb]
 stac
 
-// CHECK: faddp %st(1)
-// CHECK: fmulp %st(1)
-// CHECK: fsubp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fdivp %st(1)
-// CHECK: fdivrp %st(1)
-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)
-// CHECK: fsubp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fdivp %st(1)
-// CHECK: fdivrp %st(1)
-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)
-// CHECK: fsubp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fdivp %st(1)
-// CHECK: fdivrp %st(1)
+// CHECK: faddp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
+faddp %st, %st(1)
+fmulp %st, %st(1)
+fsubp %st, %st(1)
+fsubrp %st, %st(1)
+fdivp %st, %st(1)
+fdivrp %st, %st(1)
+
+// CHECK: faddp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
+faddp %st(1), %st
+fmulp %st(1), %st
+fsubp %st(1), %st
+fsubrp %st(1), %st
+fdivp %st(1), %st
+fdivrp %st(1), %st
+
+// CHECK: faddp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
 faddp %st(1)
 fmulp %st(1)
 fsubp %st(1)
@@ -1430,12 +1430,12 @@ fsubrp %st(1)
 fdivp %st(1)
 fdivrp %st(1)
 
-// CHECK: faddp %st(1)
-// CHECK: fmulp %st(1)
-// CHECK: fsubp %st(1)
-// CHECK: fsubrp %st(1)
-// CHECK: fdivp %st(1)
-// CHECK: fdivrp %st(1)
+// CHECK: faddp %st, %st(1)
+// CHECK: fmulp %st, %st(1)
+// CHECK: fsubp %st, %st(1)
+// CHECK: fsubrp %st, %st(1)
+// CHECK: fdivp %st, %st(1)
+// CHECK: fdivrp %st, %st(1)
 faddp
 fmulp
 fsubp
@@ -1449,25 +1449,25 @@ fdivrp
 // CHECK: fsubr %st(1)
 // CHECK: fdiv %st(1)
 // CHECK: fdivr %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)
+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)
 
 // CHECK: fadd %st(1)
 // CHECK: fmul %st(1)

Modified: llvm/branches/release_80/test/tools/llvm-mca/X86/Atom/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/tools/llvm-mca/X86/Atom/resources-x87.s?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/tools/llvm-mca/X86/Atom/resources-x87.s (original)
+++ llvm/branches/release_80/test/tools/llvm-mca/X86/Atom/resources-x87.s Tue Feb 12 02:13:48 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st(0), %st(1)
+fadd %st, %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-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)
+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
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st(0), %st(1)
+fdiv %st, %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st(0), %st(1)
+fdivr %st, %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st(0), %st(1)
+fmul %st, %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st(0), %st(1)
+fsub %st, %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st(0), %st(1)
+fsubr %st, %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,26 +208,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      5     5.00                  U     fadd	%st(2)
+# CHECK-NEXT:  1      5     5.00                  U     fadd	%st, %st(1)
+# CHECK-NEXT:  1      5     5.00                  U     fadd	%st(2), %st
 # CHECK-NEXT:  1      5     5.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  1      5     5.00    *             U     faddl	(%ecx)
-# CHECK-NEXT:  1      5     5.00                  U     faddp	%st(1)
-# CHECK-NEXT:  1      5     5.00                  U     faddp	%st(2)
+# CHECK-NEXT:  1      5     5.00                  U     faddp	%st, %st(1)
+# CHECK-NEXT:  1      5     5.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  1      5     5.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  1      5     5.00    *             U     fiaddl	(%ecx)
 # CHECK-NEXT:  1      100   0.50                  U     fbld	(%ecx)
 # 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(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      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      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)
@@ -237,24 +237,24 @@ fyl2xp1
 # CHECK-NEXT:  1      5     5.00                  U     fcomps	(%ecx)
 # CHECK-NEXT:  1      5     5.00                  U     fcompl	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fcompp
-# CHECK-NEXT:  1      9     4.50                  U     fcomi	%st(3)
-# CHECK-NEXT:  1      9     4.50                  U     fcompi	%st(3)
+# CHECK-NEXT:  1      9     4.50                  U     fcomi	%st(3), %st
+# CHECK-NEXT:  1      9     4.50                  U     fcompi	%st(3), %st
 # CHECK-NEXT:  1      174   87.00                 U     fcos
 # CHECK-NEXT:  1      1     0.50                  U     fdecstp
-# CHECK-NEXT:  1      34    17.00                 U     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  1      34    17.00                 U     fdiv	%st(2)
+# CHECK-NEXT:  1      34    17.00                 U     fdiv	%st, %st(1)
+# CHECK-NEXT:  1      34    17.00                 U     fdiv	%st(2), %st
 # CHECK-NEXT:  1      34    17.00   *             U     fdivs	(%ecx)
 # CHECK-NEXT:  1      34    17.00   *             U     fdivl	(%eax)
-# CHECK-NEXT:  1      34    17.00                 U     fdivp	%st(1)
-# CHECK-NEXT:  1      34    17.00                 U     fdivp	%st(2)
+# CHECK-NEXT:  1      34    17.00                 U     fdivp	%st, %st(1)
+# CHECK-NEXT:  1      34    17.00                 U     fdivp	%st, %st(2)
 # CHECK-NEXT:  1      34    17.00   *             U     fidivs	(%ecx)
 # CHECK-NEXT:  1      34    17.00   *             U     fidivl	(%eax)
-# CHECK-NEXT:  1      34    17.00                 U     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  1      34    17.00                 U     fdivr	%st(2)
+# CHECK-NEXT:  1      34    17.00                 U     fdivr	%st, %st(1)
+# CHECK-NEXT:  1      34    17.00                 U     fdivr	%st(2), %st
 # CHECK-NEXT:  1      34    17.00   *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  1      34    17.00   *             U     fdivrl	(%eax)
-# CHECK-NEXT:  1      34    17.00                 U     fdivrp	%st(1)
-# CHECK-NEXT:  1      34    17.00                 U     fdivrp	%st(2)
+# CHECK-NEXT:  1      34    17.00                 U     fdivrp	%st, %st(1)
+# CHECK-NEXT:  1      34    17.00                 U     fdivrp	%st, %st(2)
 # CHECK-NEXT:  1      34    17.00   *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  1      34    17.00   *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      1     0.50                  U     ffree	%st(0)
@@ -288,12 +288,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      4     4.00                  U     fmul	%st(2)
+# CHECK-NEXT:  1      4     4.00                  U     fmul	%st, %st(1)
+# CHECK-NEXT:  1      4     4.00                  U     fmul	%st(2), %st
 # CHECK-NEXT:  1      4     4.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  1      4     4.00    *             U     fmull	(%eax)
-# CHECK-NEXT:  1      4     4.00                  U     fmulp	%st(1)
-# CHECK-NEXT:  1      4     4.00                  U     fmulp	%st(2)
+# CHECK-NEXT:  1      4     4.00                  U     fmulp	%st, %st(1)
+# CHECK-NEXT:  1      4     4.00                  U     fmulp	%st, %st(2)
 # CHECK-NEXT:  1      4     4.00    *             U     fimuls	(%ecx)
 # CHECK-NEXT:  1      4     4.00    *             U     fimull	(%eax)
 # CHECK-NEXT:  1      1     0.50                  U     fnop
@@ -321,20 +321,20 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      5     5.00                  U     fsub	%st(2)
+# CHECK-NEXT:  1      5     5.00                  U     fsub	%st, %st(1)
+# CHECK-NEXT:  1      5     5.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  1      5     5.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  1      5     5.00    *             U     fsubl	(%eax)
-# CHECK-NEXT:  1      5     5.00                  U     fsubp	%st(1)
-# CHECK-NEXT:  1      5     5.00                  U     fsubp	%st(2)
+# CHECK-NEXT:  1      5     5.00                  U     fsubp	%st, %st(1)
+# CHECK-NEXT:  1      5     5.00                  U     fsubp	%st, %st(2)
 # CHECK-NEXT:  1      5     5.00    *             U     fisubs	(%ecx)
 # CHECK-NEXT:  1      5     5.00    *             U     fisubl	(%eax)
-# CHECK-NEXT:  1      5     5.00                  U     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  1      5     5.00                  U     fsubr	%st(2)
+# CHECK-NEXT:  1      5     5.00                  U     fsubr	%st, %st(1)
+# CHECK-NEXT:  1      5     5.00                  U     fsubr	%st(2), %st
 # CHECK-NEXT:  1      5     5.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  1      5     5.00    *             U     fsubrl	(%eax)
-# CHECK-NEXT:  1      5     5.00                  U     fsubrp	%st(1)
-# CHECK-NEXT:  1      5     5.00                  U     fsubrp	%st(2)
+# CHECK-NEXT:  1      5     5.00                  U     fsubrp	%st, %st(1)
+# CHECK-NEXT:  1      5     5.00                  U     fsubrp	%st, %st(2)
 # CHECK-NEXT:  1      5     5.00    *             U     fisubrs	(%ecx)
 # CHECK-NEXT:  1      5     5.00    *             U     fisubrl	(%eax)
 # CHECK-NEXT:  1      9     4.50                  U     ftst
@@ -343,8 +343,8 @@ fyl2xp1
 # CHECK-NEXT:  1      1     1.00                  U     fucomp	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fucomp	%st(3)
 # CHECK-NEXT:  1      1     1.00                  U     fucompp
-# CHECK-NEXT:  1      9     4.50                  U     fucomi	%st(3)
-# CHECK-NEXT:  1      9     4.50                  U     fucompi	%st(3)
+# CHECK-NEXT:  1      9     4.50                  U     fucomi	%st(3), %st
+# CHECK-NEXT:  1      9     4.50                  U     fucompi	%st(3), %st
 # CHECK-NEXT:  1      1     0.50                  U     wait
 # CHECK-NEXT:  1      1     1.00                  U     fxam
 # CHECK-NEXT:  1      1     1.00                  U     fxch	%st(1)
@@ -367,26 +367,26 @@ fyl2xp1
 # CHECK-NEXT: [0]    [1]    Instructions:
 # CHECK-NEXT: 49.50  49.50  f2xm1
 # CHECK-NEXT:  -     1.00   fabs
-# CHECK-NEXT: 5.00    -     fadd	%st(0), %st(1)
-# CHECK-NEXT: 5.00    -     fadd	%st(2)
+# CHECK-NEXT: 5.00    -     fadd	%st, %st(1)
+# CHECK-NEXT: 5.00    -     fadd	%st(2), %st
 # CHECK-NEXT: 5.00    -     fadds	(%ecx)
 # CHECK-NEXT: 5.00    -     faddl	(%ecx)
-# CHECK-NEXT: 5.00    -     faddp	%st(1)
-# CHECK-NEXT: 5.00    -     faddp	%st(2)
+# CHECK-NEXT: 5.00    -     faddp	%st, %st(1)
+# CHECK-NEXT: 5.00    -     faddp	%st, %st(2)
 # CHECK-NEXT: 5.00    -     fiadds	(%ecx)
 # CHECK-NEXT: 5.00    -     fiaddl	(%ecx)
 # CHECK-NEXT: 0.50   0.50   fbld	(%ecx)
 # 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(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: 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: 5.00    -     fcom	%st(1)
 # CHECK-NEXT: 5.00    -     fcom	%st(3)
 # CHECK-NEXT: 5.00    -     fcoms	(%ecx)
@@ -396,24 +396,24 @@ fyl2xp1
 # CHECK-NEXT: 5.00    -     fcomps	(%ecx)
 # CHECK-NEXT: 5.00    -     fcompl	(%eax)
 # CHECK-NEXT:  -     1.00   fcompp
-# CHECK-NEXT: 4.50   4.50   fcomi	%st(3)
-# CHECK-NEXT: 4.50   4.50   fcompi	%st(3)
+# CHECK-NEXT: 4.50   4.50   fcomi	%st(3), %st
+# CHECK-NEXT: 4.50   4.50   fcompi	%st(3), %st
 # CHECK-NEXT: 87.00  87.00  fcos
 # CHECK-NEXT: 0.50   0.50   fdecstp
-# CHECK-NEXT: 17.00  17.00  fdiv	%st(0), %st(1)
-# CHECK-NEXT: 17.00  17.00  fdiv	%st(2)
+# CHECK-NEXT: 17.00  17.00  fdiv	%st, %st(1)
+# CHECK-NEXT: 17.00  17.00  fdiv	%st(2), %st
 # CHECK-NEXT: 17.00  17.00  fdivs	(%ecx)
 # CHECK-NEXT: 17.00  17.00  fdivl	(%eax)
-# CHECK-NEXT: 17.00  17.00  fdivp	%st(1)
-# CHECK-NEXT: 17.00  17.00  fdivp	%st(2)
+# CHECK-NEXT: 17.00  17.00  fdivp	%st, %st(1)
+# CHECK-NEXT: 17.00  17.00  fdivp	%st, %st(2)
 # CHECK-NEXT: 17.00  17.00  fidivs	(%ecx)
 # CHECK-NEXT: 17.00  17.00  fidivl	(%eax)
-# CHECK-NEXT: 17.00  17.00  fdivr	%st(0), %st(1)
-# CHECK-NEXT: 17.00  17.00  fdivr	%st(2)
+# CHECK-NEXT: 17.00  17.00  fdivr	%st, %st(1)
+# CHECK-NEXT: 17.00  17.00  fdivr	%st(2), %st
 # CHECK-NEXT: 17.00  17.00  fdivrs	(%ecx)
 # CHECK-NEXT: 17.00  17.00  fdivrl	(%eax)
-# CHECK-NEXT: 17.00  17.00  fdivrp	%st(1)
-# CHECK-NEXT: 17.00  17.00  fdivrp	%st(2)
+# CHECK-NEXT: 17.00  17.00  fdivrp	%st, %st(1)
+# CHECK-NEXT: 17.00  17.00  fdivrp	%st, %st(2)
 # CHECK-NEXT: 17.00  17.00  fidivrs	(%ecx)
 # CHECK-NEXT: 17.00  17.00  fidivrl	(%eax)
 # CHECK-NEXT: 0.50   0.50   ffree	%st(0)
@@ -447,12 +447,12 @@ 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(0), %st(1)
-# CHECK-NEXT: 4.00    -     fmul	%st(2)
+# CHECK-NEXT: 4.00    -     fmul	%st, %st(1)
+# CHECK-NEXT: 4.00    -     fmul	%st(2), %st
 # CHECK-NEXT: 4.00    -     fmuls	(%ecx)
 # CHECK-NEXT: 4.00    -     fmull	(%eax)
-# CHECK-NEXT: 4.00    -     fmulp	%st(1)
-# CHECK-NEXT: 4.00    -     fmulp	%st(2)
+# CHECK-NEXT: 4.00    -     fmulp	%st, %st(1)
+# CHECK-NEXT: 4.00    -     fmulp	%st, %st(2)
 # CHECK-NEXT: 4.00    -     fimuls	(%ecx)
 # CHECK-NEXT: 4.00    -     fimull	(%eax)
 # CHECK-NEXT: 0.50   0.50   fnop
@@ -480,20 +480,20 @@ 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(0), %st(1)
-# CHECK-NEXT: 5.00    -     fsub	%st(2)
+# CHECK-NEXT: 5.00    -     fsub	%st, %st(1)
+# CHECK-NEXT: 5.00    -     fsub	%st(2), %st
 # CHECK-NEXT: 5.00    -     fsubs	(%ecx)
 # CHECK-NEXT: 5.00    -     fsubl	(%eax)
-# CHECK-NEXT: 5.00    -     fsubp	%st(1)
-# CHECK-NEXT: 5.00    -     fsubp	%st(2)
+# CHECK-NEXT: 5.00    -     fsubp	%st, %st(1)
+# CHECK-NEXT: 5.00    -     fsubp	%st, %st(2)
 # CHECK-NEXT: 5.00    -     fisubs	(%ecx)
 # CHECK-NEXT: 5.00    -     fisubl	(%eax)
-# CHECK-NEXT: 5.00    -     fsubr	%st(0), %st(1)
-# CHECK-NEXT: 5.00    -     fsubr	%st(2)
+# CHECK-NEXT: 5.00    -     fsubr	%st, %st(1)
+# CHECK-NEXT: 5.00    -     fsubr	%st(2), %st
 # CHECK-NEXT: 5.00    -     fsubrs	(%ecx)
 # CHECK-NEXT: 5.00    -     fsubrl	(%eax)
-# CHECK-NEXT: 5.00    -     fsubrp	%st(1)
-# CHECK-NEXT: 5.00    -     fsubrp	%st(2)
+# CHECK-NEXT: 5.00    -     fsubrp	%st, %st(1)
+# CHECK-NEXT: 5.00    -     fsubrp	%st, %st(2)
 # CHECK-NEXT: 5.00    -     fisubrs	(%ecx)
 # CHECK-NEXT: 5.00    -     fisubrl	(%eax)
 # CHECK-NEXT: 4.50   4.50   ftst
@@ -502,8 +502,8 @@ fyl2xp1
 # CHECK-NEXT:  -     1.00   fucomp	%st(1)
 # CHECK-NEXT:  -     1.00   fucomp	%st(3)
 # CHECK-NEXT:  -     1.00   fucompp
-# CHECK-NEXT: 4.50   4.50   fucomi	%st(3)
-# CHECK-NEXT: 4.50   4.50   fucompi	%st(3)
+# CHECK-NEXT: 4.50   4.50   fucomi	%st(3), %st
+# CHECK-NEXT: 4.50   4.50   fucompi	%st(3), %st
 # CHECK-NEXT: 0.50   0.50   wait
 # CHECK-NEXT: 1.00    -     fxam
 # CHECK-NEXT: 1.00   1.00   fxch	%st(1)

Modified: llvm/branches/release_80/test/tools/llvm-mca/X86/BdVer2/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/tools/llvm-mca/X86/BdVer2/resources-x87.s?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/tools/llvm-mca/X86/BdVer2/resources-x87.s (original)
+++ llvm/branches/release_80/test/tools/llvm-mca/X86/BdVer2/resources-x87.s Tue Feb 12 02:13:48 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st(0), %st(1)
+fadd %st, %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-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)
+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
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st(0), %st(1)
+fdiv %st, %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st(0), %st(1)
+fdivr %st, %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st(0), %st(1)
+fmul %st, %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st(0), %st(1)
+fsub %st, %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st(0), %st(1)
+fsubr %st, %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,26 +208,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      5     1.00                  U     fadd	%st(2)
+# CHECK-NEXT:  1      5     1.00                  U     fadd	%st, %st(1)
+# CHECK-NEXT:  1      5     1.00                  U     fadd	%st(2), %st
 # CHECK-NEXT:  1      10    1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     faddl	(%ecx)
-# CHECK-NEXT:  1      5     1.00                  U     faddp	%st(1)
-# CHECK-NEXT:  1      5     1.00                  U     faddp	%st(2)
+# CHECK-NEXT:  1      5     1.00                  U     faddp	%st, %st(1)
+# CHECK-NEXT:  1      5     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  1      10    1.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     fiaddl	(%ecx)
 # CHECK-NEXT:  1      100   0.50                  U     fbld	(%ecx)
 # 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(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:  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:  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)
@@ -237,24 +237,24 @@ fyl2xp1
 # CHECK-NEXT:  1      6     1.00                  U     fcomps	(%ecx)
 # CHECK-NEXT:  1      6     1.00                  U     fcompl	(%eax)
 # CHECK-NEXT:  1      100   0.50                  U     fcompp
-# CHECK-NEXT:  2      1     1.00                  U     fcomi	%st(3)
-# CHECK-NEXT:  2      1     1.00                  U     fcompi	%st(3)
+# CHECK-NEXT:  2      1     1.00                  U     fcomi	%st(3), %st
+# CHECK-NEXT:  2      1     1.00                  U     fcompi	%st(3), %st
 # CHECK-NEXT:  1      100   0.50                  U     fcos
 # CHECK-NEXT:  1      100   0.50                  U     fdecstp
-# CHECK-NEXT:  1      9     9.50                  U     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  1      9     9.50                  U     fdiv	%st(2)
+# CHECK-NEXT:  1      9     9.50                  U     fdiv	%st, %st(1)
+# CHECK-NEXT:  1      9     9.50                  U     fdiv	%st(2), %st
 # CHECK-NEXT:  1      14    9.50    *             U     fdivs	(%ecx)
 # CHECK-NEXT:  1      14    9.50    *             U     fdivl	(%eax)
-# CHECK-NEXT:  1      9     9.50                  U     fdivp	%st(1)
-# CHECK-NEXT:  1      9     9.50                  U     fdivp	%st(2)
+# CHECK-NEXT:  1      9     9.50                  U     fdivp	%st, %st(1)
+# CHECK-NEXT:  1      9     9.50                  U     fdivp	%st, %st(2)
 # CHECK-NEXT:  1      14    9.50    *             U     fidivs	(%ecx)
 # CHECK-NEXT:  1      14    9.50    *             U     fidivl	(%eax)
-# CHECK-NEXT:  1      9     9.50                  U     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  1      9     9.50                  U     fdivr	%st(2)
+# CHECK-NEXT:  1      9     9.50                  U     fdivr	%st, %st(1)
+# CHECK-NEXT:  1      9     9.50                  U     fdivr	%st(2), %st
 # CHECK-NEXT:  1      14    9.50    *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  1      14    9.50    *             U     fdivrl	(%eax)
-# CHECK-NEXT:  1      9     9.50                  U     fdivrp	%st(1)
-# CHECK-NEXT:  1      9     9.50                  U     fdivrp	%st(2)
+# CHECK-NEXT:  1      9     9.50                  U     fdivrp	%st, %st(1)
+# CHECK-NEXT:  1      9     9.50                  U     fdivrp	%st, %st(2)
 # CHECK-NEXT:  1      14    9.50    *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  1      14    9.50    *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      100   0.50                  U     ffree	%st(0)
@@ -288,12 +288,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      5     1.00                  U     fmul	%st(2)
+# CHECK-NEXT:  1      5     1.00                  U     fmul	%st, %st(1)
+# CHECK-NEXT:  1      5     1.00                  U     fmul	%st(2), %st
 # CHECK-NEXT:  1      10    1.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     fmull	(%eax)
-# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st(1)
-# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st(2)
+# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st, %st(1)
+# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st, %st(2)
 # CHECK-NEXT:  1      10    1.00    *             U     fimuls	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     fimull	(%eax)
 # CHECK-NEXT:  1      1     0.50                  U     fnop
@@ -321,20 +321,20 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      5     1.00                  U     fsub	%st(2)
+# CHECK-NEXT:  1      5     1.00                  U     fsub	%st, %st(1)
+# CHECK-NEXT:  1      5     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  1      10    1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     fsubl	(%eax)
-# CHECK-NEXT:  1      5     1.00                  U     fsubp	%st(1)
-# CHECK-NEXT:  1      5     1.00                  U     fsubp	%st(2)
+# CHECK-NEXT:  1      5     1.00                  U     fsubp	%st, %st(1)
+# CHECK-NEXT:  1      5     1.00                  U     fsubp	%st, %st(2)
 # CHECK-NEXT:  1      10    1.00    *             U     fisubs	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     fisubl	(%eax)
-# CHECK-NEXT:  1      5     1.00                  U     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  1      5     1.00                  U     fsubr	%st(2)
+# CHECK-NEXT:  1      5     1.00                  U     fsubr	%st, %st(1)
+# CHECK-NEXT:  1      5     1.00                  U     fsubr	%st(2), %st
 # CHECK-NEXT:  1      10    1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     fsubrl	(%eax)
-# CHECK-NEXT:  1      5     1.00                  U     fsubrp	%st(1)
-# CHECK-NEXT:  1      5     1.00                  U     fsubrp	%st(2)
+# CHECK-NEXT:  1      5     1.00                  U     fsubrp	%st, %st(1)
+# CHECK-NEXT:  1      5     1.00                  U     fsubrp	%st, %st(2)
 # CHECK-NEXT:  1      10    1.00    *             U     fisubrs	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     fisubrl	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     ftst
@@ -343,8 +343,8 @@ fyl2xp1
 # CHECK-NEXT:  2      1     1.00                  U     fucomp	%st(1)
 # CHECK-NEXT:  2      1     1.00                  U     fucomp	%st(3)
 # CHECK-NEXT:  1      1     1.00                  U     fucompp
-# CHECK-NEXT:  2      1     1.00                  U     fucomi	%st(3)
-# CHECK-NEXT:  2      1     1.00                  U     fucompi	%st(3)
+# CHECK-NEXT:  2      1     1.00                  U     fucomi	%st(3), %st
+# CHECK-NEXT:  2      1     1.00                  U     fucompi	%st(3), %st
 # CHECK-NEXT:  1      100   0.50                  U     wait
 # CHECK-NEXT:  1      100   0.50                  U     fxam
 # CHECK-NEXT:  1      1     0.50                  U     fxch	%st(1)
@@ -388,26 +388,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fadd	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fadd	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fadd	%st(2), %st
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -     0.50   0.50    -      -     fadds	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -     0.50   0.50    -      -     faddl	(%ecx)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     faddp	%st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     faddp	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     faddp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     faddp	%st, %st(2)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -     0.50   0.50    -      -     fiadds	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -     0.50   0.50    -      -     fiaddl	(%ecx)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fbld	(%ecx)
 # 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(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:  -      -      -      -      -      -      -      -     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:  -      -      -      -      -     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)
@@ -417,24 +417,24 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fcomps	(%ecx)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fcompl	(%eax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fcompp
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcomi	%st(3)
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcompi	%st(3)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcomi	%st(3), %st
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fcompi	%st(3), %st
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fcos
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fdecstp
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdiv	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(2), %st
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -     0.50   0.50    -      -     fdivs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -     0.50   0.50    -      -     fdivl	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdivp	%st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdivp	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdivp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdivp	%st, %st(2)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -     0.50   0.50    -      -     fidivs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -     0.50   0.50    -      -     fidivl	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdivr	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(2), %st
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -     0.50   0.50    -      -     fdivrs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -     0.50   0.50    -      -     fdivrl	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st, %st(2)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -     0.50   0.50    -      -     fidivrs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     9.50   9.50    -      -      -      -      -     1.00    -      -      -     0.50   0.50    -      -     fidivrl	(%eax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     ffree	%st(0)
@@ -468,12 +468,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fmul	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2), %st
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -     0.50   0.50    -      -     fmuls	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -     0.50   0.50    -      -     fmull	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fmulp	%st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fmulp	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fmulp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fmulp	%st, %st(2)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -     0.50   0.50    -      -     fimuls	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -     0.50   0.50    -      -     fimull	(%eax)
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fnop
@@ -501,20 +501,20 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fsub	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fsub	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fsub	%st(2), %st
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -     0.50   0.50    -      -     fsubs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -     0.50   0.50    -      -     fsubl	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fsubp	%st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fsubp	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fsubp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fsubp	%st, %st(2)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -     0.50   0.50    -      -     fisubs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -     0.50   0.50    -      -     fisubl	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fsubr	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fsubr	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fsubr	%st(2), %st
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -     0.50   0.50    -      -     fsubrs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -     0.50   0.50    -      -     fsubrl	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fsubrp	%st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fsubrp	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fsubrp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fsubrp	%st, %st(2)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -     0.50   0.50    -      -     fisubrs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -     0.50   0.50    -      -     fisubrl	(%eax)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     ftst
@@ -523,8 +523,8 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fucomp	%st(1)
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fucomp	%st(3)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -      -      -     fucompp
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fucomi	%st(3)
-# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fucompi	%st(3)
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fucomi	%st(3), %st
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -      -      -     fucompi	%st(3), %st
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     wait
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fxam
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fxch	%st(1)

Modified: llvm/branches/release_80/test/tools/llvm-mca/X86/Broadwell/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/tools/llvm-mca/X86/Broadwell/resources-x87.s?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/tools/llvm-mca/X86/Broadwell/resources-x87.s (original)
+++ llvm/branches/release_80/test/tools/llvm-mca/X86/Broadwell/resources-x87.s Tue Feb 12 02:13:48 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st(0), %st(1)
+fadd %st, %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-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)
+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
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st(0), %st(1)
+fdiv %st, %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st(0), %st(1)
+fdivr %st, %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st(0), %st(1)
+fmul %st, %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st(0), %st(1)
+fsub %st, %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st(0), %st(1)
+fsubr %st, %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,26 +208,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fadd	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2), %st
 # CHECK-NEXT:  2      9     1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  2      9     1.00    *             U     faddl	(%ecx)
-# CHECK-NEXT:  1      3     1.00                  U     faddp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     faddp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  3      12    2.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  3      12    2.00    *             U     fiaddl	(%ecx)
 # CHECK-NEXT:  1      100   0.25                  U     fbld	(%ecx)
 # 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(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     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      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)
@@ -237,24 +237,24 @@ fyl2xp1
 # CHECK-NEXT:  2      7     1.00                  U     fcomps	(%ecx)
 # CHECK-NEXT:  2      7     1.00                  U     fcompl	(%eax)
 # CHECK-NEXT:  1      100   0.25                  U     fcompp
-# CHECK-NEXT:  1      3     1.00                  U     fcomi	%st(3)
-# CHECK-NEXT:  1      3     1.00                  U     fcompi	%st(3)
+# CHECK-NEXT:  1      3     1.00                  U     fcomi	%st(3), %st
+# CHECK-NEXT:  1      3     1.00                  U     fcompi	%st(3), %st
 # CHECK-NEXT:  1      100   0.25                  U     fcos
 # CHECK-NEXT:  2      2     1.00                  U     fdecstp
-# CHECK-NEXT:  1      15    1.00                  U     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  1      20    1.00                  U     fdiv	%st(2)
+# CHECK-NEXT:  1      15    1.00                  U     fdiv	%st, %st(1)
+# CHECK-NEXT:  1      20    1.00                  U     fdiv	%st(2), %st
 # CHECK-NEXT:  2      21    1.00    *             U     fdivs	(%ecx)
 # CHECK-NEXT:  2      21    1.00    *             U     fdivl	(%eax)
-# CHECK-NEXT:  1      15    1.00                  U     fdivp	%st(1)
-# CHECK-NEXT:  1      15    1.00                  U     fdivp	%st(2)
+# CHECK-NEXT:  1      15    1.00                  U     fdivp	%st, %st(1)
+# CHECK-NEXT:  1      15    1.00                  U     fdivp	%st, %st(2)
 # CHECK-NEXT:  3      24    1.00    *             U     fidivs	(%ecx)
 # CHECK-NEXT:  3      24    1.00    *             U     fidivl	(%eax)
-# CHECK-NEXT:  1      20    1.00                  U     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  1      15    1.00                  U     fdivr	%st(2)
+# CHECK-NEXT:  1      20    1.00                  U     fdivr	%st, %st(1)
+# CHECK-NEXT:  1      15    1.00                  U     fdivr	%st(2), %st
 # CHECK-NEXT:  2      26    1.00    *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  2      26    1.00    *             U     fdivrl	(%eax)
-# CHECK-NEXT:  1      20    1.00                  U     fdivrp	%st(1)
-# CHECK-NEXT:  1      20    1.00                  U     fdivrp	%st(2)
+# CHECK-NEXT:  1      20    1.00                  U     fdivrp	%st, %st(1)
+# CHECK-NEXT:  1      20    1.00                  U     fdivrp	%st, %st(2)
 # CHECK-NEXT:  3      29    1.00    *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  3      29    1.00    *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      100   0.25                  U     ffree	%st(0)
@@ -288,12 +288,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      5     1.00                  U     fmul	%st(2)
+# CHECK-NEXT:  1      5     1.00                  U     fmul	%st, %st(1)
+# CHECK-NEXT:  1      5     1.00                  U     fmul	%st(2), %st
 # CHECK-NEXT:  2      11    1.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  2      11    1.00    *             U     fmull	(%eax)
-# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st(1)
-# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st(2)
+# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st, %st(1)
+# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st, %st(2)
 # CHECK-NEXT:  3      14    1.00    *             U     fimuls	(%ecx)
 # CHECK-NEXT:  3      14    1.00    *             U     fimull	(%eax)
 # CHECK-NEXT:  1      1     0.50                  U     fnop
@@ -321,20 +321,20 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  2      9     1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  2      9     1.00    *             U     fsubl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(2)
 # CHECK-NEXT:  3      12    2.00    *             U     fisubs	(%ecx)
 # CHECK-NEXT:  3      12    2.00    *             U     fisubl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2), %st
 # CHECK-NEXT:  2      9     1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  2      9     1.00    *             U     fsubrl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(2)
 # CHECK-NEXT:  3      12    2.00    *             U     fisubrs	(%ecx)
 # CHECK-NEXT:  3      12    2.00    *             U     fisubrl	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     ftst
@@ -343,8 +343,8 @@ fyl2xp1
 # CHECK-NEXT:  1      1     1.00                  U     fucomp	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fucomp	%st(3)
 # CHECK-NEXT:  1      3     1.00                  U     fucompp
-# CHECK-NEXT:  1      3     1.00                  U     fucomi	%st(3)
-# CHECK-NEXT:  1      3     1.00                  U     fucompi	%st(3)
+# CHECK-NEXT:  1      3     1.00                  U     fucomi	%st(3), %st
+# CHECK-NEXT:  1      3     1.00                  U     fucompi	%st(3), %st
 # CHECK-NEXT:  2      2     0.50                  U     wait
 # CHECK-NEXT:  1      100   0.25                  U     fxam
 # CHECK-NEXT:  12     14    4.00                  U     fxch	%st(1)
@@ -375,26 +375,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fadd	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fadd	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fadd	%st(2), %st
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fadds	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     faddl	(%ecx)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     faddp	%st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     faddp	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     faddp	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     faddp	%st, %st(2)
 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     fiadds	(%ecx)
 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     fiaddl	(%ecx)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fbld	(%ecx)
 # 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(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    -      -      -      -      -      -     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    -      -      -      -      -      -     fcom	%st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcom	%st(3)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fcoms	(%ecx)
@@ -404,24 +404,24 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fcomps	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fcompl	(%eax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fcompp
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcomi	%st(3)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcompi	%st(3)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcomi	%st(3), %st
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcompi	%st(3), %st
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fcos
 # CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -      -      -     fdecstp
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(2), %st
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivl	(%eax)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%st, %st(2)
 # CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     fidivs	(%ecx)
 # CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     fidivl	(%eax)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(2), %st
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivrs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivrl	(%eax)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st, %st(2)
 # CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     fidivrs	(%ecx)
 # CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     fidivrl	(%eax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     ffree	%st(0)
@@ -455,12 +455,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2), %st
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fmuls	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fmull	(%eax)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmulp	%st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmulp	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmulp	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmulp	%st, %st(2)
 # CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     fimuls	(%ecx)
 # CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     fimull	(%eax)
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fnop
@@ -488,20 +488,20 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsub	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsub	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsub	%st(2), %st
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubl	(%eax)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubp	%st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubp	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubp	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubp	%st, %st(2)
 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     fisubs	(%ecx)
 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     fisubl	(%eax)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubr	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubr	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubr	%st(2), %st
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubrs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubrl	(%eax)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubrp	%st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubrp	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubrp	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubrp	%st, %st(2)
 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     fisubrs	(%ecx)
 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     fisubrl	(%eax)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     ftst
@@ -510,8 +510,8 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fucomp	%st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fucomp	%st(3)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fucompp
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fucomi	%st(3)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fucompi	%st(3)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fucomi	%st(3), %st
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fucompi	%st(3), %st
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -     0.50   0.50    -     wait
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fxam
 # CHECK-NEXT:  -      -     3.25   2.25    -      -      -     1.25   5.25    -     fxch	%st(1)

Modified: llvm/branches/release_80/test/tools/llvm-mca/X86/BtVer2/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/tools/llvm-mca/X86/BtVer2/resources-x87.s?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/tools/llvm-mca/X86/BtVer2/resources-x87.s (original)
+++ llvm/branches/release_80/test/tools/llvm-mca/X86/BtVer2/resources-x87.s Tue Feb 12 02:13:48 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st(0), %st(1)
+fadd %st, %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-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)
+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
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st(0), %st(1)
+fdiv %st, %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st(0), %st(1)
+fdivr %st, %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st(0), %st(1)
+fmul %st, %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st(0), %st(1)
+fsub %st, %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st(0), %st(1)
+fsubr %st, %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,26 +208,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fadd	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2), %st
 # CHECK-NEXT:  1      8     1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  1      8     1.00    *             U     faddl	(%ecx)
-# CHECK-NEXT:  1      3     1.00                  U     faddp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     faddp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  1      8     1.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  1      8     1.00    *             U     fiaddl	(%ecx)
 # CHECK-NEXT:  1      100   0.50                  U     fbld	(%ecx)
 # 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(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     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     fcom	%st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fcom	%st(3)
 # CHECK-NEXT:  1      8     1.00                  U     fcoms	(%ecx)
@@ -237,24 +237,24 @@ fyl2xp1
 # CHECK-NEXT:  1      8     1.00                  U     fcomps	(%ecx)
 # CHECK-NEXT:  1      8     1.00                  U     fcompl	(%eax)
 # CHECK-NEXT:  1      100   0.50                  U     fcompp
-# CHECK-NEXT:  1      3     1.00                  U     fcomi	%st(3)
-# CHECK-NEXT:  1      3     1.00                  U     fcompi	%st(3)
+# CHECK-NEXT:  1      3     1.00                  U     fcomi	%st(3), %st
+# CHECK-NEXT:  1      3     1.00                  U     fcompi	%st(3), %st
 # CHECK-NEXT:  1      100   0.50                  U     fcos
 # CHECK-NEXT:  1      100   0.50                  U     fdecstp
-# CHECK-NEXT:  1      19    19.00                 U     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  1      19    19.00                 U     fdiv	%st(2)
+# CHECK-NEXT:  1      19    19.00                 U     fdiv	%st, %st(1)
+# CHECK-NEXT:  1      19    19.00                 U     fdiv	%st(2), %st
 # CHECK-NEXT:  1      24    19.00   *             U     fdivs	(%ecx)
 # CHECK-NEXT:  1      24    19.00   *             U     fdivl	(%eax)
-# CHECK-NEXT:  1      19    19.00                 U     fdivp	%st(1)
-# CHECK-NEXT:  1      19    19.00                 U     fdivp	%st(2)
+# CHECK-NEXT:  1      19    19.00                 U     fdivp	%st, %st(1)
+# CHECK-NEXT:  1      19    19.00                 U     fdivp	%st, %st(2)
 # CHECK-NEXT:  1      24    19.00   *             U     fidivs	(%ecx)
 # CHECK-NEXT:  1      24    19.00   *             U     fidivl	(%eax)
-# CHECK-NEXT:  1      19    19.00                 U     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  1      19    19.00                 U     fdivr	%st(2)
+# CHECK-NEXT:  1      19    19.00                 U     fdivr	%st, %st(1)
+# CHECK-NEXT:  1      19    19.00                 U     fdivr	%st(2), %st
 # CHECK-NEXT:  1      24    19.00   *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  1      24    19.00   *             U     fdivrl	(%eax)
-# CHECK-NEXT:  1      19    19.00                 U     fdivrp	%st(1)
-# CHECK-NEXT:  1      19    19.00                 U     fdivrp	%st(2)
+# CHECK-NEXT:  1      19    19.00                 U     fdivrp	%st, %st(1)
+# CHECK-NEXT:  1      19    19.00                 U     fdivrp	%st, %st(2)
 # CHECK-NEXT:  1      24    19.00   *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  1      24    19.00   *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      100   0.50                  U     ffree	%st(0)
@@ -288,12 +288,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      2     1.00                  U     fmul	%st(2)
+# CHECK-NEXT:  1      2     1.00                  U     fmul	%st, %st(1)
+# CHECK-NEXT:  1      2     1.00                  U     fmul	%st(2), %st
 # CHECK-NEXT:  1      7     1.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  1      7     1.00    *             U     fmull	(%eax)
-# CHECK-NEXT:  1      2     1.00                  U     fmulp	%st(1)
-# CHECK-NEXT:  1      2     1.00                  U     fmulp	%st(2)
+# CHECK-NEXT:  1      2     1.00                  U     fmulp	%st, %st(1)
+# CHECK-NEXT:  1      2     1.00                  U     fmulp	%st, %st(2)
 # CHECK-NEXT:  1      7     1.00    *             U     fimuls	(%ecx)
 # CHECK-NEXT:  1      7     1.00    *             U     fimull	(%eax)
 # CHECK-NEXT:  1      1     0.50                  U     fnop
@@ -321,20 +321,20 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  1      8     1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  1      8     1.00    *             U     fsubl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(2)
 # CHECK-NEXT:  1      8     1.00    *             U     fisubs	(%ecx)
 # CHECK-NEXT:  1      8     1.00    *             U     fisubl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2), %st
 # CHECK-NEXT:  1      8     1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  1      8     1.00    *             U     fsubrl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(2)
 # CHECK-NEXT:  1      8     1.00    *             U     fisubrs	(%ecx)
 # CHECK-NEXT:  1      8     1.00    *             U     fisubrl	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     ftst
@@ -343,8 +343,8 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fucomp	%st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fucomp	%st(3)
 # CHECK-NEXT:  1      3     1.00                  U     fucompp
-# CHECK-NEXT:  1      3     1.00                  U     fucomi	%st(3)
-# CHECK-NEXT:  1      3     1.00                  U     fucompi	%st(3)
+# CHECK-NEXT:  1      3     1.00                  U     fucomi	%st(3), %st
+# CHECK-NEXT:  1      3     1.00                  U     fucompi	%st(3), %st
 # CHECK-NEXT:  1      100   0.50                  U     wait
 # CHECK-NEXT:  1      100   0.50                  U     fxam
 # CHECK-NEXT:  1      1     0.50                  U     fxch	%st(1)
@@ -379,26 +379,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fadd	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fadd	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fadd	%st(2), %st
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     fadds	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     faddl	(%ecx)
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     faddp	%st(1)
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     faddp	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     faddp	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     faddp	%st, %st(2)
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     fiadds	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     fiaddl	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fbld	(%ecx)
 # 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(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    -      -      -      -      -      -      -      -     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    -     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)
@@ -408,24 +408,24 @@ fyl2xp1
 # CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     fcomps	(%ecx)
 # CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     fcompl	(%eax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fcompp
-# CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcomi	%st(3)
-# CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcompi	%st(3)
+# CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcomi	%st(3), %st
+# CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fcompi	%st(3), %st
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fcos
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fdecstp
-# CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdiv	%st(2)
+# CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdiv	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdiv	%st(2), %st
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00   1.00    -      -      -      -      -      -     fdivs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00   1.00    -      -      -      -      -      -     fdivl	(%eax)
-# CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdivp	%st(1)
-# CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdivp	%st(2)
+# CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdivp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdivp	%st, %st(2)
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00   1.00    -      -      -      -      -      -     fidivs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00   1.00    -      -      -      -      -      -     fidivl	(%eax)
-# CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdivr	%st(2)
+# CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdivr	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdivr	%st(2), %st
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00   1.00    -      -      -      -      -      -     fdivrs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00   1.00    -      -      -      -      -      -     fdivrl	(%eax)
-# CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdivrp	%st(1)
-# CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdivrp	%st(2)
+# CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdivrp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -     19.00   -     1.00    -      -      -      -      -      -      -     fdivrp	%st, %st(2)
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00   1.00    -      -      -      -      -      -     fidivrs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     19.00   -     1.00   1.00    -      -      -      -      -      -     fidivrl	(%eax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     ffree	%st(0)
@@ -459,12 +459,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     fmul	%st(2)
+# CHECK-NEXT:  -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     fmul	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     fmul	%st(2), %st
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00    -      -      -      -      -      -     fmuls	(%ecx)
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00    -      -      -      -      -      -     fmull	(%eax)
-# CHECK-NEXT:  -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     fmulp	%st(1)
-# CHECK-NEXT:  -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     fmulp	%st(2)
+# CHECK-NEXT:  -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     fmulp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     fmulp	%st, %st(2)
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00    -      -      -      -      -      -     fimuls	(%ecx)
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00   1.00    -      -      -      -      -      -     fimull	(%eax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fnop
@@ -492,20 +492,20 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fsub	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fsub	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fsub	%st(2), %st
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     fsubs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     fsubl	(%eax)
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fsubp	%st(1)
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fsubp	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fsubp	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fsubp	%st, %st(2)
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     fisubs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     fisubl	(%eax)
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fsubr	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fsubr	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fsubr	%st(2), %st
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     fsubrs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     fsubrl	(%eax)
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fsubrp	%st(1)
-# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fsubrp	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fsubrp	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fsubrp	%st, %st(2)
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     fisubrs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -     1.00    -     1.00    -      -      -      -      -      -     fisubrl	(%eax)
 # CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     ftst
@@ -514,8 +514,8 @@ fyl2xp1
 # CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fucomp	%st(1)
 # CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fucomp	%st(3)
 # CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fucompp
-# CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fucomi	%st(3)
-# CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fucompi	%st(3)
+# CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fucomi	%st(3), %st
+# CHECK-NEXT: 1.00    -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     fucompi	%st(3), %st
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     wait
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fxam
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fxch	%st(1)

Modified: llvm/branches/release_80/test/tools/llvm-mca/X86/Generic/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/tools/llvm-mca/X86/Generic/resources-x87.s?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/tools/llvm-mca/X86/Generic/resources-x87.s (original)
+++ llvm/branches/release_80/test/tools/llvm-mca/X86/Generic/resources-x87.s Tue Feb 12 02:13:48 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st(0), %st(1)
+fadd %st, %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-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)
+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
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st(0), %st(1)
+fdiv %st, %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st(0), %st(1)
+fdivr %st, %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st(0), %st(1)
+fmul %st, %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st(0), %st(1)
+fsub %st, %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st(0), %st(1)
+fsubr %st, %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,26 +208,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fadd	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     faddl	(%ecx)
-# CHECK-NEXT:  1      3     1.00                  U     faddp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     faddp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fiaddl	(%ecx)
 # CHECK-NEXT:  1      100   0.33                  U     fbld	(%ecx)
 # 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(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:  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:  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)
@@ -237,24 +237,24 @@ fyl2xp1
 # CHECK-NEXT:  2      8     1.00                  U     fcomps	(%ecx)
 # CHECK-NEXT:  2      8     1.00                  U     fcompl	(%eax)
 # CHECK-NEXT:  1      100   0.33                  U     fcompp
-# CHECK-NEXT:  3      3     1.00                  U     fcomi	%st(3)
-# CHECK-NEXT:  3      3     1.00                  U     fcompi	%st(3)
+# CHECK-NEXT:  3      3     1.00                  U     fcomi	%st(3), %st
+# CHECK-NEXT:  3      3     1.00                  U     fcompi	%st(3), %st
 # CHECK-NEXT:  1      100   0.33                  U     fcos
 # CHECK-NEXT:  1      1     1.00                  U     fdecstp
-# CHECK-NEXT:  1      14    14.00                 U     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  1      14    14.00                 U     fdiv	%st(2)
+# CHECK-NEXT:  1      14    14.00                 U     fdiv	%st, %st(1)
+# CHECK-NEXT:  1      14    14.00                 U     fdiv	%st(2), %st
 # CHECK-NEXT:  2      31    1.00    *             U     fdivs	(%ecx)
 # CHECK-NEXT:  2      31    1.00    *             U     fdivl	(%eax)
-# CHECK-NEXT:  1      14    14.00                 U     fdivp	%st(1)
-# CHECK-NEXT:  1      14    14.00                 U     fdivp	%st(2)
+# CHECK-NEXT:  1      14    14.00                 U     fdivp	%st, %st(1)
+# CHECK-NEXT:  1      14    14.00                 U     fdivp	%st, %st(2)
 # CHECK-NEXT:  3      34    1.00    *             U     fidivs	(%ecx)
 # CHECK-NEXT:  3      34    1.00    *             U     fidivl	(%eax)
-# CHECK-NEXT:  1      14    14.00                 U     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  1      14    14.00                 U     fdivr	%st(2)
+# CHECK-NEXT:  1      14    14.00                 U     fdivr	%st, %st(1)
+# CHECK-NEXT:  1      14    14.00                 U     fdivr	%st(2), %st
 # CHECK-NEXT:  2      31    1.00    *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  2      31    1.00    *             U     fdivrl	(%eax)
-# CHECK-NEXT:  1      14    14.00                 U     fdivrp	%st(1)
-# CHECK-NEXT:  1      14    14.00                 U     fdivrp	%st(2)
+# CHECK-NEXT:  1      14    14.00                 U     fdivrp	%st, %st(1)
+# CHECK-NEXT:  1      14    14.00                 U     fdivrp	%st, %st(2)
 # CHECK-NEXT:  3      34    1.00    *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  3      34    1.00    *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     ffree	%st(0)
@@ -288,12 +288,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      5     1.00                  U     fmul	%st(2)
+# CHECK-NEXT:  1      5     1.00                  U     fmul	%st, %st(1)
+# CHECK-NEXT:  1      5     1.00                  U     fmul	%st(2), %st
 # CHECK-NEXT:  2      12    1.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  2      12    1.00    *             U     fmull	(%eax)
-# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st(1)
-# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st(2)
+# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st, %st(1)
+# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st, %st(2)
 # CHECK-NEXT:  3      15    1.00    *             U     fimuls	(%ecx)
 # CHECK-NEXT:  3      15    1.00    *             U     fimull	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fnop
@@ -321,20 +321,20 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubs	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubrs	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubrl	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     ftst
@@ -343,8 +343,8 @@ fyl2xp1
 # CHECK-NEXT:  1      1     1.00                  U     fucomp	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fucomp	%st(3)
 # CHECK-NEXT:  1      3     1.00                  U     fucompp
-# CHECK-NEXT:  3      3     1.00                  U     fucomi	%st(3)
-# CHECK-NEXT:  3      3     1.00                  U     fucompi	%st(3)
+# CHECK-NEXT:  3      3     1.00                  U     fucomi	%st(3), %st
+# CHECK-NEXT:  3      3     1.00                  U     fucompi	%st(3), %st
 # CHECK-NEXT:  1      100   0.33                  U     wait
 # CHECK-NEXT:  1      100   0.33                  U     fxam
 # CHECK-NEXT:  1      1     0.33                  U     fxch	%st(1)
@@ -373,26 +373,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fadd	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fadd	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fadd	%st(2), %st
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fadds	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   faddl	(%ecx)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     faddp	%st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     faddp	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     faddp	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     faddp	%st, %st(2)
 # CHECK-NEXT:  -      -      -     2.00    -      -     0.50   0.50   fiadds	(%ecx)
 # CHECK-NEXT:  -      -      -     2.00    -      -     0.50   0.50   fiaddl	(%ecx)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fbld	(%ecx)
 # 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(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:  -      -     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:  -      -      -     1.00    -      -      -      -     fcom	%st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fcom	%st(3)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fcoms	(%ecx)
@@ -402,24 +402,24 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fcomps	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fcompl	(%eax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fcompp
-# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     fcomi	%st(3)
-# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     fcompi	%st(3)
+# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     fcomi	%st(3), %st
+# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     fcompi	%st(3), %st
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fcos
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fdecstp
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdiv	%st(2)
+# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdiv	%st, %st(1)
+# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdiv	%st(2), %st
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fdivs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fdivl	(%eax)
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivp	%st(1)
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivp	%st(2)
+# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivp	%st, %st(1)
+# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivp	%st, %st(2)
 # CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   fidivs	(%ecx)
 # CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   fidivl	(%eax)
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivr	%st(2)
+# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivr	%st, %st(1)
+# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivr	%st(2), %st
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fdivrs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fdivrl	(%eax)
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivrp	%st(1)
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivrp	%st(2)
+# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivrp	%st, %st(1)
+# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivrp	%st, %st(2)
 # CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   fidivrs	(%ecx)
 # CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   fidivrl	(%eax)
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     ffree	%st(0)
@@ -453,12 +453,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     fmul	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     fmul	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     fmul	%st(2), %st
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fmuls	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fmull	(%eax)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     fmulp	%st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     fmulp	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     fmulp	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     fmulp	%st, %st(2)
 # CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   fimuls	(%ecx)
 # CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   fimull	(%eax)
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fnop
@@ -486,20 +486,20 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsub	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsub	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsub	%st(2), %st
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fsubs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fsubl	(%eax)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubp	%st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubp	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubp	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubp	%st, %st(2)
 # CHECK-NEXT:  -      -      -     2.00    -      -     0.50   0.50   fisubs	(%ecx)
 # CHECK-NEXT:  -      -      -     2.00    -      -     0.50   0.50   fisubl	(%eax)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubr	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubr	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubr	%st(2), %st
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fsubrs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fsubrl	(%eax)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubrp	%st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubrp	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubrp	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubrp	%st, %st(2)
 # CHECK-NEXT:  -      -      -     2.00    -      -     0.50   0.50   fisubrs	(%ecx)
 # CHECK-NEXT:  -      -      -     2.00    -      -     0.50   0.50   fisubrl	(%eax)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     ftst
@@ -508,8 +508,8 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fucomp	%st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fucomp	%st(3)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fucompp
-# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     fucomi	%st(3)
-# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     fucompi	%st(3)
+# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     fucomi	%st(3), %st
+# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     fucompi	%st(3), %st
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     wait
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fxam
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fxch	%st(1)

Modified: llvm/branches/release_80/test/tools/llvm-mca/X86/Haswell/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/tools/llvm-mca/X86/Haswell/resources-x87.s?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/tools/llvm-mca/X86/Haswell/resources-x87.s (original)
+++ llvm/branches/release_80/test/tools/llvm-mca/X86/Haswell/resources-x87.s Tue Feb 12 02:13:48 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st(0), %st(1)
+fadd %st, %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-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)
+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
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st(0), %st(1)
+fdiv %st, %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st(0), %st(1)
+fdivr %st, %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st(0), %st(1)
+fmul %st, %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st(0), %st(1)
+fsub %st, %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st(0), %st(1)
+fsubr %st, %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,26 +208,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fadd	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     faddl	(%ecx)
-# CHECK-NEXT:  1      3     1.00                  U     faddp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     faddp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fiaddl	(%ecx)
 # CHECK-NEXT:  43     47    10.75                 U     fbld	(%ecx)
 # 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(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     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      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)
@@ -237,24 +237,24 @@ fyl2xp1
 # CHECK-NEXT:  2      8     1.00                  U     fcomps	(%ecx)
 # CHECK-NEXT:  2      8     1.00                  U     fcompl	(%eax)
 # CHECK-NEXT:  2      1     0.50                  U     fcompp
-# CHECK-NEXT:  3      1     0.50                  U     fcomi	%st(3)
-# CHECK-NEXT:  3      1     0.50                  U     fcompi	%st(3)
+# CHECK-NEXT:  3      1     0.50                  U     fcomi	%st(3), %st
+# CHECK-NEXT:  3      1     0.50                  U     fcompi	%st(3), %st
 # CHECK-NEXT:  1      100   0.25                  U     fcos
 # CHECK-NEXT:  2      2     1.00                  U     fdecstp
-# CHECK-NEXT:  1      24    1.00                  U     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  1      20    1.00                  U     fdiv	%st(2)
+# CHECK-NEXT:  1      24    1.00                  U     fdiv	%st, %st(1)
+# CHECK-NEXT:  1      20    1.00                  U     fdiv	%st(2), %st
 # CHECK-NEXT:  2      31    1.00    *             U     fdivs	(%ecx)
 # CHECK-NEXT:  2      31    1.00    *             U     fdivl	(%eax)
-# CHECK-NEXT:  1      24    1.00                  U     fdivp	%st(1)
-# CHECK-NEXT:  1      24    1.00                  U     fdivp	%st(2)
+# CHECK-NEXT:  1      24    1.00                  U     fdivp	%st, %st(1)
+# CHECK-NEXT:  1      24    1.00                  U     fdivp	%st, %st(2)
 # CHECK-NEXT:  3      34    1.00    *             U     fidivs	(%ecx)
 # CHECK-NEXT:  3      34    1.00    *             U     fidivl	(%eax)
-# CHECK-NEXT:  1      20    1.00                  U     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  1      24    1.00                  U     fdivr	%st(2)
+# CHECK-NEXT:  1      20    1.00                  U     fdivr	%st, %st(1)
+# CHECK-NEXT:  1      24    1.00                  U     fdivr	%st(2), %st
 # CHECK-NEXT:  2      27    1.00    *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  2      27    1.00    *             U     fdivrl	(%eax)
-# CHECK-NEXT:  1      20    1.00                  U     fdivrp	%st(1)
-# CHECK-NEXT:  1      20    1.00                  U     fdivrp	%st(2)
+# CHECK-NEXT:  1      20    1.00                  U     fdivrp	%st, %st(1)
+# CHECK-NEXT:  1      20    1.00                  U     fdivrp	%st, %st(2)
 # CHECK-NEXT:  3      30    1.00    *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  3      30    1.00    *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      1     0.50                  U     ffree	%st(0)
@@ -288,12 +288,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      5     1.00                  U     fmul	%st(2)
+# CHECK-NEXT:  1      5     1.00                  U     fmul	%st, %st(1)
+# CHECK-NEXT:  1      5     1.00                  U     fmul	%st(2), %st
 # CHECK-NEXT:  2      12    1.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  2      12    1.00    *             U     fmull	(%eax)
-# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st(1)
-# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st(2)
+# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st, %st(1)
+# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st, %st(2)
 # CHECK-NEXT:  3      15    1.00    *             U     fimuls	(%ecx)
 # CHECK-NEXT:  3      15    1.00    *             U     fimull	(%eax)
 # CHECK-NEXT:  1      1     0.50                  U     fnop
@@ -321,20 +321,20 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubs	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubrs	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubrl	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     ftst
@@ -343,8 +343,8 @@ fyl2xp1
 # CHECK-NEXT:  1      1     1.00                  U     fucomp	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fucomp	%st(3)
 # CHECK-NEXT:  2      1     0.50                  U     fucompp
-# CHECK-NEXT:  3      1     0.50                  U     fucomi	%st(3)
-# CHECK-NEXT:  3      1     0.50                  U     fucompi	%st(3)
+# CHECK-NEXT:  3      1     0.50                  U     fucomi	%st(3), %st
+# CHECK-NEXT:  3      1     0.50                  U     fucompi	%st(3), %st
 # CHECK-NEXT:  2      2     0.50                  U     wait
 # CHECK-NEXT:  2      1     2.00                  U     fxam
 # CHECK-NEXT:  15     17    4.00                  U     fxch	%st(1)
@@ -375,26 +375,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fadd	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fadd	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fadd	%st(2), %st
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fadds	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     faddl	(%ecx)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     faddp	%st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     faddp	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     faddp	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     faddp	%st, %st(2)
 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     fiadds	(%ecx)
 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     fiaddl	(%ecx)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     fbld	(%ecx)
 # 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(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    -      -      -      -      -      -     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    -      -      -      -      -      -     fcom	%st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcom	%st(3)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fcoms	(%ecx)
@@ -404,24 +404,24 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fcomps	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fcompl	(%eax)
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fcompp
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fcomi	%st(3)
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fcompi	%st(3)
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fcomi	%st(3), %st
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fcompi	%st(3), %st
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fcos
 # CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -      -      -     fdecstp
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(2), %st
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivl	(%eax)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%st, %st(2)
 # CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     fidivs	(%ecx)
 # CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     fidivl	(%eax)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(2), %st
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivrs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivrl	(%eax)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st, %st(2)
 # CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     fidivrs	(%ecx)
 # CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     fidivrl	(%eax)
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     ffree	%st(0)
@@ -455,12 +455,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2), %st
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fmuls	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fmull	(%eax)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmulp	%st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmulp	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmulp	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmulp	%st, %st(2)
 # CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     fimuls	(%ecx)
 # CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     fimull	(%eax)
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fnop
@@ -488,20 +488,20 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsub	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsub	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsub	%st(2), %st
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubl	(%eax)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubp	%st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubp	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubp	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubp	%st, %st(2)
 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     fisubs	(%ecx)
 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     fisubl	(%eax)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubr	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubr	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubr	%st(2), %st
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubrs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubrl	(%eax)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubrp	%st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubrp	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubrp	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubrp	%st, %st(2)
 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     fisubrs	(%ecx)
 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     fisubrl	(%eax)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     ftst
@@ -510,8 +510,8 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fucomp	%st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fucomp	%st(3)
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fucompp
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fucomi	%st(3)
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fucompi	%st(3)
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fucomi	%st(3), %st
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fucompi	%st(3), %st
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -     0.50   0.50    -     wait
 # CHECK-NEXT:  -      -      -     2.00    -      -      -      -      -      -     fxam
 # CHECK-NEXT:  -      -     4.00   3.00    -      -      -     3.00   5.00    -     fxch	%st(1)

Modified: llvm/branches/release_80/test/tools/llvm-mca/X86/SLM/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/tools/llvm-mca/X86/SLM/resources-x87.s?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/tools/llvm-mca/X86/SLM/resources-x87.s (original)
+++ llvm/branches/release_80/test/tools/llvm-mca/X86/SLM/resources-x87.s Tue Feb 12 02:13:48 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st(0), %st(1)
+fadd %st, %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-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)
+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
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st(0), %st(1)
+fdiv %st, %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st(0), %st(1)
+fdivr %st, %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st(0), %st(1)
+fmul %st, %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st(0), %st(1)
+fsub %st, %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st(0), %st(1)
+fsubr %st, %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,26 +208,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fadd	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2), %st
 # CHECK-NEXT:  1      6     1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  1      6     1.00    *             U     faddl	(%ecx)
-# CHECK-NEXT:  1      3     1.00                  U     faddp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     faddp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  1      6     1.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  1      6     1.00    *             U     fiaddl	(%ecx)
 # CHECK-NEXT:  1      100   1.00                  U     fbld	(%ecx)
 # 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(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     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     fcom	%st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fcom	%st(3)
 # CHECK-NEXT:  1      6     1.00                  U     fcoms	(%ecx)
@@ -237,24 +237,24 @@ fyl2xp1
 # CHECK-NEXT:  1      6     1.00                  U     fcomps	(%ecx)
 # CHECK-NEXT:  1      6     1.00                  U     fcompl	(%eax)
 # CHECK-NEXT:  1      100   1.00                  U     fcompp
-# CHECK-NEXT:  1      3     1.00                  U     fcomi	%st(3)
-# CHECK-NEXT:  1      3     1.00                  U     fcompi	%st(3)
+# CHECK-NEXT:  1      3     1.00                  U     fcomi	%st(3), %st
+# CHECK-NEXT:  1      3     1.00                  U     fcompi	%st(3), %st
 # CHECK-NEXT:  1      100   1.00                  U     fcos
 # CHECK-NEXT:  1      100   1.00                  U     fdecstp
-# CHECK-NEXT:  1      19    17.00                 U     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  1      19    17.00                 U     fdiv	%st(2)
+# CHECK-NEXT:  1      19    17.00                 U     fdiv	%st, %st(1)
+# CHECK-NEXT:  1      19    17.00                 U     fdiv	%st(2), %st
 # CHECK-NEXT:  1      22    17.00   *             U     fdivs	(%ecx)
 # CHECK-NEXT:  1      22    17.00   *             U     fdivl	(%eax)
-# CHECK-NEXT:  1      19    17.00                 U     fdivp	%st(1)
-# CHECK-NEXT:  1      19    17.00                 U     fdivp	%st(2)
+# CHECK-NEXT:  1      19    17.00                 U     fdivp	%st, %st(1)
+# CHECK-NEXT:  1      19    17.00                 U     fdivp	%st, %st(2)
 # CHECK-NEXT:  1      22    17.00   *             U     fidivs	(%ecx)
 # CHECK-NEXT:  1      22    17.00   *             U     fidivl	(%eax)
-# CHECK-NEXT:  1      19    17.00                 U     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  1      19    17.00                 U     fdivr	%st(2)
+# CHECK-NEXT:  1      19    17.00                 U     fdivr	%st, %st(1)
+# CHECK-NEXT:  1      19    17.00                 U     fdivr	%st(2), %st
 # CHECK-NEXT:  1      22    17.00   *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  1      22    17.00   *             U     fdivrl	(%eax)
-# CHECK-NEXT:  1      19    17.00                 U     fdivrp	%st(1)
-# CHECK-NEXT:  1      19    17.00                 U     fdivrp	%st(2)
+# CHECK-NEXT:  1      19    17.00                 U     fdivrp	%st, %st(1)
+# CHECK-NEXT:  1      19    17.00                 U     fdivrp	%st, %st(2)
 # CHECK-NEXT:  1      22    17.00   *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  1      22    17.00   *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      100   1.00                  U     ffree	%st(0)
@@ -288,12 +288,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      5     2.00                  U     fmul	%st(2)
+# CHECK-NEXT:  1      5     2.00                  U     fmul	%st, %st(1)
+# CHECK-NEXT:  1      5     2.00                  U     fmul	%st(2), %st
 # CHECK-NEXT:  1      8     2.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  1      8     2.00    *             U     fmull	(%eax)
-# CHECK-NEXT:  1      5     2.00                  U     fmulp	%st(1)
-# CHECK-NEXT:  1      5     2.00                  U     fmulp	%st(2)
+# CHECK-NEXT:  1      5     2.00                  U     fmulp	%st, %st(1)
+# CHECK-NEXT:  1      5     2.00                  U     fmulp	%st, %st(2)
 # CHECK-NEXT:  1      8     2.00    *             U     fimuls	(%ecx)
 # CHECK-NEXT:  1      8     2.00    *             U     fimull	(%eax)
 # CHECK-NEXT:  1      1     0.50                  U     fnop
@@ -321,20 +321,20 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  1      6     1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  1      6     1.00    *             U     fsubl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(2)
 # CHECK-NEXT:  1      6     1.00    *             U     fisubs	(%ecx)
 # CHECK-NEXT:  1      6     1.00    *             U     fisubl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2), %st
 # CHECK-NEXT:  1      6     1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  1      6     1.00    *             U     fsubrl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(2)
 # CHECK-NEXT:  1      6     1.00    *             U     fisubrs	(%ecx)
 # CHECK-NEXT:  1      6     1.00    *             U     fisubrl	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     ftst
@@ -343,8 +343,8 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fucomp	%st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fucomp	%st(3)
 # CHECK-NEXT:  1      3     1.00                  U     fucompp
-# CHECK-NEXT:  1      3     1.00                  U     fucomi	%st(3)
-# CHECK-NEXT:  1      3     1.00                  U     fucompi	%st(3)
+# CHECK-NEXT:  1      3     1.00                  U     fucomi	%st(3), %st
+# CHECK-NEXT:  1      3     1.00                  U     fucompi	%st(3), %st
 # CHECK-NEXT:  1      100   1.00                  U     wait
 # CHECK-NEXT:  1      100   1.00                  U     fxam
 # CHECK-NEXT:  1      1     0.50                  U     fxch	%st(1)
@@ -373,26 +373,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fadd	%st(2)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fadd	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fadd	%st(2), %st
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fadds	(%ecx)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   faddl	(%ecx)
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     faddp	%st(1)
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     faddp	%st(2)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     faddp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     faddp	%st, %st(2)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fiadds	(%ecx)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fiaddl	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fbld	(%ecx)
 # 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(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    -      -      -     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    -      -      -     fcom	%st(1)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcom	%st(3)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fcoms	(%ecx)
@@ -402,24 +402,24 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fcomps	(%ecx)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fcompl	(%eax)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fcompp
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcomi	%st(3)
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcompi	%st(3)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcomi	%st(3), %st
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fcompi	%st(3), %st
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fcos
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fdecstp
-# CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdiv	%st(2)
+# CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdiv	%st, %st(1)
+# CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdiv	%st(2), %st
 # CHECK-NEXT:  -     17.00   -     1.00    -      -      -     1.00   fdivs	(%ecx)
 # CHECK-NEXT:  -     17.00   -     1.00    -      -      -     1.00   fdivl	(%eax)
-# CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdivp	%st(1)
-# CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdivp	%st(2)
+# CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdivp	%st, %st(1)
+# CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdivp	%st, %st(2)
 # CHECK-NEXT:  -     17.00   -     1.00    -      -      -     1.00   fidivs	(%ecx)
 # CHECK-NEXT:  -     17.00   -     1.00    -      -      -     1.00   fidivl	(%eax)
-# CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdivr	%st(2)
+# CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdivr	%st, %st(1)
+# CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdivr	%st(2), %st
 # CHECK-NEXT:  -     17.00   -     1.00    -      -      -     1.00   fdivrs	(%ecx)
 # CHECK-NEXT:  -     17.00   -     1.00    -      -      -     1.00   fdivrl	(%eax)
-# CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdivrp	%st(1)
-# CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdivrp	%st(2)
+# CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdivrp	%st, %st(1)
+# CHECK-NEXT:  -     17.00   -     1.00    -      -      -      -     fdivrp	%st, %st(2)
 # CHECK-NEXT:  -     17.00   -     1.00    -      -      -     1.00   fidivrs	(%ecx)
 # CHECK-NEXT:  -     17.00   -     1.00    -      -      -     1.00   fidivrl	(%eax)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     ffree	%st(0)
@@ -453,12 +453,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -     2.00   1.00    -      -      -      -     fmul	%st(2)
+# CHECK-NEXT:  -      -     2.00   1.00    -      -      -      -     fmul	%st, %st(1)
+# CHECK-NEXT:  -      -     2.00   1.00    -      -      -      -     fmul	%st(2), %st
 # CHECK-NEXT:  -      -     2.00   1.00    -      -      -     1.00   fmuls	(%ecx)
 # CHECK-NEXT:  -      -     2.00   1.00    -      -      -     1.00   fmull	(%eax)
-# CHECK-NEXT:  -      -     2.00   1.00    -      -      -      -     fmulp	%st(1)
-# CHECK-NEXT:  -      -     2.00   1.00    -      -      -      -     fmulp	%st(2)
+# CHECK-NEXT:  -      -     2.00   1.00    -      -      -      -     fmulp	%st, %st(1)
+# CHECK-NEXT:  -      -     2.00   1.00    -      -      -      -     fmulp	%st, %st(2)
 # CHECK-NEXT:  -      -     2.00   1.00    -      -      -     1.00   fimuls	(%ecx)
 # CHECK-NEXT:  -      -     2.00   1.00    -      -      -     1.00   fimull	(%eax)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -     fnop
@@ -486,20 +486,20 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     frstor	(%eax)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     wait
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fnsave	(%eax)
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsub	%st(0), %st(1)
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsub	%st(2)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsub	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsub	%st(2), %st
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fsubs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fsubl	(%eax)
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsubp	%st(1)
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsubp	%st(2)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsubp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsubp	%st, %st(2)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fisubs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fisubl	(%eax)
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsubr	%st(2)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsubr	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsubr	%st(2), %st
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fsubrs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fsubrl	(%eax)
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsubrp	%st(1)
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsubrp	%st(2)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsubrp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsubrp	%st, %st(2)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fisubrs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -     1.00   fisubrl	(%eax)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -      -     ftst
@@ -508,8 +508,8 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fucomp	%st(1)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fucomp	%st(3)
 # CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fucompp
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fucomi	%st(3)
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fucompi	%st(3)
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fucomi	%st(3), %st
+# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fucompi	%st(3), %st
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     wait
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fxam
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fxch	%st(1)

Modified: llvm/branches/release_80/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s (original)
+++ llvm/branches/release_80/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s Tue Feb 12 02:13:48 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st(0), %st(1)
+fadd %st, %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-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)
+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
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st(0), %st(1)
+fdiv %st, %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st(0), %st(1)
+fdivr %st, %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st(0), %st(1)
+fmul %st, %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st(0), %st(1)
+fsub %st, %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st(0), %st(1)
+fsubr %st, %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,26 +208,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fadd	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     faddl	(%ecx)
-# CHECK-NEXT:  1      3     1.00                  U     faddp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     faddp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fiaddl	(%ecx)
 # CHECK-NEXT:  1      100   0.33                  U     fbld	(%ecx)
 # 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(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:  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:  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)
@@ -237,24 +237,24 @@ fyl2xp1
 # CHECK-NEXT:  2      8     1.00                  U     fcomps	(%ecx)
 # CHECK-NEXT:  2      8     1.00                  U     fcompl	(%eax)
 # CHECK-NEXT:  1      100   0.33                  U     fcompp
-# CHECK-NEXT:  3      3     1.00                  U     fcomi	%st(3)
-# CHECK-NEXT:  3      3     1.00                  U     fcompi	%st(3)
+# CHECK-NEXT:  3      3     1.00                  U     fcomi	%st(3), %st
+# CHECK-NEXT:  3      3     1.00                  U     fcompi	%st(3), %st
 # CHECK-NEXT:  1      100   0.33                  U     fcos
 # CHECK-NEXT:  1      1     1.00                  U     fdecstp
-# CHECK-NEXT:  1      14    14.00                 U     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  1      14    14.00                 U     fdiv	%st(2)
+# CHECK-NEXT:  1      14    14.00                 U     fdiv	%st, %st(1)
+# CHECK-NEXT:  1      14    14.00                 U     fdiv	%st(2), %st
 # CHECK-NEXT:  2      31    1.00    *             U     fdivs	(%ecx)
 # CHECK-NEXT:  2      31    1.00    *             U     fdivl	(%eax)
-# CHECK-NEXT:  1      14    14.00                 U     fdivp	%st(1)
-# CHECK-NEXT:  1      14    14.00                 U     fdivp	%st(2)
+# CHECK-NEXT:  1      14    14.00                 U     fdivp	%st, %st(1)
+# CHECK-NEXT:  1      14    14.00                 U     fdivp	%st, %st(2)
 # CHECK-NEXT:  3      34    1.00    *             U     fidivs	(%ecx)
 # CHECK-NEXT:  3      34    1.00    *             U     fidivl	(%eax)
-# CHECK-NEXT:  1      14    14.00                 U     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  1      14    14.00                 U     fdivr	%st(2)
+# CHECK-NEXT:  1      14    14.00                 U     fdivr	%st, %st(1)
+# CHECK-NEXT:  1      14    14.00                 U     fdivr	%st(2), %st
 # CHECK-NEXT:  2      31    1.00    *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  2      31    1.00    *             U     fdivrl	(%eax)
-# CHECK-NEXT:  1      14    14.00                 U     fdivrp	%st(1)
-# CHECK-NEXT:  1      14    14.00                 U     fdivrp	%st(2)
+# CHECK-NEXT:  1      14    14.00                 U     fdivrp	%st, %st(1)
+# CHECK-NEXT:  1      14    14.00                 U     fdivrp	%st, %st(2)
 # CHECK-NEXT:  3      34    1.00    *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  3      34    1.00    *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     ffree	%st(0)
@@ -288,12 +288,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      5     1.00                  U     fmul	%st(2)
+# CHECK-NEXT:  1      5     1.00                  U     fmul	%st, %st(1)
+# CHECK-NEXT:  1      5     1.00                  U     fmul	%st(2), %st
 # CHECK-NEXT:  2      12    1.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  2      12    1.00    *             U     fmull	(%eax)
-# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st(1)
-# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st(2)
+# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st, %st(1)
+# CHECK-NEXT:  1      5     1.00                  U     fmulp	%st, %st(2)
 # CHECK-NEXT:  3      15    1.00    *             U     fimuls	(%ecx)
 # CHECK-NEXT:  3      15    1.00    *             U     fimull	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fnop
@@ -321,20 +321,20 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubs	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubrs	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubrl	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     ftst
@@ -343,8 +343,8 @@ fyl2xp1
 # CHECK-NEXT:  1      1     1.00                  U     fucomp	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fucomp	%st(3)
 # CHECK-NEXT:  1      3     1.00                  U     fucompp
-# CHECK-NEXT:  3      3     1.00                  U     fucomi	%st(3)
-# CHECK-NEXT:  3      3     1.00                  U     fucompi	%st(3)
+# CHECK-NEXT:  3      3     1.00                  U     fucomi	%st(3), %st
+# CHECK-NEXT:  3      3     1.00                  U     fucompi	%st(3), %st
 # CHECK-NEXT:  1      100   0.33                  U     wait
 # CHECK-NEXT:  1      100   0.33                  U     fxam
 # CHECK-NEXT:  1      1     0.33                  U     fxch	%st(1)
@@ -373,26 +373,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fadd	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fadd	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fadd	%st(2), %st
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fadds	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   faddl	(%ecx)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     faddp	%st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     faddp	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     faddp	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     faddp	%st, %st(2)
 # CHECK-NEXT:  -      -      -     2.00    -      -     0.50   0.50   fiadds	(%ecx)
 # CHECK-NEXT:  -      -      -     2.00    -      -     0.50   0.50   fiaddl	(%ecx)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fbld	(%ecx)
 # 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(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:  -      -     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:  -      -      -     1.00    -      -      -      -     fcom	%st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fcom	%st(3)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fcoms	(%ecx)
@@ -402,24 +402,24 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fcomps	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fcompl	(%eax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fcompp
-# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     fcomi	%st(3)
-# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     fcompi	%st(3)
+# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     fcomi	%st(3), %st
+# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     fcompi	%st(3), %st
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fcos
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fdecstp
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdiv	%st(2)
+# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdiv	%st, %st(1)
+# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdiv	%st(2), %st
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fdivs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fdivl	(%eax)
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivp	%st(1)
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivp	%st(2)
+# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivp	%st, %st(1)
+# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivp	%st, %st(2)
 # CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   fidivs	(%ecx)
 # CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   fidivl	(%eax)
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivr	%st(2)
+# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivr	%st, %st(1)
+# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivr	%st(2), %st
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fdivrs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fdivrl	(%eax)
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivrp	%st(1)
-# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivrp	%st(2)
+# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivrp	%st, %st(1)
+# CHECK-NEXT:  -     14.00  1.00    -      -      -      -      -     fdivrp	%st, %st(2)
 # CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   fidivrs	(%ecx)
 # CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   fidivrl	(%eax)
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     ffree	%st(0)
@@ -453,12 +453,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     fmul	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     fmul	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     fmul	%st(2), %st
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fmuls	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   fmull	(%eax)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     fmulp	%st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     fmulp	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     fmulp	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     fmulp	%st, %st(2)
 # CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   fimuls	(%ecx)
 # CHECK-NEXT:  -      -     1.00   1.00    -      -     0.50   0.50   fimull	(%eax)
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fnop
@@ -486,20 +486,20 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsub	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsub	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsub	%st(2), %st
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fsubs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fsubl	(%eax)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubp	%st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubp	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubp	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubp	%st, %st(2)
 # CHECK-NEXT:  -      -      -     2.00    -      -     0.50   0.50   fisubs	(%ecx)
 # CHECK-NEXT:  -      -      -     2.00    -      -     0.50   0.50   fisubl	(%eax)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubr	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubr	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubr	%st(2), %st
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fsubrs	(%ecx)
 # CHECK-NEXT:  -      -      -     1.00    -      -     0.50   0.50   fsubrl	(%eax)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubrp	%st(1)
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubrp	%st(2)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubrp	%st, %st(1)
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fsubrp	%st, %st(2)
 # CHECK-NEXT:  -      -      -     2.00    -      -     0.50   0.50   fisubrs	(%ecx)
 # CHECK-NEXT:  -      -      -     2.00    -      -     0.50   0.50   fisubrl	(%eax)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     ftst
@@ -508,8 +508,8 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fucomp	%st(1)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fucomp	%st(3)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fucompp
-# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     fucomi	%st(3)
-# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     fucompi	%st(3)
+# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     fucomi	%st(3), %st
+# CHECK-NEXT:  -      -     1.00   1.00    -     1.00    -      -     fucompi	%st(3), %st
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     wait
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fxam
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fxch	%st(1)

Modified: llvm/branches/release_80/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s (original)
+++ llvm/branches/release_80/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s Tue Feb 12 02:13:48 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st(0), %st(1)
+fadd %st, %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-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)
+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
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st(0), %st(1)
+fdiv %st, %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st(0), %st(1)
+fdivr %st, %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st(0), %st(1)
+fmul %st, %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st(0), %st(1)
+fsub %st, %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st(0), %st(1)
+fsubr %st, %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,26 +208,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fadd	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     faddl	(%ecx)
-# CHECK-NEXT:  1      3     1.00                  U     faddp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     faddp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fiaddl	(%ecx)
 # CHECK-NEXT:  1      100   0.25                  U     fbld	(%ecx)
 # 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(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     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      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)
@@ -237,24 +237,24 @@ fyl2xp1
 # CHECK-NEXT:  2      8     1.00                  U     fcomps	(%ecx)
 # CHECK-NEXT:  2      8     1.00                  U     fcompl	(%eax)
 # CHECK-NEXT:  1      100   0.25                  U     fcompp
-# CHECK-NEXT:  1      2     1.00                  U     fcomi	%st(3)
-# CHECK-NEXT:  1      2     1.00                  U     fcompi	%st(3)
+# CHECK-NEXT:  1      2     1.00                  U     fcomi	%st(3), %st
+# CHECK-NEXT:  1      2     1.00                  U     fcompi	%st(3), %st
 # CHECK-NEXT:  1      100   0.25                  U     fcos
 # CHECK-NEXT:  2      2     1.00                  U     fdecstp
-# CHECK-NEXT:  1      15    1.00                  U     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  1      20    1.00                  U     fdiv	%st(2)
+# CHECK-NEXT:  1      15    1.00                  U     fdiv	%st, %st(1)
+# CHECK-NEXT:  1      20    1.00                  U     fdiv	%st(2), %st
 # CHECK-NEXT:  2      22    1.00    *             U     fdivs	(%ecx)
 # CHECK-NEXT:  2      22    1.00    *             U     fdivl	(%eax)
-# CHECK-NEXT:  1      15    1.00                  U     fdivp	%st(1)
-# CHECK-NEXT:  1      15    1.00                  U     fdivp	%st(2)
+# CHECK-NEXT:  1      15    1.00                  U     fdivp	%st, %st(1)
+# CHECK-NEXT:  1      15    1.00                  U     fdivp	%st, %st(2)
 # CHECK-NEXT:  3      25    1.00    *             U     fidivs	(%ecx)
 # CHECK-NEXT:  3      25    1.00    *             U     fidivl	(%eax)
-# CHECK-NEXT:  1      20    1.00                  U     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  1      15    1.00                  U     fdivr	%st(2)
+# CHECK-NEXT:  1      20    1.00                  U     fdivr	%st, %st(1)
+# CHECK-NEXT:  1      15    1.00                  U     fdivr	%st(2), %st
 # CHECK-NEXT:  2      27    1.00    *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  2      27    1.00    *             U     fdivrl	(%eax)
-# CHECK-NEXT:  1      20    1.00                  U     fdivrp	%st(1)
-# CHECK-NEXT:  1      20    1.00                  U     fdivrp	%st(2)
+# CHECK-NEXT:  1      20    1.00                  U     fdivrp	%st, %st(1)
+# CHECK-NEXT:  1      20    1.00                  U     fdivrp	%st, %st(2)
 # CHECK-NEXT:  3      30    1.00    *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  3      30    1.00    *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      100   0.25                  U     ffree	%st(0)
@@ -288,12 +288,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      4     1.00                  U     fmul	%st(2)
+# CHECK-NEXT:  1      4     1.00                  U     fmul	%st, %st(1)
+# CHECK-NEXT:  1      4     1.00                  U     fmul	%st(2), %st
 # CHECK-NEXT:  2      11    1.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  2      11    1.00    *             U     fmull	(%eax)
-# CHECK-NEXT:  1      4     1.00                  U     fmulp	%st(1)
-# CHECK-NEXT:  1      4     1.00                  U     fmulp	%st(2)
+# CHECK-NEXT:  1      4     1.00                  U     fmulp	%st, %st(1)
+# CHECK-NEXT:  1      4     1.00                  U     fmulp	%st, %st(2)
 # CHECK-NEXT:  3      14    1.00    *             U     fimuls	(%ecx)
 # CHECK-NEXT:  3      14    1.00    *             U     fimull	(%eax)
 # CHECK-NEXT:  1      1     0.50                  U     fnop
@@ -321,20 +321,20 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubs	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubrs	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubrl	(%eax)
 # CHECK-NEXT:  1      2     1.00                  U     ftst
@@ -343,8 +343,8 @@ fyl2xp1
 # CHECK-NEXT:  1      1     1.00                  U     fucomp	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fucomp	%st(3)
 # CHECK-NEXT:  1      2     1.00                  U     fucompp
-# CHECK-NEXT:  1      2     1.00                  U     fucomi	%st(3)
-# CHECK-NEXT:  1      2     1.00                  U     fucompi	%st(3)
+# CHECK-NEXT:  1      2     1.00                  U     fucomi	%st(3), %st
+# CHECK-NEXT:  1      2     1.00                  U     fucompi	%st(3), %st
 # CHECK-NEXT:  2      2     0.50                  U     wait
 # CHECK-NEXT:  1      100   0.25                  U     fxam
 # CHECK-NEXT:  15     17    4.00                  U     fxch	%st(1)
@@ -375,26 +375,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fadd	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fadd	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fadd	%st(2), %st
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fadds	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     faddl	(%ecx)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     faddp	%st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     faddp	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     faddp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     faddp	%st, %st(2)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     fiadds	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     fiaddl	(%ecx)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fbld	(%ecx)
 # 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(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    -      -      -      -      -      -     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    -      -     fcom	%st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fcom	%st(3)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fcoms	(%ecx)
@@ -404,24 +404,24 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fcomps	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fcompl	(%eax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fcompp
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fcomi	%st(3)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fcompi	%st(3)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fcomi	%st(3), %st
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fcompi	%st(3), %st
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fcos
 # CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fdecstp
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(2), %st
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivl	(%eax)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%st, %st(2)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -     1.00    -      -     fidivs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -     1.00    -      -     fidivl	(%eax)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(2), %st
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivrs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivrl	(%eax)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st, %st(2)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -     1.00    -      -     fidivrs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -     1.00    -      -     fidivrl	(%eax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     ffree	%st(0)
@@ -455,12 +455,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2), %st
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fmuls	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fmull	(%eax)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmulp	%st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmulp	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmulp	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmulp	%st, %st(2)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -     1.00    -      -     fimuls	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -     1.00    -      -     fimull	(%eax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     fnop
@@ -488,20 +488,20 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsub	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsub	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsub	%st(2), %st
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubl	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubp	%st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubp	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubp	%st, %st(2)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     fisubs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     fisubl	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubr	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubr	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubr	%st(2), %st
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubrs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubrl	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubrp	%st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubrp	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubrp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubrp	%st, %st(2)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     fisubrs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     fisubrl	(%eax)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     ftst
@@ -510,8 +510,8 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fucomp	%st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fucomp	%st(3)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fucompp
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fucomi	%st(3)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fucompi	%st(3)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fucomi	%st(3), %st
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fucompi	%st(3), %st
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -     0.50   0.50    -     wait
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fxam
 # CHECK-NEXT:  -      -     4.00   2.00    -      -      -     4.00   5.00    -     fxch	%st(1)

Modified: llvm/branches/release_80/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s (original)
+++ llvm/branches/release_80/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s Tue Feb 12 02:13:48 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st(0), %st(1)
+fadd %st, %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-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)
+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
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st(0), %st(1)
+fdiv %st, %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st(0), %st(1)
+fdivr %st, %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st(0), %st(1)
+fmul %st, %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st(0), %st(1)
+fsub %st, %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st(0), %st(1)
+fsubr %st, %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,26 +208,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fadd	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     faddl	(%ecx)
-# CHECK-NEXT:  1      3     1.00                  U     faddp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     faddp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fiaddl	(%ecx)
 # CHECK-NEXT:  1      100   0.25                  U     fbld	(%ecx)
 # 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(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     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      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)
@@ -237,24 +237,24 @@ fyl2xp1
 # CHECK-NEXT:  2      8     1.00                  U     fcomps	(%ecx)
 # CHECK-NEXT:  2      8     1.00                  U     fcompl	(%eax)
 # CHECK-NEXT:  1      100   0.25                  U     fcompp
-# CHECK-NEXT:  1      2     1.00                  U     fcomi	%st(3)
-# CHECK-NEXT:  1      2     1.00                  U     fcompi	%st(3)
+# CHECK-NEXT:  1      2     1.00                  U     fcomi	%st(3), %st
+# CHECK-NEXT:  1      2     1.00                  U     fcompi	%st(3), %st
 # CHECK-NEXT:  1      100   0.25                  U     fcos
 # CHECK-NEXT:  2      2     1.00                  U     fdecstp
-# CHECK-NEXT:  1      15    1.00                  U     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  1      20    1.00                  U     fdiv	%st(2)
+# CHECK-NEXT:  1      15    1.00                  U     fdiv	%st, %st(1)
+# CHECK-NEXT:  1      20    1.00                  U     fdiv	%st(2), %st
 # CHECK-NEXT:  2      22    1.00    *             U     fdivs	(%ecx)
 # CHECK-NEXT:  2      22    1.00    *             U     fdivl	(%eax)
-# CHECK-NEXT:  1      15    1.00                  U     fdivp	%st(1)
-# CHECK-NEXT:  1      15    1.00                  U     fdivp	%st(2)
+# CHECK-NEXT:  1      15    1.00                  U     fdivp	%st, %st(1)
+# CHECK-NEXT:  1      15    1.00                  U     fdivp	%st, %st(2)
 # CHECK-NEXT:  3      25    1.00    *             U     fidivs	(%ecx)
 # CHECK-NEXT:  3      25    1.00    *             U     fidivl	(%eax)
-# CHECK-NEXT:  1      20    1.00                  U     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  1      15    1.00                  U     fdivr	%st(2)
+# CHECK-NEXT:  1      20    1.00                  U     fdivr	%st, %st(1)
+# CHECK-NEXT:  1      15    1.00                  U     fdivr	%st(2), %st
 # CHECK-NEXT:  2      27    1.00    *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  2      27    1.00    *             U     fdivrl	(%eax)
-# CHECK-NEXT:  1      20    1.00                  U     fdivrp	%st(1)
-# CHECK-NEXT:  1      20    1.00                  U     fdivrp	%st(2)
+# CHECK-NEXT:  1      20    1.00                  U     fdivrp	%st, %st(1)
+# CHECK-NEXT:  1      20    1.00                  U     fdivrp	%st, %st(2)
 # CHECK-NEXT:  3      30    1.00    *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  3      30    1.00    *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      100   0.25                  U     ffree	%st(0)
@@ -288,12 +288,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      4     1.00                  U     fmul	%st(2)
+# CHECK-NEXT:  1      4     1.00                  U     fmul	%st, %st(1)
+# CHECK-NEXT:  1      4     1.00                  U     fmul	%st(2), %st
 # CHECK-NEXT:  2      11    1.00    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  2      11    1.00    *             U     fmull	(%eax)
-# CHECK-NEXT:  1      4     1.00                  U     fmulp	%st(1)
-# CHECK-NEXT:  1      4     1.00                  U     fmulp	%st(2)
+# CHECK-NEXT:  1      4     1.00                  U     fmulp	%st, %st(1)
+# CHECK-NEXT:  1      4     1.00                  U     fmulp	%st, %st(2)
 # CHECK-NEXT:  3      14    1.00    *             U     fimuls	(%ecx)
 # CHECK-NEXT:  3      14    1.00    *             U     fimull	(%eax)
 # CHECK-NEXT:  1      1     0.50                  U     fnop
@@ -321,20 +321,20 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubs	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fsubrl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubrs	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fisubrl	(%eax)
 # CHECK-NEXT:  1      2     1.00                  U     ftst
@@ -343,8 +343,8 @@ fyl2xp1
 # CHECK-NEXT:  1      1     1.00                  U     fucomp	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fucomp	%st(3)
 # CHECK-NEXT:  1      2     1.00                  U     fucompp
-# CHECK-NEXT:  1      2     1.00                  U     fucomi	%st(3)
-# CHECK-NEXT:  1      2     1.00                  U     fucompi	%st(3)
+# CHECK-NEXT:  1      2     1.00                  U     fucomi	%st(3), %st
+# CHECK-NEXT:  1      2     1.00                  U     fucompi	%st(3), %st
 # CHECK-NEXT:  2      2     0.50                  U     wait
 # CHECK-NEXT:  1      100   0.25                  U     fxam
 # CHECK-NEXT:  15     17    4.00                  U     fxch	%st(1)
@@ -375,26 +375,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fadd	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fadd	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fadd	%st(2), %st
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fadds	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     faddl	(%ecx)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     faddp	%st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     faddp	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     faddp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     faddp	%st, %st(2)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     fiadds	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     fiaddl	(%ecx)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fbld	(%ecx)
 # 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(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    -      -      -      -      -      -     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    -      -     fcom	%st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fcom	%st(3)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fcoms	(%ecx)
@@ -404,24 +404,24 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fcomps	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fcompl	(%eax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fcompp
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fcomi	%st(3)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fcompi	%st(3)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fcomi	%st(3), %st
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fcompi	%st(3), %st
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fcos
 # CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fdecstp
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(2), %st
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivl	(%eax)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%st, %st(2)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -     1.00    -      -     fidivs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -     1.00    -      -     fidivl	(%eax)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(2), %st
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivrs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivrl	(%eax)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st, %st(2)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -     1.00    -      -     fidivrs	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -     1.00    -      -     fidivrl	(%eax)
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     ffree	%st(0)
@@ -455,12 +455,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2), %st
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fmuls	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fmull	(%eax)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmulp	%st(1)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmulp	%st(2)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmulp	%st, %st(1)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmulp	%st, %st(2)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -     1.00    -      -     fimuls	(%ecx)
 # CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -     1.00    -      -     fimull	(%eax)
 # CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     fnop
@@ -488,20 +488,20 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsub	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsub	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsub	%st(2), %st
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubl	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubp	%st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubp	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubp	%st, %st(2)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     fisubs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     fisubl	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubr	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubr	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubr	%st(2), %st
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubrs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubrl	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubrp	%st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubrp	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubrp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubrp	%st, %st(2)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     fisubrs	(%ecx)
 # CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     fisubrl	(%eax)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     ftst
@@ -510,8 +510,8 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fucomp	%st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fucomp	%st(3)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fucompp
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fucomi	%st(3)
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fucompi	%st(3)
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fucomi	%st(3), %st
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fucompi	%st(3), %st
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -     0.50   0.50    -     wait
 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fxam
 # CHECK-NEXT:  -      -     4.00   2.00    -      -      -     4.00   5.00    -     fxch	%st(1)

Modified: llvm/branches/release_80/test/tools/llvm-mca/X86/Znver1/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/tools/llvm-mca/X86/Znver1/resources-x87.s?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/test/tools/llvm-mca/X86/Znver1/resources-x87.s (original)
+++ llvm/branches/release_80/test/tools/llvm-mca/X86/Znver1/resources-x87.s Tue Feb 12 02:13:48 2019
@@ -5,7 +5,7 @@ f2xm1
 
 fabs
 
-fadd %st(0), %st(1)
+fadd %st, %st(1)
 fadd %st(2)
 fadds (%ecx)
 faddl (%ecx)
@@ -21,14 +21,14 @@ fchs
 
 fnclex
 
-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)
+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
 
 fcom %st(1)
 fcom %st(3)
@@ -47,7 +47,7 @@ fcos
 
 fdecstp
 
-fdiv %st(0), %st(1)
+fdiv %st, %st(1)
 fdiv %st(2)
 fdivs (%ecx)
 fdivl (%eax)
@@ -56,7 +56,7 @@ fdivp %st(2)
 fidivs (%ecx)
 fidivl (%eax)
 
-fdivr %st(0), %st(1)
+fdivr %st, %st(1)
 fdivr %st(2)
 fdivrs (%ecx)
 fdivrl (%eax)
@@ -106,7 +106,7 @@ fldln2
 fldpi
 fldz
 
-fmul %st(0), %st(1)
+fmul %st, %st(1)
 fmul %st(2)
 fmuls (%ecx)
 fmull (%eax)
@@ -153,7 +153,7 @@ fnstsw (%eax)
 frstor (%eax)
 fsave (%eax)
 
-fsub %st(0), %st(1)
+fsub %st, %st(1)
 fsub %st(2)
 fsubs (%ecx)
 fsubl (%eax)
@@ -162,7 +162,7 @@ fsubp %st(2)
 fisubs (%ecx)
 fisubl (%eax)
 
-fsubr %st(0), %st(1)
+fsubr %st, %st(1)
 fsubr %st(2)
 fsubrs (%ecx)
 fsubrl (%eax)
@@ -208,26 +208,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fadd	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2), %st
 # CHECK-NEXT:  1      10    1.00    *             U     fadds	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     faddl	(%ecx)
-# CHECK-NEXT:  1      3     1.00                  U     faddp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     faddp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  1      10    1.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     fiaddl	(%ecx)
 # CHECK-NEXT:  1      100   0.25                  U     fbld	(%ecx)
 # 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(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      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      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)
@@ -237,24 +237,24 @@ fyl2xp1
 # CHECK-NEXT:  1      8     1.00                  U     fcomps	(%ecx)
 # CHECK-NEXT:  1      8     1.00                  U     fcompl	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fcompp
-# CHECK-NEXT:  1      9     0.50                  U     fcomi	%st(3)
-# CHECK-NEXT:  1      9     0.50                  U     fcompi	%st(3)
+# CHECK-NEXT:  1      9     0.50                  U     fcomi	%st(3), %st
+# CHECK-NEXT:  1      9     0.50                  U     fcompi	%st(3), %st
 # CHECK-NEXT:  1      100   0.25                  U     fcos
 # CHECK-NEXT:  1      11    1.00                  U     fdecstp
-# CHECK-NEXT:  1      15    1.00                  U     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  1      15    1.00                  U     fdiv	%st(2)
+# CHECK-NEXT:  1      15    1.00                  U     fdiv	%st, %st(1)
+# CHECK-NEXT:  1      15    1.00                  U     fdiv	%st(2), %st
 # CHECK-NEXT:  1      22    1.00    *             U     fdivs	(%ecx)
 # CHECK-NEXT:  1      22    1.00    *             U     fdivl	(%eax)
-# CHECK-NEXT:  1      15    1.00                  U     fdivp	%st(1)
-# CHECK-NEXT:  1      15    1.00                  U     fdivp	%st(2)
+# CHECK-NEXT:  1      15    1.00                  U     fdivp	%st, %st(1)
+# CHECK-NEXT:  1      15    1.00                  U     fdivp	%st, %st(2)
 # CHECK-NEXT:  1      22    1.00    *             U     fidivs	(%ecx)
 # CHECK-NEXT:  1      22    1.00    *             U     fidivl	(%eax)
-# CHECK-NEXT:  1      15    1.00                  U     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  1      15    1.00                  U     fdivr	%st(2)
+# CHECK-NEXT:  1      15    1.00                  U     fdivr	%st, %st(1)
+# CHECK-NEXT:  1      15    1.00                  U     fdivr	%st(2), %st
 # CHECK-NEXT:  1      22    1.00    *             U     fdivrs	(%ecx)
 # CHECK-NEXT:  1      22    1.00    *             U     fdivrl	(%eax)
-# CHECK-NEXT:  1      15    1.00                  U     fdivrp	%st(1)
-# CHECK-NEXT:  1      15    1.00                  U     fdivrp	%st(2)
+# CHECK-NEXT:  1      15    1.00                  U     fdivrp	%st, %st(1)
+# CHECK-NEXT:  1      15    1.00                  U     fdivrp	%st, %st(2)
 # CHECK-NEXT:  1      22    1.00    *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  1      22    1.00    *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      11    1.00                  U     ffree	%st(0)
@@ -288,12 +288,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      3     0.50                  U     fmul	%st(2)
+# CHECK-NEXT:  1      3     0.50                  U     fmul	%st, %st(1)
+# CHECK-NEXT:  1      3     0.50                  U     fmul	%st(2), %st
 # CHECK-NEXT:  2      10    0.50    *             U     fmuls	(%ecx)
 # CHECK-NEXT:  2      10    0.50    *             U     fmull	(%eax)
-# CHECK-NEXT:  1      3     0.50                  U     fmulp	%st(1)
-# CHECK-NEXT:  1      3     0.50                  U     fmulp	%st(2)
+# CHECK-NEXT:  1      3     0.50                  U     fmulp	%st, %st(1)
+# CHECK-NEXT:  1      3     0.50                  U     fmulp	%st, %st(2)
 # CHECK-NEXT:  2      10    0.50    *             U     fimuls	(%ecx)
 # CHECK-NEXT:  2      10    0.50    *             U     fimull	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fnop
@@ -321,20 +321,20 @@ 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(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  1      10    1.00    *             U     fsubs	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     fsubl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(2)
 # CHECK-NEXT:  1      10    1.00    *             U     fisubs	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     fisubl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2), %st
 # CHECK-NEXT:  1      10    1.00    *             U     fsubrs	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     fsubrl	(%eax)
-# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st(1)
-# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st(2)
+# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(1)
+# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(2)
 # CHECK-NEXT:  1      10    1.00    *             U     fisubrs	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     fisubrl	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     ftst
@@ -343,8 +343,8 @@ fyl2xp1
 # CHECK-NEXT:  1      1     1.00                  U     fucomp	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fucomp	%st(3)
 # CHECK-NEXT:  1      1     1.00                  U     fucompp
-# CHECK-NEXT:  1      9     0.50                  U     fucomi	%st(3)
-# CHECK-NEXT:  1      9     0.50                  U     fucompi	%st(3)
+# CHECK-NEXT:  1      9     0.50                  U     fucomi	%st(3), %st
+# CHECK-NEXT:  1      9     0.50                  U     fucompi	%st(3), %st
 # CHECK-NEXT:  1      1     1.00                  U     wait
 # CHECK-NEXT:  1      1     1.00                  U     fxam
 # CHECK-NEXT:  1      1     0.25                  U     fxch	%st(1)
@@ -377,26 +377,26 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fadd	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fadd	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fadd	%st(2), %st
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fadds	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     faddl	(%ecx)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     faddp	%st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     faddp	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     faddp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     faddp	%st, %st(2)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fiadds	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fiaddl	(%ecx)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fbld	(%ecx)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fbstp	(%eax)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fchs
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fnclex
-# 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:  -      -      -      -      -      -      -      -      -      -      -      -     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:  -      -      -      -      -      -      -     1.00    -      -      -      -     fcom	%st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fcom	%st(3)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fcoms	(%ecx)
@@ -406,24 +406,24 @@ fyl2xp1
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fcomps	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fcompl	(%eax)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fcompp
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.50    -     0.50    -      -     fcomi	%st(3)
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.50    -     0.50    -      -     fcompi	%st(3)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.50    -     0.50    -      -     fcomi	%st(3), %st
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.50    -     0.50    -      -     fcompi	%st(3), %st
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fcos
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     1.00    -     fdecstp
-# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdiv	%st(0), %st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdiv	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdiv	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdiv	%st(2), %st
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     1.00    -     fdivs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     1.00    -     fdivl	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdivp	%st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdivp	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdivp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdivp	%st, %st(2)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     1.00    -     fidivs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     1.00    -     fidivl	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdivr	%st(0), %st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdivr	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdivr	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdivr	%st(2), %st
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     1.00    -     fdivrs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     1.00    -     fdivrl	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdivrp	%st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdivrp	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdivrp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fdivrp	%st, %st(2)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     1.00    -     fidivrs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     1.00    -     fidivrl	(%eax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -     1.00    -     ffree	%st(0)
@@ -457,12 +457,12 @@ 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(0), %st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     0.50   0.50    -      -      -     fmul	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     0.50   0.50    -      -      -     fmul	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     0.50   0.50    -      -      -     fmul	%st(2), %st
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.50   0.50    -      -      -     fmuls	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.50   0.50    -      -      -     fmull	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -     0.50   0.50    -      -      -     fmulp	%st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     0.50   0.50    -      -      -     fmulp	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     0.50   0.50    -      -      -     fmulp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     0.50   0.50    -      -      -     fmulp	%st, %st(2)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.50   0.50    -      -      -     fimuls	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.50   0.50    -      -      -     fimull	(%eax)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fnop
@@ -490,20 +490,20 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     frstor	(%eax)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     wait
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -     fnsave	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsub	%st(0), %st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsub	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsub	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsub	%st(2), %st
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fsubs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fsubl	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsubp	%st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsubp	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsubp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsubp	%st, %st(2)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fisubs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fisubl	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsubr	%st(0), %st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsubr	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsubr	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsubr	%st(2), %st
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fsubrs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fsubrl	(%eax)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsubrp	%st(1)
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsubrp	%st(2)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsubrp	%st, %st(1)
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fsubrp	%st, %st(2)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fisubrs	(%ecx)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -     fisubrl	(%eax)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     ftst
@@ -512,8 +512,8 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fucomp	%st(1)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fucomp	%st(3)
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     fucompp
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.50    -     0.50    -      -     fucomi	%st(3)
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.50    -     0.50    -      -     fucompi	%st(3)
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.50    -     0.50    -      -     fucomi	%st(3), %st
+# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     0.50    -     0.50    -      -     fucompi	%st(3), %st
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     wait
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     1.00    -     fxam
 # CHECK-NEXT:  -      -      -      -      -      -      -     0.25   0.25   0.25   0.25    -     fxch	%st(1)

Modified: llvm/branches/release_80/utils/TableGen/X86RecognizableInstr.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/utils/TableGen/X86RecognizableInstr.cpp?rev=353818&r1=353817&r2=353818&view=diff
==============================================================================
--- llvm/branches/release_80/utils/TableGen/X86RecognizableInstr.cpp (original)
+++ llvm/branches/release_80/utils/TableGen/X86RecognizableInstr.cpp Tue Feb 12 02:13:48 2019
@@ -842,6 +842,7 @@ OperandType RecognizableInstr::typeFromS
   TYPE("f32mem",              TYPE_M)
   TYPE("ssmem",               TYPE_M)
   TYPE("RST",                 TYPE_ST)
+  TYPE("RSTi",                TYPE_ST)
   TYPE("i128mem",             TYPE_M)
   TYPE("i256mem",             TYPE_M)
   TYPE("i512mem",             TYPE_M)
@@ -964,6 +965,7 @@ OperandEncoding
 RecognizableInstr::rmRegisterEncodingFromString(const std::string &s,
                                                 uint8_t OpSize) {
   ENCODING("RST",             ENCODING_FP)
+  ENCODING("RSTi",            ENCODING_FP)
   ENCODING("GR16",            ENCODING_RM)
   ENCODING("GR32",            ENCODING_RM)
   ENCODING("GR32orGR64",      ENCODING_RM)




More information about the llvm-branch-commits mailing list