summaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>1994-12-21 05:00:26 +0000
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>1994-12-21 05:00:26 +0000
commit1acab43f1fa0e23585195c6d9919255cb676744c (patch)
treecd2c839de8f4708bef9e695610279ee79a44772c /gcc/combine.c
parent1c93887b4d9841d627e3895c7e8de73cfdc07290 (diff)
downloadgcc-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.c14
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;