http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45586
--- Comment #15 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-26 11:32:53 UTC --- You then need to make sure to create variant types of aggregates with the target attribute applied to all subtypes (thus, the restrict stuff removed) as the middle-end doesn't know about this rule.