When generating spill and reload code for vector registers on PowerPC,
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>
Wed, 10 Oct 2012 21:25:01 +0000 (21:25 +0000)
committerBill Schmidt <wschmidt@linux.vnet.ibm.com>
Wed, 10 Oct 2012 21:25:01 +0000 (21:25 +0000)
commitb9bc47409d8ae8f7e1b1652e95ccb1ea29497476
tree7681b90e6142687a59880e16aad5be471f858f73
parent38d945872097549606ea62b64ded743afdab0648
When generating spill and reload code for vector registers on PowerPC,
the compiler makes use of GPR0.  However, there are two flavors of
GPR0 defined by the target:  the 32-bit GPR0 (R0) and the 64-bit GPR0
(X0).  The spill/reload code makes use of R0 regardless of whether we
are generating 32- or 64-bit code.

This patch corrects the problem in the obvious manner, using X0 and
ADDI8 for 64-bit and R0 and ADDI for 32-bit.

llvm-svn: 165658
llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
llvm/test/CodeGen/PowerPC/vrspill.ll [new file with mode: 0644]