[X86] Custom widen 128/256-bit vXi32 uint_to_fp on avx512f targets without avx512vl...
authorCraig Topper <craig.topper@intel.com>
Thu, 26 Dec 2019 22:43:33 +0000 (14:43 -0800)
committerCraig Topper <craig.topper@intel.com>
Thu, 26 Dec 2019 22:46:56 +0000 (14:46 -0800)
commitf953882113d089206821ad3113a48d873b7c7f23
tree9f8ec7ead84cf20380cce270a58bd2beb6f2a6e6
parentad1f7a895ba452ae8d9d0743bdbf8337cf36c5d9
[X86] Custom widen 128/256-bit vXi32 uint_to_fp on avx512f targets without avx512vl. Similar for vXi64 sint_to_fp/uint_to_fp on avx512dq without avx512vl.

Previously we widened these through isel patterns, but that
didn't work for STRICT_ nodes. Those need to be padded with
zeroes in the upper bits which is harder to do in isel patterns.
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/lib/Target/X86/X86InstrAVX512.td
llvm/test/CodeGen/X86/vec-strict-inttofp-128.ll
llvm/test/CodeGen/X86/vec-strict-inttofp-256.ll
llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll