From aff4d29bf4e61838c3ed08862146f16c8cfe9253 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Tue, 18 Mar 1997 14:25:56 -0800 Subject: [PATCH] (emit_group_load): Call operand_subword instead of creating an explicit SUBREG. From-SVN: r13743 --- gcc/expr.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gcc/expr.c b/gcc/expr.c index 5e5cb10..87975960 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -1802,9 +1802,11 @@ emit_group_load (x, y) to allow for AIX with 4 DF arguments after a single SI arg. The last DF argument will only load 1 word into the integer registers, but load a DF value into the float registers. */ - else if (GET_MODE_SIZE (GET_MODE (target_reg)) - <= GET_MODE_SIZE (GET_MODE (y))) - source = gen_rtx (SUBREG, GET_MODE (target_reg), y, 0); + else if ((GET_MODE_SIZE (GET_MODE (target_reg)) + <= GET_MODE_SIZE (GET_MODE (y))) + && GET_MODE (target_reg) == word_mode) + /* This might be a const_double, so we can't just use SUBREG. */ + source = operand_subword (y, 0, 0, VOIDmode); else abort (); } -- 2.7.4