From: Kewen Lin <linkw@linux.ibm.com>
To: gcc-patches@gcc.gnu.org
Cc: linkw@linux.ibm.com, kito.cheng@gmail.com, palmer@dabbelt.com,
andrew@sifive.com, jim.wilson.gcc@gmail.com
Subject: [PATCH 41/52] riscv: New hook implementation riscv_c_mode_for_floating_type
Date: Sun, 2 Jun 2024 22:01:31 -0500 [thread overview]
Message-ID: <312de1e592b96ee2ccd10829c17cfb9df93b13da.1717134752.git.linkw@linux.ibm.com> (raw)
In-Reply-To: <cover.1717134752.git.linkw@linux.ibm.com>
This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE
defines in riscv port, and add new port specific hook
implementation riscv_c_mode_for_floating_type.
gcc/ChangeLog:
* config/riscv/riscv.cc (riscv_c_mode_for_floating_type): New function.
(TARGET_C_MODE_FOR_FLOATING_TYPE): New macro.
* config/riscv/riscv.h (FLOAT_TYPE_SIZE): Remove.
(DOUBLE_TYPE_SIZE): Likewise.
(LONG_DOUBLE_TYPE_SIZE): Likewise.
---
gcc/config/riscv/riscv.cc | 15 +++++++++++++++
gcc/config/riscv/riscv.h | 4 ----
2 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc
index 92935275aaa..b011344cabe 100644
--- a/gcc/config/riscv/riscv.cc
+++ b/gcc/config/riscv/riscv.cc
@@ -11449,6 +11449,18 @@ riscv_expand_usadd (rtx dest, rtx x, rtx y)
emit_move_insn (dest, gen_lowpart (mode, xmode_dest));
}
+/* Implement TARGET_C_MODE_FOR_FLOATING_TYPE. Return TFmode for
+ TI_LONG_DOUBLE_TYPE which is for long double type, go with the
+ default one for the others. */
+
+static machine_mode
+riscv_c_mode_for_floating_type (enum tree_index ti)
+{
+ if (ti == TI_LONG_DOUBLE_TYPE)
+ return TFmode;
+ return default_mode_for_floating_type (ti);
+}
+
/* Initialize the GCC target structure. */
#undef TARGET_ASM_ALIGNED_HI_OP
#define TARGET_ASM_ALIGNED_HI_OP "\t.half\t"
@@ -11804,6 +11816,9 @@ riscv_expand_usadd (rtx dest, rtx x, rtx y)
#undef TARGET_GET_RAW_RESULT_MODE
#define TARGET_GET_RAW_RESULT_MODE riscv_get_raw_result_mode
+#undef TARGET_C_MODE_FOR_FLOATING_TYPE
+#define TARGET_C_MODE_FOR_FLOATING_TYPE riscv_c_mode_for_floating_type
+
struct gcc_target targetm = TARGET_INITIALIZER;
#include "gt-riscv.h"
diff --git a/gcc/config/riscv/riscv.h b/gcc/config/riscv/riscv.h
index d6b14c4d620..83c4677c6a1 100644
--- a/gcc/config/riscv/riscv.h
+++ b/gcc/config/riscv/riscv.h
@@ -188,10 +188,6 @@ ASM_MISA_SPEC
#define POINTER_SIZE (riscv_abi >= ABI_LP64 ? 64 : 32)
#define LONG_TYPE_SIZE POINTER_SIZE
-#define FLOAT_TYPE_SIZE 32
-#define DOUBLE_TYPE_SIZE 64
-#define LONG_DOUBLE_TYPE_SIZE 128
-
/* Allocation boundary (in *bits*) for storing arguments in argument list. */
#define PARM_BOUNDARY BITS_PER_WORD
--
2.43.0
next prev parent reply other threads:[~2024-06-03 3:02 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 ` Kewen Lin [this message]
2024-06-03 5:14 ` [PATCH 41/52] riscv: New hook implementation riscv_c_mode_for_floating_type 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
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=312de1e592b96ee2ccd10829c17cfb9df93b13da.1717134752.git.linkw@linux.ibm.com \
--to=linkw@linux.ibm.com \
--cc=andrew@sifive.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=jim.wilson.gcc@gmail.com \
--cc=kito.cheng@gmail.com \
--cc=palmer@dabbelt.com \
/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).