]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/msp430/msp430-protos.h
Update copyright years.
[thirdparty/gcc.git] / gcc / config / msp430 / msp430-protos.h
CommitLineData
f6a83b4a 1/* Exported function prototypes from the TI MSP430 backend.
99dee823 2 Copyright (C) 2012-2021 Free Software Foundation, Inc.
f6a83b4a
DD
3 Contributed by Red Hat.
4
5 This file is part of GCC.
6
7 GCC is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3, or (at your option)
10 any later version.
11
12 GCC is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with GCC; see the file COPYING3. If not see
19 <http://www.gnu.org/licenses/>. */
20
21#ifndef GCC_MSP430_PROTOS_H
22#define GCC_MSP430_PROTOS_H
23
cad055a4 24rtx msp430_eh_return_stackadj_rtx (void);
f6a83b4a
DD
25void msp430_expand_eh_return (rtx);
26void msp430_expand_epilogue (int);
27void msp430_expand_helper (rtx *operands, const char *, bool);
28void msp430_expand_prologue (void);
546c8f95 29int msp430x_extendhisi (rtx *, bool);
ef4bddc2 30void msp430_fixup_compare_operands (machine_mode, rtx *);
ef4bddc2
RS
31int msp430_hard_regno_nregs_has_padding (int, machine_mode);
32int msp430_hard_regno_nregs_with_padding (int, machine_mode);
c32ab325 33bool msp430_hwmult_enabled (void);
f6a83b4a
DD
34rtx msp430_incoming_return_addr_rtx (void);
35void msp430_init_cumulative_args (CUMULATIVE_ARGS *, tree, rtx, tree, int);
36int msp430_initial_elimination_offset (int, int);
cad055a4 37bool msp430_is_interrupt_func (void);
50cfbf99 38const char * msp430_mcu_name (void);
43bfd4e8 39void msp430_output_aligned_decl_common (FILE *, const tree, const char *,
e8fb1a38
JL
40 unsigned HOST_WIDE_INT, unsigned,
41 int);
f6a83b4a
DD
42void msp430_output_labelref (FILE *, const char *);
43void msp430_register_pragmas (void);
44rtx msp430_return_addr_rtx (int);
45void msp430_split_movsi (rtx *);
53f45082 46int msp430_split_addsi (rtx *);
cad055a4 47void msp430_start_function (FILE *, const char *, tree);
ef4bddc2 48rtx msp430_subreg (machine_mode, rtx, machine_mode, int);
f7961364 49bool msp430_use_f5_series_hwmult (void);
0744333e 50bool msp430_has_hwmult (void);
8682b1a5 51bool msp430_op_not_in_high_mem (rtx op);
546c8f95 52bool msp430x_insn_required (rtx op);
f6a83b4a 53
703e049a
JL
54#ifdef RTX_CODE
55int msp430_expand_shift (enum rtx_code code, machine_mode mode, rtx *operands);
546c8f95 56int msp430_output_asm_shift_insns (enum rtx_code code, machine_mode mode, rtx *operands, bool);
703e049a
JL
57#endif
58
f6a83b4a 59#endif /* GCC_MSP430_PROTOS_H */