/* Make an enum class that gives all the machine modes. */
-#define DEF_MACHMODE(SYM, NAME, TYPE, BITSIZE, SIZE, UNIT, WIDER) SYM,
+#define DEF_MACHMODE(SYM, NAME, TYPE, BITSIZE, SIZE, UNIT, WIDER, INNER) SYM,
enum machine_mode {
#include "machmode.def"
#define GET_MODE_MASK(MODE) mode_mask_array[(int) (MODE)]
+extern const enum machine_mode inner_mode_array[NUM_MACHINE_MODES];
+
+/* Return the mode of the inner elements in a vector. */
+
+#define GET_MODE_INNER(MODE) inner_mode_array[(int) (MODE)]
+
#endif /* defined (HOST_WIDE_INT) && ! defined GET_MODE_MASK */
#if ! defined GET_MODE_WIDER_MODE || ! defined GET_MODE_ALIGNMENT \
/* For each class, get the narrowest mode in that class. */
-extern const enum machine_mode class_narrowest_mode[];
+extern const enum machine_mode class_narrowest_mode[(int) MAX_MODE_CLASS];
#define GET_CLASS_NARROWEST_MODE(CLASS) class_narrowest_mode[(int) (CLASS)]
/* Define the integer modes whose sizes are BITS_PER_UNIT and BITS_PER_WORD