------- Comment #5 from pluto at agmk dot net 2006-06-29 19:27 ------- reduced testcase:
void foo( void* dst, void* src, int x ) { long double nativeFloat; void *ptr; if (x) { nativeFloat = (long double)(*((float*)src)); ptr = (void *)&nativeFloat; } else ptr = (void *)0; memcpy( dst, ptr, 1 ); } tmp.i:13: error: insn does not satisfy its constraints: (insn 54 26 27 1 (set (mem/c/i:TF (pre_inc:SI (reg/v/f:SI 9 9 [orig:119 ptr ] [119])) [4 nativeFloat+0 S16 A64]) (reg:TF 45 13)) 242 {*movtf_internal} (nil) (expr_list:REG_INC (reg/v/f:SI 9 9 [orig:119 ptr ] [119]) (nil))) tmp.i:13: internal compiler error: in reload_cse_simplify_operands, at postreload.c:394 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28150