Hi, Its current setting is 128. It originally had been 64 and was bumped to 128 in 2001 when Altivec support was added; yet:
aix.h: /* AIX does not support Altivec. */ #undef TARGET_ALTIVEC #define TARGET_ALTIVEC 0 #undef TARGET_ALTIVEC_ABI #define TARGET_ALTIVEC_ABI 0 That's problematic (in particular for Ada) because nothing is 128-bit aligned on AIX 32-bit. The stack is not: rs6000.h: /* Boundary (in *bits*) on which stack pointer should be aligned. */ #define STACK_BOUNDARY \ ((TARGET_32BIT && !TARGET_ALTIVEC && !TARGET_ALTIVEC_ABI) ? 64 : 128) The sections are not either: xcoff.h: /* Output before writable data. Align entire section to BIGGEST_ALIGNMENT. */ #define DATA_SECTION_ASM_OP "\t.csect .data[RW],3" rs6000.c: /* A get_unnamed_decl callback, used for read-only sections. PTR points to the section string variable. */ static void rs6000_xcoff_output_readonly_section_asm_op (const void *directive) { fprintf (asm_out_file, "\t.csect %s[RO],3\n", *(const char *const *) directive); } /* Likewise for read-write sections. */ static void rs6000_xcoff_output_readwrite_section_asm_op (const void *directive) { fprintf (asm_out_file, "\t.csect %s[RW],3\n", *(const char *const *) directive); } As a result, the Ada compiler cannot pass the ACATS testsuite on AIX 32-bit. We therefore are proposing to revert to the pre-Altivec setting. -- Eric Botcazou