From: Eli Friedman Date: Wed, 3 Jun 2009 10:33:05 +0000 (+0000) Subject: PR3678: Add support for "Yt" asm register constraint. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a3c29e11b8354af47ec21e3f8eb459e087c6f4b8;p=clang 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 --- 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}} +}