On 01/11/14 03:04, Richard Sandiford wrote:
Jeff Law <l...@redhat.com> writes:
On 01/10/14 14:44, Eric Botcazou wrote:
In my backend movdi pattern has unfortunately code '0' (depends on pattern
declaration order). When gcc tried to determine if my DI regs can be saved
and restore as 'caller saves' (in caller-save.c::init_caller_save()) it
failed on this wrong assertion.

I'd arrange for avoiding code 0 instead because this disables the cache.
Agreed, but the assert in caller-save is still wrong and ought to be fixed.

FWIW, it was fixed in 4.8 and later by making CODE_FOR_nothing be 0
and starting the real instructions at 1.
Funny you should mention that. My recollection was that CODE_FOR_nothing was -1, but when I went looking in response to this issue I found it was zero...

Jeff

Reply via email to