implement support for f32 arguments past the first 6 words
authorChris Lattner <sabre@nondot.org>
Thu, 19 Jan 2006 07:22:29 +0000 (07:22 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 19 Jan 2006 07:22:29 +0000 (07:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25450 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Sparc/SparcISelDAGToDAG.cpp
lib/Target/SparcV8/SparcV8ISelDAGToDAG.cpp

index e09b308e1fa140b87ba40d794848d0515d810d49..c800c5e9df9c1ed48c4a1169841541a142844b38 100644 (file)
@@ -266,6 +266,11 @@ SparcV8TargetLowering::LowerArguments(Function &F, SelectionDAG &DAG) {
 
         Arg = DAG.getNode(ISD::BIT_CONVERT, MVT::f32, Arg);
         ArgValues.push_back(Arg);
+      } else {
+        int FrameIdx = MF.getFrameInfo()->CreateFixedObject(4, ArgOffset);
+        SDOperand FIPtr = DAG.getFrameIndex(FrameIdx, MVT::i32);
+        SDOperand Load = DAG.getLoad(MVT::f32, Root, FIPtr, DAG.getSrcValue(0));
+        ArgValues.push_back(Load);
       }
       ArgOffset += 4;
       break;
index e09b308e1fa140b87ba40d794848d0515d810d49..c800c5e9df9c1ed48c4a1169841541a142844b38 100644 (file)
@@ -266,6 +266,11 @@ SparcV8TargetLowering::LowerArguments(Function &F, SelectionDAG &DAG) {
 
         Arg = DAG.getNode(ISD::BIT_CONVERT, MVT::f32, Arg);
         ArgValues.push_back(Arg);
+      } else {
+        int FrameIdx = MF.getFrameInfo()->CreateFixedObject(4, ArgOffset);
+        SDOperand FIPtr = DAG.getFrameIndex(FrameIdx, MVT::i32);
+        SDOperand Load = DAG.getLoad(MVT::f32, Root, FIPtr, DAG.getSrcValue(0));
+        ArgValues.push_back(Load);
       }
       ArgOffset += 4;
       break;