@@ -251,25 +251,13 @@ multiclass sme_mem_ld_ss_patterns<Instruction Inst, SDPatternOperator Load,
251251 Operand tile_ty, Operand offset_ty,
252252 ComplexPattern addr,
253253 ComplexPattern tileslice> {
254- // base
254+ // base, tileslice
255255 def : Pat<(Load PPR3bAny:$pg, GPR64sp:$base, tile_ty:$tile,
256- MatrixIndexGPR32Op12_15:$idx),
257- (Inst tile_ty:$tile, $idx, 0, $pg, $base, XZR)>;
258- // reg + reg
259- let AddedComplexity = 1 in {
260- def : Pat<(Load PPR3bAny:$pg, (addr GPR64sp:$base, GPR64:$offset),
261- tile_ty:$tile, MatrixIndexGPR32Op12_15:$idx),
262- (Inst tile_ty:$tile, $idx, 0, $pg, $base, $offset)>;
263- }
256+ (i32 (tileslice MatrixIndexGPR32Op12_15:$idx, offset_ty:$imm))),
257+ (Inst tile_ty:$tile, $idx, $imm, $pg, $base, XZR)>;
264258
265- // base, tileslice
266- let AddedComplexity = 1 in {
267- def : Pat<(Load PPR3bAny:$pg, GPR64sp:$base, tile_ty:$tile,
268- (i32 (tileslice MatrixIndexGPR32Op12_15:$idx, offset_ty:$imm))),
269- (Inst tile_ty:$tile, $idx, $imm, $pg, $base, XZR)>;
270- }
271259 // reg + reg, tileslice
272- let AddedComplexity = 2 in {
260+ let AddedComplexity = 1 in {
273261 def : Pat<(Load PPR3bAny:$pg, (addr GPR64sp:$base, GPR64:$offset),
274262 tile_ty:$tile, (i32 (tileslice MatrixIndexGPR32Op12_15:$idx,
275263 offset_ty:$imm))),
@@ -410,24 +398,13 @@ multiclass sme_mem_st_ss_patterns<Instruction Inst, SDPatternOperator Store,
410398 ComplexPattern imm2tile,
411399 ComplexPattern addr,
412400 ComplexPattern tileslice> {
413- // base
414- def : Pat<(Store PPR3bAny:$pg, GPR64sp:$base, (imm2tile untyped:$tile),
415- MatrixIndexGPR32Op12_15:$idx),
416- (Inst $tile, $idx, 0, $pg, $base, XZR)>;
417- // reg + reg
418- let AddedComplexity = 1 in {
419- def : Pat<(Store PPR3bAny:$pg, (addr GPR64sp:$base, GPR64:$offset),
420- (imm2tile untyped:$tile), MatrixIndexGPR32Op12_15:$idx),
421- (Inst $tile, $idx, 0, $pg, $base, $offset)>;
422- }
423401 // base, tileslice
424- let AddedComplexity = 1 in {
425- def : Pat<(Store PPR3bAny:$pg, GPR64sp:$base, (imm2tile untyped:$tile),
426- (i32 (tileslice MatrixIndexGPR32Op12_15:$idx, offset_ty:$imm))),
427- (Inst $tile, $idx, $imm, $pg, $base, XZR)>;
428- }
402+ def : Pat<(Store PPR3bAny:$pg, GPR64sp:$base, (imm2tile untyped:$tile),
403+ (i32 (tileslice MatrixIndexGPR32Op12_15:$idx, offset_ty:$imm))),
404+ (Inst $tile, $idx, $imm, $pg, $base, XZR)>;
405+
429406 // reg + reg, tileslice
430- let AddedComplexity = 2 in {
407+ let AddedComplexity = 1 in {
431408 def : Pat<(Store PPR3bAny:$pg, (addr GPR64sp:$base, GPR64:$offset),
432409 (imm2tile untyped:$tile),
433410 (i32 (tileslice MatrixIndexGPR32Op12_15:$idx, offset_ty:$imm))),
0 commit comments