Go to file
Alexander Ivchenko 34498ba052 [X86] Combining CMOVs with [ANY,SIGN,ZERO]_EXTEND for cases where CMOV has constant arguments
Combine CMOV[i16]<-[SIGN,ZERO,ANY]_EXTEND to [i32,i64] into CMOV[i32,i64].
One example of where it is useful is:

before (20 bytes)
    <foo>:
    test $0x1,%dil
    mov $0x307e,%ax
    mov $0xffff,%cx
    cmovne %ax,%cx
    movzwl %cx,%eax
    retq

after (18 bytes)
    <foo>:
    test $0x1,%dil
    mov $0x307e,%ecx
    mov $0xffff,%eax
    cmovne %ecx,%eax
    retq

Reviewers: craig.topper, aaboud, spatel, RKSimon, zvi

Reviewed By: spatel

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D36711

llvm-svn: 313982
2017-09-22 13:21:39 +00:00
clang Add Cross Translation Unit support library 2017-09-22 11:11:01 +00:00
clang-tools-extra [clang-tidy] Fix example in documentation, NFC 2017-09-22 04:37:56 +00:00
compiler-rt [asan/lsan] Trying to fix PPC64 and x380x buildbots after r313966 2017-09-22 10:44:28 +00:00
debuginfo-tests Revert r313600 due to bot failures on Green Dragon. 2017-09-19 14:51:37 +00:00
libclc Implement cl_khr_int64_extended_atomics builtins 2017-09-20 20:42:19 +00:00
libcxx Revert 313789 because gcc doesn't like it 2017-09-20 19:38:43 +00:00
libcxxabi Fix ASAN build with older compiler-rt versions. 2017-09-14 22:37:34 +00:00
libunwind [libunwind] Partially revert r297174 to fix build on at least FreeBSD. 2017-09-21 21:28:48 +00:00
lld Update for llvm change. 2017-09-21 23:13:40 +00:00
lldb Revert this patch; I was emailing with Eugene and they have some other changes going 2017-09-21 23:02:56 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm [X86] Combining CMOVs with [ANY,SIGN,ZERO]_EXTEND for cases where CMOV has constant arguments 2017-09-22 13:21:39 +00:00
openmp Read blocktime value set by kmp_set_blocktime() before reading from KMP_BLOCKTIME 2017-09-05 15:45:48 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly polly-update-format after change in clang-format. NFC. 2017-09-22 11:30:26 +00:00