CellSPU:
authorScott Michel <scottm@aero.org>
Thu, 4 Dec 2008 03:02:42 +0000 (03:02 +0000)
committerScott Michel <scottm@aero.org>
Thu, 4 Dec 2008 03:02:42 +0000 (03:02 +0000)
commit30ee7df71c4b08da5d7e3f772f29f7c9ca57d8fa
tree30a343ef012e6dbd1dabd6e215eb82761829f09b
parent80e201b8db86a88249b89527a2c7f098237925d3
CellSPU:
- First patch from Nehal Desai, a new contributor at Aerospace. Nehal's patch
  fixes sign/zero/any-extending loads for integers and floating point. Example
  code, compiled w/o debugging or optimization where he first noticed the bug:

  int main(void) {
    float a = 99.0;
    printf("%d\n", a);
    return 0;
  }

  Verified that this code actually works on a Cell SPU.

Changes by Scott Michel:
- Fix bug in the value type list constructed by SPUISD::LDRESULT to include
  both the load result's result and chain, not just the chain alone.
- Simplify LowerLOAD and remove extraneous and unnecessary chains.
- Remove unused SPUISD pseudo instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60526 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/CellSPU/SPUISelDAGToDAG.cpp
lib/Target/CellSPU/SPUISelLowering.cpp
lib/Target/CellSPU/SPUISelLowering.h
lib/Target/CellSPU/SPUInstrInfo.td
lib/Target/CellSPU/SPUNodes.td