diff options
author | Sterling Augustine <saugustine@google.com> | 2008-11-21 22:13:32 +0000 |
---|---|---|
committer | Sterling Augustine <saugustine@google.com> | 2008-11-21 22:13:32 +0000 |
commit | 1fa3cd83085778237f1f11a87eda7962f706fd1b (patch) | |
tree | dec8b3c24db8bce6d9cdb24ce3b5b454b9ee6937 /gas | |
parent | e2ce1e4a4173cc5ddba48e83d74faef7c0738ed8 (diff) | |
download | gdb-1fa3cd83085778237f1f11a87eda7962f706fd1b.zip gdb-1fa3cd83085778237f1f11a87eda7962f706fd1b.tar.gz gdb-1fa3cd83085778237f1f11a87eda7962f706fd1b.tar.bz2 |
2008-11-21 Sterling Augustine <sterling@tensilica.com>
* xtensa-isa.c (xtensa_state_is_shared_or): New function.
2008-11-21 Sterling Augustine <sterling@tensilica.com>
* xtensa-isa-internal.h (XTENSA_STATE_IS_SHARED_OR): New flag.
* xtensa-isa.h (xtensa_state_is_shared_or): New prototype.
2008-11-21 Sterling Augustine <sterling@tensilica.com>
* config/tc-xtensa.c (check_t1_t2_reads_and_writes): Call
xtensa_state_is_shared_or to allow multiple opcodes within a
single FLIX bundle to write to these special states.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-xtensa.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 3fdd10b..b36db8e 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2008-11-21 Sterling Augustine <sterling@tensilica.com> + + * config/tc-xtensa.c (check_t1_t2_reads_and_writes): Call + xtensa_state_is_shared_or to allow multiple opcodes within a + single FLIX bundle to write to these special states. + 2008-11-19 Hans-Peter Nilsson <hp@axis.com> * config/tc-cris.c (cris_number_to_imm): Apply S_SET_THREAD_LOCAL diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c index f1ccd28..6646ef7 100644 --- a/gas/config/tc-xtensa.c +++ b/gas/config/tc-xtensa.c @@ -6539,7 +6539,7 @@ check_t1_t2_reads_and_writes (TInsn *t1, TInsn *t2) { xtensa_state t1_so = xtensa_stateOperand_state (isa, t1->opcode, i); t1_inout = xtensa_stateOperand_inout (isa, t1->opcode, i); - if (t1_so != t2_so) + if (t1_so != t2_so || xtensa_state_is_shared_or (isa, t1_so) == 1) continue; if (t2_inout == 'i' && (t1_inout == 'm' || t1_inout == 'o')) |