diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-04-25 19:09:34 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-04-25 19:09:34 -0400 |
commit | 3e4a14ef2edd79e6d00aecb83871f01d5c5a61e3 (patch) | |
tree | bfc8e18393255ce7ed05e3b58024b6c0d5ddaa3d /gcc | |
parent | ee33823f45e8f5fa4347300efb481f50858d489b (diff) | |
download | gcc-3e4a14ef2edd79e6d00aecb83871f01d5c5a61e3.zip gcc-3e4a14ef2edd79e6d00aecb83871f01d5c5a61e3.tar.gz gcc-3e4a14ef2edd79e6d00aecb83871f01d5c5a61e3.tar.bz2 |
(gen_highpart): Add comment about broken implementation.
From-SVN: r9463
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/emit-rtl.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index d553e89..847926f 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -932,6 +932,12 @@ gen_highpart (mode, x) - MAX (GET_MODE_SIZE (mode), UNITS_PER_WORD)) / UNITS_PER_WORD); + /* + * ??? This fails miserably for complex values being passed in registers + * where the sizeof the real and imaginary part are not equal to the + * sizeof SImode. FIXME + */ + if (REGNO (x) < FIRST_PSEUDO_REGISTER /* integrate.c can't handle parts of a return value register. */ && (! REG_FUNCTION_VALUE_P (x) |