[X86] Combine masked store and truncate into masked truncating stores.
authorCraig Topper <craig.topper@intel.com>
Fri, 25 Jan 2019 18:37:36 +0000 (18:37 +0000)
committerCraig Topper <craig.topper@intel.com>
Fri, 25 Jan 2019 18:37:36 +0000 (18:37 +0000)
commit4cf28bad5b106ba71c03798ba01223ae5942bc05
tree80aef6dab212175bcc5939def8ca519987bed220
parente3f289c96976b35162d2d60a4d16bc73e4e4ad31
[X86] Combine masked store and truncate into masked truncating stores.

We also need to combine to masked truncating with saturation stores, but I'm leaving that for a future patch.

This does regress some tests that used truncate wtih saturation followed by a masked store. Those now use a truncating store and use min/max to saturate.

Differential Revision: https://reviews.llvm.org/D57218

llvm-svn: 352230
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/masked_store_trunc.ll
llvm/test/CodeGen/X86/masked_store_trunc_ssat.ll
llvm/test/CodeGen/X86/masked_store_trunc_usat.ll