codegen: move gen_imm from arch-specific files to codegen.c
[ajla.git] / for-fix.inc
blob18461c67209afa55e2b3f5abfde6adfda28b6eef
1 /*
2  * Copyright (C) 2024 Mikulas Patocka
3  *
4  * This file is part of Ajla.
5  *
6  * Ajla is free software: you can redistribute it and/or modify it under the
7  * terms of the GNU General Public License as published by the Free Software
8  * Foundation, either version 3 of the License, or (at your option) any later
9  * version.
10  *
11  * Ajla is distributed in the hope that it will be useful, but WITHOUT ANY
12  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
13  * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along with
16  * Ajla. If not, see <https://www.gnu.org/licenses/>.
17  */
19 #if TYPE_FIXED_N > 0
20 #define type int8_t
21 #define utype uint8_t
22 #define TYPE_MASK 0x1
23 #define TYPE_BITS 8
24 #include file_inc
25 #undef type
26 #undef utype
27 #undef TYPE_MASK
28 #undef TYPE_BITS
29 #endif
31 #if TYPE_FIXED_N > 1
32 #define type int16_t
33 #define utype uint16_t
34 #define TYPE_MASK 0x2
35 #define TYPE_BITS 16
36 #include file_inc
37 #undef type
38 #undef utype
39 #undef TYPE_MASK
40 #undef TYPE_BITS
41 #endif
43 #if TYPE_FIXED_N > 2
44 #define type int32_t
45 #define utype uint32_t
46 #define TYPE_MASK 0x4
47 #define TYPE_BITS 32
48 #include file_inc
49 #undef type
50 #undef utype
51 #undef TYPE_MASK
52 #undef TYPE_BITS
53 #endif
55 #if TYPE_FIXED_N > 3
56 #define type int64_t
57 #define utype uint64_t
58 #define TYPE_MASK 0x8
59 #define TYPE_BITS 64
60 #include file_inc
61 #undef type
62 #undef utype
63 #undef TYPE_MASK
64 #undef TYPE_BITS
65 #endif
67 #if TYPE_FIXED_N > 4
68 #define type int128_t
69 #define utype uint128_t
70 #define TYPE_MASK 0x10
71 #define TYPE_BITS 128
72 #include file_inc
73 #undef type
74 #undef utype
75 #undef TYPE_MASK
76 #undef TYPE_BITS
77 #endif
79 #undef file_inc