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.

Reply via email to