aboutsummaryrefslogtreecommitdiff
path: root/opcodes/rx-decode.opc
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2013-06-14 19:57:10 +0000
committerDJ Delorie <dj@redhat.com>2013-06-14 19:57:10 +0000
commit3531d54957df0088a866d314d33cf96bd234bdf3 (patch)
tree04caacf25759da2a3c7510b07541b842c02b6053 /opcodes/rx-decode.opc
parent2532064ada52626ab032fa0be568f2c27535c8b8 (diff)
downloadgdb-3531d54957df0088a866d314d33cf96bd234bdf3.zip
gdb-3531d54957df0088a866d314d33cf96bd234bdf3.tar.gz
gdb-3531d54957df0088a866d314d33cf96bd234bdf3.tar.bz2
* rx-decode.opc (rx_decode_opcode): Bit operations on
registers are 32-bit operations, not 8-bit operations. * rx-decode.c: Regenerate.
Diffstat (limited to 'opcodes/rx-decode.opc')
-rw-r--r--opcodes/rx-decode.opc8
1 files changed, 8 insertions, 0 deletions
diff --git a/opcodes/rx-decode.opc b/opcodes/rx-decode.opc
index 75734df..772e292 100644
--- a/opcodes/rx-decode.opc
+++ b/opcodes/rx-decode.opc
@@ -895,6 +895,8 @@ rx_decode_opcode (unsigned long pc AU,
/** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */
ID(bset); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
+ if (sd == 3) /* bset reg,reg */
+ BWL(LSIZE);
/** 0111 100b ittt rdst bset #%1, %0 */
ID(bset); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
@@ -905,6 +907,8 @@ rx_decode_opcode (unsigned long pc AU,
/** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */
ID(bclr); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
+ if (sd == 3) /* bset reg,reg */
+ BWL(LSIZE);
/** 0111 101b ittt rdst bclr #%1, %0 */
ID(bclr); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
@@ -915,6 +919,8 @@ rx_decode_opcode (unsigned long pc AU,
/** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */
ID(btst); BWL(BSIZE); S2R(rsrc); SD(sd, rdst, BSIZE); F___ZC;
+ if (sd == 3) /* bset reg,reg */
+ BWL(LSIZE);
/** 0111 110b ittt rdst btst #%2, %1 */
ID(btst); BWL(LSIZE); S2C(b*16+ittt); SR(rdst); F___ZC;
@@ -925,6 +931,8 @@ rx_decode_opcode (unsigned long pc AU,
/** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */
ID(bnot); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE);
+ if (sd == 3) /* bset reg,reg */
+ BWL(LSIZE);
/** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */
ID(bnot); BWL(LSIZE); SC(bittt); DR(rdst);