20#ifndef HAVE_MACHINE_MODES
21#define HAVE_MACHINE_MODES
27extern const unsigned short mode_inner[NUM_MACHINE_MODES];
29extern CONST_MODE_UNIT_SIZE
unsigned char mode_unit_size[NUM_MACHINE_MODES];
31extern const unsigned short mode_next[NUM_MACHINE_MODES];
32extern const unsigned short mode_wider[NUM_MACHINE_MODES];
33extern const unsigned short mode_2xwider[NUM_MACHINE_MODES];
82#if defined (IN_TARGET_CODE) && NUM_POLY_INT_COEFFS == 1
83#define ONLY_FIXED_SIZE_MODES 1
85#define ONLY_FIXED_SIZE_MODES 0
90extern const char *
const mode_name[NUM_MACHINE_MODES];
91#define GET_MODE_NAME(MODE) mode_name[MODE]
95#include "mode-classes.def"
96#define DEF_MODE_CLASS(M) M
104extern const unsigned char mode_class[NUM_MACHINE_MODES];
105#define GET_MODE_CLASS(MODE) ((enum mode_class) mode_class[MODE])
108#define INTEGRAL_MODE_P(MODE) \
109 (GET_MODE_CLASS (MODE) == MODE_INT \
110 || GET_MODE_CLASS (MODE) == MODE_PARTIAL_INT \
111 || GET_MODE_CLASS (MODE) == MODE_COMPLEX_INT \
112 || GET_MODE_CLASS (MODE) == MODE_VECTOR_BOOL \
113 || GET_MODE_CLASS (MODE) == MODE_VECTOR_INT)
116#define FLOAT_MODE_P(MODE) \
117 (GET_MODE_CLASS (MODE) == MODE_FLOAT \
118 || GET_MODE_CLASS (MODE) == MODE_DECIMAL_FLOAT \
119 || GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT \
120 || GET_MODE_CLASS (MODE) == MODE_VECTOR_FLOAT)
123#define COMPLEX_MODE_P(MODE) \
124 (GET_MODE_CLASS (MODE) == MODE_COMPLEX_INT \
125 || GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT)
128#define VECTOR_MODE_P(MODE) \
129 (GET_MODE_CLASS (MODE) == MODE_VECTOR_BOOL \
130 || GET_MODE_CLASS (MODE) == MODE_VECTOR_INT \
131 || GET_MODE_CLASS (MODE) == MODE_VECTOR_FLOAT \
132 || GET_MODE_CLASS (MODE) == MODE_VECTOR_FRACT \
133 || GET_MODE_CLASS (MODE) == MODE_VECTOR_UFRACT \
134 || GET_MODE_CLASS (MODE) == MODE_VECTOR_ACCUM \
135 || GET_MODE_CLASS (MODE) == MODE_VECTOR_UACCUM)
138#define SCALAR_INT_MODE_P(MODE) \
139 (GET_MODE_CLASS (MODE) == MODE_INT \
140 || GET_MODE_CLASS (MODE) == MODE_PARTIAL_INT)
143#define SCALAR_FLOAT_MODE_P(MODE) \
144 (GET_MODE_CLASS (MODE) == MODE_FLOAT \
145 || GET_MODE_CLASS (MODE) == MODE_DECIMAL_FLOAT)
148#define DECIMAL_FLOAT_MODE_P(MODE) \
149 (GET_MODE_CLASS (MODE) == MODE_DECIMAL_FLOAT)
152#define SCALAR_FRACT_MODE_P(MODE) \
153 (GET_MODE_CLASS (MODE) == MODE_FRACT)
156#define SCALAR_UFRACT_MODE_P(MODE) \
157 (GET_MODE_CLASS (MODE) == MODE_UFRACT)
160#define ALL_SCALAR_FRACT_MODE_P(MODE) \
161 (SCALAR_FRACT_MODE_P (MODE) || SCALAR_UFRACT_MODE_P (MODE))
164#define SCALAR_ACCUM_MODE_P(MODE) \
165 (GET_MODE_CLASS (MODE) == MODE_ACCUM)
168#define SCALAR_UACCUM_MODE_P(MODE) \
169 (GET_MODE_CLASS (MODE) == MODE_UACCUM)
172#define ALL_SCALAR_ACCUM_MODE_P(MODE) \
173 (SCALAR_ACCUM_MODE_P (MODE) || SCALAR_UACCUM_MODE_P (MODE))
176#define SIGNED_SCALAR_FIXED_POINT_MODE_P(MODE) \
177 (SCALAR_FRACT_MODE_P (MODE) || SCALAR_ACCUM_MODE_P (MODE))
180#define UNSIGNED_SCALAR_FIXED_POINT_MODE_P(MODE) \
181 (SCALAR_UFRACT_MODE_P (MODE) || SCALAR_UACCUM_MODE_P (MODE))
184#define ALL_SCALAR_FIXED_POINT_MODE_P(MODE) \
185 (SIGNED_SCALAR_FIXED_POINT_MODE_P (MODE) \
186 || UNSIGNED_SCALAR_FIXED_POINT_MODE_P (MODE))
189#define FRACT_MODE_P(MODE) \
190 (GET_MODE_CLASS (MODE) == MODE_FRACT \
191 || GET_MODE_CLASS (MODE) == MODE_VECTOR_FRACT)
194#define UFRACT_MODE_P(MODE) \
195 (GET_MODE_CLASS (MODE) == MODE_UFRACT \
196 || GET_MODE_CLASS (MODE) == MODE_VECTOR_UFRACT)
199#define ALL_FRACT_MODE_P(MODE) \
200 (FRACT_MODE_P (MODE) || UFRACT_MODE_P (MODE))
203#define ACCUM_MODE_P(MODE) \
204 (GET_MODE_CLASS (MODE) == MODE_ACCUM \
205 || GET_MODE_CLASS (MODE) == MODE_VECTOR_ACCUM)
208#define UACCUM_MODE_P(MODE) \
209 (GET_MODE_CLASS (MODE) == MODE_UACCUM \
210 || GET_MODE_CLASS (MODE) == MODE_VECTOR_UACCUM)
213#define ALL_ACCUM_MODE_P(MODE) \
214 (ACCUM_MODE_P (MODE) || UACCUM_MODE_P (MODE))
217#define SIGNED_FIXED_POINT_MODE_P(MODE) \
218 (FRACT_MODE_P (MODE) || ACCUM_MODE_P (MODE))
221#define UNSIGNED_FIXED_POINT_MODE_P(MODE) \
222 (UFRACT_MODE_P (MODE) || UACCUM_MODE_P (MODE))
225#define ALL_FIXED_POINT_MODE_P(MODE) \
226 (SIGNED_FIXED_POINT_MODE_P (MODE) \
227 || UNSIGNED_FIXED_POINT_MODE_P (MODE))
230#define OPAQUE_MODE_P(MODE) \
231 (GET_MODE_CLASS (MODE) == MODE_OPAQUE)
234#define CLASS_HAS_WIDER_MODES_P(CLASS) \
236 || CLASS == MODE_PARTIAL_INT \
237 || CLASS == MODE_FLOAT \
238 || CLASS == MODE_DECIMAL_FLOAT \
239 || CLASS == MODE_COMPLEX_FLOAT \
240 || CLASS == MODE_FRACT \
241 || CLASS == MODE_UFRACT \
242 || CLASS == MODE_ACCUM \
243 || CLASS == MODE_UACCUM)
258#define MACHINE_MODE_BITSIZE 16
281 template<
typename U>
bool exists (U *)
const;
333 return m_mode != E_VOIDmode;
361 operator machine_mode ()
const {
return m_mode; }
375 return T::includes_p (m);
378template<
typename T,
typename U>
395template<
typename T,
typename U>
408 if (T::includes_p (m))
413template<
typename T,
typename U>
423template<
typename T,
typename U>
425is_a (machine_mode m, U *result)
427 if (T::includes_p (m))
528 case MODE_PARTIAL_INT:
534 case MODE_DECIMAL_FLOAT:
574#if GCC_VERSION >= 4001
575 return (__builtin_constant_p (mode)
576 ? mode_size_inline (mode) :
mode_size[mode]);
603#if GCC_VERSION >= 4001
605 ? mode_inner_inline (mode)
617#if GCC_VERSION >= 4001
618 return (__builtin_constant_p (mode)
630#if GCC_VERSION >= 4001
631 return (__builtin_constant_p (mode)
643#if GCC_VERSION >= 4001
644 return (__builtin_constant_p (mode)
653#if ONLY_FIXED_SIZE_MODES
654#define GET_MODE_SIZE(MODE) ((unsigned short) mode_to_bytes (MODE).coeffs[0])
679#if ONLY_FIXED_SIZE_MODES
680#define GET_MODE_BITSIZE(MODE) ((unsigned short) mode_to_bits (MODE).coeffs[0])
705#if ONLY_FIXED_SIZE_MODES
706#define GET_MODE_PRECISION(MODE) \
707 ((unsigned short) mode_to_precision (MODE).coeffs[0])
731extern CONST_MODE_IBIT
unsigned char mode_ibit[NUM_MACHINE_MODES];
732#define GET_MODE_IBIT(MODE) mode_ibit[MODE]
735extern CONST_MODE_FBIT
unsigned char mode_fbit[NUM_MACHINE_MODES];
736#define GET_MODE_FBIT(MODE) mode_fbit[MODE]
741extern CONST_MODE_MASK
unsigned HOST_WIDE_INT
744#define GET_MODE_MASK(MODE) mode_mask_array[MODE]
750#define GET_MODE_INNER(MODE) (mode_to_inner (MODE))
755#define GET_MODE_UNIT_SIZE(MODE) mode_to_unit_size (MODE)
757#define GET_MODE_UNIT_BITSIZE(MODE) \
758 ((unsigned short) (GET_MODE_UNIT_SIZE (MODE) * BITS_PER_UNIT))
760#define GET_MODE_UNIT_PRECISION(MODE) (mode_to_unit_precision (MODE))
765#if ONLY_FIXED_SIZE_MODES
766#define GET_MODE_NUNITS(MODE) (mode_to_nunits (MODE).coeffs[0])
825extern const unsigned short mode_complex[NUM_MACHINE_MODES];
826#define GET_MODE_COMPLEX_MODE(MODE) ((machine_mode) mode_complex[MODE])
882#if NUM_POLY_INT_COEFFS == 1
883#define MACRO_MODE(MODE) (as_a <fixed_size_mode> (MODE))
885#define MACRO_MODE(MODE) (MODE)
966extern CONST_MODE_BASE_ALIGN
unsigned short mode_base_align[NUM_MACHINE_MODES];
970#define GET_MODE_ALIGNMENT(MODE) get_mode_alignment (MODE)
975#define GET_CLASS_NARROWEST_MODE(CLASS) \
976 ((machine_mode) class_narrowest_mode[CLASS])
980#define NARROWEST_INT_MODE \
982 (scalar_int_mode::from_int (class_narrowest_mode[MODE_INT])))
1004#define TRULY_NOOP_TRUNCATION_MODES_P(MODE1, MODE2) \
1005 (targetm.truly_noop_truncation (GET_MODE_PRECISION (MODE1), \
1006 GET_MODE_PRECISION (MODE2)))
1014 machine_mode mme = mode;
1112 template<
typename T>
1130 template<
typename T>
1140 return *iter != E_VOIDmode;
1146 template<
typename T>
1162 template<
typename T>
1172 template<
typename T>
1188 template<
typename T>
1198 template<
typename T>
1214#define FOR_EACH_MODE_IN_CLASS(ITERATOR, CLASS) \
1215 for (mode_iterator::start (&(ITERATOR), CLASS); \
1216 mode_iterator::iterate_p (&(ITERATOR)); \
1217 mode_iterator::get_next (&(ITERATOR)))
1221#define FOR_EACH_MODE(ITERATOR, START, END) \
1222 for ((ITERATOR) = (START); \
1223 (ITERATOR) != (END); \
1224 mode_iterator::get_known_next (&(ITERATOR)))
1228#define FOR_EACH_MODE_FROM(ITERATOR, START) \
1229 for ((ITERATOR) = (START); \
1230 mode_iterator::iterate_p (&(ITERATOR)); \
1231 mode_iterator::get_next (&(ITERATOR)))
1235#define FOR_EACH_WIDER_MODE_FROM(ITERATOR, START) \
1236 for ((ITERATOR) = (START); \
1237 mode_iterator::iterate_p (&(ITERATOR)); \
1238 mode_iterator::get_wider (&(ITERATOR)))
1243#define FOR_EACH_MODE_UNTIL(ITERATOR, END) \
1244 FOR_EACH_MODE (ITERATOR, get_narrowest_mode (END), END)
1249#define FOR_EACH_NEXT_MODE(ITERATOR, START) \
1250 for ((ITERATOR) = (START), mode_iterator::get_next (&(ITERATOR)); \
1251 mode_iterator::iterate_p (&(ITERATOR)); \
1252 mode_iterator::get_next (&(ITERATOR)))
1257#define FOR_EACH_WIDER_MODE(ITERATOR, START) \
1258 for ((ITERATOR) = (START), mode_iterator::get_wider (&(ITERATOR)); \
1259 mode_iterator::iterate_p (&(ITERATOR)); \
1260 mode_iterator::get_wider (&(ITERATOR)))
1266#define FOR_EACH_2XWIDER_MODE(ITERATOR, START) \
1267 for ((ITERATOR) = (START), mode_iterator::get_2xwider (&(ITERATOR)); \
1268 mode_iterator::iterate_p (&(ITERATOR)); \
1269 mode_iterator::get_2xwider (&(ITERATOR)))
bool prefer_smaller_modes()
Definition stor-layout.cc:3130
poly_int64 m_bitregion_end
Definition machmode.h:953
HOST_WIDE_INT m_bitsize
Definition machmode.h:950
bit_field_mode_iterator(HOST_WIDE_INT, HOST_WIDE_INT, poly_int64, poly_int64, unsigned int, bool)
Definition stor-layout.cc:3049
opt_scalar_int_mode m_mode
Definition machmode.h:947
poly_int64 m_bitregion_start
Definition machmode.h:952
unsigned int m_align
Definition machmode.h:954
bool next_mode(scalar_int_mode *)
Definition stor-layout.cc:3078
HOST_WIDE_INT m_bitpos
Definition machmode.h:951
bool m_volatilep
Definition machmode.h:955
int m_count
Definition machmode.h:956
Definition machmode.h:543
unsigned short measurement_type
Definition machmode.h:546
static bool includes_p(machine_mode)
Definition machmode.h:564
ALWAYS_INLINE complex_mode()
Definition machmode.h:548
machine_mode m_mode
Definition machmode.h:558
mode_traits< complex_mode >::from_int from_int
Definition machmode.h:545
ALWAYS_INLINE CONSTEXPR complex_mode(from_int m)
Definition machmode.h:551
ALWAYS_INLINE CONSTEXPR fixed_size_mode(const scalar_mode &m)
Definition machmode.h:844
ALWAYS_INLINE CONSTEXPR fixed_size_mode(const scalar_int_mode &m)
Definition machmode.h:847
ALWAYS_INLINE CONSTEXPR fixed_size_mode(from_int m)
Definition machmode.h:841
ALWAYS_INLINE fixed_size_mode()
Definition machmode.h:838
unsigned short measurement_type
Definition machmode.h:836
ALWAYS_INLINE CONSTEXPR fixed_size_mode(const complex_mode &m)
Definition machmode.h:859
ALWAYS_INLINE CONSTEXPR fixed_size_mode(const scalar_mode_pod &m)
Definition machmode.h:853
mode_traits< fixed_size_mode >::from_int from_int
Definition machmode.h:835
static bool includes_p(machine_mode)
Definition machmode.h:872
ALWAYS_INLINE CONSTEXPR fixed_size_mode(const scalar_float_mode &m)
Definition machmode.h:850
ALWAYS_INLINE CONSTEXPR fixed_size_mode(const scalar_int_mode_pod &m)
Definition machmode.h:856
machine_mode m_mode
Definition machmode.h:866
Definition machmode.h:263
bool exists(U *) const
Definition machmode.h:341
bool operator==(const T &m) const
Definition machmode.h:283
ALWAYS_INLINE CONSTEXPR opt_mode(from_int m)
Definition machmode.h:273
bool exists() const
Definition machmode.h:331
ALWAYS_INLINE CONSTEXPR opt_mode()
Definition machmode.h:267
from_int
Definition machmode.h:265
@ dummy
Definition machmode.h:265
ALWAYS_INLINE CONSTEXPR opt_mode(const T &m)
Definition machmode.h:268
ALWAYS_INLINE CONSTEXPR opt_mode(const U &m)
Definition machmode.h:270
machine_mode else_mode(machine_mode) const
Definition machmode.h:312
bool operator!=(const T &m) const
Definition machmode.h:284
machine_mode else_blk() const
Definition machmode.h:276
ALWAYS_INLINE CONSTEXPR opt_mode(const opt_mode< U > &)
Definition machmode.h:293
machine_mode else_void() const
Definition machmode.h:303
machine_mode m_mode
Definition machmode.h:287
T require() const
Definition machmode.h:321
bool is_constant() const
Definition poly-int.h:557
C coeffs[N]
Definition poly-int.h:433
Definition machmode.h:465
ALWAYS_INLINE scalar_float_mode()
Definition machmode.h:470
unsigned short measurement_type
Definition machmode.h:468
machine_mode m_mode
Definition machmode.h:480
mode_traits< scalar_float_mode >::from_int from_int
Definition machmode.h:467
static bool includes_p(machine_mode)
Definition machmode.h:486
ALWAYS_INLINE CONSTEXPR scalar_float_mode(from_int m)
Definition machmode.h:473
Definition machmode.h:437
ALWAYS_INLINE CONSTEXPR scalar_int_mode(from_int m)
Definition machmode.h:445
mode_traits< scalar_int_mode >::from_int from_int
Definition machmode.h:439
machine_mode m_mode
Definition machmode.h:452
ALWAYS_INLINE scalar_int_mode()
Definition machmode.h:442
unsigned short measurement_type
Definition machmode.h:440
static bool includes_p(machine_mode)
Definition machmode.h:458
Definition machmode.h:493
ALWAYS_INLINE CONSTEXPR scalar_mode(const scalar_int_mode &m)
Definition machmode.h:504
ALWAYS_INLINE CONSTEXPR scalar_mode(const scalar_float_mode &m)
Definition machmode.h:507
mode_traits< scalar_mode >::from_int from_int
Definition machmode.h:495
machine_mode m_mode
Definition machmode.h:517
ALWAYS_INLINE scalar_mode()
Definition machmode.h:498
ALWAYS_INLINE CONSTEXPR scalar_mode(const scalar_int_mode_pod &m)
Definition machmode.h:510
static bool includes_p(machine_mode)
Definition machmode.h:523
unsigned short measurement_type
Definition machmode.h:496
ALWAYS_INLINE CONSTEXPR scalar_mode(from_int m)
Definition machmode.h:501
opt_mode< scalar_float_mode > opt_scalar_float_mode
Definition coretypes.h:67
pod_mode< scalar_mode > scalar_mode_pod
Definition coretypes.h:69
pod_mode< scalar_int_mode > scalar_int_mode_pod
Definition coretypes.h:70
opt_mode< scalar_int_mode > opt_scalar_int_mode
Definition coretypes.h:66
void(* gt_pointer_operator)(void *, void *, void *)
Definition coretypes.h:473
scalar_int_mode word_mode
Definition emit-rtl.cc:78
scalar_int_mode byte_mode
Definition emit-rtl.cc:77
scalar_int_mode ptr_mode
Definition emit-rtl.cc:79
static struct token T
Definition gengtype-parse.cc:45
mode_class
Definition genmodes.cc:29
@ MAX_MODE_CLASS
Definition genmodes.cc:29
@ MODE_CLASSES
Definition genmodes.cc:29
fallback
Definition gimplify.h:29
#define HOST_BITS_PER_WIDE_INT
Definition hwint.h:53
T as_a(U *p)
Definition is-a.h:253
CONST_MODE_UNIT_SIZE unsigned char mode_unit_size[NUM_MACHINE_MODES]
#define GET_CLASS_NARROWEST_MODE(CLASS)
Definition machmode.h:975
ALWAYS_INLINE unsigned short mode_to_unit_precision(machine_mode mode)
Definition machmode.h:628
opt_machine_mode bitwise_mode_for_mode(machine_mode)
Definition stor-layout.cc:416
CONST_MODE_IBIT unsigned char mode_ibit[NUM_MACHINE_MODES]
opt_scalar_int_mode int_mode_for_mode(machine_mode)
Definition stor-layout.cc:372
opt_machine_mode mode_for_size(poly_uint64, enum mode_class, int)
Definition stor-layout.cc:302
#define GET_MODE_CLASS(MODE)
Definition machmode.h:105
opt_machine_mode related_vector_mode(machine_mode, scalar_mode, poly_uint64=0)
Definition stor-layout.cc:563
const unsigned short class_narrowest_mode[MAX_MODE_CLASS]
unsigned get_mode_alignment(machine_mode)
Definition stor-layout.cc:594
ALWAYS_INLINE poly_uint16 GET_MODE_SIZE(machine_mode mode)
Definition machmode.h:657
CONST_MODE_SIZE poly_uint16 mode_size[NUM_MACHINE_MODES]
#define COMPLEX_MODE_P(MODE)
Definition machmode.h:123
bool is_complex_float_mode(machine_mode mode, T *cmode)
Definition machmode.h:1087
const unsigned short mode_complex[NUM_MACHINE_MODES]
CONST_MODE_MASK unsigned HOST_WIDE_INT mode_mask_array[NUM_MACHINE_MODES]
#define SCALAR_INT_MODE_P(MODE)
Definition machmode.h:138
ALWAYS_INLINE opt_mode< T > GET_MODE_2XWIDER_MODE(const T &m)
Definition machmode.h:819
ALWAYS_INLINE unsigned char mode_to_unit_size(machine_mode mode)
Definition machmode.h:615
T get_narrowest_mode(T mode)
Definition machmode.h:988
const unsigned short mode_wider[NUM_MACHINE_MODES]
const unsigned short mode_unit_precision[NUM_MACHINE_MODES]
ALWAYS_INLINE opt_mode< T > GET_MODE_WIDER_MODE(const T &m)
Definition machmode.h:809
opt_scalar_float_mode decimal_float_mode_for_size(unsigned int size)
Definition machmode.h:912
void init_adjust_machine_modes(void)
opt_machine_mode related_int_vector_mode(machine_mode)
Definition stor-layout.cc:580
opt_scalar_float_mode float_mode_for_size(poly_uint64 size)
Definition machmode.h:904
bool int_n_enabled_p[NUM_INT_N_ENTS]
Definition tree.cc:288
ALWAYS_INLINE poly_uint16 GET_MODE_PRECISION(machine_mode mode)
Definition machmode.h:710
void gt_ggc_mx(pod_mode< T > *)
Definition machmode.h:1273
opt_machine_mode mode_for_vector(scalar_mode, poly_uint64)
Definition stor-layout.cc:511
ALWAYS_INLINE scalar_mode mode_to_inner(machine_mode mode)
Definition machmode.h:601
const int_n_data_t int_n_data[NUM_INT_N_ENTS]
ALWAYS_INLINE poly_uint16 mode_to_nunits(machine_mode mode)
Definition machmode.h:641
opt_machine_mode smallest_mode_for_size(poly_uint64, enum mode_class)
Definition stor-layout.cc:345
bool is_complex_int_mode(machine_mode mode, T *cmode)
Definition machmode.h:1072
bool is_float_mode(machine_mode mode, T *float_mode)
Definition machmode.h:1057
opt_scalar_int_mode smallest_int_mode_for_size(poly_uint64 size)
Definition machmode.h:924
bool is_a(machine_mode m)
Definition machmode.h:373
opt_scalar_int_mode int_mode_for_size(poly_uint64 size, int limit)
Definition machmode.h:895
const unsigned short mode_inner[NUM_MACHINE_MODES]
const unsigned short mode_2xwider[NUM_MACHINE_MODES]
ALWAYS_INLINE poly_uint16 mode_to_precision(machine_mode mode)
Definition machmode.h:593
const unsigned short mode_next[NUM_MACHINE_MODES]
#define SCALAR_FLOAT_MODE_P(MODE)
Definition machmode.h:143
opt_mode< T > dyn_cast(machine_mode m)
Definition machmode.h:406
bool is_narrower_int_mode(machine_mode mode, scalar_int_mode limit)
Definition machmode.h:1101
ALWAYS_INLINE poly_uint16 GET_MODE_BITSIZE(machine_mode mode)
Definition machmode.h:683
ALWAYS_INLINE poly_uint16 mode_to_bytes(machine_mode mode)
Definition machmode.h:572
bool HWI_COMPUTABLE_MODE_P(machine_mode mode)
Definition machmode.h:1012
CONST_MODE_BASE_ALIGN unsigned short mode_base_align[NUM_MACHINE_MODES]
ALWAYS_INLINE poly_uint16 GET_MODE_NUNITS(machine_mode mode)
Definition machmode.h:769
opt_mode< machine_mode > opt_machine_mode
Definition machmode.h:23
CONST_MODE_FBIT unsigned char mode_fbit[NUM_MACHINE_MODES]
T as_a(machine_mode m)
Definition machmode.h:389
ALWAYS_INLINE poly_uint16 mode_to_bits(machine_mode mode)
Definition machmode.h:585
void gt_pch_nx(pod_mode< T > *)
Definition machmode.h:1279
ALWAYS_INLINE opt_mode< T > GET_MODE_NEXT_MODE(const T &m)
Definition machmode.h:794
CONST_MODE_PRECISION poly_uint16 mode_precision[NUM_MACHINE_MODES]
const char *const mode_name[NUM_MACHINE_MODES]
bool get_best_mode(int, int, poly_uint64, poly_uint64, unsigned int, unsigned HOST_WIDE_INT, bool, scalar_int_mode *)
Definition stor-layout.cc:3165
CONST_MODE_NUNITS poly_uint16 mode_nunits[NUM_MACHINE_MODES]
bool is_int_mode(machine_mode mode, T *int_mode)
Definition machmode.h:1042
Definition machmode.h:1109
void get_2xwider(opt_mode< T > *iter)
Definition machmode.h:1200
void get_known_next(T *iter)
Definition machmode.h:1164
void get_known_wider(T *iter)
Definition machmode.h:1190
void get_wider(opt_mode< T > *iter)
Definition machmode.h:1174
bool iterate_p(opt_mode< T > *iter)
Definition machmode.h:1132
void get_next(opt_mode< T > *iter)
Definition machmode.h:1148
void start(opt_mode< T > *iter, enum mode_class mclass)
Definition machmode.h:1114
poly_int< NUM_POLY_INT_COEFFS, unsigned short > poly_uint16
Definition poly-int-types.h:23
poly_int< NUM_POLY_INT_COEFFS, unsigned HOST_WIDE_INT > poly_uint64
Definition poly-int-types.h:25
poly_int< NUM_POLY_INT_COEFFS, HOST_WIDE_INT > poly_int64
Definition poly-int-types.h:24
Definition poly-int.h:213
Definition poly-int.h:236
Definition machmode.h:1025
scalar_int_mode_pod m
Definition machmode.h:1028
unsigned int bitsize
Definition machmode.h:1027
machine_mode from_int
Definition machmode.h:77
from_int
Definition machmode.h:69
@ dummy
Definition machmode.h:69
Definition machmode.h:355
scalar_mode::measurement_type measurement_type
Definition machmode.h:357
machine_mode m_mode
Definition machmode.h:359
ALWAYS_INLINE pod_mode & operator=(const T &m)
Definition machmode.h:366
mode_traits< scalar_mode >::from_int from_int
Definition machmode.h:356
#define ALWAYS_INLINE
Definition system.h:827
#define gcc_checking_assert(EXPR)
Definition system.h:821