| /* Simulator instruction decoder for frvbf. |
| |
| THIS FILE IS MACHINE GENERATED WITH CGEN. |
| |
| Copyright (C) 1996-2024 Free Software Foundation, Inc. |
| |
| This file is part of the GNU simulators. |
| |
| This file 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. |
| |
| */ |
| |
| #define WANT_CPU frvbf |
| #define WANT_CPU_FRVBF |
| |
| #include "sim-main.h" |
| #include "sim-assert.h" |
| #include "cgen-mem.h" |
| #include "cgen-ops.h" |
| |
| /* The instruction descriptor array. |
| This is computed at runtime. Space for it is not malloc'd to save a |
| teensy bit of cpu in the decoder. Moving it to malloc space is trivial |
| but won't be done until necessary (we don't currently support the runtime |
| addition of instructions nor an SMP machine with different cpus). */ |
| static IDESC frvbf_insn_data[FRVBF_INSN__MAX]; |
| |
| /* Commas between elements are contained in the macros. |
| Some of these are conditionally compiled out. */ |
| |
| static const struct insn_sem frvbf_insn_sem[] = |
| { |
| { VIRTUAL_INSN_X_INVALID, FRVBF_INSN_X_INVALID, FRVBF_SFMT_EMPTY }, |
| { VIRTUAL_INSN_X_AFTER, FRVBF_INSN_X_AFTER, FRVBF_SFMT_EMPTY }, |
| { VIRTUAL_INSN_X_BEFORE, FRVBF_INSN_X_BEFORE, FRVBF_SFMT_EMPTY }, |
| { VIRTUAL_INSN_X_CTI_CHAIN, FRVBF_INSN_X_CTI_CHAIN, FRVBF_SFMT_EMPTY }, |
| { VIRTUAL_INSN_X_CHAIN, FRVBF_INSN_X_CHAIN, FRVBF_SFMT_EMPTY }, |
| { VIRTUAL_INSN_X_BEGIN, FRVBF_INSN_X_BEGIN, FRVBF_SFMT_EMPTY }, |
| { FRV_INSN_ADD, FRVBF_INSN_ADD, FRVBF_SFMT_ADD }, |
| { FRV_INSN_SUB, FRVBF_INSN_SUB, FRVBF_SFMT_ADD }, |
| { FRV_INSN_AND, FRVBF_INSN_AND, FRVBF_SFMT_ADD }, |
| { FRV_INSN_OR, FRVBF_INSN_OR, FRVBF_SFMT_ADD }, |
| { FRV_INSN_XOR, FRVBF_INSN_XOR, FRVBF_SFMT_ADD }, |
| { FRV_INSN_NOT, FRVBF_INSN_NOT, FRVBF_SFMT_NOT }, |
| { FRV_INSN_SDIV, FRVBF_INSN_SDIV, FRVBF_SFMT_SDIV }, |
| { FRV_INSN_NSDIV, FRVBF_INSN_NSDIV, FRVBF_SFMT_SDIV }, |
| { FRV_INSN_UDIV, FRVBF_INSN_UDIV, FRVBF_SFMT_SDIV }, |
| { FRV_INSN_NUDIV, FRVBF_INSN_NUDIV, FRVBF_SFMT_SDIV }, |
| { FRV_INSN_SMUL, FRVBF_INSN_SMUL, FRVBF_SFMT_SMUL }, |
| { FRV_INSN_UMUL, FRVBF_INSN_UMUL, FRVBF_SFMT_SMUL }, |
| { FRV_INSN_SMU, FRVBF_INSN_SMU, FRVBF_SFMT_SMU }, |
| { FRV_INSN_SMASS, FRVBF_INSN_SMASS, FRVBF_SFMT_SMASS }, |
| { FRV_INSN_SMSSS, FRVBF_INSN_SMSSS, FRVBF_SFMT_SMASS }, |
| { FRV_INSN_SLL, FRVBF_INSN_SLL, FRVBF_SFMT_ADD }, |
| { FRV_INSN_SRL, FRVBF_INSN_SRL, FRVBF_SFMT_ADD }, |
| { FRV_INSN_SRA, FRVBF_INSN_SRA, FRVBF_SFMT_ADD }, |
| { FRV_INSN_SLASS, FRVBF_INSN_SLASS, FRVBF_SFMT_SLASS }, |
| { FRV_INSN_SCUTSS, FRVBF_INSN_SCUTSS, FRVBF_SFMT_SCUTSS }, |
| { FRV_INSN_SCAN, FRVBF_INSN_SCAN, FRVBF_SFMT_ADD }, |
| { FRV_INSN_CADD, FRVBF_INSN_CADD, FRVBF_SFMT_CADD }, |
| { FRV_INSN_CSUB, FRVBF_INSN_CSUB, FRVBF_SFMT_CADD }, |
| { FRV_INSN_CAND, FRVBF_INSN_CAND, FRVBF_SFMT_CADD }, |
| { FRV_INSN_COR, FRVBF_INSN_COR, FRVBF_SFMT_CADD }, |
| { FRV_INSN_CXOR, FRVBF_INSN_CXOR, FRVBF_SFMT_CADD }, |
| { FRV_INSN_CNOT, FRVBF_INSN_CNOT, FRVBF_SFMT_CNOT }, |
| { FRV_INSN_CSMUL, FRVBF_INSN_CSMUL, FRVBF_SFMT_CSMUL }, |
| { FRV_INSN_CSDIV, FRVBF_INSN_CSDIV, FRVBF_SFMT_CSDIV }, |
| { FRV_INSN_CUDIV, FRVBF_INSN_CUDIV, FRVBF_SFMT_CSDIV }, |
| { FRV_INSN_CSLL, FRVBF_INSN_CSLL, FRVBF_SFMT_CADD }, |
| { FRV_INSN_CSRL, FRVBF_INSN_CSRL, FRVBF_SFMT_CADD }, |
| { FRV_INSN_CSRA, FRVBF_INSN_CSRA, FRVBF_SFMT_CADD }, |
| { FRV_INSN_CSCAN, FRVBF_INSN_CSCAN, FRVBF_SFMT_CADD }, |
| { FRV_INSN_ADDCC, FRVBF_INSN_ADDCC, FRVBF_SFMT_ADDCC }, |
| { FRV_INSN_SUBCC, FRVBF_INSN_SUBCC, FRVBF_SFMT_ADDCC }, |
| { FRV_INSN_ANDCC, FRVBF_INSN_ANDCC, FRVBF_SFMT_ANDCC }, |
| { FRV_INSN_ORCC, FRVBF_INSN_ORCC, FRVBF_SFMT_ANDCC }, |
| { FRV_INSN_XORCC, FRVBF_INSN_XORCC, FRVBF_SFMT_ANDCC }, |
| { FRV_INSN_SLLCC, FRVBF_INSN_SLLCC, FRVBF_SFMT_ADDCC }, |
| { FRV_INSN_SRLCC, FRVBF_INSN_SRLCC, FRVBF_SFMT_ADDCC }, |
| { FRV_INSN_SRACC, FRVBF_INSN_SRACC, FRVBF_SFMT_ADDCC }, |
| { FRV_INSN_SMULCC, FRVBF_INSN_SMULCC, FRVBF_SFMT_SMULCC }, |
| { FRV_INSN_UMULCC, FRVBF_INSN_UMULCC, FRVBF_SFMT_SMULCC }, |
| { FRV_INSN_CADDCC, FRVBF_INSN_CADDCC, FRVBF_SFMT_CADDCC }, |
| { FRV_INSN_CSUBCC, FRVBF_INSN_CSUBCC, FRVBF_SFMT_CADDCC }, |
| { FRV_INSN_CSMULCC, FRVBF_INSN_CSMULCC, FRVBF_SFMT_CSMULCC }, |
| { FRV_INSN_CANDCC, FRVBF_INSN_CANDCC, FRVBF_SFMT_CADDCC }, |
| { FRV_INSN_CORCC, FRVBF_INSN_CORCC, FRVBF_SFMT_CADDCC }, |
| { FRV_INSN_CXORCC, FRVBF_INSN_CXORCC, FRVBF_SFMT_CADDCC }, |
| { FRV_INSN_CSLLCC, FRVBF_INSN_CSLLCC, FRVBF_SFMT_CADDCC }, |
| { FRV_INSN_CSRLCC, FRVBF_INSN_CSRLCC, FRVBF_SFMT_CADDCC }, |
| { FRV_INSN_CSRACC, FRVBF_INSN_CSRACC, FRVBF_SFMT_CADDCC }, |
| { FRV_INSN_ADDX, FRVBF_INSN_ADDX, FRVBF_SFMT_ADDX }, |
| { FRV_INSN_SUBX, FRVBF_INSN_SUBX, FRVBF_SFMT_ADDX }, |
| { FRV_INSN_ADDXCC, FRVBF_INSN_ADDXCC, FRVBF_SFMT_ADDCC }, |
| { FRV_INSN_SUBXCC, FRVBF_INSN_SUBXCC, FRVBF_SFMT_ADDCC }, |
| { FRV_INSN_ADDSS, FRVBF_INSN_ADDSS, FRVBF_SFMT_SLASS }, |
| { FRV_INSN_SUBSS, FRVBF_INSN_SUBSS, FRVBF_SFMT_SLASS }, |
| { FRV_INSN_ADDI, FRVBF_INSN_ADDI, FRVBF_SFMT_ADDI }, |
| { FRV_INSN_SUBI, FRVBF_INSN_SUBI, FRVBF_SFMT_ADDI }, |
| { FRV_INSN_ANDI, FRVBF_INSN_ANDI, FRVBF_SFMT_ADDI }, |
| { FRV_INSN_ORI, FRVBF_INSN_ORI, FRVBF_SFMT_ADDI }, |
| { FRV_INSN_XORI, FRVBF_INSN_XORI, FRVBF_SFMT_ADDI }, |
| { FRV_INSN_SDIVI, FRVBF_INSN_SDIVI, FRVBF_SFMT_SDIVI }, |
| { FRV_INSN_NSDIVI, FRVBF_INSN_NSDIVI, FRVBF_SFMT_SDIVI }, |
| { FRV_INSN_UDIVI, FRVBF_INSN_UDIVI, FRVBF_SFMT_SDIVI }, |
| { FRV_INSN_NUDIVI, FRVBF_INSN_NUDIVI, FRVBF_SFMT_SDIVI }, |
| { FRV_INSN_SMULI, FRVBF_INSN_SMULI, FRVBF_SFMT_SMULI }, |
| { FRV_INSN_UMULI, FRVBF_INSN_UMULI, FRVBF_SFMT_SMULI }, |
| { FRV_INSN_SLLI, FRVBF_INSN_SLLI, FRVBF_SFMT_ADDI }, |
| { FRV_INSN_SRLI, FRVBF_INSN_SRLI, FRVBF_SFMT_ADDI }, |
| { FRV_INSN_SRAI, FRVBF_INSN_SRAI, FRVBF_SFMT_ADDI }, |
| { FRV_INSN_SCANI, FRVBF_INSN_SCANI, FRVBF_SFMT_ADDI }, |
| { FRV_INSN_ADDICC, FRVBF_INSN_ADDICC, FRVBF_SFMT_ADDICC }, |
| { FRV_INSN_SUBICC, FRVBF_INSN_SUBICC, FRVBF_SFMT_ADDICC }, |
| { FRV_INSN_ANDICC, FRVBF_INSN_ANDICC, FRVBF_SFMT_ANDICC }, |
| { FRV_INSN_ORICC, FRVBF_INSN_ORICC, FRVBF_SFMT_ANDICC }, |
| { FRV_INSN_XORICC, FRVBF_INSN_XORICC, FRVBF_SFMT_ANDICC }, |
| { FRV_INSN_SMULICC, FRVBF_INSN_SMULICC, FRVBF_SFMT_SMULICC }, |
| { FRV_INSN_UMULICC, FRVBF_INSN_UMULICC, FRVBF_SFMT_SMULICC }, |
| { FRV_INSN_SLLICC, FRVBF_INSN_SLLICC, FRVBF_SFMT_ADDICC }, |
| { FRV_INSN_SRLICC, FRVBF_INSN_SRLICC, FRVBF_SFMT_ADDICC }, |
| { FRV_INSN_SRAICC, FRVBF_INSN_SRAICC, FRVBF_SFMT_ADDICC }, |
| { FRV_INSN_ADDXI, FRVBF_INSN_ADDXI, FRVBF_SFMT_ADDXI }, |
| { FRV_INSN_SUBXI, FRVBF_INSN_SUBXI, FRVBF_SFMT_ADDXI }, |
| { FRV_INSN_ADDXICC, FRVBF_INSN_ADDXICC, FRVBF_SFMT_ADDICC }, |
| { FRV_INSN_SUBXICC, FRVBF_INSN_SUBXICC, FRVBF_SFMT_ADDICC }, |
| { FRV_INSN_CMPB, FRVBF_INSN_CMPB, FRVBF_SFMT_CMPB }, |
| { FRV_INSN_CMPBA, FRVBF_INSN_CMPBA, FRVBF_SFMT_CMPB }, |
| { FRV_INSN_SETLO, FRVBF_INSN_SETLO, FRVBF_SFMT_SETLO }, |
| { FRV_INSN_SETHI, FRVBF_INSN_SETHI, FRVBF_SFMT_SETHI }, |
| { FRV_INSN_SETLOS, FRVBF_INSN_SETLOS, FRVBF_SFMT_SETLOS }, |
| { FRV_INSN_LDSB, FRVBF_INSN_LDSB, FRVBF_SFMT_LDSB }, |
| { FRV_INSN_LDUB, FRVBF_INSN_LDUB, FRVBF_SFMT_LDSB }, |
| { FRV_INSN_LDSH, FRVBF_INSN_LDSH, FRVBF_SFMT_LDSB }, |
| { FRV_INSN_LDUH, FRVBF_INSN_LDUH, FRVBF_SFMT_LDSB }, |
| { FRV_INSN_LD, FRVBF_INSN_LD, FRVBF_SFMT_LDSB }, |
| { FRV_INSN_LDBF, FRVBF_INSN_LDBF, FRVBF_SFMT_LDBF }, |
| { FRV_INSN_LDHF, FRVBF_INSN_LDHF, FRVBF_SFMT_LDBF }, |
| { FRV_INSN_LDF, FRVBF_INSN_LDF, FRVBF_SFMT_LDBF }, |
| { FRV_INSN_LDC, FRVBF_INSN_LDC, FRVBF_SFMT_LDC }, |
| { FRV_INSN_NLDSB, FRVBF_INSN_NLDSB, FRVBF_SFMT_NLDSB }, |
| { FRV_INSN_NLDUB, FRVBF_INSN_NLDUB, FRVBF_SFMT_NLDSB }, |
| { FRV_INSN_NLDSH, FRVBF_INSN_NLDSH, FRVBF_SFMT_NLDSB }, |
| { FRV_INSN_NLDUH, FRVBF_INSN_NLDUH, FRVBF_SFMT_NLDSB }, |
| { FRV_INSN_NLD, FRVBF_INSN_NLD, FRVBF_SFMT_NLDSB }, |
| { FRV_INSN_NLDBF, FRVBF_INSN_NLDBF, FRVBF_SFMT_NLDBF }, |
| { FRV_INSN_NLDHF, FRVBF_INSN_NLDHF, FRVBF_SFMT_NLDBF }, |
| { FRV_INSN_NLDF, FRVBF_INSN_NLDF, FRVBF_SFMT_NLDBF }, |
| { FRV_INSN_LDD, FRVBF_INSN_LDD, FRVBF_SFMT_LDD }, |
| { FRV_INSN_LDDF, FRVBF_INSN_LDDF, FRVBF_SFMT_LDDF }, |
| { FRV_INSN_LDDC, FRVBF_INSN_LDDC, FRVBF_SFMT_LDDC }, |
| { FRV_INSN_NLDD, FRVBF_INSN_NLDD, FRVBF_SFMT_NLDD }, |
| { FRV_INSN_NLDDF, FRVBF_INSN_NLDDF, FRVBF_SFMT_NLDDF }, |
| { FRV_INSN_LDQ, FRVBF_INSN_LDQ, FRVBF_SFMT_LDQ }, |
| { FRV_INSN_LDQF, FRVBF_INSN_LDQF, FRVBF_SFMT_LDQF }, |
| { FRV_INSN_LDQC, FRVBF_INSN_LDQC, FRVBF_SFMT_LDQC }, |
| { FRV_INSN_NLDQ, FRVBF_INSN_NLDQ, FRVBF_SFMT_NLDQ }, |
| { FRV_INSN_NLDQF, FRVBF_INSN_NLDQF, FRVBF_SFMT_NLDQF }, |
| { FRV_INSN_LDSBU, FRVBF_INSN_LDSBU, FRVBF_SFMT_LDSBU }, |
| { FRV_INSN_LDUBU, FRVBF_INSN_LDUBU, FRVBF_SFMT_LDSBU }, |
| { FRV_INSN_LDSHU, FRVBF_INSN_LDSHU, FRVBF_SFMT_LDSBU }, |
| { FRV_INSN_LDUHU, FRVBF_INSN_LDUHU, FRVBF_SFMT_LDSBU }, |
| { FRV_INSN_LDU, FRVBF_INSN_LDU, FRVBF_SFMT_LDSBU }, |
| { FRV_INSN_NLDSBU, FRVBF_INSN_NLDSBU, FRVBF_SFMT_NLDSBU }, |
| { FRV_INSN_NLDUBU, FRVBF_INSN_NLDUBU, FRVBF_SFMT_NLDSBU }, |
| { FRV_INSN_NLDSHU, FRVBF_INSN_NLDSHU, FRVBF_SFMT_NLDSBU }, |
| { FRV_INSN_NLDUHU, FRVBF_INSN_NLDUHU, FRVBF_SFMT_NLDSBU }, |
| { FRV_INSN_NLDU, FRVBF_INSN_NLDU, FRVBF_SFMT_NLDSBU }, |
| { FRV_INSN_LDBFU, FRVBF_INSN_LDBFU, FRVBF_SFMT_LDBFU }, |
| { FRV_INSN_LDHFU, FRVBF_INSN_LDHFU, FRVBF_SFMT_LDBFU }, |
| { FRV_INSN_LDFU, FRVBF_INSN_LDFU, FRVBF_SFMT_LDBFU }, |
| { FRV_INSN_LDCU, FRVBF_INSN_LDCU, FRVBF_SFMT_LDCU }, |
| { FRV_INSN_NLDBFU, FRVBF_INSN_NLDBFU, FRVBF_SFMT_NLDBFU }, |
| { FRV_INSN_NLDHFU, FRVBF_INSN_NLDHFU, FRVBF_SFMT_NLDBFU }, |
| { FRV_INSN_NLDFU, FRVBF_INSN_NLDFU, FRVBF_SFMT_NLDBFU }, |
| { FRV_INSN_LDDU, FRVBF_INSN_LDDU, FRVBF_SFMT_LDDU }, |
| { FRV_INSN_NLDDU, FRVBF_INSN_NLDDU, FRVBF_SFMT_NLDDU }, |
| { FRV_INSN_LDDFU, FRVBF_INSN_LDDFU, FRVBF_SFMT_LDDFU }, |
| { FRV_INSN_LDDCU, FRVBF_INSN_LDDCU, FRVBF_SFMT_LDDCU }, |
| { FRV_INSN_NLDDFU, FRVBF_INSN_NLDDFU, FRVBF_SFMT_NLDDFU }, |
| { FRV_INSN_LDQU, FRVBF_INSN_LDQU, FRVBF_SFMT_LDQU }, |
| { FRV_INSN_NLDQU, FRVBF_INSN_NLDQU, FRVBF_SFMT_NLDQU }, |
| { FRV_INSN_LDQFU, FRVBF_INSN_LDQFU, FRVBF_SFMT_LDQFU }, |
| { FRV_INSN_LDQCU, FRVBF_INSN_LDQCU, FRVBF_SFMT_LDQCU }, |
| { FRV_INSN_NLDQFU, FRVBF_INSN_NLDQFU, FRVBF_SFMT_NLDQFU }, |
| { FRV_INSN_LDSBI, FRVBF_INSN_LDSBI, FRVBF_SFMT_LDSBI }, |
| { FRV_INSN_LDSHI, FRVBF_INSN_LDSHI, FRVBF_SFMT_LDSBI }, |
| { FRV_INSN_LDI, FRVBF_INSN_LDI, FRVBF_SFMT_LDSBI }, |
| { FRV_INSN_LDUBI, FRVBF_INSN_LDUBI, FRVBF_SFMT_LDSBI }, |
| { FRV_INSN_LDUHI, FRVBF_INSN_LDUHI, FRVBF_SFMT_LDSBI }, |
| { FRV_INSN_LDBFI, FRVBF_INSN_LDBFI, FRVBF_SFMT_LDBFI }, |
| { FRV_INSN_LDHFI, FRVBF_INSN_LDHFI, FRVBF_SFMT_LDBFI }, |
| { FRV_INSN_LDFI, FRVBF_INSN_LDFI, FRVBF_SFMT_LDBFI }, |
| { FRV_INSN_NLDSBI, FRVBF_INSN_NLDSBI, FRVBF_SFMT_NLDSBI }, |
| { FRV_INSN_NLDUBI, FRVBF_INSN_NLDUBI, FRVBF_SFMT_NLDSBI }, |
| { FRV_INSN_NLDSHI, FRVBF_INSN_NLDSHI, FRVBF_SFMT_NLDSBI }, |
| { FRV_INSN_NLDUHI, FRVBF_INSN_NLDUHI, FRVBF_SFMT_NLDSBI }, |
| { FRV_INSN_NLDI, FRVBF_INSN_NLDI, FRVBF_SFMT_NLDSBI }, |
| { FRV_INSN_NLDBFI, FRVBF_INSN_NLDBFI, FRVBF_SFMT_NLDBFI }, |
| { FRV_INSN_NLDHFI, FRVBF_INSN_NLDHFI, FRVBF_SFMT_NLDBFI }, |
| { FRV_INSN_NLDFI, FRVBF_INSN_NLDFI, FRVBF_SFMT_NLDBFI }, |
| { FRV_INSN_LDDI, FRVBF_INSN_LDDI, FRVBF_SFMT_LDDI }, |
| { FRV_INSN_LDDFI, FRVBF_INSN_LDDFI, FRVBF_SFMT_LDDFI }, |
| { FRV_INSN_NLDDI, FRVBF_INSN_NLDDI, FRVBF_SFMT_NLDDI }, |
| { FRV_INSN_NLDDFI, FRVBF_INSN_NLDDFI, FRVBF_SFMT_NLDDFI }, |
| { FRV_INSN_LDQI, FRVBF_INSN_LDQI, FRVBF_SFMT_LDQI }, |
| { FRV_INSN_LDQFI, FRVBF_INSN_LDQFI, FRVBF_SFMT_LDQFI }, |
| { FRV_INSN_NLDQFI, FRVBF_INSN_NLDQFI, FRVBF_SFMT_NLDQFI }, |
| { FRV_INSN_STB, FRVBF_INSN_STB, FRVBF_SFMT_STB }, |
| { FRV_INSN_STH, FRVBF_INSN_STH, FRVBF_SFMT_STB }, |
| { FRV_INSN_ST, FRVBF_INSN_ST, FRVBF_SFMT_STB }, |
| { FRV_INSN_STBF, FRVBF_INSN_STBF, FRVBF_SFMT_STBF }, |
| { FRV_INSN_STHF, FRVBF_INSN_STHF, FRVBF_SFMT_STBF }, |
| { FRV_INSN_STF, FRVBF_INSN_STF, FRVBF_SFMT_STBF }, |
| { FRV_INSN_STC, FRVBF_INSN_STC, FRVBF_SFMT_STC }, |
| { FRV_INSN_STD, FRVBF_INSN_STD, FRVBF_SFMT_STD }, |
| { FRV_INSN_STDF, FRVBF_INSN_STDF, FRVBF_SFMT_STDF }, |
| { FRV_INSN_STDC, FRVBF_INSN_STDC, FRVBF_SFMT_STDC }, |
| { FRV_INSN_STQ, FRVBF_INSN_STQ, FRVBF_SFMT_LDQ }, |
| { FRV_INSN_STQF, FRVBF_INSN_STQF, FRVBF_SFMT_LDQF }, |
| { FRV_INSN_STQC, FRVBF_INSN_STQC, FRVBF_SFMT_LDQC }, |
| { FRV_INSN_STBU, FRVBF_INSN_STBU, FRVBF_SFMT_STBU }, |
| { FRV_INSN_STHU, FRVBF_INSN_STHU, FRVBF_SFMT_STBU }, |
| { FRV_INSN_STU, FRVBF_INSN_STU, FRVBF_SFMT_STBU }, |
| { FRV_INSN_STBFU, FRVBF_INSN_STBFU, FRVBF_SFMT_STBFU }, |
| { FRV_INSN_STHFU, FRVBF_INSN_STHFU, FRVBF_SFMT_STBFU }, |
| { FRV_INSN_STFU, FRVBF_INSN_STFU, FRVBF_SFMT_STBFU }, |
| { FRV_INSN_STCU, FRVBF_INSN_STCU, FRVBF_SFMT_STCU }, |
| { FRV_INSN_STDU, FRVBF_INSN_STDU, FRVBF_SFMT_STDU }, |
| { FRV_INSN_STDFU, FRVBF_INSN_STDFU, FRVBF_SFMT_STDFU }, |
| { FRV_INSN_STDCU, FRVBF_INSN_STDCU, FRVBF_SFMT_STDCU }, |
| { FRV_INSN_STQU, FRVBF_INSN_STQU, FRVBF_SFMT_STQU }, |
| { FRV_INSN_STQFU, FRVBF_INSN_STQFU, FRVBF_SFMT_LDQFU }, |
| { FRV_INSN_STQCU, FRVBF_INSN_STQCU, FRVBF_SFMT_LDQCU }, |
| { FRV_INSN_CLDSB, FRVBF_INSN_CLDSB, FRVBF_SFMT_CLDSB }, |
| { FRV_INSN_CLDUB, FRVBF_INSN_CLDUB, FRVBF_SFMT_CLDSB }, |
| { FRV_INSN_CLDSH, FRVBF_INSN_CLDSH, FRVBF_SFMT_CLDSB }, |
| { FRV_INSN_CLDUH, FRVBF_INSN_CLDUH, FRVBF_SFMT_CLDSB }, |
| { FRV_INSN_CLD, FRVBF_INSN_CLD, FRVBF_SFMT_CLDSB }, |
| { FRV_INSN_CLDBF, FRVBF_INSN_CLDBF, FRVBF_SFMT_CLDBF }, |
| { FRV_INSN_CLDHF, FRVBF_INSN_CLDHF, FRVBF_SFMT_CLDBF }, |
| { FRV_INSN_CLDF, FRVBF_INSN_CLDF, FRVBF_SFMT_CLDBF }, |
| { FRV_INSN_CLDD, FRVBF_INSN_CLDD, FRVBF_SFMT_CLDD }, |
| { FRV_INSN_CLDDF, FRVBF_INSN_CLDDF, FRVBF_SFMT_CLDDF }, |
| { FRV_INSN_CLDQ, FRVBF_INSN_CLDQ, FRVBF_SFMT_CLDQ }, |
| { FRV_INSN_CLDSBU, FRVBF_INSN_CLDSBU, FRVBF_SFMT_CLDSBU }, |
| { FRV_INSN_CLDUBU, FRVBF_INSN_CLDUBU, FRVBF_SFMT_CLDSBU }, |
| { FRV_INSN_CLDSHU, FRVBF_INSN_CLDSHU, FRVBF_SFMT_CLDSBU }, |
| { FRV_INSN_CLDUHU, FRVBF_INSN_CLDUHU, FRVBF_SFMT_CLDSBU }, |
| { FRV_INSN_CLDU, FRVBF_INSN_CLDU, FRVBF_SFMT_CLDSBU }, |
| { FRV_INSN_CLDBFU, FRVBF_INSN_CLDBFU, FRVBF_SFMT_CLDBFU }, |
| { FRV_INSN_CLDHFU, FRVBF_INSN_CLDHFU, FRVBF_SFMT_CLDBFU }, |
| { FRV_INSN_CLDFU, FRVBF_INSN_CLDFU, FRVBF_SFMT_CLDBFU }, |
| { FRV_INSN_CLDDU, FRVBF_INSN_CLDDU, FRVBF_SFMT_CLDDU }, |
| { FRV_INSN_CLDDFU, FRVBF_INSN_CLDDFU, FRVBF_SFMT_CLDDFU }, |
| { FRV_INSN_CLDQU, FRVBF_INSN_CLDQU, FRVBF_SFMT_CLDQU }, |
| { FRV_INSN_CSTB, FRVBF_INSN_CSTB, FRVBF_SFMT_CSTB }, |
| { FRV_INSN_CSTH, FRVBF_INSN_CSTH, FRVBF_SFMT_CSTB }, |
| { FRV_INSN_CST, FRVBF_INSN_CST, FRVBF_SFMT_CSTB }, |
| { FRV_INSN_CSTBF, FRVBF_INSN_CSTBF, FRVBF_SFMT_CSTBF }, |
| { FRV_INSN_CSTHF, FRVBF_INSN_CSTHF, FRVBF_SFMT_CSTBF }, |
| { FRV_INSN_CSTF, FRVBF_INSN_CSTF, FRVBF_SFMT_CSTBF }, |
| { FRV_INSN_CSTD, FRVBF_INSN_CSTD, FRVBF_SFMT_CSTD }, |
| { FRV_INSN_CSTDF, FRVBF_INSN_CSTDF, FRVBF_SFMT_CSTDF }, |
| { FRV_INSN_CSTQ, FRVBF_INSN_CSTQ, FRVBF_SFMT_CLDQ }, |
| { FRV_INSN_CSTBU, FRVBF_INSN_CSTBU, FRVBF_SFMT_CSTBU }, |
| { FRV_INSN_CSTHU, FRVBF_INSN_CSTHU, FRVBF_SFMT_CSTBU }, |
| { FRV_INSN_CSTU, FRVBF_INSN_CSTU, FRVBF_SFMT_CSTBU }, |
| { FRV_INSN_CSTBFU, FRVBF_INSN_CSTBFU, FRVBF_SFMT_CSTBFU }, |
| { FRV_INSN_CSTHFU, FRVBF_INSN_CSTHFU, FRVBF_SFMT_CSTBFU }, |
| { FRV_INSN_CSTFU, FRVBF_INSN_CSTFU, FRVBF_SFMT_CSTBFU }, |
| { FRV_INSN_CSTDU, FRVBF_INSN_CSTDU, FRVBF_SFMT_CSTDU }, |
| { FRV_INSN_CSTDFU, FRVBF_INSN_CSTDFU, FRVBF_SFMT_CSTDFU }, |
| { FRV_INSN_STBI, FRVBF_INSN_STBI, FRVBF_SFMT_STBI }, |
| { FRV_INSN_STHI, FRVBF_INSN_STHI, FRVBF_SFMT_STBI }, |
| { FRV_INSN_STI, FRVBF_INSN_STI, FRVBF_SFMT_STBI }, |
| { FRV_INSN_STBFI, FRVBF_INSN_STBFI, FRVBF_SFMT_STBFI }, |
| { FRV_INSN_STHFI, FRVBF_INSN_STHFI, FRVBF_SFMT_STBFI }, |
| { FRV_INSN_STFI, FRVBF_INSN_STFI, FRVBF_SFMT_STBFI }, |
| { FRV_INSN_STDI, FRVBF_INSN_STDI, FRVBF_SFMT_STDI }, |
| { FRV_INSN_STDFI, FRVBF_INSN_STDFI, FRVBF_SFMT_STDFI }, |
| { FRV_INSN_STQI, FRVBF_INSN_STQI, FRVBF_SFMT_LDQI }, |
| { FRV_INSN_STQFI, FRVBF_INSN_STQFI, FRVBF_SFMT_LDQFI }, |
| { FRV_INSN_SWAP, FRVBF_INSN_SWAP, FRVBF_SFMT_SWAP }, |
| { FRV_INSN_SWAPI, FRVBF_INSN_SWAPI, FRVBF_SFMT_SWAPI }, |
| { FRV_INSN_CSWAP, FRVBF_INSN_CSWAP, FRVBF_SFMT_CSWAP }, |
| { FRV_INSN_MOVGF, FRVBF_INSN_MOVGF, FRVBF_SFMT_MOVGF }, |
| { FRV_INSN_MOVFG, FRVBF_INSN_MOVFG, FRVBF_SFMT_MOVFG }, |
| { FRV_INSN_MOVGFD, FRVBF_INSN_MOVGFD, FRVBF_SFMT_MOVGFD }, |
| { FRV_INSN_MOVFGD, FRVBF_INSN_MOVFGD, FRVBF_SFMT_MOVFGD }, |
| { FRV_INSN_MOVGFQ, FRVBF_INSN_MOVGFQ, FRVBF_SFMT_MOVGFQ }, |
| { FRV_INSN_MOVFGQ, FRVBF_INSN_MOVFGQ, FRVBF_SFMT_MOVFGQ }, |
| { FRV_INSN_CMOVGF, FRVBF_INSN_CMOVGF, FRVBF_SFMT_CMOVGF }, |
| { FRV_INSN_CMOVFG, FRVBF_INSN_CMOVFG, FRVBF_SFMT_CMOVFG }, |
| { FRV_INSN_CMOVGFD, FRVBF_INSN_CMOVGFD, FRVBF_SFMT_CMOVGFD }, |
| { FRV_INSN_CMOVFGD, FRVBF_INSN_CMOVFGD, FRVBF_SFMT_CMOVFGD }, |
| { FRV_INSN_MOVGS, FRVBF_INSN_MOVGS, FRVBF_SFMT_MOVGS }, |
| { FRV_INSN_MOVSG, FRVBF_INSN_MOVSG, FRVBF_SFMT_MOVSG }, |
| { FRV_INSN_BRA, FRVBF_INSN_BRA, FRVBF_SFMT_BRA }, |
| { FRV_INSN_BNO, FRVBF_INSN_BNO, FRVBF_SFMT_BNO }, |
| { FRV_INSN_BEQ, FRVBF_INSN_BEQ, FRVBF_SFMT_BEQ }, |
| { FRV_INSN_BNE, FRVBF_INSN_BNE, FRVBF_SFMT_BEQ }, |
| { FRV_INSN_BLE, FRVBF_INSN_BLE, FRVBF_SFMT_BEQ }, |
| { FRV_INSN_BGT, FRVBF_INSN_BGT, FRVBF_SFMT_BEQ }, |
| { FRV_INSN_BLT, FRVBF_INSN_BLT, FRVBF_SFMT_BEQ }, |
| { FRV_INSN_BGE, FRVBF_INSN_BGE, FRVBF_SFMT_BEQ }, |
| { FRV_INSN_BLS, FRVBF_INSN_BLS, FRVBF_SFMT_BEQ }, |
| { FRV_INSN_BHI, FRVBF_INSN_BHI, FRVBF_SFMT_BEQ }, |
| { FRV_INSN_BC, FRVBF_INSN_BC, FRVBF_SFMT_BEQ }, |
| { FRV_INSN_BNC, FRVBF_INSN_BNC, FRVBF_SFMT_BEQ }, |
| { FRV_INSN_BN, FRVBF_INSN_BN, FRVBF_SFMT_BEQ }, |
| { FRV_INSN_BP, FRVBF_INSN_BP, FRVBF_SFMT_BEQ }, |
| { FRV_INSN_BV, FRVBF_INSN_BV, FRVBF_SFMT_BEQ }, |
| { FRV_INSN_BNV, FRVBF_INSN_BNV, FRVBF_SFMT_BEQ }, |
| { FRV_INSN_FBRA, FRVBF_INSN_FBRA, FRVBF_SFMT_FBRA }, |
| { FRV_INSN_FBNO, FRVBF_INSN_FBNO, FRVBF_SFMT_FBNO }, |
| { FRV_INSN_FBNE, FRVBF_INSN_FBNE, FRVBF_SFMT_FBNE }, |
| { FRV_INSN_FBEQ, FRVBF_INSN_FBEQ, FRVBF_SFMT_FBNE }, |
| { FRV_INSN_FBLG, FRVBF_INSN_FBLG, FRVBF_SFMT_FBNE }, |
| { FRV_INSN_FBUE, FRVBF_INSN_FBUE, FRVBF_SFMT_FBNE }, |
| { FRV_INSN_FBUL, FRVBF_INSN_FBUL, FRVBF_SFMT_FBNE }, |
| { FRV_INSN_FBGE, FRVBF_INSN_FBGE, FRVBF_SFMT_FBNE }, |
| { FRV_INSN_FBLT, FRVBF_INSN_FBLT, FRVBF_SFMT_FBNE }, |
| { FRV_INSN_FBUGE, FRVBF_INSN_FBUGE, FRVBF_SFMT_FBNE }, |
| { FRV_INSN_FBUG, FRVBF_INSN_FBUG, FRVBF_SFMT_FBNE }, |
| { FRV_INSN_FBLE, FRVBF_INSN_FBLE, FRVBF_SFMT_FBNE }, |
| { FRV_INSN_FBGT, FRVBF_INSN_FBGT, FRVBF_SFMT_FBNE }, |
| { FRV_INSN_FBULE, FRVBF_INSN_FBULE, FRVBF_SFMT_FBNE }, |
| { FRV_INSN_FBU, FRVBF_INSN_FBU, FRVBF_SFMT_FBNE }, |
| { FRV_INSN_FBO, FRVBF_INSN_FBO, FRVBF_SFMT_FBNE }, |
| { FRV_INSN_BCTRLR, FRVBF_INSN_BCTRLR, FRVBF_SFMT_BCTRLR }, |
| { FRV_INSN_BRALR, FRVBF_INSN_BRALR, FRVBF_SFMT_BRALR }, |
| { FRV_INSN_BNOLR, FRVBF_INSN_BNOLR, FRVBF_SFMT_BNOLR }, |
| { FRV_INSN_BEQLR, FRVBF_INSN_BEQLR, FRVBF_SFMT_BEQLR }, |
| { FRV_INSN_BNELR, FRVBF_INSN_BNELR, FRVBF_SFMT_BEQLR }, |
| { FRV_INSN_BLELR, FRVBF_INSN_BLELR, FRVBF_SFMT_BEQLR }, |
| { FRV_INSN_BGTLR, FRVBF_INSN_BGTLR, FRVBF_SFMT_BEQLR }, |
| { FRV_INSN_BLTLR, FRVBF_INSN_BLTLR, FRVBF_SFMT_BEQLR }, |
| { FRV_INSN_BGELR, FRVBF_INSN_BGELR, FRVBF_SFMT_BEQLR }, |
| { FRV_INSN_BLSLR, FRVBF_INSN_BLSLR, FRVBF_SFMT_BEQLR }, |
| { FRV_INSN_BHILR, FRVBF_INSN_BHILR, FRVBF_SFMT_BEQLR }, |
| { FRV_INSN_BCLR, FRVBF_INSN_BCLR, FRVBF_SFMT_BEQLR }, |
| { FRV_INSN_BNCLR, FRVBF_INSN_BNCLR, FRVBF_SFMT_BEQLR }, |
| { FRV_INSN_BNLR, FRVBF_INSN_BNLR, FRVBF_SFMT_BEQLR }, |
| { FRV_INSN_BPLR, FRVBF_INSN_BPLR, FRVBF_SFMT_BEQLR }, |
| { FRV_INSN_BVLR, FRVBF_INSN_BVLR, FRVBF_SFMT_BEQLR }, |
| { FRV_INSN_BNVLR, FRVBF_INSN_BNVLR, FRVBF_SFMT_BEQLR }, |
| { FRV_INSN_FBRALR, FRVBF_INSN_FBRALR, FRVBF_SFMT_FBRALR }, |
| { FRV_INSN_FBNOLR, FRVBF_INSN_FBNOLR, FRVBF_SFMT_FBNOLR }, |
| { FRV_INSN_FBEQLR, FRVBF_INSN_FBEQLR, FRVBF_SFMT_FBEQLR }, |
| { FRV_INSN_FBNELR, FRVBF_INSN_FBNELR, FRVBF_SFMT_FBEQLR }, |
| { FRV_INSN_FBLGLR, FRVBF_INSN_FBLGLR, FRVBF_SFMT_FBEQLR }, |
| { FRV_INSN_FBUELR, FRVBF_INSN_FBUELR, FRVBF_SFMT_FBEQLR }, |
| { FRV_INSN_FBULLR, FRVBF_INSN_FBULLR, FRVBF_SFMT_FBEQLR }, |
| { FRV_INSN_FBGELR, FRVBF_INSN_FBGELR, FRVBF_SFMT_FBEQLR }, |
| { FRV_INSN_FBLTLR, FRVBF_INSN_FBLTLR, FRVBF_SFMT_FBEQLR }, |
| { FRV_INSN_FBUGELR, FRVBF_INSN_FBUGELR, FRVBF_SFMT_FBEQLR }, |
| { FRV_INSN_FBUGLR, FRVBF_INSN_FBUGLR, FRVBF_SFMT_FBEQLR }, |
| { FRV_INSN_FBLELR, FRVBF_INSN_FBLELR, FRVBF_SFMT_FBEQLR }, |
| { FRV_INSN_FBGTLR, FRVBF_INSN_FBGTLR, FRVBF_SFMT_FBEQLR }, |
| { FRV_INSN_FBULELR, FRVBF_INSN_FBULELR, FRVBF_SFMT_FBEQLR }, |
| { FRV_INSN_FBULR, FRVBF_INSN_FBULR, FRVBF_SFMT_FBEQLR }, |
| { FRV_INSN_FBOLR, FRVBF_INSN_FBOLR, FRVBF_SFMT_FBEQLR }, |
| { FRV_INSN_BCRALR, FRVBF_INSN_BCRALR, FRVBF_SFMT_BCRALR }, |
| { FRV_INSN_BCNOLR, FRVBF_INSN_BCNOLR, FRVBF_SFMT_BCNOLR }, |
| { FRV_INSN_BCEQLR, FRVBF_INSN_BCEQLR, FRVBF_SFMT_BCEQLR }, |
| { FRV_INSN_BCNELR, FRVBF_INSN_BCNELR, FRVBF_SFMT_BCEQLR }, |
| { FRV_INSN_BCLELR, FRVBF_INSN_BCLELR, FRVBF_SFMT_BCEQLR }, |
| { FRV_INSN_BCGTLR, FRVBF_INSN_BCGTLR, FRVBF_SFMT_BCEQLR }, |
| { FRV_INSN_BCLTLR, FRVBF_INSN_BCLTLR, FRVBF_SFMT_BCEQLR }, |
| { FRV_INSN_BCGELR, FRVBF_INSN_BCGELR, FRVBF_SFMT_BCEQLR }, |
| { FRV_INSN_BCLSLR, FRVBF_INSN_BCLSLR, FRVBF_SFMT_BCEQLR }, |
| { FRV_INSN_BCHILR, FRVBF_INSN_BCHILR, FRVBF_SFMT_BCEQLR }, |
| { FRV_INSN_BCCLR, FRVBF_INSN_BCCLR, FRVBF_SFMT_BCEQLR }, |
| { FRV_INSN_BCNCLR, FRVBF_INSN_BCNCLR, FRVBF_SFMT_BCEQLR }, |
| { FRV_INSN_BCNLR, FRVBF_INSN_BCNLR, FRVBF_SFMT_BCEQLR }, |
| { FRV_INSN_BCPLR, FRVBF_INSN_BCPLR, FRVBF_SFMT_BCEQLR }, |
| { FRV_INSN_BCVLR, FRVBF_INSN_BCVLR, FRVBF_SFMT_BCEQLR }, |
| { FRV_INSN_BCNVLR, FRVBF_INSN_BCNVLR, FRVBF_SFMT_BCEQLR }, |
| { FRV_INSN_FCBRALR, FRVBF_INSN_FCBRALR, FRVBF_SFMT_FCBRALR }, |
| { FRV_INSN_FCBNOLR, FRVBF_INSN_FCBNOLR, FRVBF_SFMT_FCBNOLR }, |
| { FRV_INSN_FCBEQLR, FRVBF_INSN_FCBEQLR, FRVBF_SFMT_FCBEQLR }, |
| { FRV_INSN_FCBNELR, FRVBF_INSN_FCBNELR, FRVBF_SFMT_FCBEQLR }, |
| { FRV_INSN_FCBLGLR, FRVBF_INSN_FCBLGLR, FRVBF_SFMT_FCBEQLR }, |
| { FRV_INSN_FCBUELR, FRVBF_INSN_FCBUELR, FRVBF_SFMT_FCBEQLR }, |
| { FRV_INSN_FCBULLR, FRVBF_INSN_FCBULLR, FRVBF_SFMT_FCBEQLR }, |
| { FRV_INSN_FCBGELR, FRVBF_INSN_FCBGELR, FRVBF_SFMT_FCBEQLR }, |
| { FRV_INSN_FCBLTLR, FRVBF_INSN_FCBLTLR, FRVBF_SFMT_FCBEQLR }, |
| { FRV_INSN_FCBUGELR, FRVBF_INSN_FCBUGELR, FRVBF_SFMT_FCBEQLR }, |
| { FRV_INSN_FCBUGLR, FRVBF_INSN_FCBUGLR, FRVBF_SFMT_FCBEQLR }, |
| { FRV_INSN_FCBLELR, FRVBF_INSN_FCBLELR, FRVBF_SFMT_FCBEQLR }, |
| { FRV_INSN_FCBGTLR, FRVBF_INSN_FCBGTLR, FRVBF_SFMT_FCBEQLR }, |
| { FRV_INSN_FCBULELR, FRVBF_INSN_FCBULELR, FRVBF_SFMT_FCBEQLR }, |
| { FRV_INSN_FCBULR, FRVBF_INSN_FCBULR, FRVBF_SFMT_FCBEQLR }, |
| { FRV_INSN_FCBOLR, FRVBF_INSN_FCBOLR, FRVBF_SFMT_FCBEQLR }, |
| { FRV_INSN_JMPL, FRVBF_INSN_JMPL, FRVBF_SFMT_JMPL }, |
| { FRV_INSN_CALLL, FRVBF_INSN_CALLL, FRVBF_SFMT_CALLL }, |
| { FRV_INSN_JMPIL, FRVBF_INSN_JMPIL, FRVBF_SFMT_JMPIL }, |
| { FRV_INSN_CALLIL, FRVBF_INSN_CALLIL, FRVBF_SFMT_CALLIL }, |
| { FRV_INSN_CALL, FRVBF_INSN_CALL, FRVBF_SFMT_CALL }, |
| { FRV_INSN_RETT, FRVBF_INSN_RETT, FRVBF_SFMT_RETT }, |
| { FRV_INSN_REI, FRVBF_INSN_REI, FRVBF_SFMT_REI }, |
| { FRV_INSN_TRA, FRVBF_INSN_TRA, FRVBF_SFMT_TRA }, |
| { FRV_INSN_TNO, FRVBF_INSN_TNO, FRVBF_SFMT_REI }, |
| { FRV_INSN_TEQ, FRVBF_INSN_TEQ, FRVBF_SFMT_TEQ }, |
| { FRV_INSN_TNE, FRVBF_INSN_TNE, FRVBF_SFMT_TEQ }, |
| { FRV_INSN_TLE, FRVBF_INSN_TLE, FRVBF_SFMT_TEQ }, |
| { FRV_INSN_TGT, FRVBF_INSN_TGT, FRVBF_SFMT_TEQ }, |
| { FRV_INSN_TLT, FRVBF_INSN_TLT, FRVBF_SFMT_TEQ }, |
| { FRV_INSN_TGE, FRVBF_INSN_TGE, FRVBF_SFMT_TEQ }, |
| { FRV_INSN_TLS, FRVBF_INSN_TLS, FRVBF_SFMT_TEQ }, |
| { FRV_INSN_THI, FRVBF_INSN_THI, FRVBF_SFMT_TEQ }, |
| { FRV_INSN_TC, FRVBF_INSN_TC, FRVBF_SFMT_TEQ }, |
| { FRV_INSN_TNC, FRVBF_INSN_TNC, FRVBF_SFMT_TEQ }, |
| { FRV_INSN_TN, FRVBF_INSN_TN, FRVBF_SFMT_TEQ }, |
| { FRV_INSN_TP, FRVBF_INSN_TP, FRVBF_SFMT_TEQ }, |
| { FRV_INSN_TV, FRVBF_INSN_TV, FRVBF_SFMT_TEQ }, |
| { FRV_INSN_TNV, FRVBF_INSN_TNV, FRVBF_SFMT_TEQ }, |
| { FRV_INSN_FTRA, FRVBF_INSN_FTRA, FRVBF_SFMT_FTRA }, |
| { FRV_INSN_FTNO, FRVBF_INSN_FTNO, FRVBF_SFMT_REI }, |
| { FRV_INSN_FTNE, FRVBF_INSN_FTNE, FRVBF_SFMT_FTNE }, |
| { FRV_INSN_FTEQ, FRVBF_INSN_FTEQ, FRVBF_SFMT_FTNE }, |
| { FRV_INSN_FTLG, FRVBF_INSN_FTLG, FRVBF_SFMT_FTNE }, |
| { FRV_INSN_FTUE, FRVBF_INSN_FTUE, FRVBF_SFMT_FTNE }, |
| { FRV_INSN_FTUL, FRVBF_INSN_FTUL, FRVBF_SFMT_FTNE }, |
| { FRV_INSN_FTGE, FRVBF_INSN_FTGE, FRVBF_SFMT_FTNE }, |
| { FRV_INSN_FTLT, FRVBF_INSN_FTLT, FRVBF_SFMT_FTNE }, |
| { FRV_INSN_FTUGE, FRVBF_INSN_FTUGE, FRVBF_SFMT_FTNE }, |
| { FRV_INSN_FTUG, FRVBF_INSN_FTUG, FRVBF_SFMT_FTNE }, |
| { FRV_INSN_FTLE, FRVBF_INSN_FTLE, FRVBF_SFMT_FTNE }, |
| { FRV_INSN_FTGT, FRVBF_INSN_FTGT, FRVBF_SFMT_FTNE }, |
| { FRV_INSN_FTULE, FRVBF_INSN_FTULE, FRVBF_SFMT_FTNE }, |
| { FRV_INSN_FTU, FRVBF_INSN_FTU, FRVBF_SFMT_FTNE }, |
| { FRV_INSN_FTO, FRVBF_INSN_FTO, FRVBF_SFMT_FTNE }, |
| { FRV_INSN_TIRA, FRVBF_INSN_TIRA, FRVBF_SFMT_TIRA }, |
| { FRV_INSN_TINO, FRVBF_INSN_TINO, FRVBF_SFMT_REI }, |
| { FRV_INSN_TIEQ, FRVBF_INSN_TIEQ, FRVBF_SFMT_TIEQ }, |
| { FRV_INSN_TINE, FRVBF_INSN_TINE, FRVBF_SFMT_TIEQ }, |
| { FRV_INSN_TILE, FRVBF_INSN_TILE, FRVBF_SFMT_TIEQ }, |
| { FRV_INSN_TIGT, FRVBF_INSN_TIGT, FRVBF_SFMT_TIEQ }, |
| { FRV_INSN_TILT, FRVBF_INSN_TILT, FRVBF_SFMT_TIEQ }, |
| { FRV_INSN_TIGE, FRVBF_INSN_TIGE, FRVBF_SFMT_TIEQ }, |
| { FRV_INSN_TILS, FRVBF_INSN_TILS, FRVBF_SFMT_TIEQ }, |
| { FRV_INSN_TIHI, FRVBF_INSN_TIHI, FRVBF_SFMT_TIEQ }, |
| { FRV_INSN_TIC, FRVBF_INSN_TIC, FRVBF_SFMT_TIEQ }, |
| { FRV_INSN_TINC, FRVBF_INSN_TINC, FRVBF_SFMT_TIEQ }, |
| { FRV_INSN_TIN, FRVBF_INSN_TIN, FRVBF_SFMT_TIEQ }, |
| { FRV_INSN_TIP, FRVBF_INSN_TIP, FRVBF_SFMT_TIEQ }, |
| { FRV_INSN_TIV, FRVBF_INSN_TIV, FRVBF_SFMT_TIEQ }, |
| { FRV_INSN_TINV, FRVBF_INSN_TINV, FRVBF_SFMT_TIEQ }, |
| { FRV_INSN_FTIRA, FRVBF_INSN_FTIRA, FRVBF_SFMT_FTIRA }, |
| { FRV_INSN_FTINO, FRVBF_INSN_FTINO, FRVBF_SFMT_REI }, |
| { FRV_INSN_FTINE, FRVBF_INSN_FTINE, FRVBF_SFMT_FTINE }, |
| { FRV_INSN_FTIEQ, FRVBF_INSN_FTIEQ, FRVBF_SFMT_FTINE }, |
| { FRV_INSN_FTILG, FRVBF_INSN_FTILG, FRVBF_SFMT_FTINE }, |
| { FRV_INSN_FTIUE, FRVBF_INSN_FTIUE, FRVBF_SFMT_FTINE }, |
| { FRV_INSN_FTIUL, FRVBF_INSN_FTIUL, FRVBF_SFMT_FTINE }, |
| { FRV_INSN_FTIGE, FRVBF_INSN_FTIGE, FRVBF_SFMT_FTINE }, |
| { FRV_INSN_FTILT, FRVBF_INSN_FTILT, FRVBF_SFMT_FTINE }, |
| { FRV_INSN_FTIUGE, FRVBF_INSN_FTIUGE, FRVBF_SFMT_FTINE }, |
| { FRV_INSN_FTIUG, FRVBF_INSN_FTIUG, FRVBF_SFMT_FTINE }, |
| { FRV_INSN_FTILE, FRVBF_INSN_FTILE, FRVBF_SFMT_FTINE }, |
| { FRV_INSN_FTIGT, FRVBF_INSN_FTIGT, FRVBF_SFMT_FTINE }, |
| { FRV_INSN_FTIULE, FRVBF_INSN_FTIULE, FRVBF_SFMT_FTINE }, |
| { FRV_INSN_FTIU, FRVBF_INSN_FTIU, FRVBF_SFMT_FTINE }, |
| { FRV_INSN_FTIO, FRVBF_INSN_FTIO, FRVBF_SFMT_FTINE }, |
| { FRV_INSN_BREAK, FRVBF_INSN_BREAK, FRVBF_SFMT_BREAK }, |
| { FRV_INSN_MTRAP, FRVBF_INSN_MTRAP, FRVBF_SFMT_REI }, |
| { FRV_INSN_ANDCR, FRVBF_INSN_ANDCR, FRVBF_SFMT_ANDCR }, |
| { FRV_INSN_ORCR, FRVBF_INSN_ORCR, FRVBF_SFMT_ANDCR }, |
| { FRV_INSN_XORCR, FRVBF_INSN_XORCR, FRVBF_SFMT_ANDCR }, |
| { FRV_INSN_NANDCR, FRVBF_INSN_NANDCR, FRVBF_SFMT_ANDCR }, |
| { FRV_INSN_NORCR, FRVBF_INSN_NORCR, FRVBF_SFMT_ANDCR }, |
| { FRV_INSN_ANDNCR, FRVBF_INSN_ANDNCR, FRVBF_SFMT_ANDCR }, |
| { FRV_INSN_ORNCR, FRVBF_INSN_ORNCR, FRVBF_SFMT_ANDCR }, |
| { FRV_INSN_NANDNCR, FRVBF_INSN_NANDNCR, FRVBF_SFMT_ANDCR }, |
| { FRV_INSN_NORNCR, FRVBF_INSN_NORNCR, FRVBF_SFMT_ANDCR }, |
| { FRV_INSN_NOTCR, FRVBF_INSN_NOTCR, FRVBF_SFMT_NOTCR }, |
| { FRV_INSN_CKRA, FRVBF_INSN_CKRA, FRVBF_SFMT_CKRA }, |
| { FRV_INSN_CKNO, FRVBF_INSN_CKNO, FRVBF_SFMT_CKRA }, |
| { FRV_INSN_CKEQ, FRVBF_INSN_CKEQ, FRVBF_SFMT_CKEQ }, |
| { FRV_INSN_CKNE, FRVBF_INSN_CKNE, FRVBF_SFMT_CKEQ }, |
| { FRV_INSN_CKLE, FRVBF_INSN_CKLE, FRVBF_SFMT_CKEQ }, |
| { FRV_INSN_CKGT, FRVBF_INSN_CKGT, FRVBF_SFMT_CKEQ }, |
| { FRV_INSN_CKLT, FRVBF_INSN_CKLT, FRVBF_SFMT_CKEQ }, |
| { FRV_INSN_CKGE, FRVBF_INSN_CKGE, FRVBF_SFMT_CKEQ }, |
| { FRV_INSN_CKLS, FRVBF_INSN_CKLS, FRVBF_SFMT_CKEQ }, |
| { FRV_INSN_CKHI, FRVBF_INSN_CKHI, FRVBF_SFMT_CKEQ }, |
| { FRV_INSN_CKC, FRVBF_INSN_CKC, FRVBF_SFMT_CKEQ }, |
| { FRV_INSN_CKNC, FRVBF_INSN_CKNC, FRVBF_SFMT_CKEQ }, |
| { FRV_INSN_CKN, FRVBF_INSN_CKN, FRVBF_SFMT_CKEQ }, |
| { FRV_INSN_CKP, FRVBF_INSN_CKP, FRVBF_SFMT_CKEQ }, |
| { FRV_INSN_CKV, FRVBF_INSN_CKV, FRVBF_SFMT_CKEQ }, |
| { FRV_INSN_CKNV, FRVBF_INSN_CKNV, FRVBF_SFMT_CKEQ }, |
| { FRV_INSN_FCKRA, FRVBF_INSN_FCKRA, FRVBF_SFMT_FCKRA }, |
| { FRV_INSN_FCKNO, FRVBF_INSN_FCKNO, FRVBF_SFMT_FCKRA }, |
| { FRV_INSN_FCKNE, FRVBF_INSN_FCKNE, FRVBF_SFMT_FCKNE }, |
| { FRV_INSN_FCKEQ, FRVBF_INSN_FCKEQ, FRVBF_SFMT_FCKNE }, |
| { FRV_INSN_FCKLG, FRVBF_INSN_FCKLG, FRVBF_SFMT_FCKNE }, |
| { FRV_INSN_FCKUE, FRVBF_INSN_FCKUE, FRVBF_SFMT_FCKNE }, |
| { FRV_INSN_FCKUL, FRVBF_INSN_FCKUL, FRVBF_SFMT_FCKNE }, |
| { FRV_INSN_FCKGE, FRVBF_INSN_FCKGE, FRVBF_SFMT_FCKNE }, |
| { FRV_INSN_FCKLT, FRVBF_INSN_FCKLT, FRVBF_SFMT_FCKNE }, |
| { FRV_INSN_FCKUGE, FRVBF_INSN_FCKUGE, FRVBF_SFMT_FCKNE }, |
| { FRV_INSN_FCKUG, FRVBF_INSN_FCKUG, FRVBF_SFMT_FCKNE }, |
| { FRV_INSN_FCKLE, FRVBF_INSN_FCKLE, FRVBF_SFMT_FCKNE }, |
| { FRV_INSN_FCKGT, FRVBF_INSN_FCKGT, FRVBF_SFMT_FCKNE }, |
| { FRV_INSN_FCKULE, FRVBF_INSN_FCKULE, FRVBF_SFMT_FCKNE }, |
| { FRV_INSN_FCKU, FRVBF_INSN_FCKU, FRVBF_SFMT_FCKNE }, |
| { FRV_INSN_FCKO, FRVBF_INSN_FCKO, FRVBF_SFMT_FCKNE }, |
| { FRV_INSN_CCKRA, FRVBF_INSN_CCKRA, FRVBF_SFMT_CCKRA }, |
| { FRV_INSN_CCKNO, FRVBF_INSN_CCKNO, FRVBF_SFMT_CCKRA }, |
| { FRV_INSN_CCKEQ, FRVBF_INSN_CCKEQ, FRVBF_SFMT_CCKEQ }, |
| { FRV_INSN_CCKNE, FRVBF_INSN_CCKNE, FRVBF_SFMT_CCKEQ }, |
| { FRV_INSN_CCKLE, FRVBF_INSN_CCKLE, FRVBF_SFMT_CCKEQ }, |
| { FRV_INSN_CCKGT, FRVBF_INSN_CCKGT, FRVBF_SFMT_CCKEQ }, |
| { FRV_INSN_CCKLT, FRVBF_INSN_CCKLT, FRVBF_SFMT_CCKEQ }, |
| { FRV_INSN_CCKGE, FRVBF_INSN_CCKGE, FRVBF_SFMT_CCKEQ }, |
| { FRV_INSN_CCKLS, FRVBF_INSN_CCKLS, FRVBF_SFMT_CCKEQ }, |
| { FRV_INSN_CCKHI, FRVBF_INSN_CCKHI, FRVBF_SFMT_CCKEQ }, |
| { FRV_INSN_CCKC, FRVBF_INSN_CCKC, FRVBF_SFMT_CCKEQ }, |
| { FRV_INSN_CCKNC, FRVBF_INSN_CCKNC, FRVBF_SFMT_CCKEQ }, |
| { FRV_INSN_CCKN, FRVBF_INSN_CCKN, FRVBF_SFMT_CCKEQ }, |
| { FRV_INSN_CCKP, FRVBF_INSN_CCKP, FRVBF_SFMT_CCKEQ }, |
| { FRV_INSN_CCKV, FRVBF_INSN_CCKV, FRVBF_SFMT_CCKEQ }, |
| { FRV_INSN_CCKNV, FRVBF_INSN_CCKNV, FRVBF_SFMT_CCKEQ }, |
| { FRV_INSN_CFCKRA, FRVBF_INSN_CFCKRA, FRVBF_SFMT_CFCKRA }, |
| { FRV_INSN_CFCKNO, FRVBF_INSN_CFCKNO, FRVBF_SFMT_CFCKRA }, |
| { FRV_INSN_CFCKNE, FRVBF_INSN_CFCKNE, FRVBF_SFMT_CFCKNE }, |
| { FRV_INSN_CFCKEQ, FRVBF_INSN_CFCKEQ, FRVBF_SFMT_CFCKNE }, |
| { FRV_INSN_CFCKLG, FRVBF_INSN_CFCKLG, FRVBF_SFMT_CFCKNE }, |
| { FRV_INSN_CFCKUE, FRVBF_INSN_CFCKUE, FRVBF_SFMT_CFCKNE }, |
| { FRV_INSN_CFCKUL, FRVBF_INSN_CFCKUL, FRVBF_SFMT_CFCKNE }, |
| { FRV_INSN_CFCKGE, FRVBF_INSN_CFCKGE, FRVBF_SFMT_CFCKNE }, |
| { FRV_INSN_CFCKLT, FRVBF_INSN_CFCKLT, FRVBF_SFMT_CFCKNE }, |
| { FRV_INSN_CFCKUGE, FRVBF_INSN_CFCKUGE, FRVBF_SFMT_CFCKNE }, |
| { FRV_INSN_CFCKUG, FRVBF_INSN_CFCKUG, FRVBF_SFMT_CFCKNE }, |
| { FRV_INSN_CFCKLE, FRVBF_INSN_CFCKLE, FRVBF_SFMT_CFCKNE }, |
| { FRV_INSN_CFCKGT, FRVBF_INSN_CFCKGT, FRVBF_SFMT_CFCKNE }, |
| { FRV_INSN_CFCKULE, FRVBF_INSN_CFCKULE, FRVBF_SFMT_CFCKNE }, |
| { FRV_INSN_CFCKU, FRVBF_INSN_CFCKU, FRVBF_SFMT_CFCKNE }, |
| { FRV_INSN_CFCKO, FRVBF_INSN_CFCKO, FRVBF_SFMT_CFCKNE }, |
| { FRV_INSN_CJMPL, FRVBF_INSN_CJMPL, FRVBF_SFMT_CJMPL }, |
| { FRV_INSN_CCALLL, FRVBF_INSN_CCALLL, FRVBF_SFMT_CCALLL }, |
| { FRV_INSN_ICI, FRVBF_INSN_ICI, FRVBF_SFMT_ICI }, |
| { FRV_INSN_DCI, FRVBF_INSN_DCI, FRVBF_SFMT_ICI }, |
| { FRV_INSN_ICEI, FRVBF_INSN_ICEI, FRVBF_SFMT_ICEI }, |
| { FRV_INSN_DCEI, FRVBF_INSN_DCEI, FRVBF_SFMT_ICEI }, |
| { FRV_INSN_DCF, FRVBF_INSN_DCF, FRVBF_SFMT_ICI }, |
| { FRV_INSN_DCEF, FRVBF_INSN_DCEF, FRVBF_SFMT_ICEI }, |
| { FRV_INSN_WITLB, FRVBF_INSN_WITLB, FRVBF_SFMT_REI }, |
| { FRV_INSN_WDTLB, FRVBF_INSN_WDTLB, FRVBF_SFMT_REI }, |
| { FRV_INSN_ITLBI, FRVBF_INSN_ITLBI, FRVBF_SFMT_REI }, |
| { FRV_INSN_DTLBI, FRVBF_INSN_DTLBI, FRVBF_SFMT_REI }, |
| { FRV_INSN_ICPL, FRVBF_INSN_ICPL, FRVBF_SFMT_ICPL }, |
| { FRV_INSN_DCPL, FRVBF_INSN_DCPL, FRVBF_SFMT_ICPL }, |
| { FRV_INSN_ICUL, FRVBF_INSN_ICUL, FRVBF_SFMT_ICUL }, |
| { FRV_INSN_DCUL, FRVBF_INSN_DCUL, FRVBF_SFMT_ICUL }, |
| { FRV_INSN_BAR, FRVBF_INSN_BAR, FRVBF_SFMT_REI }, |
| { FRV_INSN_MEMBAR, FRVBF_INSN_MEMBAR, FRVBF_SFMT_REI }, |
| { FRV_INSN_LRAI, FRVBF_INSN_LRAI, FRVBF_SFMT_REI }, |
| { FRV_INSN_LRAD, FRVBF_INSN_LRAD, FRVBF_SFMT_REI }, |
| { FRV_INSN_TLBPR, FRVBF_INSN_TLBPR, FRVBF_SFMT_REI }, |
| { FRV_INSN_COP1, FRVBF_INSN_COP1, FRVBF_SFMT_REI }, |
| { FRV_INSN_COP2, FRVBF_INSN_COP2, FRVBF_SFMT_REI }, |
| { FRV_INSN_CLRGR, FRVBF_INSN_CLRGR, FRVBF_SFMT_CLRGR }, |
| { FRV_INSN_CLRFR, FRVBF_INSN_CLRFR, FRVBF_SFMT_CLRFR }, |
| { FRV_INSN_CLRGA, FRVBF_INSN_CLRGA, FRVBF_SFMT_REI }, |
| { FRV_INSN_CLRFA, FRVBF_INSN_CLRFA, FRVBF_SFMT_REI }, |
| { FRV_INSN_COMMITGR, FRVBF_INSN_COMMITGR, FRVBF_SFMT_COMMITGR }, |
| { FRV_INSN_COMMITFR, FRVBF_INSN_COMMITFR, FRVBF_SFMT_COMMITFR }, |
| { FRV_INSN_COMMITGA, FRVBF_INSN_COMMITGA, FRVBF_SFMT_REI }, |
| { FRV_INSN_COMMITFA, FRVBF_INSN_COMMITFA, FRVBF_SFMT_REI }, |
| { FRV_INSN_FITOS, FRVBF_INSN_FITOS, FRVBF_SFMT_FITOS }, |
| { FRV_INSN_FSTOI, FRVBF_INSN_FSTOI, FRVBF_SFMT_FSTOI }, |
| { FRV_INSN_FITOD, FRVBF_INSN_FITOD, FRVBF_SFMT_FITOD }, |
| { FRV_INSN_FDTOI, FRVBF_INSN_FDTOI, FRVBF_SFMT_FDTOI }, |
| { FRV_INSN_FDITOS, FRVBF_INSN_FDITOS, FRVBF_SFMT_FDITOS }, |
| { FRV_INSN_FDSTOI, FRVBF_INSN_FDSTOI, FRVBF_SFMT_FDSTOI }, |
| { FRV_INSN_NFDITOS, FRVBF_INSN_NFDITOS, FRVBF_SFMT_FDITOS }, |
| { FRV_INSN_NFDSTOI, FRVBF_INSN_NFDSTOI, FRVBF_SFMT_FDSTOI }, |
| { FRV_INSN_CFITOS, FRVBF_INSN_CFITOS, FRVBF_SFMT_CFITOS }, |
| { FRV_INSN_CFSTOI, FRVBF_INSN_CFSTOI, FRVBF_SFMT_CFSTOI }, |
| { FRV_INSN_NFITOS, FRVBF_INSN_NFITOS, FRVBF_SFMT_NFITOS }, |
| { FRV_INSN_NFSTOI, FRVBF_INSN_NFSTOI, FRVBF_SFMT_NFSTOI }, |
| { FRV_INSN_FMOVS, FRVBF_INSN_FMOVS, FRVBF_SFMT_FMOVS }, |
| { FRV_INSN_FMOVD, FRVBF_INSN_FMOVD, FRVBF_SFMT_FMOVD }, |
| { FRV_INSN_FDMOVS, FRVBF_INSN_FDMOVS, FRVBF_SFMT_FDMOVS }, |
| { FRV_INSN_CFMOVS, FRVBF_INSN_CFMOVS, FRVBF_SFMT_CFMOVS }, |
| { FRV_INSN_FNEGS, FRVBF_INSN_FNEGS, FRVBF_SFMT_FMOVS }, |
| { FRV_INSN_FNEGD, FRVBF_INSN_FNEGD, FRVBF_SFMT_FMOVD }, |
| { FRV_INSN_FDNEGS, FRVBF_INSN_FDNEGS, FRVBF_SFMT_FDMOVS }, |
| { FRV_INSN_CFNEGS, FRVBF_INSN_CFNEGS, FRVBF_SFMT_CFMOVS }, |
| { FRV_INSN_FABSS, FRVBF_INSN_FABSS, FRVBF_SFMT_FMOVS }, |
| { FRV_INSN_FABSD, FRVBF_INSN_FABSD, FRVBF_SFMT_FMOVD }, |
| { FRV_INSN_FDABSS, FRVBF_INSN_FDABSS, FRVBF_SFMT_FDMOVS }, |
| { FRV_INSN_CFABSS, FRVBF_INSN_CFABSS, FRVBF_SFMT_CFMOVS }, |
| { FRV_INSN_FSQRTS, FRVBF_INSN_FSQRTS, FRVBF_SFMT_FMOVS }, |
| { FRV_INSN_FDSQRTS, FRVBF_INSN_FDSQRTS, FRVBF_SFMT_FDMOVS }, |
| { FRV_INSN_NFDSQRTS, FRVBF_INSN_NFDSQRTS, FRVBF_SFMT_FDMOVS }, |
| { FRV_INSN_FSQRTD, FRVBF_INSN_FSQRTD, FRVBF_SFMT_FMOVD }, |
| { FRV_INSN_CFSQRTS, FRVBF_INSN_CFSQRTS, FRVBF_SFMT_CFMOVS }, |
| { FRV_INSN_NFSQRTS, FRVBF_INSN_NFSQRTS, FRVBF_SFMT_NFSQRTS }, |
| { FRV_INSN_FADDS, FRVBF_INSN_FADDS, FRVBF_SFMT_FADDS }, |
| { FRV_INSN_FSUBS, FRVBF_INSN_FSUBS, FRVBF_SFMT_FADDS }, |
| { FRV_INSN_FMULS, FRVBF_INSN_FMULS, FRVBF_SFMT_FADDS }, |
| { FRV_INSN_FDIVS, FRVBF_INSN_FDIVS, FRVBF_SFMT_FADDS }, |
| { FRV_INSN_FADDD, FRVBF_INSN_FADDD, FRVBF_SFMT_FADDD }, |
| { FRV_INSN_FSUBD, FRVBF_INSN_FSUBD, FRVBF_SFMT_FADDD }, |
| { FRV_INSN_FMULD, FRVBF_INSN_FMULD, FRVBF_SFMT_FADDD }, |
| { FRV_INSN_FDIVD, FRVBF_INSN_FDIVD, FRVBF_SFMT_FADDD }, |
| { FRV_INSN_CFADDS, FRVBF_INSN_CFADDS, FRVBF_SFMT_CFADDS }, |
| { FRV_INSN_CFSUBS, FRVBF_INSN_CFSUBS, FRVBF_SFMT_CFADDS }, |
| { FRV_INSN_CFMULS, FRVBF_INSN_CFMULS, FRVBF_SFMT_CFADDS }, |
| { FRV_INSN_CFDIVS, FRVBF_INSN_CFDIVS, FRVBF_SFMT_CFADDS }, |
| { FRV_INSN_NFADDS, FRVBF_INSN_NFADDS, FRVBF_SFMT_NFADDS }, |
| { FRV_INSN_NFSUBS, FRVBF_INSN_NFSUBS, FRVBF_SFMT_NFADDS }, |
| { FRV_INSN_NFMULS, FRVBF_INSN_NFMULS, FRVBF_SFMT_NFADDS }, |
| { FRV_INSN_NFDIVS, FRVBF_INSN_NFDIVS, FRVBF_SFMT_NFADDS }, |
| { FRV_INSN_FCMPS, FRVBF_INSN_FCMPS, FRVBF_SFMT_FCMPS }, |
| { FRV_INSN_FCMPD, FRVBF_INSN_FCMPD, FRVBF_SFMT_FCMPD }, |
| { FRV_INSN_CFCMPS, FRVBF_INSN_CFCMPS, FRVBF_SFMT_CFCMPS }, |
| { FRV_INSN_FDCMPS, FRVBF_INSN_FDCMPS, FRVBF_SFMT_FDCMPS }, |
| { FRV_INSN_FMADDS, FRVBF_INSN_FMADDS, FRVBF_SFMT_FMADDS }, |
| { FRV_INSN_FMSUBS, FRVBF_INSN_FMSUBS, FRVBF_SFMT_FMADDS }, |
| { FRV_INSN_FMADDD, FRVBF_INSN_FMADDD, FRVBF_SFMT_FMADDD }, |
| { FRV_INSN_FMSUBD, FRVBF_INSN_FMSUBD, FRVBF_SFMT_FMADDD }, |
| { FRV_INSN_FDMADDS, FRVBF_INSN_FDMADDS, FRVBF_SFMT_FDMADDS }, |
| { FRV_INSN_NFDMADDS, FRVBF_INSN_NFDMADDS, FRVBF_SFMT_FDMADDS }, |
| { FRV_INSN_CFMADDS, FRVBF_INSN_CFMADDS, FRVBF_SFMT_CFMADDS }, |
| { FRV_INSN_CFMSUBS, FRVBF_INSN_CFMSUBS, FRVBF_SFMT_CFMADDS }, |
| { FRV_INSN_NFMADDS, FRVBF_INSN_NFMADDS, FRVBF_SFMT_NFMADDS }, |
| { FRV_INSN_NFMSUBS, FRVBF_INSN_NFMSUBS, FRVBF_SFMT_NFMADDS }, |
| { FRV_INSN_FMAS, FRVBF_INSN_FMAS, FRVBF_SFMT_FMAS }, |
| { FRV_INSN_FMSS, FRVBF_INSN_FMSS, FRVBF_SFMT_FMAS }, |
| { FRV_INSN_FDMAS, FRVBF_INSN_FDMAS, FRVBF_SFMT_FDMAS }, |
| { FRV_INSN_FDMSS, FRVBF_INSN_FDMSS, FRVBF_SFMT_FDMAS }, |
| { FRV_INSN_NFDMAS, FRVBF_INSN_NFDMAS, FRVBF_SFMT_FDMAS }, |
| { FRV_INSN_NFDMSS, FRVBF_INSN_NFDMSS, FRVBF_SFMT_FDMAS }, |
| { FRV_INSN_CFMAS, FRVBF_INSN_CFMAS, FRVBF_SFMT_CFMAS }, |
| { FRV_INSN_CFMSS, FRVBF_INSN_CFMSS, FRVBF_SFMT_CFMAS }, |
| { FRV_INSN_FMAD, FRVBF_INSN_FMAD, FRVBF_SFMT_FMAS }, |
| { FRV_INSN_FMSD, FRVBF_INSN_FMSD, FRVBF_SFMT_FMAS }, |
| { FRV_INSN_NFMAS, FRVBF_INSN_NFMAS, FRVBF_SFMT_FMAS }, |
| { FRV_INSN_NFMSS, FRVBF_INSN_NFMSS, FRVBF_SFMT_FMAS }, |
| { FRV_INSN_FDADDS, FRVBF_INSN_FDADDS, FRVBF_SFMT_FMAS }, |
| { FRV_INSN_FDSUBS, FRVBF_INSN_FDSUBS, FRVBF_SFMT_FMAS }, |
| { FRV_INSN_FDMULS, FRVBF_INSN_FDMULS, FRVBF_SFMT_FMAS }, |
| { FRV_INSN_FDDIVS, FRVBF_INSN_FDDIVS, FRVBF_SFMT_FMAS }, |
| { FRV_INSN_FDSADS, FRVBF_INSN_FDSADS, FRVBF_SFMT_FMAS }, |
| { FRV_INSN_FDMULCS, FRVBF_INSN_FDMULCS, FRVBF_SFMT_FMAS }, |
| { FRV_INSN_NFDMULCS, FRVBF_INSN_NFDMULCS, FRVBF_SFMT_FMAS }, |
| { FRV_INSN_NFDADDS, FRVBF_INSN_NFDADDS, FRVBF_SFMT_FMAS }, |
| { FRV_INSN_NFDSUBS, FRVBF_INSN_NFDSUBS, FRVBF_SFMT_FMAS }, |
| { FRV_INSN_NFDMULS, FRVBF_INSN_NFDMULS, FRVBF_SFMT_FMAS }, |
| { FRV_INSN_NFDDIVS, FRVBF_INSN_NFDDIVS, FRVBF_SFMT_FMAS }, |
| { FRV_INSN_NFDSADS, FRVBF_INSN_NFDSADS, FRVBF_SFMT_FMAS }, |
| { FRV_INSN_NFDCMPS, FRVBF_INSN_NFDCMPS, FRVBF_SFMT_NFDCMPS }, |
| { FRV_INSN_MHSETLOS, FRVBF_INSN_MHSETLOS, FRVBF_SFMT_MHSETLOS }, |
| { FRV_INSN_MHSETHIS, FRVBF_INSN_MHSETHIS, FRVBF_SFMT_MHSETHIS }, |
| { FRV_INSN_MHDSETS, FRVBF_INSN_MHDSETS, FRVBF_SFMT_MHDSETS }, |
| { FRV_INSN_MHSETLOH, FRVBF_INSN_MHSETLOH, FRVBF_SFMT_MHSETLOH }, |
| { FRV_INSN_MHSETHIH, FRVBF_INSN_MHSETHIH, FRVBF_SFMT_MHSETHIH }, |
| { FRV_INSN_MHDSETH, FRVBF_INSN_MHDSETH, FRVBF_SFMT_MHDSETH }, |
| { FRV_INSN_MAND, FRVBF_INSN_MAND, FRVBF_SFMT_MAND }, |
| { FRV_INSN_MOR, FRVBF_INSN_MOR, FRVBF_SFMT_MAND }, |
| { FRV_INSN_MXOR, FRVBF_INSN_MXOR, FRVBF_SFMT_MAND }, |
| { FRV_INSN_CMAND, FRVBF_INSN_CMAND, FRVBF_SFMT_CMAND }, |
| { FRV_INSN_CMOR, FRVBF_INSN_CMOR, FRVBF_SFMT_CMAND }, |
| { FRV_INSN_CMXOR, FRVBF_INSN_CMXOR, FRVBF_SFMT_CMAND }, |
| { FRV_INSN_MNOT, FRVBF_INSN_MNOT, FRVBF_SFMT_MNOT }, |
| { FRV_INSN_CMNOT, FRVBF_INSN_CMNOT, FRVBF_SFMT_CMNOT }, |
| { FRV_INSN_MROTLI, FRVBF_INSN_MROTLI, FRVBF_SFMT_MROTLI }, |
| { FRV_INSN_MROTRI, FRVBF_INSN_MROTRI, FRVBF_SFMT_MROTLI }, |
| { FRV_INSN_MWCUT, FRVBF_INSN_MWCUT, FRVBF_SFMT_MWCUT }, |
| { FRV_INSN_MWCUTI, FRVBF_INSN_MWCUTI, FRVBF_SFMT_MWCUTI }, |
| { FRV_INSN_MCUT, FRVBF_INSN_MCUT, FRVBF_SFMT_MCUT }, |
| { FRV_INSN_MCUTI, FRVBF_INSN_MCUTI, FRVBF_SFMT_MCUTI }, |
| { FRV_INSN_MCUTSS, FRVBF_INSN_MCUTSS, FRVBF_SFMT_MCUT }, |
| { FRV_INSN_MCUTSSI, FRVBF_INSN_MCUTSSI, FRVBF_SFMT_MCUTI }, |
| { FRV_INSN_MDCUTSSI, FRVBF_INSN_MDCUTSSI, FRVBF_SFMT_MDCUTSSI }, |
| { FRV_INSN_MAVEH, FRVBF_INSN_MAVEH, FRVBF_SFMT_MAND }, |
| { FRV_INSN_MSLLHI, FRVBF_INSN_MSLLHI, FRVBF_SFMT_MSLLHI }, |
| { FRV_INSN_MSRLHI, FRVBF_INSN_MSRLHI, FRVBF_SFMT_MSLLHI }, |
| { FRV_INSN_MSRAHI, FRVBF_INSN_MSRAHI, FRVBF_SFMT_MSLLHI }, |
| { FRV_INSN_MDROTLI, FRVBF_INSN_MDROTLI, FRVBF_SFMT_MDROTLI }, |
| { FRV_INSN_MCPLHI, FRVBF_INSN_MCPLHI, FRVBF_SFMT_MCPLHI }, |
| { FRV_INSN_MCPLI, FRVBF_INSN_MCPLI, FRVBF_SFMT_MCPLI }, |
| { FRV_INSN_MSATHS, FRVBF_INSN_MSATHS, FRVBF_SFMT_MSATHS }, |
| { FRV_INSN_MQSATHS, FRVBF_INSN_MQSATHS, FRVBF_SFMT_MQSATHS }, |
| { FRV_INSN_MSATHU, FRVBF_INSN_MSATHU, FRVBF_SFMT_MSATHS }, |
| { FRV_INSN_MCMPSH, FRVBF_INSN_MCMPSH, FRVBF_SFMT_MCMPSH }, |
| { FRV_INSN_MCMPUH, FRVBF_INSN_MCMPUH, FRVBF_SFMT_MCMPSH }, |
| { FRV_INSN_MABSHS, FRVBF_INSN_MABSHS, FRVBF_SFMT_MABSHS }, |
| { FRV_INSN_MADDHSS, FRVBF_INSN_MADDHSS, FRVBF_SFMT_MSATHS }, |
| { FRV_INSN_MADDHUS, FRVBF_INSN_MADDHUS, FRVBF_SFMT_MSATHS }, |
| { FRV_INSN_MSUBHSS, FRVBF_INSN_MSUBHSS, FRVBF_SFMT_MSATHS }, |
| { FRV_INSN_MSUBHUS, FRVBF_INSN_MSUBHUS, FRVBF_SFMT_MSATHS }, |
| { FRV_INSN_CMADDHSS, FRVBF_INSN_CMADDHSS, FRVBF_SFMT_CMADDHSS }, |
| { FRV_INSN_CMADDHUS, FRVBF_INSN_CMADDHUS, FRVBF_SFMT_CMADDHSS }, |
| { FRV_INSN_CMSUBHSS, FRVBF_INSN_CMSUBHSS, FRVBF_SFMT_CMADDHSS }, |
| { FRV_INSN_CMSUBHUS, FRVBF_INSN_CMSUBHUS, FRVBF_SFMT_CMADDHSS }, |
| { FRV_INSN_MQADDHSS, FRVBF_INSN_MQADDHSS, FRVBF_SFMT_MQSATHS }, |
| { FRV_INSN_MQADDHUS, FRVBF_INSN_MQADDHUS, FRVBF_SFMT_MQSATHS }, |
| { FRV_INSN_MQSUBHSS, FRVBF_INSN_MQSUBHSS, FRVBF_SFMT_MQSATHS }, |
| { FRV_INSN_MQSUBHUS, FRVBF_INSN_MQSUBHUS, FRVBF_SFMT_MQSATHS }, |
| { FRV_INSN_CMQADDHSS, FRVBF_INSN_CMQADDHSS, FRVBF_SFMT_CMQADDHSS }, |
| { FRV_INSN_CMQADDHUS, FRVBF_INSN_CMQADDHUS, FRVBF_SFMT_CMQADDHSS }, |
| { FRV_INSN_CMQSUBHSS, FRVBF_INSN_CMQSUBHSS, FRVBF_SFMT_CMQADDHSS }, |
| { FRV_INSN_CMQSUBHUS, FRVBF_INSN_CMQSUBHUS, FRVBF_SFMT_CMQADDHSS }, |
| { FRV_INSN_MQLCLRHS, FRVBF_INSN_MQLCLRHS, FRVBF_SFMT_MQSATHS }, |
| { FRV_INSN_MQLMTHS, FRVBF_INSN_MQLMTHS, FRVBF_SFMT_MQSATHS }, |
| { FRV_INSN_MQSLLHI, FRVBF_INSN_MQSLLHI, FRVBF_SFMT_MQSLLHI }, |
| { FRV_INSN_MQSRAHI, FRVBF_INSN_MQSRAHI, FRVBF_SFMT_MQSLLHI }, |
| { FRV_INSN_MADDACCS, FRVBF_INSN_MADDACCS, FRVBF_SFMT_MADDACCS }, |
| { FRV_INSN_MSUBACCS, FRVBF_INSN_MSUBACCS, FRVBF_SFMT_MADDACCS }, |
| { FRV_INSN_MDADDACCS, FRVBF_INSN_MDADDACCS, FRVBF_SFMT_MDADDACCS }, |
| { FRV_INSN_MDSUBACCS, FRVBF_INSN_MDSUBACCS, FRVBF_SFMT_MDADDACCS }, |
| { FRV_INSN_MASACCS, FRVBF_INSN_MASACCS, FRVBF_SFMT_MASACCS }, |
| { FRV_INSN_MDASACCS, FRVBF_INSN_MDASACCS, FRVBF_SFMT_MDASACCS }, |
| { FRV_INSN_MMULHS, FRVBF_INSN_MMULHS, FRVBF_SFMT_MMULHS }, |
| { FRV_INSN_MMULHU, FRVBF_INSN_MMULHU, FRVBF_SFMT_MMULHS }, |
| { FRV_INSN_MMULXHS, FRVBF_INSN_MMULXHS, FRVBF_SFMT_MMULHS }, |
| { FRV_INSN_MMULXHU, FRVBF_INSN_MMULXHU, FRVBF_SFMT_MMULHS }, |
| { FRV_INSN_CMMULHS, FRVBF_INSN_CMMULHS, FRVBF_SFMT_CMMULHS }, |
| { FRV_INSN_CMMULHU, FRVBF_INSN_CMMULHU, FRVBF_SFMT_CMMULHS }, |
| { FRV_INSN_MQMULHS, FRVBF_INSN_MQMULHS, FRVBF_SFMT_MQMULHS }, |
| { FRV_INSN_MQMULHU, FRVBF_INSN_MQMULHU, FRVBF_SFMT_MQMULHS }, |
| { FRV_INSN_MQMULXHS, FRVBF_INSN_MQMULXHS, FRVBF_SFMT_MQMULHS }, |
| { FRV_INSN_MQMULXHU, FRVBF_INSN_MQMULXHU, FRVBF_SFMT_MQMULHS }, |
| { FRV_INSN_CMQMULHS, FRVBF_INSN_CMQMULHS, FRVBF_SFMT_CMQMULHS }, |
| { FRV_INSN_CMQMULHU, FRVBF_INSN_CMQMULHU, FRVBF_SFMT_CMQMULHS }, |
| { FRV_INSN_MMACHS, FRVBF_INSN_MMACHS, FRVBF_SFMT_MMACHS }, |
| { FRV_INSN_MMACHU, FRVBF_INSN_MMACHU, FRVBF_SFMT_MMACHU }, |
| { FRV_INSN_MMRDHS, FRVBF_INSN_MMRDHS, FRVBF_SFMT_MMACHS }, |
| { FRV_INSN_MMRDHU, FRVBF_INSN_MMRDHU, FRVBF_SFMT_MMACHU }, |
| { FRV_INSN_CMMACHS, FRVBF_INSN_CMMACHS, FRVBF_SFMT_CMMACHS }, |
| { FRV_INSN_CMMACHU, FRVBF_INSN_CMMACHU, FRVBF_SFMT_CMMACHU }, |
| { FRV_INSN_MQMACHS, FRVBF_INSN_MQMACHS, FRVBF_SFMT_MQMACHS }, |
| { FRV_INSN_MQMACHU, FRVBF_INSN_MQMACHU, FRVBF_SFMT_MQMACHU }, |
| { FRV_INSN_CMQMACHS, FRVBF_INSN_CMQMACHS, FRVBF_SFMT_CMQMACHS }, |
| { FRV_INSN_CMQMACHU, FRVBF_INSN_CMQMACHU, FRVBF_SFMT_CMQMACHU }, |
| { FRV_INSN_MQXMACHS, FRVBF_INSN_MQXMACHS, FRVBF_SFMT_MQMACHS }, |
| { FRV_INSN_MQXMACXHS, FRVBF_INSN_MQXMACXHS, FRVBF_SFMT_MQMACHS }, |
| { FRV_INSN_MQMACXHS, FRVBF_INSN_MQMACXHS, FRVBF_SFMT_MQMACHS }, |
| { FRV_INSN_MCPXRS, FRVBF_INSN_MCPXRS, FRVBF_SFMT_MCPXRS }, |
| { FRV_INSN_MCPXRU, FRVBF_INSN_MCPXRU, FRVBF_SFMT_MCPXRS }, |
| { FRV_INSN_MCPXIS, FRVBF_INSN_MCPXIS, FRVBF_SFMT_MCPXRS }, |
| { FRV_INSN_MCPXIU, FRVBF_INSN_MCPXIU, FRVBF_SFMT_MCPXRS }, |
| { FRV_INSN_CMCPXRS, FRVBF_INSN_CMCPXRS, FRVBF_SFMT_CMCPXRS }, |
| { FRV_INSN_CMCPXRU, FRVBF_INSN_CMCPXRU, FRVBF_SFMT_CMCPXRS }, |
| { FRV_INSN_CMCPXIS, FRVBF_INSN_CMCPXIS, FRVBF_SFMT_CMCPXRS }, |
| { FRV_INSN_CMCPXIU, FRVBF_INSN_CMCPXIU, FRVBF_SFMT_CMCPXRS }, |
| { FRV_INSN_MQCPXRS, FRVBF_INSN_MQCPXRS, FRVBF_SFMT_MQCPXRS }, |
| { FRV_INSN_MQCPXRU, FRVBF_INSN_MQCPXRU, FRVBF_SFMT_MQCPXRS }, |
| { FRV_INSN_MQCPXIS, FRVBF_INSN_MQCPXIS, FRVBF_SFMT_MQCPXRS }, |
| { FRV_INSN_MQCPXIU, FRVBF_INSN_MQCPXIU, FRVBF_SFMT_MQCPXRS }, |
| { FRV_INSN_MEXPDHW, FRVBF_INSN_MEXPDHW, FRVBF_SFMT_MEXPDHW }, |
| { FRV_INSN_CMEXPDHW, FRVBF_INSN_CMEXPDHW, FRVBF_SFMT_CMEXPDHW }, |
| { FRV_INSN_MEXPDHD, FRVBF_INSN_MEXPDHD, FRVBF_SFMT_MEXPDHD }, |
| { FRV_INSN_CMEXPDHD, FRVBF_INSN_CMEXPDHD, FRVBF_SFMT_CMEXPDHD }, |
| { FRV_INSN_MPACKH, FRVBF_INSN_MPACKH, FRVBF_SFMT_MPACKH }, |
| { FRV_INSN_MDPACKH, FRVBF_INSN_MDPACKH, FRVBF_SFMT_MDPACKH }, |
| { FRV_INSN_MUNPACKH, FRVBF_INSN_MUNPACKH, FRVBF_SFMT_MUNPACKH }, |
| { FRV_INSN_MDUNPACKH, FRVBF_INSN_MDUNPACKH, FRVBF_SFMT_MDUNPACKH }, |
| { FRV_INSN_MBTOH, FRVBF_INSN_MBTOH, FRVBF_SFMT_MBTOH }, |
| { FRV_INSN_CMBTOH, FRVBF_INSN_CMBTOH, FRVBF_SFMT_CMBTOH }, |
| { FRV_INSN_MHTOB, FRVBF_INSN_MHTOB, FRVBF_SFMT_MHTOB }, |
| { FRV_INSN_CMHTOB, FRVBF_INSN_CMHTOB, FRVBF_SFMT_CMHTOB }, |
| { FRV_INSN_MBTOHE, FRVBF_INSN_MBTOHE, FRVBF_SFMT_MBTOHE }, |
| { FRV_INSN_CMBTOHE, FRVBF_INSN_CMBTOHE, FRVBF_SFMT_CMBTOHE }, |
| { FRV_INSN_MNOP, FRVBF_INSN_MNOP, FRVBF_SFMT_REI }, |
| { FRV_INSN_MCLRACC_0, FRVBF_INSN_MCLRACC_0, FRVBF_SFMT_MCLRACC_0 }, |
| { FRV_INSN_MCLRACC_1, FRVBF_INSN_MCLRACC_1, FRVBF_SFMT_MCLRACC_0 }, |
| { FRV_INSN_MRDACC, FRVBF_INSN_MRDACC, FRVBF_SFMT_MRDACC }, |
| { FRV_INSN_MRDACCG, FRVBF_INSN_MRDACCG, FRVBF_SFMT_MRDACCG }, |
| { FRV_INSN_MWTACC, FRVBF_INSN_MWTACC, FRVBF_SFMT_MWTACC }, |
| { FRV_INSN_MWTACCG, FRVBF_INSN_MWTACCG, FRVBF_SFMT_MWTACCG }, |
| { FRV_INSN_MCOP1, FRVBF_INSN_MCOP1, FRVBF_SFMT_REI }, |
| { FRV_INSN_MCOP2, FRVBF_INSN_MCOP2, FRVBF_SFMT_REI }, |
| { FRV_INSN_FNOP, FRVBF_INSN_FNOP, FRVBF_SFMT_REI }, |
| }; |
| |
| static const struct insn_sem frvbf_insn_sem_invalid = |
| { |
| VIRTUAL_INSN_X_INVALID, FRVBF_INSN_X_INVALID, FRVBF_SFMT_EMPTY |
| }; |
| |
| /* Initialize an IDESC from the compile-time computable parts. */ |
| |
| static INLINE void |
| init_idesc (SIM_CPU *cpu, IDESC *id, const struct insn_sem *t) |
| { |
| const CGEN_INSN *insn_table = CGEN_CPU_INSN_TABLE (CPU_CPU_DESC (cpu))->init_entries; |
| |
| id->num = t->index; |
| id->sfmt = t->sfmt; |
| if ((int) t->type <= 0) |
| id->idata = & cgen_virtual_insn_table[- (int) t->type]; |
| else |
| id->idata = & insn_table[t->type]; |
| id->attrs = CGEN_INSN_ATTRS (id->idata); |
| /* Oh my god, a magic number. */ |
| id->length = CGEN_INSN_BITSIZE (id->idata) / 8; |
| |
| #if WITH_PROFILE_MODEL_P |
| id->timing = & MODEL_TIMING (CPU_MODEL (cpu)) [t->index]; |
| { |
| SIM_DESC sd = CPU_STATE (cpu); |
| SIM_ASSERT (t->index == id->timing->num); |
| } |
| #endif |
| |
| /* Semantic pointers are initialized elsewhere. */ |
| } |
| |
| /* Initialize the instruction descriptor table. */ |
| |
| void |
| frvbf_init_idesc_table (SIM_CPU *cpu) |
| { |
| IDESC *id,*tabend; |
| const struct insn_sem *t,*tend; |
| int tabsize = FRVBF_INSN__MAX; |
| IDESC *table = frvbf_insn_data; |
| |
| memset (table, 0, tabsize * sizeof (IDESC)); |
| |
| /* First set all entries to the `invalid insn'. */ |
| t = & frvbf_insn_sem_invalid; |
| for (id = table, tabend = table + tabsize; id < tabend; ++id) |
| init_idesc (cpu, id, t); |
| |
| /* Now fill in the values for the chosen cpu. */ |
| for (t = frvbf_insn_sem, tend = t + ARRAY_SIZE (frvbf_insn_sem); |
| t != tend; ++t) |
| { |
| init_idesc (cpu, & table[t->index], t); |
| } |
| |
| /* Link the IDESC table into the cpu. */ |
| CPU_IDESC (cpu) = table; |
| } |
| |
| /* Given an instruction, return a pointer to its IDESC entry. */ |
| |
| const IDESC * |
| frvbf_decode (SIM_CPU *current_cpu, IADDR pc, |
| CGEN_INSN_WORD base_insn, CGEN_INSN_WORD entire_insn, |
| ARGBUF *abuf) |
| { |
| /* Result of decoder. */ |
| FRVBF_INSN_TYPE itype; |
| |
| { |
| CGEN_INSN_WORD insn = base_insn; |
| |
| { |
| unsigned int val0 = (((insn >> 18) & (127 << 0))); |
| switch (val0) |
| { |
| case 0: |
| { |
| unsigned int val1 = (((insn >> 6) & (15 << 0))); |
| switch (val1) |
| { |
| case 0: |
| if ((entire_insn & 0x1fc0fc0) == 0x0) |
| { itype = FRVBF_INSN_ADD; goto extract_sfmt_add; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1: itype = FRVBF_INSN_ADDCC; goto extract_sfmt_addcc; |
| case 2: itype = FRVBF_INSN_ADDX; goto extract_sfmt_addx; |
| case 3: itype = FRVBF_INSN_ADDXCC; goto extract_sfmt_addcc; |
| case 4: |
| if ((entire_insn & 0x1fc0fc0) == 0x100) |
| { itype = FRVBF_INSN_SUB; goto extract_sfmt_add; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5: itype = FRVBF_INSN_SUBCC; goto extract_sfmt_addcc; |
| case 6: itype = FRVBF_INSN_SUBX; goto extract_sfmt_addx; |
| case 7: itype = FRVBF_INSN_SUBXCC; goto extract_sfmt_addcc; |
| case 8: |
| if ((entire_insn & 0x1fc0fc0) == 0x200) |
| { itype = FRVBF_INSN_SMUL; goto extract_sfmt_smul; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9: itype = FRVBF_INSN_SMULCC; goto extract_sfmt_smulcc; |
| case 10: |
| if ((entire_insn & 0x1fc0fc0) == 0x280) |
| { itype = FRVBF_INSN_UMUL; goto extract_sfmt_smul; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 11: itype = FRVBF_INSN_UMULCC; goto extract_sfmt_smulcc; |
| case 12: |
| if ((entire_insn & 0x7ffc03c0) == 0x300) |
| { itype = FRVBF_INSN_CMPB; goto extract_sfmt_cmpb; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 13: |
| if ((entire_insn & 0x7ffc03c0) == 0x340) |
| { itype = FRVBF_INSN_CMPBA; goto extract_sfmt_cmpb; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 14: |
| if ((entire_insn & 0x1fc0fc0) == 0x380) |
| { itype = FRVBF_INSN_SDIV; goto extract_sfmt_sdiv; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 15: |
| if ((entire_insn & 0x1fc0fc0) == 0x3c0) |
| { itype = FRVBF_INSN_UDIV; goto extract_sfmt_sdiv; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 1: |
| { |
| unsigned int val1 = (((insn >> 6) & (15 << 0))); |
| switch (val1) |
| { |
| case 0: |
| if ((entire_insn & 0x1fc0fc0) == 0x40000) |
| { itype = FRVBF_INSN_AND; goto extract_sfmt_add; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1: itype = FRVBF_INSN_ANDCC; goto extract_sfmt_andcc; |
| case 2: |
| if ((entire_insn & 0x1fc0fc0) == 0x40080) |
| { itype = FRVBF_INSN_OR; goto extract_sfmt_add; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3: itype = FRVBF_INSN_ORCC; goto extract_sfmt_andcc; |
| case 4: |
| if ((entire_insn & 0x1fc0fc0) == 0x40100) |
| { itype = FRVBF_INSN_XOR; goto extract_sfmt_add; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5: itype = FRVBF_INSN_XORCC; goto extract_sfmt_andcc; |
| case 6: |
| if ((entire_insn & 0x1ffffc0) == 0x40180) |
| { itype = FRVBF_INSN_NOT; goto extract_sfmt_not; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8: |
| if ((entire_insn & 0x1fc0fc0) == 0x40200) |
| { itype = FRVBF_INSN_SLL; goto extract_sfmt_add; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9: itype = FRVBF_INSN_SLLCC; goto extract_sfmt_addcc; |
| case 10: |
| if ((entire_insn & 0x1fc0fc0) == 0x40280) |
| { itype = FRVBF_INSN_SRL; goto extract_sfmt_add; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 11: itype = FRVBF_INSN_SRLCC; goto extract_sfmt_addcc; |
| case 12: |
| if ((entire_insn & 0x1fc0fc0) == 0x40300) |
| { itype = FRVBF_INSN_SRA; goto extract_sfmt_add; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 13: itype = FRVBF_INSN_SRACC; goto extract_sfmt_addcc; |
| case 14: |
| if ((entire_insn & 0x1fc0fc0) == 0x40380) |
| { itype = FRVBF_INSN_NSDIV; goto extract_sfmt_sdiv; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 15: |
| if ((entire_insn & 0x1fc0fc0) == 0x403c0) |
| { itype = FRVBF_INSN_NUDIV; goto extract_sfmt_sdiv; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 2: |
| { |
| unsigned int val1 = (((insn >> 6) & (63 << 0))); |
| switch (val1) |
| { |
| case 0: itype = FRVBF_INSN_LDSB; goto extract_sfmt_ldsb; |
| case 1: itype = FRVBF_INSN_LDUB; goto extract_sfmt_ldsb; |
| case 2: itype = FRVBF_INSN_LDSH; goto extract_sfmt_ldsb; |
| case 3: itype = FRVBF_INSN_LDUH; goto extract_sfmt_ldsb; |
| case 4: itype = FRVBF_INSN_LD; goto extract_sfmt_ldsb; |
| case 5: itype = FRVBF_INSN_LDD; goto extract_sfmt_ldd; |
| case 6: itype = FRVBF_INSN_LDQ; goto extract_sfmt_ldq; |
| case 8: itype = FRVBF_INSN_LDBF; goto extract_sfmt_ldbf; |
| case 9: itype = FRVBF_INSN_LDHF; goto extract_sfmt_ldbf; |
| case 10: itype = FRVBF_INSN_LDF; goto extract_sfmt_ldbf; |
| case 11: itype = FRVBF_INSN_LDDF; goto extract_sfmt_lddf; |
| case 12: itype = FRVBF_INSN_LDQF; goto extract_sfmt_ldqf; |
| case 13: itype = FRVBF_INSN_LDC; goto extract_sfmt_ldc; |
| case 14: itype = FRVBF_INSN_LDDC; goto extract_sfmt_lddc; |
| case 15: itype = FRVBF_INSN_LDQC; goto extract_sfmt_ldqc; |
| case 16: itype = FRVBF_INSN_LDSBU; goto extract_sfmt_ldsbu; |
| case 17: itype = FRVBF_INSN_LDUBU; goto extract_sfmt_ldsbu; |
| case 18: itype = FRVBF_INSN_LDSHU; goto extract_sfmt_ldsbu; |
| case 19: itype = FRVBF_INSN_LDUHU; goto extract_sfmt_ldsbu; |
| case 20: itype = FRVBF_INSN_LDU; goto extract_sfmt_ldsbu; |
| case 21: itype = FRVBF_INSN_LDDU; goto extract_sfmt_lddu; |
| case 22: itype = FRVBF_INSN_LDQU; goto extract_sfmt_ldqu; |
| case 24: itype = FRVBF_INSN_LDBFU; goto extract_sfmt_ldbfu; |
| case 25: itype = FRVBF_INSN_LDHFU; goto extract_sfmt_ldbfu; |
| case 26: itype = FRVBF_INSN_LDFU; goto extract_sfmt_ldbfu; |
| case 27: itype = FRVBF_INSN_LDDFU; goto extract_sfmt_lddfu; |
| case 28: itype = FRVBF_INSN_LDQFU; goto extract_sfmt_ldqfu; |
| case 29: itype = FRVBF_INSN_LDCU; goto extract_sfmt_ldcu; |
| case 30: itype = FRVBF_INSN_LDDCU; goto extract_sfmt_lddcu; |
| case 31: itype = FRVBF_INSN_LDQCU; goto extract_sfmt_ldqcu; |
| case 32: itype = FRVBF_INSN_NLDSB; goto extract_sfmt_nldsb; |
| case 33: itype = FRVBF_INSN_NLDUB; goto extract_sfmt_nldsb; |
| case 34: itype = FRVBF_INSN_NLDSH; goto extract_sfmt_nldsb; |
| case 35: itype = FRVBF_INSN_NLDUH; goto extract_sfmt_nldsb; |
| case 36: itype = FRVBF_INSN_NLD; goto extract_sfmt_nldsb; |
| case 37: itype = FRVBF_INSN_NLDD; goto extract_sfmt_nldd; |
| case 38: itype = FRVBF_INSN_NLDQ; goto extract_sfmt_nldq; |
| case 40: itype = FRVBF_INSN_NLDBF; goto extract_sfmt_nldbf; |
| case 41: itype = FRVBF_INSN_NLDHF; goto extract_sfmt_nldbf; |
| case 42: itype = FRVBF_INSN_NLDF; goto extract_sfmt_nldbf; |
| case 43: itype = FRVBF_INSN_NLDDF; goto extract_sfmt_nlddf; |
| case 44: itype = FRVBF_INSN_NLDQF; goto extract_sfmt_nldqf; |
| case 48: itype = FRVBF_INSN_NLDSBU; goto extract_sfmt_nldsbu; |
| case 49: itype = FRVBF_INSN_NLDUBU; goto extract_sfmt_nldsbu; |
| case 50: itype = FRVBF_INSN_NLDSHU; goto extract_sfmt_nldsbu; |
| case 51: itype = FRVBF_INSN_NLDUHU; goto extract_sfmt_nldsbu; |
| case 52: itype = FRVBF_INSN_NLDU; goto extract_sfmt_nldsbu; |
| case 53: itype = FRVBF_INSN_NLDDU; goto extract_sfmt_nlddu; |
| case 54: itype = FRVBF_INSN_NLDQU; goto extract_sfmt_nldqu; |
| case 56: itype = FRVBF_INSN_NLDBFU; goto extract_sfmt_nldbfu; |
| case 57: itype = FRVBF_INSN_NLDHFU; goto extract_sfmt_nldbfu; |
| case 58: itype = FRVBF_INSN_NLDFU; goto extract_sfmt_nldbfu; |
| case 59: itype = FRVBF_INSN_NLDDFU; goto extract_sfmt_nlddfu; |
| case 60: itype = FRVBF_INSN_NLDQFU; goto extract_sfmt_nldqfu; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 3: |
| { |
| unsigned int val1 = (((insn >> 6) & (63 << 0))); |
| switch (val1) |
| { |
| case 0: itype = FRVBF_INSN_STB; goto extract_sfmt_stb; |
| case 1: itype = FRVBF_INSN_STH; goto extract_sfmt_stb; |
| case 2: itype = FRVBF_INSN_ST; goto extract_sfmt_stb; |
| case 3: itype = FRVBF_INSN_STD; goto extract_sfmt_std; |
| case 4: itype = FRVBF_INSN_STQ; goto extract_sfmt_ldq; |
| case 5: itype = FRVBF_INSN_SWAP; goto extract_sfmt_swap; |
| case 6: itype = FRVBF_INSN_MOVGS; goto extract_sfmt_movgs; |
| case 7: itype = FRVBF_INSN_MOVSG; goto extract_sfmt_movsg; |
| case 8: itype = FRVBF_INSN_STBF; goto extract_sfmt_stbf; |
| case 9: itype = FRVBF_INSN_STHF; goto extract_sfmt_stbf; |
| case 10: itype = FRVBF_INSN_STF; goto extract_sfmt_stbf; |
| case 11: itype = FRVBF_INSN_STDF; goto extract_sfmt_stdf; |
| case 12: itype = FRVBF_INSN_STQF; goto extract_sfmt_ldqf; |
| case 13: |
| if ((entire_insn & 0x1ffffc0) == 0xc0340) |
| { itype = FRVBF_INSN_MOVFG; goto extract_sfmt_movfg; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 14: |
| if ((entire_insn & 0x1ffffc0) == 0xc0380) |
| { itype = FRVBF_INSN_MOVFGD; goto extract_sfmt_movfgd; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 15: |
| if ((entire_insn & 0x1ffffc0) == 0xc03c0) |
| { itype = FRVBF_INSN_MOVFGQ; goto extract_sfmt_movfgq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 16: itype = FRVBF_INSN_STBU; goto extract_sfmt_stbu; |
| case 17: itype = FRVBF_INSN_STHU; goto extract_sfmt_stbu; |
| case 18: itype = FRVBF_INSN_STU; goto extract_sfmt_stbu; |
| case 19: itype = FRVBF_INSN_STDU; goto extract_sfmt_stdu; |
| case 20: itype = FRVBF_INSN_STQU; goto extract_sfmt_stqu; |
| case 21: |
| if ((entire_insn & 0x1ffffc0) == 0xc0540) |
| { itype = FRVBF_INSN_MOVGF; goto extract_sfmt_movgf; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 22: |
| if ((entire_insn & 0x1ffffc0) == 0xc0580) |
| { itype = FRVBF_INSN_MOVGFD; goto extract_sfmt_movgfd; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 23: |
| if ((entire_insn & 0x1ffffc0) == 0xc05c0) |
| { itype = FRVBF_INSN_MOVGFQ; goto extract_sfmt_movgfq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 24: itype = FRVBF_INSN_STBFU; goto extract_sfmt_stbfu; |
| case 25: itype = FRVBF_INSN_STHFU; goto extract_sfmt_stbfu; |
| case 26: itype = FRVBF_INSN_STFU; goto extract_sfmt_stbfu; |
| case 27: itype = FRVBF_INSN_STDFU; goto extract_sfmt_stdfu; |
| case 28: itype = FRVBF_INSN_STQFU; goto extract_sfmt_ldqfu; |
| case 32: |
| if ((entire_insn & 0x1fc0fc7) == 0xc0800) |
| { itype = FRVBF_INSN_LRAI; goto extract_sfmt_rei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 33: |
| if ((entire_insn & 0x1fc0fc7) == 0xc0840) |
| { itype = FRVBF_INSN_LRAD; goto extract_sfmt_rei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 36: |
| if ((entire_insn & 0x61fc0fc0) == 0xc0900) |
| { itype = FRVBF_INSN_TLBPR; goto extract_sfmt_rei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 37: itype = FRVBF_INSN_STC; goto extract_sfmt_stc; |
| case 38: itype = FRVBF_INSN_STDC; goto extract_sfmt_stdc; |
| case 39: itype = FRVBF_INSN_STQC; goto extract_sfmt_ldqc; |
| case 45: itype = FRVBF_INSN_STCU; goto extract_sfmt_stcu; |
| case 46: itype = FRVBF_INSN_STDCU; goto extract_sfmt_stdcu; |
| case 47: itype = FRVBF_INSN_STQCU; goto extract_sfmt_ldqcu; |
| case 48: |
| if ((entire_insn & 0x7dfc0fc0) == 0xc0c00) |
| { itype = FRVBF_INSN_ICPL; goto extract_sfmt_icpl; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 49: |
| if ((entire_insn & 0x7ffc0fff) == 0xc0c40) |
| { itype = FRVBF_INSN_ICUL; goto extract_sfmt_icul; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 50: itype = FRVBF_INSN_WITLB; goto extract_sfmt_rei; |
| case 51: |
| if ((entire_insn & 0x7ffc0fc0) == 0xc0cc0) |
| { itype = FRVBF_INSN_ITLBI; goto extract_sfmt_rei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 52: |
| if ((entire_insn & 0x7dfc0fc0) == 0xc0d00) |
| { itype = FRVBF_INSN_DCPL; goto extract_sfmt_icpl; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 53: |
| if ((entire_insn & 0x7ffc0fff) == 0xc0d40) |
| { itype = FRVBF_INSN_DCUL; goto extract_sfmt_icul; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 54: itype = FRVBF_INSN_WDTLB; goto extract_sfmt_rei; |
| case 55: |
| if ((entire_insn & 0x7ffc0fc0) == 0xc0dc0) |
| { itype = FRVBF_INSN_DTLBI; goto extract_sfmt_rei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 56: |
| if ((entire_insn & 0x7ffc0fc0) == 0xc0e00) |
| { itype = FRVBF_INSN_ICI; goto extract_sfmt_ici; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 57: |
| if ((entire_insn & 0x7dfc0fc0) == 0xc0e40) |
| { itype = FRVBF_INSN_ICEI; goto extract_sfmt_icei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 58: |
| if ((entire_insn & 0x7dfc0fc0) == 0xc0e80) |
| { itype = FRVBF_INSN_DCEI; goto extract_sfmt_icei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 59: |
| if ((entire_insn & 0x7dfc0fc0) == 0xc0ec0) |
| { itype = FRVBF_INSN_DCEF; goto extract_sfmt_icei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 60: |
| if ((entire_insn & 0x7ffc0fc0) == 0xc0f00) |
| { itype = FRVBF_INSN_DCI; goto extract_sfmt_ici; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 61: |
| if ((entire_insn & 0x7ffc0fc0) == 0xc0f40) |
| { itype = FRVBF_INSN_DCF; goto extract_sfmt_ici; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 62: |
| if ((entire_insn & 0x7fffffff) == 0xc0f80) |
| { itype = FRVBF_INSN_BAR; goto extract_sfmt_rei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 63: |
| if ((entire_insn & 0x7fffffff) == 0xc0fc0) |
| { itype = FRVBF_INSN_MEMBAR; goto extract_sfmt_rei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 4: |
| { |
| unsigned int val1 = (((insn >> 25) & (15 << 2)) | ((insn >> 6) & (3 << 0))); |
| switch (val1) |
| { |
| case 0: |
| if ((entire_insn & 0x7fffffff) == 0x100000) |
| { itype = FRVBF_INSN_TNO; goto extract_sfmt_rei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1: |
| if ((entire_insn & 0x7fffffff) == 0x100040) |
| { itype = FRVBF_INSN_FTNO; goto extract_sfmt_rei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2: |
| if ((entire_insn & 0x7fffffff) == 0x100080) |
| { itype = FRVBF_INSN_MTRAP; goto extract_sfmt_rei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3: |
| if ((entire_insn & 0x7fffffff) == 0x1000c0) |
| { itype = FRVBF_INSN_BREAK; goto extract_sfmt_break; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4: |
| if ((entire_insn & 0x79fc0fc0) == 0x8100000) |
| { itype = FRVBF_INSN_TC; goto extract_sfmt_teq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5: |
| if ((entire_insn & 0x79fc0fc0) == 0x8100040) |
| { itype = FRVBF_INSN_FTU; goto extract_sfmt_ftne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8: |
| if ((entire_insn & 0x79fc0fc0) == 0x10100000) |
| { itype = FRVBF_INSN_TV; goto extract_sfmt_teq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9: |
| if ((entire_insn & 0x79fc0fc0) == 0x10100040) |
| { itype = FRVBF_INSN_FTGT; goto extract_sfmt_ftne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12: |
| if ((entire_insn & 0x79fc0fc0) == 0x18100000) |
| { itype = FRVBF_INSN_TLT; goto extract_sfmt_teq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 13: |
| if ((entire_insn & 0x79fc0fc0) == 0x18100040) |
| { itype = FRVBF_INSN_FTUG; goto extract_sfmt_ftne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 16: |
| if ((entire_insn & 0x79fc0fc0) == 0x20100000) |
| { itype = FRVBF_INSN_TEQ; goto extract_sfmt_teq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 17: |
| if ((entire_insn & 0x79fc0fc0) == 0x20100040) |
| { itype = FRVBF_INSN_FTLT; goto extract_sfmt_ftne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 20: |
| if ((entire_insn & 0x79fc0fc0) == 0x28100000) |
| { itype = FRVBF_INSN_TLS; goto extract_sfmt_teq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 21: |
| if ((entire_insn & 0x79fc0fc0) == 0x28100040) |
| { itype = FRVBF_INSN_FTUL; goto extract_sfmt_ftne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 24: |
| if ((entire_insn & 0x79fc0fc0) == 0x30100000) |
| { itype = FRVBF_INSN_TN; goto extract_sfmt_teq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 25: |
| if ((entire_insn & 0x79fc0fc0) == 0x30100040) |
| { itype = FRVBF_INSN_FTLG; goto extract_sfmt_ftne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 28: |
| if ((entire_insn & 0x79fc0fc0) == 0x38100000) |
| { itype = FRVBF_INSN_TLE; goto extract_sfmt_teq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 29: |
| if ((entire_insn & 0x79fc0fc0) == 0x38100040) |
| { itype = FRVBF_INSN_FTNE; goto extract_sfmt_ftne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 32: |
| if ((entire_insn & 0x7ffc0fc0) == 0x40100000) |
| { itype = FRVBF_INSN_TRA; goto extract_sfmt_tra; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 33: |
| if ((entire_insn & 0x79fc0fc0) == 0x40100040) |
| { itype = FRVBF_INSN_FTEQ; goto extract_sfmt_ftne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 36: |
| if ((entire_insn & 0x79fc0fc0) == 0x48100000) |
| { itype = FRVBF_INSN_TNC; goto extract_sfmt_teq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 37: |
| if ((entire_insn & 0x79fc0fc0) == 0x48100040) |
| { itype = FRVBF_INSN_FTUE; goto extract_sfmt_ftne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 40: |
| if ((entire_insn & 0x79fc0fc0) == 0x50100000) |
| { itype = FRVBF_INSN_TNV; goto extract_sfmt_teq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 41: |
| if ((entire_insn & 0x79fc0fc0) == 0x50100040) |
| { itype = FRVBF_INSN_FTGE; goto extract_sfmt_ftne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 44: |
| if ((entire_insn & 0x79fc0fc0) == 0x58100000) |
| { itype = FRVBF_INSN_TGE; goto extract_sfmt_teq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 45: |
| if ((entire_insn & 0x79fc0fc0) == 0x58100040) |
| { itype = FRVBF_INSN_FTUGE; goto extract_sfmt_ftne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 48: |
| if ((entire_insn & 0x79fc0fc0) == 0x60100000) |
| { itype = FRVBF_INSN_TNE; goto extract_sfmt_teq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 49: |
| if ((entire_insn & 0x79fc0fc0) == 0x60100040) |
| { itype = FRVBF_INSN_FTLE; goto extract_sfmt_ftne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 52: |
| if ((entire_insn & 0x79fc0fc0) == 0x68100000) |
| { itype = FRVBF_INSN_THI; goto extract_sfmt_teq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 53: |
| if ((entire_insn & 0x79fc0fc0) == 0x68100040) |
| { itype = FRVBF_INSN_FTULE; goto extract_sfmt_ftne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 56: |
| if ((entire_insn & 0x79fc0fc0) == 0x70100000) |
| { itype = FRVBF_INSN_TP; goto extract_sfmt_teq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 57: |
| if ((entire_insn & 0x79fc0fc0) == 0x70100040) |
| { itype = FRVBF_INSN_FTO; goto extract_sfmt_ftne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 60: |
| if ((entire_insn & 0x79fc0fc0) == 0x78100000) |
| { itype = FRVBF_INSN_TGT; goto extract_sfmt_teq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 61: |
| if ((entire_insn & 0x7ffc0fc0) == 0x78100040) |
| { itype = FRVBF_INSN_FTRA; goto extract_sfmt_ftra; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 5: |
| if ((entire_insn & 0x7dffffff) == 0x140000) |
| { itype = FRVBF_INSN_RETT; goto extract_sfmt_rett; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6: |
| { |
| unsigned int val1 = (((insn >> 27) & (15 << 0))); |
| switch (val1) |
| { |
| case 0: |
| if ((entire_insn & 0x7ffcffff) == 0x180000) |
| { itype = FRVBF_INSN_BNO; goto extract_sfmt_bno; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1: itype = FRVBF_INSN_BC; goto extract_sfmt_beq; |
| case 2: itype = FRVBF_INSN_BV; goto extract_sfmt_beq; |
| case 3: itype = FRVBF_INSN_BLT; goto extract_sfmt_beq; |
| case 4: itype = FRVBF_INSN_BEQ; goto extract_sfmt_beq; |
| case 5: itype = FRVBF_INSN_BLS; goto extract_sfmt_beq; |
| case 6: itype = FRVBF_INSN_BN; goto extract_sfmt_beq; |
| case 7: itype = FRVBF_INSN_BLE; goto extract_sfmt_beq; |
| case 8: |
| if ((entire_insn & 0x7ffc0000) == 0x40180000) |
| { itype = FRVBF_INSN_BRA; goto extract_sfmt_bra; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9: itype = FRVBF_INSN_BNC; goto extract_sfmt_beq; |
| case 10: itype = FRVBF_INSN_BNV; goto extract_sfmt_beq; |
| case 11: itype = FRVBF_INSN_BGE; goto extract_sfmt_beq; |
| case 12: itype = FRVBF_INSN_BNE; goto extract_sfmt_beq; |
| case 13: itype = FRVBF_INSN_BHI; goto extract_sfmt_beq; |
| case 14: itype = FRVBF_INSN_BP; goto extract_sfmt_beq; |
| case 15: itype = FRVBF_INSN_BGT; goto extract_sfmt_beq; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 7: |
| { |
| unsigned int val1 = (((insn >> 27) & (15 << 0))); |
| switch (val1) |
| { |
| case 0: |
| if ((entire_insn & 0x7ffcffff) == 0x1c0000) |
| { itype = FRVBF_INSN_FBNO; goto extract_sfmt_fbno; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1: itype = FRVBF_INSN_FBU; goto extract_sfmt_fbne; |
| case 2: itype = FRVBF_INSN_FBGT; goto extract_sfmt_fbne; |
| case 3: itype = FRVBF_INSN_FBUG; goto extract_sfmt_fbne; |
| case 4: itype = FRVBF_INSN_FBLT; goto extract_sfmt_fbne; |
| case 5: itype = FRVBF_INSN_FBUL; goto extract_sfmt_fbne; |
| case 6: itype = FRVBF_INSN_FBLG; goto extract_sfmt_fbne; |
| case 7: itype = FRVBF_INSN_FBNE; goto extract_sfmt_fbne; |
| case 8: itype = FRVBF_INSN_FBEQ; goto extract_sfmt_fbne; |
| case 9: itype = FRVBF_INSN_FBUE; goto extract_sfmt_fbne; |
| case 10: itype = FRVBF_INSN_FBGE; goto extract_sfmt_fbne; |
| case 11: itype = FRVBF_INSN_FBUGE; goto extract_sfmt_fbne; |
| case 12: itype = FRVBF_INSN_FBLE; goto extract_sfmt_fbne; |
| case 13: itype = FRVBF_INSN_FBULE; goto extract_sfmt_fbne; |
| case 14: itype = FRVBF_INSN_FBO; goto extract_sfmt_fbne; |
| case 15: |
| if ((entire_insn & 0x7ffc0000) == 0x781c0000) |
| { itype = FRVBF_INSN_FBRA; goto extract_sfmt_fbra; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 8: |
| { |
| unsigned int val1 = (((insn >> 27) & (15 << 0))); |
| switch (val1) |
| { |
| case 0: |
| if ((entire_insn & 0x79ffffff) == 0x200000) |
| { itype = FRVBF_INSN_CKNO; goto extract_sfmt_ckra; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1: |
| if ((entire_insn & 0x79fffffc) == 0x8200000) |
| { itype = FRVBF_INSN_CKC; goto extract_sfmt_ckeq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2: |
| if ((entire_insn & 0x79fffffc) == 0x10200000) |
| { itype = FRVBF_INSN_CKV; goto extract_sfmt_ckeq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3: |
| if ((entire_insn & 0x79fffffc) == 0x18200000) |
| { itype = FRVBF_INSN_CKLT; goto extract_sfmt_ckeq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4: |
| if ((entire_insn & 0x79fffffc) == 0x20200000) |
| { itype = FRVBF_INSN_CKEQ; goto extract_sfmt_ckeq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5: |
| if ((entire_insn & 0x79fffffc) == 0x28200000) |
| { itype = FRVBF_INSN_CKLS; goto extract_sfmt_ckeq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6: |
| if ((entire_insn & 0x79fffffc) == 0x30200000) |
| { itype = FRVBF_INSN_CKN; goto extract_sfmt_ckeq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 7: |
| if ((entire_insn & 0x79fffffc) == 0x38200000) |
| { itype = FRVBF_INSN_CKLE; goto extract_sfmt_ckeq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8: |
| if ((entire_insn & 0x79ffffff) == 0x40200000) |
| { itype = FRVBF_INSN_CKRA; goto extract_sfmt_ckra; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9: |
| if ((entire_insn & 0x79fffffc) == 0x48200000) |
| { itype = FRVBF_INSN_CKNC; goto extract_sfmt_ckeq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 10: |
| if ((entire_insn & 0x79fffffc) == 0x50200000) |
| { itype = FRVBF_INSN_CKNV; goto extract_sfmt_ckeq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 11: |
| if ((entire_insn & 0x79fffffc) == 0x58200000) |
| { itype = FRVBF_INSN_CKGE; goto extract_sfmt_ckeq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12: |
| if ((entire_insn & 0x79fffffc) == 0x60200000) |
| { itype = FRVBF_INSN_CKNE; goto extract_sfmt_ckeq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 13: |
| if ((entire_insn & 0x79fffffc) == 0x68200000) |
| { itype = FRVBF_INSN_CKHI; goto extract_sfmt_ckeq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 14: |
| if ((entire_insn & 0x79fffffc) == 0x70200000) |
| { itype = FRVBF_INSN_CKP; goto extract_sfmt_ckeq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 15: |
| if ((entire_insn & 0x79fffffc) == 0x78200000) |
| { itype = FRVBF_INSN_CKGT; goto extract_sfmt_ckeq; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 9: |
| { |
| unsigned int val1 = (((insn >> 27) & (15 << 0))); |
| switch (val1) |
| { |
| case 0: |
| if ((entire_insn & 0x79fffffc) == 0x240000) |
| { itype = FRVBF_INSN_FCKNO; goto extract_sfmt_fckra; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1: |
| if ((entire_insn & 0x79fffffc) == 0x8240000) |
| { itype = FRVBF_INSN_FCKU; goto extract_sfmt_fckne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2: |
| if ((entire_insn & 0x79fffffc) == 0x10240000) |
| { itype = FRVBF_INSN_FCKGT; goto extract_sfmt_fckne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3: |
| if ((entire_insn & 0x79fffffc) == 0x18240000) |
| { itype = FRVBF_INSN_FCKUG; goto extract_sfmt_fckne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4: |
| if ((entire_insn & 0x79fffffc) == 0x20240000) |
| { itype = FRVBF_INSN_FCKLT; goto extract_sfmt_fckne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5: |
| if ((entire_insn & 0x79fffffc) == 0x28240000) |
| { itype = FRVBF_INSN_FCKUL; goto extract_sfmt_fckne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6: |
| if ((entire_insn & 0x79fffffc) == 0x30240000) |
| { itype = FRVBF_INSN_FCKLG; goto extract_sfmt_fckne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 7: |
| if ((entire_insn & 0x79fffffc) == 0x38240000) |
| { itype = FRVBF_INSN_FCKNE; goto extract_sfmt_fckne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8: |
| if ((entire_insn & 0x79fffffc) == 0x40240000) |
| { itype = FRVBF_INSN_FCKEQ; goto extract_sfmt_fckne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9: |
| if ((entire_insn & 0x79fffffc) == 0x48240000) |
| { itype = FRVBF_INSN_FCKUE; goto extract_sfmt_fckne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 10: |
| if ((entire_insn & 0x79fffffc) == 0x50240000) |
| { itype = FRVBF_INSN_FCKGE; goto extract_sfmt_fckne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 11: |
| if ((entire_insn & 0x79fffffc) == 0x58240000) |
| { itype = FRVBF_INSN_FCKUGE; goto extract_sfmt_fckne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12: |
| if ((entire_insn & 0x79fffffc) == 0x60240000) |
| { itype = FRVBF_INSN_FCKLE; goto extract_sfmt_fckne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 13: |
| if ((entire_insn & 0x79fffffc) == 0x68240000) |
| { itype = FRVBF_INSN_FCKULE; goto extract_sfmt_fckne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 14: |
| if ((entire_insn & 0x79fffffc) == 0x70240000) |
| { itype = FRVBF_INSN_FCKO; goto extract_sfmt_fckne; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 15: |
| if ((entire_insn & 0x79fffffc) == 0x78240000) |
| { itype = FRVBF_INSN_FCKRA; goto extract_sfmt_fckra; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 10: |
| { |
| unsigned int val1 = (((insn >> 6) & (31 << 0))); |
| switch (val1) |
| { |
| case 0: |
| if ((entire_insn & 0x1ffffff) == 0x280000) |
| { itype = FRVBF_INSN_CLRGR; goto extract_sfmt_clrgr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1: |
| if ((entire_insn & 0x7fffffff) == 0x280040) |
| { itype = FRVBF_INSN_CLRGA; goto extract_sfmt_rei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2: |
| if ((entire_insn & 0x1ffffff) == 0x280080) |
| { itype = FRVBF_INSN_CLRFR; goto extract_sfmt_clrfr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3: |
| if ((entire_insn & 0x7fffffff) == 0x2800c0) |
| { itype = FRVBF_INSN_CLRFA; goto extract_sfmt_rei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4: |
| if ((entire_insn & 0x1ffffff) == 0x280100) |
| { itype = FRVBF_INSN_COMMITGR; goto extract_sfmt_commitgr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5: |
| if ((entire_insn & 0x7fffffff) == 0x280140) |
| { itype = FRVBF_INSN_COMMITGA; goto extract_sfmt_rei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6: |
| if ((entire_insn & 0x1ffffff) == 0x280180) |
| { itype = FRVBF_INSN_COMMITFR; goto extract_sfmt_commitfr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 7: |
| if ((entire_insn & 0x7fffffff) == 0x2801c0) |
| { itype = FRVBF_INSN_COMMITFA; goto extract_sfmt_rei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8: |
| if ((entire_insn & 0x71ff8ff8) == 0x280200) |
| { itype = FRVBF_INSN_ANDCR; goto extract_sfmt_andcr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9: |
| if ((entire_insn & 0x71ff8ff8) == 0x280240) |
| { itype = FRVBF_INSN_ORCR; goto extract_sfmt_andcr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 10: |
| if ((entire_insn & 0x71ff8ff8) == 0x280280) |
| { itype = FRVBF_INSN_XORCR; goto extract_sfmt_andcr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 11: |
| if ((entire_insn & 0x71fffff8) == 0x2802c0) |
| { itype = FRVBF_INSN_NOTCR; goto extract_sfmt_notcr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12: |
| if ((entire_insn & 0x71ff8ff8) == 0x280300) |
| { itype = FRVBF_INSN_NANDCR; goto extract_sfmt_andcr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 13: |
| if ((entire_insn & 0x71ff8ff8) == 0x280340) |
| { itype = FRVBF_INSN_NORCR; goto extract_sfmt_andcr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 16: |
| if ((entire_insn & 0x71ff8ff8) == 0x280400) |
| { itype = FRVBF_INSN_ANDNCR; goto extract_sfmt_andcr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 17: |
| if ((entire_insn & 0x71ff8ff8) == 0x280440) |
| { itype = FRVBF_INSN_ORNCR; goto extract_sfmt_andcr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 20: |
| if ((entire_insn & 0x71ff8ff8) == 0x280500) |
| { itype = FRVBF_INSN_NANDNCR; goto extract_sfmt_andcr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 21: |
| if ((entire_insn & 0x71ff8ff8) == 0x280540) |
| { itype = FRVBF_INSN_NORNCR; goto extract_sfmt_andcr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 11: |
| if ((entire_insn & 0x1fc0fc0) == 0x2c0000) |
| { itype = FRVBF_INSN_SCAN; goto extract_sfmt_add; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12: |
| { |
| unsigned int val1 = (((insn >> 25) & (1 << 0))); |
| switch (val1) |
| { |
| case 0: |
| if ((entire_insn & 0x7ffc0fc0) == 0x300000) |
| { itype = FRVBF_INSN_JMPL; goto extract_sfmt_jmpl; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1: |
| if ((entire_insn & 0x7ffc0fc0) == 0x2300000) |
| { itype = FRVBF_INSN_CALLL; goto extract_sfmt_calll; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 13: |
| { |
| unsigned int val1 = (((insn >> 25) & (1 << 0))); |
| switch (val1) |
| { |
| case 0: |
| if ((entire_insn & 0x7ffc0000) == 0x340000) |
| { itype = FRVBF_INSN_JMPIL; goto extract_sfmt_jmpil; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1: |
| if ((entire_insn & 0x7ffc0000) == 0x2340000) |
| { itype = FRVBF_INSN_CALLIL; goto extract_sfmt_callil; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 14: |
| { |
| unsigned int val1 = (((insn >> 25) & (15 << 2)) | ((insn >> 14) & (1 << 1)) | ((insn >> 13) & (1 << 0))); |
| switch (val1) |
| { |
| case 0: |
| if ((entire_insn & 0x7ffcffff) == 0x384000) |
| { itype = FRVBF_INSN_BNOLR; goto extract_sfmt_bnolr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1: |
| { |
| unsigned int val2 = (((insn >> 14) & (1 << 0))); |
| switch (val2) |
| { |
| case 0: |
| if ((entire_insn & 0x7ffcefff) == 0x382000) |
| { itype = FRVBF_INSN_BCTRLR; goto extract_sfmt_bctrlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1: |
| if ((entire_insn & 0x7ffcffff) == 0x386000) |
| { itype = FRVBF_INSN_BCNOLR; goto extract_sfmt_bcnolr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 2: |
| if ((entire_insn & 0x7ffcffff) == 0x38c000) |
| { itype = FRVBF_INSN_FBNOLR; goto extract_sfmt_fbnolr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 3: |
| if ((entire_insn & 0x7ffcffff) == 0x38e000) |
| { itype = FRVBF_INSN_FCBNOLR; goto extract_sfmt_fcbnolr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4: |
| if ((entire_insn & 0x79fcffff) == 0x8384000) |
| { itype = FRVBF_INSN_BCLR; goto extract_sfmt_beqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5: |
| if ((entire_insn & 0x79fcefff) == 0x8386000) |
| { itype = FRVBF_INSN_BCCLR; goto extract_sfmt_bceqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6: |
| if ((entire_insn & 0x79fcffff) == 0x838c000) |
| { itype = FRVBF_INSN_FBULR; goto extract_sfmt_fbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 7: |
| if ((entire_insn & 0x79fcefff) == 0x838e000) |
| { itype = FRVBF_INSN_FCBULR; goto extract_sfmt_fcbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 8: |
| if ((entire_insn & 0x79fcffff) == 0x10384000) |
| { itype = FRVBF_INSN_BVLR; goto extract_sfmt_beqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9: |
| if ((entire_insn & 0x79fcefff) == 0x10386000) |
| { itype = FRVBF_INSN_BCVLR; goto extract_sfmt_bceqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 10: |
| if ((entire_insn & 0x79fcffff) == 0x1038c000) |
| { itype = FRVBF_INSN_FBGTLR; goto extract_sfmt_fbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 11: |
| if ((entire_insn & 0x79fcefff) == 0x1038e000) |
| { itype = FRVBF_INSN_FCBGTLR; goto extract_sfmt_fcbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 12: |
| if ((entire_insn & 0x79fcffff) == 0x18384000) |
| { itype = FRVBF_INSN_BLTLR; goto extract_sfmt_beqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 13: |
| if ((entire_insn & 0x79fcefff) == 0x18386000) |
| { itype = FRVBF_INSN_BCLTLR; goto extract_sfmt_bceqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 14: |
| if ((entire_insn & 0x79fcffff) == 0x1838c000) |
| { itype = FRVBF_INSN_FBUGLR; goto extract_sfmt_fbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 15: |
| if ((entire_insn & 0x79fcefff) == 0x1838e000) |
| { itype = FRVBF_INSN_FCBUGLR; goto extract_sfmt_fcbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 16: |
| if ((entire_insn & 0x79fcffff) == 0x20384000) |
| { itype = FRVBF_INSN_BEQLR; goto extract_sfmt_beqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 17: |
| if ((entire_insn & 0x79fcefff) == 0x20386000) |
| { itype = FRVBF_INSN_BCEQLR; goto extract_sfmt_bceqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 18: |
| if ((entire_insn & 0x79fcffff) == 0x2038c000) |
| { itype = FRVBF_INSN_FBLTLR; goto extract_sfmt_fbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 19: |
| if ((entire_insn & 0x79fcefff) == 0x2038e000) |
| { itype = FRVBF_INSN_FCBLTLR; goto extract_sfmt_fcbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 20: |
| if ((entire_insn & 0x79fcffff) == 0x28384000) |
| { itype = FRVBF_INSN_BLSLR; goto extract_sfmt_beqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 21: |
| if ((entire_insn & 0x79fcefff) == 0x28386000) |
| { itype = FRVBF_INSN_BCLSLR; goto extract_sfmt_bceqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 22: |
| if ((entire_insn & 0x79fcffff) == 0x2838c000) |
| { itype = FRVBF_INSN_FBULLR; goto extract_sfmt_fbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 23: |
| if ((entire_insn & 0x79fcefff) == 0x2838e000) |
| { itype = FRVBF_INSN_FCBULLR; goto extract_sfmt_fcbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 24: |
| if ((entire_insn & 0x79fcffff) == 0x30384000) |
| { itype = FRVBF_INSN_BNLR; goto extract_sfmt_beqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 25: |
| if ((entire_insn & 0x79fcefff) == 0x30386000) |
| { itype = FRVBF_INSN_BCNLR; goto extract_sfmt_bceqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 26: |
| if ((entire_insn & 0x79fcffff) == 0x3038c000) |
| { itype = FRVBF_INSN_FBLGLR; goto extract_sfmt_fbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 27: |
| if ((entire_insn & 0x79fcefff) == 0x3038e000) |
| { itype = FRVBF_INSN_FCBLGLR; goto extract_sfmt_fcbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 28: |
| if ((entire_insn & 0x79fcffff) == 0x38384000) |
| { itype = FRVBF_INSN_BLELR; goto extract_sfmt_beqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 29: |
| if ((entire_insn & 0x79fcefff) == 0x38386000) |
| { itype = FRVBF_INSN_BCLELR; goto extract_sfmt_bceqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 30: |
| if ((entire_insn & 0x79fcffff) == 0x3838c000) |
| { itype = FRVBF_INSN_FBNELR; goto extract_sfmt_fbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 31: |
| if ((entire_insn & 0x79fcefff) == 0x3838e000) |
| { itype = FRVBF_INSN_FCBNELR; goto extract_sfmt_fcbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 32: |
| if ((entire_insn & 0x7ffcffff) == 0x40384000) |
| { itype = FRVBF_INSN_BRALR; goto extract_sfmt_bralr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 33: |
| if ((entire_insn & 0x7ffcefff) == 0x40386000) |
| { itype = FRVBF_INSN_BCRALR; goto extract_sfmt_bcralr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 34: |
| if ((entire_insn & 0x79fcffff) == 0x4038c000) |
| { itype = FRVBF_INSN_FBEQLR; goto extract_sfmt_fbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 35: |
| if ((entire_insn & 0x79fcefff) == 0x4038e000) |
| { itype = FRVBF_INSN_FCBEQLR; goto extract_sfmt_fcbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 36: |
| if ((entire_insn & 0x79fcffff) == 0x48384000) |
| { itype = FRVBF_INSN_BNCLR; goto extract_sfmt_beqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 37: |
| if ((entire_insn & 0x79fcefff) == 0x48386000) |
| { itype = FRVBF_INSN_BCNCLR; goto extract_sfmt_bceqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 38: |
| if ((entire_insn & 0x79fcffff) == 0x4838c000) |
| { itype = FRVBF_INSN_FBUELR; goto extract_sfmt_fbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 39: |
| if ((entire_insn & 0x79fcefff) == 0x4838e000) |
| { itype = FRVBF_INSN_FCBUELR; goto extract_sfmt_fcbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 40: |
| if ((entire_insn & 0x79fcffff) == 0x50384000) |
| { itype = FRVBF_INSN_BNVLR; goto extract_sfmt_beqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 41: |
| if ((entire_insn & 0x79fcefff) == 0x50386000) |
| { itype = FRVBF_INSN_BCNVLR; goto extract_sfmt_bceqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 42: |
| if ((entire_insn & 0x79fcffff) == 0x5038c000) |
| { itype = FRVBF_INSN_FBGELR; goto extract_sfmt_fbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 43: |
| if ((entire_insn & 0x79fcefff) == 0x5038e000) |
| { itype = FRVBF_INSN_FCBGELR; goto extract_sfmt_fcbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 44: |
| if ((entire_insn & 0x79fcffff) == 0x58384000) |
| { itype = FRVBF_INSN_BGELR; goto extract_sfmt_beqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 45: |
| if ((entire_insn & 0x79fcefff) == 0x58386000) |
| { itype = FRVBF_INSN_BCGELR; goto extract_sfmt_bceqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 46: |
| if ((entire_insn & 0x79fcffff) == 0x5838c000) |
| { itype = FRVBF_INSN_FBUGELR; goto extract_sfmt_fbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 47: |
| if ((entire_insn & 0x79fcefff) == 0x5838e000) |
| { itype = FRVBF_INSN_FCBUGELR; goto extract_sfmt_fcbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 48: |
| if ((entire_insn & 0x79fcffff) == 0x60384000) |
| { itype = FRVBF_INSN_BNELR; goto extract_sfmt_beqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 49: |
| if ((entire_insn & 0x79fcefff) == 0x60386000) |
| { itype = FRVBF_INSN_BCNELR; goto extract_sfmt_bceqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 50: |
| if ((entire_insn & 0x79fcffff) == 0x6038c000) |
| { itype = FRVBF_INSN_FBLELR; goto extract_sfmt_fbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 51: |
| if ((entire_insn & 0x79fcefff) == 0x6038e000) |
| { itype = FRVBF_INSN_FCBLELR; goto extract_sfmt_fcbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 52: |
| if ((entire_insn & 0x79fcffff) == 0x68384000) |
| { itype = FRVBF_INSN_BHILR; goto extract_sfmt_beqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 53: |
| if ((entire_insn & 0x79fcefff) == 0x68386000) |
| { itype = FRVBF_INSN_BCHILR; goto extract_sfmt_bceqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 54: |
| if ((entire_insn & 0x79fcffff) == 0x6838c000) |
| { itype = FRVBF_INSN_FBULELR; goto extract_sfmt_fbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 55: |
| if ((entire_insn & 0x79fcefff) == 0x6838e000) |
| { itype = FRVBF_INSN_FCBULELR; goto extract_sfmt_fcbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 56: |
| if ((entire_insn & 0x79fcffff) == 0x70384000) |
| { itype = FRVBF_INSN_BPLR; goto extract_sfmt_beqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 57: |
| if ((entire_insn & 0x79fcefff) == 0x70386000) |
| { itype = FRVBF_INSN_BCPLR; goto extract_sfmt_bceqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 58: |
| if ((entire_insn & 0x79fcffff) == 0x7038c000) |
| { itype = FRVBF_INSN_FBOLR; goto extract_sfmt_fbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 59: |
| if ((entire_insn & 0x79fcefff) == 0x7038e000) |
| { itype = FRVBF_INSN_FCBOLR; goto extract_sfmt_fcbeqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 60: |
| if ((entire_insn & 0x79fcffff) == 0x78384000) |
| { itype = FRVBF_INSN_BGTLR; goto extract_sfmt_beqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 61: |
| if ((entire_insn & 0x79fcefff) == 0x78386000) |
| { itype = FRVBF_INSN_BCGTLR; goto extract_sfmt_bceqlr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 62: |
| if ((entire_insn & 0x7ffcffff) == 0x7838c000) |
| { itype = FRVBF_INSN_FBRALR; goto extract_sfmt_fbralr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 63: |
| if ((entire_insn & 0x7ffcefff) == 0x7838e000) |
| { itype = FRVBF_INSN_FCBRALR; goto extract_sfmt_fcbralr; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 15: itype = FRVBF_INSN_CALL; goto extract_sfmt_call; |
| case 16: itype = FRVBF_INSN_ADDI; goto extract_sfmt_addi; |
| case 17: itype = FRVBF_INSN_ADDICC; goto extract_sfmt_addicc; |
| case 18: itype = FRVBF_INSN_ADDXI; goto extract_sfmt_addxi; |
| case 19: itype = FRVBF_INSN_ADDXICC; goto extract_sfmt_addicc; |
| case 20: itype = FRVBF_INSN_SUBI; goto extract_sfmt_addi; |
| case 21: itype = FRVBF_INSN_SUBICC; goto extract_sfmt_addicc; |
| case 22: itype = FRVBF_INSN_SUBXI; goto extract_sfmt_addxi; |
| case 23: itype = FRVBF_INSN_SUBXICC; goto extract_sfmt_addicc; |
| case 24: itype = FRVBF_INSN_SMULI; goto extract_sfmt_smuli; |
| case 25: itype = FRVBF_INSN_SMULICC; goto extract_sfmt_smulicc; |
| case 26: itype = FRVBF_INSN_UMULI; goto extract_sfmt_smuli; |
| case 27: itype = FRVBF_INSN_UMULICC; goto extract_sfmt_smulicc; |
| case 28: |
| { |
| unsigned int val1 = (((insn >> 27) & (15 << 0))); |
| switch (val1) |
| { |
| case 0: |
| if ((entire_insn & 0x7fffffff) == 0x700000) |
| { itype = FRVBF_INSN_TINO; goto extract_sfmt_rei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1: itype = FRVBF_INSN_TIC; goto extract_sfmt_tieq; |
| case 2: itype = FRVBF_INSN_TIV; goto extract_sfmt_tieq; |
| case 3: itype = FRVBF_INSN_TILT; goto extract_sfmt_tieq; |
| case 4: itype = FRVBF_INSN_TIEQ; goto extract_sfmt_tieq; |
| case 5: itype = FRVBF_INSN_TILS; goto extract_sfmt_tieq; |
| case 6: itype = FRVBF_INSN_TIN; goto extract_sfmt_tieq; |
| case 7: itype = FRVBF_INSN_TILE; goto extract_sfmt_tieq; |
| case 8: |
| if ((entire_insn & 0x7ffc0000) == 0x40700000) |
| { itype = FRVBF_INSN_TIRA; goto extract_sfmt_tira; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 9: itype = FRVBF_INSN_TINC; goto extract_sfmt_tieq; |
| case 10: itype = FRVBF_INSN_TINV; goto extract_sfmt_tieq; |
| case 11: itype = FRVBF_INSN_TIGE; goto extract_sfmt_tieq; |
| case 12: itype = FRVBF_INSN_TINE; goto extract_sfmt_tieq; |
| case 13: itype = FRVBF_INSN_TIHI; goto extract_sfmt_tieq; |
| case 14: itype = FRVBF_INSN_TIP; goto extract_sfmt_tieq; |
| case 15: itype = FRVBF_INSN_TIGT; goto extract_sfmt_tieq; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 29: |
| { |
| unsigned int val1 = (((insn >> 27) & (15 << 0))); |
| switch (val1) |
| { |
| case 0: |
| if ((entire_insn & 0x7fffffff) == 0x740000) |
| { itype = FRVBF_INSN_FTINO; goto extract_sfmt_rei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1: itype = FRVBF_INSN_FTIU; goto extract_sfmt_ftine; |
| case 2: itype = FRVBF_INSN_FTIGT; goto extract_sfmt_ftine; |
| case 3: itype = FRVBF_INSN_FTIUG; goto extract_sfmt_ftine; |
| case 4: itype = FRVBF_INSN_FTILT; goto extract_sfmt_ftine; |
| case 5: itype = FRVBF_INSN_FTIUL; goto extract_sfmt_ftine; |
| case 6: itype = FRVBF_INSN_FTILG; goto extract_sfmt_ftine; |
| case 7: itype = FRVBF_INSN_FTINE; goto extract_sfmt_ftine; |
| case 8: itype = FRVBF_INSN_FTIEQ; goto extract_sfmt_ftine; |
| case 9: itype = FRVBF_INSN_FTIUE; goto extract_sfmt_ftine; |
| case 10: itype = FRVBF_INSN_FTIGE; goto extract_sfmt_ftine; |
| case 11: itype = FRVBF_INSN_FTIUGE; goto extract_sfmt_ftine; |
| case 12: itype = FRVBF_INSN_FTILE; goto extract_sfmt_ftine; |
| case 13: itype = FRVBF_INSN_FTIULE; goto extract_sfmt_ftine; |
| case 14: itype = FRVBF_INSN_FTIO; goto extract_sfmt_ftine; |
| case 15: |
| if ((entire_insn & 0x7ffc0000) == 0x78740000) |
| { itype = FRVBF_INSN_FTIRA; goto extract_sfmt_ftira; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 30: itype = FRVBF_INSN_SDIVI; goto extract_sfmt_sdivi; |
| case 31: itype = FRVBF_INSN_UDIVI; goto extract_sfmt_sdivi; |
| case 32: itype = FRVBF_INSN_ANDI; goto extract_sfmt_addi; |
| case 33: itype = FRVBF_INSN_ANDICC; goto extract_sfmt_andicc; |
| case 34: itype = FRVBF_INSN_ORI; goto extract_sfmt_addi; |
| case 35: itype = FRVBF_INSN_ORICC; goto extract_sfmt_andicc; |
| case 36: itype = FRVBF_INSN_XORI; goto extract_sfmt_addi; |
| case 37: itype = FRVBF_INSN_XORICC; goto extract_sfmt_andicc; |
| case 40: itype = FRVBF_INSN_SLLI; goto extract_sfmt_addi; |
| case 41: itype = FRVBF_INSN_SLLICC; goto extract_sfmt_addicc; |
| case 42: itype = FRVBF_INSN_SRLI; goto extract_sfmt_addi; |
| case 43: itype = FRVBF_INSN_SRLICC; goto extract_sfmt_addicc; |
| case 44: itype = FRVBF_INSN_SRAI; goto extract_sfmt_addi; |
| case 45: itype = FRVBF_INSN_SRAICC; goto extract_sfmt_addicc; |
| case 46: itype = FRVBF_INSN_NSDIVI; goto extract_sfmt_sdivi; |
| case 47: itype = FRVBF_INSN_NUDIVI; goto extract_sfmt_sdivi; |
| case 48: itype = FRVBF_INSN_LDSBI; goto extract_sfmt_ldsbi; |
| case 49: itype = FRVBF_INSN_LDSHI; goto extract_sfmt_ldsbi; |
| case 50: itype = FRVBF_INSN_LDI; goto extract_sfmt_ldsbi; |
| case 51: itype = FRVBF_INSN_LDDI; goto extract_sfmt_lddi; |
| case 52: itype = FRVBF_INSN_LDQI; goto extract_sfmt_ldqi; |
| case 53: itype = FRVBF_INSN_LDUBI; goto extract_sfmt_ldsbi; |
| case 54: itype = FRVBF_INSN_LDUHI; goto extract_sfmt_ldsbi; |
| case 55: |
| if ((entire_insn & 0x7ffc0fff) == 0xdc0000) |
| { itype = FRVBF_INSN_REI; goto extract_sfmt_rei; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 56: itype = FRVBF_INSN_LDBFI; goto extract_sfmt_ldbfi; |
| case 57: itype = FRVBF_INSN_LDHFI; goto extract_sfmt_ldbfi; |
| case 58: itype = FRVBF_INSN_LDFI; goto extract_sfmt_ldbfi; |
| case 59: itype = FRVBF_INSN_LDDFI; goto extract_sfmt_lddfi; |
| case 60: itype = FRVBF_INSN_LDQFI; goto extract_sfmt_ldqfi; |
| case 61: |
| if ((entire_insn & 0x1ff0000) == 0xf40000) |
| { itype = FRVBF_INSN_SETLO; goto extract_sfmt_setlo; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 62: |
| if ((entire_insn & 0x1ff0000) == 0xf80000) |
| { itype = FRVBF_INSN_SETHI; goto extract_sfmt_sethi; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 63: |
| if ((entire_insn & 0x1ff0000) == 0xfc0000) |
| { itype = FRVBF_INSN_SETLOS; goto extract_sfmt_setlos; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 64: itype = FRVBF_INSN_NLDSBI; goto extract_sfmt_nldsbi; |
| case 65: itype = FRVBF_INSN_NLDUBI; goto extract_sfmt_nldsbi; |
| case 66: itype = FRVBF_INSN_NLDSHI; goto extract_sfmt_nldsbi; |
| case 67: itype = FRVBF_INSN_NLDUHI; goto extract_sfmt_nldsbi; |
| case 68: itype = FRVBF_INSN_NLDI; goto extract_sfmt_nldsbi; |
| case 69: itype = FRVBF_INSN_NLDDI; goto extract_sfmt_nlddi; |
| case 70: |
| { |
| unsigned int val1 = (((insn >> 6) & (7 << 0))); |
| switch (val1) |
| { |
| case 0: |
| if ((entire_insn & 0x1fc0fc0) == 0x1180000) |
| { itype = FRVBF_INSN_ADDSS; goto extract_sfmt_slass; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 1: |
| if ((entire_insn & 0x1fc0fc0) == 0x1180040) |
| { itype = FRVBF_INSN_SUBSS; goto extract_sfmt_slass; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 2: |
| if ((entire_insn & 0x1fc0fc0) == 0x1180080) |
| { itype = FRVBF_INSN_SLASS; goto extract_sfmt_slass; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 4: |
| if ((entire_insn & 0x1ffffc0) == 0x1180100) |
| { itype = FRVBF_INSN_SCUTSS; goto extract_sfmt_scutss; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 5: |
| if ((entire_insn & 0x7ffc0fc0) == 0x1180140) |
| { itype = FRVBF_INSN_SMU; goto extract_sfmt_smu; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 6: |
| if ((entire_insn & 0x7ffc0fc0) == 0x1180180) |
| { itype = FRVBF_INSN_SMASS; goto extract_sfmt_smass; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| case 7: |
| if ((entire_insn & 0x7ffc0fc0) == 0x11801c0) |
| { itype = FRVBF_INSN_SMSSS; goto extract_sfmt_smass; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 71: itype = FRVBF_INSN_SCANI; goto extract_sfmt_addi; |
| case 72: itype = FRVBF_INSN_NLDBFI; goto extract_sfmt_nldbfi; |
| case 73: itype = FRVBF_INSN_NLDHFI; goto extract_sfmt_nldbfi; |
| case 74: itype = FRVBF_INSN_NLDFI; goto extract_sfmt_nldbfi; |
| case 75: itype = FRVBF_INSN_NLDDFI; goto extract_sfmt_nlddfi; |
| case 76: itype = FRVBF_INSN_NLDQFI; goto extract_sfmt_nldqfi; |
| case 77: itype = FRVBF_INSN_SWAPI; goto extract_sfmt_swapi; |
| case 78: itype = FRVBF_INSN_STBFI; goto extract_sfmt_stbfi; |
| case 79: itype = FRVBF_INSN_STHFI; goto extract_sfmt_stbfi; |
| case 80: itype = FRVBF_INSN_STBI; goto extract_sfmt_stbi; |
| case 81: itype = FRVBF_INSN_STHI; goto extract_sfmt_stbi; |
| case 82: itype = FRVBF_INSN_STI; goto extract_sfmt_stbi; |
| case 83: itype = FRVBF_INSN_STDI; goto extract_sfmt_stdi; |
| case 84: itype = FRVBF_INSN_STQI; goto extract_sfmt_ldqi; |
| case 85: itype = FRVBF_INSN_STFI; goto extract_sfmt_stbfi; |
| case 86: itype = FRVBF_INSN_STDFI; goto extract_sfmt_stdfi; |
| case 87: itype = FRVBF_INSN_STQFI; goto extract_sfmt_ldqfi; |
| case 88: |
| { |
| unsigned int val1 = (((insn >> 6) & (3 << 0))); |
| switch (val1) |
| { |
| case 0: itype = FRVBF_INSN_CADD; goto extract_sfmt_cadd; |
| case 1: itype = FRVBF_INSN_CSUB; goto extract_sfmt_cadd; |
| case 2: itype = FRVBF_INSN_CSMUL; goto extract_sfmt_csmul; |
| case 3: itype = FRVBF_INSN_CSDIV; goto extract_sfmt_csdiv; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 89: |
| { |
| unsigned int val1 = (((insn >> 6) & (3 << 0))); |
| switch (val1) |
| { |
| case 0: itype = FRVBF_INSN_CADDCC; goto extract_sfmt_caddcc; |
| case 1: itype = FRVBF_INSN_CSUBCC; goto extract_sfmt_caddcc; |
| case 2: itype = FRVBF_INSN_CSMULCC; goto extract_sfmt_csmulcc; |
| case 3: itype = FRVBF_INSN_CUDIV; goto extract_sfmt_csdiv; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 90: |
| { |
| unsigned int val1 = (((insn >> 6) & (3 << 0))); |
| switch (val1) |
| { |
| case 0: itype = FRVBF_INSN_CAND; goto extract_sfmt_cadd; |
| case 1: itype = FRVBF_INSN_COR; goto extract_sfmt_cadd; |
| case 2: itype = FRVBF_INSN_CXOR; goto extract_sfmt_cadd; |
| case 3: |
| if ((entire_insn & 0x1fff0c0) == 0x16800c0) |
| { itype = FRVBF_INSN_CNOT; goto extract_sfmt_cnot; } |
| itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 91: |
| { |
| unsigned int val1 = (((insn >> 6) & (3 << 0))); |
| switch (val1) |
| { |
| case 0: itype = FRVBF_INSN_CANDCC; goto extract_sfmt_caddcc; |
| case 1: itype = FRVBF_INSN_CORCC; goto extract_sfmt_caddcc; |
| case 2: itype = FRVBF_INSN_CXORCC; goto extract_sfmt_caddcc; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 92: |
| { |
| unsigned int val1 = (((insn >> 6) & (3 << 0))); |
| switch (val1) |
| { |
| case 0: itype = FRVBF_INSN_CSLL; goto extract_sfmt_cadd; |
| case 1: itype = FRVBF_INSN_CSRL; goto extract_sfmt_cadd; |
| case 2: itype = FRVBF_INSN_CSRA; goto extract_sfmt_cadd; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 93: |
| { |
| unsigned int val1 = (((insn >> 6) & (3 << 0))); |
| switch (val1) |
| { |
| case 0: itype = FRVBF_INSN_CSLLCC; goto extract_sfmt_caddcc; |
| case 1: itype = FRVBF_INSN_CSRLCC; goto extract_sfmt_caddcc; |
| case 2: itype = FRVBF_INSN_CSRACC; goto extract_sfmt_caddcc; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 94: |
| { |
| unsigned int val1 = (((insn >> 6) & (3 << 0))); |
| switch (val1) |
| { |
| case 0: itype = FRVBF_INSN_CLDSB; goto extract_sfmt_cldsb; |
| case 1: itype = FRVBF_INSN_CLDUB; goto extract_sfmt_cldsb; |
| case 2: itype = FRVBF_INSN_CLDSH; goto extract_sfmt_cldsb; |
| case 3: itype = FRVBF_INSN_CLDUH; goto extract_sfmt_cldsb; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 95: |
| { |
| unsigned int val1 = (((insn >> 6) & (3 << 0))); |
| switch (val1) |
| { |
| case 0: itype = FRVBF_INSN_CLD; goto extract_sfmt_cldsb; |
| case 1: itype = FRVBF_INSN_CLDD; goto extract_sfmt_cldd; |
| case 2: itype = FRVBF_INSN_CLDQ; goto extract_sfmt_cldq; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 96: |
| { |
| unsigned int val1 = (((insn >> 6) & (3 << 0))); |
| switch (val1) |
| { |
| case 0: itype = FRVBF_INSN_CLDBF; goto extract_sfmt_cldbf; |
| case 1: itype = FRVBF_INSN_CLDHF; goto extract_sfmt_cldbf; |
| case 2: itype = FRVBF_INSN_CLDF; goto extract_sfmt_cldbf; |
| case 3: itype = FRVBF_INSN_CLDDF; goto extract_sfmt_clddf; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 97: |
| { |
| unsigned int val1 = (((insn >> 6) & (3 << 0))); |
| switch (val1) |
| { |
| case 0: itype = FRVBF_INSN_CLDSBU; goto extract_sfmt_cldsbu; |
| case 1: itype = FRVBF_INSN_CLDUBU; goto extract_sfmt_cldsbu; |
| case 2: itype = FRVBF_INSN_CLDSHU; goto extract_sfmt_cldsbu; |
| case 3: itype = FRVBF_INSN_CLDUHU; goto extract_sfmt_cldsbu; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 98: |
| { |
| unsigned int val1 = (((insn >> 6) & (3 << 0))); |
| switch (val1) |
| { |
| case 0: itype = FRVBF_INSN_CLDU; goto extract_sfmt_cldsbu; |
| case 1: itype = FRVBF_INSN_CLDDU; goto extract_sfmt_clddu; |
| case 2: itype = FRVBF_INSN_CLDQU; goto extract_sfmt_cldqu; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 99: |
| { |
| unsigned int val1 = (((insn >> 6) & (3 << 0))); |
| switch (val1) |
| { |
| case 0: itype = FRVBF_INSN_CLDBFU; goto extract_sfmt_cldbfu; |
| case 1: itype = FRVBF_INSN_CLDHFU; goto extract_sfmt_cldbfu; |
| case 2: itype = FRVBF_INSN_CLDFU; goto extract_sfmt_cldbfu; |
| case 3: itype = FRVBF_INSN_CLDDFU; goto extract_sfmt_clddfu; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 100: |
| { |
| unsigned int val1 = (((insn >> 6) & (3 << 0))); |
| switch (val1) |
| { |
| case 0: itype = FRVBF_INSN_CSTB; goto extract_sfmt_cstb; |
| case 1: itype = FRVBF_INSN_CSTH; goto extract_sfmt_cstb; |
| case 2: itype = FRVBF_INSN_CST; goto extract_sfmt_cstb; |
| case 3: itype = FRVBF_INSN_CSTD; goto extract_sfmt_cstd; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 101: |
| { |
| unsigned int val1 = (((insn >> 6) & (3 << 0))); |
| switch (val1) |
| { |
| case 0: itype = FRVBF_INSN_CSTQ; goto extract_sfmt_cldq; |
| case 2: itype = FRVBF_INSN_CSWAP; goto extract_sfmt_cswap; |
| case 3: itype = FRVBF_INSN_CSCAN; goto extract_sfmt_cadd; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 102: |
| { |
| unsigned int val1 = (((insn >> 6) & (3 << 0))); |
| switch (val1) |
| { |
| case 0: itype = FRVBF_INSN_CSTBF; goto extract_sfmt_cstbf; |
| case 1: itype = FRVBF_INSN_CSTHF; goto extract_sfmt_cstbf; |
| case 2: itype = FRVBF_INSN_CSTF; goto extract_sfmt_cstbf; |
| case 3: itype = FRVBF_INSN_CSTDF; goto extract_sfmt_cstdf; |
| default: itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty; |
| } |
| } |
| case 103: |
| { |
| unsigned int val1 = (((insn >> 6<
|