cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

insns.decode (15874B)


      1#
      2# Renesas RX instruction decode definitions.
      3#
      4# Copyright (c) 2019 Richard Henderson <richard.henderson@linaro.org>
      5# Copyright (c) 2019 Yoshinori Sato <ysato@users.sourceforge.jp>
      6#
      7# This library is free software; you can redistribute it and/or
      8# modify it under the terms of the GNU Lesser General Public
      9# License as published by the Free Software Foundation; either
     10# version 2.1 of the License, or (at your option) any later version.
     11#
     12# This library 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 GNU
     15# Lesser General Public License for more details.
     16#
     17# You should have received a copy of the GNU Lesser General Public
     18# License along with this library; if not, see <http://www.gnu.org/licenses/>.
     19#
     20
     21&bcnd		cd dsp sz
     22&jdsp		dsp sz
     23&jreg		rs
     24&rr		rd rs
     25&ri		rd imm
     26&rrr		rd rs rs2
     27&rri		rd imm rs2
     28&rm		rd rs ld mi
     29&mi		rs ld mi imm
     30&mr		rs ld mi rs2
     31&mcnd		ld sz rd cd
     32########
     33%b1_bdsp	24:3 !function=bdsp_s
     34
     35@b1_bcnd_s	.... cd:1 ...			&bcnd dsp=%b1_bdsp sz=1
     36@b1_bra_s	.... ....			&jdsp dsp=%b1_bdsp sz=1
     37
     38%b2_r_0		16:4
     39%b2_li_2	18:2 !function=li
     40%b2_li_8	24:2 !function=li
     41%b2_dsp5_3	23:4 19:1
     42
     43@b2_rds		.... .... .... rd:4		&rr rs=%b2_r_0
     44@b2_rds_li	.... .... .... rd:4		&rri rs2=%b2_r_0 imm=%b2_li_8
     45@b2_rds_uimm4	.... .... imm:4 rd:4		&rri rs2=%b2_r_0
     46@b2_rs2_uimm4	.... .... imm:4 rs2:4		&rri rd=0
     47@b2_rds_imm5	.... ... imm:5 rd:4		&rri rs2=%b2_r_0
     48@b2_rd_rs_li	.... .... rs2:4 rd:4		&rri imm=%b2_li_8
     49@b2_rd_ld_ub	.... .. ld:2 rs:4 rd:4		&rm mi=4
     50@b2_ld_imm3	.... .. ld:2 rs:4 . imm:3	&mi mi=4
     51@b2_bcnd_b	.... cd:4 dsp:s8		&bcnd sz=2
     52@b2_bra_b	.... .... dsp:s8		&jdsp sz=2
     53
     54########
     55
     56%b3_r_0		8:4
     57%b3_li_10	18:2 !function=li
     58%b3_dsp5_8	23:1 16:4
     59%b3_bdsp	8:s8 16:8
     60
     61@b3_rd_rs	.... .... .... .... rs:4 rd:4		&rr
     62@b3_rs_rd	.... .... .... .... rd:4 rs:4		&rr
     63@b3_rd_li	.... .... .... .... .... rd:4 \
     64		&rri rs2=%b3_r_0 imm=%b3_li_10
     65@b3_rd_ld	.... .... mi:2 .... ld:2 rs:4 rd:4	&rm
     66@b3_rd_ld_ub	.... .... .... .. ld:2 rs:4 rd:4	&rm mi=4
     67@b3_rd_ld_ul	.... .... .... .. ld:2 rs:4 rd:4	&rm mi=2
     68@b3_rd_rs_rs2	.... .... .... rd:4 rs:4 rs2:4		&rrr
     69@b3_rds_imm5	.... .... ....... imm:5 rd:4		&rri rs2=%b3_r_0
     70@b3_rd_rs_imm5	.... .... ... imm:5 rs2:4 rd:4		&rri
     71@b3_bcnd_w	.... ... cd:1 .... .... .... ....	&bcnd dsp=%b3_bdsp sz=3
     72@b3_bra_w	.... .... .... .... .... ....		&jdsp dsp=%b3_bdsp sz=3
     73@b3_ld_rd_rs	.... .... .... .. ld:2 rs:4 rd:4	&rm mi=0
     74@b3_sz_ld_rd_cd	.... .... .... sz:2 ld:2 rd:4 cd:4	&mcnd
     75
     76########
     77
     78%b4_li_18	18:2 !function=li
     79%b4_dsp_16	0:s8 8:8
     80%b4_bdsp	0:s8 8:8 16:8
     81
     82@b4_rd_ldmi	.... .... mi:2 .... ld:2 .... .... rs:4 rd:4	&rm
     83@b4_bra_a	.... .... .... .... .... .... .... ....	\
     84		&jdsp dsp=%b4_bdsp sz=4
     85########
     86# ABS rd
     87ABS_rr		0111 1110 0010 ....			@b2_rds
     88# ABS rs, rd
     89ABS_rr		1111 1100 0000 1111 .... ....		@b3_rd_rs
     90
     91# ADC #imm, rd
     92ADC_ir		1111 1101 0111 ..00 0010 ....		@b3_rd_li
     93# ADC rs, rd
     94ADC_rr		1111 1100 0000 1011 .... ....		@b3_rd_rs
     95# ADC dsp[rs].l, rd
     96# Note only mi==2 allowed.
     97ADC_mr		0000 0110 ..10 00.. 0000 0010 .... ....	@b4_rd_ldmi
     98
     99# ADD #uimm4, rd
    100ADD_irr		0110 0010 .... ....			@b2_rds_uimm4
    101# ADD #imm, rs, rd
    102ADD_irr		0111 00.. .... ....			@b2_rd_rs_li
    103# ADD dsp[rs].ub, rd
    104# ADD rs, rd
    105ADD_mr		0100 10.. .... ....			@b2_rd_ld_ub
    106# ADD dsp[rs], rd
    107ADD_mr		0000 0110 ..00 10.. .... ....		@b3_rd_ld
    108# ADD rs, rs2, rd
    109ADD_rrr		1111 1111 0010 .... .... ....		@b3_rd_rs_rs2
    110
    111# AND #uimm4, rd
    112AND_ir		0110 0100 .... ....			@b2_rds_uimm4
    113# AND #imm, rd
    114AND_ir		0111 01.. 0010 ....			@b2_rds_li
    115# AND dsp[rs].ub, rd
    116# AND rs, rd
    117AND_mr		0101 00.. .... ....			@b2_rd_ld_ub
    118# AND dsp[rs], rd
    119AND_mr		0000 0110 ..01 00.. .... ....		@b3_rd_ld
    120# AND rs, rs2, rd
    121AND_rrr		1111 1111 0100 .... .... ....		@b3_rd_rs_rs2
    122
    123# BCLR #imm, dsp[rd]
    124BCLR_im		1111 00.. .... 1...			@b2_ld_imm3
    125# BCLR #imm, rs
    126BCLR_ir		0111 101. .... ....			@b2_rds_imm5
    127# BCLR rs, rd
    128# BCLR rs, dsp[rd]
    129{
    130  BCLR_rr	1111 1100 0110 0111 .... ....		@b3_rs_rd
    131  BCLR_rm	1111 1100 0110 01.. .... ....		@b3_rd_ld_ub
    132}
    133
    134# BCnd.s dsp
    135BCnd		0001 ....				@b1_bcnd_s
    136# BRA.b dsp
    137# BCnd.b dsp
    138{
    139  BRA		0010 1110 .... ....			@b2_bra_b
    140  BCnd		0010 .... .... ....			@b2_bcnd_b
    141}
    142
    143# BCnd.w dsp
    144BCnd		0011 101 . .... .... .... ....		@b3_bcnd_w
    145
    146# BNOT #imm, dsp[rd]
    147# BMCnd #imm, dsp[rd]
    148{
    149  BNOT_im	1111 1100 111 imm:3 ld:2 rs:4 1111
    150  BMCnd_im	1111 1100 111 imm:3 ld:2 rd:4 cd:4
    151}
    152
    153# BNOT #imm, rd
    154# BMCnd #imm, rd
    155{
    156  BNOT_ir	1111 1101 111 imm:5 1111 rd:4
    157  BMCnd_ir	1111 1101 111 imm:5 cd:4 rd:4
    158}
    159
    160# BNOT rs, rd
    161# BNOT rs, dsp[rd]
    162{
    163  BNOT_rr	1111 1100 0110 1111 .... ....		@b3_rs_rd
    164  BNOT_rm	1111 1100 0110 11.. .... ....		@b3_rd_ld_ub
    165}
    166
    167# BRA.s dsp
    168BRA		0000 1 ...				@b1_bra_s
    169# BRA.w dsp
    170BRA		0011 1000 .... .... .... ....		@b3_bra_w
    171# BRA.a dsp
    172BRA		0000 0100 .... .... .... .... .... ....		@b4_bra_a
    173# BRA.l rs
    174BRA_l		0111 1111 0100 rd:4
    175
    176BRK		0000 0000
    177
    178# BSET #imm, dsp[rd]
    179BSET_im		1111 00.. .... 0...			@b2_ld_imm3
    180# BSET #imm, rd
    181BSET_ir		0111 100. .... ....			@b2_rds_imm5
    182# BSET rs, rd
    183# BSET rs, dsp[rd]
    184{
    185  BSET_rr	1111 1100 0110 0011 .... ....		@b3_rs_rd
    186  BSET_rm	1111 1100 0110 00.. .... ....		@b3_rd_ld_ub
    187}
    188
    189# BSR.w dsp
    190BSR		0011 1001 .... .... .... ....		@b3_bra_w
    191# BSR.a dsp
    192BSR		0000 0101 .... .... .... .... .... ....		@b4_bra_a
    193# BSR.l rs
    194BSR_l		0111 1111 0101 rd:4
    195
    196# BSET #imm, dsp[rd]
    197BTST_im		1111 01.. .... 0...			@b2_ld_imm3
    198# BSET #imm, rd
    199BTST_ir		0111 110. .... ....			@b2_rds_imm5
    200# BSET rs, rd
    201# BSET rs, dsp[rd]
    202{
    203  BTST_rr	1111 1100 0110 1011 .... ....		@b3_rs_rd
    204  BTST_rm	1111 1100 0110 10.. .... ....		@b3_rd_ld_ub
    205}
    206
    207# CLRSPW psw
    208CLRPSW		0111 1111 1011 cb:4
    209
    210# CMP #uimm4, rs2
    211CMP_ir		0110 0001 .... ....			@b2_rs2_uimm4
    212# CMP #uimm8, rs2
    213CMP_ir		0111 0101 0101 rs2:4 imm:8		&rri rd=0
    214# CMP #imm, rs2
    215CMP_ir		0111 01.. 0000 rs2:4			&rri imm=%b2_li_8 rd=0
    216# CMP dsp[rs].ub, rs2
    217# CMP rs, rs2
    218CMP_mr		0100 01.. .... ....			@b2_rd_ld_ub
    219# CMP dsp[rs], rs2
    220CMP_mr		0000 0110 ..00 01.. .... ....		@b3_rd_ld
    221
    222# DIV #imm, rd
    223DIV_ir		1111 1101 0111 ..00 1000 ....		@b3_rd_li
    224# DIV dsp[rs].ub, rd
    225# DIV rs, rd
    226DIV_mr		1111 1100 0010 00.. .... ....		@b3_rd_ld_ub
    227# DIV dsp[rs], rd
    228DIV_mr		0000 0110 ..10 00.. 0000 1000 .... ....	@b4_rd_ldmi
    229
    230# DIVU #imm, rd
    231DIVU_ir		1111 1101 0111 ..00 1001 ....		@b3_rd_li
    232# DIVU dsp[rs].ub, rd
    233# DIVU rs, rd
    234DIVU_mr		1111 1100 0010 01.. .... ....		@b3_rd_ld_ub
    235# DIVU dsp[rs], rd
    236DIVU_mr		0000 0110 ..10 00.. 0000 1001 .... ....	@b4_rd_ldmi
    237
    238# EMUL #imm, rd
    239EMUL_ir		1111 1101 0111 ..00 0110 ....		@b3_rd_li
    240# EMUL dsp[rs].ub, rd
    241# EMUL rs, rd
    242EMUL_mr		1111 1100 0001 10.. .... ....		@b3_rd_ld_ub
    243# EMUL dsp[rs], rd
    244EMUL_mr		0000 0110 ..10 00.. 0000 0110 .... ....	@b4_rd_ldmi
    245
    246# EMULU #imm, rd
    247EMULU_ir	1111 1101 0111 ..00 0111 ....		@b3_rd_li
    248# EMULU dsp[rs].ub, rd
    249# EMULU rs, rd
    250EMULU_mr	1111 1100 0001 11.. .... ....		@b3_rd_ld_ub
    251# EMULU dsp[rs], rd
    252EMULU_mr	0000 0110 ..10 00.. 0000 0111 .... ....	@b4_rd_ldmi
    253
    254# FADD #imm, rd
    255FADD_ir		1111 1101 0111 0010 0010 rd:4
    256# FADD rs, rd
    257# FADD dsp[rs], rd
    258FADD_mr		1111 1100 1000 10.. .... ....		@b3_rd_ld_ul
    259
    260# FCMP #imm, rd
    261FCMP_ir		1111 1101 0111 0010 0001 rd:4
    262# FCMP rs, rd
    263# FCMP dsp[rs], rd
    264FCMP_mr		1111 1100 1000 01.. .... ....		@b3_rd_ld_ul
    265
    266# FDIV #imm, rd
    267FDIV_ir		1111 1101 0111 0010 0100 rd:4
    268# FDIV rs, rd
    269# FDIV dsp[rs], rd
    270FDIV_mr		1111 1100 1001 00.. .... ....		@b3_rd_ld_ul
    271
    272# FMUL #imm, rd
    273FMUL_ir		1111 1101 0111 0010 0011 rd:4
    274# FMUL rs, rd
    275# FMUL dsp[rs], rd
    276FMUL_mr		1111 1100 1000 11.. .... ....		@b3_rd_ld_ul
    277
    278# FSUB #imm, rd
    279FSUB_ir		1111 1101 0111 0010 0000 rd:4
    280# FSUB rs, rd
    281# FSUB dsp[rs], rd
    282FSUB_mr		1111 1100 1000 00.. .... ....		@b3_rd_ld_ul
    283
    284# FTOI rs, rd
    285# FTOI dsp[rs], rd
    286FTOI		1111 1100 1001 01.. .... ....		@b3_rd_ld_ul
    287
    288# INT #uimm8
    289INT		0111 0101 0110 0000 imm:8
    290
    291# ITOF dsp[rs].ub, rd
    292# ITOF rs, rd
    293ITOF		1111 1100 0100 01.. .... ....		@b3_rd_ld_ub
    294# ITOF dsp[rs], rd
    295ITOF		0000 0110 ..10 00.. 0001 0001 .... ....	@b4_rd_ldmi
    296
    297# JMP rs
    298JMP		0111 1111 0000 rs:4			&jreg
    299# JSR rs
    300JSR		0111 1111 0001 rs:4			&jreg
    301
    302# MACHI rs, rs2
    303MACHI		1111 1101 0000 0100 rs:4 rs2:4
    304# MACLO rs, rs2
    305MACLO		1111 1101 0000 0101 rs:4 rs2:4
    306
    307# MAX #imm, rd
    308MAX_ir		1111 1101 0111 ..00 0100 ....		@b3_rd_li
    309# MAX dsp[rs].ub, rd
    310# MAX rs, rd
    311MAX_mr		1111 1100 0001 00.. .... ....		@b3_rd_ld_ub
    312# MAX dsp[rs], rd
    313MAX_mr		0000 0110 ..10 00.. 0000 0100 .... ....	@b4_rd_ldmi
    314
    315# MIN #imm, rd
    316MIN_ir		1111 1101 0111 ..00 0101 ....		@b3_rd_li
    317# MIN dsp[rs].ub, rd
    318# MIN rs, rd
    319MIN_mr		1111 1100 0001 01.. .... ....		@b3_rd_ld_ub
    320# MIN dsp[rs], rd
    321MIN_mr		0000 0110 ..10 00.. 0000 0101 .... ....	@b4_rd_ldmi
    322
    323# MOV.b rs, dsp5[rd]
    324MOV_rm		1000 0 .... rd:3 . rs:3			dsp=%b2_dsp5_3 sz=0
    325# MOV.w rs, dsp5[rd]
    326MOV_rm		1001 0 .... rd:3 . rs:3			dsp=%b2_dsp5_3 sz=1
    327# MOV.l rs, dsp5[rd]
    328MOV_rm		1010 0 .... rd:3 . rs:3			dsp=%b2_dsp5_3 sz=2
    329# MOV.b dsp5[rs], rd
    330MOV_mr		1000 1 .... rs:3 . rd:3			dsp=%b2_dsp5_3 sz=0
    331# MOV.w dsp5[rs], rd
    332MOV_mr		1001 1 .... rs:3 . rd:3			dsp=%b2_dsp5_3 sz=1
    333# MOV.l dsp5[rs], rd
    334MOV_mr		1010 1 .... rs:3 . rd:3			dsp=%b2_dsp5_3 sz=2
    335# MOV.l #uimm4, rd
    336MOV_ir		0110 0110 imm:4 rd:4
    337# MOV.b #imm8, dsp5[rd]
    338MOV_im		0011 1100 . rd:3 .... imm:8		sz=0 dsp=%b3_dsp5_8
    339# MOV.w #imm8, dsp5[rd]
    340MOV_im		0011 1101 . rd:3 .... imm:8		sz=1 dsp=%b3_dsp5_8
    341# MOV.l #imm8, dsp5[rd]
    342MOV_im		0011 1110 . rd:3 .... imm:8		sz=2 dsp=%b3_dsp5_8
    343# MOV.l #imm8, rd
    344MOV_ir		0111 0101 0100 rd:4 imm:8
    345# MOV.l #mm8, rd
    346MOV_ir		1111 1011 rd:4 .. 10			imm=%b2_li_2
    347# MOV.<bwl> #imm, [rd]
    348MOV_im		1111 1000 rd:4 .. sz:2			dsp=0 imm=%b2_li_2
    349# MOV.<bwl> #imm, dsp8[rd]
    350MOV_im		1111 1001 rd:4 .. sz:2 dsp:8		imm=%b3_li_10
    351# MOV.<bwl> #imm, dsp16[rd]
    352MOV_im		1111 1010 rd:4 .. sz:2 .... .... .... .... \
    353		imm=%b4_li_18 dsp=%b4_dsp_16
    354# MOV.<bwl> [ri,rb], rd
    355MOV_ar		1111 1110 01 sz:2 ri:4 rb:4 rd:4
    356# MOV.<bwl> rs, [ri,rb]
    357MOV_ra		1111 1110 00 sz:2 ri:4 rb:4 rs:4
    358# Note ldd=3 and lds=3 indicate register src or dst
    359# MOV.b rs, rd
    360# MOV.b rs, dsp[rd]
    361# MOV.b dsp[rs], rd
    362# MOV.b dsp[rs], dsp[rd]
    363MOV_mm		1100 ldd:2 lds:2 rs:4 rd:4		sz=0
    364# MOV.w rs, rd
    365# MOV.w rs, dsp[rd]
    366# MOV.w dsp[rs], rd
    367# MOV.w dsp[rs], dsp[rd]
    368MOV_mm		1101 ldd:2 lds:2 rs:4 rd:4		sz=1
    369# MOV.l rs, rd
    370# MOV.l rs, dsp[rd]
    371# MOV.l dsp[rs], rd
    372# MOV.l dsp[rs], dsp[rd]
    373MOV_mm		1110 ldd:2 lds:2 rs:4 rd:4		sz=2
    374# MOV.l rs, [rd+]
    375# MOV.l rs, [-rd]
    376MOV_rp		1111 1101 0010 0 ad:1 sz:2 rd:4 rs:4
    377# MOV.l [rs+], rd
    378# MOV.l [-rs], rd
    379MOV_pr		1111 1101 0010 1 ad:1 sz:2 rd:4 rs:4
    380
    381# MOVU.<bw> dsp5[rs], rd
    382MOVU_mr		1011 sz:1 ... . rs:3 . rd:3		dsp=%b2_dsp5_3
    383# MOVU.<bw> [rs], rd
    384MOVU_mr		0101 1 sz:1 00 rs:4 rd:4		dsp=0
    385# MOVU.<bw> dsp8[rs], rd
    386MOVU_mr		0101 1 sz:1 01 rs:4 rd:4 dsp:8
    387# MOVU.<bw> dsp16[rs], rd
    388MOVU_mr		0101 1 sz:1 10 rs:4 rd:4 .... .... .... .... dsp=%b4_dsp_16
    389# MOVU.<bw> rs, rd
    390MOVU_rr		0101 1 sz:1 11 rs:4 rd:4
    391# MOVU.<bw> [ri, rb], rd
    392MOVU_ar		1111 1110 110 sz:1 ri:4 rb:4 rd:4
    393# MOVU.<bw> [rs+], rd
    394MOVU_pr		1111 1101 0011 1 ad:1 0 sz:1 rd:4 rs:4
    395
    396# MUL #uimm4, rd
    397MUL_ir		0110 0011 .... ....			@b2_rds_uimm4
    398# MUL #imm4, rd
    399MUL_ir		0111 01.. 0001 ....			@b2_rds_li
    400# MUL dsp[rs].ub, rd
    401# MUL rs, rd
    402MUL_mr		0100 11.. .... ....			@b2_rd_ld_ub
    403# MUL dsp[rs], rd
    404MUL_mr		0000 0110 ..00 11.. .... ....		@b3_rd_ld
    405# MOV rs, rs2, rd
    406MUL_rrr		1111 1111 0011 .... .... ....		@b3_rd_rs_rs2
    407
    408# MULHI rs, rs2
    409MULHI		1111 1101 0000 0000 rs:4 rs2:4
    410# MULLO rs, rs2
    411MULLO		1111 1101 0000 0001 rs:4 rs2:4
    412
    413# MVFACHI rd
    414MVFACHI		1111 1101 0001 1111 0000 rd:4
    415# MVFACMI rd
    416MVFACMI		1111 1101 0001 1111 0010 rd:4
    417
    418# MVFC cr, rd
    419MVFC		1111 1101 0110 1010 cr:4 rd:4
    420
    421# MVTACHI rs
    422MVTACHI		1111 1101 0001 0111 0000 rs:4
    423# MVTACLO rs
    424MVTACLO		1111 1101 0001 0111 0001 rs:4
    425
    426# MVTC #imm, cr
    427MVTC_i		1111 1101 0111 ..11 0000 cr:4		imm=%b3_li_10
    428# MVTC rs, cr
    429MVTC_r		1111 1101 0110 1000 rs:4 cr:4
    430
    431# MVTIPL #imm
    432MVTIPL		0111 0101 0111 0000 0000 imm:4
    433
    434# NEG rd
    435NEG_rr		0111 1110 0001 ....			@b2_rds
    436# NEG rs, rd
    437NEG_rr		1111 1100 0000 0111 .... ....		@b3_rd_rs
    438
    439NOP		0000 0011
    440
    441# NOT rd
    442NOT_rr		0111 1110 0000 ....			@b2_rds
    443# NOT rs, rd
    444NOT_rr		1111 1100 0011 1011 .... ....		@b3_rd_rs
    445
    446# OR #uimm4, rd
    447OR_ir		0110 0101 .... ....			@b2_rds_uimm4
    448# OR #imm, rd
    449OR_ir		0111 01.. 0011 ....			@b2_rds_li
    450# OR dsp[rs].ub, rd
    451# OR rs, rd
    452OR_mr		0101 01.. .... ....			@b2_rd_ld_ub
    453# OR dsp[rs], rd
    454OR_mr		0000 0110 .. 0101 .. .... ....		@b3_rd_ld
    455# OR rs, rs2, rd
    456OR_rrr		1111 1111 0101 .... .... ....		@b3_rd_rs_rs2
    457
    458# POP cr
    459POPC		0111 1110 1110 cr:4
    460# POP rd-rd2
    461POPM		0110 1111 rd:4 rd2:4
    462
    463# POP rd
    464# PUSH.<bwl> rs
    465{
    466  POP		0111 1110 1011 rd:4
    467  PUSH_r	0111 1110 10 sz:2 rs:4
    468}
    469# PUSH.<bwl> dsp[rs]
    470PUSH_m		1111 01 ld:2 rs:4 10 sz:2
    471# PUSH cr
    472PUSHC		0111 1110 1100 cr:4
    473# PUSHM rs-rs2
    474PUSHM		0110 1110 rs:4 rs2:4
    475
    476# RACW #imm
    477RACW		1111 1101 0001 1000 000 imm:1 0000
    478
    479# REVL rs,rd
    480REVL		1111 1101 0110 0111 .... ....		@b3_rd_rs
    481# REVW rs,rd
    482REVW		1111 1101 0110 0101 .... ....		@b3_rd_rs
    483
    484# SMOVF
    485# RPMA.<bwl>
    486{
    487  SMOVF		0111 1111 1000 1111
    488  RMPA		0111 1111 1000 11 sz:2
    489}
    490
    491# ROLC rd
    492ROLC		0111 1110 0101 ....			@b2_rds
    493# RORC rd
    494RORC		0111 1110 0100 ....			@b2_rds
    495
    496# ROTL #imm, rd
    497ROTL_ir		1111 1101 0110 111. .... ....		@b3_rds_imm5
    498# ROTL rs, rd
    499ROTL_rr		1111 1101 0110 0110 .... ....		@b3_rd_rs
    500
    501# ROTR #imm, rd
    502ROTR_ir		1111 1101 0110 110. .... ....		@b3_rds_imm5
    503# ROTR #imm, rd
    504ROTR_rr		1111 1101 0110 0100 .... ....		@b3_rd_rs
    505
    506# ROUND rs,rd
    507# ROUND dsp[rs],rd
    508ROUND		1111 1100 1001 10 .. .... ....		@b3_ld_rd_rs
    509
    510RTE		0111 1111 1001 0101
    511
    512RTFI		0111 1111 1001 0100
    513
    514RTS		0000 0010
    515
    516# RTSD #imm
    517RTSD_i		0110 0111 imm:8
    518# RTSD #imm, rd-rd2
    519RTSD_irr	0011 1111 rd:4 rd2:4 imm:8
    520
    521# SAT rd
    522SAT		0111 1110 0011 ....			@b2_rds
    523# SATR
    524SATR		0111 1111 1001 0011
    525
    526# SBB rs, rd
    527SBB_rr		1111 1100 0000 0011 .... ....		@b3_rd_rs
    528# SBB dsp[rs].l, rd
    529# Note only mi==2 allowed.
    530SBB_mr		0000 0110 ..10 00.. 0000 0000 .... ....	@b4_rd_ldmi
    531
    532# SCCnd dsp[rd]
    533# SCCnd rd
    534SCCnd		1111 1100 1101 .... .... ....		@b3_sz_ld_rd_cd
    535
    536# SETPSW psw
    537SETPSW		0111 1111 1010 cb:4
    538
    539# SHAR #imm, rd
    540SHAR_irr	0110 101. .... ....			@b2_rds_imm5
    541# SHAR #imm, rs, rd
    542SHAR_irr	1111 1101 101. .... .... ....		@b3_rd_rs_imm5
    543# SHAR rs, rd
    544SHAR_rr		1111 1101 0110 0001 .... ....		@b3_rd_rs
    545
    546# SHLL #imm, rd
    547SHLL_irr	0110 110. .... ....			@b2_rds_imm5
    548# SHLL #imm, rs, rd
    549SHLL_irr	1111 1101 110. .... .... ....		@b3_rd_rs_imm5
    550# SHLL rs, rd
    551SHLL_rr		1111 1101 0110 0010 .... ....		@b3_rd_rs
    552
    553# SHLR #imm, rd
    554SHLR_irr	0110 100. .... ....			@b2_rds_imm5
    555# SHLR #imm, rs, rd
    556SHLR_irr	1111 1101 100. .... .... ....		@b3_rd_rs_imm5
    557# SHLR rs, rd
    558SHLR_rr		1111 1101 0110 0000 .... ....		@b3_rd_rs
    559
    560# SMOVB
    561# SSTR.<bwl>
    562{
    563  SMOVB		0111 1111 1000 1011
    564  SSTR		0111 1111 1000 10 sz:2
    565}
    566
    567# STNZ #imm, rd
    568STNZ		1111 1101 0111 ..00 1111 ....		@b3_rd_li
    569# STZ #imm, rd
    570STZ		1111 1101 0111 ..00 1110 ....		@b3_rd_li
    571
    572# SUB #uimm4, rd
    573SUB_ir		0110 0000 .... ....			@b2_rds_uimm4
    574# SUB dsp[rs].ub, rd
    575# SUB rs, rd
    576SUB_mr		0100 00.. .... ....			@b2_rd_ld_ub
    577# SUB dsp[rs], rd
    578SUB_mr		0000 0110 ..00 00.. .... ....		@b3_rd_ld
    579# SUB rs, rs2, rd
    580SUB_rrr		1111 1111 0000 .... .... ....		@b3_rd_rs_rs2
    581
    582# SCMPU
    583# SUNTIL.<bwl>
    584{
    585  SCMPU		0111 1111 1000 0011
    586  SUNTIL	0111 1111 1000 00 sz:2
    587}
    588
    589# SMOVU
    590# SWHILE.<bwl>
    591{
    592  SMOVU		0111 1111 1000 0111
    593  SWHILE	0111 1111 1000 01 sz:2
    594}
    595
    596# TST #imm, rd
    597TST_ir		1111 1101 0111 ..00 1100 ....		@b3_rd_li
    598# TST dsp[rs].ub, rd
    599# TST rs, rd
    600TST_mr		1111 1100 0011 00.. .... ....		@b3_rd_ld_ub
    601# TST dsp[rs], rd
    602TST_mr		0000 0110 ..10 00.. 0000 1100 .... .... @b4_rd_ldmi
    603
    604WAIT		0111 1111 1001 0110
    605
    606# XCHG rs, rd
    607# XCHG dsp[rs].ub, rd
    608{
    609  XCHG_rr		1111 1100 0100 0011 .... ....		@b3_rd_rs
    610  XCHG_mr		1111 1100 0100 00.. .... ....		@b3_rd_ld_ub
    611}
    612# XCHG dsp[rs], rd
    613XCHG_mr		0000 0110 ..10 00.. 0001 0000 .... ....	@b4_rd_ldmi
    614
    615# XOR #imm, rd
    616XOR_ir		1111 1101 0111 ..00 1101 ....		@b3_rd_li
    617# XOR dsp[rs].ub, rd
    618# XOR rs, rd
    619XOR_mr		1111 1100 0011 01.. .... ....		@b3_rd_ld_ub
    620# XOR dsp[rs], rd
    621XOR_mr		0000 0110 ..10 00.. 0000 1101 .... ....	@b4_rd_ldmi