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:

        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 BIGGEST_ALIGNMENT
  ((TARGET_32BIT && !TARGET_ALTIVEC_ABI) ? 64 : 128)

That would actually be sufficient for Ada, as the biggest problem is the STACK_BOUNDARY vs BIGGEST_ALIGNMENT discrepancy. The Ada compiler does not run into the problem I talked about in my original message on Darwin because TARGET_ALTIVEC_ABI is set to 1 there, so STACK_BOUNDARY == BIGGEST_ALIGNMENT.

--
Eric Botcazou


Reply via email to