From 7c5bd57a753528f8a612d3e63d3cd0d53f99e71d Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Wed, 30 Aug 2017 11:10:03 +0000 Subject: [PATCH] [14/77] Make libgcc_floating_mode_supported_p take a scalar_float_mode As per subject. 2017-08-30 Richard Sandiford Alan Hayward David Sherwood gcc/ * target.def (libgcc_floating_mode_supported_p): Take a scalar_float_mode. * doc/tm.texi: Regenerate. * targhooks.h (default_libgcc_floating_mode_supported_p): Take a scalar_float_mode. * targhooks.c (default_libgcc_floating_mode_supported_p): Likewise. * config/aarch64/aarch64.c (aarch64_libgcc_floating_mode_supported_p): Likewise. Co-Authored-By: Alan Hayward Co-Authored-By: David Sherwood From-SVN: r251466 --- gcc/ChangeLog | 13 +++++++++++++ gcc/config/aarch64/aarch64.c | 2 +- gcc/doc/tm.texi | 2 +- gcc/target.def | 2 +- gcc/targhooks.c | 2 +- gcc/targhooks.h | 2 +- 6 files changed, 18 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a261c1870e1..221693a8eed 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,16 @@ +2017-08-30 Richard Sandiford + Alan Hayward + David Sherwood + + * target.def (libgcc_floating_mode_supported_p): Take a + scalar_float_mode. + * doc/tm.texi: Regenerate. + * targhooks.h (default_libgcc_floating_mode_supported_p): Take a + scalar_float_mode. + * targhooks.c (default_libgcc_floating_mode_supported_p): Likewise. + * config/aarch64/aarch64.c (aarch64_libgcc_floating_mode_supported_p): + Likewise. + 2017-08-30 Richard Sandiford Alan Hayward David Sherwood diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 88373dd812c..3790830fec1 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -15132,7 +15132,7 @@ aarch64_optab_supported_p (int op, machine_mode mode1, machine_mode, if MODE is HFmode, and punt to the generic implementation otherwise. */ static bool -aarch64_libgcc_floating_mode_supported_p (machine_mode mode) +aarch64_libgcc_floating_mode_supported_p (scalar_float_mode mode) { return (mode == HFmode ? true diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 9607ff12a08..dd27db75658 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -4259,7 +4259,7 @@ If this hook allows @code{val} to have a scalar mode, then @code{int8x8x3_t}s in registers rather than forcing them onto the stack. @end deftypefn -@deftypefn {Target Hook} bool TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P (machine_mode @var{mode}) +@deftypefn {Target Hook} bool TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P (scalar_float_mode @var{mode}) Define this to return nonzero if libgcc provides support for the floating-point mode @var{mode}, which is known to pass @code{TARGET_SCALAR_MODE_SUPPORTED_P}. The default version of this diff --git a/gcc/target.def b/gcc/target.def index 1fff0e8c30f..1e7c8deb526 100644 --- a/gcc/target.def +++ b/gcc/target.def @@ -3378,7 +3378,7 @@ floating-point mode @var{mode}, which is known to pass \n\ @code{TARGET_SCALAR_MODE_SUPPORTED_P}. The default version of this \n\ hook returns true for all of @code{SFmode}, @code{DFmode}, \n\ @code{XFmode} and @code{TFmode}, if such modes exist.", - bool, (machine_mode mode), + bool, (scalar_float_mode mode), default_libgcc_floating_mode_supported_p) DEFHOOK diff --git a/gcc/targhooks.c b/gcc/targhooks.c index 76ef7c98cab..2b7f27fdf0d 100644 --- a/gcc/targhooks.c +++ b/gcc/targhooks.c @@ -443,7 +443,7 @@ default_scalar_mode_supported_p (machine_mode mode) be supported as a scalar mode). */ bool -default_libgcc_floating_mode_supported_p (machine_mode mode) +default_libgcc_floating_mode_supported_p (scalar_float_mode mode) { switch (mode) { diff --git a/gcc/targhooks.h b/gcc/targhooks.h index b0655721b3d..2ab7eec348f 100644 --- a/gcc/targhooks.h +++ b/gcc/targhooks.h @@ -72,7 +72,7 @@ extern bool default_print_operand_punct_valid_p (unsigned char); extern tree default_mangle_assembler_name (const char *); extern bool default_scalar_mode_supported_p (machine_mode); -extern bool default_libgcc_floating_mode_supported_p (machine_mode); +extern bool default_libgcc_floating_mode_supported_p (scalar_float_mode); extern opt_scalar_float_mode default_floatn_mode (int, bool); extern bool targhook_words_big_endian (void); extern bool targhook_float_words_big_endian (void); -- 2.30.2