Changes in directory llvm/lib/Target/PowerPC:

PPCISelLowering.cpp updated: 1.200 -> 1.201
---
Log message:

Fix miscompilation of float vector returns.  Compile code to this:

_func:
        vsldoi v2, v3, v2, 12
        vsldoi v2, v2, v2, 4
        blr

instead of:

_func:
        vsldoi v2, v3, v2, 12
        vsldoi v2, v2, v2, 4
***     vor f1, v2, v2
        blr



---
Diffs of the changes:  (+4 -4)

 PPCISelLowering.cpp |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)


Index: llvm/lib/Target/PowerPC/PPCISelLowering.cpp
diff -u llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.200 
llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.201
--- llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.200   Fri Jul 28 11:45:47 2006
+++ llvm/lib/Target/PowerPC/PPCISelLowering.cpp Fri Aug 11 11:47:32 2006
@@ -1238,11 +1238,11 @@
       ArgReg = PPC::R3;
     } else if (ArgVT == MVT::i64) {
       ArgReg = PPC::X3;
-    } else if (MVT::isFloatingPoint(ArgVT)) {
-      ArgReg = PPC::F1;
-    } else {
-      assert(MVT::isVector(ArgVT));
+    } else if (MVT::isVector(ArgVT)) {
       ArgReg = PPC::V2;
+    } else {
+      assert(MVT::isFloatingPoint(ArgVT));
+      ArgReg = PPC::F1;
     }
     
     Copy = DAG.getCopyToReg(Op.getOperand(0), ArgReg, Op.getOperand(1),



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to