From c9378dc2fe8e3097fee0100f2b07c2a1195dc8a0 Mon Sep 17 00:00:00 2001 From: sceptillion <33798691+sceptillion@users.noreply.github.com> Date: Wed, 20 Dec 2017 21:32:43 -0800 Subject: fix more 64-bit float bugs --- gcc/emit-rtl.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gcc/emit-rtl.c') diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 37c8a5b..7d28df0 100755 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -3338,7 +3338,9 @@ init_emit_once (line_numbers) zero_memory ((char *) &u, sizeof u); /* Zero any holes in a structure. */ u.d = i == 0 ? dconst0 : i == 1 ? dconst1 : dconst2; - copy_memory ((char *) &u, (char *) &CONST_DOUBLE_LOW (tem), sizeof u); + for (int j = 0; j < sizeof (REAL_VALUE_TYPE) / sizeof (HOST_WIDE_INT); j++) + XWINT(tem, 2 + j) = u.i[j]; + CONST_DOUBLE_MEM (tem) = cc0_rtx; PUT_MODE (tem, mode); -- cgit v1.2.3