cris: Don't default to -mmul-bug-workaround
authorHans-Peter Nilsson <hp@axis.com>
Tue, 1 Feb 2022 23:00:09 +0000 (00:00 +0100)
committerHans-Peter Nilsson <hp@axis.com>
Wed, 2 Feb 2022 00:20:02 +0000 (01:20 +0100)
commit4c4d0af4c94ccf0cfa74c8b13b8ec1029f57cd63
tree4faf5afcdf7342385ade8ff6f0f34120d4f78448
parentae7e4af964eaa80a3d7c43e4a7e1864d9a7cb06b
cris: Don't default to -mmul-bug-workaround

This flips the default for the errata handling for an old version
(TL;DR: workaround: no multiply instruction last on a cache-line).
Newer versions of the CRIS cpu don't have that bug.  While the impact
of the workaround is very marginal (coremark: less than .05% larger,
less than .0005% slower) it's an irritating pseudorandom factor when
assessing the impact of other changes.

Also, fix a wart requiring changes to more than TARGET_DEFAULT to flip
the default.

People building old kernels or operating systems to run on
ETRAX 100 LX are advised to pass "-mmul-bug-workaround".

gcc:
* config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
(MUL_BUG_ASM_DEFAULT): New macro.
(MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
* doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
accordingly.
gcc/config/cris/cris.h
gcc/doc/invoke.texi