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