/* Table of relaxations for Xtensa assembly.
- Copyright 2003, 2004 Free Software Foundation, Inc.
+ Copyright 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
GAS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
+ the Free Software Foundation; either version 3, or (at your option)
any later version.
GAS is distributed in the hope that it will be useful,
OP_OPERAND_LOW16U, /* Low 16 bits of immed. */
OP_OPERAND_HI16U, /* High 16 bits of immed. */
OP_LITERAL,
+ OP_FREEREG,
OP_LABEL
};
OPERAND: op_data is the field in the
source instruction to take the value from
and encode in the op_num field here.
- LITERAL or LABEL: op_data is the ordinal
- that identifies the appropriate one, i.e.,
- there can be more than one literal or
- label in an expansion. */
+ LITERAL: op_data is field in the source
+ instruction that is stored in the literal.
+ LABEL: unused. */
BuildOp *next;
};
struct build_instr
{
InstrType typ;
- unsigned id; /* LITERAL_DEF or LABEL_DEF: an ordinal to
- identify which one. */
xtensa_opcode opcode; /* Unused for LITERAL_DEF or LABEL_DEF. */
BuildOp *ops;
BuildInstr *next;
extern bfd_boolean xg_has_userdef_op_fn (OpType);
extern long xg_apply_userdef_op_fn (OpType, long);
+enum flix_level
+{
+ FLIX_ALL,
+ FLIX_NO_GENERATE,
+ FLIX_NONE
+};
+
+extern enum flix_level produce_flix;
+
#endif /* !XTENSA_RELAX_H */