summaryrefslogtreecommitdiffstats
path: root/clang/Basic
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2008-02-18 17:00:25 +0000
committerAnders Carlsson <andersca@mac.com>2008-02-18 17:00:25 +0000
commit196aa53300984739ed6957be884e520dc4b2f005 (patch)
treee55dbb44fbaf7c4d7857af8a26355036230207dd /clang/Basic
parentf631ae2cf858f5054f6e8a607f1536ec2838f3e5 (diff)
downloadbcm5719-llvm-196aa53300984739ed6957be884e520dc4b2f005.tar.gz
bcm5719-llvm-196aa53300984739ed6957be884e520dc4b2f005.zip
Add more supported constraints.
llvm-svn: 47270
Diffstat (limited to 'clang/Basic')
-rw-r--r--clang/Basic/TargetInfo.cpp1
-rw-r--r--clang/Basic/Targets.cpp2
2 files changed, 3 insertions, 0 deletions
diff --git a/clang/Basic/TargetInfo.cpp b/clang/Basic/TargetInfo.cpp
index f0aecb1e08a..6b600a43a9b 100644
--- a/clang/Basic/TargetInfo.cpp
+++ b/clang/Basic/TargetInfo.cpp
@@ -435,6 +435,7 @@ bool TargetInfo::validateInputConstraint(const char *Name,
// FIXME: Fail if % is used with the last operand.
break;
case 'i': // immediate integer.
+ case 'I':
break;
case 'r': // general register.
info = (ConstraintInfo)(info|CI_AllowsRegister);
diff --git a/clang/Basic/Targets.cpp b/clang/Basic/Targets.cpp
index afe6e74f666..fec84998661 100644
--- a/clang/Basic/Targets.cpp
+++ b/clang/Basic/Targets.cpp
@@ -461,6 +461,8 @@ namespace X86 {
case 't': // top of floating point stack.
case 'u': // second from top of floating point stack.
case 'q': // a, b, c, d registers or any integer register in 64-bit.
+ case 'Z': // 32-bit integer constant for used with zero-extending x86_64
+ // instructions.
info = (TargetInfo::ConstraintInfo)(info|TargetInfo::CI_AllowsRegister);
return true;
}
OpenPOWER on IntegriCloud