Merge current work back to tree to minimize diffs and drift. Major highlights
authorScott Michel <scottm@aero.org>
Sat, 23 Feb 2008 18:41:37 +0000 (18:41 +0000)
committerScott Michel <scottm@aero.org>
Sat, 23 Feb 2008 18:41:37 +0000 (18:41 +0000)
commita59d469e9b31087f0f045bcb5d1a154c963be9b7
tree69a653dae42a34dea6cb63148ac5c417ea1c3a65
parentf65a0f7860bc9189c95a76cb6802d7ba54e61048
Merge current work back to tree to minimize diffs and drift. Major highlights
for CellSPU modifications:

- SPUInstrInfo.td refactoring: "multiclass" really is _your_ friend.
- Other improvements based on refactoring effort in SPUISelLowering.cpp,
  esp. in SPUISelLowering::PerformDAGCombine(), where zero amount shifts and
  rotates are now eliminiated, other scalar-to-vector-to-scalar silliness
  is also eliminated.
- 64-bit operations are being implemented, _muldi3.c gcc runtime now
  compiles and generates the right code. More work still needs to be done.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47532 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IntrinsicsCellSPU.td
lib/Target/CellSPU/CellSDKIntrinsics.td
lib/Target/CellSPU/SPUISelDAGToDAG.cpp
lib/Target/CellSPU/SPUISelLowering.cpp
lib/Target/CellSPU/SPUISelLowering.h
lib/Target/CellSPU/SPUInstrFormats.td
lib/Target/CellSPU/SPUInstrInfo.cpp
lib/Target/CellSPU/SPUInstrInfo.td
lib/Target/CellSPU/SPUNodes.td
lib/Target/CellSPU/SPUOperands.td
test/CodeGen/CellSPU/mul_ops.ll