Skip to content

Commit 053b66a

Browse files
Add a helper for merging unary narrowing top intrinsics.
1 parent b1fd235 commit 053b66a

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1019,6 +1019,13 @@ struct SVEIntrinsicInfo {
10191019
.setOperandIdxWithNoActiveLanes(0);
10201020
}
10211021

1022+
// e.g. llvm.aarch64.sve.fcvtnt inactive, pg, op
1023+
static SVEIntrinsicInfo defaultMergingUnaryNarrowingTopOp() {
1024+
return SVEIntrinsicInfo()
1025+
.setGoverningPredicateOperandIdx(1)
1026+
.setOperandIdxInactiveLanesTakenFrom(0);
1027+
}
1028+
10221029
// e.g. llvm.aarch64.sve.add_u pg, op1, op2
10231030
static SVEIntrinsicInfo defaultUndefOp() {
10241031
return SVEIntrinsicInfo()
@@ -1226,9 +1233,7 @@ static SVEIntrinsicInfo constructSVEIntrinsicInfo(IntrinsicInst &II) {
12261233
case Intrinsic::aarch64_sve_fcvtnt_f16f32:
12271234
case Intrinsic::aarch64_sve_fcvtnt_f32f64:
12281235
case Intrinsic::aarch64_sve_fcvtxnt_f32f64:
1229-
return SVEIntrinsicInfo()
1230-
.setGoverningPredicateOperandIdx(1)
1231-
.setOperandIdxInactiveLanesTakenFrom(0);
1236+
return SVEIntrinsicInfo::defaultMergingUnaryNarrowingTopOp();
12321237

12331238
case Intrinsic::aarch64_sve_fabd:
12341239
return SVEIntrinsicInfo::defaultMergingOp(Intrinsic::aarch64_sve_fabd_u);

0 commit comments

Comments
 (0)