diff --git a/emit-rtl.c b/emit-rtl.c index 9600f2f..4434801 100644 --- a/emit-rtl.c +++ b/emit-rtl.c @@ -3352,7 +3352,8 @@ init_emit_once (line_numbers) bzero ((char *) &u, sizeof u); /* Zero any holes in a structure. */ u.d = i == 0 ? dconst0 : i == 1 ? dconst1 : dconst2; - bcopy ((char *) &u, (char *) &CONST_DOUBLE_LOW (tem), sizeof u); + bcopy ((char *) &u, (char *) &CONST_DOUBLE_LOW (tem), sizeof u / 2); + bcopy ((char *) &u + (sizeof u / 2), (char *) &CONST_DOUBLE_HIGH (tem), sizeof u / 2); CONST_DOUBLE_MEM (tem) = cc0_rtx; PUT_MODE (tem, mode);