I'm taking advantage of CRIS being a lesser important target and as such not subject to the constraints of GCC being in stage 4. I'm applying this set of CRIS-specific changes that don't have much expected effect on generated code.
1: cris: Don't default to -mmul-bug-workaround Avoid the workaround having a sort-of pseudorandom effect on observability of code-quality changes. 2: cris: For expanded movsi, don't match operands we know will be reloaded A random improvement noticed while looking at the performance impact of the other changes, helping reload to behave better. 3: cris: Remove CRIS v32 ACR artefacts The bigger cleanup; tightening up register classes. A left-over from r11-220 / d0780379c1b6. Unfortunately on its own has a negative effect on performance, when applied in this order. Don't apply without the other patches in this set unless you're actually interested in seeing the fallout. 4: cris: Don't discriminate against ALL_REGS in TARGET_REGISTER_MOVE_COST A workaround for a problem from before IRA, one that didn't fit well with the register class cleanup. 5: cris: Reload using special-regs before general-regs Fixing a flaw exposed by the register class cleanup. gcc/config/cris/constraints.md | 7 +++++- gcc/config/cris/cris.cc | 36 +++++++++++++------------- gcc/config/cris/cris.h | 46 ++++++++++++++++------------------ gcc/config/cris/cris.md | 33 +++++++++++++++++------- gcc/doc/invoke.texi | 2 +- 5 files changed, 70 insertions(+), 54 deletions(-) -- 2.30.2 brgds, H-P