aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgexpand.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2018-12-01 00:05:25 +1030
committerAlan Modra <amodra@gcc.gnu.org>2018-12-01 00:05:25 +1030
commitb49f1a7e7c85add83637cf7df46b8fc9b5b299e9 (patch)
treed3cba1d26194ebe465ba3abbdc1bc4b7e64133af /gcc/cfgexpand.c
parentceb8c8c4cae47fd07cd7dda74bb31b98ce4adadc (diff)
downloadgcc-b49f1a7e7c85add83637cf7df46b8fc9b5b299e9.zip
gcc-b49f1a7e7c85add83637cf7df46b8fc9b5b299e9.tar.gz
gcc-b49f1a7e7c85add83637cf7df46b8fc9b5b299e9.tar.bz2
[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. From-SVN: r266663
Diffstat (limited to 'gcc/cfgexpand.c')
0 files changed, 0 insertions, 0 deletions