made code C89 compliant (changed unnamed union in attributes)
[libfirm] / ir / be / ia32 / ia32_nodes_attr.h
index 53140bd..e405d21 100644 (file)
@@ -76,6 +76,7 @@ typedef struct _ia32_attr_t {
                unsigned am_scale:2;        /**< addrmode scale for index register */
 
                unsigned offs_sign:1;       /**< sign bit of the first offset */
+               unsigned am_sc_sign:1;      /**< sign bit of the address mode symconst */
 
                unsigned use_frame:1;       /**< indicates whether the operation uses the frame pointer or not */
 
@@ -85,10 +86,13 @@ typedef struct _ia32_attr_t {
 
                unsigned is_commutative:1;  /**< indicates whether op is commutative or not */
 
-               unsigned n_res:10;          /**< number of results produced by this node */
+               unsigned emit_cl:1;         /**< indicates whether we must emit cl instead of ecx (needed for shifts) */
+
+               unsigned n_res:8;           /**< number of results produced by this node */
        } data;
 
        struct obstack *am_offs;    /**< offsets for AddrMode */
+       ident          *am_sc;      /**< SymConst for AddrMode */
 
        union {
                tarval *tv;     /**< tarval for immediate operations */
@@ -112,6 +116,7 @@ typedef struct _ia32_attr_t {
        const ia32_register_req_t **out_req; /**< register requirements for results */
 
        const arch_register_t **slots;       /**< register slots for assigned registers */
+       const arch_register_t *x87[3];       /**< register slots for x87 register */
 } ia32_attr_t;
 
 #endif /* _IA32_NODES_ATTR_H_ */