1  /* Verify that attribute aligned overrides the effect of -falign-functions.
       2     (But see PR 88345 showing that -Os overrides -falign-functions.)
       3     The test may need to be adjusted if/when GCC implements PR 88231.
       4    { dg-do compile }
       5    { dg-options "-O2 -falign-functions=32" } */
       6  
       7  #define ALIGN(n)         __attribute__ ((aligned (n)))
       8  
       9  ALIGN (4)
      10  void f4 (void) { }
      11  
      12  /* { dg-final { scan-assembler ".align 4\n\t.globl\tf4" { target { ! *-*-darwin* } } } } */
      13  /* { dg-final { scan-assembler {.align 2,0x90\n\t.globl[ \t]_f4} { target *-*-darwin* } } } */
      14  
      15  void f32 (void) { }
      16  
      17  /* { dg-final { scan-assembler {.p2align 5\n\t.globl[ \t]_?f32} } } */
      18  
      19  
      20  ALIGN (64)
      21  void f64 (void) { }
      22  
      23  /* { dg-final { scan-assembler ".align 64\n\t.globl\tf64" { target { ! *-*-darwin* } } } } */
      24  /* { dg-final { scan-assembler {.align 6,0x90\n\t.globl[ \t]_f64} { target *-*-darwin* } } } */