@@ -251,25 +251,13 @@ multiclass sme_mem_ld_ss_patterns<Instruction Inst, SDPatternOperator Load,
251
251
Operand tile_ty, Operand offset_ty,
252
252
ComplexPattern addr,
253
253
ComplexPattern tileslice> {
254
- // base
254
+ // base, tileslice
255
255
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)>;
264
258
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
- }
271
259
// reg + reg, tileslice
272
- let AddedComplexity = 2 in {
260
+ let AddedComplexity = 1 in {
273
261
def : Pat<(Load PPR3bAny:$pg, (addr GPR64sp:$base, GPR64:$offset),
274
262
tile_ty:$tile, (i32 (tileslice MatrixIndexGPR32Op12_15:$idx,
275
263
offset_ty:$imm))),
@@ -410,24 +398,13 @@ multiclass sme_mem_st_ss_patterns<Instruction Inst, SDPatternOperator Store,
410
398
ComplexPattern imm2tile,
411
399
ComplexPattern addr,
412
400
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
- }
423
401
// 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
+
429
406
// reg + reg, tileslice
430
- let AddedComplexity = 2 in {
407
+ let AddedComplexity = 1 in {
431
408
def : Pat<(Store PPR3bAny:$pg, (addr GPR64sp:$base, GPR64:$offset),
432
409
(imm2tile untyped:$tile),
433
410
(i32 (tileslice MatrixIndexGPR32Op12_15:$idx, offset_ty:$imm))),
0 commit comments