[PATCH] D103881: [ValueTypes] Define MVTs for v6i32, v6f32, v7i32, v7f32
Steven Johnson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 14 15:46:21 PDT 2021
srj added a comment.
Debugging into this a little further, it's unclear to me how `EVT::changeVectorElementType()` can be expected to work reliably: it assumes that if `EltVT.isSimple() == true`, then `MVT::changeVectorElementType(EltVT)` will be legal, but this is clearly not the case, since there aren't equivalent widths of MVTs for all element types. (In this case, v6i32 -> v6i16 isn't possible since v6i16 doesn't exist).
But what really puzzles me is why this never broke before, since even before this change, this wasn't a valid assumption (e.g. v3i32 -> v3i8 would have failed similarly before) -- is there logic upstream of this call that intends to guard against this somehow?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D103881/new/
https://reviews.llvm.org/D103881
More information about the llvm-commits
mailing list