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