c-rhodes added inline comments.
================ Comment at: clang/lib/CodeGen/CGExprScalar.cpp:2110-2129 // Perform VLAT <-> VLST bitcast through memory. // TODO: since the llvm.experimental.vector.{insert,extract} intrinsics // require the element types of the vectors to be the same, we // need to keep this around for casting between predicates, or more // generally for bitcasts between VLAT <-> VLST where the element // types of the vectors are not the same, until we figure out a better // way of doing these casts. ---------------- bsmith wrote: > c-rhodes wrote: > > With the predicate casting now using the intrinsics I don't think this is > > needed any longer. Perhaps we should add an unreachable above if the > > element type doesn't match? > Don't we still need this for casting between vectors with different element > types, or are these guaranteed to not hit this code path? > Don't we still need this for casting between vectors with different element > types, or are these guaranteed to not hit this code path? Apologies I was wrong, you're right we'll still need it for casting between vectors with different element types to support lax vector conversions, although it's no longer tested. Might be worth adding a codegen test for ~: ```svint64_t lax_cast(fixed_int32_t t) { return t; }``` and the comment could also be updated Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106860/new/ https://reviews.llvm.org/D106860 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits