diff options
author | Bernd Schmidt <bernds@codesourcery.com> | 2011-07-06 14:44:30 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2011-07-06 14:44:30 +0000 |
commit | d0edd768de548507869ddec157f2e8b3551a6231 (patch) | |
tree | 95d75bc9dd3fb8ff5d3161011734bcfd2796c8bf /gcc/rtlhooks.c | |
parent | e5cabdfba868da1d67a6fa317846dbd5dfd83ee5 (diff) | |
download | gcc-d0edd768de548507869ddec157f2e8b3551a6231.zip gcc-d0edd768de548507869ddec157f2e8b3551a6231.tar.gz gcc-d0edd768de548507869ddec157f2e8b3551a6231.tar.bz2 |
machmode.h (TRULY_NOOP_TRUNCATION_MODES_P): New macro.
* 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.
From-SVN: r175921
Diffstat (limited to 'gcc/rtlhooks.c')
-rw-r--r-- | gcc/rtlhooks.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/rtlhooks.c b/gcc/rtlhooks.c index a64c067..60e4d52 100644 --- a/gcc/rtlhooks.c +++ b/gcc/rtlhooks.c @@ -61,8 +61,7 @@ gen_lowpart_general (enum machine_mode mode, rtx x) /* The following exposes the use of "x" to CSE. */ if (GET_MODE_SIZE (GET_MODE (x)) <= UNITS_PER_WORD && SCALAR_INT_MODE_P (GET_MODE (x)) - && TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (mode), - GET_MODE_BITSIZE (GET_MODE (x))) + && TRULY_NOOP_TRUNCATION_MODES_P (mode, GET_MODE (x)) && !reload_completed) return gen_lowpart_general (mode, force_reg (GET_MODE (x), x)); |