diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-12-17 06:36:47 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-12-17 06:36:47 -0500 |
commit | 4bcdd4d0b29c8053d86b78d802eba6750a5840d8 (patch) | |
tree | f9414f9f944e3d3c7bcb81b761e75f26449a78d1 | |
parent | db3ec607e7d38be216c44d6d29004a17c1998083 (diff) | |
download | gcc-4bcdd4d0b29c8053d86b78d802eba6750a5840d8.zip gcc-4bcdd4d0b29c8053d86b78d802eba6750a5840d8.tar.gz gcc-4bcdd4d0b29c8053d86b78d802eba6750a5840d8.tar.bz2 |
(push_secondary_reload): Don't strip paradoxical SUBREG if
reload_class is CLASS_CANNOT_CHANGE_SIZE.
From-SVN: r10782
-rw-r--r-- | gcc/reload.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/reload.c b/gcc/reload.c index d797e74..53569e7 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -360,6 +360,9 @@ push_secondary_reload (in_p, x, opnum, optional, reload_class, reload_mode, /* If X is a paradoxical SUBREG, use the inner value to determine both the mode and object being reloaded. */ if (GET_CODE (x) == SUBREG +#ifdef CLASS_CANNOT_CHANGE_SIZE + && reload_class != CLASS_CANNOT_CHANGE_SIZE +#endif && (GET_MODE_SIZE (GET_MODE (x)) > GET_MODE_SIZE (GET_MODE (SUBREG_REG (x))))) { |