diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-03-18 16:57:49 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-03-18 16:57:49 -0500 |
commit | 64bf47a22d930b3bf5422bffb6b0f9ab395f52a9 (patch) | |
tree | 4a07b4a2b7a4412a9e4e12be44e34dcee434c8ed | |
parent | 88285acf31c379ab8de092d79027dd164f0b21bc (diff) | |
download | gcc-64bf47a22d930b3bf5422bffb6b0f9ab395f52a9.zip gcc-64bf47a22d930b3bf5422bffb6b0f9ab395f52a9.tar.gz gcc-64bf47a22d930b3bf5422bffb6b0f9ab395f52a9.tar.bz2 |
(gen_lowpart_for_combine): Set reg_changes_size, if needed.
From-SVN: r9206
-rw-r--r-- | gcc/combine.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 9529474..631d681 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -8320,6 +8320,14 @@ gen_lowpart_for_combine (mode, x) } result = gen_lowpart_common (mode, x); + if (result != 0 + && GET_CODE (result) == SUBREG + && GET_CODE (SUBREG_REG (result)) == REG + && REGNO (SUBREG_REG (result)) >= FIRST_PSEUDO_REGISTER + && (GET_MODE_SIZE (GET_MODE (result)) + != GET_MODE_SIZE (GET_MODE (SUBREG_REG (result))))) + reg_changes_size[REGNO (SUBREG_REG (result))] = 1; + if (result) return result; |