diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-05-17 18:46:58 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-05-17 18:46:58 +0000 |
commit | f760707b3708c8c4848cae367cce7a970fc266cd (patch) | |
tree | 56b80c09408fe368396536eefa4327bd32d5c2f5 /gcc/cse.c | |
parent | 33a4e091249f0184e81ce19c5496edb87d3d7af4 (diff) | |
download | gcc-f760707b3708c8c4848cae367cce7a970fc266cd.tar.gz |
* cse.c (fold_rtx): Use simplify_subreg.
* simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
(simplify_gen_subreg): New.
(simplify_rtx): Use simplify_subreg.
* rtl.h (simplify_gen_subreg): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42221 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cse.c')
-rw-r--r-- | gcc/cse.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/gcc/cse.c b/gcc/cse.c index f3978e4b257..43cbf9ca020 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -3408,16 +3408,8 @@ fold_rtx (x, insn) if (folded_arg0 != SUBREG_REG (x)) { - new = 0; - - if (GET_MODE_CLASS (mode) == MODE_INT - && GET_MODE_SIZE (mode) == UNITS_PER_WORD - && GET_MODE (SUBREG_REG (x)) != VOIDmode) - new = operand_subword (folded_arg0, - (SUBREG_BYTE (x) / UNITS_PER_WORD), 0, - GET_MODE (SUBREG_REG (x))); - if (new == 0 && subreg_lowpart_p (x)) - new = gen_lowpart_if_possible (mode, folded_arg0); + new = simplify_subreg (mode, folded_arg0, + GET_MODE (SUBREG_REG (x)), SUBREG_BYTE (x)); if (new) return new; } |