Mercurial > hg > CbC > CbC_gcc
comparison gcc/machmode.def @ 132:d34655255c78
update gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 10:21:07 +0900 |
parents | 84e7813d76e9 |
children | 1830386684a0 |
comparison
equal
deleted
inserted
replaced
130:e108057fa461 | 132:d34655255c78 |
---|---|
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-2017 Free Software Foundation, Inc. | 3 Copyright (C) 1987-2018 Free Software Foundation, Inc. |
4 | 4 |
5 This file is part of GCC. | 5 This file is part of GCC. |
6 | 6 |
7 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 |
8 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 |
139 byte sizes do not evenly divide WIDTH are ignored, as are | 139 byte sizes do not evenly divide WIDTH are ignored, as are |
140 modes that would produce vector modes with only one component, | 140 modes that would produce vector modes with only one component, |
141 and modes smaller than one byte (if CLASS is INT) or smaller | 141 and modes smaller than one byte (if CLASS is INT) or smaller |
142 than two bytes (if CLASS is FLOAT). CLASS must be INT or | 142 than two bytes (if CLASS is FLOAT). CLASS must be INT or |
143 FLOAT. The names follow the same rule as VECTOR_MODE uses. | 143 FLOAT. The names follow the same rule as VECTOR_MODE uses. |
144 | |
145 VECTOR_MODES_WITH_PREFIX (PREFIX, CLASS, WIDTH); | |
146 Like VECTOR_MODES, but start the mode names with PREFIX instead | |
147 of the usual "V". | |
148 | |
149 VECTOR_BOOL_MODE (NAME, COUNT, BYTESIZE) | |
150 Create a vector mode called NAME that contains COUNT boolean | |
151 elements and occupies BYTESIZE bytes in total. Each boolean | |
152 element occupies (COUNT * BITS_PER_UNIT) / BYTESIZE bits, with | |
153 the element at index 0 occupying the lsb of the first byte in | |
154 memory. Only the lowest bit of each element is significant. | |
144 | 155 |
145 COMPLEX_MODES (CLASS); | 156 COMPLEX_MODES (CLASS); |
146 For all modes presently declared in class CLASS, construct | 157 For all modes presently declared in class CLASS, construct |
147 corresponding complex modes. Modes smaller than one byte | 158 corresponding complex modes. Modes smaller than one byte |
148 are ignored. For FLOAT modes, the names are derived by | 159 are ignored. For FLOAT modes, the names are derived by |
160 once after processing all command line options, and should | 171 once after processing all command line options, and should |
161 evaluate to the desired byte size, alignment, format, ibit or fbit. | 172 evaluate to the desired byte size, alignment, format, ibit or fbit. |
162 | 173 |
163 Unlike a FORMAT argument, if you are adjusting a float format | 174 Unlike a FORMAT argument, if you are adjusting a float format |
164 you must put an & in front of the name of each format structure. | 175 you must put an & in front of the name of each format structure. |
176 | |
177 ADJUST_NUNITS (MODE, EXPR); | |
178 Like the above, but set the number of nunits of MODE to EXPR. | |
179 This changes the size and precision of the mode in proportion | |
180 to the change in the number of units; for example, doubling | |
181 the number of units doubles the size and precision as well. | |
165 | 182 |
166 Note: If a mode is ever made which is more than 255 bytes wide, | 183 Note: If a mode is ever made which is more than 255 bytes wide, |
167 machmode.h and genmodes.c will have to be changed to allocate | 184 machmode.h and genmodes.c will have to be changed to allocate |
168 more space for the mode_size and mode_alignment arrays. */ | 185 more space for the mode_size and mode_alignment arrays. */ |
169 | 186 |
241 # include EXTRA_MODES_FILE | 258 # include EXTRA_MODES_FILE |
242 #endif | 259 #endif |
243 | 260 |
244 /* Complex modes. */ | 261 /* Complex modes. */ |
245 COMPLEX_MODES (INT); | 262 COMPLEX_MODES (INT); |
263 COMPLEX_MODES (PARTIAL_INT); | |
246 COMPLEX_MODES (FLOAT); | 264 COMPLEX_MODES (FLOAT); |
247 | 265 |
248 /* Decimal floating point modes. */ | 266 /* Decimal floating point modes. */ |
249 DECIMAL_FLOAT_MODE (SD, 4, decimal_single_format); | 267 DECIMAL_FLOAT_MODE (SD, 4, decimal_single_format); |
250 DECIMAL_FLOAT_MODE (DD, 8, decimal_double_format); | 268 DECIMAL_FLOAT_MODE (DD, 8, decimal_double_format); |