summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/CellSPU/mul_ops.ll
Commit message (Collapse)AuthorAgeFilesLines
* Remove the CellSPU port.Eric Christopher2012-11-141-88/+0
| | | | | | Approved by Chris Lattner. llvm-svn: 167984
* Teach dag combine to fold the following transformation more aggressively:Evan Cheng2010-01-061-1/+0
| | | | | | | | | | (OP (trunc x), (trunc y)) -> (trunc (OP x, y)) Unfortunately this simple change causes dag combine to infinite looping. The problem is the shrink demanded ops optimization tend to canonicalize expressions in the opposite manner. That is badness. This patch disable those optimizations in dag combine but instead it is done as a late pass in sdisel. This also exposes some deficiencies in dag combine and x86 setcc / brcond lowering. Teach them to look pass ISD::TRUNCATE in various places. llvm-svn: 92849
* Convert more tests to avoid llvm-as.Dan Gohman2009-09-111-1/+1
| | | | llvm-svn: 81545
* - Start moving target-dependent nodes that could be represented by anScott Michel2008-12-301-1/+1
| | | | | | | | | | | | | instruction sequence and cannot ordinarily be simplified by DAGcombine into the various target description files or SPUDAGToDAGISel.cpp. This makes some 64-bit operations legal. - Eliminate target-dependent ISD enums. - Update tests. llvm-svn: 61508
* - Expand tabs to spaces.Scott Michel2008-03-051-12/+12
| | | | | | | | - select_bits.ll now fully functional now that PR1993 is closed. It was previously broken by refactoring in SPUInstrInfo.td and using multiclasses. - Same for eqv.ll llvm-svn: 47972
* Merge current work back to tree to minimize diffs and drift. Major highlightsScott Michel2008-02-231-3/+2
| | | | | | | | | | | | | | 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. llvm-svn: 47532
* remove extraneous &&'s from tests, as Scott is apparently not going to.Chris Lattner2008-01-181-13/+13
| | | | llvm-svn: 46173
* Forward progress: crtbegin.c now compiles successfully!Scott Michel2008-01-171-0/+90
Fixed CellSPU's A-form (local store) address mode, so that all globals, externals, constant pool and jump table symbols are now wrapped within a SPUISD::AFormAddr pseudo-instruction. This now identifies all local store memory addresses, although it requires a bit of legerdemain during instruction selection to properly select loads to and stores from local store, properly generating "LQA" instructions. Also added mul_ops.ll test harness for exercising integer multiplication. llvm-svn: 46142
OpenPOWER on IntegriCloud