[llvm] [RISCV][GISEL] Legalize G_BITCAST for scalable vectors (PR #85970)
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 20 12:38:10 PDT 2024
================
@@ -155,6 +155,9 @@ RISCVLegalizerInfo::RISCVLegalizerInfo(const RISCVSubtarget &ST)
getActionDefinitionsBuilder(G_BITREVERSE).maxScalar(0, sXLen).lower();
+ getActionDefinitionsBuilder(G_BITCAST).legalIf(
+ all(isScalableVector(0), isScalableVector(1)));
----------------
topperc wrote:
> For scalable vectors there is no total vector size.
There is a symbolic representation of the total vector size that TypeSize can represent. As long as the the TypeSizes are both scalable and have the same minimum size, the bitcast is valid.
https://github.com/llvm/llvm-project/pull/85970
More information about the llvm-commits
mailing list