Mercurial > hg > CbC > GCC_original
comparison gcc/machmode.def @ 16:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | f6334be47118 |
children | 84e7813d76e9 |
comparison
equal
deleted
inserted
replaced
15:561a7518be6b | 16:04ced10e8804 |
---|---|
1 /* This file contains the definitions and documentation for the | 1 /* This file contains the definitions and documentation for the |
2 machine modes used in the GNU compiler. | 2 machine modes used in the GNU compiler. |
3 Copyright (C) 1987, 1992, 1994, 1997, 1998, 2000, 2003, 2004, 2005, | 3 Copyright (C) 1987-2017 Free Software Foundation, Inc. |
4 2007, 2010 Free Software Foundation, Inc. | |
5 | 4 |
6 This file is part of GCC. | 5 This file is part of GCC. |
7 | 6 |
8 GCC is free software; you can redistribute it and/or modify it under | 7 GCC is free software; you can redistribute it and/or modify it under |
9 the terms of the GNU General Public License as published by the Free | 8 the terms of the GNU General Public License as published by the Free |
120 RESET_FLOAT_FORMAT (MODE, FORMAT); | 119 RESET_FLOAT_FORMAT (MODE, FORMAT); |
121 changes the format of MODE, which must be class FLOAT, | 120 changes the format of MODE, which must be class FLOAT, |
122 to FORMAT. Use in an ARCH-modes.def to reset the format | 121 to FORMAT. Use in an ARCH-modes.def to reset the format |
123 of one of the float modes defined in this file. | 122 of one of the float modes defined in this file. |
124 | 123 |
125 PARTIAL_INT_MODE (MODE); | 124 PARTIAL_INT_MODE (MODE, PRECISION, NAME); |
126 declares a mode of class PARTIAL_INT with the same size as | 125 declares a mode of class PARTIAL_INT with the same size as |
127 MODE (which must be an INT mode). The name of the new mode | 126 MODE (which must be an INT mode) and precision PREC. |
128 is made by prefixing a P to the name MODE. This statement | 127 Optionally, NAME is the new name of the mode. NAME is the |
129 may grow a PRECISION argument in the future. | 128 name of the mode. |
130 | 129 |
131 VECTOR_MODE (CLASS, MODE, COUNT); | 130 VECTOR_MODE (CLASS, MODE, COUNT); |
132 Declare a vector mode whose component mode is MODE (of class | 131 Declare a vector mode whose component mode is MODE (of class |
133 CLASS) with COUNT components. CLASS must be INT or FLOAT. | 132 CLASS) with COUNT components. CLASS must be INT or FLOAT. |
134 The name of the vector mode takes the form VnX where n is | 133 The name of the vector mode takes the form VnX where n is |
178 | 177 |
179 /* Single bit mode used for booleans. */ | 178 /* Single bit mode used for booleans. */ |
180 FRACTIONAL_INT_MODE (BI, 1, 1); | 179 FRACTIONAL_INT_MODE (BI, 1, 1); |
181 | 180 |
182 /* Basic integer modes. We go up to TI in generic code (128 bits). | 181 /* Basic integer modes. We go up to TI in generic code (128 bits). |
183 The name OI is reserved for a 256-bit type (needed by some back ends). | 182 TImode is needed here because the some front ends now genericly |
184 FIXME TI shouldn't be generically available either. */ | 183 support __int128. If the front ends decide to generically support |
184 larger types, then corresponding modes must be added here. The | |
185 name OI is reserved for a 256-bit type (needed by some back ends). | |
186 */ | |
185 INT_MODE (QI, 1); | 187 INT_MODE (QI, 1); |
186 INT_MODE (HI, 2); | 188 INT_MODE (HI, 2); |
187 INT_MODE (SI, 4); | 189 INT_MODE (SI, 4); |
188 INT_MODE (DI, 8); | 190 INT_MODE (DI, 8); |
189 INT_MODE (TI, 16); | 191 INT_MODE (TI, 16); |
190 | 192 |
191 /* No partial integer modes are defined by default. */ | 193 /* No partial integer modes are defined by default. */ |
194 | |
195 /* The target normally defines any target-specific __intN types and | |
196 their modes, but __int128 for TImode is fairly common so define it | |
197 here. The type will not be created unless the target supports | |
198 TImode. */ | |
199 | |
200 INT_N (TI, 128); | |
192 | 201 |
193 /* Basic floating point modes. SF and DF are the only modes provided | 202 /* Basic floating point modes. SF and DF are the only modes provided |
194 by default. The names QF, HF, XF, and TF are reserved for targets | 203 by default. The names QF, HF, XF, and TF are reserved for targets |
195 that need 1-word, 2-word, 80-bit, or 128-bit float types respectively. | 204 that need 1-word, 2-word, 80-bit, or 128-bit float types respectively. |
196 | 205 |