-static INLINE mode_sort
-_get_mode_sort(const ir_mode* mode) { return mode->sort; }
-
-static INLINE int
-_get_mode_size_bits(const ir_mode *mode) { return mode->size; }
-
-static INLINE int
-_get_mode_size_bytes(const ir_mode *mode) {
- int size = _get_mode_size_bits(mode);
- if ((size & 7) != 0) return -1;
+static inline unsigned _get_mode_size_bytes(const ir_mode *mode)
+{
+ unsigned size = _get_mode_size_bits(mode);
+ if ((size & 7) != 0) return (unsigned) -1;
-/* Functions to check, whether a modecode is signed, float, int, num, data,
+/* Functions to check, whether a mode is signed, float, int, num, data,
datab or dataM. For more exact definitions read the corresponding pages
in the firm documentation or the following enumeration
datab or dataM. For more exact definitions read the corresponding pages
in the firm documentation or the following enumeration
-static INLINE int
-_mode_is_numP(const ir_mode *mode) {
- assert(mode);
- return (_mode_is_int(mode) || _mode_is_float(mode) || _mode_is_reference(mode));
+static inline int _mode_is_data(const ir_mode *mode)
+{
+ return (_get_mode_sort(mode) & irmsh_is_data);
-static INLINE int
-_mode_is_data(const ir_mode *mode) {
- assert(mode);
- return (_mode_is_numP(mode) || _get_mode_sort(mode) == irms_character);
+static inline int _mode_is_datab(const ir_mode *mode)
+{
+ return (_get_mode_sort(mode) & irmsh_is_datab);
-static INLINE int
-_mode_is_datab(const ir_mode *mode) {
- assert(mode);
- return (_mode_is_data(mode) || _get_mode_sort(mode) == irms_internal_boolean);
+static inline int _mode_is_dataM(const ir_mode *mode)
+{
+ return (_get_mode_sort(mode) & irmsh_is_dataM);
-static INLINE int
-_mode_is_dataM(const ir_mode *mode) {
- assert(mode);
- return (_mode_is_data(mode) || _get_mode_modecode(mode) == irm_M);
-}
-
-static INLINE int
-_mode_is_float_vector(const ir_mode *mode) {
- assert(mode);
+static inline int _mode_is_float_vector(const ir_mode *mode)
+{
#define get_mode_ident(mode) _get_mode_ident(mode)
#define get_mode_sort(mode) _get_mode_sort(mode)
#define get_mode_size_bits(mode) _get_mode_size_bits(mode)
#define get_mode_ident(mode) _get_mode_ident(mode)
#define get_mode_sort(mode) _get_mode_sort(mode)
#define get_mode_size_bits(mode) _get_mode_size_bits(mode)
#define mode_is_signed(mode) _mode_is_signed(mode)
#define mode_is_float(mode) _mode_is_float(mode)
#define mode_is_int(mode) _mode_is_int(mode)
#define mode_is_signed(mode) _mode_is_signed(mode)
#define mode_is_float(mode) _mode_is_float(mode)
#define mode_is_int(mode) _mode_is_int(mode)
#define mode_is_reference(mode) _mode_is_reference(mode)
#define mode_is_num(mode) _mode_is_num(mode)
#define mode_is_reference(mode) _mode_is_reference(mode)
#define mode_is_num(mode) _mode_is_num(mode)
#define mode_is_data(mode) _mode_is_data(mode)
#define mode_is_datab(mode) _mode_is_datab(mode)
#define mode_is_dataM(mode) _mode_is_dataM(mode)
#define mode_is_float_vector(mode) _mode_is_float_vector(mode)
#define mode_is_int_vector(mode) _mode_is_int_vector(mode)
#define mode_is_data(mode) _mode_is_data(mode)
#define mode_is_datab(mode) _mode_is_datab(mode)
#define mode_is_dataM(mode) _mode_is_dataM(mode)
#define mode_is_float_vector(mode) _mode_is_float_vector(mode)
#define mode_is_int_vector(mode) _mode_is_int_vector(mode)