Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: gcc vax bug in built-in ffs function/displacement indexed addressing



Paul,

Am 06.01.2017 um 19:00 schrieb Paul Koning:
> I'm not sure if constraint "Q" means what I hope it does, but if yes,
> the fix might be to replace the nrmT in that second match_operand by
> nrQT.
Thanks, I just committed your suggested fix. Installation on my VS4000
is fine again. Sorry for the long delay, I didn't realise somehow that
this could be the final solution and thought more would be necessary!

With problematic nrmT before:
ffs $0x0,$0x20,0x50(r11)[r0],r9

With nrQT now:
moval 0x50(r11)[r0],r1
ffs $0x0,$0x20,(r1),r9

The problematic instruction/address mode only showed up in the install
kernel (install.ram) which is compiled with -Os. GENERIC kernels were
not affected, probably due to different optimisation.

We should check all other variable-length bit field instructions, too...

Cheers,
Felix


Home | Main Index | Thread Index | Old Index