Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
This seems like the obvious choice for the constraint, but it would be good to ensure there's consensus with GCC people, especially since their assembly constraints are intimately tied to their instruction patterns (or, really, the assembly constraints just expose those and we pretend to be GCC) so they have less flexibility than us.
Hm, apparently multi-character constraints already exist. Not a fan of it as it parses like "vector or register/memory" to me but if that's how GCC needs to internally model its instructions then we have to copy that...
Provide more implementation detail on GCC,
- if a letter are used as a prefix of multi-char constraint, then it can't be used as a single letter constraint
- e.g. If we defined vr and vm then we can't define v as constraint
- constraint with same prefix should have same length
- e.g. If we defined vr and vm then we can't define vrr since has different length.
And in fact we have defined bunch of predicate prefixed with v[1], but I am open mind to change that if needed since GCC isn't upstream that yet.
[1] https://github.com/riscv/riscv-gcc/blob/riscv-gcc-10.1-rvv-dev/gcc/config/riscv/constraints.md#L117