aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-xtensa.h
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@acm.org>2007-06-22 18:44:50 +0000
committerBob Wilson <bob.wilson@acm.org>2007-06-22 18:44:50 +0000
commitb81bf389ecc8103ffe23da2f1abbbdda608c132e (patch)
treef8ad98caf2571dd9d07b560d8cba60395659835c /gas/config/tc-xtensa.h
parent184d813c13d958ec971c07a5db3145fd8ca0d404 (diff)
downloadgdb-b81bf389ecc8103ffe23da2f1abbbdda608c132e.zip
gdb-b81bf389ecc8103ffe23da2f1abbbdda608c132e.tar.gz
gdb-b81bf389ecc8103ffe23da2f1abbbdda608c132e.tar.bz2
* config/tc-xtensa.c (xg_assembly_relax): Comment termination rules.
(frag_format_size): Handle RELAX_IMMED_STEP3. (xtensa_relax_frag, md_convert_frag): Likewise. * config/tc-xtensa.h (xtensa_relax_statesE): Add RELAX_IMMED_STEP3. (RELAX_IMMED_MAXSTEPS): Adjust. * config/xtensa-relax.c (widen_spec_list): Add transitions from wide branches to branch-over-jumps. (build_transition): Handle wide branches in transition patterns.
Diffstat (limited to 'gas/config/tc-xtensa.h')
-rw-r--r--gas/config/tc-xtensa.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/gas/config/tc-xtensa.h b/gas/config/tc-xtensa.h
index 251105e..4065321 100644
--- a/gas/config/tc-xtensa.h
+++ b/gas/config/tc-xtensa.h
@@ -131,18 +131,20 @@ enum xtensa_relax_statesE
RELAX_IMMED,
/* The last instruction in this fragment (at->fr_opcode) contains
- the value defined by fr_symbol (fr_offset = 0). If the value
- does not fit, use the specified expansion. This is similar to
- "NARROW", except that these may not be expanded in order to align
- code. */
+ an immediate or symbol. If the value does not fit, relax the
+ opcode using expansions from the relax table. */
RELAX_IMMED_STEP1,
/* The last instruction in this fragment (at->fr_opcode) contains a
- literal. It has already been expanded at least 1 step. */
+ literal. It has already been expanded 1 step. */
RELAX_IMMED_STEP2,
/* The last instruction in this fragment (at->fr_opcode) contains a
- literal. It has already been expanded at least 2 steps. */
+ literal. It has already been expanded 2 steps. */
+
+ RELAX_IMMED_STEP3,
+ /* The last instruction in this fragment (at->fr_opcode) contains a
+ literal. It has already been expanded 3 steps. */
RELAX_SLOTS,
/* There are instructions within the last VLIW instruction that need
@@ -179,7 +181,7 @@ enum xtensa_relax_statesE
/* This is used as a stopper to bound the number of steps that
can be taken. */
-#define RELAX_IMMED_MAXSTEPS (RELAX_IMMED_STEP2 - RELAX_IMMED)
+#define RELAX_IMMED_MAXSTEPS (RELAX_IMMED_STEP3 - RELAX_IMMED)
struct xtensa_frag_type
{