We already support using "r" on 64-bit values (a GPRPair is
allocated), but Sema doesn't know this yet so issues a warning. This
should fix it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196724
91177308-0d34-0410-b5e6-
96231b3b80d8
case 'r': {
switch (Modifier) {
default:
- return (isInOut || isOutput || Size <= 32);
+ return (isInOut || isOutput || Size <= 64);
case 'q':
// A register of size 32 cannot fit a vector type.
return false;
asm volatile ("lw (r1), %0[val]": "=&b"(Val)); // expected-error {{invalid output constraint '=&b' in asm}}
return;
}
+
+void test_64bit_r(void) {
+ long long foo = 0, bar = 0;
+ asm volatile("INST %0, %1" : "=r"(foo) : "r"(bar));
+}