Re: BIGGEST_ALIGNMENT on AIX 32-bit

2006-01-18 Thread Eric Botcazou
> AIX snuck in increased stack alignment in 32-bit mode along the > way. STACK_BOUNDARY should be increased to 128 for AIX. Transitioning > could be tricky. Thanks, we'll try and see what we can do. -- Eric Botcazou

Re: BIGGEST_ALIGNMENT on AIX 32-bit

2006-01-18 Thread David Edelsohn
AIX snuck in increased stack alignment in 32-bit mode along the way. STACK_BOUNDARY should be increased to 128 for AIX. Transitioning could be tricky. David

Re: BIGGEST_ALIGNMENT on AIX 32-bit

2006-01-14 Thread Eric Botcazou
> Couldn't (and shouldn't) the start sequence in crt0 align the stack? > It seems someone somewhere has to do that eventually anyway. I would > not assume the OS is going to cooperate. Yes, but that's not sufficient. The compiler must align local objects too. -- Eric Botcazou

Re: BIGGEST_ALIGNMENT on AIX 32-bit

2006-01-14 Thread Perry Smith
On Jan 14, 2006, at 10:19 AM, Robert Dewar wrote: Perry Smith wrote: The conflict is actually 32bit, AIX, Altivec, and Ada (together). So, how about for now, just say that Ada can't support Altivec on 32bit AIX. My point is that I'd like to keep Altivec support on 32bit AIX for othe

Re: BIGGEST_ALIGNMENT on AIX 32-bit

2006-01-14 Thread Robert Dewar
Andrew Pinski wrote: Huh? Where is this requirement documented because I don't see it at all in tm.texi? Also what is Ada using BIGGEST_ALIGNMENT for, that just seems wrong. Ada uses BIGGEST_ALIGNMENT as the largest value that can be specified for alignment of a type (which seems a reaso

Re: BIGGEST_ALIGNMENT on AIX 32-bit

2006-01-14 Thread Eric Botcazou
> Huh? Where is this requirement documented because I don't see it at all > in tm.texi? It's a logical consequence of the code in assign_stack_local_1. > Also what is Ada using BIGGEST_ALIGNMENT for, that just seems > wrong. Well, the manual reads: -- Macro: BIGGEST_ALIGNMENT Biggest al

Re: BIGGEST_ALIGNMENT on AIX 32-bit

2006-01-14 Thread Andrew Pinski
> > > Why isn't this bug an incorrect use of BIGGEST_ALIGNMENT somewhere > > in the compiler? > > Because you must have BIGGEST_ALIGNMENT <= STACK_BOUNDARY (or > PREFERRED_STACK_BOUNDARY) in order to be able to allocate objects with > BIGGEST_ALIGNMENT on the stack. Otherwise the offsets a

Re: BIGGEST_ALIGNMENT on AIX 32-bit

2006-01-14 Thread Eric Botcazou
> The conflict is actually 32bit, AIX, Altivec, and Ada (together). Not quite. > My point is that I'd like to keep Altivec support on 32bit AIX for > other languages. Well, GCC has *no* Altivec support on AIX. -- Eric Botcazou

Re: BIGGEST_ALIGNMENT on AIX 32-bit

2006-01-14 Thread Eric Botcazou
> Why isn't this bug an incorrect use of BIGGEST_ALIGNMENT somewhere > in the compiler? Because you must have BIGGEST_ALIGNMENT <= STACK_BOUNDARY (or PREFERRED_STACK_BOUNDARY) in order to be able to allocate objects with BIGGEST_ALIGNMENT on the stack. Otherwise the offsets are not suffic

Re: BIGGEST_ALIGNMENT on AIX 32-bit

2006-01-14 Thread Robert Dewar
Perry Smith wrote: The conflict is actually 32bit, AIX, Altivec, and Ada (together). So, how about for now, just say that Ada can't support Altivec on 32bit AIX. My point is that I'd like to keep Altivec support on 32bit AIX for other languages. I am confused, how can Altivec be prope

Re: BIGGEST_ALIGNMENT on AIX 32-bit

2006-01-14 Thread Perry Smith
The conflict is actually 32bit, AIX, Altivec, and Ada (together). So, how about for now, just say that Ada can't support Altivec on 32bit AIX. My point is that I'd like to keep Altivec support on 32bit AIX for other languages. On Jan 14, 2006, at 9:03 AM, Eric Botcazou wrote: A

Re: BIGGEST_ALIGNMENT on AIX 32-bit

2006-01-14 Thread David Edelsohn
Why isn't this bug an incorrect use of BIGGEST_ALIGNMENT somewhere in the compiler? David

Re: BIGGEST_ALIGNMENT on AIX 32-bit

2006-01-14 Thread Eric Botcazou
> And how does that solve the problem when Altivec is "supported"? Let's first fix existing problems. :-) But a partial solution could be to make BIGGEST_ALIGNMENT depend on TARGET_ALTIVEC_ABI and later set TARGET_ALTIVEC_ABI unconditionally to 1 when Altivec support is added: #define BI

Re: BIGGEST_ALIGNMENT on AIX 32-bit

2006-01-14 Thread David Edelsohn
> Eric Botcazou writes: Eric> So why not revert to the original BIGGEST_ALIGNMENT setting until Altivec is Eric> supported? That would be more in keeping with all the other settings on AIX. And how does that solve the problem when Altivec is "supported"? This just covers up proble

Re: BIGGEST_ALIGNMENT on AIX 32-bit

2006-01-14 Thread Eric Botcazou
> AIX does support Altivec. Great, but not GCC as far as I can see: [EMAIL PROTECTED]:~/build/gcc/powerpc-ibm-aix5.3> gcc/xgcc -Bgcc -E -dM t.h -maltivec | grep __ALTIVEC__ [EMAIL PROTECTED]:~/build/gcc/powerpc-ibm-aix5.3> So why not revert to the original BIGGEST_ALIGNMENT setting until

Re: BIGGEST_ALIGNMENT on AIX 32-bit

2006-01-14 Thread David Edelsohn
> Eric Botcazou writes: Eric> That's problematic (in particular for Ada) because nothing is 128-bit aligned Eric> on AIX 32-bit. AIX does support Altivec. David

BIGGEST_ALIGNMENT on AIX 32-bit

2006-01-14 Thread Eric Botcazou
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 (i