public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jeff Law <jeffreyalaw@gmail.com>
To: Kito Cheng <kito.cheng@sifive.com>,
	gcc-patches@gcc.gnu.org, kito.cheng@gmail.com,
	jim.wilson.gcc@gmail.com, palmer@dabbelt.com, andrew@sifive.com,
	christoph.muellner@vrull.eu
Subject: Re: [PATCH 0/5] RISC-V: Relax the -march string for accept any order
Date: Tue, 9 Jan 2024 11:31:52 -0700	[thread overview]
Message-ID: <f5025449-6e63-4dbc-a3d7-69c7c8f8376b@gmail.com> (raw)
In-Reply-To: <20240108134738.998804-1-kito.cheng@sifive.com>



On 1/8/24 06:47, Kito Cheng wrote:
> 
> Do you know how to build a ISA string with following extension?
> - g
> - c
> - zba
> - zbs
> - svnapot
> - zve64d
> - zvl128b
> 
> Don't trial and error with your gcc and don't read RISC-V ISA spec! OK, I believe it's impossible for most people, even I work for RISC-V so many years, I remember most of the rule of the the canonical order, it's still hard to order that right in short time...
> 
> So I think it's time to relax that for the -march string inputs, since we have so many extension today, but we still keep the canonicalization within the compiler, because we need that to handle multi-lib and also it's easier to compare different ISA string.
> 
> This patch break into serveral part:
> 1) Small refactor patch
> 2) Change the way of parsing ISA string.
> 3) Remove unused functions
> 4) Update test cases
> 5) Update document
Just because something is hard doesn't necessarily mean we should avoid it.

A great example would be strict aliasing.  I'd bet that 90% of C/C++ 
developers would get something wrong in this space.  Similarly for 
oddities of FP arithmetic.

My biggest worry is consistency across various tools.  It's rather lame 
if GCC were on an island by itself either in being too strict or too loose.

So where are the other key tools in this regard?  Are we an outlier 
right now or will this patch make us an outlier?

jeff

  parent reply	other threads:[~2024-01-09 18:31 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-08 13:47 Kito Cheng
2024-01-08 13:47 ` [PATCH 1/5] RISC-V: Extract part parsing base ISA logic into a standalone function [NFC] Kito Cheng
2024-01-08 13:47 ` [PATCH 2/5] RISC-V: Relax the -march string for accept any order Kito Cheng
2024-01-08 13:47 ` [PATCH 3/5] RISC-V: Remove unused function in riscv_subset_list [NFC] Kito Cheng
2024-01-08 13:47 ` [PATCH 4/5] RISC-V: Update testsuite due to -march string relaxation Kito Cheng
2024-01-08 13:47 ` [PATCH 5/5] RISC-V: Document the syntax of -march Kito Cheng
2024-01-09 18:31 ` Jeff Law [this message]
2024-01-10  0:58   ` [PATCH 0/5] RISC-V: Relax the -march string for accept any order Kito Cheng
2024-01-10  1:38     ` Fangrui Song
2024-01-16 14:33     ` Jeff Law
2024-01-19  7:20       ` Kito Cheng
2024-01-19  9:36 juzhe.zhong
2024-01-19  9:39 ` Kito Cheng

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=f5025449-6e63-4dbc-a3d7-69c7c8f8376b@gmail.com \
    --to=jeffreyalaw@gmail.com \
    --cc=andrew@sifive.com \
    --cc=christoph.muellner@vrull.eu \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jim.wilson.gcc@gmail.com \
    --cc=kito.cheng@gmail.com \
    --cc=kito.cheng@sifive.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).