aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@codesourcery.com>2011-07-06 14:21:03 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2011-07-06 14:21:03 +0000
commit2d0c270fd266218ff040965bb8231729df9144f1 (patch)
tree2a2d891d415bcfdd26b794dc666ecd03b7565eee /gcc/rtl.h
parent6d6c952527c53637280297b2e6a48d6b21606294 (diff)
downloadgcc-2d0c270fd266218ff040965bb8231729df9144f1.zip
gcc-2d0c270fd266218ff040965bb8231729df9144f1.tar.gz
gcc-2d0c270fd266218ff040965bb8231729df9144f1.tar.bz2
cse.c (find_comparison_args): Use val_mode_signbit_set_p.
* cse.c (find_comparison_args): Use val_mode_signbit_set_p. * simplify-rtx.c (mode_signbit_p): Use GET_MODE_PRECISION. (val_mode_signbit_p, val_mode_signbit_set_p): New functions. (simplify_const_unary_operation, simplify_binary_operation_1, simplify_const_binary_operation, simplify_const_relational_operation): Use them. Use GET_MODE_MASK for masking and sign-extensions. * combine.c (set_nonzero_bits_and_sign_copies, simplify_set, combine_simplify_rtx, force_to_mode, reg_nonzero_bits_for_combine, simplify_shift_const_1, simplify_comparison): Likewise. * expr.c (convert_modes): Likewise. * rtlanal.c (nonzero_bits1, canonicalize_condition): Likewise. * expmed.c (emit_cstore, emit_store_flag_1, emit_store_flag): Likewise. * rtl.h (val_mode_signbit_p, val_mode_signbit_set_p): Declare. From-SVN: r175917
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r--gcc/rtl.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index da18788..2f2aaca 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1816,6 +1816,11 @@ extern rtx simplify_rtx (const_rtx);
extern rtx avoid_constant_pool_reference (rtx);
extern rtx delegitimize_mem_from_attrs (rtx);
extern bool mode_signbit_p (enum machine_mode, const_rtx);
+extern bool val_signbit_p (enum machine_mode, unsigned HOST_WIDE_INT);
+extern bool val_signbit_known_set_p (enum machine_mode,
+ unsigned HOST_WIDE_INT);
+extern bool val_signbit_known_clear_p (enum machine_mode,
+ unsigned HOST_WIDE_INT);
/* In reginfo.c */
extern enum machine_mode choose_hard_reg_mode (unsigned int, unsigned int,