1 /* Definitions of prototypes for RISC
-V built
-in functions.
-*- C
-*-
2 Copyright (C
) 2011-2025 Free Software Foundation
, Inc.
3 Contributed by Andrew
Waterman (andrew@sifive.com
).
4 Based on MIPS target for GNU compiler.
6 This file is part of GCC.
8 GCC is free software
; you can redistribute it and
/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation
; either version
3, or (at your option
)
13 GCC is distributed in the hope that it will be useful
,
14 but WITHOUT ANY WARRANTY
; without even the implied warranty of
15 MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with GCC
; see the file COPYING3. If not see
20 <http
://www.gnu.org
/licenses
/>.
*/
22 /* Invoke
DEF_RISCV_FTYPE (NARGS
, LIST
) for each prototype used by
23 RISCV built
-in functions
, where
:
25 NARGS is the number of arguments.
26 LIST contains the return
-type code followed by the codes for each
29 DEF_RISCV_FTYPE (0, (USI
))
30 DEF_RISCV_FTYPE (0, (VOID
))
31 DEF_RISCV_FTYPE (1, (VOID
, USI
))
32 DEF_RISCV_FTYPE (1, (VOID
, VOID_PTR
))
33 DEF_RISCV_FTYPE (1, (USI
, VOID_PTR
))
34 DEF_RISCV_FTYPE (1, (USI
, USI
))
35 DEF_RISCV_FTYPE (1, (UDI
, UDI
))
36 DEF_RISCV_FTYPE (1, (USI
, UQI
))
37 DEF_RISCV_FTYPE (1, (USI
, UHI
))
38 DEF_RISCV_FTYPE (1, (SI
, QI
))
39 DEF_RISCV_FTYPE (1, (SI
, HI
))
40 DEF_RISCV_FTYPE (2, (USI
, UQI
, UQI
))
41 DEF_RISCV_FTYPE (2, (USI
, USI
, UHI
))
42 DEF_RISCV_FTYPE (2, (USI
, USI
, QI
))
43 DEF_RISCV_FTYPE (2, (USI
, USI
, HI
))
44 DEF_RISCV_FTYPE (2, (USI
, UHI
, UHI
))
45 DEF_RISCV_FTYPE (2, (USI
, USI
, USI
))
46 DEF_RISCV_FTYPE (2, (USI
, USI
, UQI
))
47 DEF_RISCV_FTYPE (2, (UDI
, UQI
, UQI
))
48 DEF_RISCV_FTYPE (2, (UDI
, UHI
, UHI
))
49 DEF_RISCV_FTYPE (2, (UDI
, USI
, USI
))
50 DEF_RISCV_FTYPE (2, (UDI
, UDI
, UQI
))
51 DEF_RISCV_FTYPE (2, (UDI
, UDI
, USI
))
52 DEF_RISCV_FTYPE (2, (UDI
, UDI
, UDI
))
53 DEF_RISCV_FTYPE (2, (SI
, USI
, USI
))
54 DEF_RISCV_FTYPE (2, (SI
, SI
, SI
))
55 DEF_RISCV_FTYPE (3, (USI
, USI
, USI
, UQI
))
56 DEF_RISCV_FTYPE (3, (USI
, USI
, USI
, QI
))
57 DEF_RISCV_FTYPE (3, (USI
, USI
, UQI
, USI
))
58 DEF_RISCV_FTYPE (3, (USI
, USI
, QI
, USI
))
59 DEF_RISCV_FTYPE (3, (USI
, USI
, UHI
, USI
))
60 DEF_RISCV_FTYPE (3, (USI
, USI
, HI
, USI
))
61 DEF_RISCV_FTYPE (3, (USI
, USI
, USI
, USI
))
62 DEF_RISCV_FTYPE (3, (SI
, SI
, SI
, UQI
))
63 DEF_RISCV_FTYPE (3, (SI
, SI
, SI
, SI
))
64 DEF_RISCV_FTYPE (4, (USI
, USI
, USI
, USI
, UQI
))
65 DEF_RISCV_FTYPE (4, (SI
, SI
, SI
, SI
, UQI
))