[Mlir-commits] [mlir] [mlir][ArmSME] Update tile slice layout syntax (PR #69151)

Cullen Rhodes llvmlistbot at llvm.org
Mon Oct 16 01:46:58 PDT 2023


c-rhodes wrote:

> > The reason for this change is the current format doesn't play nicely with additional optional operands, required to support padding and masking (https://github.com/llvm/llvm-project/pull/69148), as it becomes ambiguous.
> 
> Could you provide an example? Just to satisfy my curiosity. Ta!

See https://github.com/llvm/llvm-project/pull/69148/commits/b99b39b6ab62c65b50bbfdc1a45b9bd3306fc4f9 which is adding optional padding and mask operands to `arm_sme.tile_load`. The assembly format is updated to add these, with the current layout format it would be:

```
  let assemblyFormat =
    "$base `[` $indices `]` (`,` $padding `,` $mask^)? (`,` $layout^)?"
      "attr-dict `:` type($base) `,` type($result)";
```

which is ambiguous. This adds the `layout` prefix so it isn't so, which is actually consistent with other optional attributes (e.g. fastmath)

https://github.com/llvm/llvm-project/pull/69151


More information about the Mlir-commits mailing list