remaining new darwin regressions

Mike Stump mrs@apple.com
Wed Jan 21 19:59:00 GMT 2009


On Jan 21, 2009, at 8:40 PM, Uros Bizjak wrote:
>> Sure, in i386/darwin.h we have:
>>
>> /* Since we'll never want a stack boundary less aligned than 128 bits
>>   we need the extra work here otherwise bits of gcc get very grumpy
>>   when we ask for lower alignment.  We could just reject values less
>>   than 128 bits for Darwin, but it's easier to up the alignment if
>>   it's below the minimum.  */
>> #undef PREFERRED_STACK_BOUNDARY
>> #define PREFERRED_STACK_BOUNDARY                        \
>>  MAX (STACK_BOUNDARY, ix86_preferred_stack_boundary)
>>
>> This selects the maximal alignment to be 128 (16-bytes), the  
>> testcase works for all alignments of 16-bytes or less. For more  
>> aligning, I think that MAX, should be just a MIN:
>
> Er, no.

Er, [ feeling stupid ] shucks.  :-(  I was thinking the problem was  
the instructions to do on demand alignment, fails to be generated in  
darwin, because darwin goes out of it's way to say, you don't need to  
do that (since we already have 128 aligned stacks), but that code  
fails to consider alignments greater than 128, thus causing the failure.



More information about the Gcc mailing list