OSDN Git Service

[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)
commit9d97dd42c1db24db46a879e5f3da3eff834f481e
tree86fa5addcac800b8b83c8fef9a960fa1f5ac7dab
parent37489f4c210390094f694e90bff314747700526a
[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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@321209 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/masked_gather_scatter.ll