As per subject. 2017-07-13 Richard Sandiford <richard.sandif...@linaro.org> Alan Hayward <alan.hayw...@arm.com> David Sherwood <david.sherw...@arm.com>
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. Index: gcc/target.def =================================================================== --- gcc/target.def 2017-07-13 09:18:26.916877727 +0100 +++ gcc/target.def 2017-07-13 09:18:27.468824773 +0100 @@ -3367,7 +3367,7 @@ floating-point mode @var{mode}, which is @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 Index: gcc/doc/tm.texi =================================================================== --- gcc/doc/tm.texi 2017-07-13 09:18:26.914877921 +0100 +++ gcc/doc/tm.texi 2017-07-13 09:18:27.467824868 +0100 @@ -4259,7 +4259,7 @@ If this hook allows @code{val} to have a @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 Index: gcc/targhooks.h =================================================================== --- gcc/targhooks.h 2017-07-13 09:18:26.917877631 +0100 +++ gcc/targhooks.h 2017-07-13 09:18:27.468824773 +0100 @@ -72,7 +72,7 @@ extern bool default_print_operand_punct_ 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); Index: gcc/targhooks.c =================================================================== --- gcc/targhooks.c 2017-07-13 09:18:26.917877631 +0100 +++ gcc/targhooks.c 2017-07-13 09:18:27.468824773 +0100 @@ -442,7 +442,7 @@ default_scalar_mode_supported_p (machine 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) { Index: gcc/config/aarch64/aarch64.c =================================================================== --- gcc/config/aarch64/aarch64.c 2017-07-13 09:18:23.795186280 +0100 +++ gcc/config/aarch64/aarch64.c 2017-07-13 09:18:27.465825060 +0100 @@ -15019,7 +15019,7 @@ aarch64_optab_supported_p (int op, machi 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