| Index: opcodes/rx-decode.opc
|
| diff --git a/opcodes/rx-decode.opc b/opcodes/rx-decode.opc
|
| index 27ff5d43b457448683a268381738f9f9ac568144..6237fe269715414425868bd9d97e2a65b99afbc5 100644
|
| --- a/opcodes/rx-decode.opc
|
| +++ b/opcodes/rx-decode.opc
|
| @@ -1,4 +1,25 @@
|
| /* -*- c -*- */
|
| +/* Copyright 2012 Free Software Foundation, Inc.
|
| + Contributed by Red Hat.
|
| + Written by DJ Delorie.
|
| +
|
| + This file is part of the GNU opcodes library.
|
| +
|
| + This library 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 3, or (at your option)
|
| + any later version.
|
| +
|
| + It is distributed in the hope that it will be useful, but WITHOUT
|
| + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
| + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
| + License for more details.
|
| +
|
| + You should have received a copy of the GNU General Public License
|
| + along with this program; if not, write to the Free Software
|
| + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
|
| + MA 02110-1301, USA. */
|
| +
|
| #include "sysdep.h"
|
| #include <stdio.h>
|
| #include <stdlib.h>
|
| @@ -283,7 +304,7 @@ rx_decode_opcode (unsigned long pc AU,
|
| ID(mov); sBWL (sz); DIs(dst, d*16+sppp, sz); SC(IMM(1)); F_____;
|
|
|
| /** 11sz sd ss rsrc rdst mov%s %1, %0 */
|
| - if (ss == 3 && sz == 2 && rsrc == 0 && rdst == 0)
|
| + if (sd == 3 && ss == 3 && sz == 2 && rsrc == 0 && rdst == 0)
|
| {
|
| ID(nop2);
|
| rx->syntax = "nop";
|
| @@ -874,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_____;
|
| @@ -884,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_____;
|
| @@ -894,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;
|
| @@ -904,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);
|
|
|