http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51996
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2012-01-25 CC|rguenther at suse dot de |rguenth at gcc dot gnu.org Component|regression |target Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-01-25 12:29:49 UTC --- Looks like a target bug to me, needs -O -mfpu=neon -mfloat-abi=softfp to trigger. typedef long long T __attribute__((may_alias)); struct S { _Complex float d __attribute__((aligned (8))); }; int f1 (struct S x) { struct S s = x; return *(T *) &s.d; } expands from f1 (struct S x) { T D.4964; int D.4957; <bb 2>: D.4964_1 = VIEW_CONVERT_EXPR<T>(x); D.4957_3 = (int) D.4964_1; return D.4957_3; } and the target emits (insn 9 0 0 (set (reg:DI 140) (unspec:DI [ (mem/s/c:DI (plus:SI (reg/f:SI 129 virtual-stack-vars) (const_int -8 [0xfffffffffffffff8])) [0 S8 A32]) ] UNSPEC_MISALIGNED_ACCESS)) t.c:11 -1 (nil)) for a DImode movmisalign of (mem/s/c:SC (plus:SI (reg/f:SI 129 virtual-stack-vars) (const_int -8 [0xfffffffffffffff8])) [0 S8 A32])