diff options
author | Bernd Schmidt <bernds@codesourcery.com> | 2011-07-06 14:44:30 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@codesourcery.com> | 2011-07-06 14:44:30 +0000 |
commit | 228a5eb52e139fa2fe7558b6b9ec9e1bd336372c (patch) | |
tree | 95d75bc9dd3fb8ff5d3161011734bcfd2796c8bf /gcc/simplify-rtx.c | |
parent | dba9a4ef9f7ba695e2d1341291623081982f652e (diff) |
* machmode.h (TRULY_NOOP_TRUNCATION_MODES_P): New macro.
* combine.c (make_extraction, gen_lowpart_or_truncate,
apply_distributive_law, simplify_comparison,
reg_truncated_to_mode, record_truncated_value): Use it.
* cse.c (notreg_cost): Likewise.
* expmed.c (store_bit_field_1, extract_bit_field_1): Likewise.
* expr.c (convert_move, convert_modes): Likewise.
* optabs.c (expand_binop, expand_unop): Likewise.
* postreload.c (move2add_last_label): Likewise.
* regmove.c (optimize_reg_copy_3): Likewise.
* rtlhooks.c (gen_lowpart_general): Likewise.
* simplify-rtx.c (simplify_unary_operation_1): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@175921 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/simplify-rtx.c')
-rw-r--r-- | gcc/simplify-rtx.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index 232776f5ade..80faaefb395 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -852,8 +852,7 @@ simplify_unary_operation_1 (enum rtx_code code, enum machine_mode mode, rtx op) truncation. But don't do this for an (LSHIFTRT (MULT ...)) since this will cause problems with the umulXi3_highpart patterns. */ - if ((TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (mode), - GET_MODE_BITSIZE (GET_MODE (op))) + if ((TRULY_NOOP_TRUNCATION_MODES_P (mode, GET_MODE (op)) ? (num_sign_bit_copies (op, GET_MODE (op)) > (unsigned int) (GET_MODE_BITSIZE (GET_MODE (op)) - GET_MODE_BITSIZE (mode))) |