diff options
author | Nate Begeman <natebegeman@mac.com> | 2008-04-22 05:03:19 +0000 |
---|---|---|
committer | Nate Begeman <natebegeman@mac.com> | 2008-04-22 05:03:19 +0000 |
commit | ad487f4ef2968c5a11bb729e65fda2f2e4b155c8 (patch) | |
tree | 85af67bd4ed756bcf10c9691193aa1209a33581f /lib/Basic/Targets.cpp | |
parent | 9704eacf27608cf3549014dd198b0f1148a4a3a0 (diff) |
Add some basic ARM asm constraints
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50085 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Basic/Targets.cpp')
-rw-r--r-- | lib/Basic/Targets.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index a06d5e647f..c4ffa0d65e 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -804,7 +804,16 @@ public: 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 { |