[PATCH, PowerPC] Accept 'U' and 'X' constraints in inline asm
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>
Thu, 11 Sep 2014 20:10:03 +0000 (20:10 +0000)
committerBill Schmidt <wschmidt@linux.vnet.ibm.com>
Thu, 11 Sep 2014 20:10:03 +0000 (20:10 +0000)
commit24ebd0edd63e593f3a05271afd76f9f0f542ce3d
tree68e72cd5e2b095008c3cd2b86a27844292d519b3
parent67868b57912b4624ed4c1b0ad5673917800b1301
[PATCH, PowerPC] Accept 'U' and 'X' constraints in inline asm

Inline asm may specify 'U' and 'X' constraints to print a 'u' for an
update-form memory reference, or an 'x' for an indexed-form memory
reference.  However, these are really only useful in GCC internal code
generation.  In inline asm the operand of the memory constraint is
typically just a register containing the address, so 'U' and 'X' make
no sense.

This patch quietly accepts 'U' and 'X' in inline asm patterns, but
otherwise does nothing.  If we ever unexpectedly see a non-register,
we'll assert and sort it out afterwards.

I've added a new test for these constraints; the test case should be
used for other asm-constraints changes down the road.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217622 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/PowerPC/PPCAsmPrinter.cpp
test/CodeGen/PowerPC/asm-constraints.ll [new file with mode: 0644]