[PATCH 01/10] rs6000: Clobber XER[CA] in all user asm statements
Segher Boessenkool
segher@kernel.crashing.org
Mon Jan 19 15:13:00 GMT 2015
On Mon, Jan 19, 2015 at 01:53:06AM -0500, Hans-Peter Nilsson wrote:
> On Mon, 8 Dec 2014, Segher Boessenkool wrote:
>
> > A lot of old user code clobbers the carry bit without telling the compiler
> > about it. This used to just work, because the compiler never used the bit
> > outside of a single RTL instruction. But that will change. Let's clobber
> > the carry bit in every asm; this isn't very expensive.
>
> There's also the option of clobbering it only if it's not
> explicitly mentioned in the asm, say with a singleton
> regclass, see cris_md_asm_clobbers.
It's a fixed register. The register class we have for it complains
about inconsistent operand constraints whenever you try to use it
(since at least 4.7, and it would never have worked: the compiler
used to clobber the carry reg implicitly all over the place, so you
could never use the register class safely).
I'll remove the register class next stage1. Thanks for bringing
it to attention.
Cheers,
Segher
More information about the Gcc-patches
mailing list