These arm_sve.cmp functions are needed to generate scalable vector
masks as long as scalable vectors are not part of the standard types.
Once in standard, these can be removed and std.cmp can be used
instead.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Event Timeline
mlir/include/mlir/Dialect/ArmSVE/ArmSVE.td | ||
---|---|---|
445 | (Likely) Minor typo: "unordered not equal" (dropping "or"). |
mlir/include/mlir/Dialect/ArmSVE/ArmSVE.td | ||
---|---|---|
532 | Minor edit: Use integer comparison operation cmpi (instead of cmpf) in the example for cmpi. |
Amended documentation.
Fixed bug in parseCmpOp (assuming a vector must be LLVMFixed or LLVMScalable)
mlir/include/mlir/Dialect/ArmSVE/ArmSVE.td | ||
---|---|---|
405–431 | This will create name clashes should you ever need to include ArmSVE.td and StandardOps/Ops.td in the same file, e.g. for DRR patterns. Have you considered exposing the predicates from StandardOps/Ops.td to StandardOps/StandardOpBase.td and reusing them instead of copying? |
mlir/include/mlir/Dialect/ArmSVE/ArmSVE.td | ||
---|---|---|
405–431 | Something like this? |
Hi @jsetoain.
Thank you for working on this! Sadly, this change is causing multiple BuildBot workers to fail:
- https://lab.llvm.org/buildbot/#/builders/134/builds/6180
- https://lab.llvm.org/buildbot/#/builders/160/builds/2534
- https://lab.llvm.org/buildbot/#/builders/161/builds/2594
I suspect that this change was only tested with static lib builds. Could you please test with BUILD_SHARED_LIBS set to On? Thank you!
*EDIT*
Apologies, I've only noticed your comment *after* posting this.
This will create name clashes should you ever need to include ArmSVE.td and StandardOps/Ops.td in the same file, e.g. for DRR patterns. Have you considered exposing the predicates from StandardOps/Ops.td to StandardOps/StandardOpBase.td and reusing them instead of copying?