http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33989
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Known to fail| | --- Comment #13 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-11 14:42:39 UTC --- With 4.6 it should be fixed finally thanks to mem-ref and value-numbering improvements. ;; Function f (f) f (float * a, int * b, float e) { int D.2694; float D.2690; float D.2689; <bb 2>: D.2689_2 = *a_1(D); D.2690_4 = D.2689_2 + e_3(D); D.2694_10 = VIEW_CONVERT_EXPR<int>(D.2690_4); *b_6(D) = D.2694_10; return; } f: .LFB0: .cfi_startproc addss (%rdi), %xmm0 movd %xmm0, (%rsi) ret .cfi_endproc maybe you can verify on ppc.