| 1 | 
         17 | 
         khays | 
         /* SPU ELF support for BFD.
  | 
      
      
         | 2 | 
          | 
          | 
          
  | 
      
      
         | 3 | 
          | 
          | 
            Copyright 2006, 2007, 2010 Free Software Foundation, Inc.
  | 
      
      
         | 4 | 
          | 
          | 
          
  | 
      
      
         | 5 | 
          | 
          | 
            This file is part of BFD, the Binary File Descriptor library.
  | 
      
      
         | 6 | 
          | 
          | 
          
  | 
      
      
         | 7 | 
          | 
          | 
            This program is free software; you can redistribute it and/or modify
  | 
      
      
         | 8 | 
          | 
          | 
            it under the terms of the GNU General Public License as published by
  | 
      
      
         | 9 | 
          | 
          | 
            the Free Software Foundation; either version 3 of the License, or
  | 
      
      
         | 10 | 
          | 
          | 
            (at your option) any later version.
  | 
      
      
         | 11 | 
          | 
          | 
          
  | 
      
      
         | 12 | 
          | 
          | 
            This program is distributed in the hope that it will be useful,
  | 
      
      
         | 13 | 
          | 
          | 
            but WITHOUT ANY WARRANTY; without even the implied warranty of
  | 
      
      
         | 14 | 
          | 
          | 
            MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  | 
      
      
         | 15 | 
          | 
          | 
            GNU General Public License for more details.
  | 
      
      
         | 16 | 
          | 
          | 
          
  | 
      
      
         | 17 | 
          | 
          | 
            You should have received a copy of the GNU General Public License
  | 
      
      
         | 18 | 
          | 
          | 
            along with this program; if not, write to the Free Software Foundation,
  | 
      
      
         | 19 | 
          | 
          | 
            Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
  | 
      
      
         | 20 | 
          | 
          | 
          
  | 
      
      
         | 21 | 
          | 
          | 
         /* SPU Opcode Table
  | 
      
      
         | 22 | 
          | 
          | 
          
  | 
      
      
         | 23 | 
          | 
          | 
         -=-=-= FORMAT =-=-=-
  | 
      
      
         | 24 | 
          | 
          | 
          
  | 
      
      
         | 25 | 
          | 
          | 
                +----+-------+-------+-------+-------+                  +------------+-------+-------+-------+
  | 
      
      
         | 26 | 
          | 
          | 
         RRR    | op |  RC   |  RB   |  RA   |  RT   |           RI7    | op         |  I7   |  RA   |  RT   |
  | 
      
      
         | 27 | 
          | 
          | 
                +----+-------+-------+-------+-------+                  +------------+-------+-------+-------+
  | 
      
      
         | 28 | 
          | 
          | 
          
  | 
      
      
         | 29 | 
          | 
          | 
          
  | 
      
      
         | 30 | 
          | 
          | 
          
  | 
      
      
         | 31 | 
          | 
          | 
                +-----------+--------+-------+-------+                  +---------+----------+-------+-------+
  | 
      
      
         | 32 | 
          | 
          | 
         RI8    | op        |   I8   |  RA   |  RT   |           RI10   | op      |   I10    |  RA   |  RT   |
  | 
      
      
         | 33 | 
          | 
          | 
                +-----------+--------+-------+-------+                  +---------+----------+-------+-------+
  | 
      
      
         | 34 | 
          | 
          | 
          
  | 
      
      
         | 35 | 
          | 
          | 
                                    7       4       1                                       7       4       1
  | 
      
      
         | 36 | 
          | 
          | 
          
  | 
      
      
         | 37 | 
          | 
          | 
                +----------+-----------------+-------+                  +--------+-------------------+-------+
  | 
      
      
         | 38 | 
          | 
          | 
         RI16   | op       |       I16       |  RT   |           RI18   | op     |       I18         |  RT   |
  | 
      
      
         | 39 | 
          | 
          | 
                +----------+-----------------+-------+                  +--------+-------------------+-------+
  | 
      
      
         | 40 | 
          | 
          | 
          
  | 
      
      
         | 41 | 
          | 
          | 
                                            4       1                                               4       1
  | 
      
      
         | 42 | 
          | 
          | 
          
  | 
      
      
         | 43 | 
          | 
          | 
                +------------+-------+-------+-------+                  +-------+--+-----------------+-------+
  | 
      
      
         | 44 | 
          | 
          | 
         RR     | op         |  RB   |  RA   |  RT   |           LBT    | op    |RO|       I16       |  RO   |
  | 
      
      
         | 45 | 
          | 
          | 
                +------------+-------+-------+-------+                  +-------+--+-----------------+-------+
  | 
      
      
         | 46 | 
          | 
          | 
          
  | 
      
      
         | 47 | 
          | 
          | 
          
  | 
      
      
         | 48 | 
          | 
          | 
          
  | 
      
      
         | 49 | 
          | 
          | 
                                                                        +------------+----+--+-------+-------+
  | 
      
      
         | 50 | 
          | 
          | 
                                                                 LBTI   | op         | // |RO|  RA   |  RO   |
  | 
      
      
         | 51 | 
          | 
          | 
                                                                        +------------+----+--+-------+-------+
  | 
      
      
         | 52 | 
          | 
          | 
          
  | 
      
      
         | 53 | 
          | 
          | 
          
  | 
      
      
         | 54 | 
          | 
          | 
          
  | 
      
      
         | 55 | 
          | 
          | 
         -=-=-= OPCODE =-=-=-
  | 
      
      
         | 56 | 
          | 
          | 
          
  | 
      
      
         | 57 | 
          | 
          | 
         OPCODE field specifies the most significant 11bit of the instruction. Some formats don't have 11bits for opcode field, and in this
  | 
      
      
         | 58 | 
          | 
          | 
         case, bit field other than op are defined as 0s. For example, opcode of fma instruction which is RRR format is defined as 0x700,
  | 
      
      
         | 59 | 
          | 
          | 
         since 0x700 -> 11'b11100000000, this means opcode is 4'b1110, and other 7bits are defined as 7'b0000000.
  | 
      
      
         | 60 | 
          | 
          | 
          
  | 
      
      
         | 61 | 
          | 
          | 
         -=-=-= ASM_FORMAT =-=-=-
  | 
      
      
         | 62 | 
          | 
          | 
          
  | 
      
      
         | 63 | 
          | 
          | 
         RRR category                                            RI7 category
  | 
      
      
         | 64 | 
          | 
          | 
                 ASM_RRR         mnemonic RC, RA, RB, RT                 ASM_RI4         mnemonic RT, RA, I4
  | 
      
      
         | 65 | 
          | 
          | 
                                                                         ASM_RI7         mnemonic RT, RA, I7
  | 
      
      
         | 66 | 
          | 
          | 
          
  | 
      
      
         | 67 | 
          | 
          | 
         RI8 category                                            RI10 category
  | 
      
      
         | 68 | 
          | 
          | 
                 ASM_RUI8        mnemonic RT, RA, UI8                    ASM_AI10        mnemonic RA, I10
  | 
      
      
         | 69 | 
          | 
          | 
                                                                         ASM_RI10        mnemonic RT, RA, R10
  | 
      
      
         | 70 | 
          | 
          | 
                                                                         ASM_RI10IDX     mnemonic RT, I10(RA)
  | 
      
      
         | 71 | 
          | 
          | 
          
  | 
      
      
         | 72 | 
          | 
          | 
         RI16 category                                           RI18 category
  | 
      
      
         | 73 | 
          | 
          | 
                 ASM_I16W        mnemonic I16W                           ASM_RI18        mnemonic RT, I18
  | 
      
      
         | 74 | 
          | 
          | 
                 ASM_RI16        mnemonic RT, I16
  | 
      
      
         | 75 | 
          | 
          | 
                 ASM_RI16W       mnemonic RT, I16W
  | 
      
      
         | 76 | 
          | 
          | 
          
  | 
      
      
         | 77 | 
          | 
          | 
         RR category                                             LBT category
  | 
      
      
         | 78 | 
          | 
          | 
                 ASM_MFSPR       mnemonic RT, SA                         ASM_LBT         mnemonic brinst, brtarg
  | 
      
      
         | 79 | 
          | 
          | 
                 ASM_MTSPR       mnemonic SA, RT
  | 
      
      
         | 80 | 
          | 
          | 
                 ASM_NOOP        mnemonic                        LBTI category
  | 
      
      
         | 81 | 
          | 
          | 
                 ASM_RA          mnemonic RA                             ASM_LBTI        mnemonic brinst, RA
  | 
      
      
         | 82 | 
          | 
          | 
                 ASM_RAB         mnemonic RA, RB
  | 
      
      
         | 83 | 
          | 
          | 
                 ASM_RDCH        mnemonic RT, CA
  | 
      
      
         | 84 | 
          | 
          | 
                 ASM_RR          mnemonic RT, RA, RB
  | 
      
      
         | 85 | 
          | 
          | 
                 ASM_RT          mnemonic RT
  | 
      
      
         | 86 | 
          | 
          | 
                 ASM_RTA         mnemonic RT, RA
  | 
      
      
         | 87 | 
          | 
          | 
                 ASM_WRCH        mnemonic CA, RT
  | 
      
      
         | 88 | 
          | 
          | 
          
  | 
      
      
         | 89 | 
          | 
          | 
         Note that RRR instructions have the names for RC and RT reversed from
  | 
      
      
         | 90 | 
          | 
          | 
         what's in the ISA, in order to put RT in the same position it appears
  | 
      
      
         | 91 | 
          | 
          | 
         for other formats.
  | 
      
      
         | 92 | 
          | 
          | 
          
  | 
      
      
         | 93 | 
          | 
          | 
         -=-=-= DEPENDENCY =-=-=-
  | 
      
      
         | 94 | 
          | 
          | 
          
  | 
      
      
         | 95 | 
          | 
          | 
         DEPENDENCY filed consists of 5 digits. This represents which register is used as source and which register is used as target.
  | 
      
      
         | 96 | 
          | 
          | 
         The first(most significant) digit is always 0. Then it is followd by RC, RB, RA and RT digits.
  | 
      
      
         | 97 | 
          | 
          | 
         If the digit is 0, this means the corresponding register is not used in the instruction.
  | 
      
      
         | 98 | 
          | 
          | 
         If the digit is 1, this means the corresponding register is used as a source in the instruction.
  | 
      
      
         | 99 | 
          | 
          | 
         If the digit is 2, this means the corresponding register is used as a target in the instruction.
  | 
      
      
         | 100 | 
          | 
          | 
         If the digit is 3, this means the corresponding register is used as both source and target in the instruction.
  | 
      
      
         | 101 | 
          | 
          | 
         For example, fms instruction has 00113 as the DEPENDENCY field. This means RC is not used in this operation, RB and RA are
  | 
      
      
         | 102 | 
          | 
          | 
         used as sources and RT is the target.
  | 
      
      
         | 103 | 
          | 
          | 
          
  | 
      
      
         | 104 | 
          | 
          | 
         -=-=-= PIPE =-=-=-
  | 
      
      
         | 105 | 
          | 
          | 
          
  | 
      
      
         | 106 | 
          | 
          | 
         This field shows which execution pipe is used for the instruction
  | 
      
      
         | 107 | 
          | 
          | 
          
  | 
      
      
         | 108 | 
          | 
          | 
         pipe0 execution pipelines:
  | 
      
      
         | 109 | 
          | 
          | 
                 FP6     SP floating pipeline
  | 
      
      
         | 110 | 
          | 
          | 
                 FP7     integer operations executed in SP floating pipeline
  | 
      
      
         | 111 | 
          | 
          | 
                 FPD     DP floating pipeline
  | 
      
      
         | 112 | 
          | 
          | 
                 FX2     FXU pipeline
  | 
      
      
         | 113 | 
          | 
          | 
                 FX3     Rotate/Shift pipeline
  | 
      
      
         | 114 | 
          | 
          | 
                 FXB     Byte pipeline
  | 
      
      
         | 115 | 
          | 
          | 
                 NOP     No pipeline
  | 
      
      
         | 116 | 
          | 
          | 
          
  | 
      
      
         | 117 | 
          | 
          | 
         pipe1 execution pipelines:
  | 
      
      
         | 118 | 
          | 
          | 
                 BR      Branch pipeline
  | 
      
      
         | 119 | 
          | 
          | 
                 LNOP    No pipeline
  | 
      
      
         | 120 | 
          | 
          | 
                 LS      Load/Store pipeline
  | 
      
      
         | 121 | 
          | 
          | 
                 SHUF    Shuffle pipeline
  | 
      
      
         | 122 | 
          | 
          | 
                 SPR     SPR/CH pipeline
  | 
      
      
         | 123 | 
          | 
          | 
          
  | 
      
      
         | 124 | 
          | 
          | 
         */
  | 
      
      
         | 125 | 
          | 
          | 
          
  | 
      
      
         | 126 | 
          | 
          | 
         #define _A0() {0}
  | 
      
      
         | 127 | 
          | 
          | 
         #define _A1(a) {1,a}
  | 
      
      
         | 128 | 
          | 
          | 
         #define _A2(a,b) {2,a,b}
  | 
      
      
         | 129 | 
          | 
          | 
         #define _A3(a,b,c) {3,a,b,c}
  | 
      
      
         | 130 | 
          | 
          | 
         #define _A4(a,b,c,d) {4,a,b,c,d}
  | 
      
      
         | 131 | 
          | 
          | 
          
  | 
      
      
         | 132 | 
          | 
          | 
         /*    TAG               FORMAT  OPCODE  MNEMONIC        ASM_FORMAT      DEPENDENCY      PIPE    COMMENT                         */
  | 
      
      
         | 133 | 
          | 
          | 
         /*                                                                      0[RC][RB][RA][RT]                                       */
  | 
      
      
         | 134 | 
          | 
          | 
         /*                                                                      1:src, 2:target                                         */
  | 
      
      
         | 135 | 
          | 
          | 
          
  | 
      
      
         | 136 | 
          | 
          | 
         APUOP(M_BR,             RI16,   0x190,  "br",           _A1(A_R18),     00000,  BR)     /* BRel          IP<-IP+I16 */
  | 
      
      
         | 137 | 
          | 
          | 
         APUOP(M_BRSL,           RI16,   0x198,  "brsl",         _A2(A_T,A_R18), 00002,  BR)     /* BRelSetLink   RT,IP<-IP,IP+I16 */
  | 
      
      
         | 138 | 
          | 
          | 
         APUOP(M_BRA,            RI16,   0x180,  "bra",          _A1(A_S18),     00000,  BR)     /* BRAbs         IP<-I16 */
  | 
      
      
         | 139 | 
          | 
          | 
         APUOP(M_BRASL,          RI16,   0x188,  "brasl",        _A2(A_T,A_S18), 00002,  BR)     /* BRAbsSetLink  RT,IP<-IP,I16 */
  | 
      
      
         | 140 | 
          | 
          | 
         APUOP(M_FSMBI,          RI16,   0x194,  "fsmbi",        _A2(A_T,A_X16), 00002,  SHUF)   /* FormSelMask%I RT<-fsm(I16) */
  | 
      
      
         | 141 | 
          | 
          | 
         APUOP(M_LQA,            RI16,   0x184,  "lqa",          _A2(A_T,A_S18), 00002,  LS)     /* LoadQAbs      RT<-M[I16] */
  | 
      
      
         | 142 | 
          | 
          | 
         APUOP(M_LQR,            RI16,   0x19C,  "lqr",          _A2(A_T,A_R18), 00002,  LS)     /* LoadQRel      RT<-M[IP+I16] */
  | 
      
      
         | 143 | 
          | 
          | 
         APUOP(M_STOP,           RR,     0x000,  "stop",         _A0(),          00000,  BR)     /* STOP          stop */
  | 
      
      
         | 144 | 
          | 
          | 
         APUOP(M_STOP2,          RR,     0x000,  "stop",         _A1(A_U14),     00000,  BR)     /* STOP          stop */
  | 
      
      
         | 145 | 
          | 
          | 
         APUOP(M_STOPD,          RR,     0x140,  "stopd",        _A3(A_T,A_A,A_B),         00111,        BR)     /* STOPD         stop (with register dependencies) */
  | 
      
      
         | 146 | 
          | 
          | 
         APUOP(M_LNOP,           RR,     0x001,  "lnop",         _A0(),          00000,  LNOP)   /* LNOP          no_operation */
  | 
      
      
         | 147 | 
          | 
          | 
         APUOP(M_SYNC,           RR,     0x002,  "sync",         _A0(),          00000,  BR)     /* SYNC          flush_pipe */
  | 
      
      
         | 148 | 
          | 
          | 
         APUOP(M_DSYNC,          RR,     0x003,  "dsync",        _A0(),          00000,  BR)     /* DSYNC         flush_store_queue */
  | 
      
      
         | 149 | 
          | 
          | 
         APUOP(M_MFSPR,          RR,     0x00c,  "mfspr",        _A2(A_T,A_S),   00002,  SPR)    /* MFSPR         RT<-SA */
  | 
      
      
         | 150 | 
          | 
          | 
         APUOP(M_RDCH,           RR,     0x00d,  "rdch",         _A2(A_T,A_H),   00002,  SPR)    /* ReaDCHannel   RT<-CA:data */
  | 
      
      
         | 151 | 
          | 
          | 
         APUOP(M_RCHCNT,         RR,     0x00f,  "rchcnt",       _A2(A_T,A_H),   00002,  SPR)    /* ReaDCHanCouNT RT<-CA:count */
  | 
      
      
         | 152 | 
          | 
          | 
         APUOP(M_HBRA,           LBT,    0x080,  "hbra",         _A2(A_S11,A_S18),       00000,  LS)     /* HBRA          BTB[B9]<-M[I16] */
  | 
      
      
         | 153 | 
          | 
          | 
         APUOP(M_HBRR,           LBT,    0x090,  "hbrr",         _A2(A_S11,A_R18),       00000,  LS)     /* HBRR          BTB[B9]<-M[IP+I16] */
  | 
      
      
         | 154 | 
          | 
          | 
         APUOP(M_BRZ,            RI16,   0x100,  "brz",          _A2(A_T,A_R18), 00001,  BR)     /* BRZ           IP<-IP+I16_if(RT) */
  | 
      
      
         | 155 | 
          | 
          | 
         APUOP(M_BRNZ,           RI16,   0x108,  "brnz",         _A2(A_T,A_R18), 00001,  BR)     /* BRNZ          IP<-IP+I16_if(RT) */
  | 
      
      
         | 156 | 
          | 
          | 
         APUOP(M_BRHZ,           RI16,   0x110,  "brhz",         _A2(A_T,A_R18), 00001,  BR)     /* BRHZ          IP<-IP+I16_if(RT) */
  | 
      
      
         | 157 | 
          | 
          | 
         APUOP(M_BRHNZ,          RI16,   0x118,  "brhnz",        _A2(A_T,A_R18), 00001,  BR)     /* BRHNZ         IP<-IP+I16_if(RT) */
  | 
      
      
         | 158 | 
          | 
          | 
         APUOP(M_STQA,           RI16,   0x104,  "stqa",         _A2(A_T,A_S18), 00001,  LS)     /* SToreQAbs     M[I16]<-RT */
  | 
      
      
         | 159 | 
          | 
          | 
         APUOP(M_STQR,           RI16,   0x11C,  "stqr",         _A2(A_T,A_R18), 00001,  LS)     /* SToreQRel     M[IP+I16]<-RT */
  | 
      
      
         | 160 | 
          | 
          | 
         APUOP(M_MTSPR,          RR,     0x10c,  "mtspr",        _A2(A_S,A_T),   00001,  SPR)    /* MTSPR         SA<-RT */
  | 
      
      
         | 161 | 
          | 
          | 
         APUOP(M_WRCH,           RR,     0x10d,  "wrch",         _A2(A_H,A_T),   00001,  SPR)    /* ChanWRite     CA<-RT */
  | 
      
      
         | 162 | 
          | 
          | 
         APUOP(M_LQD,            RI10,   0x1a0,  "lqd",          _A4(A_T,A_S14,A_P,A_A), 00012,  LS)     /* LoadQDisp     RT<-M[Ra+I10] */
  | 
      
      
         | 163 | 
          | 
          | 
         APUOP(M_BI,             RR,     0x1a8,  "bi",           _A1(A_A),               00010,  BR)     /* BI            IP<-RA */
  | 
      
      
         | 164 | 
          | 
          | 
         APUOP(M_BISL,           RR,     0x1a9,  "bisl",         _A2(A_T,A_A),   00012,  BR)     /* BISL          RT,IP<-IP,RA */
  | 
      
      
         | 165 | 
          | 
          | 
         APUOP(M_IRET,           RR,     0x1aa,  "iret",         _A1(A_A),       00010,  BR)     /* IRET          IP<-SRR0 */
  | 
      
      
         | 166 | 
          | 
          | 
         APUOP(M_IRET2,          RR,     0x1aa,  "iret",         _A0(),          00010,  BR)     /* IRET          IP<-SRR0 */
  | 
      
      
         | 167 | 
          | 
          | 
         APUOP(M_BISLED,         RR,     0x1ab,  "bisled",       _A2(A_T,A_A),   00012,  BR)     /* BISLED        RT,IP<-IP,RA_if(ext) */
  | 
      
      
         | 168 | 
          | 
          | 
         APUOP(M_HBR,            LBTI,   0x1ac,  "hbr",          _A2(A_S11I,A_A),        00010,  LS)     /* HBR           BTB[B9]<-M[Ra] */
  | 
      
      
         | 169 | 
          | 
          | 
         APUOP(M_FREST,          RR,     0x1b8,  "frest",        _A2(A_T,A_A),   00012,  SHUF)   /* FREST         RT<-recip(RA) */
  | 
      
      
         | 170 | 
          | 
          | 
         APUOP(M_FRSQEST,        RR,     0x1b9,  "frsqest",      _A2(A_T,A_A),   00012,  SHUF)   /* FRSQEST       RT<-rsqrt(RA) */
  | 
      
      
         | 171 | 
          | 
          | 
         APUOP(M_FSM,            RR,     0x1b4,  "fsm",          _A2(A_T,A_A),   00012,  SHUF)   /* FormSelMask%  RT<-expand(Ra) */
  | 
      
      
         | 172 | 
          | 
          | 
         APUOP(M_FSMH,           RR,     0x1b5,  "fsmh",         _A2(A_T,A_A),   00012,  SHUF)   /* FormSelMask%  RT<-expand(Ra) */
  | 
      
      
         | 173 | 
          | 
          | 
         APUOP(M_FSMB,           RR,     0x1b6,  "fsmb",         _A2(A_T,A_A),   00012,  SHUF)   /* FormSelMask%  RT<-expand(Ra) */
  | 
      
      
         | 174 | 
          | 
          | 
         APUOP(M_GB,             RR,     0x1b0,  "gb",           _A2(A_T,A_A),   00012,  SHUF)   /* GatherBits%   RT<-gather(RA) */
  | 
      
      
         | 175 | 
          | 
          | 
         APUOP(M_GBH,            RR,     0x1b1,  "gbh",          _A2(A_T,A_A),   00012,  SHUF)   /* GatherBits%   RT<-gather(RA) */
  | 
      
      
         | 176 | 
          | 
          | 
         APUOP(M_GBB,            RR,     0x1b2,  "gbb",          _A2(A_T,A_A),   00012,  SHUF)   /* GatherBits%   RT<-gather(RA) */
  | 
      
      
         | 177 | 
          | 
          | 
         APUOP(M_CBD,            RI7,    0x1f4,  "cbd",          _A4(A_T,A_U7,A_P,A_A),  00012,  SHUF)   /* genCtl%%insD  RT<-sta(Ra+I4,siz) */
  | 
      
      
         | 178 | 
          | 
          | 
         APUOP(M_CHD,            RI7,    0x1f5,  "chd",          _A4(A_T,A_U7,A_P,A_A),  00012,  SHUF)   /* genCtl%%insD  RT<-sta(Ra+I4,siz) */
  | 
      
      
         | 179 | 
          | 
          | 
         APUOP(M_CWD,            RI7,    0x1f6,  "cwd",          _A4(A_T,A_U7,A_P,A_A),  00012,  SHUF)   /* genCtl%%insD  RT<-sta(Ra+I4,siz) */
  | 
      
      
         | 180 | 
          | 
          | 
         APUOP(M_CDD,            RI7,    0x1f7,  "cdd",          _A4(A_T,A_U7,A_P,A_A),  00012,  SHUF)   /* genCtl%%insD  RT<-sta(Ra+I4,siz) */
  | 
      
      
         | 181 | 
          | 
          | 
         APUOP(M_ROTQBII,        RI7,    0x1f8,  "rotqbii",      _A3(A_T,A_A,A_U3),      00012,  SHUF)   /* ROTQBII       RT<-RA<<<I7 */
  | 
      
      
         | 182 | 
          | 
          | 
         APUOP(M_ROTQBYI,        RI7,    0x1fc,  "rotqbyi",      _A3(A_T,A_A,A_S7N),     00012,  SHUF)   /* ROTQBYI       RT<-RA<<<(I7*8) */
  | 
      
      
         | 183 | 
          | 
          | 
         APUOP(M_ROTQMBII,       RI7,    0x1f9,  "rotqmbii",     _A3(A_T,A_A,A_S3),      00012,  SHUF)   /* ROTQMBII      RT<-RA<<I7 */
  | 
      
      
         | 184 | 
          | 
          | 
         APUOP(M_ROTQMBYI,       RI7,    0x1fd,  "rotqmbyi",     _A3(A_T,A_A,A_S6),      00012,  SHUF)   /* ROTQMBYI      RT<-RA<<I7 */
  | 
      
      
         | 185 | 
          | 
          | 
         APUOP(M_SHLQBII,        RI7,    0x1fb,  "shlqbii",      _A3(A_T,A_A,A_U3),      00012,  SHUF)   /* SHLQBII       RT<-RA<<I7 */
  | 
      
      
         | 186 | 
          | 
          | 
         APUOP(M_SHLQBYI,        RI7,    0x1ff,  "shlqbyi",      _A3(A_T,A_A,A_U5),      00012,  SHUF)   /* SHLQBYI       RT<-RA<<I7 */
  | 
      
      
         | 187 | 
          | 
          | 
         APUOP(M_STQD,           RI10,   0x120,  "stqd",         _A4(A_T,A_S14,A_P,A_A), 00011,  LS)     /* SToreQDisp    M[Ra+I10]<-RT */
  | 
      
      
         | 188 | 
          | 
          | 
         APUOP(M_BIHNZ,          RR,     0x12b,  "bihnz",        _A2(A_T,A_A),   00011,  BR)     /* BIHNZ         IP<-RA_if(RT) */
  | 
      
      
         | 189 | 
          | 
          | 
         APUOP(M_BIHZ,           RR,     0x12a,  "bihz",         _A2(A_T,A_A),   00011,  BR)     /* BIHZ          IP<-RA_if(RT) */
  | 
      
      
         | 190 | 
          | 
          | 
         APUOP(M_BINZ,           RR,     0x129,  "binz",         _A2(A_T,A_A),   00011,  BR)     /* BINZ          IP<-RA_if(RT) */
  | 
      
      
         | 191 | 
          | 
          | 
         APUOP(M_BIZ,            RR,     0x128,  "biz",          _A2(A_T,A_A),   00011,  BR)     /* BIZ           IP<-RA_if(RT) */
  | 
      
      
         | 192 | 
          | 
          | 
         APUOP(M_CBX,            RR,     0x1d4,  "cbx",          _A3(A_T,A_A,A_B),               00112,  SHUF)   /* genCtl%%insX  RT<-sta(Ra+Rb,siz) */
  | 
      
      
         | 193 | 
          | 
          | 
         APUOP(M_CHX,            RR,     0x1d5,  "chx",          _A3(A_T,A_A,A_B),               00112,  SHUF)   /* genCtl%%insX  RT<-sta(Ra+Rb,siz) */
  | 
      
      
         | 194 | 
          | 
          | 
         APUOP(M_CWX,            RR,     0x1d6,  "cwx",          _A3(A_T,A_A,A_B),               00112,  SHUF)   /* genCtl%%insX  RT<-sta(Ra+Rb,siz) */
  | 
      
      
         | 195 | 
          | 
          | 
         APUOP(M_CDX,            RR,     0x1d7,  "cdx",          _A3(A_T,A_A,A_B),               00112,  SHUF)   /* genCtl%%insX  RT<-sta(Ra+Rb,siz) */
  | 
      
      
         | 196 | 
          | 
          | 
         APUOP(M_LQX,            RR,     0x1c4,  "lqx",          _A3(A_T,A_A,A_B),               00112,  LS)     /* LoadQindeX    RT<-M[Ra+Rb] */
  | 
      
      
         | 197 | 
          | 
          | 
         APUOP(M_ROTQBI,         RR,     0x1d8,  "rotqbi",       _A3(A_T,A_A,A_B),               00112,  SHUF)   /* ROTQBI        RT<-RA<<<Rb */
  | 
      
      
         | 198 | 
          | 
          | 
         APUOP(M_ROTQMBI,        RR,     0x1d9,  "rotqmbi",      _A3(A_T,A_A,A_B),               00112,  SHUF)   /* ROTQMBI       RT<-RA<<Rb */
  | 
      
      
         | 199 | 
          | 
          | 
         APUOP(M_SHLQBI,         RR,     0x1db,  "shlqbi",       _A3(A_T,A_A,A_B),               00112,  SHUF)   /* SHLQBI        RT<-RA<<Rb */
  | 
      
      
         | 200 | 
          | 
          | 
         APUOP(M_ROTQBY,         RR,     0x1dc,  "rotqby",       _A3(A_T,A_A,A_B),               00112,          SHUF)   /* ROTQBY        RT<-RA<<<(Rb*8) */
  | 
      
      
         | 201 | 
          | 
          | 
         APUOP(M_ROTQMBY,        RR,     0x1dd,  "rotqmby",      _A3(A_T,A_A,A_B),               00112,          SHUF)   /* ROTQMBY       RT<-RA<<Rb */
  | 
      
      
         | 202 | 
          | 
          | 
         APUOP(M_SHLQBY,         RR,     0x1df,  "shlqby",       _A3(A_T,A_A,A_B),               00112,  SHUF)   /* SHLQBY        RT<-RA<<Rb */
  | 
      
      
         | 203 | 
          | 
          | 
         APUOP(M_ROTQBYBI,       RR,     0x1cc,  "rotqbybi",     _A3(A_T,A_A,A_B),               00112,          SHUF)   /* ROTQBYBI      RT<-RA<<Rb */
  | 
      
      
         | 204 | 
          | 
          | 
         APUOP(M_ROTQMBYBI,      RR,     0x1cd,  "rotqmbybi",    _A3(A_T,A_A,A_B),               00112,          SHUF)   /* ROTQMBYBI     RT<-RA<<Rb */
  | 
      
      
         | 205 | 
          | 
          | 
         APUOP(M_SHLQBYBI,       RR,     0x1cf,  "shlqbybi",     _A3(A_T,A_A,A_B),               00112,  SHUF)   /* SHLQBYBI      RT<-RA<<Rb */
  | 
      
      
         | 206 | 
          | 
          | 
         APUOP(M_STQX,           RR,     0x144,  "stqx",         _A3(A_T,A_A,A_B),               00111,  LS)     /* SToreQindeX   M[Ra+Rb]<-RT */
  | 
      
      
         | 207 | 
          | 
          | 
         APUOP(M_SHUFB,          RRR,    0x580,  "shufb",        _A4(A_C,A_A,A_B,A_T),   02111,  SHUF)   /* SHUFfleBytes  RC<-f(RA,RB,RT) */
  | 
      
      
         | 208 | 
          | 
          | 
         APUOP(M_IL,             RI16,   0x204,  "il",           _A2(A_T,A_S16), 00002,  FX2)    /* ImmLoad       RT<-sxt(I16) */
  | 
      
      
         | 209 | 
          | 
          | 
         APUOP(M_ILH,            RI16,   0x20c,  "ilh",          _A2(A_T,A_X16), 00002,  FX2)    /* ImmLoadH      RT<-I16 */
  | 
      
      
         | 210 | 
          | 
          | 
         APUOP(M_ILHU,           RI16,   0x208,  "ilhu",         _A2(A_T,A_X16), 00002,  FX2)    /* ImmLoadHUpper RT<-I16<<16 */
  | 
      
      
         | 211 | 
          | 
          | 
         APUOP(M_ILA,            RI18,   0x210,  "ila",          _A2(A_T,A_U18), 00002,  FX2)    /* ImmLoadAddr   RT<-zxt(I18) */
  | 
      
      
         | 212 | 
          | 
          | 
         APUOP(M_NOP,            RR,     0x201,  "nop",          _A1(A_T),               00000,  NOP)    /* XNOP          no_operation */
  | 
      
      
         | 213 | 
          | 
          | 
         APUOP(M_NOP2,           RR,     0x201,  "nop",          _A0(),          00000,  NOP)    /* XNOP          no_operation */
  | 
      
      
         | 214 | 
          | 
          | 
         APUOP(M_IOHL,           RI16,   0x304,  "iohl",         _A2(A_T,A_X16), 00003,  FX2)    /* AddImmeXt     RT<-RT+sxt(I16) */
  | 
      
      
         | 215 | 
          | 
          | 
         APUOP(M_ANDBI,          RI10,   0x0b0,  "andbi",        _A3(A_T,A_A,A_S10B),    00012,  FX2)    /* AND%I         RT<-RA&I10 */
  | 
      
      
         | 216 | 
          | 
          | 
         APUOP(M_ANDHI,          RI10,   0x0a8,  "andhi",        _A3(A_T,A_A,A_S10),     00012,  FX2)    /* AND%I         RT<-RA&I10 */
  | 
      
      
         | 217 | 
          | 
          | 
         APUOP(M_ANDI,           RI10,   0x0a0,  "andi",         _A3(A_T,A_A,A_S10),     00012,  FX2)    /* AND%I         RT<-RA&I10 */
  | 
      
      
         | 218 | 
          | 
          | 
         APUOP(M_ORBI,           RI10,   0x030,  "orbi",         _A3(A_T,A_A,A_S10B),    00012,  FX2)    /* OR%I          RT<-RA|I10 */
  | 
      
      
         | 219 | 
          | 
          | 
         APUOP(M_ORHI,           RI10,   0x028,  "orhi",         _A3(A_T,A_A,A_S10),     00012,  FX2)    /* OR%I          RT<-RA|I10 */
  | 
      
      
         | 220 | 
          | 
          | 
         APUOP(M_ORI,            RI10,   0x020,  "ori",          _A3(A_T,A_A,A_S10),     00012,  FX2)    /* OR%I          RT<-RA|I10 */
  | 
      
      
         | 221 | 
          | 
          | 
         APUOP(M_ORX,            RR,     0x1f0,  "orx",          _A2(A_T,A_A),           00012,  BR)     /* ORX           RT<-RA.w0|RA.w1|RA.w2|RA.w3 */
  | 
      
      
         | 222 | 
          | 
          | 
         APUOP(M_XORBI,          RI10,   0x230,  "xorbi",        _A3(A_T,A_A,A_S10B),    00012,  FX2)    /* XOR%I         RT<-RA^I10 */
  | 
      
      
         | 223 | 
          | 
          | 
         APUOP(M_XORHI,          RI10,   0x228,  "xorhi",        _A3(A_T,A_A,A_S10),     00012,  FX2)    /* XOR%I         RT<-RA^I10 */
  | 
      
      
         | 224 | 
          | 
          | 
         APUOP(M_XORI,           RI10,   0x220,  "xori",         _A3(A_T,A_A,A_S10),     00012,  FX2)    /* XOR%I         RT<-RA^I10 */
  | 
      
      
         | 225 | 
          | 
          | 
         APUOP(M_AHI,            RI10,   0x0e8,  "ahi",          _A3(A_T,A_A,A_S10),     00012,  FX2)    /* Add%Immed     RT<-RA+I10 */
  | 
      
      
         | 226 | 
          | 
          | 
         APUOP(M_AI,             RI10,   0x0e0,  "ai",           _A3(A_T,A_A,A_S10),     00012,  FX2)    /* Add%Immed     RT<-RA+I10 */
  | 
      
      
         | 227 | 
          | 
          | 
         APUOP(M_SFHI,           RI10,   0x068,  "sfhi",         _A3(A_T,A_A,A_S10),     00012,  FX2)    /* SubFrom%Imm   RT<-I10-RA */
  | 
      
      
         | 228 | 
          | 
          | 
         APUOP(M_SFI,            RI10,   0x060,  "sfi",          _A3(A_T,A_A,A_S10),     00012,  FX2)    /* SubFrom%Imm   RT<-I10-RA */
  | 
      
      
         | 229 | 
          | 
          | 
         APUOP(M_CGTBI,          RI10,   0x270,  "cgtbi",        _A3(A_T,A_A,A_S10B),    00012,  FX2)    /* CGT%I         RT<-(RA>I10) */
  | 
      
      
         | 230 | 
          | 
          | 
         APUOP(M_CGTHI,          RI10,   0x268,  "cgthi",        _A3(A_T,A_A,A_S10),     00012,  FX2)    /* CGT%I         RT<-(RA>I10) */
  | 
      
      
         | 231 | 
          | 
          | 
         APUOP(M_CGTI,           RI10,   0x260,  "cgti",         _A3(A_T,A_A,A_S10),     00012,  FX2)    /* CGT%I         RT<-(RA>I10) */
  | 
      
      
         | 232 | 
          | 
          | 
         APUOP(M_CLGTBI,         RI10,   0x2f0,  "clgtbi",       _A3(A_T,A_A,A_S10B),    00012,  FX2)    /* CLGT%I        RT<-(RA>I10) */
  | 
      
      
         | 233 | 
          | 
          | 
         APUOP(M_CLGTHI,         RI10,   0x2e8,  "clgthi",       _A3(A_T,A_A,A_S10),     00012,  FX2)    /* CLGT%I        RT<-(RA>I10) */
  | 
      
      
         | 234 | 
          | 
          | 
         APUOP(M_CLGTI,          RI10,   0x2e0,  "clgti",        _A3(A_T,A_A,A_S10),     00012,  FX2)    /* CLGT%I        RT<-(RA>I10) */
  | 
      
      
         | 235 | 
          | 
          | 
         APUOP(M_CEQBI,          RI10,   0x3f0,  "ceqbi",        _A3(A_T,A_A,A_S10B),    00012,  FX2)    /* CEQ%I         RT<-(RA=I10) */
  | 
      
      
         | 236 | 
          | 
          | 
         APUOP(M_CEQHI,          RI10,   0x3e8,  "ceqhi",        _A3(A_T,A_A,A_S10),     00012,  FX2)    /* CEQ%I         RT<-(RA=I10) */
  | 
      
      
         | 237 | 
          | 
          | 
         APUOP(M_CEQI,           RI10,   0x3e0,  "ceqi",         _A3(A_T,A_A,A_S10),     00012,  FX2)    /* CEQ%I         RT<-(RA=I10) */
  | 
      
      
         | 238 | 
          | 
          | 
         APUOP(M_HGTI,           RI10,   0x278,  "hgti",         _A3(A_T,A_A,A_S10),     00010,  FX2)    /* HaltGTI       halt_if(RA>I10) */
  | 
      
      
         | 239 | 
          | 
          | 
         APUOP(M_HGTI2,          RI10,   0x278,  "hgti",         _A2(A_A,A_S10), 00010,  FX2)    /* HaltGTI       halt_if(RA>I10) */
  | 
      
      
         | 240 | 
          | 
          | 
         APUOP(M_HLGTI,          RI10,   0x2f8,  "hlgti",        _A3(A_T,A_A,A_S10),     00010,  FX2)    /* HaltLGTI      halt_if(RA>I10) */
  | 
      
      
         | 241 | 
          | 
          | 
         APUOP(M_HLGTI2,         RI10,   0x2f8,  "hlgti",        _A2(A_A,A_S10), 00010,  FX2)    /* HaltLGTI      halt_if(RA>I10) */
  | 
      
      
         | 242 | 
          | 
          | 
         APUOP(M_HEQI,           RI10,   0x3f8,  "heqi",         _A3(A_T,A_A,A_S10),     00010,  FX2)    /* HaltEQImm     halt_if(RA=I10) */
  | 
      
      
         | 243 | 
          | 
          | 
         APUOP(M_HEQI2,          RI10,   0x3f8,  "heqi",         _A2(A_A,A_S10), 00010,  FX2)    /* HaltEQImm     halt_if(RA=I10) */
  | 
      
      
         | 244 | 
          | 
          | 
         APUOP(M_MPYI,           RI10,   0x3a0,  "mpyi",         _A3(A_T,A_A,A_S10),     00012,  FP7)    /* MPYI          RT<-RA*I10 */
  | 
      
      
         | 245 | 
          | 
          | 
         APUOP(M_MPYUI,          RI10,   0x3a8,  "mpyui",        _A3(A_T,A_A,A_S10),     00012,  FP7)    /* MPYUI         RT<-RA*I10 */
  | 
      
      
         | 246 | 
          | 
          | 
         APUOP(M_CFLTS,          RI8,    0x3b0,  "cflts",        _A3(A_T,A_A,A_U7A),     00012,  FP7)    /* CFLTS         RT<-int(RA,I8) */
  | 
      
      
         | 247 | 
          | 
          | 
         APUOP(M_CFLTU,          RI8,    0x3b2,  "cfltu",        _A3(A_T,A_A,A_U7A),     00012,  FP7)    /* CFLTU         RT<-int(RA,I8) */
  | 
      
      
         | 248 | 
          | 
          | 
         APUOP(M_CSFLT,          RI8,    0x3b4,  "csflt",        _A3(A_T,A_A,A_U7B),     00012,  FP7)    /* CSFLT         RT<-flt(RA,I8) */
  | 
      
      
         | 249 | 
          | 
          | 
         APUOP(M_CUFLT,          RI8,    0x3b6,  "cuflt",        _A3(A_T,A_A,A_U7B),     00012,  FP7)    /* CUFLT         RT<-flt(RA,I8) */
  | 
      
      
         | 250 | 
          | 
          | 
         APUOP(M_FESD,           RR,     0x3b8,  "fesd",         _A2(A_T,A_A),   00012,  FPD)    /* FESD          RT<-double(RA) */
  | 
      
      
         | 251 | 
          | 
          | 
         APUOP(M_FRDS,           RR,     0x3b9,  "frds",         _A2(A_T,A_A),   00012,  FPD)    /* FRDS          RT<-single(RA) */
  | 
      
      
         | 252 | 
          | 
          | 
         APUOP(M_FSCRRD,         RR,     0x398,  "fscrrd",       _A1(A_T),               00002,  FPD)    /* FSCRRD        RT<-FP_status */
  | 
      
      
         | 253 | 
          | 
          | 
         APUOP(M_FSCRWR,         RR,     0x3ba,  "fscrwr",       _A2(A_T,A_A),   00010,  FP7)    /* FSCRWR        FP_status<-RA */
  | 
      
      
         | 254 | 
          | 
          | 
         APUOP(M_FSCRWR2,        RR,     0x3ba,  "fscrwr",       _A1(A_A),               00010,  FP7)    /* FSCRWR        FP_status<-RA */
  | 
      
      
         | 255 | 
          | 
          | 
         APUOP(M_CLZ,            RR,     0x2a5,  "clz",          _A2(A_T,A_A),   00012,  FX2)    /* CLZ           RT<-clz(RA) */
  | 
      
      
         | 256 | 
          | 
          | 
         APUOP(M_CNTB,           RR,     0x2b4,  "cntb",         _A2(A_T,A_A),   00012,  FXB)    /* CNT           RT<-pop(RA) */
  | 
      
      
         | 257 | 
          | 
          | 
         APUOP(M_XSBH,           RR,     0x2b6,  "xsbh",         _A2(A_T,A_A),   00012,  FX2)    /* eXtSignBtoH   RT<-sign_ext(RA) */
  | 
      
      
         | 258 | 
          | 
          | 
         APUOP(M_XSHW,           RR,     0x2ae,  "xshw",         _A2(A_T,A_A),   00012,  FX2)    /* eXtSignHtoW   RT<-sign_ext(RA) */
  | 
      
      
         | 259 | 
          | 
          | 
         APUOP(M_XSWD,           RR,     0x2a6,  "xswd",         _A2(A_T,A_A),   00012,  FX2)    /* eXtSignWtoD   RT<-sign_ext(RA) */
  | 
      
      
         | 260 | 
          | 
          | 
         APUOP(M_ROTI,           RI7,    0x078,  "roti",         _A3(A_T,A_A,A_S7N),     00012,  FX3)    /* ROT%I         RT<-RA<<<I7 */
  | 
      
      
         | 261 | 
          | 
          | 
         APUOP(M_ROTMI,          RI7,    0x079,  "rotmi",        _A3(A_T,A_A,A_S7),      00012,  FX3)    /* ROT%MI        RT<-RA<<I7 */
  | 
      
      
         | 262 | 
          | 
          | 
         APUOP(M_ROTMAI,         RI7,    0x07a,  "rotmai",       _A3(A_T,A_A,A_S7),      00012,  FX3)    /* ROTMA%I       RT<-RA<<I7 */
  | 
      
      
         | 263 | 
          | 
          | 
         APUOP(M_SHLI,           RI7,    0x07b,  "shli",         _A3(A_T,A_A,A_U6),      00012,  FX3)    /* SHL%I         RT<-RA<<I7 */
  | 
      
      
         | 264 | 
          | 
          | 
         APUOP(M_ROTHI,          RI7,    0x07c,  "rothi",        _A3(A_T,A_A,A_S7N),     00012,  FX3)    /* ROT%I         RT<-RA<<<I7 */
  | 
      
      
         | 265 | 
          | 
          | 
         APUOP(M_ROTHMI,         RI7,    0x07d,  "rothmi",       _A3(A_T,A_A,A_S6),      00012,  FX3)    /* ROT%MI        RT<-RA<<I7 */
  | 
      
      
         | 266 | 
          | 
          | 
         APUOP(M_ROTMAHI,        RI7,    0x07e,  "rotmahi",      _A3(A_T,A_A,A_S6),      00012,  FX3)    /* ROTMA%I       RT<-RA<<I7 */
  | 
      
      
         | 267 | 
          | 
          | 
         APUOP(M_SHLHI,          RI7,    0x07f,  "shlhi",        _A3(A_T,A_A,A_U5),      00012,  FX3)    /* SHL%I         RT<-RA<<I7 */
  | 
      
      
         | 268 | 
          | 
          | 
         APUOP(M_A,              RR,     0x0c0,  "a",            _A3(A_T,A_A,A_B),               00112,  FX2)    /* Add%          RT<-RA+RB */
  | 
      
      
         | 269 | 
          | 
          | 
         APUOP(M_AH,             RR,     0x0c8,  "ah",           _A3(A_T,A_A,A_B),               00112,  FX2)    /* Add%          RT<-RA+RB */
  | 
      
      
         | 270 | 
          | 
          | 
         APUOP(M_SF,             RR,     0x040,  "sf",           _A3(A_T,A_A,A_B),               00112,  FX2)    /* SubFrom%      RT<-RB-RA */
  | 
      
      
         | 271 | 
          | 
          | 
         APUOP(M_SFH,            RR,     0x048,  "sfh",          _A3(A_T,A_A,A_B),               00112,  FX2)    /* SubFrom%      RT<-RB-RA */
  | 
      
      
         | 272 | 
          | 
          | 
         APUOP(M_CGT,            RR,     0x240,  "cgt",          _A3(A_T,A_A,A_B),               00112,  FX2)    /* CGT%          RT<-(RA>RB) */
  | 
      
      
         | 273 | 
          | 
          | 
         APUOP(M_CGTB,           RR,     0x250,  "cgtb",         _A3(A_T,A_A,A_B),               00112,  FX2)    /* CGT%          RT<-(RA>RB) */
  | 
      
      
         | 274 | 
          | 
          | 
         APUOP(M_CGTH,           RR,     0x248,  "cgth",         _A3(A_T,A_A,A_B),               00112,  FX2)    /* CGT%          RT<-(RA>RB) */
  | 
      
      
         | 275 | 
          | 
          | 
         APUOP(M_CLGT,           RR,     0x2c0,  "clgt",         _A3(A_T,A_A,A_B),               00112,  FX2)    /* CLGT%         RT<-(RA>RB) */
  | 
      
      
         | 276 | 
          | 
          | 
         APUOP(M_CLGTB,          RR,     0x2d0,  "clgtb",        _A3(A_T,A_A,A_B),               00112,  FX2)    /* CLGT%         RT<-(RA>RB) */
  | 
      
      
         | 277 | 
          | 
          | 
         APUOP(M_CLGTH,          RR,     0x2c8,  "clgth",        _A3(A_T,A_A,A_B),               00112,  FX2)    /* CLGT%         RT<-(RA>RB) */
  | 
      
      
         | 278 | 
          | 
          | 
         APUOP(M_CEQ,            RR,     0x3c0,  "ceq",          _A3(A_T,A_A,A_B),               00112,  FX2)    /* CEQ%          RT<-(RA=RB) */
  | 
      
      
         | 279 | 
          | 
          | 
         APUOP(M_CEQB,           RR,     0x3d0,  "ceqb",         _A3(A_T,A_A,A_B),               00112,  FX2)    /* CEQ%          RT<-(RA=RB) */
  | 
      
      
         | 280 | 
          | 
          | 
         APUOP(M_CEQH,           RR,     0x3c8,  "ceqh",         _A3(A_T,A_A,A_B),               00112,  FX2)    /* CEQ%          RT<-(RA=RB) */
  | 
      
      
         | 281 | 
          | 
          | 
         APUOP(M_HGT,            RR,     0x258,  "hgt",          _A3(A_T,A_A,A_B),               00110,  FX2)    /* HaltGT        halt_if(RA>RB) */
  | 
      
      
         | 282 | 
          | 
          | 
         APUOP(M_HGT2,           RR,     0x258,  "hgt",          _A2(A_A,A_B),   00110,  FX2)    /* HaltGT        halt_if(RA>RB) */
  | 
      
      
         | 283 | 
          | 
          | 
         APUOP(M_HLGT,           RR,     0x2d8,  "hlgt",         _A3(A_T,A_A,A_B),               00110,  FX2)    /* HaltLGT       halt_if(RA>RB) */
  | 
      
      
         | 284 | 
          | 
          | 
         APUOP(M_HLGT2,          RR,     0x2d8,  "hlgt",         _A2(A_A,A_B),   00110,  FX2)    /* HaltLGT       halt_if(RA>RB) */
  | 
      
      
         | 285 | 
          | 
          | 
         APUOP(M_HEQ,            RR,     0x3d8,  "heq",          _A3(A_T,A_A,A_B),               00110,  FX2)    /* HaltEQ        halt_if(RA=RB) */
  | 
      
      
         | 286 | 
          | 
          | 
         APUOP(M_HEQ2,           RR,     0x3d8,  "heq",          _A2(A_A,A_B),   00110,  FX2)    /* HaltEQ        halt_if(RA=RB) */
  | 
      
      
         | 287 | 
          | 
          | 
         APUOP(M_FCEQ,           RR,     0x3c2,  "fceq",         _A3(A_T,A_A,A_B),               00112,  FX2)    /* FCEQ          RT<-(RA=RB) */
  | 
      
      
         | 288 | 
          | 
          | 
         APUOP(M_FCMEQ,          RR,     0x3ca,  "fcmeq",        _A3(A_T,A_A,A_B),               00112,  FX2)    /* FCMEQ         RT<-(|RA|=|RB|) */
  | 
      
      
         | 289 | 
          | 
          | 
         APUOP(M_FCGT,           RR,     0x2c2,  "fcgt",         _A3(A_T,A_A,A_B),               00112,  FX2)    /* FCGT          RT<-(RA<RB) */
  | 
      
      
         | 290 | 
          | 
          | 
         APUOP(M_FCMGT,          RR,     0x2ca,  "fcmgt",        _A3(A_T,A_A,A_B),               00112,  FX2)    /* FCMGT         RT<-(|RA|<|RB|) */
  | 
      
      
         | 291 | 
          | 
          | 
         APUOP(M_AND,            RR,     0x0c1,  "and",          _A3(A_T,A_A,A_B),               00112,  FX2)    /* AND           RT<-RA&RB */
  | 
      
      
         | 292 | 
          | 
          | 
         APUOP(M_NAND,           RR,     0x0c9,  "nand",         _A3(A_T,A_A,A_B),               00112,  FX2)    /* NAND          RT<-!(RA&RB) */
  | 
      
      
         | 293 | 
          | 
          | 
         APUOP(M_OR,             RR,     0x041,  "or",           _A3(A_T,A_A,A_B),               00112,  FX2)    /* OR            RT<-RA|RB */
  | 
      
      
         | 294 | 
          | 
          | 
         APUOP(M_NOR,            RR,     0x049,  "nor",          _A3(A_T,A_A,A_B),               00112,  FX2)    /* NOR           RT<-!(RA&RB) */
  | 
      
      
         | 295 | 
          | 
          | 
         APUOP(M_XOR,            RR,     0x241,  "xor",          _A3(A_T,A_A,A_B),               00112,  FX2)    /* XOR           RT<-RA^RB */
  | 
      
      
         | 296 | 
          | 
          | 
         APUOP(M_EQV,            RR,     0x249,  "eqv",          _A3(A_T,A_A,A_B),               00112,  FX2)    /* EQuiValent    RT<-!(RA^RB) */
  | 
      
      
         | 297 | 
          | 
          | 
         APUOP(M_ANDC,           RR,     0x2c1,  "andc",         _A3(A_T,A_A,A_B),               00112,  FX2)    /* ANDComplement RT<-RA&!RB */
  | 
      
      
         | 298 | 
          | 
          | 
         APUOP(M_ORC,            RR,     0x2c9,  "orc",          _A3(A_T,A_A,A_B),               00112,  FX2)    /* ORComplement  RT<-RA|!RB */
  | 
      
      
         | 299 | 
          | 
          | 
         APUOP(M_ABSDB,          RR,     0x053,  "absdb",        _A3(A_T,A_A,A_B),               00112,  FXB)    /* ABSoluteDiff  RT<-|RA-RB| */
  | 
      
      
         | 300 | 
          | 
          | 
         APUOP(M_AVGB,           RR,     0x0d3,  "avgb",         _A3(A_T,A_A,A_B),               00112,  FXB)    /* AVG%          RT<-(RA+RB+1)/2 */
  | 
      
      
         | 301 | 
          | 
          | 
         APUOP(M_SUMB,           RR,     0x253,  "sumb",         _A3(A_T,A_A,A_B),               00112,  FXB)    /* SUM%          RT<-f(RA,RB) */
  | 
      
      
         | 302 | 
          | 
          | 
         APUOP(M_DFA,            RR,     0x2cc,  "dfa",          _A3(A_T,A_A,A_B),               00112,  FPD)    /* DFAdd         RT<-RA+RB */
  | 
      
      
         | 303 | 
          | 
          | 
         APUOP(M_DFM,            RR,     0x2ce,  "dfm",          _A3(A_T,A_A,A_B),               00112,  FPD)    /* DFMul         RT<-RA*RB */
  | 
      
      
         | 304 | 
          | 
          | 
         APUOP(M_DFS,            RR,     0x2cd,  "dfs",          _A3(A_T,A_A,A_B),               00112,  FPD)    /* DFSub         RT<-RA-RB */
  | 
      
      
         | 305 | 
          | 
          | 
         APUOP(M_FA,             RR,     0x2c4,  "fa",           _A3(A_T,A_A,A_B),               00112,  FP6)    /* FAdd          RT<-RA+RB */
  | 
      
      
         | 306 | 
          | 
          | 
         APUOP(M_FM,             RR,     0x2c6,  "fm",           _A3(A_T,A_A,A_B),               00112,  FP6)    /* FMul          RT<-RA*RB */
  | 
      
      
         | 307 | 
          | 
          | 
         APUOP(M_FS,             RR,     0x2c5,  "fs",           _A3(A_T,A_A,A_B),               00112,  FP6)    /* FSub          RT<-RA-RB */
  | 
      
      
         | 308 | 
          | 
          | 
         APUOP(M_MPY,            RR,     0x3c4,  "mpy",          _A3(A_T,A_A,A_B),               00112,  FP7)    /* MPY           RT<-RA*RB */
  | 
      
      
         | 309 | 
          | 
          | 
         APUOP(M_MPYH,           RR,     0x3c5,  "mpyh",         _A3(A_T,A_A,A_B),               00112,  FP7)    /* MPYH          RT<-(RAh*RB)<<16 */
  | 
      
      
         | 310 | 
          | 
          | 
         APUOP(M_MPYHH,          RR,     0x3c6,  "mpyhh",        _A3(A_T,A_A,A_B),               00112,  FP7)    /* MPYHH         RT<-RAh*RBh */
  | 
      
      
         | 311 | 
          | 
          | 
         APUOP(M_MPYHHU,         RR,     0x3ce,  "mpyhhu",       _A3(A_T,A_A,A_B),               00112,  FP7)    /* MPYHHU        RT<-RAh*RBh */
  | 
      
      
         | 312 | 
          | 
          | 
         APUOP(M_MPYS,           RR,     0x3c7,  "mpys",         _A3(A_T,A_A,A_B),               00112,  FP7)    /* MPYS          RT<-(RA*RB)>>16 */
  | 
      
      
         | 313 | 
          | 
          | 
         APUOP(M_MPYU,           RR,     0x3cc,  "mpyu",         _A3(A_T,A_A,A_B),               00112,  FP7)    /* MPYU          RT<-RA*RB */
  | 
      
      
         | 314 | 
          | 
          | 
         APUOP(M_FI,             RR,     0x3d4,  "fi",           _A3(A_T,A_A,A_B),               00112,  FP7)    /* FInterpolate  RT<-f(RA,RB) */
  | 
      
      
         | 315 | 
          | 
          | 
         APUOP(M_ROT,            RR,     0x058,  "rot",          _A3(A_T,A_A,A_B),               00112,  FX3)    /* ROT%          RT<-RA<<<RB */
  | 
      
      
         | 316 | 
          | 
          | 
         APUOP(M_ROTM,           RR,     0x059,  "rotm",         _A3(A_T,A_A,A_B),               00112,  FX3)    /* ROT%M         RT<-RA<<Rb */
  | 
      
      
         | 317 | 
          | 
          | 
         APUOP(M_ROTMA,          RR,     0x05a,  "rotma",        _A3(A_T,A_A,A_B),               00112,  FX3)    /* ROTMA%        RT<-RA<<Rb */
  | 
      
      
         | 318 | 
          | 
          | 
         APUOP(M_SHL,            RR,     0x05b,  "shl",          _A3(A_T,A_A,A_B),               00112,  FX3)    /* SHL%          RT<-RA<<Rb */
  | 
      
      
         | 319 | 
          | 
          | 
         APUOP(M_ROTH,           RR,     0x05c,  "roth",         _A3(A_T,A_A,A_B),               00112,  FX3)    /* ROT%          RT<-RA<<<RB */
  | 
      
      
         | 320 | 
          | 
          | 
         APUOP(M_ROTHM,          RR,     0x05d,  "rothm",        _A3(A_T,A_A,A_B),               00112,  FX3)    /* ROT%M         RT<-RA<<Rb */
  | 
      
      
         | 321 | 
          | 
          | 
         APUOP(M_ROTMAH,         RR,     0x05e,  "rotmah",       _A3(A_T,A_A,A_B),               00112,  FX3)    /* ROTMA%        RT<-RA<<Rb */
  | 
      
      
         | 322 | 
          | 
          | 
         APUOP(M_SHLH,           RR,     0x05f,  "shlh",         _A3(A_T,A_A,A_B),               00112,  FX3)    /* SHL%          RT<-RA<<Rb */
  | 
      
      
         | 323 | 
          | 
          | 
         APUOP(M_MPYHHA,         RR,     0x346,  "mpyhha",       _A3(A_T,A_A,A_B),               00113,  FP7)    /* MPYHHA        RT<-RAh*RBh+RT */
  | 
      
      
         | 324 | 
          | 
          | 
         APUOP(M_MPYHHAU,        RR,     0x34e,  "mpyhhau",      _A3(A_T,A_A,A_B),               00113,  FP7)    /* MPYHHAU       RT<-RAh*RBh+RT */
  | 
      
      
         | 325 | 
          | 
          | 
         APUOP(M_DFMA,           RR,     0x35c,  "dfma",         _A3(A_T,A_A,A_B),               00113,  FPD)    /* DFMAdd        RT<-RT+RA*RB */
  | 
      
      
         | 326 | 
          | 
          | 
         APUOP(M_DFMS,           RR,     0x35d,  "dfms",         _A3(A_T,A_A,A_B),               00113,  FPD)    /* DFMSub        RT<-RA*RB-RT */
  | 
      
      
         | 327 | 
          | 
          | 
         APUOP(M_DFNMS,          RR,     0x35e,  "dfnms",        _A3(A_T,A_A,A_B),               00113,  FPD)    /* DFNMSub       RT<-RT-RA*RB */
  | 
      
      
         | 328 | 
          | 
          | 
         APUOP(M_DFNMA,          RR,     0x35f,  "dfnma",        _A3(A_T,A_A,A_B),               00113,  FPD)    /* DFNMAdd       RT<-(-RT)-RA*RB */
  | 
      
      
         | 329 | 
          | 
          | 
         APUOP(M_FMA,            RRR,    0x700,  "fma",          _A4(A_C,A_A,A_B,A_T),   02111,  FP6)    /* FMAdd         RC<-RT+RA*RB */
  | 
      
      
         | 330 | 
          | 
          | 
         APUOP(M_FMS,            RRR,    0x780,  "fms",          _A4(A_C,A_A,A_B,A_T),   02111,  FP6)    /* FMSub         RC<-RA*RB-RT */
  | 
      
      
         | 331 | 
          | 
          | 
         APUOP(M_FNMS,           RRR,    0x680,  "fnms",         _A4(A_C,A_A,A_B,A_T),   02111,  FP6)    /* FNMSub        RC<-RT-RA*RB */
  | 
      
      
         | 332 | 
          | 
          | 
         APUOP(M_MPYA,           RRR,    0x600,  "mpya",         _A4(A_C,A_A,A_B,A_T),   02111,  FP7)    /* MPYA          RC<-RA*RB+RT */
  | 
      
      
         | 333 | 
          | 
          | 
         APUOP(M_SELB,           RRR,    0x400,  "selb",         _A4(A_C,A_A,A_B,A_T),   02111,  FX2)    /* SELectBits    RC<-RA&RT|RB&!RT */
  | 
      
      
         | 334 | 
          | 
          | 
         /* for system function call, this uses op-code of mtspr */
  | 
      
      
         | 335 | 
          | 
          | 
         APUOP(M_SYSCALL,        RI7,    0x10c,  "syscall",      _A3(A_T,A_A,A_S7N),     00002,  SPR)        /* System Call */
  | 
      
      
         | 336 | 
          | 
          | 
         /*
  | 
      
      
         | 337 | 
          | 
          | 
         pseudo instruction:
  | 
      
      
         | 338 | 
          | 
          | 
         system call
  | 
      
      
         | 339 | 
          | 
          | 
         value of I9     operation
  | 
      
      
         | 340 | 
          | 
          | 
          
  | 
      
      
         | 341 | 
          | 
          | 
         1               rt[0] = open(MEM[ra[0]],        ra[1])
  | 
      
      
         | 342 | 
          | 
          | 
         2               rt[0] = close(ra[0])
  | 
      
      
         | 343 | 
          | 
          | 
         3               rt[0] = read(ra[0],     MEM[ra[1]],     ra[2])
  | 
      
      
         | 344 | 
          | 
          | 
         4               rt[0] = write(ra[0],    MEM[ra[1]],     ra[2])
  | 
      
      
         | 345 | 
          | 
          | 
         5               printf(MEM[ra[0]],      ra[1],  ra[2],  ra[3])
  | 
      
      
         | 346 | 
          | 
          | 
         42              rt[0] = clock()
  | 
      
      
         | 347 | 
          | 
          | 
         52              rt[0] = lseek(ra0,      ra1,    ra2)
  | 
      
      
         | 348 | 
          | 
          | 
          
  | 
      
      
         | 349 | 
          | 
          | 
         */
  | 
      
      
         | 350 | 
          | 
          | 
          
  | 
      
      
         | 351 | 
          | 
          | 
          
  | 
      
      
         | 352 | 
          | 
          | 
         /* new multiprecision add/sub */
  | 
      
      
         | 353 | 
          | 
          | 
         APUOP(M_ADDX,           RR,     0x340,  "addx",         _A3(A_T,A_A,A_B),               00113,          FX2)    /* Add_eXtended  RT<-RA+RB+RT */
  | 
      
      
         | 354 | 
          | 
          | 
         APUOP(M_CG,             RR,     0x0c2,  "cg",           _A3(A_T,A_A,A_B),               00112,          FX2)    /* CarryGenerate RT<-cout(RA+RB) */
  | 
      
      
         | 355 | 
          | 
          | 
         APUOP(M_CGX,            RR,     0x342,  "cgx",          _A3(A_T,A_A,A_B),               00113,          FX2)    /* CarryGen_eXtd RT<-cout(RA+RB+RT) */
  | 
      
      
         | 356 | 
          | 
          | 
         APUOP(M_SFX,            RR,     0x341,  "sfx",          _A3(A_T,A_A,A_B),               00113,          FX2)    /* Add_eXtended  RT<-RA+RB+RT */
  | 
      
      
         | 357 | 
          | 
          | 
         APUOP(M_BG,             RR,     0x042,  "bg",           _A3(A_T,A_A,A_B),               00112,          FX2)    /* CarryGenerate RT<-cout(RA+RB) */
  | 
      
      
         | 358 | 
          | 
          | 
         APUOP(M_BGX,            RR,     0x343,  "bgx",          _A3(A_T,A_A,A_B),               00113,          FX2)    /* CarryGen_eXtd RT<-cout(RA+RB+RT) */
  | 
      
      
         | 359 | 
          | 
          | 
          
  | 
      
      
         | 360 | 
          | 
          | 
         /*
  | 
      
      
         | 361 | 
          | 
          | 
          
  | 
      
      
         | 362 | 
          | 
          | 
         The following ops are a subset of above except with feature bits set.
  | 
      
      
         | 363 | 
          | 
          | 
         Feature bits are bits 11-17 of the instruction:
  | 
      
      
         | 364 | 
          | 
          | 
          
  | 
      
      
         | 365 | 
          | 
          | 
           11 - C & P feature bit
  | 
      
      
         | 366 | 
          | 
          | 
           12 - disable interrupts
  | 
      
      
         | 367 | 
          | 
          | 
           13 - enable interrupts
  | 
      
      
         | 368 | 
          | 
          | 
          
  | 
      
      
         | 369 | 
          | 
          | 
         */
  | 
      
      
         | 370 | 
          | 
          | 
         APUOPFB(M_BID,          RR,     0x1a8,  0x20,   "bid",          _A1(A_A),               00010,  BR)     /* BI            IP<-RA */
  | 
      
      
         | 371 | 
          | 
          | 
         APUOPFB(M_BIE,          RR,     0x1a8,  0x10,   "bie",          _A1(A_A),               00010,  BR)     /* BI            IP<-RA */
  | 
      
      
         | 372 | 
          | 
          | 
         APUOPFB(M_BISLD,        RR,     0x1a9,  0x20,   "bisld",        _A2(A_T,A_A),   00012,  BR)     /* BISL          RT,IP<-IP,RA */
  | 
      
      
         | 373 | 
          | 
          | 
         APUOPFB(M_BISLE,        RR,     0x1a9,  0x10,   "bisle",        _A2(A_T,A_A),   00012,  BR)     /* BISL          RT,IP<-IP,RA */
  | 
      
      
         | 374 | 
          | 
          | 
         APUOPFB(M_IRETD,        RR,     0x1aa,  0x20,   "iretd",        _A1(A_A),       00010,  BR)     /* IRET          IP<-SRR0 */
  | 
      
      
         | 375 | 
          | 
          | 
         APUOPFB(M_IRETD2,       RR,     0x1aa,  0x20,   "iretd",        _A0(),          00010,  BR)     /* IRET          IP<-SRR0 */
  | 
      
      
         | 376 | 
          | 
          | 
         APUOPFB(M_IRETE,        RR,     0x1aa,  0x10,   "irete",        _A1(A_A),       00010,  BR)     /* IRET          IP<-SRR0 */
  | 
      
      
         | 377 | 
          | 
          | 
         APUOPFB(M_IRETE2,       RR,     0x1aa,  0x10,   "irete",        _A0(),          00010,  BR)     /* IRET          IP<-SRR0 */
  | 
      
      
         | 378 | 
          | 
          | 
         APUOPFB(M_BISLEDD,      RR,     0x1ab,  0x20,   "bisledd",      _A2(A_T,A_A),   00012,  BR)     /* BISLED        RT,IP<-IP,RA_if(ext) */
  | 
      
      
         | 379 | 
          | 
          | 
         APUOPFB(M_BISLEDE,      RR,     0x1ab,  0x10,   "bislede",      _A2(A_T,A_A),   00012,  BR)     /* BISLED        RT,IP<-IP,RA_if(ext) */
  | 
      
      
         | 380 | 
          | 
          | 
         APUOPFB(M_BIHNZD,       RR,     0x12b,  0x20,   "bihnzd",       _A2(A_T,A_A),   00011,  BR)     /* BIHNZ         IP<-RA_if(RT) */
  | 
      
      
         | 381 | 
          | 
          | 
         APUOPFB(M_BIHNZE,       RR,     0x12b,  0x10,   "bihnze",       _A2(A_T,A_A),   00011,  BR)     /* BIHNZ         IP<-RA_if(RT) */
  | 
      
      
         | 382 | 
          | 
          | 
         APUOPFB(M_BIHZD,        RR,     0x12a,  0x20,   "bihzd",        _A2(A_T,A_A),   00011,  BR)     /* BIHZ          IP<-RA_if(RT) */
  | 
      
      
         | 383 | 
          | 
          | 
         APUOPFB(M_BIHZE,        RR,     0x12a,  0x10,   "bihze",        _A2(A_T,A_A),   00011,  BR)     /* BIHZ          IP<-RA_if(RT) */
  | 
      
      
         | 384 | 
          | 
          | 
         APUOPFB(M_BINZD,        RR,     0x129,  0x20,   "binzd",        _A2(A_T,A_A),   00011,  BR)     /* BINZ          IP<-RA_if(RT) */
  | 
      
      
         | 385 | 
          | 
          | 
         APUOPFB(M_BINZE,        RR,     0x129,  0x10,   "binze",        _A2(A_T,A_A),   00011,  BR)     /* BINZ          IP<-RA_if(RT) */
  | 
      
      
         | 386 | 
          | 
          | 
         APUOPFB(M_BIZD,         RR,     0x128,  0x20,   "bizd",         _A2(A_T,A_A),   00011,  BR)     /* BIZ           IP<-RA_if(RT) */
  | 
      
      
         | 387 | 
          | 
          | 
         APUOPFB(M_BIZE,         RR,     0x128,  0x10,   "bize",         _A2(A_T,A_A),   00011,  BR)     /* BIZ           IP<-RA_if(RT) */
  | 
      
      
         | 388 | 
          | 
          | 
         APUOPFB(M_SYNCC,        RR,     0x002,  0x40,   "syncc",        _A0(),          00000,  BR)     /* SYNCC          flush_pipe */
  | 
      
      
         | 389 | 
          | 
          | 
         APUOPFB(M_HBRP,         LBTI,   0x1ac,  0x40,   "hbrp",         _A0(),          00010,  LS)     /* HBR           BTB[B9]<-M[Ra] */
  | 
      
      
         | 390 | 
          | 
          | 
          
  | 
      
      
         | 391 | 
          | 
          | 
         /* Synonyms required by the AS manual. */
  | 
      
      
         | 392 | 
          | 
          | 
         APUOP(M_LR,             RI10,   0x020,  "lr",           _A2(A_T,A_A),   00012,  FX2)    /* OR%I          RT<-RA|I10 */
  | 
      
      
         | 393 | 
          | 
          | 
         APUOP(M_BIHT,           RR,     0x12b,  "biht",         _A2(A_T,A_A),   00011,  BR)     /* BIHNZ         IP<-RA_if(RT) */
  | 
      
      
         | 394 | 
          | 
          | 
         APUOP(M_BIHF,           RR,     0x12a,  "bihf",         _A2(A_T,A_A),   00011,  BR)     /* BIHZ          IP<-RA_if(RT) */
  | 
      
      
         | 395 | 
          | 
          | 
         APUOP(M_BIT,            RR,     0x129,  "bit",          _A2(A_T,A_A),   00011,  BR)     /* BINZ          IP<-RA_if(RT) */
  | 
      
      
         | 396 | 
          | 
          | 
         APUOP(M_BIF,            RR,     0x128,  "bif",          _A2(A_T,A_A),   00011,  BR)     /* BIZ           IP<-RA_if(RT) */
  | 
      
      
         | 397 | 
          | 
          | 
         APUOPFB(M_BIHTD,        RR,     0x12b,  0x20,   "bihtd",        _A2(A_T,A_A),   00011,  BR)     /* BIHNF         IP<-RA_if(RT) */
  | 
      
      
         | 398 | 
          | 
          | 
         APUOPFB(M_BIHTE,        RR,     0x12b,  0x10,   "bihte",        _A2(A_T,A_A),   00011,  BR)     /* BIHNF         IP<-RA_if(RT) */
  | 
      
      
         | 399 | 
          | 
          | 
         APUOPFB(M_BIHFD,        RR,     0x12a,  0x20,   "bihfd",        _A2(A_T,A_A),   00011,  BR)     /* BIHZ          IP<-RA_if(RT) */
  | 
      
      
         | 400 | 
          | 
          | 
         APUOPFB(M_BIHFE,        RR,     0x12a,  0x10,   "bihfe",        _A2(A_T,A_A),   00011,  BR)     /* BIHZ          IP<-RA_if(RT) */
  | 
      
      
         | 401 | 
          | 
          | 
         APUOPFB(M_BITD,         RR,     0x129,  0x20,   "bitd",         _A2(A_T,A_A),   00011,  BR)     /* BINF          IP<-RA_if(RT) */
  | 
      
      
         | 402 | 
          | 
          | 
         APUOPFB(M_BITE,         RR,     0x129,  0x10,   "bite",         _A2(A_T,A_A),   00011,  BR)     /* BINF          IP<-RA_if(RT) */
  | 
      
      
         | 403 | 
          | 
          | 
         APUOPFB(M_BIFD,         RR,     0x128,  0x20,   "bifd",         _A2(A_T,A_A),   00011,  BR)     /* BIZ           IP<-RA_if(RT) */
  | 
      
      
         | 404 | 
          | 
          | 
         APUOPFB(M_BIFE,         RR,     0x128,  0x10,   "bife",         _A2(A_T,A_A),   00011,  BR)     /* BIZ           IP<-RA_if(RT) */
  | 
      
      
         | 405 | 
          | 
          | 
          
  | 
      
      
         | 406 | 
          | 
          | 
         /* New soma double-float insns.  */
  | 
      
      
         | 407 | 
          | 
          | 
         APUOP(M_DFCEQ,          RR,     0x3c3,  "dfceq",        _A3(A_T,A_A,A_B),       00112,  FX2)    /* DFCEQ         RT<-(RA=RB) */
  | 
      
      
         | 408 | 
          | 
          | 
         APUOP(M_DFCMEQ,         RR,     0x3cb,  "dfcmeq",       _A3(A_T,A_A,A_B),       00112,  FX2)    /* DFCMEQ        RT<-(|RA|=|RB|) */
  | 
      
      
         | 409 | 
          | 
          | 
         APUOP(M_DFCGT,          RR,     0x2c3,  "dfcgt",        _A3(A_T,A_A,A_B),       00112,  FX2)    /* DFCGT         RT<-(RA>RB) */
  | 
      
      
         | 410 | 
          | 
          | 
         APUOP(M_DFCMGT,         RR,     0x2cb,  "dfcmgt",       _A3(A_T,A_A,A_B),       00112,  FX2)    /* DFCMGT        RT<-(|RA|>|RB|) */
  | 
      
      
         | 411 | 
          | 
          | 
         APUOP(M_DFTSV,          RI7,    0x3bf,  "dftsv",        _A3(A_T,A_A,A_U7),      00012,  FX2)    /* DFTSV         RT<-testspecial(RA,I7) */
  | 
      
      
         | 412 | 
          | 
          | 
          
  | 
      
      
         | 413 | 
          | 
          | 
         #undef _A0
  | 
      
      
         | 414 | 
          | 
          | 
         #undef _A1
  | 
      
      
         | 415 | 
          | 
          | 
         #undef _A2
  | 
      
      
         | 416 | 
          | 
          | 
         #undef _A3
  | 
      
      
         | 417 | 
          | 
          | 
         #undef _A4
  |