]> granicus.if.org Git - llvm/commit
[X86] Add a DAG combine to replace vector loads feeding a v4i32->v2f64 CVTSI2FP/CVTUI...
authorCraig Topper <craig.topper@intel.com>
Mon, 1 Jul 2019 07:09:31 +0000 (07:09 +0000)
committerCraig Topper <craig.topper@intel.com>
Mon, 1 Jul 2019 07:09:31 +0000 (07:09 +0000)
commit59a3445a99adc43eae0cda24a29b4905f1a4eeef
tree8a7442bd145c0936d4778fd1ec21ddd64402ebdf
parente03609b17c84f9585818cbf74e40eecde6828612
[X86] Add a DAG combine to replace vector loads feeding a v4i32->v2f64 CVTSI2FP/CVTUI2FP node with a vzload.

But only when the load isn't volatile.

This improves load folding during isel where we only have vzload
and scalar_to_vector+load patterns. We can't have full vector load
isel patterns for the same volatile load issue.

Also add some missing masked cvtsi2fp/cvtui2fp with vzload patterns.

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