1169689Skan/* Default macros to initialize an rtl_hooks data structure.
2169689Skan   Copyright 2004, 2005 Free Software Foundation, Inc.
3169689Skan
4169689SkanThis file is part of GCC.
5169689Skan
6169689SkanGCC is free software; you can redistribute it and/or modify
7169689Skanit under the terms of the GNU General Public License as published by
8169689Skanthe Free Software Foundation; either version 2, or (at your option)
9169689Skanany later version.
10169689Skan
11169689SkanGCC is distributed in the hope that it will be useful,
12169689Skanbut WITHOUT ANY WARRANTY; without even the implied warranty of
13169689SkanMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14169689SkanGNU General Public License for more details.
15169689Skan
16169689SkanYou should have received a copy of the GNU General Public License
17169689Skanalong with GCC; see the file COPYING.  If not, write to
18169689Skanthe Free Software Foundation, 51 Franklin Street, Fifth Floor,
19169689SkanBoston, MA 02110-1301, USA.  */
20169689Skan
21169689Skan#ifndef GCC_RTL_HOOKS_DEF_H
22169689Skan#define GCC_RTL_HOOKS_DEF_H
23169689Skan
24169689Skan#include "rtl.h"
25169689Skan
26169689Skan#define RTL_HOOKS_GEN_LOWPART gen_lowpart_general
27169689Skan#define RTL_HOOKS_GEN_LOWPART_NO_EMIT gen_lowpart_no_emit_general
28169689Skan#define RTL_HOOKS_REG_NONZERO_REG_BITS reg_nonzero_bits_general
29169689Skan#define RTL_HOOKS_REG_NUM_SIGN_BIT_COPIES reg_num_sign_bit_copies_general
30169689Skan#define RTL_HOOKS_REG_TRUNCATED_TO_MODE reg_truncated_to_mode_general
31169689Skan
32169689Skan/* The structure is defined in rtl.h.  */
33169689Skan#define RTL_HOOKS_INITIALIZER {			\
34169689Skan  RTL_HOOKS_GEN_LOWPART,			\
35169689Skan  RTL_HOOKS_GEN_LOWPART_NO_EMIT,		\
36169689Skan  RTL_HOOKS_REG_NONZERO_REG_BITS,		\
37169689Skan  RTL_HOOKS_REG_NUM_SIGN_BIT_COPIES,		\
38169689Skan  RTL_HOOKS_REG_TRUNCATED_TO_MODE,		\
39169689Skan}
40169689Skan
41169689Skanextern rtx gen_lowpart_general (enum machine_mode, rtx);
42169689Skanextern rtx gen_lowpart_no_emit_general (enum machine_mode, rtx);
43169689Skanextern rtx reg_nonzero_bits_general (rtx, enum machine_mode, rtx,
44169689Skan				     enum machine_mode,
45169689Skan				     unsigned HOST_WIDE_INT,
46169689Skan				     unsigned HOST_WIDE_INT *);
47169689Skanextern rtx reg_num_sign_bit_copies_general (rtx, enum machine_mode, rtx,
48169689Skan					    enum machine_mode,
49169689Skan					    unsigned int, unsigned int *);
50169689Skanextern bool reg_truncated_to_mode_general (enum machine_mode, rtx);
51169689Skan
52169689Skan#endif /* GCC_RTL_HOOKS_DEF_H */
53