From a3c29e11b8354af47ec21e3f8eb459e087c6f4b8 Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Wed, 3 Jun 2009 10:33:05 +0000 Subject: [PATCH] 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 --- lib/Basic/Targets.cpp | 7 +++++++ test/Sema/asm-x86.c | 7 +++++++ 2 files changed, 14 insertions(+) create mode 100644 test/Sema/asm-x86.c 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}} +} -- 2.50.1