diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1996-09-29 19:05:22 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1996-09-29 19:05:22 -0400 |
commit | 50dc6373e56ad31b2fca259589d4282b7abb5598 (patch) | |
tree | 883491485edf5694f257280a03e1725d914961db /gcc | |
parent | c2722ef63b29f3ed9f0536e26cf756f902dee97f (diff) | |
download | gcc-50dc6373e56ad31b2fca259589d4282b7abb5598.zip gcc-50dc6373e56ad31b2fca259589d4282b7abb5598.tar.gz gcc-50dc6373e56ad31b2fca259589d4282b7abb5598.tar.bz2 |
(register_operand): Don't reject subreg of complex mode.
From-SVN: r12868
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/recog.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/recog.c b/gcc/recog.c index 65e997d..1322f41 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -871,7 +871,9 @@ register_operand (op, mode) && TEST_HARD_REG_BIT (reg_class_contents[(int) CLASS_CANNOT_CHANGE_SIZE], REGNO (SUBREG_REG (op))) && (GET_MODE_SIZE (mode) - != GET_MODE_SIZE (GET_MODE (SUBREG_REG (op))))) + != GET_MODE_SIZE (GET_MODE (SUBREG_REG (op)))) + && GET_MODE_CLASS (GET_MODE (SUBREG_REG (op))) != MODE_COMPLEX_INT + && GET_MODE_CLASS (GET_MODE (SUBREG_REG (op))) != MODE_COMPLEX_FLOAT) return 0; #endif |