diff options
author | Michael Meissner <meissner@gcc.gnu.org> | 1996-09-24 22:14:57 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 1996-09-24 22:14:57 +0000 |
commit | eaa9b4d930b9d7dea9cad856b0b091d7a35f017a (patch) | |
tree | fd5b95e29e6dd8f5165fe530d162c1d496acae5f | |
parent | b939e29f99ac4321af1df9b1e4d88ba382a29728 (diff) | |
download | gcc-eaa9b4d930b9d7dea9cad856b0b091d7a35f017a.zip gcc-eaa9b4d930b9d7dea9cad856b0b091d7a35f017a.tar.gz gcc-eaa9b4d930b9d7dea9cad856b0b091d7a35f017a.tar.bz2 |
Fix SI followed by 4 DFs under AIX
From-SVN: r12838
-rw-r--r-- | gcc/expr.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -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 (); |