[x86] X86ISelLowering zext(add_nuw(x, C)) --> add(zext(x), C_zext)
authorArtur Pilipenko <apilipenko@azulsystems.com>
Fri, 12 Aug 2016 16:08:30 +0000 (16:08 +0000)
committerArtur Pilipenko <apilipenko@azulsystems.com>
Fri, 12 Aug 2016 16:08:30 +0000 (16:08 +0000)
commit87e4038a9154cb4b79a3dc19fe096bd8bdc8801e
tree8709b060237364da3fefe8761a6e38e57680890d
parent17e17010758aa06f03e878b0ee1f72f60e08575e
[x86] X86ISelLowering zext(add_nuw(x, C)) --> add(zext(x), C_zext)

Currently X86ISelLowering has a similar transformation for sexts:
sext(add_nsw(x, C)) --> add(sext(x), C_sext)

In this change I extend this code to handle zexts as well.

Reviewed By: spatel

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

llvm-svn: 278520
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/add-ext.ll [moved from llvm/test/CodeGen/X86/add-nsw-sext.ll with 81% similarity]