Add some basic ARM asm constraints
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50085 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
index a06d5e6..c4ffa0d 100644
--- a/lib/Basic/Targets.cpp
+++ b/lib/Basic/Targets.cpp
@@ -804,7 +804,16 @@
NumAliases = 0;
}
virtual bool validateAsmConstraint(char c,
- TargetInfo::ConstraintInfo &Info) const {
+ TargetInfo::ConstraintInfo &info) const {
+ switch (c) {
+ default:
+ case 'l': // r0-r7
+ case 'h': // r8-r15
+ case 'w': // VFP Floating point register single precision
+ case 'P': // VFP Floating point register double precision
+ info = (TargetInfo::ConstraintInfo)(info|TargetInfo::CI_AllowsRegister);
+ return true;
+ }
return false;
}
virtual const char *getClobbers() const {