diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 1994-12-21 05:00:26 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 1994-12-21 05:00:26 +0000 |
commit | 1acab43f1fa0e23585195c6d9919255cb676744c (patch) | |
tree | cd2c839de8f4708bef9e695610279ee79a44772c /gcc/combine.c | |
parent | 1c93887b4d9841d627e3895c7e8de73cfdc07290 (diff) | |
download | gcc-1acab43f1fa0e23585195c6d9919255cb676744c.tar.gz |
Always copy flags to new MEM in simplify_shift_const.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8678 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index fb82ea81204..b5bb122ed04 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; |