@@ -100,11 +100,11 @@ class ScalableMaskedFOp<string mnemonic, string op_description,
100
100
op_description # [{ on active lanes. Inactive lanes will keep the value of
101
101
the first operand.}];
102
102
let arguments = (ins
103
- ScalableVectorOf <[I1]>:$mask,
104
- ScalableVectorOf <[AnyFloat]>:$src1,
105
- ScalableVectorOf <[AnyFloat]>:$src2
103
+ ScalableVectorOfAnyRank <[I1]>:$mask,
104
+ ScalableVectorOfAnyRank <[AnyFloat]>:$src1,
105
+ ScalableVectorOfAnyRank <[AnyFloat]>:$src2
106
106
);
107
- let results = (outs ScalableVectorOf <[AnyFloat]>:$res);
107
+ let results = (outs ScalableVectorOfAnyRank <[AnyFloat]>:$res);
108
108
let assemblyFormat =
109
109
"$mask `,` $src1 `,` $src2 attr-dict `:` type($mask) `,` type($res)";
110
110
}
@@ -123,11 +123,11 @@ class ScalableMaskedIOp<string mnemonic, string op_description,
123
123
op_description # [{ on active lanes. Inactive lanes will keep the value of
124
124
the first operand.}];
125
125
let arguments = (ins
126
- ScalableVectorOf <[I1]>:$mask,
127
- ScalableVectorOf <[I8, I16, I32, I64]>:$src1,
128
- ScalableVectorOf <[I8, I16, I32, I64]>:$src2
126
+ ScalableVectorOfAnyRank <[I1]>:$mask,
127
+ ScalableVectorOfAnyRank <[I8, I16, I32, I64]>:$src1,
128
+ ScalableVectorOfAnyRank <[I8, I16, I32, I64]>:$src2
129
129
);
130
- let results = (outs ScalableVectorOf <[I8, I16, I32, I64]>:$res);
130
+ let results = (outs ScalableVectorOfAnyRank <[I8, I16, I32, I64]>:$res);
131
131
let assemblyFormat =
132
132
"$mask `,` $src1 `,` $src2 attr-dict `:` type($mask) `,` type($res)";
133
133
}
@@ -511,55 +511,55 @@ def ScalableMaskedDivFOp : ScalableMaskedFOp<"masked.divf", "division">;
511
511
512
512
def UmmlaIntrOp :
513
513
ArmSVE_IntrBinaryOverloadedOp<"ummla">,
514
- Arguments<(ins AnyScalableVector, AnyScalableVector, AnyScalableVector )>;
514
+ Arguments<(ins AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank )>;
515
515
516
516
def SmmlaIntrOp :
517
517
ArmSVE_IntrBinaryOverloadedOp<"smmla">,
518
- Arguments<(ins AnyScalableVector, AnyScalableVector, AnyScalableVector )>;
518
+ Arguments<(ins AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank )>;
519
519
520
520
def SdotIntrOp :
521
521
ArmSVE_IntrBinaryOverloadedOp<"sdot">,
522
- Arguments<(ins AnyScalableVector, AnyScalableVector, AnyScalableVector )>;
522
+ Arguments<(ins AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank )>;
523
523
524
524
def UdotIntrOp :
525
525
ArmSVE_IntrBinaryOverloadedOp<"udot">,
526
- Arguments<(ins AnyScalableVector, AnyScalableVector, AnyScalableVector )>;
526
+ Arguments<(ins AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank )>;
527
527
528
528
def ScalableMaskedAddIIntrOp :
529
529
ArmSVE_IntrBinaryOverloadedOp<"add">,
530
- Arguments<(ins AnyScalableVector, AnyScalableVector, AnyScalableVector )>;
530
+ Arguments<(ins AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank )>;
531
531
532
532
def ScalableMaskedAddFIntrOp :
533
533
ArmSVE_IntrBinaryOverloadedOp<"fadd">,
534
- Arguments<(ins AnyScalableVector, AnyScalableVector, AnyScalableVector )>;
534
+ Arguments<(ins AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank )>;
535
535
536
536
def ScalableMaskedMulIIntrOp :
537
537
ArmSVE_IntrBinaryOverloadedOp<"mul">,
538
- Arguments<(ins AnyScalableVector, AnyScalableVector, AnyScalableVector )>;
538
+ Arguments<(ins AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank )>;
539
539
540
540
def ScalableMaskedMulFIntrOp :
541
541
ArmSVE_IntrBinaryOverloadedOp<"fmul">,
542
- Arguments<(ins AnyScalableVector, AnyScalableVector, AnyScalableVector )>;
542
+ Arguments<(ins AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank )>;
543
543
544
544
def ScalableMaskedSubIIntrOp :
545
545
ArmSVE_IntrBinaryOverloadedOp<"sub">,
546
- Arguments<(ins AnyScalableVector, AnyScalableVector, AnyScalableVector )>;
546
+ Arguments<(ins AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank )>;
547
547
548
548
def ScalableMaskedSubFIntrOp :
549
549
ArmSVE_IntrBinaryOverloadedOp<"fsub">,
550
- Arguments<(ins AnyScalableVector, AnyScalableVector, AnyScalableVector )>;
550
+ Arguments<(ins AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank )>;
551
551
552
552
def ScalableMaskedSDivIIntrOp :
553
553
ArmSVE_IntrBinaryOverloadedOp<"sdiv">,
554
- Arguments<(ins AnyScalableVector, AnyScalableVector, AnyScalableVector )>;
554
+ Arguments<(ins AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank )>;
555
555
556
556
def ScalableMaskedUDivIIntrOp :
557
557
ArmSVE_IntrBinaryOverloadedOp<"udiv">,
558
- Arguments<(ins AnyScalableVector, AnyScalableVector, AnyScalableVector )>;
558
+ Arguments<(ins AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank )>;
559
559
560
560
def ScalableMaskedDivFIntrOp :
561
561
ArmSVE_IntrBinaryOverloadedOp<"fdiv">,
562
- Arguments<(ins AnyScalableVector, AnyScalableVector, AnyScalableVector )>;
562
+ Arguments<(ins AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank, AnyScalableVectorOfAnyRank )>;
563
563
564
564
def ConvertFromSvboolIntrOp :
565
565
ArmSVE_IntrOp<"convert.from.svbool",
@@ -581,19 +581,19 @@ def ZipX2IntrOp : ArmSVE_IntrOp<"zip.x2",
581
581
/*overloadedOperands=*/[0],
582
582
/*overloadedResults=*/[],
583
583
/*numResults=*/2>,
584
- Arguments<(ins Arg<AnyScalableVector , "v1">:$v1,
585
- Arg<AnyScalableVector , "v2">:$v2)>;
584
+ Arguments<(ins Arg<AnyScalableVectorOfAnyRank , "v1">:$v1,
585
+ Arg<AnyScalableVectorOfAnyRank , "v2">:$v2)>;
586
586
587
587
// Note: This multi-vector intrinsic requires SME2.
588
588
def ZipX4IntrOp : ArmSVE_IntrOp<"zip.x4",
589
589
/*traits=*/[],
590
590
/*overloadedOperands=*/[0],
591
591
/*overloadedResults=*/[],
592
592
/*numResults=*/4>,
593
- Arguments<(ins Arg<AnyScalableVector , "v1">:$v1,
594
- Arg<AnyScalableVector , "v2">:$v2,
595
- Arg<AnyScalableVector , "v3">:$v3,
596
- Arg<AnyScalableVector , "v3">:$v4)>;
593
+ Arguments<(ins Arg<AnyScalableVectorOfAnyRank , "v1">:$v1,
594
+ Arg<AnyScalableVectorOfAnyRank , "v2">:$v2,
595
+ Arg<AnyScalableVectorOfAnyRank , "v3">:$v3,
596
+ Arg<AnyScalableVectorOfAnyRank , "v3">:$v4)>;
597
597
598
598
// Note: This intrinsic requires SME or SVE2.1.
599
599
def PselIntrOp : ArmSVE_IntrOp<"psel",
0 commit comments