summaryrefslogtreecommitdiff
path: root/gcc/config/epiphany
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2016-04-14 18:55:01 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2016-04-14 18:55:01 +0000
commitbde1393a7b0583bc123ac962ed2f729b80cd7498 (patch)
treed9e8972ddece739bbdc248c5e33919ded2862cf7 /gcc/config/epiphany
parent8f8a206e72c6183084a6792ae98593944dd06fbd (diff)
downloadgcc-bde1393a7b0583bc123ac962ed2f729b80cd7498.tar.gz
2016-04-14 Basile Starynkevitch <basile@starynkevitch.net>
{{merging with even more of GCC 6, using subversion 1.9 svn merge -r228401:229500 ^/trunk }} git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@234985 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/epiphany')
-rw-r--r--gcc/config/epiphany/epiphany.c37
-rw-r--r--gcc/config/epiphany/epiphany.md2
-rw-r--r--gcc/config/epiphany/epiphany.opt18
-rw-r--r--gcc/config/epiphany/mode-switch-use.c10
-rw-r--r--gcc/config/epiphany/resolve-sw-modes.c8
5 files changed, 21 insertions, 54 deletions
diff --git a/gcc/config/epiphany/epiphany.c b/gcc/config/epiphany/epiphany.c
index 593c9a19124..c0578037329 100644
--- a/gcc/config/epiphany/epiphany.c
+++ b/gcc/config/epiphany/epiphany.c
@@ -22,41 +22,24 @@ along with GCC; see the file COPYING3. If not see
#include "system.h"
#include "coretypes.h"
#include "backend.h"
-#include "cfghooks.h"
-#include "tree.h"
+#include "target.h"
#include "rtl.h"
+#include "tree.h"
#include "df.h"
+#include "tm_p.h"
+#include "stringpool.h"
+#include "optabs.h"
+#include "emit-rtl.h"
+#include "recog.h"
+#include "diagnostic-core.h"
#include "alias.h"
-#include "fold-const.h"
#include "stor-layout.h"
#include "varasm.h"
#include "calls.h"
-#include "stringpool.h"
-#include "regs.h"
-#include "insn-config.h"
-#include "conditions.h"
#include "output.h"
#include "insn-attr.h"
-#include "flags.h"
-#include "insn-codes.h"
-#include "optabs.h"
-#include "expmed.h"
-#include "dojump.h"
#include "explow.h"
-#include "emit-rtl.h"
-#include "stmt.h"
#include "expr.h"
-#include "diagnostic-core.h"
-#include "recog.h"
-#include "toplev.h"
-#include "tm_p.h"
-#include "target.h"
-#include "cfgrtl.h"
-#include "cfganal.h"
-#include "lcm.h"
-#include "cfgbuild.h"
-#include "cfgcleanup.h"
-#include "langhooks.h"
#include "tm-constrs.h"
#include "tree-pass.h" /* for current_pass */
#include "context.h"
@@ -1362,11 +1345,9 @@ epiphany_print_operand (FILE *file, rtx x, int code)
/* We handle SFmode constants here as output_addr_const doesn't. */
if (GET_MODE (x) == SFmode)
{
- REAL_VALUE_TYPE d;
long l;
- REAL_VALUE_FROM_CONST_DOUBLE (d, x);
- REAL_VALUE_TO_TARGET_SINGLE (d, l);
+ REAL_VALUE_TO_TARGET_SINGLE (*CONST_DOUBLE_REAL_VALUE (x), l);
fprintf (file, "%s0x%08lx", IMMEDIATE_PREFIX, l);
break;
}
diff --git a/gcc/config/epiphany/epiphany.md b/gcc/config/epiphany/epiphany.md
index 428092601c0..4c8b5d6af83 100644
--- a/gcc/config/epiphany/epiphany.md
+++ b/gcc/config/epiphany/epiphany.md
@@ -982,7 +982,7 @@
rtx cmp = gen_rtx_LT (VOIDmode, cc1, CONST0_RTX (SFmode));
real_2expN (&offset, 31, SFmode);
- limit = CONST_DOUBLE_FROM_REAL_VALUE (offset, SFmode);
+ limit = const_double_from_real_value (offset, SFmode);
limit = force_reg (SFmode, limit);
emit_insn (gen_fix_truncsfsi2 (operands[0], operands[1]));
emit_insn (gen_subsf3_f (tmp, operands[1], limit));
diff --git a/gcc/config/epiphany/epiphany.opt b/gcc/config/epiphany/epiphany.opt
index e2deed6db04..297ceb81a39 100644
--- a/gcc/config/epiphany/epiphany.opt
+++ b/gcc/config/epiphany/epiphany.opt
@@ -29,7 +29,7 @@ preferentially allocate registers that allow short instruction generation.
mbranch-cost=
Target RejectNegative Joined UInteger Var(epiphany_branch_cost) Init(3)
-Set branch cost
+Set branch cost.
mcmove
Target Mask(CMOVE)
@@ -37,7 +37,7 @@ enable conditional move instruction usage.
mnops=
Target RejectNegative Joined UInteger Var(epiphany_n_nops) Init(0)
-set number of nops to emit before each insn pattern
+set number of nops to emit before each insn pattern.
; Problems with using the flags from fsub for comparison are:
; - Because of underflow (lack of subnormal numbers), different small numbers
@@ -49,19 +49,19 @@ set number of nops to emit before each insn pattern
; equal.
msoft-cmpsf
Target Mask(SOFT_CMPSF)
-Use software floating point comparisons
+Use software floating point comparisons.
msplit-lohi
Target Mask(SPLIT_LOHI)
-Enable split of 32 bit immediate loads into low / high part
+Enable split of 32 bit immediate loads into low / high part.
mpost-inc
Target Mask(POST_INC)
-Enable use of POST_INC / POST_DEC
+Enable use of POST_INC / POST_DEC.
mpost-modify
Target Mask(POST_MODIFY)
-Enable use of POST_MODIFY
+Enable use of POST_MODIFY.
mstack-offset=
Target RejectNegative Joined UInteger Var(epiphany_stack_offset) Init(EPIPHANY_STACK_OFFSET)
@@ -73,11 +73,11 @@ Assume round to nearest is selected for purposes of scheduling.
mlong-calls
Target Mask(LONG_CALLS)
-Generate call insns as indirect calls
+Generate call insns as indirect calls.
mshort-calls
Target Mask(SHORT_CALLS)
-Generate call insns as direct calls
+Generate call insns as direct calls.
msmall16
Target Mask(SMALL16)
@@ -105,7 +105,7 @@ Enum(attr_fp_mode) String(int) Value(FP_MODE_INT)
may-round-for-trunc
Target Mask(MAY_ROUND_FOR_TRUNC)
-A floatig point to integer truncation may be replaced with rounding to save mode switching
+A floatig point to integer truncation may be replaced with rounding to save mode switching.
mvect-double
Target Mask(VECT_DOUBLE)
diff --git a/gcc/config/epiphany/mode-switch-use.c b/gcc/config/epiphany/mode-switch-use.c
index e6d3dce2987..589ca336bc3 100644
--- a/gcc/config/epiphany/mode-switch-use.c
+++ b/gcc/config/epiphany/mode-switch-use.c
@@ -23,20 +23,12 @@ along with GCC; see the file COPYING3. If not see
#include "system.h"
#include "coretypes.h"
#include "backend.h"
-#include "cfghooks.h"
#include "rtl.h"
#include "df.h"
+#include "tm_p.h"
#include "emit-rtl.h"
#include "tree-pass.h"
#include "insn-attr.h"
-#include "insn-config.h"
-#include "recog.h"
-#include "tm_p.h"
-#include "cfgrtl.h"
-#include "cfganal.h"
-#include "lcm.h"
-#include "cfgbuild.h"
-#include "cfgcleanup.h"
#ifndef TARGET_INSERT_MODE_SWITCH_USE
#define TARGET_INSERT_MODE_SWITCH_USE NULL
diff --git a/gcc/config/epiphany/resolve-sw-modes.c b/gcc/config/epiphany/resolve-sw-modes.c
index de3204e5223..4f3d1b01344 100644
--- a/gcc/config/epiphany/resolve-sw-modes.c
+++ b/gcc/config/epiphany/resolve-sw-modes.c
@@ -22,19 +22,13 @@ along with GCC; see the file COPYING3. If not see
#include "system.h"
#include "coretypes.h"
#include "backend.h"
-#include "cfghooks.h"
#include "rtl.h"
#include "df.h"
#include "tm_p.h"
-#include "cfgrtl.h"
-#include "cfganal.h"
-#include "lcm.h"
-#include "cfgbuild.h"
-#include "cfgcleanup.h"
#include "insn-config.h"
-#include "insn-codes.h"
#include "emit-rtl.h"
#include "recog.h"
+#include "cfgrtl.h"
#include "insn-attr-common.h"
#include "tree-pass.h"