aboutsummaryrefslogtreecommitdiff
path: root/gcc/dojump.c
diff options
context:
space:
mode:
authorAnatoly Sokolov <aesok@post.ru>2010-04-20 20:33:46 +0400
committerAnatoly Sokolov <aesok@gcc.gnu.org>2010-04-20 20:33:46 +0400
commit54fb1ae03e7eda76d322545955cd128412887d23 (patch)
treefc2fe7aa9ff67f2d7f7bb70f4b04a3ccb15037d4 /gcc/dojump.c
parente4ba7a600e70bce0065a2fde0f2f85cdee746cfb (diff)
downloadgcc-54fb1ae03e7eda76d322545955cd128412887d23.zip
gcc-54fb1ae03e7eda76d322545955cd128412887d23.tar.gz
gcc-54fb1ae03e7eda76d322545955cd128412887d23.tar.bz2
double-int.h (double_int_setbit): Declare.
* double-int.h (double_int_setbit): Declare. * double-int.c (double_int_setbit): New function. * rtl.h (immed_double_int_const): Declare. * emit-rtl.c (immed_double_int_const): New function. * builtins.c (expand_builtin_signbit): Clean up, use double_int_* and immed_double_int_const functions. * optabs.c (expand_absneg_bit, expand_copysign_absneg, expand_copysign_bit): (Ditto.). * simplify-rtx.c (simplify_binary_operation_1): (Ditto.). * tree-ssa-address.c (addr_for_mem_ref): (Ditto.). * dojump.c (prefer_and_bit_test): (Ditto.). * expr.c (convert_modes, reduce_to_bit_field_precision, const_vector_from_tree): (Ditto.). * expmed.c (mask_rtx, lshift_value): (Ditto.). From-SVN: r158566
Diffstat (limited to 'gcc/dojump.c')
-rw-r--r--gcc/dojump.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/dojump.c b/gcc/dojump.c
index c2ee427..d4ce6cf 100644
--- a/gcc/dojump.c
+++ b/gcc/dojump.c
@@ -163,7 +163,8 @@ prefer_and_bit_test (enum machine_mode mode, int bitnum)
/* Fill in the integers. */
XEXP (and_test, 1)
- = immed_double_const ((unsigned HOST_WIDE_INT) 1 << bitnum, 0, mode);
+ = immed_double_int_const (double_int_setbit (double_int_zero, bitnum),
+ mode);
XEXP (XEXP (shift_test, 0), 1) = GEN_INT (bitnum);
return (rtx_cost (and_test, IF_THEN_ELSE, optimize_insn_for_speed_p ())