diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2009-06-03 10:33:05 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2009-06-03 10:33:05 +0000 |
commit | a3c29e11b8354af47ec21e3f8eb459e087c6f4b8 (patch) | |
tree | 4f38a8bb023bb01a6cf6579aa3d0df58f4b69a98 | |
parent | c4db24a96d062b2d3fb1f46c28a75ed728b00030 (diff) |
PR3678: Add support for "Yt" asm register constraint.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72764 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Basic/Targets.cpp | 7 | ||||
-rw-r--r-- | test/Sema/asm-x86.c | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 4b94bcfc43..cdb7e08056 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -754,6 +754,13 @@ X86TargetInfo::validateAsmConstraint(const char *&Name, // instructions. Info.setAllowsRegister(); return true; + case 'Y': + ++Name; + if (*Name == 't') { + Info.setAllowsRegister(); + return true; + } + return false; } } diff --git a/test/Sema/asm-x86.c b/test/Sema/asm-x86.c new file mode 100644 index 0000000000..d8fe38065f --- /dev/null +++ b/test/Sema/asm-x86.c @@ -0,0 +1,7 @@ +// RUN: clang-cc %s -triple i386-pc-linux-gnu -target-feature=+sse2 -verify -fsyntax-only + +// PR3678 +int test8() { + asm("%0" : : "Yt"(1.0)); + asm("%0" : : "Yy"(1.0)); // expected-error {{invalid input constraint 'Yy' in asm}} +} |