On 4/20/21 4:20 PM, Jakub Jelinek via Gcc wrote: > On Tue, Apr 20, 2021 at 03:27:08PM -0500, William Seurer via Gcc wrote: >> /tmp/cc8zG8DV.s: Assembler messages: >> /tmp/cc8zG8DV.s:2566: Error: unsupported relocation against r13 >> /tmp/cc8zG8DV.s:2570: Error: unsupported relocation against r14 [snip] > So do we need to change > + else version (PPC) > > > + { > > > + void*[19] regs = void; > > > + asm pure nothrow @nogc > > > + { > > > + "stw r13, %0" : "=m" (regs[ 0]); > > > + "stw r14, %0" : "=m" (regs[ 1]); > > > ... > + else version (PPC64) > > > + { > > > + void*[19] regs = void; > > > + asm pure nothrow @nogc > > > + { > > > + "std r13, %0" : "=m" (regs[ 0]); > > > + "std r14, %0" : "=m" (regs[ 1]); > > > ... > to "stw 13, %0" and "std 13, %0" etc. unconditionally, or > to "stw %%r13, %0" etc. under some conditions?
Yes, I think so. The "r13", etc. names are not accepted by gas unless you use the -mregnames option. It's easier to just remove the 'r'. Peter