Add a test for x + x + x + ...
[libfirm] / ir / be / bearch_t.h
index 6466cd2..d5133a3 100644 (file)
@@ -81,10 +81,12 @@ const char *_arch_register_get_name(const arch_register_t *reg)
  * Like general purpose or floating point.
  */
 struct arch_register_class_t {
-       const char *name;               /**< The name of the register class. */
-       int n_regs;                     /**< Number of registers in this class. */
-       ir_mode *mode;                  /**< The mode of the register class. */
-       const arch_register_t *regs;    /**< The array of registers. */
+       const char                  *name;   /**< The name of the register class.*/
+       int                          n_regs; /**< Number of registers in this
+                                                 class. */
+       ir_mode                     *mode;   /**< The mode of the register class.*/
+       const arch_register_t       *regs;   /**< The array of registers. */
+       arch_register_class_flags_t  flags;  /**< register class flags. */
 };
 
 /** return the number of registers in this register class */
@@ -96,6 +98,9 @@ struct arch_register_class_t {
 /** return the name of this register class */
 #define arch_register_class_name(cls) ((cls)->name)
 
+/** return the register class flags */
+#define arch_register_class_flags(cls) ((cls)->flags)
+
 static INLINE const arch_register_t *
 _arch_register_for_index(const arch_register_class_t *cls, int idx)
 {