1 /* Machine mode class definitions for GCC.
2 Copyright (C
) 2003-2021 Free Software Foundation
, Inc.
4 This file is part of GCC.
6 GCC is free software
; you can redistribute it and
/or modify it under
7 the terms of the GNU General Public License as published by the Free
8 Software Foundation
; either version
3, or (at your option
) any later
11 GCC is distributed in the hope that it will be useful
, but WITHOUT ANY
12 WARRANTY
; without even the implied warranty of MERCHANTABILITY or
13 FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 You should have received a copy of the GNU General Public License
17 along with GCC
; see the file COPYING3. If not see
18 <http
://www.gnu.org
/licenses
/>.
*/
20 #define MODE_CLASSES \
21 DEF_MODE_CLASS (MODE_RANDOM
), /* other
*/ \
22 DEF_MODE_CLASS (MODE_CC
), /* condition code in a register
*/ \
23 DEF_MODE_CLASS (MODE_INT
), /* integer
*/ \
24 DEF_MODE_CLASS (MODE_PARTIAL_INT
), /* integer with padding bits
*/ \
25 DEF_MODE_CLASS (MODE_FRACT
), /* signed fractional number
*/ \
26 DEF_MODE_CLASS (MODE_UFRACT
), /* unsigned fractional number
*/ \
27 DEF_MODE_CLASS (MODE_ACCUM
), /* signed accumulator
*/ \
28 DEF_MODE_CLASS (MODE_UACCUM
), /* unsigned accumulator
*/ \
29 DEF_MODE_CLASS (MODE_FLOAT
), /* floating point
*/ \
30 DEF_MODE_CLASS (MODE_DECIMAL_FLOAT
), /* decimal floating point
*/ \
31 DEF_MODE_CLASS (MODE_COMPLEX_INT
), /* complex numbers
*/ \
32 DEF_MODE_CLASS (MODE_COMPLEX_FLOAT
), \
33 DEF_MODE_CLASS (MODE_VECTOR_BOOL
), /* vectors of single bits
*/ \
34 DEF_MODE_CLASS (MODE_VECTOR_INT
), /* SIMD vectors
*/ \
35 DEF_MODE_CLASS (MODE_VECTOR_FRACT
), /* SIMD vectors
*/ \
36 DEF_MODE_CLASS (MODE_VECTOR_UFRACT
), /* SIMD vectors
*/ \
37 DEF_MODE_CLASS (MODE_VECTOR_ACCUM
), /* SIMD vectors
*/ \
38 DEF_MODE_CLASS (MODE_VECTOR_UACCUM
), /* SIMD vectors
*/ \
39 DEF_MODE_CLASS (MODE_VECTOR_FLOAT
), \
40 DEF_MODE_CLASS (MODE_OPAQUE
) /* opaque modes
*/