diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-09-09 13:07:02 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-09-09 13:07:02 +0000 |
commit | 5d5ee71fdce406c03f481463c65c5c347005551e (patch) | |
tree | a5201ad7e75918350ccb6467b3fc9ff8b667c680 /gcc/expmed.c | |
parent | 0359f9f53a70edeb0517316df82971dec738dc5c (diff) | |
download | gcc-5d5ee71fdce406c03f481463c65c5c347005551e.tar.gz |
gcc/
* combine.c (simplify_set, expand_field_assignment, extract_left_shift)
(force_to_mode, simplify_shift_const_1, simplify_comparison):
Use gen_int_mode with the mode of the associated simplify_* call.
* explow.c (probe_stack_range, anti_adjust_stack_and_probe): Likewise.
* expmed.c (expand_shift_1): Likewise.
* function.c (instantiate_virtual_regs_in_insn): Likewise.
* loop-iv.c (iv_number_of_iterations): Likewise.
* loop-unroll.c (unroll_loop_runtime_iterations): Likewise.
* simplify-rtx.c (simplify_binary_operation_1): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202393 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expmed.c')
-rw-r--r-- | gcc/expmed.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c index f0a483741eb..747231f96df 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -2214,11 +2214,10 @@ expand_shift_1 (enum tree_code code, enum machine_mode mode, rtx shifted, other_amount = simplify_gen_unary (NEG, GET_MODE (op1), op1, GET_MODE (op1)); + HOST_WIDE_INT mask = GET_MODE_PRECISION (mode) - 1; other_amount - = simplify_gen_binary (AND, GET_MODE (op1), - other_amount, - GEN_INT (GET_MODE_PRECISION (mode) - - 1)); + = simplify_gen_binary (AND, GET_MODE (op1), other_amount, + gen_int_mode (mask, GET_MODE (op1))); } shifted = force_reg (mode, shifted); |