Hi!

On 2018-12-12T11:52:23+0000, Andrew Stubbs <a...@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)])

Generally, shouldn't there be a better way, that avoids duplication and
instead shares such definitions between 'gcn.h' and 'gcn.md'?

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


Grüße
 Thomas


>From 6af4774b4574086f5d4925333406eab4fed7f9a5 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <tschwi...@baylibre.com>
Date: Wed, 31 Jan 2024 13:27:34 +0100
Subject: [PATCH] GCN: Remove 'FIRST_{SGPR,VGPR,AVGPR}_REG',
 'LAST_{SGPR,VGPR,AVGPR}_REG' from machine description

They're not used there, and we avoid potentially out-of-sync definitions.

	gcc/
	* config/gcn/gcn.md (FIRST_SGPR_REG, LAST_SGPR_REG)
	(FIRST_VGPR_REG, LAST_VGPR_REG, FIRST_AVGPR_REG, LAST_AVGPR_REG):
	Don't 'define_constants'.
---
 gcc/config/gcn/gcn.md | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/gcc/config/gcn/gcn.md b/gcc/config/gcn/gcn.md
index 1f3c692b7a67..b3235eeea1b6 100644
--- a/gcc/config/gcn/gcn.md
+++ b/gcc/config/gcn/gcn.md
@@ -23,9 +23,7 @@
 
 ; Named registers
 (define_constants
-  [(FIRST_SGPR_REG		 0)
-   (CC_SAVE_REG			 22)
-   (LAST_SGPR_REG		 101)
+  [(CC_SAVE_REG			 22)
    (FLAT_SCRATCH_REG		 102)
    (FLAT_SCRATCH_LO_REG		 102)
    (FLAT_SCRATCH_HI_REG		 103)
@@ -49,11 +47,7 @@
    (EXEC_LO_REG			 126)
    (EXEC_HI_REG			 127)
    (EXECZ_REG			 128)
-   (SCC_REG			 129)
-   (FIRST_VGPR_REG		 160)
-   (LAST_VGPR_REG		 415)
-   (FIRST_AVGPR_REG		 416)
-   (LAST_AVGPR_REG		 671)])
+   (SCC_REG			 129)])
 
 (define_constants
   [(SP_REGNUM 16)
-- 
2.43.0

Reply via email to