From 09482e0de5ec72e969255e74e0fe9c873e3d6b14 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Thu, 28 Jun 2001 03:52:28 +0000 Subject: [PATCH] Fix ia64-linux bootstrap failure. * emit-rtl.c (gen_highpart): Call validize_mem. From-SVN: r43627 --- gcc/ChangeLog | 4 ++++ gcc/emit-rtl.c | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3b00c8ba47b..f97c728aa9b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2001-06-27 Jim Wilson + + * emit-rtl.c (gen_highpart): Call validize_mem. + 2001-06-27 Bruce Korb * fixinc/inclhack.def(hpux11_cpp_pow_inline): new, but real similar to diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index c4f5be39423..6b3135abdc1 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -1135,6 +1135,13 @@ gen_highpart (mode, x) result = simplify_gen_subreg (mode, x, GET_MODE (x), subreg_highpart_offset (mode, GET_MODE (x))); + + /* simplify_gen_subreg is not guaranteed to return a valid operand for + the target if we have a MEM. gen_highpart must return a valid operand, + emitting code if necessary to do so. */ + if (GET_CODE (result) == MEM) + result = validize_mem (result); + if (!result) abort (); return result; -- 2.30.2