diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2011-04-29 14:09:57 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2011-04-29 14:09:57 +0000 |
commit | ce3a022b8c07339b31aadb56288a8e02c76b40e3 (patch) | |
tree | a5bc6edbd2fc41159a8f4ded22cdef5a679eea5f /lib/Target/X86/README.txt | |
parent | e02a1501e79e7017e989ba7db0eed0eaea1ece0b (diff) | |
download | external_llvm-ce3a022b8c07339b31aadb56288a8e02c76b40e3.zip external_llvm-ce3a022b8c07339b31aadb56288a8e02c76b40e3.tar.gz external_llvm-ce3a022b8c07339b31aadb56288a8e02c76b40e3.tar.bz2 |
This is done.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130499 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/README.txt')
-rw-r--r-- | lib/Target/X86/README.txt | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt index 8237fbd..ea3014e 100644 --- a/lib/Target/X86/README.txt +++ b/lib/Target/X86/README.txt @@ -1728,26 +1728,6 @@ are functionally identical. //===---------------------------------------------------------------------===// Take the following C code: -int x(int y) { return (y & 63) << 14; } - -Code produced by gcc: - andl $63, %edi - sall $14, %edi - movl %edi, %eax - ret - -Code produced by clang: - shll $14, %edi - movl %edi, %eax - andl $1032192, %eax - ret - -The code produced by gcc is 3 bytes shorter. This sort of construct often -shows up with bitfields. - -//===---------------------------------------------------------------------===// - -Take the following C code: int f(int a, int b) { return (unsigned char)a == (unsigned char)b; } We generate the following IR with clang: |