[X86] Add DAG combine to remove sext i32->i64 from gather/scatter instructions.
authorCraig Topper <craig.topper@intel.com>
Thu, 16 Nov 2017 23:09:06 +0000 (23:09 +0000)
committerCraig Topper <craig.topper@intel.com>
Thu, 16 Nov 2017 23:09:06 +0000 (23:09 +0000)
commit089082378f28820fc441c9ae812c1423de32d692
treea336561ff84357eabde72dc4b78a13f578a59803
parent1120bb9f59dfcc72ca928d88d31af5aecd5cab2c
[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.

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