mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-30 04:35:00 +00:00
Resort tables
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7541 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4d18d5ce1e
commit
113455be9d
@ -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::FSTr32 , X86::FSTPr32 },
|
||||
{ X86::FSTr64 , X86::FSTPr64 },
|
||||
{ X86::FSTrr , X86::FSTPrr },
|
||||
{ X86::FADDrST0 , X86::FADDPrST0 },
|
||||
|
||||
{ X86::FDIVRrST0, X86::FDIVRPrST0 },
|
||||
{ X86::FDIVrST0 , X86::FDIVPrST0 },
|
||||
|
||||
{ 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::FUCOMr , X86::FUCOMPr },
|
||||
{ X86::FSTr32 , X86::FSTPr32 },
|
||||
{ X86::FSTr64 , X86::FSTPr64 },
|
||||
{ X86::FSTrr , X86::FSTPrr },
|
||||
|
||||
{ X86::FSUBRrST0, X86::FSUBRPrST0 },
|
||||
{ X86::FSUBrST0 , X86::FSUBPrST0 },
|
||||
|
||||
{ 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 },
|
||||
};
|
||||
|
||||
|
@ -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::FSTr32 , X86::FSTPr32 },
|
||||
{ X86::FSTr64 , X86::FSTPr64 },
|
||||
{ X86::FSTrr , X86::FSTPrr },
|
||||
{ X86::FADDrST0 , X86::FADDPrST0 },
|
||||
|
||||
{ X86::FDIVRrST0, X86::FDIVRPrST0 },
|
||||
{ X86::FDIVrST0 , X86::FDIVPrST0 },
|
||||
|
||||
{ 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::FUCOMr , X86::FUCOMPr },
|
||||
{ X86::FSTr32 , X86::FSTPr32 },
|
||||
{ X86::FSTr64 , X86::FSTPr64 },
|
||||
{ X86::FSTrr , X86::FSTPrr },
|
||||
|
||||
{ X86::FSUBRrST0, X86::FSUBRPrST0 },
|
||||
{ X86::FSUBrST0 , X86::FSUBPrST0 },
|
||||
|
||||
{ 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 },
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user