public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Oleg Endo <oleg.endo@t-online.de>
To: Kewen Lin <linkw@linux.ibm.com>, gcc-patches@gcc.gnu.org
Cc: aoliva@gcc.gnu.org, olegendo@gcc.gnu.org
Subject: Re: [PATCH 45/52] sh: New hook implementation sh_c_mode_for_floating_type
Date: Mon, 03 Jun 2024 12:16:38 +0900	[thread overview]
Message-ID: <5e9013c163f0e076fafe366bc391d17995044fd5.camel@t-online.de> (raw)
In-Reply-To: <f951ed80ce1c0bbb38c195c704215d642a44335a.1717134752.git.linkw@linux.ibm.com>


Hi!

On Sun, 2024-06-02 at 22:01 -0500, Kewen Lin wrote:
> This is to remove macro LONG_DOUBLE_TYPE_SIZE define in
> sh port, and add new port specific hook implementation
> sh_c_mode_for_floating_type.
> 

The SH parts look OK to me.

Best regards,
Oleg Endo


> gcc/ChangeLog:
> 
> 	* config/sh/sh.cc (sh_c_mode_for_floating_type): New function.
> 	(TARGET_C_MODE_FOR_FLOATING_TYPE): New macro.
> 	* config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Remove.
> ---
>  gcc/config/sh/sh.cc | 18 ++++++++++++++++++
>  gcc/config/sh/sh.h  | 10 ----------
>  2 files changed, 18 insertions(+), 10 deletions(-)
> 
> diff --git a/gcc/config/sh/sh.cc b/gcc/config/sh/sh.cc
> index ef3c2e6791d..bc017420381 100644
> --- a/gcc/config/sh/sh.cc
> +++ b/gcc/config/sh/sh.cc
> @@ -328,6 +328,7 @@ static unsigned int sh_hard_regno_nregs (unsigned int, machine_mode);
>  static bool sh_hard_regno_mode_ok (unsigned int, machine_mode);
>  static bool sh_modes_tieable_p (machine_mode, machine_mode);
>  static bool sh_can_change_mode_class (machine_mode, machine_mode, reg_class_t);
> +static machine_mode sh_c_mode_for_floating_type (enum tree_index);
>  \f
>  TARGET_GNU_ATTRIBUTES (sh_attribute_table,
>  {
> @@ -664,6 +665,9 @@ TARGET_GNU_ATTRIBUTES (sh_attribute_table,
>  #undef  TARGET_HAVE_SPECULATION_SAFE_VALUE
>  #define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
>  
> +#undef TARGET_C_MODE_FOR_FLOATING_TYPE
> +#define TARGET_C_MODE_FOR_FLOATING_TYPE sh_c_mode_for_floating_type
> +
>  struct gcc_target targetm = TARGET_INITIALIZER;
>  \f
>  
> @@ -10674,6 +10678,20 @@ sh_can_change_mode_class (machine_mode from, machine_mode to,
>    return true;
>  }
>  
> +/* Implement TARGET_C_MODE_FOR_FLOATING_TYPE.  Return SFmode or DFmode
> +   for TI_DOUBLE_TYPE which is for double type, go with the default one
> +   for the others.  */
> +
> +static machine_mode
> +sh_c_mode_for_floating_type (enum tree_index ti)
> +{
> +  /* Since the SH2e has only `float' support, it is desirable to make all
> +     floating point types equivalent to `float'.  */
> +  if (ti == TI_DOUBLE_TYPE)
> +    return TARGET_FPU_SINGLE_ONLY ? SFmode : DFmode;
> +  return default_mode_for_floating_type (ti);
> +}
> +
>  /* Return true if registers in machine mode MODE will likely be
>     allocated to registers in small register classes.  */
>  bool
> diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
> index 7d3a3f08338..53cad85d122 100644
> --- a/gcc/config/sh/sh.h
> +++ b/gcc/config/sh/sh.h
> @@ -425,9 +425,6 @@ extern const sh_atomic_model& selected_atomic_model (void);
>  /* Width in bits of a `long long'.  */
>  #define LONG_LONG_TYPE_SIZE 64
>  
> -/* Width in bits of a `long double'.  */
> -#define LONG_DOUBLE_TYPE_SIZE 64
> -
>  /* Width of a word, in units (bytes).  */
>  #define UNITS_PER_WORD	(4)
>  #define MIN_UNITS_PER_WORD 4
> @@ -1433,13 +1430,6 @@ extern bool current_function_interrupt;
>     Do not define this if the table should contain absolute addresses.  */
>  #define CASE_VECTOR_PC_RELATIVE 1
>  
> -/* Define it here, so that it doesn't get bumped to 64-bits on SHmedia.  */
> -#define FLOAT_TYPE_SIZE 32
> -
> -/* Since the SH2e has only `float' support, it is desirable to make all
> -   floating point types equivalent to `float'.  */
> -#define DOUBLE_TYPE_SIZE (TARGET_FPU_SINGLE_ONLY ? 32 : 64)
> -
>  /* 'char' is signed by default.  */
>  #define DEFAULT_SIGNED_CHAR  1
>  
> -- 
> 2.43.0
> 

  reply	other threads:[~2024-06-03  3:16 UTC|newest]

Thread overview: 149+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-03  3:00 [PATCH 00/52] Replace {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE with new hook Kewen Lin
2024-06-03  3:00 ` [PATCH 01/52] ada: Replace use of LONG_DOUBLE_TYPE_SIZE Kewen Lin
2024-06-03  8:51   ` Eric Botcazou
2024-06-05  9:32     ` Kewen.Lin
2024-06-03  3:00 ` [PATCH 02/52] d: " Kewen Lin
2024-06-03  8:40   ` Iain Buclaw
2024-06-03  8:57     ` Kewen.Lin
2024-06-03 14:39       ` Iain Buclaw
2024-06-04  3:17         ` [PATCH 02/52 v2] " Kewen.Lin
2024-06-04 11:35           ` Iain Buclaw
2024-06-05  9:32             ` Kewen.Lin
2024-06-03  3:00 ` [PATCH 03/52] fortran: Replace uses of {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE Kewen Lin
2024-06-03 20:01   ` [PATCH 03/52] fortran: Replace uses of {FLOAT, {, LONG_}DOUBLE}_TYPE_SIZE Harald Anlauf
2024-06-03 20:01     ` Harald Anlauf
2024-06-05  9:30     ` Kewen.Lin
2024-06-03  3:00 ` [PATCH 04/52] go: Replace uses of {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE Kewen Lin
2024-06-12  9:33   ` Kewen.Lin
2024-06-12 12:32     ` Ian Lance Taylor
2024-06-25  5:38       ` Kewen.Lin
2024-06-03  3:00 ` [PATCH 05/52] rust: " Kewen Lin
2024-06-12  9:35   ` PING^1 " Kewen.Lin
2024-06-21  1:48     ` PING^2 " Kewen.Lin
2024-06-21 10:17   ` Arthur Cohen
2024-06-21 10:36     ` Kewen.Lin
2024-06-25  5:42       ` Kewen.Lin
2024-06-25 10:14       ` Arthur Cohen
2024-06-03  3:00 ` [PATCH 06/52] m2: " Kewen Lin
2024-06-03 12:42   ` Gaius Mulley
2024-06-03 18:02   ` Joseph Myers
2024-06-04  3:19     ` Kewen.Lin
2024-06-05 14:22       ` Gaius Mulley
2024-06-06  5:15         ` Kewen.Lin
2024-06-06 18:31           ` Gaius Mulley
2024-06-12  9:31           ` Kewen.Lin
2024-06-15  5:00             ` Gaius Mulley
2024-06-17  6:07               ` Kewen.Lin
2024-06-03  3:00 ` [PATCH 07/52] darwin: Replace use of LONG_DOUBLE_TYPE_SIZE Kewen Lin
2024-06-04  6:21   ` Iain Sandoe
2024-06-05  9:29     ` Kewen.Lin
2024-06-03  3:00 ` [PATCH 08/52] vms: " Kewen Lin
2024-06-12  9:36   ` PING^1 " Kewen.Lin
2024-06-03  3:00 ` [PATCH 09/52] Replace {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE with new hook mode_for_floating_type Kewen Lin
2024-06-03  6:49   ` Richard Biener
2024-06-03  9:36     ` Kewen.Lin
2024-06-03 17:59   ` [PATCH 09/52] Replace {FLOAT, {, LONG_}DOUBLE}_TYPE_SIZE " Joseph Myers
2024-06-04  3:27     ` [PATCH 09/52 v2] " Kewen.Lin
2024-06-25  5:20       ` Kewen.Lin
2024-06-03  3:01 ` [PATCH 10/52] jit: Replace uses of {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE Kewen Lin
2024-06-13  7:14   ` PING^1 " Kewen.Lin
2024-06-13 13:44   ` David Malcolm
2024-06-14  2:16     ` Kewen.Lin
2024-06-24  6:23       ` Kewen.Lin
2024-06-24 22:25       ` David Malcolm
2024-06-03  3:01 ` [PATCH 11/52] arc: Remove macros {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE Kewen Lin
2024-06-13  7:14   ` PING^1 " Kewen.Lin
2024-06-03  3:01 ` [PATCH 12/52] bpf: " Kewen Lin
2024-06-13  7:15   ` PING^1 " Kewen.Lin
2024-06-03  3:01 ` [PATCH 13/52] epiphany: " Kewen Lin
2024-06-13  7:15   ` PING^1 " Kewen.Lin
2024-06-03  3:01 ` [PATCH 14/52] fr30: " Kewen Lin
2024-06-03 11:43   ` Nick Clifton
2024-06-03  3:01 ` [PATCH 15/52] frv: " Kewen Lin
2024-06-03 13:31   ` Nick Clifton
2024-06-03  3:01 ` [PATCH 16/52] ft32: " Kewen Lin
2024-06-13  7:15   ` PING^1 " Kewen.Lin
2024-06-03  3:01 ` [PATCH 17/52] gcn: " Kewen Lin
2024-06-03  9:14   ` [PATCH 17/52] gcn: Remove macros {FLOAT, DOUBLE, LONG_DOUBLE}_TYPE_SIZE Andrew Stubbs
2024-06-03  9:41     ` Kewen.Lin
2024-06-03  9:57       ` Jakub Jelinek
2024-06-03  3:01 ` [PATCH 18/52] iq2000: Remove macros {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE Kewen Lin
2024-06-03 13:32   ` Nick Clifton
2024-06-03  3:01 ` [PATCH 19/52] lm32: " Kewen Lin
2024-06-13  7:15   ` PING^1 " Kewen.Lin
2024-06-03  3:01 ` [PATCH 20/52] m32c: " Kewen Lin
2024-06-03 13:33   ` Nick Clifton
2024-06-03  3:01 ` [PATCH 21/52] m32r: " Kewen Lin
2024-06-03 13:33   ` Nick Clifton
2024-06-03  3:01 ` [PATCH 22/52] microblaze: " Kewen Lin
2024-06-13  7:16   ` PING^1 " Kewen.Lin
2024-06-13 17:37     ` Michael Eager
2024-06-03  3:01 ` [PATCH 23/52] mmix: " Kewen Lin
2024-06-06  1:41   ` Hans-Peter Nilsson
2024-06-06  2:11     ` Kewen.Lin
2024-06-03  3:01 ` [PATCH 24/52] moxie: " Kewen Lin
2024-06-13  7:16   ` PING^1 " Kewen.Lin
2024-06-03  3:01 ` [PATCH 25/52] msp430: " Kewen Lin
2024-06-03 13:34   ` Nick Clifton
2024-06-03  3:01 ` [PATCH 26/52] nds32: " Kewen Lin
2024-06-13  7:16   ` PING^1 " Kewen.Lin
2024-06-03  3:01 ` [PATCH 27/52] nios2: " Kewen Lin
2024-06-06 16:23   ` Sandra Loosemore
2024-06-03  3:01 ` [PATCH 28/52] nvptx: " Kewen Lin
2024-06-13  7:16   ` PING^1 " Kewen.Lin
2024-06-03  3:01 ` [PATCH 29/52] or1k: " Kewen Lin
2024-06-13  7:16   ` PING^1 " Kewen.Lin
2024-06-20 14:18     ` Stafford Horne
2024-06-03  3:01 ` [PATCH 30/52] pdp11: Remove macro LONG_DOUBLE_TYPE_SIZE Kewen Lin
2024-06-13  7:16   ` PING^1 " Kewen.Lin
2024-06-13 20:07     ` Paul Koning
2024-06-14  3:22       ` [PATCH 30/52 v2] pdp11: Remove macro {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE Kewen.Lin
2024-06-14 15:20         ` Paul Koning
2024-06-17  2:01           ` Kewen.Lin
2024-06-17 18:05             ` Paul Koning
2024-06-03  3:01 ` [PATCH 31/52] pru: Remove macros {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE Kewen Lin
2024-06-03 15:59   ` Dimitar Dimitrov
2024-06-03  3:01 ` [PATCH 32/52] stormy16: " Kewen Lin
2024-06-03 13:35   ` Nick Clifton
2024-06-03  3:01 ` [PATCH 33/52] visium: " Kewen Lin
2024-06-13  7:17   ` PING^1 " Kewen.Lin
2024-06-03  3:01 ` [PATCH 34/52] xtensa: " Kewen Lin
2024-06-03 21:08   ` augustine.sterling
2024-06-03  3:01 ` [PATCH 35/52] rs6000: New hook implementation rs6000_c_mode_for_floating_type Kewen Lin
2024-06-03  3:01 ` [PATCH 36/52] aarch64: New hook implementation aarch64_c_mode_for_floating_type Kewen Lin
2024-06-03 10:32   ` Richard Sandiford
2024-06-03  3:01 ` [PATCH 37/52] alpha: New hook implementation alpha_c_mode_for_floating_type Kewen Lin
2024-06-13  7:42   ` PING^1 " Kewen.Lin
2024-06-03  3:01 ` [PATCH 38/52] avr: New hook implementation avr_c_mode_for_floating_type Kewen Lin
2024-06-13  7:42   ` PING^1 " Kewen.Lin
2024-06-03  3:01 ` [PATCH 39/52] i386: New hook implementation ix86_c_mode_for_floating_type Kewen Lin
2024-06-03  7:12   ` Uros Bizjak
2024-06-03  3:01 ` [PATCH 40/52] ia64: New hook implementation ia64_c_mode_for_floating_type Kewen Lin
2024-06-13  7:42   ` PING^1 " Kewen.Lin
2024-06-03  3:01 ` [PATCH 41/52] riscv: New hook implementation riscv_c_mode_for_floating_type Kewen Lin
2024-06-03  5:14   ` Kito Cheng
2024-06-03  3:01 ` [PATCH 42/52] rl78: New hook implementation rl78_c_mode_for_floating_type Kewen Lin
2024-06-13  7:42   ` PING^1 " Kewen.Lin
2024-06-13  7:46     ` Richard Biener
2024-06-03  3:01 ` [PATCH 43/52] rx: New hook implementation rx_c_mode_for_floating_type Kewen Lin
2024-06-03 13:36   ` Nick Clifton
2024-06-03  3:01 ` [PATCH 44/52] s390: New hook implementation s390_c_mode_for_floating_type Kewen Lin
2024-06-13  7:43   ` PING^1 " Kewen.Lin
2024-06-14  5:40     ` Andreas Krebbel
2024-06-03  3:01 ` [PATCH 45/52] sh: New hook implementation sh_c_mode_for_floating_type Kewen Lin
2024-06-03  3:16   ` Oleg Endo [this message]
2024-06-03  3:01 ` [PATCH 46/52] h8300: New hook implementation h8300_c_mode_for_floating_type Kewen Lin
2024-06-13  7:43   ` PING^1 " Kewen.Lin
2024-06-03  3:01 ` [PATCH 47/52] loongarch: New hook implementation loongarch_c_mode_for_floating_type Kewen Lin
2024-06-04  1:45   ` Lulu Cheng
2024-06-03  3:01 ` [PATCH 48/52] m68k: New hook implementation m68k_c_mode_for_floating_type Kewen Lin
2024-06-13  7:43   ` PING^1 " Kewen.Lin
2024-06-03  3:01 ` [PATCH 49/52] mips: New hook implementation mips_c_mode_for_floating_type Kewen Lin
2024-06-04  1:16   ` YunQiang Su
2024-06-03  3:01 ` [PATCH 50/52] pa: New hook implementation pa_c_mode_for_floating_type Kewen Lin
2024-06-04 18:55   ` John David Anglin
2024-06-03  3:01 ` [PATCH 51/52] sparc: New hook implementation sparc_c_mode_for_floating_type Kewen Lin
2024-06-03  9:02   ` Eric Botcazou
2024-06-03  9:37     ` Kewen.Lin
2024-06-03  3:01 ` [PATCH 52/52] bfin: Rename macros {FLOAT,DOUBLE}_TYPE_SIZE Kewen Lin
2024-06-13  7:43   ` PING^1 " Kewen.Lin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5e9013c163f0e076fafe366bc391d17995044fd5.camel@t-online.de \
    --to=oleg.endo@t-online.de \
    --cc=aoliva@gcc.gnu.org \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=linkw@linux.ibm.com \
    --cc=olegendo@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).