@@ -38,16 +38,16 @@ class ArmSME_IntrOp<string mnemonic, list<int> overloadedOperands = [],
3838
3939// Zero
4040def LLVM_aarch64_sme_zero : ArmSME_IntrOp<"zero">,
41- Arguments<(ins Arg<I32, "Tile mask">)>;
41+ Arguments<(ins Arg<I32, "Tile mask">:$tile_mask )>;
4242
4343// MOP's
4444class ArmSME_IntrMopOverloadedOp<string mnemonic>
4545 : ArmSME_IntrOp<mnemonic, [4]>,
46- Arguments<(ins Arg<I32, "Virtual tile ID">,
47- Arg<MOPPredicate, "LHS predicate">,
48- Arg<MOPPredicate, "RHS predicate">,
49- Arg<MOPVector, "LHS vector operand">,
50- Arg<MOPVector, "RHS vector operand">)>;
46+ Arguments<(ins Arg<I32, "Virtual tile ID">:$tile_id ,
47+ Arg<MOPPredicate, "LHS predicate">:$lhs_predicate ,
48+ Arg<MOPPredicate, "RHS predicate">:$rhs_predicate ,
49+ Arg<MOPVector, "LHS vector operand">:$lhs_vector ,
50+ Arg<MOPVector, "RHS vector operand">:$rhs_vector )>;
5151
5252def LLVM_aarch64_sme_mopa : ArmSME_IntrMopOverloadedOp<"mopa">;
5353def LLVM_aarch64_sme_mops : ArmSME_IntrMopOverloadedOp<"mops">;
@@ -65,10 +65,10 @@ def LLVM_aarch64_sme_usmops_wide : ArmSME_IntrMopOverloadedOp<"usmops.wide">;
6565// Loads
6666class ArmSME_IntrLoadOp<string mnemonic>
6767 : ArmSME_IntrOp<mnemonic>,
68- Arguments<(ins Arg<LDSTPredicate, "Vector predicate">,
69- Arg<LLVM_AnyPointer, "Load address">,
70- Arg<I32, "Virtual tile ID">,
71- Arg<I32, "Tile slice">)>;
68+ Arguments<(ins Arg<LDSTPredicate, "Vector predicate">:$predicate ,
69+ Arg<LLVM_AnyPointer, "Load address">:$load_address ,
70+ Arg<I32, "Virtual tile ID">:$tile_id ,
71+ Arg<I32, "Tile slice">:$tile_slice_index )>;
7272
7373def LLVM_aarch64_sme_ld1b_horiz : ArmSME_IntrLoadOp<"ld1b.horiz">;
7474def LLVM_aarch64_sme_ld1h_horiz : ArmSME_IntrLoadOp<"ld1h.horiz">;
@@ -84,10 +84,10 @@ def LLVM_aarch64_sme_ld1q_vert : ArmSME_IntrLoadOp<"ld1q.vert">;
8484// Stores
8585class ArmSME_IntrStoreOp<string mnemonic>
8686 : ArmSME_IntrOp<mnemonic>,
87- Arguments<(ins Arg<LDSTPredicate, "Vector predicate">,
88- Arg<LLVM_AnyPointer, "Store address", [MemWrite]>,
89- Arg<I32, "Virtual tile ID">,
90- Arg<I32, "Tile slice">)>;
87+ Arguments<(ins Arg<LDSTPredicate, "Vector predicate">:$predicate ,
88+ Arg<LLVM_AnyPointer, "Store address", [MemWrite]>:$store_address ,
89+ Arg<I32, "Virtual tile ID">:$tild_id ,
90+ Arg<I32, "Tile slice">:$tile_slice_index )>;
9191
9292def LLVM_aarch64_sme_st1b_horiz : ArmSME_IntrStoreOp<"st1b.horiz">;
9393def LLVM_aarch64_sme_st1h_horiz : ArmSME_IntrStoreOp<"st1h.horiz">;
@@ -102,28 +102,28 @@ def LLVM_aarch64_sme_st1q_vert : ArmSME_IntrStoreOp<"st1q.vert">;
102102
103103def LLVM_aarch64_sme_str
104104 : ArmSME_IntrOp<"str">,
105- Arguments<(ins Arg<I32, "Index">,
106- Arg<LLVM_AnyPointer, "Store address", [MemWrite]>)>;
105+ Arguments<(ins Arg<I32, "Index">:$index ,
106+ Arg<LLVM_AnyPointer, "Store address", [MemWrite]>:$store_address )>;
107107
108108// Vector to tile slice
109109class LLVM_aarch64_sme_write<string direction>
110110 : ArmSME_IntrOp<"write." # direction, /*overloadedOperands=*/[3],
111- [AllShapesMatch<["pg ", "vector"]>]>,
112- Arguments<(ins Arg<I32, "Virtual tile ID">,
113- Arg<I32, "Tile slice">,
114- Arg<SVEPredicate, "Vector predicate">:$pg ,
111+ [AllShapesMatch<["predicate ", "vector"]>]>,
112+ Arguments<(ins Arg<I32, "Virtual tile ID">:$tile_id ,
113+ Arg<I32, "Tile slice">:$tile_slice_index ,
114+ Arg<SVEPredicate, "Vector predicate">:$predicate ,
115115 Arg<SVEVector, "Vector operand">:$vector)>;
116116
117117// Tile slice to vector
118118class LLVM_aarch64_sme_read<string direction>
119119 : ArmSME_IntrOp<"read." # direction, /*overloadedOperands=*/[],
120- [AllShapesMatch<["vector", "pg ", "res"]>,
120+ [AllShapesMatch<["vector", "predicate ", "res"]>,
121121 AllElementTypesMatch<["vector", "res"]>],
122122 /*numResults=*/1, /*overloadedResults=*/[0]>,
123123 Arguments<(ins Arg<SVEVector, "Vector operand">:$vector,
124- Arg<SVEPredicate, "Vector predicate">:$pg ,
125- Arg<I32, "Virtual tile ID">,
126- Arg<I32, "Tile slice">)>;
124+ Arg<SVEPredicate, "Vector predicate">:$predicate ,
125+ Arg<I32, "Virtual tile ID">:$tile_id ,
126+ Arg<I32, "Tile slice">:$tile_slice_index )>;
127127
128128def LLVM_aarch64_sme_write_horiz : LLVM_aarch64_sme_write<"horiz">;
129129def LLVM_aarch64_sme_write_vert : LLVM_aarch64_sme_write<"vert">;
0 commit comments