CGM.ErrorUnsupported(&Stmt, "__asm__");
return Constraint;
}
+ // Canonicalize the register here before returning it.
+ Register = Target.getNormalizedGCCRegisterName(Register);
return "{" + Register.str() + "}";
}
return r;
}
+
+// Make sure we translate register names properly.
+void bar (void) {
+ register unsigned int rn asm("r14");
+ register unsigned int d asm("r2");
+
+ // CHECK: call i32 asm sideeffect "sub $1, $1, #32", "={r2},{lr}"
+ asm volatile ("sub %1, %1, #32" : "=r"(d) : "r"(rn));
+}