diff options
-rw-r--r-- | lib/Target/PowerPC/PPCRegisterInfo.td | 8 | ||||
-rw-r--r-- | lib/Target/X86/X86InstrInfo.td | 5 | ||||
-rw-r--r-- | lib/Target/X86/X86RegisterInfo.td | 7 |
3 files changed, 4 insertions, 16 deletions
diff --git a/lib/Target/PowerPC/PPCRegisterInfo.td b/lib/Target/PowerPC/PPCRegisterInfo.td index c8ac374c85..f34950054a 100644 --- a/lib/Target/PowerPC/PPCRegisterInfo.td +++ b/lib/Target/PowerPC/PPCRegisterInfo.td @@ -132,14 +132,6 @@ def CTR : SPR<9, "ctr">; // VRsave register def VRSAVE: SPR<256, "VRsave">; -// FIXME: -// HACKTROCITY: define a flags reg class for things that need to take a flag. -// this should really be handled by tablgen. -def FLAG: SPR<1023, "Flag">; -def FLAGRC : RegisterClass<"PPC", [FlagVT], 32, [FLAG]> { - let Size = 32; -} - /// Register classes // Allocate volatiles first // then nonvolatiles in reverse order since stmw/lmw save from rN to r31 diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td index 0b0ed822e1..8a9b810e4d 100644 --- a/lib/Target/X86/X86InstrInfo.td +++ b/lib/Target/X86/X86InstrInfo.td @@ -38,7 +38,7 @@ def SDTX86RetFlag : SDTypeProfile<0, 2, [SDTCisVT<0, i16>, def SDTX86Fld : SDTypeProfile<1, 2, [SDTCisFP<0>, SDTCisPtrTy<1>, SDTCisVT<2, OtherVT>]>; -def SDTX86FpSet : SDTypeProfile<0, 1, [SDTCisFP<0>]>; +def SDTX86FpSet : SDTypeProfile<1, 1, [SDTCisVT<0, FlagVT>, SDTCisFP<1>]>; def X86cmp : SDNode<"X86ISD::CMP" , SDTX86CmpTest, []>; def X86test : SDNode<"X86ISD::TEST", SDTX86CmpTest, []>; @@ -2257,7 +2257,8 @@ class FpI<dag ops, FPFormat fp, list<dag> pattern> def FpGETRESULT : FpI<(ops RFP:$dst), SpecialFP, // FPR = ST(0) []>; def FpSETRESULT : FpI<(ops RFP:$src), SpecialFP, - [(X86fpset RFP:$src)]>, Imp<[], [ST0]>; // ST(0) = FPR + [(set FLAG, (X86fpset RFP:$src))]>, + Imp<[], [ST0]>; // ST(0) = FPR def FpMOV : FpI<(ops RFP:$dst, RFP:$src), SpecialFP, []>; // f1 = fmov f2 diff --git a/lib/Target/X86/X86RegisterInfo.td b/lib/Target/X86/X86RegisterInfo.td index 0e43d2b874..06b9543e49 100644 --- a/lib/Target/X86/X86RegisterInfo.td +++ b/lib/Target/X86/X86RegisterInfo.td @@ -142,11 +142,6 @@ def RST : RegisterClass<"X86", [f64], 32, }]; } -// FIXME: -// HACKTROCITY: define a flags reg class for things that need to take a flag. -// this should really be handled by tablgen. -let Namespace = "X86" in - def FLAG : Register<"FLAG">; -def FLAGS_REGS : RegisterClass<"X86", [FlagVT], 32, [STATUS, FLAG]> { +def FLAGS_REGS : RegisterClass<"X86", [FlagVT], 32, [STATUS]> { let Size = 32; } |