]> Git Repo - qemu.git/blame - target-s390x/insn-data.def
target-s390: Implement SAM specification exception
[qemu.git] / target-s390x / insn-data.def
CommitLineData
ad044d09
RH
1/* ADD */
2 C(0x1a00, AR, RR_a, Z, r1, r2, new, r1_32, add, adds32)
3 C(0xb9f8, ARK, RRF_a, DO, r2, r3, new, r1_32, add, adds32)
4 C(0x5a00, A, RX_a, Z, r1, m2_32s, new, r1_32, add, adds32)
5 C(0xe35a, AY, RXY_a, LD, r1, m2_32s, new, r1_32, add, adds32)
6 C(0xb908, AGR, RRE, Z, r1, r2, r1, 0, add, adds64)
7 C(0xb918, AGFR, RRE, Z, r1, r2_32s, r1, 0, add, adds64)
8 C(0xb9e8, AGRK, RRF_a, DO, r2, r3, r1, 0, add, adds64)
9 C(0xe308, AG, RXY_a, Z, r1, m2_64, r1, 0, add, adds64)
10 C(0xe318, AGF, RXY_a, Z, r1, m2_32s, r1, 0, add, adds64)
587626f8
RH
11 C(0xb30a, AEBR, RRE, Z, e1, e2, new, e1, aeb, f32)
12 C(0xb31a, ADBR, RRE, Z, f1_o, f2_o, f1, 0, adb, f64)
13 C(0xb34a, AXBR, RRE, Z, 0, x2_o, x1, 0, axb, f128)
14 C(0xed0a, AEB, RXE, Z, e1, m2_32u, new, e1, aeb, f32)
15 C(0xed1a, ADB, RXE, Z, f1_o, m2_64, f1, 0, adb, f64)
ad044d09
RH
16/* ADD IMMEDIATE */
17 C(0xc209, AFI, RIL_a, EI, r1, i2, new, r1_32, add, adds32)
18 C(0xeb6a, ASI, SIY, GIE, m1_32s, i2, new, m1_32, add, adds32)
19 C(0xecd8, AHIK, RIE_d, DO, r3, i2, new, r1_32, add, adds32)
20 C(0xc208, AGFI, RIL_a, EI, r1, i2, r1, 0, add, adds64)
21 C(0xeb7a, AGSI, SIY, GIE, m1_64, i2, new, m1_64, add, adds64)
22 C(0xecd9, AGHIK, RIE_d, DO, r3, i2, r1, 0, add, adds64)
d82287de
RH
23/* ADD HALFWORD */
24 C(0x4a00, AH, RX_a, Z, r1, m2_16s, new, r1_32, add, adds32)
25 C(0xe37a, AHY, RXY_a, LD, r1, m2_16s, new, r1_32, add, adds32)
26/* ADD HALFWORD IMMEDIATE */
27 C(0xa70a, AHI, RI_a, Z, r1, i2, new, r1_32, add, adds32)
28 C(0xa70b, AGHI, RI_a, Z, r1, i2, r1, 0, add, adds64)
29
ad044d09
RH
30/* ADD LOGICAL */
31 C(0x1e00, ALR, RR_a, Z, r1, r2, new, r1_32, add, addu32)
32 C(0xb9fa, ALRK, RRF_a, DO, r2, r3, new, r1_32, add, addu32)
33 C(0x5e00, AL, RX_a, Z, r1, m2_32u, new, r1_32, add, addu32)
34 C(0xe35e, ALY, RXY_a, LD, r1, m2_32u, new, r1_32, add, addu32)
35 C(0xb90a, ALGR, RRE, Z, r1, r2, r1, 0, add, addu64)
36 C(0xb91a, ALGFR, RRE, Z, r1, r2_32u, r1, 0, add, addu64)
37 C(0xb9ea, ALGRK, RRF_a, DO, r2, r3, r1, 0, add, addu64)
38 C(0xe30a, ALG, RXY_a, Z, r1, m2_64, r1, 0, add, addu64)
39 C(0xe31a, ALGF, RXY_a, Z, r1, m2_32u, r1, 0, add, addu64)
40/* ADD LOGICAL IMMEDIATE */
41 C(0xc20b, ALFI, RIL_a, EI, r1, i2_32u, new, r1_32, add, addu32)
42 C(0xc20a, ALGFI, RIL_a, EI, r1, i2_32u, r1, 0, add, addu64)
e272b3ac
RH
43/* ADD LOGICAL WITH SIGNED IMMEDIATE */
44 C(0xeb6e, ALSI, SIY, GIE, m1_32u, i2, new, m1_32, add, addu32)
45 C(0xecda, ALHSIK, RIE_d, DO, r3, i2, new, r1_32, add, addu32)
46 C(0xeb7e, ALGSI, SIY, GIE, m1_64, i2, new, m1_64, add, addu64)
47 C(0xecdb, ALGHSIK, RIE_d, DO, r3, i2, r1, 0, add, addu64)
4e4bb438
RH
48/* ADD LOGICAL WITH CARRY */
49 C(0xb998, ALCR, RRE, Z, r1, r2, new, r1_32, addc, addc32)
50 C(0xb988, ALCGR, RRE, Z, r1, r2, r1, 0, addc, addc64)
51 C(0xe398, ALC, RXY_a, Z, r1, m2_32u, new, r1_32, addc, addc32)
52 C(0xe388, ALCG, RXY_a, Z, r1, m2_64, r1, 0, addc, addc64)
ad044d09 53
3bbfbd1f
RH
54/* AND */
55 C(0x1400, NR, RR_a, Z, r1, r2, new, r1_32, and, nz32)
56 C(0xb9f4, NRK, RRF_a, DO, r2, r3, new, r1_32, and, nz32)
57 C(0x5400, N, RX_a, Z, r1, m2_32s, new, r1_32, and, nz32)
58 C(0xe354, NY, RXY_a, LD, r1, m2_32s, new, r1_32, and, nz32)
59 C(0xb980, NGR, RRE, Z, r1, r2, r1, 0, and, nz64)
60 C(0xb9e4, NGRK, RRF_a, DO, r2, r3, r1, 0, and, nz64)
61 C(0xe380, NG, RXY_a, Z, r1, m2_64, r1, 0, and, nz64)
0a949039 62 C(0xd400, NC, SS_a, Z, la1, a2, 0, 0, nc, 0)
facfc864
RH
63/* AND IMMEDIATE */
64 D(0xc00a, NIHF, RIL_a, EI, r1_o, i2_32u, r1, 0, andi, 0, 0x2020)
65 D(0xc00b, NILF, RIL_a, EI, r1_o, i2_32u, r1, 0, andi, 0, 0x2000)
66 D(0xa504, NIHH, RI_a, Z, r1_o, i2_16u, r1, 0, andi, 0, 0x1030)
67 D(0xa505, NIHL, RI_a, Z, r1_o, i2_16u, r1, 0, andi, 0, 0x1020)
68 D(0xa506, NILH, RI_a, Z, r1_o, i2_16u, r1, 0, andi, 0, 0x1010)
69 D(0xa507, NILL, RI_a, Z, r1_o, i2_16u, r1, 0, andi, 0, 0x1000)
a05d2b6b
RH
70 C(0x9400, NI, SI, Z, m1_8u, i2_8u, new, m1_8, and, nz64)
71 C(0xeb54, NIY, SIY, LD, m1_8u, i2_8u, new, m1_8, and, nz64)
3bbfbd1f 72
8ac33cdb
RH
73/* BRANCH AND SAVE */
74 C(0x0d00, BASR, RR_a, Z, 0, r2_nz, r1, 0, bas, 0)
75 C(0x4d00, BAS, RX_a, Z, 0, a2, r1, 0, bas, 0)
76/* BRANCH RELATIVE AND SAVE */
77 C(0xa705, BRAS, RI_b, Z, 0, 0, r1, 0, basi, 0)
78 C(0xc005, BRASL, RIL_b, Z, 0, 0, r1, 0, basi, 0)
7233f2ed
RH
79/* BRANCH ON CONDITION */
80 C(0x0700, BCR, RR_b, Z, 0, r2_nz, 0, 0, bc, 0)
81 C(0x4700, BC, RX_b, Z, 0, a2, 0, 0, bc, 0)
82/* BRANCH RELATIVE ON CONDITION */
83 C(0xa704, BRC, RI_c, Z, 0, 0, 0, 0, bc, 0)
84 C(0xc004, BRCL, RIL_c, Z, 0, 0, 0, 0, bc, 0)
c61aad69
RH
85/* BRANCH ON COUNT */
86 C(0x0600, BCTR, RR_a, Z, 0, r2_nz, 0, 0, bct32, 0)
87 C(0xb946, BCTGR, RRE, Z, 0, r2_nz, 0, 0, bct64, 0)
88 C(0x4600, BCT, RX_a, Z, 0, a2, 0, 0, bct32, 0)
89 C(0xe346, BCTG, RXY_a, Z, 0, a2, 0, 0, bct64, 0)
90/* BRANCH RELATIVE ON COUNT */
91 C(0xa706, BRCT, RI_b, Z, 0, 0, 0, 0, bct32, 0)
92 C(0xa707, BRCTG, RI_b, Z, 0, 0, 0, 0, bct64, 0)
2cf5e350
RH
93/* BRANCH ON INDEX */
94 D(0x8600, BXH, RS_a, Z, 0, a2, 0, 0, bx32, 0, 0)
95 D(0x8700, BXLE, RS_a, Z, 0, a2, 0, 0, bx32, 0, 1)
96 D(0xeb44, BXHG, RSY_a, Z, 0, a2, 0, 0, bx64, 0, 0)
97 D(0xeb45, BXLEG, RSY_a, Z, 0, a2, 0, 0, bx64, 0, 1)
98/* BRANCH RELATIVE ON INDEX */
99 D(0x8400, BRXH, RSI, Z, 0, 0, 0, 0, bx32, 0, 0)
100 D(0x8500, BRXLE, RSI, Z, 0, 0, 0, 0, bx32, 0, 1)
101 D(0xec44, BRXHG, RIE_e, Z, 0, 0, 0, 0, bx64, 0, 0)
102 D(0xec45, BRXHLE, RIE_e, Z, 0, 0, 0, 0, bx64, 0, 1)
8ac33cdb 103
374724f9
RH
104/* CHECKSUM */
105 C(0xb241, CKSM, RRE, Z, r1_o, ra2, new, r1_32, cksm, 0)
106
2db014b5
RH
107/* COPY SIGN */
108 C(0xb372, CPSDR, RRF_b, FPSSH, f3_o, f2_o, f1, 0, cps, 0)
109
a7e836d5
RH
110/* COMPARE */
111 C(0x1900, CR, RR_a, Z, r1_o, r2_o, 0, 0, 0, cmps32)
112 C(0x5900, C, RX_a, Z, r1_o, m2_32s, 0, 0, 0, cmps32)
113 C(0xe359, CY, RXY_a, LD, r1_o, m2_32s, 0, 0, 0, cmps32)
114 C(0xb920, CGR, RRE, Z, r1_o, r2_o, 0, 0, 0, cmps64)
115 C(0xb930, CGFR, RRE, Z, r1_o, r2_32s, 0, 0, 0, cmps64)
116 C(0xe320, CG, RXY_a, Z, r1_o, m2_64, 0, 0, 0, cmps64)
117 C(0xe330, CGF, RXY_a, Z, r1_o, m2_32s, 0, 0, 0, cmps64)
587626f8
RH
118 C(0xb309, CEBR, RRE, Z, e1, e2, 0, 0, ceb, 0)
119 C(0xb319, CDBR, RRE, Z, f1_o, f2_o, 0, 0, cdb, 0)
120 C(0xb349, CXBR, RRE, Z, x1_o, x2_o, 0, 0, cxb, 0)
121 C(0xed09, CEB, RXE, Z, e1, m2_32u, 0, 0, ceb, 0)
122 C(0xed19, CDB, RXE, Z, f1_o, m2_64, 0, 0, cdb, 0)
a7e836d5
RH
123/* COMPARE IMMEDIATE */
124 C(0xc20d, CFI, RIL_a, EI, r1, i2, 0, 0, 0, cmps32)
125 C(0xc20c, CGFI, RIL_a, EI, r1, i2, 0, 0, 0, cmps64)
403e217f
RH
126/* COMPARE RELATIVE LONG */
127 C(0xc60d, CRL, RIL_b, GIE, r1, mri2_32s, 0, 0, 0, cmps32)
128 C(0xc608, CGRL, RIL_b, GIE, r1, mri2_64, 0, 0, 0, cmps64)
129 C(0xc60c, CGFRL, RIL_b, GIE, r1, mri2_32s, 0, 0, 0, cmps64)
a7e836d5
RH
130/* COMPARE HALFWORD */
131 C(0x4900, CH, RX_a, Z, r1_o, m2_16s, 0, 0, 0, cmps32)
132 C(0xe379, CHY, RXY_a, LD, r1_o, m2_16s, 0, 0, 0, cmps32)
133 C(0xe334, CGH, RXY_a, GIE, r1_o, m2_16s, 0, 0, 0, cmps64)
134/* COMPARE HALFWORD IMMEDIATE */
135 C(0xa70e, CHI, RI_a, Z, r1_o, i2, 0, 0, 0, cmps32)
136 C(0xa70f, CGHI, RI_a, Z, r1_o, i2, 0, 0, 0, cmps64)
137 C(0xe554, CHHSI, SIL, GIE, m1_16s, i2, 0, 0, 0, cmps64)
138 C(0xe55c, CHSI, SIL, GIE, m1_32s, i2, 0, 0, 0, cmps64)
139 C(0xe558, CGHSI, SIL, GIE, m1_64, i2, 0, 0, 0, cmps64)
140/* COMPARE HALFWORD RELATIVE LONG */
141 C(0xc605, CHRL, RIL_a, GIE, r1_o, mri2_32s, 0, 0, 0, cmps32)
142 C(0xc604, CGHRL, RIL_a, GIE, r1_o, mri2_64, 0, 0, 0, cmps64)
143
144/* COMPARE LOGICAL */
145 C(0x1500, CLR, RR_a, Z, r1, r2, 0, 0, 0, cmpu32)
146 C(0x5500, CL, RX_a, Z, r1, m2_32s, 0, 0, 0, cmpu32)
147 C(0xe355, CLY, RXY_a, LD, r1, m2_32s, 0, 0, 0, cmpu32)
148 C(0xb921, CLGR, RRE, Z, r1, r2, 0, 0, 0, cmpu64)
149 C(0xb931, CLGFR, RRE, Z, r1, r2_32u, 0, 0, 0, cmpu64)
150 C(0xe321, CLG, RXY_a, Z, r1, m2_64, 0, 0, 0, cmpu64)
151 C(0xe331, CLGF, RXY_a, Z, r1, m2_32u, 0, 0, 0, cmpu64)
4f7403d5 152 C(0xd500, CLC, SS_a, Z, la1, a2, 0, 0, clc, 0)
a7e836d5
RH
153/* COMPARE LOGICAL IMMEDIATE */
154 C(0xc20f, CLFI, RIL_a, EI, r1, i2, 0, 0, 0, cmpu32)
155 C(0xc20e, CLGFI, RIL_a, EI, r1, i2_32u, 0, 0, 0, cmpu64)
156 C(0x9500, CLI, SI, Z, m1_8u, i2_8u, 0, 0, 0, cmpu64)
157 C(0xeb55, CLIY, SIY, LD, m1_8u, i2_8u, 0, 0, 0, cmpu64)
158 C(0xe555, CLHHSI, SIL, GIE, m1_16u, i2_16u, 0, 0, 0, cmpu64)
159 C(0xe55d, CLFHSI, SIL, GIE, m1_32u, i2_16u, 0, 0, 0, cmpu64)
160 C(0xe559, CLGHSI, SIL, GIE, m1_64, i2_16u, 0, 0, 0, cmpu64)
161/* COMPARE LOGICAL RELATIVE LONG */
162 C(0xc60f, CLRL, RIL_b, GIE, r1_o, mri2_32u, 0, 0, 0, cmpu32)
163 C(0xc60a, CLGRL, RIL_b, GIE, r1_o, mri2_64, 0, 0, 0, cmpu64)
164 C(0xc60e, CLGFRL, RIL_b, GIE, r1_o, mri2_32u, 0, 0, 0, cmpu64)
165 C(0xc607, CLHRL, RIL_b, GIE, r1_o, mri2_16u, 0, 0, 0, cmpu32)
166 C(0xc606, CLGHRL, RIL_b, GIE, r1_o, mri2_16u, 0, 0, 0, cmpu64)
eb66e6a9
RH
167/* COMPARE LOGICAL LONG EXTENDED */
168 C(0xa900, CLCLE, RS_a, Z, 0, a2, 0, 0, clcle, 0)
32a44d58
RH
169/* COMPARE LOGICAL CHARACTERS UNDER MASK */
170 C(0xbd00, CLM, RS_b, Z, r1_o, a2, 0, 0, clm, 0)
171 C(0xeb21, CLMY, RSY_b, LD, r1_o, a2, 0, 0, clm, 0)
172 C(0xeb20, CLMH, RSY_b, Z, r1_sr32, a2, 0, 0, clm, 0)
aa31bf60
RH
173/* COMPARE LOGICAL STRING */
174 C(0xb25d, CLST, RRE, Z, r1_o, r2_o, 0, 0, clst, 0)
a7e836d5 175
5550359f
RH
176/* COMPARE AND BRANCH */
177 D(0xecf6, CRB, RRS, GIE, r1_32s, r2_32s, 0, 0, cj, 0, 0)
178 D(0xece4, CGRB, RRS, GIE, r1_o, r2_o, 0, 0, cj, 0, 0)
179 D(0xec76, CRJ, RIE_b, GIE, r1_32s, r2_32s, 0, 0, cj, 0, 0)
180 D(0xec64, CGRJ, RIE_b, GIE, r1_o, r2_o, 0, 0, cj, 0, 0)
181 D(0xecfe, CIB, RIS, GIE, r1_32s, i2, 0, 0, cj, 0, 0)
182 D(0xecfc, CGIB, RIS, GIE, r1_o, i2, 0, 0, cj, 0, 0)
183 D(0xec7e, CIJ, RIE_c, GIE, r1_32s, i2, 0, 0, cj, 0, 0)
184 D(0xec7c, CGIJ, RIE_c, GIE, r1_o, i2, 0, 0, cj, 0, 0)
185/* COMPARE LOGICAL AND BRANCH */
186 D(0xecf7, CLRB, RRS, GIE, r1_32u, r2_32u, 0, 0, cj, 0, 1)
187 D(0xece5, CLGRB, RRS, GIE, r1_o, r2_o, 0, 0, cj, 0, 1)
188 D(0xec77, CLRJ, RIE_b, GIE, r1_32u, r2_32u, 0, 0, cj, 0, 1)
189 D(0xec65, CLGRJ, RIE_b, GIE, r1_o, r2_o, 0, 0, cj, 0, 1)
190 D(0xecff, CLIB, RIS, GIE, r1_32u, i2_8u, 0, 0, cj, 0, 1)
191 D(0xecfd, CLGIB, RIS, GIE, r1_o, i2_8u, 0, 0, cj, 0, 1)
192 D(0xec7f, CLIJ, RIE_c, GIE, r1_32u, i2_8u, 0, 0, cj, 0, 1)
193 D(0xec7d, CLGIJ, RIE_c, GIE, r1_o, i2_8u, 0, 0, cj, 0, 1)
194
f3de39c4 195/* COMPARE AND SWAP */
b7886de3
RH
196 D(0xba00, CS, RS_a, Z, r3_32u, r1_32u, new, r1_32, cs, 0, 0)
197 D(0xeb14, CSY, RSY_a, LD, r3_32u, r1_32u, new, r1_32, cs, 0, 0)
198 D(0xeb30, CSG, RSY_a, Z, r3_o, r1_o, new, r1, cs, 0, 1)
f3de39c4 199/* COMPARE DOUBLE AND SWAP */
b7886de3
RH
200 D(0xbb00, CDS, RS_a, Z, r3_D32, r1_D32, new, r1_D32, cs, 0, 1)
201 D(0xeb31, CDSY, RSY_a, LD, r3_D32, r1_D32, new, r1_D32, cs, 0, 1)
202 C(0xeb3e, CDSG, RSY_a, Z, 0, 0, 0, 0, cdsg, 0)
f3de39c4 203
1c268751
RH
204/* COMPARE AND TRAP */
205 D(0xb972, CRT, RRF_c, GIE, r1_32s, r2_32s, 0, 0, ct, 0, 0)
206 D(0xb960, CGRT, RRF_c, GIE, r1_o, r2_o, 0, 0, ct, 0, 0)
207 D(0xec72, CIT, RIE_a, GIE, r1_32s, i2, 0, 0, ct, 0, 0)
208 D(0xec70, CGIT, RIE_a, GIE, r1_o, i2, 0, 0, ct, 0, 0)
209/* COMPARE LOGICAL AND TRAP */
210 D(0xb973, CLRT, RRF_c, GIE, r1_32u, r2_32u, 0, 0, ct, 0, 1)
211 D(0xb961, CLGRT, RRF_c, GIE, r1_o, r2_o, 0, 0, ct, 0, 1)
212 D(0xec73, CLFIT, RIE_a, GIE, r1_32u, i2_32u, 0, 0, ct, 0, 1)
213 D(0xec71, CLGIT, RIE_a, GIE, r1_o, i2_32u, 0, 0, ct, 0, 0)
214
c49daa51
RH
215/* CONVERT TO DECIMAL */
216 C(0x4e00, CVD, RX_a, Z, r1_o, a2, 0, 0, cvd, 0)
217 C(0xe326, CVDY, RXY_a, LD, r1_o, a2, 0, 0, cvd, 0)
68c8bd93
RH
218/* CONVERT TO FIXED */
219 C(0xb398, CFEBR, RRF_e, Z, 0, e2, new, r1_32, cfeb, 0)
220 C(0xb399, CFDBR, RRF_e, Z, 0, f2_o, new, r1_32, cfdb, 0)
221 C(0xb39a, CFXBR, RRF_e, Z, 0, x2_o, new, r1_32, cfxb, 0)
222 C(0xb3a8, CGEBR, RRF_e, Z, 0, e2, r1, 0, cgeb, 0)
223 C(0xb3a9, CGDBR, RRF_e, Z, 0, f2_o, r1, 0, cgdb, 0)
224 C(0xb3aa, CGXBR, RRF_e, Z, 0, x2_o, r1, 0, cgxb, 0)
683bb9a8
RH
225/* CONVERT FROM FIXED */
226 C(0xb394, CEFBR, RRF_e, Z, 0, r2_32s, new, e1, cegb, 0)
227 C(0xb395, CDFBR, RRF_e, Z, 0, r2_32s, f1, 0, cdgb, 0)
228 C(0xb396, CXFBR, RRF_e, Z, 0, r2_32s, x1, 0, cxgb, 0)
229 C(0xb3a4, CEGBR, RRF_e, Z, 0, r2_o, new, e1, cegb, 0)
230 C(0xb3a5, CDGBR, RRF_e, Z, 0, r2_o, f1, 0, cdgb, 0)
231 C(0xb3a6, CXGBR, RRF_e, Z, 0, r2_o, x1, 0, cxgb, 0)
6ac1b45f
RH
232/* CONVERT TO LOGICAL */
233 C(0xb39c, CLFEBR, RRF_e, FPE, 0, e2, new, r1_32, clfeb, 0)
234 C(0xb39d, CLFDBR, RRF_e, FPE, 0, f2_o, new, r1_32, clfdb, 0)
235 C(0xb39e, CLFXBR, RRF_e, FPE, 0, x2_o, new, r1_32, clfxb, 0)
236 C(0xb3ac, CLGEBR, RRF_e, FPE, 0, e2, r1, 0, clgeb, 0)
237 C(0xb3ad, CLGDBR, RRF_e, FPE, 0, f2_o, r1, 0, clgdb, 0)
238 C(0xb3ae, CLGXBR, RRF_e, FPE, 0, x2_o, r1, 0, clgxb, 0)
2112bf1b
RH
239/* CONVERT FROM LOGICAL */
240 C(0xb390, CELFBR, RRF_e, FPE, 0, r2_32u, new, e1, celgb, 0)
241 C(0xb391, CDLFBR, RRF_e, FPE, 0, r2_32u, f1, 0, cdlgb, 0)
242 C(0xb392, CXLFBR, RRF_e, FPE, 0, r2_32u, x1, 0, cxlgb, 0)
243 C(0xb3a0, CELGBR, RRF_e, FPE, 0, r2_o, new, e1, celgb, 0)
244 C(0xb3a1, CDLGBR, RRF_e, FPE, 0, r2_o, f1, 0, cdlgb, 0)
245 C(0xb3a2, CXLGBR, RRF_e, FPE, 0, r2_o, x1, 0, cxlgb, 0)
c49daa51 246
891452e5
RH
247/* DIVIDE */
248 C(0x1d00, DR, RR_a, Z, r1_D32, r2_32s, new_P, r1_P32, divs32, 0)
249 C(0x5d00, D, RX_a, Z, r1_D32, m2_32s, new_P, r1_P32, divs32, 0)
f08a5c31
RH
250 C(0xb30d, DEBR, RRE, Z, e1, e2, new, e1, deb, 0)
251 C(0xb31d, DDBR, RRE, Z, f1_o, f2_o, f1, 0, ddb, 0)
252 C(0xb34d, DXBR, RRE, Z, 0, x2_o, x1, 0, dxb, 0)
253 C(0xed0d, DEB, RXE, Z, e1, m2_32u, new, e1, deb, 0)
254 C(0xed1d, DDB, RXE, Z, f1_o, m2_64, f1, 0, ddb, 0)
891452e5
RH
255/* DIVIDE LOGICAL */
256 C(0xb997, DLR, RRE, Z, r1_D32, r2_32u, new_P, r1_P32, divu32, 0)
257 C(0xe397, DL, RXY_a, Z, r1_D32, m2_32u, new_P, r1_P32, divu32, 0)
258 C(0xb987, DLGR, RRE, Z, 0, r2_o, r1_P, 0, divu64, 0)
259 C(0xe387, DLG, RXY_a, Z, 0, m2_64, r1_P, 0, divu64, 0)
260/* DIVIDE SINGLE */
261 C(0xb90d, DSGR, RRE, Z, r1p1, r2, r1_P, 0, divs64, 0)
262 C(0xb91d, DSGFR, RRE, Z, r1p1, r2_32s, r1_P, 0, divs64, 0)
263 C(0xe30d, DSG, RXY_a, Z, r1p1, m2_64, r1_P, 0, divs64, 0)
264 C(0xe31d, DSGF, RXY_a, Z, r1p1, m2_32s, r1_P, 0, divs64, 0)
265
3bbfbd1f
RH
266/* EXCLUSIVE OR */
267 C(0x1700, XR, RR_a, Z, r1, r2, new, r1_32, xor, nz32)
268 C(0xb9f7, XRK, RRF_a, DO, r2, r3, new, r1_32, xor, nz32)
269 C(0x5700, X, RX_a, Z, r1, m2_32s, new, r1_32, xor, nz32)
270 C(0xe357, XY, RXY_a, LD, r1, m2_32s, new, r1_32, xor, nz32)
271 C(0xb982, XGR, RRE, Z, r1, r2, r1, 0, xor, nz64)
272 C(0xb9e7, XGRK, RRF_a, DO, r2, r3, r1, 0, xor, nz64)
273 C(0xe382, XG, RXY_a, Z, r1, m2_64, r1, 0, xor, nz64)
d074ac6d 274 C(0xd700, XC, SS_a, Z, 0, 0, 0, 0, xc, 0)
facfc864
RH
275/* EXCLUSIVE OR IMMEDIATE */
276 D(0xc006, XIHF, RIL_a, EI, r1_o, i2_32u, r1, 0, xori, 0, 0x2020)
277 D(0xc007, XILF, RIL_a, EI, r1_o, i2_32u, r1, 0, xori, 0, 0x2000)
a05d2b6b
RH
278 C(0x9700, XI, SI, Z, m1_8u, i2_8u, new, m1_8, xor, nz64)
279 C(0xeb57, XIY, SIY, LD, m1_8u, i2_8u, new, m1_8, xor, nz64)
facfc864 280
6e764e97
RH
281/* EXECUTE */
282 C(0x4400, EX, RX_a, Z, r1_o, a2, 0, 0, ex, 0)
283/* EXECUTE RELATIVE LONG */
284 C(0xc600, EXRL, RIL_b, EE, r1_o, ri2, 0, 0, ex, 0)
285
d62a4c97
RH
286/* EXTRACT ACCESS */
287 C(0xb24f, EAR, RRE, Z, 0, 0, new, r1_32, ear, 0)
ea20490f
RH
288/* EXTRACT FPC */
289 C(0xb38c, EFPC, RRE, Z, 0, 0, new, r1_32, efpc, 0)
290
102bf2c6
RH
291/* FIND LEFTMOST ONE */
292 C(0xb983, FLOGR, RRE, EI, 0, r2_o, r1_P, 0, flogr, 0)
293
afdc70be
RH
294/* INSERT CHARACTER */
295 C(0x4300, IC, RX_a, Z, 0, m2_8u, 0, r1_8, mov2, 0)
296 C(0xe373, ICY, RXY_a, LD, 0, m2_8u, 0, r1_8, mov2, 0)
58a9e35b
RH
297/* INSERT CHARACTERS UNDER MASK */
298 D(0xbf00, ICM, RS_b, Z, 0, a2, r1, 0, icm, 0, 0)
299 D(0xeb81, ICMY, RSY_b, LD, 0, a2, r1, 0, icm, 0, 0)
300 D(0xeb80, ICMH, RSY_b, Z, 0, a2, r1, 0, icm, 0, 32)
facfc864
RH
301/* INSERT IMMEDIATE */
302 D(0xc008, IIHF, RIL_a, EI, r1_o, i2_32u, r1, 0, insi, 0, 0x2020)
303 D(0xc009, IILF, RIL_a, EI, r1_o, i2_32u, r1, 0, insi, 0, 0x2000)
304 D(0xa500, IIHH, RI_a, Z, r1_o, i2_16u, r1, 0, insi, 0, 0x1030)
305 D(0xa501, IIHL, RI_a, Z, r1_o, i2_16u, r1, 0, insi, 0, 0x1020)
306 D(0xa502, IILH, RI_a, Z, r1_o, i2_16u, r1, 0, insi, 0, 0x1010)
307 D(0xa503, IILL, RI_a, Z, r1_o, i2_16u, r1, 0, insi, 0, 0x1000)
6e2704e7
RH
308/* INSERT PROGRAM MASK */
309 C(0xb222, IPM, RRE, Z, 0, 0, r1, 0, ipm, 0)
3bbfbd1f 310
22c37a08
RH
311/* LOAD */
312 C(0x1800, LR, RR_a, Z, 0, r2_o, 0, cond_r1r2_32, mov2, 0)
313 C(0x5800, L, RX_a, Z, 0, a2, new, r1_32, ld32s, 0)
314 C(0xe358, LY, RXY_a, Z, 0, a2, new, r1_32, ld32s, 0)
315 C(0xb904, LGR, RRE, Z, 0, r2_o, 0, r1, mov2, 0)
316 C(0xb914, LGFR, RRE, Z, 0, r2_32s, 0, r1, mov2, 0)
317 C(0xe304, LG, RXY_a, Z, 0, a2, r1, 0, ld64, 0)
318 C(0xe314, LGF, RXY_a, Z, 0, a2, r1, 0, ld32s, 0)
d764a8d1
RH
319 C(0x2800, LDR, RR_a, Z, 0, f2_o, 0, f1, mov2, 0)
320 C(0x6800, LD, RX_a, Z, 0, m2_64, 0, f1, mov2, 0)
321 C(0xed65, LDY, RXY_a, LD, 0, m2_64, 0, f1, mov2, 0)
322 C(0x3800, LER, RR_a, Z, 0, e2, 0, cond_e1e2, mov2, 0)
323 C(0x7800, LE, RX_a, Z, 0, m2_32u, 0, e1, mov2, 0)
324 C(0xed64, LEY, RXY_a, LD, 0, m2_32u, 0, e1, mov2, 0)
325 C(0xb365, LXR, RRE, Z, 0, x2_o, 0, x1, movx, 0)
22c37a08
RH
326/* LOAD IMMEDIATE */
327 C(0xc001, LGFI, RIL_a, EI, 0, i2, 0, r1, mov2, 0)
328/* LOAD RELATIVE LONG */
329 C(0xc40d, LRL, RIL_b, GIE, 0, ri2, new, r1_32, ld32s, 0)
330 C(0xc408, LGRL, RIL_b, GIE, 0, ri2, r1, 0, ld64, 0)
331 C(0xc40c, LGFRL, RIL_b, GIE, 0, ri2, r1, 0, ld32s, 0)
aedec19d
RH
332/* LOAD ADDRESS */
333 C(0x4100, LA, RX_a, Z, 0, a2, 0, r1, mov2, 0)
334 C(0xe371, LAY, RXY_a, LD, 0, a2, 0, r1, mov2, 0)
335/* LOAD ADDRESS RELATIVE LONG */
336 C(0xc000, LARL, RIL_b, Z, 0, ri2, 0, r1, mov2, 0)
11bf2d73
RH
337/* LOAD AND TEST */
338 C(0x1200, LTR, RR_a, Z, 0, r2_o, 0, cond_r1r2_32, mov2, s32)
339 C(0xb902, LTGR, RRE, Z, 0, r2_o, 0, r1, mov2, s64)
340 C(0xb912, LTGFR, RRE, Z, 0, r2_32s, 0, r1, mov2, s64)
341 C(0xe312, LT, RXY_a, EI, 0, a2, new, r1_32, ld32s, s64)
342 C(0xe302, LTG, RXY_a, EI, 0, a2, r1, 0, ld64, s64)
343 C(0xe332, LTGF, RXY_a, GIE, 0, a2, r1, 0, ld32s, s64)
587626f8
RH
344 C(0xb302, LTEBR, RRE, Z, 0, e2, 0, cond_e1e2, mov2, f32)
345 C(0xb312, LTDBR, RRE, Z, 0, f2_o, 0, f1, mov2, f64)
346 C(0xb342, LTXBR, RRE, Z, 0, x2_o, 0, x1, movx, f128)
c698d876
RH
347/* LOAD BYTE */
348 C(0xb926, LBR, RRE, EI, 0, r2_8s, 0, r1_32, mov2, 0)
349 C(0xb906, LGBR, RRE, EI, 0, r2_8s, 0, r1, mov2, 0)
350 C(0xe376, LB, RXY_a, LD, 0, a2, new, r1_32, ld8s, 0)
351 C(0xe377, LGB, RXY_a, LD, 0, a2, r1, 0, ld8s, 0)
b9bca3e5
RH
352/* LOAD COMPLEMENT */
353 C(0x1300, LCR, RR_a, Z, 0, r2, new, r1_32, neg, neg32)
354 C(0xb903, LCGR, RRE, Z, 0, r2, r1, 0, neg, neg64)
355 C(0xb913, LCGFR, RRE, Z, 0, r2_32s, r1, 0, neg, neg64)
5d7fd045
RH
356 C(0xb303, LCEBR, RRE, Z, 0, e2, new, e1, negf32, f32)
357 C(0xb313, LCDBR, RRE, Z, 0, f2_o, f1, 0, negf64, f64)
358 C(0xb343, LCXBR, RRE, Z, 0, x2_o, x1, 0, negf128, f128)
1d1f6301 359 C(0xb373, LCDFR, RRE, FPSSH, 0, f2_o, f1, 0, negf64, 0)
c698d876
RH
360/* LOAD HALFWORD */
361 C(0xb927, LHR, RRE, EI, 0, r2_16s, 0, r1_32, mov2, 0)
362 C(0xb907, LGHR, RRE, EI, 0, r2_16s, 0, r1, mov2, 0)
363 C(0x4800, LH, RX_a, Z, 0, a2, new, r1_32, ld16s, 0)
364 C(0xe378, LHY, RXY_a, LD, 0, a2, new, r1_32, ld16s, 0)
365 C(0xe315, LGH, RXY_a, Z, 0, a2, r1, 0, ld16s, 0)
366/* LOAD HALFWORD IMMEDIATE */
367 C(0xa708, LHI, RI_a, Z, 0, i2, 0, r1_32, mov2, 0)
368 C(0xa709, LGHI, RI_a, Z, 0, i2, 0, r1, mov2, 0)
369/* LOAD HALFWORD RELATIVE LONG */
370 C(0xc405, LHRL, RIL_b, GIE, 0, ri2, new, r1_32, ld16s, 0)
371 C(0xc404, LGHRL, RIL_b, GIE, 0, ri2, r1, 0, ld16s, 0)
22c37a08
RH
372/* LOAD LOGICAL */
373 C(0xb916, LLGFR, RRE, Z, 0, r2_32u, 0, r1, mov2, 0)
374 C(0xe316, LLGF, RXY_a, Z, 0, a2, r1, 0, ld32u, 0)
375/* LOAD LOGICAL RELATIVE LONG */
376 C(0xc40e, LLGFRL, RIL_b, GIE, 0, ri2, r1, 0, ld32u, 0)
c698d876
RH
377/* LOAD LOGICAL CHARACTER */
378 C(0xb994, LLCR, RRE, EI, 0, r2_8u, 0, r1_32, mov2, 0)
379 C(0xb984, LLGCR, RRE, EI, 0, r2_8u, 0, r1, mov2, 0)
380 C(0xe394, LLC, RXY_a, EI, 0, a2, new, r1_32, ld8u, 0)
381 C(0xe390, LLGC, RXY_a, Z, 0, a2, r1, 0, ld8u, 0)
382/* LOAD LOGICAL HALFWORD */
383 C(0xb995, LLHR, RRE, EI, 0, r2_16u, 0, r1_32, mov2, 0)
384 C(0xb985, LLGHR, RRE, EI, 0, r2_16u, 0, r1, mov2, 0)
385 C(0xe395, LLH, RXY_a, EI, 0, a2, new, r1_32, ld16u, 0)
386 C(0xe391, LLGH, RXY_a, Z, 0, a2, r1, 0, ld16u, 0)
387/* LOAD LOGICAL HALFWORD RELATIVE LONG */
388 C(0xc402, LLHRL, RIL_b, GIE, 0, ri2, new, r1_32, ld16u, 0)
389 C(0xc406, LLGHRL, RIL_b, GIE, 0, ri2, r1, 0, ld16u, 0)
ade9dea4
RH
390/* LOAD LOGICAL IMMEDATE */
391 D(0xc00e, LLIHF, RIL_a, EI, 0, i2_32u_shl, 0, r1, mov2, 0, 32)
392 D(0xc00f, LLILF, RIL_a, EI, 0, i2_32u_shl, 0, r1, mov2, 0, 0)
393 D(0xa50c, LLIHH, RI_a, Z, 0, i2_16u_shl, 0, r1, mov2, 0, 48)
394 D(0xa50d, LLIHL, RI_a, Z, 0, i2_16u_shl, 0, r1, mov2, 0, 32)
395 D(0xa50e, LLILH, RI_a, Z, 0, i2_16u_shl, 0, r1, mov2, 0, 16)
396 D(0xa50f, LLILL, RI_a, Z, 0, i2_16u_shl, 0, r1, mov2, 0, 0)
7691c23b
RH
397/* LOAD LOGICAL THIRTY ONE BITS */
398 C(0xb917, LLGTR, RRE, Z, 0, r2_o, r1, 0, llgt, 0)
399 C(0xe317, LLGT, RXY_a, Z, 0, m2_32u, r1, 0, llgt, 0)
143cbbc5
RH
400/* LOAD FPR FROM GR */
401 C(0xb3c1, LDGR, RRE, FPRGR, 0, r2_o, 0, f1, mov2, 0)
402/* LOAD GR FROM FPR */
403 C(0xb3cd, LGDR, RRE, FPRGR, 0, f2_o, 0, r1, mov2, 0)
b9bca3e5
RH
404/* LOAD NEGATIVE */
405 C(0x1100, LNR, RR_a, Z, 0, r2_32s, new, r1_32, nabs, nabs32)
406 C(0xb901, LNGR, RRE, Z, 0, r2, r1, 0, nabs, nabs64)
407 C(0xb911, LNGFR, RRE, Z, 0, r2_32s, r1, 0, nabs, nabs64)
5d7fd045
RH
408 C(0xb301, LNEBR, RRE, Z, 0, e2, new, e1, nabsf32, f32)
409 C(0xb311, LNDBR, RRE, Z, 0, f2_o, f1, 0, nabsf64, f64)
410 C(0xb341, LNXBR, RRE, Z, 0, x2_o, x1, 0, nabsf128, f128)
632086da
RH
411/* LOAD ON CONDITION */
412 C(0xb9f2, LOCR, RRF_c, LOC, r1, r2, new, r1_32, loc, 0)
413 C(0xb9e2, LOCGR, RRF_c, LOC, r1, r2, r1, 0, loc, 0)
414 C(0xebf2, LOC, RSY_b, LOC, r1, m2_32u, new, r1_32, loc, 0)
415 C(0xebe2, LOCG, RSY_b, LOC, r1, m2_64, r1, 0, loc, 0)
b9bca3e5
RH
416/* LOAD POSITIVE */
417 C(0x1000, LPR, RR_a, Z, 0, r2_32s, new, r1_32, abs, abs32)
418 C(0xb900, LPGR, RRE, Z, 0, r2, r1, 0, abs, abs64)
419 C(0xb910, LPGFR, RRE, Z, 0, r2_32s, r1, 0, abs, abs64)
5d7fd045
RH
420 C(0xb300, LPEBR, RRE, Z, 0, e2, new, e1, absf32, f32)
421 C(0xb310, LPDBR, RRE, Z, 0, f2_o, f1, 0, absf64, f64)
422 C(0xb340, LPXBR, RRE, Z, 0, x2_o, x1, 0, absf128, f128)
d54f5865
RH
423/* LOAD REVERSED */
424 C(0xb91f, LRVR, RRE, Z, 0, r2_32u, new, r1_32, rev32, 0)
425 C(0xb90f, LRVGR, RRE, Z, 0, r2_o, r1, 0, rev64, 0)
426 C(0xe31f, LRVH, RXY_a, Z, 0, m2_16u, new, r1_16, rev16, 0)
427 C(0xe31e, LRV, RXY_a, Z, 0, m2_32u, new, r1_32, rev32, 0)
428 C(0xe30f, LRVG, RXY_a, Z, 0, m2_64, r1, 0, rev64, 0)
24db8412
RH
429/* LOAD ZERO */
430 C(0xb374, LZER, RRE, Z, 0, 0, 0, e1, zero, 0)
431 C(0xb375, LZDR, RRE, Z, 0, 0, 0, f1, zero, 0)
432 C(0xb376, LZXR, RRE, Z, 0, 0, 0, x1, zero2, 0)
22c37a08 433
8379bfdb
RH
434/* LOAD FPC */
435 C(0xb29d, LFPC, S, Z, 0, m2_32u, 0, 0, sfpc, 0)
411edc22
RH
436/* LOAD FPC AND SIGNAL */
437 C(0xb2bd, LFAS, S, IEEEE_SIM, 0, m2_32u, 0, 0, sfas, 0)
8379bfdb 438
587626f8
RH
439/* LOAD LENGTHENED */
440 C(0xb304, LDEBR, RRE, Z, 0, e2, f1, 0, ldeb, 0)
441 C(0xb305, LXDBR, RRE, Z, 0, f2_o, x1, 0, lxdb, 0)
442 C(0xb306, LXEBR, RRE, Z, 0, e2, x1, 0, lxeb, 0)
443 C(0xed04, LDEB, RXE, Z, 0, m2_32u, f1, 0, ldeb, 0)
444 C(0xed05, LXDB, RXE, Z, 0, m2_64, x1, 0, lxdb, 0)
445 C(0xed06, LXEB, RXE, Z, 0, m2_32u, x1, 0, lxeb, 0)
446/* LOAD ROUNDED */
447 C(0xb344, LEDBR, RRE, Z, 0, f2_o, new, e1, ledb, 0)
448 C(0xb345, LDXBR, RRE, Z, 0, x2_o, f1, 0, ldxb, 0)
449 C(0xb346, LEXBR, RRE, Z, 0, x2_o, new, e1, lexb, 0)
450
77f8d6c3
RH
451/* LOAD MULTIPLE */
452 C(0x9800, LM, RS_a, Z, 0, a2, 0, 0, lm32, 0)
453 C(0xeb98, LMY, RSY_a, LD, 0, a2, 0, 0, lm32, 0)
454 C(0xeb04, LMG, RSY_a, Z, 0, a2, 0, 0, lm64, 0)
455/* LOAD MULTIPLE HIGH */
456 C(0xeb96, LMH, RSY_a, Z, 0, a2, 0, 0, lmh, 0)
7df3e93a
RH
457/* LOAD ACCESS MULTIPLE */
458 C(0x9a00, LAM, RS_a, Z, 0, a2, 0, 0, lam, 0)
459 C(0xeb9a, LAMY, RSY_a, LD, 0, a2, 0, 0, lam, 0)
77f8d6c3 460
6a04d76a 461/* MOVE */
af9e5a04 462 C(0xd200, MVC, SS_a, Z, la1, a2, 0, 0, mvc, 0)
6a04d76a
RH
463 C(0xe544, MVHHI, SIL, GIE, la1, i2, 0, m1_16, mov2, 0)
464 C(0xe54c, MVHI, SIL, GIE, la1, i2, 0, m1_32, mov2, 0)
465 C(0xe548, MVGHI, SIL, GIE, la1, i2, 0, m1_64, mov2, 0)
466 C(0x9200, MVI, SI, Z, la1, i2, 0, m1_8, mov2, 0)
467 C(0xeb52, MVIY, SIY, LD, la1, i2, 0, m1_8, mov2, 0)
e1eaada9
RH
468/* MOVE LONG */
469 C(0x0e00, MVCL, RR_a, Z, 0, 0, 0, 0, mvcl, 0)
eb66e6a9
RH
470/* MOVE LONG EXTENDED */
471 C(0xa800, MVCLE, RS_a, Z, 0, a2, 0, 0, mvcle, 0)
ee6c38d5
RH
472/* MOVE PAGE */
473 C(0xb254, MVPG, RRE, Z, r1_o, r2_o, 0, 0, mvpg, 0)
aa31bf60
RH
474/* MOVE STRING */
475 C(0xb255, MVST, RRE, Z, r1_o, r2_o, 0, 0, mvst, 0)
e1eaada9 476
d87aaf93
RH
477/* MULTIPLY */
478 C(0x1c00, MR, RR_a, Z, r1p1_32s, r2_32s, new, r1_D32, mul, 0)
479 C(0x5c00, M, RX_a, Z, r1p1_32s, m2_32s, new, r1_D32, mul, 0)
480 C(0xe35c, MFY, RXY_a, GIE, r1p1_32s, m2_32s, new, r1_D32, mul, 0)
83b00736
RH
481 C(0xb317, MEEBR, RRE, Z, e1, e2, new, e1, meeb, 0)
482 C(0xb31c, MDBR, RRE, Z, f1_o, f2_o, f1, 0, mdb, 0)
483 C(0xb34c, MXBR, RRE, Z, 0, x2_o, x1, 0, mxb, 0)
484 C(0xb30c, MDEBR, RRE, Z, f1_o, e2, f1, 0, mdeb, 0)
485 C(0xb307, MXDBR, RRE, Z, 0, f2_o, x1, 0, mxdb, 0)
486 C(0xed17, MEEB, RXE, Z, e1, m2_32u, new, e1, meeb, 0)
487 C(0xed1c, MDB, RXE, Z, f1_o, m2_64, f1, 0, mdb, 0)
488 C(0xed0c, MDEB, RXE, Z, f1_o, m2_32u, f1, 0, mdeb, 0)
489 C(0xed07, MXDB, RXE, Z, 0, m2_64, x1, 0, mxdb, 0)
d1c04a2b
RH
490/* MULTIPLY HALFWORD */
491 C(0x4c00, MH, RX_a, Z, r1_o, m2_16s, new, r1_32, mul, 0)
492 C(0xe37c, MHY, RXY_a, GIE, r1_o, m2_16s, new, r1_32, mul, 0)
493/* MULTIPLY HALFWORD IMMEDIATE */
494 C(0xa70c, MHI, RI_a, Z, r1_o, i2, new, r1_32, mul, 0)
495 C(0xa70d, MGHI, RI_a, Z, r1_o, i2, r1, 0, mul, 0)
d87aaf93
RH
496/* MULTIPLY LOGICAL */
497 C(0xb996, MLR, RRE, Z, r1p1_32u, r2_32u, new, r1_D32, mul, 0)
498 C(0xe396, ML, RXY_a, Z, r1p1_32u, m2_32u, new, r1_D32, mul, 0)
1ac5889f
RH
499 C(0xb986, MLGR, RRE, Z, r1p1, r2_o, r1_P, 0, mul128, 0)
500 C(0xe386, MLG, RXY_a, Z, r1p1, m2_64, r1_P, 0, mul128, 0)
d1c04a2b
RH
501/* MULTIPLY SINGLE */
502 C(0xb252, MSR, RRE, Z, r1_o, r2_o, new, r1_32, mul, 0)
503 C(0x7100, MS, RX_a, Z, r1_o, m2_32s, new, r1_32, mul, 0)
504 C(0xe351, MSY, RXY_a, LD, r1_o, m2_32s, new, r1_32, mul, 0)
505 C(0xb90c, MSGR, RRE, Z, r1_o, r2_o, r1, 0, mul, 0)
506 C(0xb91c, MSGFR, RRE, Z, r1_o, r2_32s, r1, 0, mul, 0)
507 C(0xe30c, MSG, RXY_a, Z, r1_o, m2_64, r1, 0, mul, 0)
508 C(0xe31c, MSGF, RXY_a, Z, r1_o, m2_32s, r1, 0, mul, 0)
509/* MULTIPLY SINGLE IMMEDIATE */
510 C(0xc201, MSFI, RIL_a, GIE, r1_o, i2, new, r1_32, mul, 0)
511 C(0xc200, MSGFI, RIL_a, GIE, r1_o, i2, r1, 0, mul, 0)
512
722bfec3
RH
513/* MULTIPLY AND ADD */
514 C(0xb30e, MAEBR, RRD, Z, e1, e2, new, e1, maeb, 0)
515 C(0xb31e, MADBR, RRD, Z, f1_o, f2_o, f1, 0, madb, 0)
516 C(0xed0e, MAEB, RXF, Z, e1, m2_32u, new, e1, maeb, 0)
517 C(0xed1e, MADB, RXF, Z, f1_o, m2_64, f1, 0, madb, 0)
518/* MULTIPLY AND SUBTRACT */
519 C(0xb30f, MSEBR, RRD, Z, e1, e2, new, e1, mseb, 0)
520 C(0xb31f, MSDBR, RRD, Z, f1_o, f2_o, f1, 0, msdb, 0)
521 C(0xed0f, MSEB, RXF, Z, e1, m2_32u, new, e1, mseb, 0)
522 C(0xed1f, MSDB, RXF, Z, f1_o, m2_64, f1, 0, msdb, 0)
523
3bbfbd1f
RH
524/* OR */
525 C(0x1600, OR, RR_a, Z, r1, r2, new, r1_32, or, nz32)
526 C(0xb9f6, ORK, RRF_a, DO, r2, r3, new, r1_32, or, nz32)
527 C(0x5600, O, RX_a, Z, r1, m2_32s, new, r1_32, or, nz32)
528 C(0xe356, OY, RXY_a, LD, r1, m2_32s, new, r1_32, or, nz32)
529 C(0xb981, OGR, RRE, Z, r1, r2, r1, 0, or, nz64)
530 C(0xb9e6, OGRK, RRF_a, DO, r2, r3, r1, 0, or, nz64)
531 C(0xe381, OG, RXY_a, Z, r1, m2_64, r1, 0, or, nz64)
0a949039 532 C(0xd600, OC, SS_a, Z, la1, a2, 0, 0, oc, 0)
facfc864
RH
533/* OR IMMEDIATE */
534 D(0xc00c, OIHF, RIL_a, EI, r1_o, i2_32u, r1, 0, ori, 0, 0x2020)
535 D(0xc00d, OILF, RIL_a, EI, r1_o, i2_32u, r1, 0, ori, 0, 0x2000)
536 D(0xa508, OIHH, RI_a, Z, r1_o, i2_16u, r1, 0, ori, 0, 0x1030)
537 D(0xa509, OIHL, RI_a, Z, r1_o, i2_16u, r1, 0, ori, 0, 0x1020)
538 D(0xa50a, OILH, RI_a, Z, r1_o, i2_16u, r1, 0, ori, 0, 0x1010)
539 D(0xa50b, OILL, RI_a, Z, r1_o, i2_16u, r1, 0, ori, 0, 0x1000)
a05d2b6b
RH
540 C(0x9600, OI, SI, Z, m1_8u, i2_8u, new, m1_8, or, nz64)
541 C(0xeb56, OIY, SIY, LD, m1_8u, i2_8u, new, m1_8, or, nz64)
3bbfbd1f 542
e0def909
RH
543/* PREFETCH */
544 /* Implemented as nops of course. */
545 C(0xe336, PFD, RXY_b, GIE, 0, 0, 0, 0, 0, 0)
546 C(0xc602, PFDRL, RIL_c, GIE, 0, 0, 0, 0, 0, 0)
547
99b4f24b
RH
548/* POPULATION COUNT */
549 C(0xb9e1, POPCNT, RRE, PC, 0, r2_o, r1, 0, popcnt, nz64)
550
cbe24bfa
RH
551/* ROTATE LEFT SINGLE LOGICAL */
552 C(0xeb1d, RLL, RSY_a, Z, r3_o, sh32, new, r1_32, rll32, 0)
553 C(0xeb1c, RLLG, RSY_a, Z, r3_o, sh64, r1, 0, rll64, 0)
554
2d6a8698
RH
555/* ROTATE THEN INSERT SELECTED BITS */
556 C(0xec55, RISBG, RIE_f, GIE, 0, r2, r1, 0, risbg, s64)
557 C(0xec5d, RISBHG, RIE_f, GIE, 0, r2, r1, 0, risbg, 0)
558 C(0xec51, RISBLG, RIE_f, GIE, 0, r2, r1, 0, risbg, 0)
d6c6372e
RH
559/* ROTATE_THEN <OP> SELECTED BITS */
560 C(0xec54, RNSBG, RIE_f, GIE, 0, r2, r1, 0, rosbg, 0)
561 C(0xec56, ROSBG, RIE_f, GIE, 0, r2, r1, 0, rosbg, 0)
562 C(0xec57, RXSBG, RIE_f, GIE, 0, r2, r1, 0, rosbg, 0)
2d6a8698 563
4600c994
RH
564/* SEARCH STRING */
565 C(0xb25e, SRST, RRE, Z, r1_o, r2_o, 0, 0, srst, 0)
566
d62a4c97
RH
567/* SET ACCESS */
568 C(0xb24e, SAR, RRE, Z, 0, r2_o, 0, 0, sar, 0)
8612c935
RH
569/* SET ADDRESSING MODE */
570 D(0x010c, SAM24, E, Z, 0, 0, 0, 0, sam, 0, 0)
571 D(0x010d, SAM31, E, Z, 0, 0, 0, 0, sam, 0, 1)
572 D(0x010e, SAM64, E, Z, 0, 0, 0, 0, sam, 0, 3)
8379bfdb
RH
573/* SET FPC */
574 C(0xb384, SFPC, RRE, Z, 0, r1_o, 0, 0, sfpc, 0)
411edc22
RH
575/* SET FPC AND SIGNAL */
576 C(0xb385, SFASR, RRE, IEEEE_SIM, 0, r1_o, 0, 0, sfas, 0)
a12000b9
RH
577/* SET BFP ROUNDING MODE */
578 C(0xb299, SRNM, S, Z, 0, 0, 0, 0, srnm, 0)
579 C(0xb2b8, SRNMB, S, FPE, 0, 0, 0, 0, srnm, 0)
580/* SET DFP ROUNDING MODE */
581 C(0xb2b9, SRNMT, S, DFP, 0, 0, 0, 0, srnm, 0)
8379bfdb 582
cbe24bfa
RH
583/* SHIFT LEFT SINGLE */
584 D(0x8b00, SLA, RS_a, Z, r1, sh32, new, r1_32, sla, 0, 31)
585 D(0xebdd, SLAK, RSY_a, DO, r3, sh32, new, r1_32, sla, 0, 31)
586 D(0xeb0b, SLAG, RSY_a, Z, r3, sh64, r1, 0, sla, 0, 63)
587/* SHIFT LEFT SINGLE LOGICAL */
588 C(0x8900, SLL, RS_a, Z, r1_o, sh32, new, r1_32, sll, 0)
589 C(0xebdf, SLLK, RSY_a, DO, r3_o, sh32, new, r1_32, sll, 0)
590 C(0xeb0d, SLLG, RSY_a, Z, r3_o, sh64, r1, 0, sll, 0)
591/* SHIFT RIGHT SINGLE */
592 C(0x8a00, SRA, RS_a, Z, r1_32s, sh32, new, r1_32, sra, s32)
593 C(0xebdc, SRAK, RSY_a, DO, r3_32s, sh32, new, r1_32, sra, s32)
594 C(0xeb0a, SRAG, RSY_a, Z, r3_o, sh64, r1, 0, sra, s64)
595/* SHIFT RIGHT SINGLE LOGICAL */
596 C(0x8800, SRL, RS_a, Z, r1_32u, sh32, new, r1_32, srl, 0)
597 C(0xebde, SRLK, RSY_a, DO, r3_32u, sh32, new, r1_32, srl, 0)
598 C(0xeb0c, SRLG, RSY_a, Z, r3_o, sh64, r1, 0, srl, 0)
a79ba339
RH
599/* SHIFT LEFT DOUBLE */
600 D(0x8f00, SLDA, RS_a, Z, r1_D32, sh64, new, r1_D32, sla, 0, 31)
601/* SHIFT LEFT DOUBLE LOGICAL */
602 C(0x8d00, SLDL, RS_a, Z, r1_D32, sh64, new, r1_D32, sll, 0)
603/* SHIFT RIGHT DOUBLE */
604 C(0x8e00, SRDA, RS_a, Z, r1_D32, sh64, new, r1_D32, sra, s64)
605/* SHIFT RIGHT DOUBLE LOGICAL */
606 C(0x8c00, SRDL, RS_a, Z, r1_D32, sh64, new, r1_D32, srl, 0)
cbe24bfa 607
16d7b2a4
RH
608/* SQUARE ROOT */
609 C(0xb314, SQEBR, RRE, Z, 0, e2, new, e1, sqeb, 0)
610 C(0xb315, SQDBR, RRE, Z, 0, f2_o, f1, 0, sqdb, 0)
611 C(0xb316, SQXBR, RRE, Z, 0, x2_o, x1, 0, sqxb, 0)
612 C(0xed14, SQEB, RXE, Z, 0, m2_32u, new, e1, sqeb, 0)
613 C(0xed15, SQDB, RXE, Z, 0, m2_64, f1, 0, sqdb, 0)
614
2b280b97
RH
615/* STORE */
616 C(0x5000, ST, RX_a, Z, r1_o, a2, 0, 0, st32, 0)
617 C(0xe350, STY, RXY_a, LD, r1_o, a2, 0, 0, st32, 0)
618 C(0xe324, STG, RXY_a, Z, r1_o, a2, 0, 0, st64, 0)
00574261
RH
619 C(0x6000, STD, RX_a, Z, f1_o, a2, 0, 0, st64, 0)
620 C(0xed67, STDY, RXY_a, LD, f1_o, a2, 0, 0, st64, 0)
621 C(0x7000, STE, RX_a, Z, e1, a2, 0, 0, st32, 0)
622 C(0xed66, STEY, RXY_a, LD, e1, a2, 0, 0, st32, 0)
2b280b97
RH
623/* STORE RELATIVE LONG */
624 C(0xc40f, STRL, RIL_b, GIE, r1_o, ri2, 0, 0, st32, 0)
625 C(0xc40b, STGRL, RIL_b, GIE, r1_o, ri2, 0, 0, st64, 0)
626/* STORE CHARACTER */
627 C(0x4200, STC, RX_a, Z, r1_o, a2, 0, 0, st8, 0)
628 C(0xe372, STCY, RXY_a, LD, r1_o, a2, 0, 0, st8, 0)
2ae68059
RH
629/* STORE CHARACTERS UNDER MASK */
630 D(0xbe00, STCM, RS_b, Z, r1_o, a2, 0, 0, stcm, 0, 0)
631 D(0xeb2d, STCMY, RSY_b, LD, r1_o, a2, 0, 0, stcm, 0, 0)
632 D(0xeb2c, STCMH, RSY_b, LD, r1_o, a2, 0, 0, stcm, 0, 32)
2b280b97
RH
633/* STORE HALFWORD */
634 C(0x4000, STH, RX_a, Z, r1_o, a2, 0, 0, st16, 0)
635 C(0xe370, STHY, RXY_a, LD, r1_o, a2, 0, 0, st16, 0)
636/* STORE HALFWORD RELATIVE LONG */
637 C(0xc407, STHRL, RIL_b, GIE, r1_o, ri2, 0, 0, st16, 0)
b92fa334
RH
638/* STORE ON CONDITION */
639 D(0xebf3, STOC, RSY_b, LOC, 0, 0, 0, 0, soc, 0, 0)
640 D(0xebe3, STOCG, RSY_b, LOC, 0, 0, 0, 0, soc, 0, 1)
e025e52a
RH
641/* STORE REVERSED */
642 C(0xe33f, STRVH, RXY_a, Z, la2, r1_16u, new, m1_16, rev16, 0)
643 C(0xe33e, STRV, RXY_a, Z, la2, r1_32u, new, m1_32, rev32, 0)
644 C(0xe32f, STRVG, RXY_a, Z, la2, r1_o, new, m1_64, rev64, 0)
2b280b97 645
ea20490f
RH
646/* STORE FPC */
647 C(0xb29c, STFPC, S, Z, 0, a2, new, m2_32, efpc, 0)
648
77f8d6c3
RH
649/* STORE MULTIPLE */
650 D(0x9000, STM, RS_a, Z, 0, a2, 0, 0, stm, 0, 4)
651 D(0xeb90, STMY, RSY_a, LD, 0, a2, 0, 0, stm, 0, 4)
652 D(0xeb24, STMG, RSY_a, Z, 0, a2, 0, 0, stm, 0, 8)
653/* STORE MULTIPLE HIGH */
654 C(0xeb26, STMH, RSY_a, Z, 0, a2, 0, 0, stmh, 0)
7df3e93a
RH
655/* STORE ACCESS MULTIPLE */
656 C(0x9b00, STAM, RS_a, Z, 0, a2, 0, 0, stam, 0)
657 C(0xeb9b, STAMY, RSY_a, LD, 0, a2, 0, 0, stam, 0)
77f8d6c3 658
ad044d09
RH
659/* SUBTRACT */
660 C(0x1b00, SR, RR_a, Z, r1, r2, new, r1_32, sub, subs32)
661 C(0xb9f9, SRK, RRF_a, DO, r2, r3, new, r1_32, sub, subs32)
662 C(0x5b00, S, RX_a, Z, r1, m2_32s, new, r1_32, sub, subs32)
663 C(0xe35b, SY, RXY_a, LD, r1, m2_32s, new, r1_32, sub, subs32)
664 C(0xb909, SGR, RRE, Z, r1, r2, r1, 0, sub, subs64)
665 C(0xb919, SGFR, RRE, Z, r1, r2_32s, r1, 0, sub, subs64)
666 C(0xb9e9, SGRK, RRF_a, DO, r2, r3, r1, 0, sub, subs64)
667 C(0xe309, SG, RXY_a, Z, r1, m2_64, r1, 0, sub, subs64)
668 C(0xe319, SGF, RXY_a, Z, r1, m2_32s, r1, 0, sub, subs64)
1a800a2d
RH
669 C(0xb30b, SEBR, RRE, Z, e1, e2, new, e1, seb, f32)
670 C(0xb31b, SDBR, RRE, Z, f1_o, f2_o, f1, 0, sdb, f64)
671 C(0xb34b, SXBR, RRE, Z, 0, x2_o, x1, 0, sxb, f128)
672 C(0xed0b, SEB, RXE, Z, e1, m2_32u, new, e1, seb, f32)
673 C(0xed1b, SDB, RXE, Z, f1_o, m2_64, f1, 0, sdb, f64)
3f4cb56a
RH
674/* SUBTRACT HALFWORD */
675 C(0x4b00, SH, RX_a, Z, r1, m2_16s, new, r1_32, sub, subs32)
676 C(0xe37b, SHY, RXY_a, LD, r1, m2_16s, new, r1_32, sub, subs32)
ad044d09
RH
677/* SUBTRACT LOGICAL */
678 C(0x1f00, SLR, RR_a, Z, r1, r2, new, r1_32, sub, subu32)
679 C(0xb9fb, SLRK, RRF_a, DO, r2, r3, new, r1_32, sub, subu32)
680 C(0x5f00, SL, RX_a, Z, r1, m2_32u, new, r1_32, sub, subu32)
681 C(0xe35f, SLY, RXY_a, LD, r1, m2_32u, new, r1_32, sub, subu32)
682 C(0xb90b, SLGR, RRE, Z, r1, r2, r1, 0, sub, subu64)
683 C(0xb91b, SLGFR, RRE, Z, r1, r2_32u, r1, 0, sub, subu64)
684 C(0xb9eb, SLGRK, RRF_a, DO, r2, r3, r1, 0, sub, subu64)
685 C(0xe30b, SLG, RXY_a, Z, r1, m2_64, r1, 0, sub, subu64)
686 C(0xe31b, SLGF, RXY_a, Z, r1, m2_32u, r1, 0, sub, subu64)
687/* SUBTRACT LOGICAL IMMEDIATE */
688 C(0xc205, SLFI, RIL_a, EI, r1, i2_32u, new, r1_32, sub, subu32)
689 C(0xc204, SLGFI, RIL_a, EI, r1, i2_32u, r1, 0, sub, subu64)
4e4bb438
RH
690/* SUBTRACT LOGICAL WITH BORROW */
691 C(0xb999, SLBR, RRE, Z, r1, r2, new, r1_32, subb, subb32)
692 C(0xb989, SLBGR, RRE, Z, r1, r2, r1, 0, subb, subb64)
693 C(0xe399, SLB, RXY_a, Z, r1, m2_32u, new, r1_32, subb, subb32)
694 C(0xe389, SLBG, RXY_a, Z, r1, m2_64, r1, 0, subb, subb64)
00d2dc19 695
b9836c1a
RH
696/* SUPERVISOR CALL */
697 C(0x0a00, SVC, I, Z, 0, 0, 0, 0, svc, 0)
698
31aa97d1
RH
699/* TEST DATA CLASS */
700 C(0xed10, TCEB, RXE, Z, e1, a2, 0, 0, tceb, 0)
701 C(0xed11, TCDB, RXE, Z, f1_o, a2, 0, 0, tcdb, 0)
702 C(0xed12, TCXB, RXE, Z, x1_o, a2, 0, 0, tcxb, 0)
703
00d2dc19
RH
704/* TEST UNDER MASK */
705 C(0x9100, TM, SI, Z, m1_8u, i2_8u, 0, 0, 0, tm32)
706 C(0xeb51, TMY, SIY, LD, m1_8u, i2_8u, 0, 0, 0, tm32)
707 D(0xa702, TMHH, RI_a, Z, r1_o, i2_16u_shl, 0, 0, 0, tm64, 48)
708 D(0xa703, TMHL, RI_a, Z, r1_o, i2_16u_shl, 0, 0, 0, tm64, 32)
709 D(0xa700, TMLH, RI_a, Z, r1_o, i2_16u_shl, 0, 0, 0, tm64, 16)
710 D(0xa701, TMLL, RI_a, Z, r1_o, i2_16u_shl, 0, 0, 0, tm64, 0)
d9a39927 711
0a949039
RH
712/* TRANSLATE */
713 C(0xdc00, TR, SS_a, Z, la1, a2, 0, 0, tr, 0)
714
715/* UNPACK */
716 /* Really format SS_b, but we pack both lengths into one argument
717 for the helper call, so we might as well leave one 8-bit field. */
718 C(0xf300, UNPK, SS_a, Z, la1, a2, 0, 0, unpk, 0)
719
d9a39927 720#ifndef CONFIG_USER_ONLY
3d596f49
RH
721/* COMPARE AND SWAP AND PURGE */
722 C(0xb250, CSP, RRE, Z, 0, ra2, 0, 0, csp, 0)
972e35b9
RH
723/* DIAGNOSE (KVM hypercall) */
724 C(0x8300, DIAG, RX_a, Z, 0, 0, 0, 0, diag, 0)
8026417c
RH
725/* INSERT STORAGE KEY EXTENDED */
726 C(0xb229, ISKE, RRE, Z, 0, r2_o, new, r1_8, iske, 0)
cfef53e3
RH
727/* INVALIDATE PAGE TABLE ENTRY */
728 C(0xb221, IPTE, RRF_a, Z, r1_o, r2_o, 0, 0, ipte, 0)
504488b8
RH
729/* LOAD CONTROL */
730 C(0xb700, LCTL, RS_a, Z, 0, a2, 0, 0, lctl, 0)
3e398cf9 731 C(0xeb2f, LCTLG, RSY_a, Z, 0, a2, 0, 0, lctlg, 0)
8b5ff571
RH
732/* LOAD PSW */
733 C(0x8200, LPSW, S, Z, 0, a2, 0, 0, lpsw, 0)
7ab938d7
RH
734/* LOAD PSW EXTENDED */
735 C(0xb2b2, LPSWE, S, Z, 0, a2, 0, 0, lpswe, 0)
d8fe4a9c
RH
736/* LOAD REAL ADDRESS */
737 C(0xb100, LRA, RX_a, Z, 0, a2, r1, 0, lra, 0)
738 C(0xe313, LRAY, RXY_a, LD, 0, a2, r1, 0, lra, 0)
739 C(0xe303, LRAG, RXY_a, Z, 0, a2, r1, 0, lra, 0)
97c3ab61
RH
740/* MOVE TO PRIMARY */
741 C(0xda00, MVCP, SS_d, Z, la1, a2, 0, 0, mvcp, 0)
742/* MOVE TO SECONDARY */
743 C(0xdb00, MVCS, SS_d, Z, la1, a2, 0, 0, mvcs, 0)
0568d8aa
RH
744/* PURGE TLB */
745 C(0xb20d, PTLB, S, Z, 0, 0, 0, 0, ptlb, 0)
5cc69c54
RH
746/* RESET REFERENCE BIT EXTENDED */
747 C(0xb22a, RRBE, RRE, Z, 0, r2_o, 0, 0, rrbe, 0)
dc458df9
RH
748/* SERVICE CALL LOGICAL PROCESSOR (PV hypercall) */
749 C(0xb220, SERVC, RRE, Z, r1_o, r2_o, 0, 0, servc, 0)
14244b21
RH
750/* SET ADDRESS SPACE CONTROL FAST */
751 C(0xb279, SACF, S, Z, 0, a2, 0, 0, sacf, 0)
35289799
RH
752/* SET CLOCK */
753 /* ??? Not implemented - is it necessary? */
754 C(0xb204, SCK, S, Z, 0, 0, 0, 0, 0, 0)
dd3eb7b5
RH
755/* SET CLOCK COMPARATOR */
756 C(0xb206, SCKC, S, Z, 0, m2_64, 0, 0, sckc, 0)
c4f0a863
RH
757/* SET CPU TIMER */
758 C(0xb208, SPT, S, Z, 0, m2_64, 0, 0, spt, 0)
e805a0d3
RH
759/* SET PREFIX */
760 C(0xb210, SPX, S, Z, 0, m2_32u, 0, 0, spx, 0)
28d55556
RH
761/* SET PSW KEY FROM ADDRESS */
762 C(0xb20a, SPKA, S, Z, 0, a2, 0, 0, spka, 0)
2bbde27f
RH
763/* SET STORAGE KEY EXTENDED */
764 C(0xb22b, SSKE, RRF_c, Z, r1_o, r2_o, 0, 0, sske, 0)
7d30bb73
RH
765/* SET SYSTEM MASK */
766 C(0x8000, SSM, S, Z, 0, m2_8u, 0, 0, ssm, 0)
0c240015
RH
767/* SIGNAL PROCESSOR */
768 C(0xae00, SIGP, RS_a, Z, r3_o, a2, 0, 0, sigp, 0)
434c91a5
RH
769/* STORE CLOCK */
770 C(0xb205, STCK, S, Z, la2, 0, new, m1_64, stck, 0)
771 C(0xb27c, STCKF, S, Z, la2, 0, new, m1_64, stck, 0)
39a5003c
RH
772/* STORE CLOCK EXTENDED */
773 C(0xb278, STCKE, S, Z, 0, a2, 0, 0, stcke, 0)
dd3eb7b5
RH
774/* STORE CLOCK COMPARATOR */
775 C(0xb207, STCKC, S, Z, la2, 0, new, m1_64, stckc, 0)
504488b8
RH
776/* STORE CONTROL */
777 C(0xb600, STCTL, RS_a, Z, 0, a2, 0, 0, stctl, 0)
3e398cf9 778 C(0xeb25, STCTG, RSY_a, Z, 0, a2, 0, 0, stctg, 0)
411fea3d
RH
779/* STORE CPU ADDRESS */
780 C(0xb212, STAP, S, Z, la2, 0, new, m1_16, stap, 0)
71bd6669
RH
781/* STORE CPU ID */
782 C(0xb202, STIDP, S, Z, la2, 0, new, m1_64, stidp, 0)
c4f0a863
RH
783/* STORE CPU TIMER */
784 C(0xb209, STPT, S, Z, la2, 0, new, m1_64, stpt, 0)
fc778b55
RH
785/* STORE FACILITY LIST */
786 C(0xb2b1, STFL, S, Z, 0, 0, 0, 0, stfl, 0)
e805a0d3
RH
787/* STORE PREFIX */
788 C(0xb211, STPX, S, Z, la2, 0, new, m1_32, stpx, 0)
d14b3e09
RH
789/* STORE SYSTEM INFORMATION */
790 C(0xb27d, STSI, S, Z, 0, a2, 0, 0, stsi, 0)
145cdb40
RH
791/* STORE THEN AND SYSTEM MASK */
792 C(0xac00, STNSM, SI, Z, la1, 0, 0, 0, stnosm, 0)
793/* STORE THEN OR SYSTEM MASK */
794 C(0xad00, STOSM, SI, Z, la1, 0, 0, 0, stnosm, 0)
204504e2
RH
795/* STORE USING REAL ADDRESS */
796 C(0xb246, STURA, RRE, Z, r1_o, r2_o, 0, 0, stura, 0)
112bf079
RH
797/* TEST PROTECTION */
798 C(0xe501, TPROT, SSE, Z, la1, a2, 0, 0, tprot, 0)
2c423fc0
RH
799
800/* I/O Instructions. For each we simply indicate non-operation. */
801 C(0xb276, XSCH, S, Z, 0, 0, 0, 0, subchannel, 0)
802 C(0xb230, CSCH, S, Z, 0, 0, 0, 0, subchannel, 0)
803 C(0xb231, HSCH, S, Z, 0, 0, 0, 0, subchannel, 0)
804 C(0xb232, MSCH, S, Z, 0, 0, 0, 0, subchannel, 0)
805 C(0xb23b, RCHP, S, Z, 0, 0, 0, 0, subchannel, 0)
806 C(0xb238, RSCH, S, Z, 0, 0, 0, 0, subchannel, 0)
807 C(0xb233, SSCH, S, Z, 0, 0, 0, 0, subchannel, 0)
808 C(0xb234, STSCH, S, Z, 0, 0, 0, 0, subchannel, 0)
809 C(0xb235, TSCH, S, Z, 0, 0, 0, 0, subchannel, 0)
810 /* ??? Not listed in PoO ninth edition, but there's a linux driver that
811 uses it: "A CHSC subchannel is usually present on LPAR only." */
812 C(0xb25f, CHSC, S, Z, 0, 0, 0, 0, subchannel, 0)
d9a39927 813#endif /* CONFIG_USER_ONLY */
This page took 0.299425 seconds and 4 git commands to generate.