On Mon, Jan 13, 2014 at 08:21:49AM -0700, Jeff Law wrote: > 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...
It changed with http://gcc.gnu.org/ml/gcc-patches/2012-07/msg00300.html Jakub