1218887Sdim/* Default macros to initialize an rtl_hooks data structure.
2218887Sdim   Copyright 2004, 2005 Free Software Foundation, Inc.
3218887Sdim
4218887SdimThis file is part of GCC.
5218887Sdim
6218887SdimGCC is free software; you can redistribute it and/or modify
7218887Sdimit under the terms of the GNU General Public License as published by
8218887Sdimthe Free Software Foundation; either version 2, or (at your option)
9218887Sdimany later version.
10218887Sdim
11218887SdimGCC is distributed in the hope that it will be useful,
12218887Sdimbut WITHOUT ANY WARRANTY; without even the implied warranty of
13218887SdimMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14226633SdimGNU General Public License for more details.
15218887Sdim
16218887SdimYou should have received a copy of the GNU General Public License
17218887Sdimalong with GCC; see the file COPYING.  If not, write to
18218887Sdimthe Free Software Foundation, 51 Franklin Street, Fifth Floor,
19243830SdimBoston, MA 02110-1301, USA.  */
20218887Sdim
21249423Sdim#ifndef GCC_RTL_HOOKS_DEF_H
22226633Sdim#define GCC_RTL_HOOKS_DEF_H
23234353Sdim
24243830Sdim#include "rtl.h"
25249423Sdim
26218887Sdim#define RTL_HOOKS_GEN_LOWPART gen_lowpart_general
27218887Sdim#define RTL_HOOKS_GEN_LOWPART_NO_EMIT gen_lowpart_no_emit_general
28218887Sdim#define RTL_HOOKS_REG_NONZERO_REG_BITS reg_nonzero_bits_general
29218887Sdim#define RTL_HOOKS_REG_NUM_SIGN_BIT_COPIES reg_num_sign_bit_copies_general
30249423Sdim#define RTL_HOOKS_REG_TRUNCATED_TO_MODE reg_truncated_to_mode_general
31249423Sdim
32218887Sdim/* The structure is defined in rtl.h.  */
33218887Sdim#define RTL_HOOKS_INITIALIZER {			\
34218887Sdim  RTL_HOOKS_GEN_LOWPART,			\
35218887Sdim  RTL_HOOKS_GEN_LOWPART_NO_EMIT,		\
36243830Sdim  RTL_HOOKS_REG_NONZERO_REG_BITS,		\
37243830Sdim  RTL_HOOKS_REG_NUM_SIGN_BIT_COPIES,		\
38243830Sdim  RTL_HOOKS_REG_TRUNCATED_TO_MODE,		\
39243830Sdim}
40243830Sdim
41243830Sdimextern rtx gen_lowpart_general (enum machine_mode, rtx);
42243830Sdimextern rtx gen_lowpart_no_emit_general (enum machine_mode, rtx);
43249423Sdimextern rtx reg_nonzero_bits_general (rtx, enum machine_mode, rtx,
44251662Sdim				     enum machine_mode,
45218887Sdim				     unsigned HOST_WIDE_INT,
46249423Sdim				     unsigned HOST_WIDE_INT *);
47249423Sdimextern rtx reg_num_sign_bit_copies_general (rtx, enum machine_mode, rtx,
48243830Sdim					    enum machine_mode,
49249423Sdim					    unsigned int, unsigned int *);
50218887Sdimextern bool reg_truncated_to_mode_general (enum machine_mode, rtx);
51239462Sdim
52249423Sdim#endif /* GCC_RTL_HOOKS_DEF_H */
53239462Sdim