* config/sparc/sparc.c (sparc_option_override): Set function alignment for -mcpu=niagara7 to 64 to match the I$ line. * testsuite/gcc.target/sparc/niagara7-align.c: Test case with -mcpu=niagara7 -falign-functions. --- gcc/config/sparc/sparc.c | 13 ++++++++----- gcc/testsuite/gcc.target/sparc/niagara7-align.c | 4 ++++ 2 files changed, 12 insertions(+), 5 deletions(-) create mode 100644 gcc/testsuite/gcc.target/sparc/niagara7-align.c
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index 8277496..6dfb269 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -1528,15 +1528,18 @@ sparc_option_override (void) target_flags |= MASK_LRA; /* Supply a default value for align_functions. */ - if (align_functions == 0 - && (sparc_cpu == PROCESSOR_ULTRASPARC + if (align_functions == 0) + { + if (sparc_cpu == PROCESSOR_ULTRASPARC || sparc_cpu == PROCESSOR_ULTRASPARC3 || sparc_cpu == PROCESSOR_NIAGARA || sparc_cpu == PROCESSOR_NIAGARA2 || sparc_cpu == PROCESSOR_NIAGARA3 - || sparc_cpu == PROCESSOR_NIAGARA4 - || sparc_cpu == PROCESSOR_NIAGARA7)) - align_functions = 32; + || sparc_cpu == PROCESSOR_NIAGARA4) + align_functions = 32; + else if (sparc_cpu == PROCESSOR_NIAGARA7) + align_functions = 64; + } /* Validate PCC_STRUCT_RETURN. */ if (flag_pcc_struct_return == DEFAULT_PCC_STRUCT_RETURN) diff --git a/gcc/testsuite/gcc.target/sparc/niagara7-align.c b/gcc/testsuite/gcc.target/sparc/niagara7-align.c new file mode 100644 index 0000000..a46aac1 --- /dev/null +++ b/gcc/testsuite/gcc.target/sparc/niagara7-align.c @@ -0,0 +1,4 @@ +/* { dg-do compile } */ +/* { dg-options "-falign-functions -mcpu=niagara7" } */ +/* { dg-final { scan-assembler "\.align 64" } } */ +void foo(void) {} -- 1.7.1