From eaa9b4d930b9d7dea9cad856b0b091d7a35f017a Mon Sep 17 00:00:00 2001 From: Michael Meissner Date: Tue, 24 Sep 1996 22:14:57 +0000 Subject: [PATCH] Fix SI followed by 4 DFs under AIX From-SVN: r12838 --- gcc/expr.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/expr.c b/gcc/expr.c index 1b0ba5b98b83..926a61c00ff7 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 (); -- 2.43.5