Hi Lauro,

This was caused by my fix for PR1529.

I'm currently considering the following patch, which fixes your attached
test case:

Index: lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
===================================================================
RCS file: /var/cvs/llvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp,v
retrieving revision 1.470
diff -u -r1.470 SelectionDAGISel.cpp
--- lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+++ lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
@@ -312,7 +312,9 @@
     MVT::ValueType ElementVT;
     NumRegisters = TLI.getVectorTypeBreakdown(VT, ElementVT, RegisterVT);
   } else {
-    RegisterVT = TLI.getTypeToTransformTo(VT);
+    RegisterVT = VT;
+    while (!TLI.isTypeLegal(RegisterVT))
+      RegisterVT = TLI.getTypeToTransformTo(RegisterVT);
     NumRegisters = TLI.getNumRegisters(VT);
   }
 

I'm looking to see if I can find a cleaner way to solve this.

Dan

-- 
Dan Gohman, Cray Inc.
_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to