aboutsummaryrefslogtreecommitdiff
path: root/lib/Support/APInt.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-02-26 03:18:56 +0000
committerChris Lattner <sabre@nondot.org>2007-02-26 03:18:56 +0000
commitdf5cdb52887bf0ce57473053cf955152ce92b568 (patch)
tree82893c46467fcb6683eb83687eb2d5eb77f7ec35 /lib/Support/APInt.cpp
parent6c0880c62460521dd8d9e0bcb8482517fa7b482c (diff)
in X86-64 CCC, i8/i16 arguments are already properly zext/sext'd on input.
Capture this so that downstream zext/sext's are optimized out. This compiles: int test(short X) { return (int)X; } to: _test: movl %edi, %eax ret instead of: _test: movswl %di, %eax ret GCC produces this bizarre code: _test: movw %di, -12(%rsp) movswl -12(%rsp),%eax ret git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34623 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support/APInt.cpp')
0 files changed, 0 insertions, 0 deletions