summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/CellSPU/v2i32.ll
Commit message (Collapse)AuthorAgeFilesLines
* Remove the CellSPU port.Eric Christopher2012-11-141-61/+0
| | | | | | Approved by Chris Lattner. llvm-svn: 167984
* Enable element promotion type legalization by deafault.Nadav Rotem2011-10-161-18/+2
| | | | | | Changed tests which assumed that vectors are legalized by widening them. llvm-svn: 142152
* Change v64 datalayout in SPU.Kalle Raiskila2010-10-261-0/+14
| | | | | | | | | | | | | | The SPU ABI does not mention v64, and all examples in C suggest v128 are treated similarily to arrays, we use array alignment for v64 too. This makes the alignment of e.g. [2 x <2 x i32>] behave "intuitively" and similar to as if the elements were e.g. i32s. This also makes an "unaligned store" test to be aligned, with different (but functionally equivalent) code generated. llvm-svn: 117360
* Change SPU register re-interpretations from OR to COPY_TO_REGCLASS instruction.Kalle Raiskila2010-09-161-3/+2
| | | | | | | | | | | | | This cleans up after the mess r108567 left in the CellSPU backend. ORCvt-instruction were used to reinterpret registers, and the ORs were then removed by isMoveInstr(). This patch now removes 350 instrucions of format: or $3, $3, $3 (from the 52 testcases in CodeGen/CellSPU). One case of a nonexistant or is checked for. Some moves of the form 'ori $., $., 0' and 'ai $., $., 0' still remain. llvm-svn: 114074
* Remove all traces of v2[i,f]32 on SPU. Kalle Raiskila2010-08-181-5/+5
| | | | | | | | The "half vectors" are now widened to full size by the legalizer. The only exception is in parameter passing, where half vectors are expanded. This causes changes to some dejagnu tests. llvm-svn: 111360
* Make SPU backend handle insertelement and Kalle Raiskila2010-08-041-0/+7
| | | | | | store for "half vectors" llvm-svn: 110198
* Add preliminary v2i32 support for SPU backend. As there are noKalle Raiskila2010-08-021-0/+57
such registers in SPU, this support boils down to "emulating" them by duplicating instructions on the general purpose registers. This adds the most basic operations on v2i32: passing parameters, addition, subtraction, multiplication and a few others. llvm-svn: 110035
OpenPOWER on IntegriCloud