[llvm-commits] CVS: llvm/lib/Target/X86/X86ISelLowering.cpp

Chris Lattner lattner at cs.uiuc.edu
Sat Jan 28 22:26:21 PST 2006



Changes in directory llvm/lib/Target/X86:

X86ISelLowering.cpp updated: 1.62 -> 1.63
---
Log message:

Targets all now request ConstantFP to be legalized into TargetConstantFP.
'fpimm' in .td files is now TargetConstantFP.



---
Diffs of the changes:  (+6 -1)

 X86ISelLowering.cpp |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletion(-)


Index: llvm/lib/Target/X86/X86ISelLowering.cpp
diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.62 llvm/lib/Target/X86/X86ISelLowering.cpp:1.63
--- llvm/lib/Target/X86/X86ISelLowering.cpp:1.62	Sat Jan 28 04:34:47 2006
+++ llvm/lib/Target/X86/X86ISelLowering.cpp	Sun Jan 29 00:26:08 2006
@@ -45,7 +45,7 @@
   setSchedulingPreference(SchedulingForRegPressure);
   setShiftAmountFlavor(Mask);   // shl X, 32 == shl X, 0
   setStackPointerRegisterToSaveRestore(X86::ESP);
-
+  
   // Set up the register classes.
   addRegisterClass(MVT::i8, X86::R8RegisterClass);
   addRegisterClass(MVT::i16, X86::R16RegisterClass);
@@ -213,6 +213,10 @@
     setOperationAction(ISD::FNEG , MVT::f32, Expand);
     setOperationAction(ISD::FREM , MVT::f32, Expand);
 
+    // Expand FP immediates into loads from the stack, except for the special
+    // cases we handle.
+    setOperationAction(ISD::ConstantFP, MVT::f64, Expand);
+    setOperationAction(ISD::ConstantFP, MVT::f32, Expand);
     addLegalFPImmediate(+0.0); // xorps / xorpd
   } else {
     // Set up the FP register classes.
@@ -228,6 +232,7 @@
       setOperationAction(ISD::FCOS           , MVT::f64  , Expand);
     }
 
+    setOperationAction(ISD::ConstantFP, MVT::f64, Expand);
     addLegalFPImmediate(+0.0); // FLD0
     addLegalFPImmediate(+1.0); // FLD1
     addLegalFPImmediate(-0.0); // FLD0/FCHS






More information about the llvm-commits mailing list