On 01/02/2024 13:49, Thomas Schwinge wrote:
Hi!
On 2018-12-12T11:52:52+0000, Andrew Stubbs <a...@codesourcery.com> wrote:
This patch contains the major part of the GCN back-end. [...]
--- /dev/null
+++ b/gcc/config/gcn/gcn.c
+void
+gcn_hsa_declare_function_name (FILE *file, const char *name, tree)
+{
+ /* Determine count of sgpr/vgpr registers by looking for last
+ one used. */
+ for (sgpr = 101; sgpr >= 0; sgpr--)
+ if (df_regs_ever_live_p (FIRST_SGPR_REG + sgpr))
+ break;
+ sgpr++;
+ for (vgpr = 255; vgpr >= 0; vgpr--)
+ if (df_regs_ever_live_p (FIRST_VGPR_REG + vgpr))
+ break;
+ vgpr++;
--- /dev/null
+++ b/gcc/config/gcn/gcn.h
+#define FIRST_SGPR_REG 0
+#define SGPR_REGNO(N) ((N)+FIRST_SGPR_REG)
+#define LAST_SGPR_REG 101
+#define FIRST_VGPR_REG 160
+#define VGPR_REGNO(N) ((N)+FIRST_VGPR_REG)
+#define LAST_VGPR_REG 415
OK to push "GCN: Don't hard-code number of SGPR/VGPR/AVGPR registers",
see attached?
OK.
Andrew