Re: Issues with native build of -10 on VAX
Kalvis Duckmanton <[email protected]>
| Newsgroups | gmane.os.netbsd.ports.vax |
|---|---|
| Message-ID | <[email protected]> |
On 15/12/23 21:11, matthew green wrote: > FWIW, it doesn't seem to affect x86 because it doesn't end up > having AUTO_INC_DEC set, so not compiled there. looks like for > netbsd targets, that set that will be aarch64, arm, ia64, m68k, > pa, rs6000, sh, and vax. (i confirmed x86 with a real test, > but this list is a grep-based one.) > > this makes me wonder if we can trigger this failure mode on > these other cpus if we try hard, and this fixes for all.. I think that one of the prerequisites is that when pushing the value from a bit field onto the stack, the backend has to emit a multi-instruction sequence and that the destination operand can't have any side-effects. (The vax backend will emit a rotate+mask pair instead of an extzv if the bitfield start and length are constant, but both the rotate instruction and the bit clear instruction will write to the destination operand.) I had a quick look at the backends for the other targets which set AUTO_INC_DEC and couldn't immediately spot any multi-instruction sequences for bitfield operations... kalvis