On Wed, Jan 21, 2009 at 11:59:09AM -0800, Mike Stump wrote:
> 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.

Mike,
   So that invalidates your previously proposed patch? Or should I still
test it?
                 Jack

Reply via email to