summaryrefslogtreecommitdiff
path: root/gcc/rtlhooks-def.h
diff options
context:
space:
mode:
authornemet <nemet@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-28 20:32:20 +0000
committernemet <nemet@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-28 20:32:20 +0000
commitfd95fba452ea7e981bbf13518b730c332c030dc3 (patch)
treeb59a2ff0c0c65abbe656b96ae1d8a37028083f6b /gcc/rtlhooks-def.h
parent136335a28f44c3eeab45ca715f30c6dcfe59e1b4 (diff)
downloadgcc-fd95fba452ea7e981bbf13518b730c332c030dc3.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111573 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtlhooks-def.h')
-rw-r--r--gcc/rtlhooks-def.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/rtlhooks-def.h b/gcc/rtlhooks-def.h
index b6c07fb76c1..748666c2dd0 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 */