This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[opcodes/rx] reg-reg bit ops size
- From: DJ Delorie <dj at redhat dot com>
- To: gdb-patches at sourceware dot org, binutils at sourceware dot org
- Date: Fri, 14 Jun 2013 15:57:14 -0400
- Subject: [opcodes/rx] reg-reg bit ops size
Committed.
* rx-decode.opc (rx_decode_opcode): Bit operations on
registers are 32-bit operations, not 8-bit operations.
* rx-decode.c: Regenerate.
Index: opcodes/rx-decode.opc
===================================================================
RCS file: /cvs/src/src/opcodes/rx-decode.opc,v
retrieving revision 1.9
diff -p -U 5 -r1.9 opcodes/rx-decode.opc
--- opcodes/rx-decode.opc 17 Dec 2012 16:56:12 -0000 1.9
+++ opcodes/rx-decode.opc 14 Jun 2013 19:46:58 -0000
@@ -893,40 +893,48 @@ rx_decode_opcode (unsigned long pc AU,
/** 1111 00sd rdst 0bit bset #%1, %0%S0 */
ID(bset); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
/** 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_____;
/** 1111 00sd rdst 1bit bclr #%1, %0%S0 */
ID(bclr); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
/** 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_____;
/** 1111 01sd rdst 0bit btst #%2, %1%S1 */
ID(btst); BWL(BSIZE); S2C(bit); SD(sd, rdst, BSIZE); F___ZC;
/** 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;
/** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */
ID(bnot); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE);
/** 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);