fix CodeGen/Generic/2008-01-25-dag-combine-mul.ll on sparc, PR2105
authorChris Lattner <sabre@nondot.org>
Thu, 28 Feb 2008 05:44:20 +0000 (05:44 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 28 Feb 2008 05:44:20 +0000 (05:44 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47706 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Sparc/README.txt
lib/Target/Sparc/SparcISelDAGToDAG.cpp

index f7cb9b847262931b568dda5f5db71fe63d8fcd79..cc24abf7286f5aaa32856aa3bd166600cabba021 100644 (file)
@@ -7,6 +7,7 @@ To-do
 * We can fold small constant offsets into the %hi/%lo references to constant
   pool addresses as well.
 * When in V9 mode, register allocate %icc[0-3].
+* Add support for isel'ing UMUL_LOHI instead of marking it as Expand.
 * Emit the 'Branch on Integer Register with Prediction' instructions.  It's
   not clear how to write a pattern for this though:
 
index faa3d3bbd97f78e3252af307712ef2193b73610d..40fa95c294b304a629aacf08cdf3243a01d7b718 100644 (file)
@@ -218,6 +218,9 @@ SparcTargetLowering::SparcTargetLowering(TargetMachine &TM)
   setOperationAction(ISD::SRA_PARTS, MVT::i32, Expand);
   setOperationAction(ISD::SRL_PARTS, MVT::i32, Expand);
 
+  // FIXME: Sparc provides these multiplies, but we don't have them yet.
+  setOperationAction(ISD::UMUL_LOHI, MVT::i32, Expand);
+    
   // We don't have line number support yet.
   setOperationAction(ISD::LOCATION, MVT::Other, Expand);
   setOperationAction(ISD::DEBUG_LOC, MVT::Other, Expand);