[X86] Remove zext from vXi32 to vXi64 on indices of gather/scatter instructions if...
authorCraig Topper <craig.topper@intel.com>
Wed, 20 Dec 2017 19:25:33 +0000 (19:25 +0000)
committerCraig Topper <craig.topper@intel.com>
Wed, 20 Dec 2017 19:25:33 +0000 (19:25 +0000)
commit07820f2fe4482a58031f4101d12b3abb092fc4e2
tree7b551eee71026b8a7b2bd0108e0ac9405c6aca86
parentd60951f469919476dfae4ca3f5ccb153c7072f47
[X86] Remove zext from vXi32 to vXi64 on indices of gather/scatter instructions if we can prove the pre-extended value is positive.

Gather/scatter can implicitly sign extend from i32->i64 on indices. So if we know the sign bit of the input to a zext is 0 we can use the implicit extension.

llvm-svn: 321209
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/masked_gather_scatter.ll