aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Stubbs <ams@baylibre.com>2024-08-09 11:45:42 +0000
committerAndrew Stubbs <ams@baylibre.com>2024-08-09 12:24:32 +0000
commitb5a09a68bf0feaf0b0678d8f3433f776238d3896 (patch)
tree887b4b90208366bc8d7e5e9d81793df678572d86
parent9f5d22e3e2b8e4532896a4f3837cb86006d5930c (diff)
downloadgcc-b5a09a68bf0feaf0b0678d8f3433f776238d3896.zip
gcc-b5a09a68bf0feaf0b0678d8f3433f776238d3896.tar.gz
gcc-b5a09a68bf0feaf0b0678d8f3433f776238d3896.tar.bz2
amdgcn: Add padding to trampoline
This avoids a -Wpadded warning (testcase gcc.dg/20050607-1.c). gcc/ChangeLog: * config/gcn/gcn.cc (gcn_asm_trampoline_template): Add .align. * config/gcn/gcn.h (TRAMPOLINE_SIZE): Increase to 40.
-rw-r--r--gcc/config/gcn/gcn.cc1
-rw-r--r--gcc/config/gcn/gcn.h2
2 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc
index 0725d15..17316a7 100644
--- a/gcc/config/gcn/gcn.cc
+++ b/gcc/config/gcn/gcn.cc
@@ -3794,6 +3794,7 @@ gcn_asm_trampoline_template (FILE *f)
asm_fprintf (f, "\ts_mov_b32\ts%i, 0xffff\n", CC_SAVE_REG);
asm_fprintf (f, "\ts_mov_b32\ts%i, 0xffff\n", CC_SAVE_REG + 1);
asm_fprintf (f, "\ts_setpc_b64\ts[%i:%i]\n", CC_SAVE_REG, CC_SAVE_REG + 1);
+ asm_fprintf (f, "\t.align 8\n");
}
/* Implement TARGET_TRAMPOLINE_INIT.
diff --git a/gcc/config/gcn/gcn.h b/gcc/config/gcn/gcn.h
index e3bfd29..bd2afa6 100644
--- a/gcc/config/gcn/gcn.h
+++ b/gcc/config/gcn/gcn.h
@@ -831,7 +831,7 @@ enum gcn_builtin_codes
#define PROFILE_BEFORE_PROLOGUE 0
/* Trampolines */
-#define TRAMPOLINE_SIZE 36
+#define TRAMPOLINE_SIZE 40 /* 36 + 4 padding for alignment. */
#define TRAMPOLINE_ALIGNMENT 64
/* MD Optimization.