projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Resort tables
[oota-llvm.git]
/
lib
/
Target
/
X86
/
X86FloatingPoint.cpp
diff --git
a/lib/Target/X86/X86FloatingPoint.cpp
b/lib/Target/X86/X86FloatingPoint.cpp
index f37b65fe05852f3054062d42bf218357d8117e86..f451a23477213fc35b3336e4336dc0ee1509ab1f 100644
(file)
--- a/
lib/Target/X86/X86FloatingPoint.cpp
+++ b/
lib/Target/X86/X86FloatingPoint.cpp
@@
-259,21
+259,25
@@
static int Lookup(const TableEntry *Table, unsigned N, unsigned Opcode) {
// element is an instruction, the second is the version which pops.
//
static const TableEntry PopTable[] = {
// element is an instruction, the second is the version which pops.
//
static const TableEntry PopTable[] = {
+ { X86::FADDrST0 , X86::FADDPrST0 },
+
+ { X86::FDIVRrST0, X86::FDIVRPrST0 },
+ { X86::FDIVrST0 , X86::FDIVPrST0 },
+
+ { X86::FISTr16 , X86::FISTPr16 },
+ { X86::FISTr32 , X86::FISTPr32 },
+
+ { X86::FMULrST0 , X86::FMULPrST0 },
+
{ X86::FSTr32 , X86::FSTPr32 },
{ X86::FSTr64 , X86::FSTPr64 },
{ X86::FSTrr , X86::FSTPrr },
{ X86::FSTr32 , X86::FSTPr32 },
{ X86::FSTr64 , X86::FSTPr64 },
{ X86::FSTrr , X86::FSTPrr },
- { X86::FISTr16 , X86::FISTPr16 },
- { X86::FISTr32 , X86::FISTPr32 },
- { X86::FADDrST0 , X86::FADDPrST0 },
- { X86::FSUBrST0 , X86::FSUBPrST0 },
{ X86::FSUBRrST0, X86::FSUBRPrST0 },
{ X86::FSUBRrST0, X86::FSUBRPrST0 },
- { X86::FMULrST0 , X86::FMULPrST0 },
- { X86::FDIVrST0 , X86::FDIVPrST0 },
- { X86::FDIVRrST0, X86::FDIVRPrST0 },
+ { X86::FSUBrST0 , X86::FSUBPrST0 },
- { X86::FUCOMr , X86::FUCOMPr },
{ X86::FUCOMPr , X86::FUCOMPPr },
{ X86::FUCOMPr , X86::FUCOMPPr },
+ { X86::FUCOMr , X86::FUCOMPr },
};
/// popStackAfter - Pop the current value off of the top of the FP stack after
};
/// popStackAfter - Pop the current value off of the top of the FP stack after
@@
-363,36
+367,36
@@
void FPS::handleOneArgFP(MachineBasicBlock::iterator &I) {
// ForwardST0Table - Map: A = B op C into: ST(0) = ST(0) op ST(i)
static const TableEntry ForwardST0Table[] = {
{ X86::FpADD, X86::FADDST0r },
// ForwardST0Table - Map: A = B op C into: ST(0) = ST(0) op ST(i)
static const TableEntry ForwardST0Table[] = {
{ X86::FpADD, X86::FADDST0r },
- { X86::FpSUB, X86::FSUBST0r },
- { X86::FpMUL, X86::FMULST0r },
{ X86::FpDIV, X86::FDIVST0r },
{ X86::FpDIV, X86::FDIVST0r },
+ { X86::FpMUL, X86::FMULST0r },
+ { X86::FpSUB, X86::FSUBST0r },
{ X86::FpUCOM, X86::FUCOMr },
};
// ReverseST0Table - Map: A = B op C into: ST(0) = ST(i) op ST(0)
static const TableEntry ReverseST0Table[] = {
{ X86::FpADD, X86::FADDST0r }, // commutative
{ X86::FpUCOM, X86::FUCOMr },
};
// ReverseST0Table - Map: A = B op C into: ST(0) = ST(i) op ST(0)
static const TableEntry ReverseST0Table[] = {
{ X86::FpADD, X86::FADDST0r }, // commutative
- { X86::FpSUB, X86::FSUBRST0r },
- { X86::FpMUL, X86::FMULST0r }, // commutative
{ X86::FpDIV, X86::FDIVRST0r },
{ X86::FpDIV, X86::FDIVRST0r },
+ { X86::FpMUL, X86::FMULST0r }, // commutative
+ { X86::FpSUB, X86::FSUBRST0r },
{ X86::FpUCOM, ~0 },
};
// ForwardSTiTable - Map: A = B op C into: ST(i) = ST(0) op ST(i)
static const TableEntry ForwardSTiTable[] = {
{ X86::FpADD, X86::FADDrST0 }, // commutative
{ X86::FpUCOM, ~0 },
};
// ForwardSTiTable - Map: A = B op C into: ST(i) = ST(0) op ST(i)
static const TableEntry ForwardSTiTable[] = {
{ X86::FpADD, X86::FADDrST0 }, // commutative
- { X86::FpSUB, X86::FSUBRrST0 },
- { X86::FpMUL, X86::FMULrST0 }, // commutative
{ X86::FpDIV, X86::FDIVRrST0 },
{ X86::FpDIV, X86::FDIVRrST0 },
+ { X86::FpMUL, X86::FMULrST0 }, // commutative
+ { X86::FpSUB, X86::FSUBRrST0 },
{ X86::FpUCOM, X86::FUCOMr },
};
// ReverseSTiTable - Map: A = B op C into: ST(i) = ST(i) op ST(0)
static const TableEntry ReverseSTiTable[] = {
{ X86::FpADD, X86::FADDrST0 },
{ X86::FpUCOM, X86::FUCOMr },
};
// ReverseSTiTable - Map: A = B op C into: ST(i) = ST(i) op ST(0)
static const TableEntry ReverseSTiTable[] = {
{ X86::FpADD, X86::FADDrST0 },
- { X86::FpSUB, X86::FSUBrST0 },
- { X86::FpMUL, X86::FMULrST0 },
{ X86::FpDIV, X86::FDIVrST0 },
{ X86::FpDIV, X86::FDIVrST0 },
+ { X86::FpMUL, X86::FMULrST0 },
+ { X86::FpSUB, X86::FSUBrST0 },
{ X86::FpUCOM, ~0 },
};
{ X86::FpUCOM, ~0 },
};