Resort tables
authorChris Lattner <sabre@nondot.org>
Sun, 3 Aug 2003 21:56:36 +0000 (21:56 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 3 Aug 2003 21:56:36 +0000 (21:56 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7541 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/FloatingPoint.cpp
lib/Target/X86/X86FloatingPoint.cpp

index f37b65fe05852f3054062d42bf218357d8117e86..f451a23477213fc35b3336e4336dc0ee1509ab1f 100644 (file)
@@ -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[] = {
+  { 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::FISTr16  , X86::FISTPr16   },
-  { X86::FISTr32  , X86::FISTPr32   },
 
-  { X86::FADDrST0 , X86::FADDPrST0  },
-  { X86::FSUBrST0 , X86::FSUBPrST0  },
   { 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::FUCOMr   , X86::FUCOMPr    },
 };
 
 /// 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  },
-  { X86::FpSUB,  X86::FSUBST0r  },
-  { X86::FpMUL,  X86::FMULST0r  },
   { 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::FpSUB,  X86::FSUBRST0r },
-  { X86::FpMUL,  X86::FMULST0r  },   // commutative
   { 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::FpSUB,  X86::FSUBRrST0 },
-  { X86::FpMUL,  X86::FMULrST0  },   // commutative
   { 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::FpSUB,  X86::FSUBrST0 },
-  { X86::FpMUL,  X86::FMULrST0 },
   { X86::FpDIV,  X86::FDIVrST0 },
+  { X86::FpMUL,  X86::FMULrST0 },
+  { X86::FpSUB,  X86::FSUBrST0 },
   { X86::FpUCOM, ~0            },
 };
 
index f37b65fe05852f3054062d42bf218357d8117e86..f451a23477213fc35b3336e4336dc0ee1509ab1f 100644 (file)
@@ -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[] = {
+  { 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::FISTr16  , X86::FISTPr16   },
-  { X86::FISTr32  , X86::FISTPr32   },
 
-  { X86::FADDrST0 , X86::FADDPrST0  },
-  { X86::FSUBrST0 , X86::FSUBPrST0  },
   { 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::FUCOMr   , X86::FUCOMPr    },
 };
 
 /// 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  },
-  { X86::FpSUB,  X86::FSUBST0r  },
-  { X86::FpMUL,  X86::FMULST0r  },
   { 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::FpSUB,  X86::FSUBRST0r },
-  { X86::FpMUL,  X86::FMULST0r  },   // commutative
   { 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::FpSUB,  X86::FSUBRrST0 },
-  { X86::FpMUL,  X86::FMULrST0  },   // commutative
   { 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::FpSUB,  X86::FSUBrST0 },
-  { X86::FpMUL,  X86::FMULrST0 },
   { X86::FpDIV,  X86::FDIVrST0 },
+  { X86::FpMUL,  X86::FMULrST0 },
+  { X86::FpSUB,  X86::FSUBrST0 },
   { X86::FpUCOM, ~0            },
 };