[llvm] [LLVM][SVE] Improve legalisation of fixed length get.active.lane.mask (PR #90213)
Paul Walker via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 29 07:15:02 PDT 2024
================
@@ -25593,19 +25581,39 @@ void AArch64TargetLowering::ReplaceNodeResults(
return;
}
case Intrinsic::aarch64_sve_lasta: {
+ assert((VT == MVT::i8 || VT == MVT::i16) &&
+ "custom lowering for unexpected type");
SDLoc DL(N);
auto V = DAG.getNode(AArch64ISD::LASTA, DL, MVT::i32,
N->getOperand(1), N->getOperand(2));
Results.push_back(DAG.getNode(ISD::TRUNCATE, DL, VT, V));
return;
}
case Intrinsic::aarch64_sve_lastb: {
+ assert((VT == MVT::i8 || VT == MVT::i16) &&
+ "custom lowering for unexpected type");
SDLoc DL(N);
auto V = DAG.getNode(AArch64ISD::LASTB, DL, MVT::i32,
N->getOperand(1), N->getOperand(2));
Results.push_back(DAG.getNode(ISD::TRUNCATE, DL, VT, V));
return;
}
+ case Intrinsic::get_active_lane_mask: {
+ if (!VT.isFixedLengthVector())
+ return;
+ if (VT.getVectorElementType() != MVT::i1)
----------------
paulwalker-arm wrote:
Makes sense given they are related. I'll post an update, likely tomorrow.
https://github.com/llvm/llvm-project/pull/90213
More information about the llvm-commits
mailing list