aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@linaro.org>2017-12-20 12:52:12 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2017-12-20 12:52:12 +0000
commit37b2b8f95783b449aca30d32f4c97a4db3bd395e (patch)
treef9f4281fcb3cf1bbf777100bf54c33ef1de17cc6 /gcc/config
parentf8832fe1a7611c0458ebf45140c099eb7bf5d0c8 (diff)
downloadgcc-37b2b8f95783b449aca30d32f4c97a4db3bd395e.zip
gcc-37b2b8f95783b449aca30d32f4c97a4db3bd395e.tar.gz
gcc-37b2b8f95783b449aca30d32f4c97a4db3bd395e.tar.bz2
poly_int: TRULY_NOOP_TRUNCATION
This patch makes TRULY_NOOP_TRUNCATION take the mode sizes as poly_uint64s instead of unsigned ints. The function bodies don't need to change. 2017-12-20 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * target.def (truly_noop_truncation): Take poly_uint64s instead of unsigned ints. Change default to hook_bool_puint64_puint64_true. * doc/tm.texi: Regenerate. * hooks.h (hook_bool_uint_uint_true): Delete. (hook_bool_puint64_puint64_true): Declare. * hooks.c (hook_bool_uint_uint_true): Delete. (hook_bool_puint64_puint64_true): New function. * config/mips/mips.c (mips_truly_noop_truncation): Take poly_uint64s instead of unsigned ints. * config/spu/spu.c (spu_truly_noop_truncation): Likewise. * config/tilegx/tilegx.c (tilegx_truly_noop_truncation): Likewise. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r255866
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/mips/mips.c2
-rw-r--r--gcc/config/spu/spu.c2
-rw-r--r--gcc/config/tilegx/tilegx.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 4f6eb84..f16a67b 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -22322,7 +22322,7 @@ mips_promote_function_mode (const_tree type ATTRIBUTE_UNUSED,
/* Implement TARGET_TRULY_NOOP_TRUNCATION. */
static bool
-mips_truly_noop_truncation (unsigned int outprec, unsigned int inprec)
+mips_truly_noop_truncation (poly_uint64 outprec, poly_uint64 inprec)
{
return !TARGET_64BIT || inprec <= 32 || outprec > 32;
}
diff --git a/gcc/config/spu/spu.c b/gcc/config/spu/spu.c
index 4b47b4a..2800a8f7 100644
--- a/gcc/config/spu/spu.c
+++ b/gcc/config/spu/spu.c
@@ -7185,7 +7185,7 @@ spu_can_change_mode_class (machine_mode from, machine_mode to, reg_class_t)
/* Implement TARGET_TRULY_NOOP_TRUNCATION. */
static bool
-spu_truly_noop_truncation (unsigned int outprec, unsigned int inprec)
+spu_truly_noop_truncation (poly_uint64 outprec, poly_uint64 inprec)
{
return inprec <= 32 && outprec <= inprec;
}
diff --git a/gcc/config/tilegx/tilegx.c b/gcc/config/tilegx/tilegx.c
index 794afee..140cce1 100644
--- a/gcc/config/tilegx/tilegx.c
+++ b/gcc/config/tilegx/tilegx.c
@@ -5566,7 +5566,7 @@ tilegx_file_end (void)
as sign-extended DI values in registers. */
static bool
-tilegx_truly_noop_truncation (unsigned int outprec, unsigned int inprec)
+tilegx_truly_noop_truncation (poly_uint64 outprec, poly_uint64 inprec)
{
return inprec <= 32 || outprec > 32;
}