add one more case of mismatched input/output constraints.
commit935f0f01c1ed3c2052b797ac035d57a85b78adc4
authorChris Lattner <sabre@nondot.org>
Mon, 21 Feb 2011 22:09:29 +0000 (21 22:09 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 21 Feb 2011 22:09:29 +0000 (21 22:09 +0000)
treeb55ef3e832410363c4faa8fdba992a497c73b891
parentf0c4d28020fb13fdbf7d6fccfab1b7b6a118ad0e
add one more case of mismatched input/output constraints.
When the mismatch is due to a larger input operand that is
a constant, truncate it down to the size of the output.  This
allows us to accept some cases in the linux kernel and elsewhere.
Pedantically speaking, we generate different code than GCC, though
I can't imagine how it would matter:

Clang:
movb $-1, %al
frob %al

GCC:

movl $255, %eax
frob %al

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126148 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/Stmt.h
lib/AST/Stmt.cpp
lib/Sema/SemaStmt.cpp
test/CodeGen/asm-inout.c