Add support for the 'Q' arm memory constraint.

Fixes rdar://9866494

llvm-svn: 136524
This commit is contained in:
Eric Christopher 2011-07-29 21:20:35 +00:00
parent aa5030066f
commit b081ba651c
2 changed files with 10 additions and 1 deletions

View File

@ -2137,6 +2137,9 @@ public:
case 'P': // VFP Floating point register double precision
Info.setAllowsRegister();
return true;
case 'Q': // A memory address that is a single base register.
Info.setAllowsMemory();
return true;
case 'U': // a memory reference...
switch (Name[1]) {
case 'q': // ...ARMV4 ldrsb

View File

@ -0,0 +1,6 @@
// RUN: %clang_cc1 -triple armv7-apple-darwin9 -emit-llvm -w -o - %s | FileCheck %s
void t1 (void *f, int g) {
// CHECK: call void asm "str $1, $0", "=*Q,r"
asm("str %1, %0" : "=Q"(f) : "r"(g));
}