r266663 - in /trunk/gcc: ChangeLog config/rs600...

amodra@gcc.gnu.org amodra@gcc.gnu.org
Fri Nov 30 13:35:00 GMT 2018


Author: amodra
Date: Fri Nov 30 13:35:25 2018
New Revision: 266663

URL: https://gcc.gnu.org/viewcvs?rev=266663&root=gcc&view=rev
Log:
[RS6000] PowerPC64 soft-float

This patch aims to prevent long sequences loading soft-float
constants.  For 32-bit, it makes sense to load values inline to a gpr
with lis, addi, but not so much for 64-bit where a 5 insn sequence
might be needed for each gpr.  For TFmode in particular, a 10 insn
sequence is reduced to 2 loads from memory plus 1 or 2 address setup
insns.

	* config/rs6000/predicates.md (easy_fp_constant): Avoid long
	dependent insn sequences.
	* config/rs6000/rs6000.c (num_insns_constant): Support long
	double constants.
	* config/rs6000/rs6000.md (mov<mode>_softfloat <FMOVE128>): Adjust
	length attribute.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/rs6000/predicates.md
    trunk/gcc/config/rs6000/rs6000.c
    trunk/gcc/config/rs6000/rs6000.md



More information about the Gcc-cvs mailing list