------- Comment #14 from matz at gcc dot gnu dot org 2009-05-06 09:48 ------- Mark, I'm certainly willing to help fixing this, but it's not a new regression. Before my change TER _sometimes_ worked around the pre-existing problem, but it's trivial to construct a case exposing it also before expand from SSA:
void * send_probe(struct outdata *outdata, struct timeval *tp) { memcpy(&outdata->tv, tp, sizeof outdata->tv); return &outdata->tv; } (or having more than one reference to &outdata->tv in some other way). gcc 4.3, 4.4 and trunk before expand from SSA will emit unaligned accesses here. I haven't checked older ones, but the problem exists since introduction of SSA (and TER in its current form). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39954