public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
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

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