[X86] Don't zero_extend cmov up to i64, stop at i32.
authorCraig Topper <craig.topper@intel.com>
Fri, 16 Feb 2018 06:52:43 +0000 (06:52 +0000)
committerCraig Topper <craig.topper@intel.com>
Fri, 16 Feb 2018 06:52:43 +0000 (06:52 +0000)
commit5d9e30104254467f0f4acdaa2b7628ae271883ea
tree99d80a612f1247763b996db21840021feac74623
parent6de1e858a1cd65407475dde50bf9bd0e34e1b95e
[X86] Don't zero_extend cmov up to i64, stop at i32.

Zero extend from i32 to i64 is free. So extend from i16 to i32, and then use a free zero extend to finish.

llvm-svn: 325317
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/cmov-promotion.ll