Hi Christophe, On Mon, Aug 19, 2019 at 01:58:10PM +0000, Christophe Leroy wrote: > +.macro __LOAD_REG_IMMEDIATE r, x > + .if (\x) >= 0x80000000 || (\x) < -0x80000000 > + __LOAD_REG_IMMEDIATE_32 \r, (\x) >> 32 > + sldi \r, \r, 32 > + .if (\x) & 0xffff0000 != 0 > + oris \r, \r, (\x)@__AS_ATHIGH > + .endif > + .if (\x) & 0xffff != 0 > + oris \r, \r, (\x)@l > + .endif > + .else > + __LOAD_REG_IMMEDIATE_32 \r, \x > + .endif > +.endm
How did you test this? That last "oris" should be "ori"? Rest looks good :-) Segher