http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48377

--- Comment #41 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-06-03 
10:41:55 UTC ---
> Can you explain why it cannot pass on strict-alignment targets?  The read is
> done through a type with explicit low alignment, so strict alignment targets
> just shouldn't use an aligned load but unaligned load in that case.

What do you mean by an unaligned load?  Most targets don't have that.  If you
want to support

typedef unsigned int U __attribute__((__aligned__ (1)));

U id (U *u)
{
  return *u;
}

on strict-alignment targets, you'll have to implement it in the middle-end.  In
the meantime (and for 4.6.x), the test cannot pass.

Reply via email to