[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