From: Andrew Stubbs <ams@baylibre.com>
To: Thomas Schwinge <tschwinge@baylibre.com>, gcc-patches@gcc.gnu.org
Subject: Re: GCN: Remove 'FIRST_{SGPR,VGPR,AVGPR}_REG', 'LAST_{SGPR,VGPR,AVGPR}_REG' from machine description
Date: Wed, 31 Jan 2024 17:41:54 +0000 [thread overview]
Message-ID: <e5f1d590-0641-4384-b834-e744beedd7df@baylibre.com> (raw)
In-Reply-To: <87jznpl8pd.fsf@euler.schwinge.ddns.net>
On 31/01/2024 17:21, Thomas Schwinge wrote:
> Hi!
>
> On 2018-12-12T11:52:23+0000, Andrew Stubbs <ams@codesourcery.com> wrote:
>> This patch contains the machine description portion of the GCN back-end. [...]
>
>> --- /dev/null
>> +++ b/gcc/config/gcn/gcn.md
>
>> +;; {{{ Constants and enums
>> +
>> +; Named registers
>> +(define_constants
>> + [(FIRST_SGPR_REG 0)
>> + (LAST_SGPR_REG 101)
>> + (FLAT_SCRATCH_REG 102)
>> + (FLAT_SCRATCH_LO_REG 102)
>> + (FLAT_SCRATCH_HI_REG 103)
>> + (XNACK_MASK_REG 104)
>> + (XNACK_MASK_LO_REG 104)
>> + (XNACK_MASK_HI_REG 105)
>> + (VCC_REG 106)
>> + (VCC_LO_REG 106)
>> + (VCC_HI_REG 107)
>> + (VCCZ_REG 108)
>> + (TBA_REG 109)
>> + (TBA_LO_REG 109)
>> + (TBA_HI_REG 110)
>> + (TMA_REG 111)
>> + (TMA_LO_REG 111)
>> + (TMA_HI_REG 112)
>> + (TTMP0_REG 113)
>> + (TTMP11_REG 124)
>> + (M0_REG 125)
>> + (EXEC_REG 126)
>> + (EXEC_LO_REG 126)
>> + (EXEC_HI_REG 127)
>> + (EXECZ_REG 128)
>> + (SCC_REG 129)
>> + (FIRST_VGPR_REG 160)
>> + (LAST_VGPR_REG 415)])
>> +
>> +(define_constants
>> + [(SP_REGNUM 16)
>> + (LR_REGNUM 18)
>> + (AP_REGNUM 416)
>> + (FP_REGNUM 418)])
Oops, these last two are actually wrong, since AVGPRs were inserted!
>
> Generally, shouldn't there be a better way, that avoids duplication and
> instead shares such definitions between 'gcn.h' and 'gcn.md'?
I think this is stuff we originally inherited from the Honza's partial
port and I just never questioned?
If the definitions are unused then it's fine to remove them (I imagine
the TBA, TMA, and TTMP registers are also unused). Is there something
about define_constants that is different to external macros? Does it
affect the mddump? -fdump output? ICE messages? If there's no difference
then I'm happy with just deleting the lot and use the gcn.h definitions
exclusively.
> Until that's settled, OK to push the attached
> "GCN: Remove 'FIRST_{SGPR,VGPR,AVGPR}_REG', 'LAST_{SGPR,VGPR,AVGPR}_REG' from machine description"?
> (I assume "still builds" is sufficient validation of this change.)
The patch is OK.
Andrew
next prev parent reply other threads:[~2024-01-31 17:41 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-12 11:52 [PATCH v3 00/10] AMD GCN Port v3 Andrew Stubbs
2018-12-12 11:52 ` [PATCH 01/10] Fix LRA bug Andrew Stubbs
2018-12-13 23:49 ` Jeff Law
2018-12-14 10:04 ` Andrew Stubbs
2018-12-14 11:52 ` Andrew Stubbs
2018-12-12 11:52 ` [PATCH v3 02/10] GCN libgfortran Andrew Stubbs
2018-12-12 11:52 ` [PATCH v3 03/10] GCN libgcc Andrew Stubbs
2018-12-12 11:53 ` [PATCH v3 09/10] Ignore LLVM's blank lines Andrew Stubbs
2018-12-12 12:07 ` Rainer Orth
2018-12-17 12:09 ` Andrew Stubbs
2018-12-13 1:32 ` Segher Boessenkool
2019-01-28 21:35 ` H.J. Lu
2018-12-12 11:53 ` [PATCH v3 08/10] Testsuite: GCN is always PIE Andrew Stubbs
2018-12-12 11:53 ` [PATCH v3 06/10] GCN back-end config Andrew Stubbs
2020-03-09 15:24 ` [Patch] ./configure.ac – build libgomp by default for amdgcn*-*-* Tobias Burnus
2020-03-09 15:56 ` Jakub Jelinek
2020-04-29 8:23 ` [gcn] Don't default to building target-libstdc++-v3 [PR92713] (was: [PATCH v3 06/10] GCN back-end config) Thomas Schwinge
2018-12-12 11:53 ` [PATCH v3 07/10] Add dg-require-effective-target exceptions Andrew Stubbs
2018-12-12 11:53 ` [PATCH v3 10/10] Port testsuite to GCN Andrew Stubbs
2018-12-17 12:17 ` Andrew Stubbs
2018-12-12 11:53 ` [PATCH v3 04/10] GCN machine description Andrew Stubbs
2020-04-29 8:30 ` Thomas Schwinge
2024-01-31 17:21 ` GCN: Remove 'FIRST_{SGPR,VGPR,AVGPR}_REG', 'LAST_{SGPR,VGPR,AVGPR}_REG' from machine description (was: [PATCH v3 04/10] GCN machine description) Thomas Schwinge
2024-01-31 17:41 ` Andrew Stubbs [this message]
2018-12-12 11:53 ` [PATCH v3 05/10] GCN back-end code Andrew Stubbs
2024-01-31 17:12 ` GCN: Remove 'SGPR_OR_VGPR_REGNO_P' definition (was: [PATCH v3 05/10] GCN back-end code) Thomas Schwinge
2024-01-31 17:22 ` GCN: Remove 'SGPR_OR_VGPR_REGNO_P' definition Andrew Stubbs
2024-02-01 13:49 ` GCN: Don't hard-code number of SGPR/VGPR/AVGPR registers (was: [PATCH v3 05/10] GCN back-end code) Thomas Schwinge
2024-02-01 14:45 ` GCN: Don't hard-code number of SGPR/VGPR/AVGPR registers Andrew Stubbs
2019-01-07 10:48 ` [PATCH v3 00/10] AMD GCN Port v3 Andrew Stubbs
2019-01-07 11:59 ` Richard Biener
2019-01-11 23:20 ` Jeff Law
2019-01-14 13:55 ` Andrew Stubbs
2019-01-17 12:51 ` Andrew Stubbs
2019-01-17 12:55 ` Richard Biener
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=e5f1d590-0641-4384-b834-e744beedd7df@baylibre.com \
--to=ams@baylibre.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=tschwinge@baylibre.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).