From: Michael Meissner Date: Tue, 24 Sep 1996 22:14:57 +0000 (+0000) Subject: Fix SI followed by 4 DFs under AIX X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=eaa9b4d930b9d7dea9cad856b0b091d7a35f017a;p=gcc.git Fix SI followed by 4 DFs under AIX From-SVN: r12838 --- diff --git a/gcc/expr.c b/gcc/expr.c index 1b0ba5b98b8..926a61c00ff 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -1785,8 +1785,12 @@ emit_group_load (x, y) { if (GET_MODE (target_reg) == GET_MODE (y)) source = y; + /* Allow for the target_reg to be smaller than the input register + 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))) + <= GET_MODE_SIZE (GET_MODE (y))) source = gen_rtx (SUBREG, GET_MODE (target_reg), y, 0); else abort ();