aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>1994-12-21 05:00:26 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>1994-12-21 05:00:26 +0000
commite24b00c81a1fe3e5031393e337b679aec706432c (patch)
treecd2c839de8f4708bef9e695610279ee79a44772c
parentbcc5d5d23c98e1970c9d573f34e3e4ef375579fb (diff)
downloadgcc-e24b00c81a1fe3e5031393e337b679aec706432c.zip
gcc-e24b00c81a1fe3e5031393e337b679aec706432c.tar.gz
gcc-e24b00c81a1fe3e5031393e337b679aec706432c.tar.bz2
Always copy flags to new MEM in simplify_shift_const.
From-SVN: r8678
-rw-r--r--gcc/combine.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index fb82ea8..b5bb122 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -7630,14 +7630,12 @@ simplify_shift_const (x, code, result_mode, varop, count)
if (BYTES_BIG_ENDIAN)
new = gen_rtx (MEM, tmode, XEXP (varop, 0));
else
- {
- new = gen_rtx (MEM, tmode,
- plus_constant (XEXP (varop, 0),
- count / BITS_PER_UNIT));
- RTX_UNCHANGING_P (new) = RTX_UNCHANGING_P (varop);
- MEM_VOLATILE_P (new) = MEM_VOLATILE_P (varop);
- MEM_IN_STRUCT_P (new) = MEM_IN_STRUCT_P (varop);
- }
+ new = gen_rtx (MEM, tmode,
+ plus_constant (XEXP (varop, 0),
+ count / BITS_PER_UNIT));
+ RTX_UNCHANGING_P (new) = RTX_UNCHANGING_P (varop);
+ MEM_VOLATILE_P (new) = MEM_VOLATILE_P (varop);
+ MEM_IN_STRUCT_P (new) = MEM_IN_STRUCT_P (varop);
varop = gen_rtx_combine (code == ASHIFTRT ? SIGN_EXTEND
: ZERO_EXTEND, mode, new);
count = 0;