OSDN Git Service

9d46f8c242e9bbab57d85153c4681530a35a81c5
[pf3gnuchains/gcc-fork.git] / gcc / config / mips / mips-ftypes.def
1 /* Definitions of prototypes for MIPS built-in functions.  -*- C -*-
2    Copyright (C) 2007
3    Free Software Foundation, Inc.
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 /* Invoke DEF_MIPS_FTYPE (NARGS, LIST) for each prototype used by
22    MIPS built-in functions, where:
23
24       NARGS is the number of arguments.
25       LIST contains the return-type code followed by the codes for each
26         argument type.
27
28    Argument- and return-type codes are either modes or one of the following:
29
30       VOID for void_type_node
31       INT for integer_type_node
32       POINTER for ptr_type_node
33
34    (we don't use PTR because that's a ANSI-compatibillity macro).
35
36    Please keep this list lexicographically sorted by the LIST argument.  */
37 DEF_MIPS_FTYPE (1, (DF, DF))
38 DEF_MIPS_FTYPE (2, (DF, DF, DF))
39
40 DEF_MIPS_FTYPE (2, (DI, DI, DI))
41 DEF_MIPS_FTYPE (2, (DI, DI, SI))
42 DEF_MIPS_FTYPE (3, (DI, DI, SI, SI))
43 DEF_MIPS_FTYPE (3, (DI, DI, USI, USI))
44 DEF_MIPS_FTYPE (3, (DI, DI, V2HI, V2HI))
45 DEF_MIPS_FTYPE (3, (DI, DI, V4QI, V4QI))
46 DEF_MIPS_FTYPE (2, (DI, SI, SI))
47 DEF_MIPS_FTYPE (2, (DI, USI, USI))
48
49 DEF_MIPS_FTYPE (2, (INT, DF, DF))
50 DEF_MIPS_FTYPE (2, (INT, SF, SF))
51 DEF_MIPS_FTYPE (2, (INT, V2SF, V2SF))
52 DEF_MIPS_FTYPE (4, (INT, V2SF, V2SF, V2SF, V2SF))
53
54 DEF_MIPS_FTYPE (2, (SI, DI, SI))
55 DEF_MIPS_FTYPE (2, (SI, POINTER, SI))
56 DEF_MIPS_FTYPE (1, (SI, SI))
57 DEF_MIPS_FTYPE (2, (SI, SI, SI))
58 DEF_MIPS_FTYPE (3, (SI, SI, SI, SI))
59 DEF_MIPS_FTYPE (1, (SI, V2HI))
60 DEF_MIPS_FTYPE (2, (SI, V2HI, V2HI))
61 DEF_MIPS_FTYPE (1, (SI, V4QI))
62 DEF_MIPS_FTYPE (2, (SI, V4QI, V4QI))
63 DEF_MIPS_FTYPE (1, (SI, VOID))
64
65 DEF_MIPS_FTYPE (1, (SF, SF))
66 DEF_MIPS_FTYPE (2, (SF, SF, SF))
67 DEF_MIPS_FTYPE (1, (SF, V2SF))
68
69 DEF_MIPS_FTYPE (1, (V2HI, SI))
70 DEF_MIPS_FTYPE (2, (V2HI, SI, SI))
71 DEF_MIPS_FTYPE (3, (V2HI, SI, SI, SI))
72 DEF_MIPS_FTYPE (1, (V2HI, V2HI))
73 DEF_MIPS_FTYPE (2, (V2HI, V2HI, SI))
74 DEF_MIPS_FTYPE (2, (V2HI, V2HI, V2HI))
75 DEF_MIPS_FTYPE (1, (V2HI, V4QI))
76 DEF_MIPS_FTYPE (2, (V2HI, V4QI, V2HI))
77
78 DEF_MIPS_FTYPE (2, (V2SF, SF, SF))
79 DEF_MIPS_FTYPE (1, (V2SF, V2SF))
80 DEF_MIPS_FTYPE (2, (V2SF, V2SF, V2SF))
81 DEF_MIPS_FTYPE (3, (V2SF, V2SF, V2SF, INT))
82 DEF_MIPS_FTYPE (4, (V2SF, V2SF, V2SF, V2SF, V2SF))
83
84 DEF_MIPS_FTYPE (1, (V4QI, SI))
85 DEF_MIPS_FTYPE (2, (V4QI, V2HI, V2HI))
86 DEF_MIPS_FTYPE (1, (V4QI, V4QI))
87 DEF_MIPS_FTYPE (2, (V4QI, V4QI, SI))
88 DEF_MIPS_FTYPE (2, (V4QI, V4QI, V4QI))
89
90 DEF_MIPS_FTYPE (2, (VOID, SI, SI))
91 DEF_MIPS_FTYPE (2, (VOID, V2HI, V2HI))
92 DEF_MIPS_FTYPE (2, (VOID, V4QI, V4QI))