Add support for 512-bit-wide vectors.
[ghc.git] / includes / rts / storage / FunTypes.h
1 /* -----------------------------------------------------------------------------
2 *
3 * (c) The GHC Team, 2002
4 *
5 * Things for functions.
6 *
7 * ---------------------------------------------------------------------------*/
8
9 #ifndef RTS_STORAGE_FUNTYPES_H
10 #define RTS_STORAGE_FUNTYPES_H
11
12 /* generic - function comes with a small bitmap */
13 #define ARG_GEN 0
14
15 /* generic - function comes with a large bitmap */
16 #define ARG_GEN_BIG 1
17
18 /* BCO - function is really a BCO */
19 #define ARG_BCO 2
20
21 /*
22 * Specialised function types: bitmaps and calling sequences
23 * for these functions are pre-generated: see ghc/utils/genapply and
24 * generated code in ghc/rts/AutoApply.cmm.
25 *
26 * NOTE: other places to change if you change this table:
27 * - utils/genapply/GenApply.hs: stackApplyTypes
28 * - compiler/codeGen/CgCallConv.lhs: stdPattern
29 */
30 #define ARG_NONE 3
31 #define ARG_N 4
32 #define ARG_P 5
33 #define ARG_F 6
34 #define ARG_D 7
35 #define ARG_L 8
36 #define ARG_V16 9
37 #define ARG_V32 10
38 #define ARG_V64 11
39 #define ARG_NN 12
40 #define ARG_NP 13
41 #define ARG_PN 14
42 #define ARG_PP 15
43 #define ARG_NNN 16
44 #define ARG_NNP 17
45 #define ARG_NPN 18
46 #define ARG_NPP 19
47 #define ARG_PNN 20
48 #define ARG_PNP 21
49 #define ARG_PPN 22
50 #define ARG_PPP 23
51 #define ARG_PPPP 24
52 #define ARG_PPPPP 25
53 #define ARG_PPPPPP 26
54 #define ARG_PPPPPPP 27
55 #define ARG_PPPPPPPP 28
56
57 #endif /* RTS_STORAGE_FUNTYPES_H */