public inbox for binutils-cvs@sourceware.org
 help / color / mirror / Atom feed
* [binutils-gdb] RISC-V: Add support for 'Zvfh' and 'Zvfhmin'
@ 2023-08-03  7:52 Tsukasa OI
  0 siblings, 0 replies; only message in thread
From: Tsukasa OI @ 2023-08-03  7:52 UTC (permalink / raw)
  To: bfd-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e57ed3695a65ecbc76c195ad0535657150b7d5d9

commit e57ed3695a65ecbc76c195ad0535657150b7d5d9
Author: Tsukasa OI <research_trasio@irq.a4lg.com>
Date:   Thu Aug 3 05:35:53 2023 +0000

    RISC-V: Add support for 'Zvfh' and 'Zvfhmin'
    
    This commit adds support for recently ratified vector FP16 extensions:
    'Zvfh' and 'Zvfhmin'.
    
    This is based on:
    <https://github.com/riscv/riscv-v-spec/blob/master/v-spec.adoc#zvfhmin-vector-extension-for-minimal-half-precision-floating-point>
    <https://github.com/riscv/riscv-v-spec/blob/master/v-spec.adoc#zvfh-vector-extension-for-half-precision-floating-point>
    
    Despite not having any new instructions, it will be necessary since those
    extensions are already implemented in GCC.
    
    Note that however, in this commit, following dependencies are implemented.
    
    1.  'Zvfhmin' -> 'Zve32f'
    2.  'Zvfh' -> 'Zvfhmin' (not 'Zvfh' -> 'Zve32f' as in the documentation)
    3.  'Zvfh' -> 'Zfhmin'
    
    This is because the instructions and configurations supported by the
    'Zvfh' extension is a strict superset of the 'Zvfhmin' extension and
    'Zvfh' -> 'Zve32f' dependency is indirectly derived from that fact.
    
    bfd/ChangeLog:
    
            * elfxx-riscv.c (riscv_implicit_subsets): Add implications
            related to 'Zvfh' and 'Zvfhmin' extensions.
            (riscv_supported_std_z_ext) Add 'Zvfh' and 'Zvfhmin' to the list.

Diff:
---
 bfd/elfxx-riscv.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c
index 2ce95d90df5..ee459872948 100644
--- a/bfd/elfxx-riscv.c
+++ b/bfd/elfxx-riscv.c
@@ -1110,6 +1110,9 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] =
   {"v", "d",		check_implicit_always},
   {"v", "zve64d",	check_implicit_always},
   {"v", "zvl128b",	check_implicit_always},
+  {"zvfh", "zvfhmin",	check_implicit_always},
+  {"zvfh", "zfhmin",	check_implicit_always},
+  {"zvfhmin", "zve32f",	check_implicit_always},
   {"zve64d", "d",	check_implicit_always},
   {"zve64d", "zve64f",	check_implicit_always},
   {"zve64f", "zve32f",	check_implicit_always},
@@ -1287,6 +1290,8 @@ static struct riscv_supported_ext riscv_supported_std_z_ext[] =
   {"zve64d",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
   {"zvbb",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
   {"zvbc",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
+  {"zvfh",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
+  {"zvfhmin",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
   {"zvkg",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
   {"zvkn",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
   {"zvkng",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-08-03  7:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-03  7:52 [binutils-gdb] RISC-V: Add support for 'Zvfh' and 'Zvfhmin' Tsukasa OI

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).