On 8/21/23 10:37, Edwin Lu wrote:
This patch updates the bitmanip instructions to ensure that no insn is left
without a type attribute. Updates a total of 8 insns to have type "bitmanip"
Tested for regressions using rv32/64 multilib with newlib/linux.
gcc/Changelog:
* config/riscv/bitmanip.md: Added bitmanip type to insns
that are missing types
Thanks. I pushed this to the trunk.
Just an FYI. We have a bit of leeway on the types for these
define_insn_and_split patterns. So while I think that 'branch' is a
better choice for the last one in this patch, I don't think it's going
to matter in practice.
Essentially these define_insn_and_split patterns which are always split
after reload, the type will only be used for the first scheduling pass.
By the time we run the second scheduling pass the pattern should have
been split into its component insns. Meaning that these types won't get
used for the final schedule.
But it's still useful to get a type on them, mostly because it'll allow
us to turn on that assert I mentioned last week.
jeff