diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1995-04-25 23:09:34 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1995-04-25 23:09:34 +0000 |
commit | e484899c802e573c175e00eb19ac84d367bbaaca (patch) | |
tree | bfc8e18393255ce7ed05e3b58024b6c0d5ddaa3d /gcc/emit-rtl.c | |
parent | 121c11f94a9e0cabdab476d8074ff941ffdb8f0b (diff) | |
download | gcc-e484899c802e573c175e00eb19ac84d367bbaaca.tar.gz |
(gen_highpart): Add comment about broken implementation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9463 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/emit-rtl.c')
-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 d553e89f77c..847926f7948 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) |