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. Thanks, Richard