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
>
next prev parent 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).