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);