[LV] Handle non-integral types when considering interleave widening legality
authorPhilip Reames <listmail@philipreames.com>
Mon, 4 Apr 2022 03:09:03 +0000 (20:09 -0700)
committerPhilip Reames <listmail@philipreames.com>
Mon, 4 Apr 2022 03:16:20 +0000 (20:16 -0700)
commit88de27e3fd9fccec9abd1d224282a6374931fb64
tree317e7e51c35878529817db8455b409db2a8ccd5e
parent7c51669c21f1b28ad865fb8b9556144d544dce1b
[LV] Handle non-integral types when considering interleave widening legality

In general, anywhere we might need to insert a blind bitcast, we need to make sure the types are losslessly convertible.

This fixes pr54634.
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/test/Transforms/LoopVectorize/X86/pr54634.ll [new file with mode: 0644]