https://gcc.gnu.org/g:f97a7b3f4bfa4041514aec76a96c642ec8d225fe
commit f97a7b3f4bfa4041514aec76a96c642ec8d225fe Author: Andrew Stubbs <a...@baylibre.com> Date: Fri Aug 9 11:45:42 2024 +0000 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. (cherry picked from commit b5a09a68bf0feaf0b0678d8f3433f776238d3896) Diff: --- gcc/ChangeLog.omp | 6 ++++++ gcc/config/gcn/gcn.cc | 1 + gcc/config/gcn/gcn.h | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog.omp b/gcc/ChangeLog.omp index 92982fb7fd82..ce600d235f66 100644 --- a/gcc/ChangeLog.omp +++ b/gcc/ChangeLog.omp @@ -1,5 +1,11 @@ 2024-12-18 Thomas Schwinge <tschwi...@baylibre.com> + Backported from trunk: + 2024-08-09 Andrew Stubbs <a...@baylibre.com> + + * config/gcn/gcn.cc (gcn_asm_trampoline_template): Add .align. + * config/gcn/gcn.h (TRAMPOLINE_SIZE): Increase to 40. + Backported from trunk: 2024-12-09 Thomas Schwinge <tschwi...@baylibre.com> diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc index 49ab9cf3bd65..e44d221cb6d7 100644 --- a/gcc/config/gcn/gcn.cc +++ b/gcc/config/gcn/gcn.cc @@ -3796,6 +3796,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 afa615320ca3..cb65dbbed6df 100644 --- a/gcc/config/gcn/gcn.h +++ b/gcc/config/gcn/gcn.h @@ -834,7 +834,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.