On Tue, Nov 20, 2018 at 06:07:41PM +1030, Alan Modra wrote: [snip] > alternative. movdi_internal32 used "GHF" in an alternative (and > always selected 64 byte insn length) so I replaced that with "F".
Huh, no, the insn didn't have length attributes. > The FMOVE128 version of mov<mode>_softfloat also had "GHF" in an > alternative but from what I see in rs6000_emit_move, I believe TFmode > insns loading constants will be splt. This isn't true either. The split happens depending on altivec, and in fact when the split occurs we get poor code. > So this insn doesn't need to > handle FP constants (it also doesn't need an iterator as only TFmode > will be selected - not fixed with this patch). Which means this is only half true. By removing "F", I effectively forced all soft-float long double constants to memory. The patch has been revised and broken into a number of pieces. I'll post tomorrow. -- Alan Modra Australia Development Lab, IBM