summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-02-28 05:44:20 +0000
committerChris Lattner <sabre@nondot.org>2008-02-28 05:44:20 +0000
commitbeb6a5ba4fffadfd546f90e50d594ae98a8bc65f (patch)
tree82442384c5a154c517fc62e4f2beb35dd8e17b9b /llvm/lib/Target/Sparc
parent765be8874d3b8abbc95273da8b326056580518a5 (diff)
downloadbcm5719-llvm-beb6a5ba4fffadfd546f90e50d594ae98a8bc65f.tar.gz
bcm5719-llvm-beb6a5ba4fffadfd546f90e50d594ae98a8bc65f.zip
fix CodeGen/Generic/2008-01-25-dag-combine-mul.ll on sparc, PR2105
llvm-svn: 47706
Diffstat (limited to 'llvm/lib/Target/Sparc')
-rw-r--r--llvm/lib/Target/Sparc/README.txt1
-rw-r--r--llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp3
2 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/Sparc/README.txt b/llvm/lib/Target/Sparc/README.txt
index f7cb9b84726..cc24abf7286 100644
--- a/llvm/lib/Target/Sparc/README.txt
+++ b/llvm/lib/Target/Sparc/README.txt
@@ -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:
diff --git a/llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp b/llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp
index faa3d3bbd97..40fa95c294b 100644
--- a/llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp
+++ b/llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp
@@ -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);
OpenPOWER on IntegriCloud