[X86] Add DAG combine to remove sext i32->i64 from gather/scatter instructions.
commit8fa256b6c9b84d0f922afa8a57a75e437cf8fd44
authorCraig Topper <craig.topper@intel.com>
Thu, 16 Nov 2017 23:09:06 +0000 (16 23:09 +0000)
committerCraig Topper <craig.topper@intel.com>
Thu, 16 Nov 2017 23:09:06 +0000 (16 23:09 +0000)
tree69ea6731a176054df3140dc946554b66375f9688
parent84ed30bdd7aa1c761033b443f6b5d7692145257e
[X86] Add DAG combine to remove sext i32->i64 from gather/scatter instructions.

Only do this pre-legalize in case we're using the sign extend to legalize for KNL.

This recovers all of the tests that changed when I stopped SelectionDAGBuilder from deleting sign extends.

There's more work that could be done here particularly to fix the i8->i64 test case that experienced split.

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