Patches #5..8 just add comments and reformat movd{f,d} constraints and attributes so that it is a lot easier to tell which constraints and attributes go together. These do not (or at least should not) change the code generated. Patch #9 does the same thing for mov{sf,sd} when floating point registers are not available.
I have done both big and little endian bootstrap builds with all 5 patches installed. There were no regressions. 2018-03-22 Michael Meissner <meiss...@linux.vnet.ibm.com> * config/rs6000/rs6000.md (mov<mode>_softfloat64, FMOVE64): Reformat alternatives and attributes so it is easier to identify which constraints/attributes go with which instruction. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797
Index: gcc/config/rs6000/rs6000.md =================================================================== --- gcc/config/rs6000/rs6000.md (revision 258735) +++ gcc/config/rs6000/rs6000.md (working copy) @@ -7515,9 +7515,18 @@ (define_insn "*mov<mode>_hardfloat64" (set_attr "size" "64") (set_attr "length" "4")]) +;; STD LD MR MT<SPR> MF<SPR> G-const +;; H-const F-const Special + (define_insn "*mov<mode>_softfloat64" - [(set (match_operand:FMOVE64 0 "nonimmediate_operand" "=Y,r,r,cl,r,r,r,r,*h") - (match_operand:FMOVE64 1 "input_operand" "r,Y,r,r,h,G,H,F,0"))] + [(set (match_operand:FMOVE64 0 "nonimmediate_operand" + "=Y, r, r, cl, r, r, + r, r, *h") + + (match_operand:FMOVE64 1 "input_operand" + "r, Y, r, r, h, G, + H, F, 0"))] + "TARGET_POWERPC64 && TARGET_SOFT_FLOAT && (gpc_reg_operand (operands[0], <MODE>mode) || gpc_reg_operand (operands[1], <MODE>mode))" @@ -7531,8 +7540,13 @@ (define_insn "*mov<mode>_softfloat64" # # nop" - [(set_attr "type" "store,load,*,mtjmpr,mfjmpr,*,*,*,*") - (set_attr "length" "4,4,4,4,4,8,12,16,4")]) + [(set_attr "type" + "store, load, *, mtjmpr, mfjmpr, *, + *, *, *") + + (set_attr "length" + "4, 4, 4, 4, 4, 8, + 12, 16, 4")]) (define_expand "mov<mode>" [(set (match_operand:FMOVE128 0 "general_operand")