]> git.ipfire.org Git - thirdparty/gcc.git/commit
[RISC-V] Restrict generic-vector-ooo DFA
authorJeff Law <jlaw@ventanamicro.com>
Tue, 22 Jul 2025 13:26:57 +0000 (07:26 -0600)
committerJeff Law <jlaw@ventanamicro.com>
Tue, 22 Jul 2025 13:26:57 +0000 (07:26 -0600)
commit55abb0d57c28855b831c6f91a615ebe6fd9590f7
tree66a34d64ec0b70fe8ed78526167fc320c21f9a95
parentbdfb5cc5aa6959a6959fc0cf98da08db89c81032
[RISC-V] Restrict generic-vector-ooo DFA

So while debugging Austin's work to support the spacemit x60 in the BPI we
found that even though his pipeline description had mappings for all the vector
instructions, they were still getting matched by the generic-vector-ooo DFA.

The core problem is that DFA never restricted itself to a tune option (oops).
That's easily fixed, at which time everything using generic blows up because we
don't have a generic in-order vector DFA. Everything using generic was
indirectly also using generic-vector-ooo for the vector instructions.

It may be better long term to define a generic-vector DFA, but to preserve
behavior, I'm letting generic-vector-ooo match when the generic DFA is active.

Tested in my tester, waiting on pre-commit CI before moving forward.

gcc/
* config/riscv/generic-vector-ooo.md: Restrict insn reservations to
generic_ooo and generic tuning models.
gcc/config/riscv/generic-vector-ooo.md