ack/mach/powerpc
George Koehler ed21a59a82 In PowerPC ncg, allocate register for ha16[label].
Use it to generate code like

    lis r12,ha16[__II0]
    lis r11,ha16[_f]
    lfs f1,lo16[_f](r11)
    lfs f2,lo16[__II0](r12)
    fadds f13,f2,f1
    stfs f13,lo16[_f](r11)

Here ncg has allocated r11 for ha16[_f].  We use r11 in lfs and again
in stfs.  Before this change, we needed an extra lis before stfs,
because ncg did not remember that ha16[_f] was in a register.

This example has a gap between ha16[__II0] and lo16[__II0], because
the lo16 is not in the next instruction.  This requires my previous
commit 1bf58cf for RELOLIS.  There is a gap because ncg emits the lis
as soon as I allocate it.  The "lfs f2,lo16[__II0](r12)" happens in a
coercion from IND_RL_W to FSREG.  The coercion allocates one FSREG but
may not allocate any other registers.  So I must allocate r12 earlier.
I allocate r12 in pat lae, but this causes a gap.
2017-02-08 12:23:06 -05:00
..
as Add RELOLIS for PowerPC lis with ha16 or hi16. 2017-02-08 11:46:31 -05:00
libem In PowerPC libem, remove tge.s and powerpc.h 2017-01-26 12:39:16 -05:00
libend Mostly add support for the experimental and largely broken linuxppc platform. 2016-09-15 23:12:03 +02:00
mcg Use a better NOT; and after remembering that PowerPC bit numbers are all 2017-01-07 01:03:15 +01:00
ncg In PowerPC ncg, allocate register for ha16[label]. 2017-02-08 12:23:06 -05:00
top In PowerPC top, don't delete addi r0, r0, 0 2017-01-26 12:44:32 -05:00