Change SPU register re-interpretations from OR to COPY_TO_REGCLASS instruction.
authorKalle Raiskila <kalle.raiskila@nokia.com>
Thu, 16 Sep 2010 12:29:33 +0000 (12:29 +0000)
committerKalle Raiskila <kalle.raiskila@nokia.com>
Thu, 16 Sep 2010 12:29:33 +0000 (12:29 +0000)
commit1cd1b0b283079b5a8c54759983e9e70845971b2c
tree9e83b681f07349a3e8d5114eecde92c3fa233840
parent5754a4525625a67a6c9b4f63512ea9db6997bf05
Change SPU register re-interpretations from OR to COPY_TO_REGCLASS instruction.

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114074 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/CellSPU/SPU64InstrInfo.td
lib/Target/CellSPU/SPUISelDAGToDAG.cpp
lib/Target/CellSPU/SPUInstrInfo.td
test/CodeGen/CellSPU/v2i32.ll