diff options
author | Paolo Bonzini <bonzini@gnu.org> | 2006-02-28 20:32:20 +0000 |
---|---|---|
committer | Adam Nemet <nemet@gcc.gnu.org> | 2006-02-28 20:32:20 +0000 |
commit | d3b726902460a92cefbb1be7472d2cafece201ed (patch) | |
tree | b59a2ff0c0c65abbe656b96ae1d8a37028083f6b /gcc/rtlhooks-def.h | |
parent | e5c7f9f582b4148974efae8c9289652601909753 (diff) | |
download | gcc-d3b726902460a92cefbb1be7472d2cafece201ed.zip gcc-d3b726902460a92cefbb1be7472d2cafece201ed.tar.gz gcc-d3b726902460a92cefbb1be7472d2cafece201ed.tar.bz2 |
rtl.h (truncated_to_mode): Declare it.
* rtl.h (truncated_to_mode): Declare it.
(struct rtl_hooks): Add reg_truncated_to_mode hook.
* rtlhooks-def.h (RTL_HOOKS_REG_TRUNCATED_TO_MODE): New macro.
(RTL_HOOKS_INITIALIZER): Include it.
* rtlhooks.c (reg_truncated_to_mode_general): New function.
* combine.c (RTL_HOOKS_REG_TRUNCATED_TO_MODE): Override to
reg_truncated_to_mode.
* rtlanal.c (truncated_to_mode): Define it.
* simplify-rtx.c (simplify_unary_operation_1): Use it.
Co-Authored-By: Adam Nemet <anemet@caviumnetworks.com>
From-SVN: r111573
Diffstat (limited to 'gcc/rtlhooks-def.h')
-rw-r--r-- | gcc/rtlhooks-def.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/rtlhooks-def.h b/gcc/rtlhooks-def.h index b6c07fb..748666c 100644 --- a/gcc/rtlhooks-def.h +++ b/gcc/rtlhooks-def.h @@ -27,6 +27,7 @@ Boston, MA 02110-1301, USA. */ #define RTL_HOOKS_GEN_LOWPART_NO_EMIT gen_lowpart_no_emit_general #define RTL_HOOKS_REG_NONZERO_REG_BITS reg_nonzero_bits_general #define RTL_HOOKS_REG_NUM_SIGN_BIT_COPIES reg_num_sign_bit_copies_general +#define RTL_HOOKS_REG_TRUNCATED_TO_MODE reg_truncated_to_mode_general /* The structure is defined in rtl.h. */ #define RTL_HOOKS_INITIALIZER { \ @@ -34,6 +35,7 @@ Boston, MA 02110-1301, USA. */ RTL_HOOKS_GEN_LOWPART_NO_EMIT, \ RTL_HOOKS_REG_NONZERO_REG_BITS, \ RTL_HOOKS_REG_NUM_SIGN_BIT_COPIES, \ + RTL_HOOKS_REG_TRUNCATED_TO_MODE, \ } extern rtx gen_lowpart_general (enum machine_mode, rtx); @@ -45,5 +47,6 @@ extern rtx reg_nonzero_bits_general (rtx, enum machine_mode, rtx, extern rtx reg_num_sign_bit_copies_general (rtx, enum machine_mode, rtx, enum machine_mode, unsigned int, unsigned int *); +extern bool reg_truncated_to_mode_general (enum machine_mode, rtx); #endif /* GCC_RTL_HOOKS_DEF_H */ |