1 | /* Default macros to initialize an rtl_hooks data structure. |
2 | Copyright (C) 2004-2023 Free Software Foundation, Inc. |
3 | |
4 | This file is part of GCC. |
5 | |
6 | GCC is free software; you can redistribute it and/or modify |
7 | it under the terms of the GNU General Public License as published by |
8 | the Free Software Foundation; either version 3, or (at your option) |
9 | any later version. |
10 | |
11 | GCC is distributed in the hope that it will be useful, |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | GNU General Public License for more details. |
15 | |
16 | You should have received a copy of the GNU General Public License |
17 | along with GCC; see the file COPYING3. If not see |
18 | <http://www.gnu.org/licenses/>. */ |
19 | |
20 | #ifndef GCC_RTL_HOOKS_DEF_H |
21 | #define GCC_RTL_HOOKS_DEF_H |
22 | |
23 | #include "rtl.h" |
24 | |
25 | #define RTL_HOOKS_GEN_LOWPART gen_lowpart_general |
26 | #define RTL_HOOKS_GEN_LOWPART_NO_EMIT gen_lowpart_if_possible |
27 | #define RTL_HOOKS_REG_NONZERO_REG_BITS reg_nonzero_bits_general |
28 | #define RTL_HOOKS_REG_NUM_SIGN_BIT_COPIES reg_num_sign_bit_copies_general |
29 | #define RTL_HOOKS_REG_TRUNCATED_TO_MODE reg_truncated_to_mode_general |
30 | |
31 | /* The structure is defined in rtl.h. */ |
32 | #define RTL_HOOKS_INITIALIZER { \ |
33 | RTL_HOOKS_GEN_LOWPART, \ |
34 | RTL_HOOKS_GEN_LOWPART_NO_EMIT, \ |
35 | RTL_HOOKS_REG_NONZERO_REG_BITS, \ |
36 | RTL_HOOKS_REG_NUM_SIGN_BIT_COPIES, \ |
37 | RTL_HOOKS_REG_TRUNCATED_TO_MODE \ |
38 | } |
39 | |
40 | extern rtx gen_lowpart_general (machine_mode, rtx); |
41 | extern rtx reg_nonzero_bits_general (const_rtx, scalar_int_mode, |
42 | scalar_int_mode, |
43 | unsigned HOST_WIDE_INT *); |
44 | extern rtx reg_num_sign_bit_copies_general (const_rtx, scalar_int_mode, |
45 | scalar_int_mode, unsigned int *); |
46 | extern bool reg_truncated_to_mode_general (machine_mode, const_rtx); |
47 | |
48 | #endif /* GCC_RTL_HOOKS_DEF_H */ |
49 | |