diff options
author | Chris Lattner <sabre@nondot.org> | 2004-04-12 03:02:48 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-04-12 03:02:48 +0000 |
commit | 133dbb128501f7006a533678261dd8e0debc663c (patch) | |
tree | 9b766c2ede255a5f08ade24b732c3e8e33d249ee /lib/Target/X86/FloatingPoint.cpp | |
parent | 284b496aaeb959d382b2410e4bd21fb6e0c694bb (diff) |
Fix issues that the local allocator has dealing with instructions that implicitly use ST(0)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12855 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/FloatingPoint.cpp')
-rw-r--r-- | lib/Target/X86/FloatingPoint.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/Target/X86/FloatingPoint.cpp b/lib/Target/X86/FloatingPoint.cpp index cc0e47de1b..70a643b254 100644 --- a/lib/Target/X86/FloatingPoint.cpp +++ b/lib/Target/X86/FloatingPoint.cpp @@ -494,42 +494,42 @@ void FPS::handleOneArgFPRW(MachineBasicBlock::iterator &I) { // ForwardST0Table - Map: A = B op C into: ST(0) = ST(0) op ST(i) static const TableEntry ForwardST0Table[] = { - { X86::FUCOMIr, X86::FUCOMIr }, { X86::FpADD , X86::FADDST0r }, { X86::FpDIV , X86::FDIVST0r }, { X86::FpMUL , X86::FMULST0r }, { X86::FpSUB , X86::FSUBST0r }, { X86::FpUCOM , X86::FUCOMr }, + { X86::FpUCOMI, X86::FUCOMIr }, }; // ReverseST0Table - Map: A = B op C into: ST(0) = ST(i) op ST(0) static const TableEntry ReverseST0Table[] = { - { X86::FUCOMIr, ~0 }, { X86::FpADD , X86::FADDST0r }, // commutative { X86::FpDIV , X86::FDIVRST0r }, { X86::FpMUL , X86::FMULST0r }, // commutative { X86::FpSUB , X86::FSUBRST0r }, { X86::FpUCOM , ~0 }, + { X86::FpUCOMI, ~0 }, }; // ForwardSTiTable - Map: A = B op C into: ST(i) = ST(0) op ST(i) static const TableEntry ForwardSTiTable[] = { - { X86::FUCOMIr, X86::FUCOMIr }, { X86::FpADD , X86::FADDrST0 }, // commutative { X86::FpDIV , X86::FDIVRrST0 }, { X86::FpMUL , X86::FMULrST0 }, // commutative { X86::FpSUB , X86::FSUBRrST0 }, { X86::FpUCOM , X86::FUCOMr }, + { X86::FpUCOMI, X86::FUCOMIr }, }; // ReverseSTiTable - Map: A = B op C into: ST(i) = ST(i) op ST(0) static const TableEntry ReverseSTiTable[] = { - { X86::FUCOMIr, ~0 }, { X86::FpADD , X86::FADDrST0 }, { X86::FpDIV , X86::FDIVrST0 }, { X86::FpMUL , X86::FMULrST0 }, { X86::FpSUB , X86::FSUBrST0 }, { X86::FpUCOM , ~0 }, + { X86::FpUCOMI, ~0 }, }; @@ -553,7 +553,7 @@ void FPS::handleTwoArgFP(MachineBasicBlock::iterator &I) { unsigned NumOperands = MI->getNumOperands(); bool isCompare = MI->getOpcode() == X86::FpUCOM || - MI->getOpcode() == X86::FUCOMIr; + MI->getOpcode() == X86::FpUCOMI; assert((NumOperands == 3 || (NumOperands == 2 && isCompare)) && "Illegal TwoArgFP instruction!"); unsigned Dest = getFPReg(MI->getOperand(0)); |