On 2012-08-01 10:14, Richard Guenther wrote: > If you said > > p_s->y = 0; > > then we can exploit the fact that you dereference p_s and derive > bigger alignment. But I don't see how we can massage the > builtin to preserve such form. Well, put in a memory reference > in the argument, __builtin_compare_exchange (p_s->y, ...), but > that fails foul of GIMPLE requirements to use a temporary for > register type function arguments, which we may be able to > overcome with some special flags.
Ah, right. Well, we'll just have to leave it for gimple_atomic then. r~