Fix PPC64 64-bit GPR inline asm constraint matching
authorHal Finkel <hfinkel@anl.gov>
Sat, 3 Aug 2013 12:25:10 +0000 (12:25 +0000)
committerHal Finkel <hfinkel@anl.gov>
Sat, 3 Aug 2013 12:25:10 +0000 (12:25 +0000)
commitb176acb6b72e12f301e0ea9c9e8664f5ba6de610
tree3f74abac9d13d1505444769572a5943fa71882f5
parent2f9cce2cd6715bceeab0ec052e115ce64252fb88
Fix PPC64 64-bit GPR inline asm constraint matching

Internally, the PowerPC backend names the 32-bit GPRs R[0-9]+, and names the
64-bit parent GPRs X[0-9]+. When matching inline assembly constraints with
explicit register names, on PPC64 when an i64 MVT has been requested, we need
to follow gcc's convention of using r[0-9]+ to refer to the 64-bit (parent)
registers.

At some point, we'll probably want to arrange things so that the generic code
in TargetLowering uses the AsmName fields declared in *RegisterInfo.td in order
to match these inline asm register constraints. If we do that, this change can
be reverted.

llvm-svn: 187693
llvm/lib/Target/PowerPC/PPCISelLowering.cpp
llvm/test/CodeGen/PowerPC/inlineasm-i64-reg.ll [new file with mode: 0644]