mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:54:41 +08:00
f687f5f563
Accept vector alignment hints on z13 although they are ignored there. The advantage is that any binary compiled for architecture level z13 may run on z14 or later and benefit from vector alignment hints. gas/ChangeLog: 2020-05-18 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> * testsuite/gas/s390/zarch-z13.d: Add regexp checks for vector load/store instruction variants with alignment hints. * testsuite/gas/s390/zarch-z13.s: Emit new vector load/store instruction variants with alignment hints. opcodes/ChangeLog: 2020-05-18 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> * s390-opc.txt: Relocate vector load/store instructions with additional alignment parameter and change architecture level constraint from z14 to z13.
2003 lines
127 KiB
Plaintext
2003 lines
127 KiB
Plaintext
# S/390 opcodes list. Use s390-mkopc to convert it into the opcode table.
|
|
# Copyright (C) 2000-2020 Free Software Foundation, Inc.
|
|
# Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
|
5a a RX_RRRD "add" g5 esa,zarch
|
|
6a ad RX_FRRD "add normalized (long)" g5 esa,zarch
|
|
2a adr RR_FF "add normalized (long)" g5 esa,zarch
|
|
7a ae RX_FRRD "add normalized (short)" g5 esa,zarch
|
|
3a aer RR_FF "add normalized (short)" g5 esa,zarch
|
|
4a ah RX_RRRD "add halfword" g5 esa,zarch
|
|
5e al RX_RRRD "add logical" g5 esa,zarch
|
|
1e alr RR_RR "add logical" g5 esa,zarch
|
|
fa ap SS_LLRDRD "add decimal" g5 esa,zarch
|
|
1a ar RR_RR "add" g5 esa,zarch
|
|
7e au RX_FRRD "add unnormalized (short)" g5 esa,zarch
|
|
3e aur RR_FF "add unnormalized (short)" g5 esa,zarch
|
|
6e aw RX_FRRD "add unnormalized (long)" g5 esa,zarch
|
|
2e awr RR_FF "add unnormalized (long)" g5 esa,zarch
|
|
36 axr RR_FEFE "add normalized" g5 esa,zarch
|
|
b240 bakr RRE_RR "branch and stack" g5 esa,zarch
|
|
45 bal RX_RRRD "branch and link" g5 esa,zarch
|
|
05 balr RR_RR "branch and link" g5 esa,zarch
|
|
4d bas RX_RRRD "branch and save" g5 esa,zarch
|
|
0d basr RR_RR "branch and save" g5 esa,zarch
|
|
0c bassm RR_RR "branch and save and set mode" g5 esa,zarch
|
|
47 bc RX_URRD "branch on condition" g5 esa,zarch
|
|
07 bcr RR_UR "branch on condition" g5 esa,zarch
|
|
46 bct RX_RRRD "branch on count" g5 esa,zarch
|
|
06 bctr RR_RR "branch on count" g5 esa,zarch
|
|
b258 bsg RRE_RR "branch in subspace group" g5 esa,zarch
|
|
0b bsm RR_RR "branch and set mode" g5 esa,zarch
|
|
86 bxh RS_RRRD "branch on index high" g5 esa,zarch
|
|
87 bxle RS_RRRD "branch on index low or equal" g5 esa,zarch
|
|
59 c RX_RRRD "compare" g5 esa,zarch
|
|
69 cd RX_FRRD "compare (long)" g5 esa,zarch
|
|
29 cdr RR_FF "compare (long)" g5 esa,zarch
|
|
bb cds RS_RERERD "compare double and swap" g5 esa,zarch
|
|
79 ce RX_FRRD "compare (short)" g5 esa,zarch
|
|
39 cer RR_FF "compare (short)" g5 esa,zarch
|
|
b21a cfc S_RD "compare and form codeword" g5 esa,zarch
|
|
49 ch RX_RRRD "compare halfword" g5 esa,zarch
|
|
55 cl RX_RRRD "compare logical" g5 esa,zarch
|
|
d5 clc SS_L0RDRD "compare logical" g5 esa,zarch
|
|
0f clcl RR_RR "compare logical long" g5 esa,zarch
|
|
95 cli SI_URD "compare logical" g5 esa,zarch
|
|
bd clm RS_RURD "compare logical characters under mask" g5 esa,zarch
|
|
15 clr RR_RR "compare logical" g5 esa,zarch
|
|
b25d clst RRE_RR "compare logical string" g5 esa,zarch
|
|
f9 cp SS_LLRDRD "compare decimal" g5 esa,zarch
|
|
b24d cpya RRE_AA "copy access" g5 esa,zarch
|
|
19 cr RR_RR "compare" g5 esa,zarch
|
|
ba cs RS_RRRD "compare and swap" g5 esa,zarch
|
|
b230 csch S_00 "clear subchannel" g5 esa,zarch
|
|
b257 cuse RRE_RERE "compare until substring equal" g5 esa,zarch
|
|
b250 csp RRE_RR "compare and swap and purge" g5 esa,zarch
|
|
4f cvb RX_RRRD "convert to binary" g5 esa,zarch
|
|
4e cvd RX_RRRD "convert to decimal" g5 esa,zarch
|
|
5d d RX_RERRD "divide" g5 esa,zarch
|
|
6d dd RX_FRRD "divide (long)" g5 esa,zarch
|
|
2d ddr RR_FF "divide (long)" g5 esa,zarch
|
|
7d de RX_FRRD "divide (short)" g5 esa,zarch
|
|
3d der RR_FF "divide (short)" g5 esa,zarch
|
|
83 diag RS_RRRD "diagnose" g5 esa,zarch
|
|
fd dp SS_LLRDRD "divide decimal" g5 esa,zarch
|
|
1d dr RR_RER "divide" g5 esa,zarch
|
|
b22d dxr RRE_FEFE "divide (ext.)" g5 esa,zarch
|
|
b24f ear RRE_RA "extract access" g5 esa,zarch
|
|
de ed SS_L0RDRD "edit" g5 esa,zarch
|
|
df edmk SS_L0RDRD "edit and mark" g5 esa,zarch
|
|
b226 epar RRE_R0 "extract primary ASN" g5 esa,zarch
|
|
b249 ereg RRE_RR "extract stacked registers" g5 esa,zarch
|
|
b227 esar RRE_R0 "extract secondary ASN" g5 esa,zarch
|
|
b24a esta RRE_RR "extract stacked state" g5 esa,zarch
|
|
44 ex RX_RRRD "execute" g5 esa,zarch
|
|
24 hdr RR_FF "halve (long)" g5 esa,zarch
|
|
34 her RR_FF "halve (short)" g5 esa,zarch
|
|
b231 hsch S_00 "halt subchannel" g5 esa,zarch
|
|
b224 iac RRE_R0 "insert address space control" g5 esa,zarch
|
|
43 ic RX_RRRD "insert character" g5 esa,zarch
|
|
bf icm RS_RURD "insert characters under mask" g5 esa,zarch
|
|
b20b ipk S_00 "insert PSW key" g5 esa,zarch
|
|
b222 ipm RRE_R0 "insert program mask" g5 esa,zarch
|
|
b221 ipte RRF_RURR "invalidate page table entry" g5 esa,zarch optparm2
|
|
b229 iske RRE_RR "insert storage key extended" g5 esa,zarch
|
|
b223 ivsk RRE_RR "insert virtual storage key" g5 esa,zarch
|
|
58 l RX_RRRD "load" g5 esa,zarch
|
|
41 la RX_RRRD "load address" g5 esa,zarch
|
|
51 lae RX_RRRD "load address extended" g5 esa,zarch
|
|
9a lam RS_AARD "load access multiple" g5 esa,zarch
|
|
e500 lasp SSE_RDRD "load address space parameters" g5 esa,zarch
|
|
23 lcdr RR_FF "load complement (long)" g5 esa,zarch
|
|
33 lcer RR_FF "load complement (short)" g5 esa,zarch
|
|
13 lcr RR_RR "load complement" g5 esa,zarch
|
|
b7 lctl RS_CCRD "load control" g5 esa,zarch
|
|
68 ld RX_FRRD "load (long)" g5 esa,zarch
|
|
28 ldr RR_FF "load (long)" g5 esa,zarch
|
|
78 le RX_FRRD "load (short)" g5 esa,zarch
|
|
38 ler RR_FF "load (short)" g5 esa,zarch
|
|
48 lh RX_RRRD "load halfword" g5 esa,zarch
|
|
98 lm RS_RRRD "load multiple" g5 esa,zarch
|
|
21 lndr RR_FF "load negative (long)" g5 esa,zarch
|
|
31 lner RR_FF "load negative (short)" g5 esa,zarch
|
|
11 lnr RR_RR "load negative" g5 esa,zarch
|
|
20 lpdr RR_FF "load positive (long)" g5 esa,zarch
|
|
30 lper RR_FF "load positive (short)" g5 esa,zarch
|
|
10 lpr RR_RR "load positive" g5 esa,zarch
|
|
82 lpsw SI_RD "load PSW" g5 esa,zarch
|
|
18 lr RR_RR "load" g5 esa,zarch
|
|
b1 lra RX_RRRD "load real address" g5 esa,zarch
|
|
25 ldxr RR_FFE "load rounded (ext. to long)" g5 esa,zarch
|
|
25 lrdr RR_FFE "load rounded (ext. to long)" g5 esa,zarch
|
|
35 ledr RR_FF "load rounded (long to short)" g5 esa,zarch
|
|
35 lrer RR_FF "load rounded (long to short)" g5 esa,zarch
|
|
22 ltdr RR_FF "load and test (long)" g5 esa,zarch
|
|
32 lter RR_FF "load and test (short)" g5 esa,zarch
|
|
12 ltr RR_RR "load and test" g5 esa,zarch
|
|
b24b lura RRE_RR "load using real address" g5 esa,zarch
|
|
5c m RX_RERRD "multiply" g5 esa,zarch
|
|
af mc SI_URD "monitor call" g5 esa,zarch
|
|
6c md RX_FRRD "multiply (long)" g5 esa,zarch
|
|
2c mdr RR_FF "multiply (long)" g5 esa,zarch
|
|
7c mde RX_FRRD "multiply (short to long)" g5 esa,zarch
|
|
7c me RX_FRRD "multiply (short to long)" g5 esa,zarch
|
|
3c mder RR_FF "multiply short to long hfp" g5 esa,zarch
|
|
3c mer RR_FF "multiply (short to long)" g5 esa,zarch
|
|
4c mh RX_RRRD "multiply halfword" g5 esa,zarch
|
|
fc mp SS_LLRDRD "multiply decimal" g5 esa,zarch
|
|
1c mr RR_RER "multiply" g5 esa,zarch
|
|
b232 msch S_RD "modify subchannel" g5 esa,zarch
|
|
b247 msta RRE_R0 "modify stacked state" g5 esa,zarch
|
|
d2 mvc SS_L0RDRD "move" g5 esa,zarch
|
|
e50f mvcdk SSE_RDRD "move with destination key" g5 esa,zarch
|
|
e8 mvcin SS_L0RDRD "move inverse" g5 esa,zarch
|
|
d9 mvck SS_RRRDRD "move with key" g5 esa,zarch
|
|
0e mvcl RR_RR "move long" g5 esa,zarch
|
|
da mvcp SS_RRRDRD "move to primary" g5 esa,zarch
|
|
db mvcs SS_RRRDRD "move to secondary" g5 esa,zarch
|
|
e50e mvcsk SSE_RDRD "move with source key" g5 esa,zarch
|
|
92 mvi SI_URD "move" g5 esa,zarch
|
|
d1 mvn SS_L0RDRD "move numerics" g5 esa,zarch
|
|
f1 mvo SS_LLRDRD "move with offset" g5 esa,zarch
|
|
b254 mvpg RRE_RR "move page" g5 esa,zarch
|
|
b255 mvst RRE_RR "move string" g5 esa,zarch
|
|
d3 mvz SS_L0RDRD "move zones" g5 esa,zarch
|
|
67 mxd RX_FERRD "multiply (long to ext.)" g5 esa,zarch
|
|
27 mxdr RR_FEF "multiply (long to ext.)" g5 esa,zarch
|
|
26 mxr RR_FEFE "multiply (ext.)" g5 esa,zarch
|
|
54 n RX_RRRD "AND" g5 esa,zarch
|
|
d4 nc SS_L0RDRD "AND" g5 esa,zarch
|
|
94 ni SI_URD "AND" g5 esa,zarch
|
|
14 nr RR_RR "AND" g5 esa,zarch
|
|
56 o RX_RRRD "OR" g5 esa,zarch
|
|
d6 oc SS_L0RDRD "OR" g5 esa,zarch
|
|
96 oi SI_URD "OR" g5 esa,zarch
|
|
16 or RR_RR "OR" g5 esa,zarch
|
|
f2 pack SS_LLRDRD "pack" g5 esa,zarch
|
|
b248 palb RRE_00 "purge ALB" g5 esa,zarch
|
|
b218 pc S_RD "program call" g5 esa,zarch
|
|
0101 pr E "program return" g5 esa,zarch
|
|
b228 pt RRE_RR "program transfer" g5 esa,zarch
|
|
b20d ptlb S_00 "purge TLB" g5 esa,zarch
|
|
b23b rchp S_00 "reset channel path" g5 esa,zarch
|
|
b22a rrbe RRE_RR "reset reference bit extended" g5 esa,zarch
|
|
b238 rsch S_00 "resume subchannel" g5 esa,zarch
|
|
5b s RX_RRRD "subtract" g5 esa,zarch
|
|
b219 sac S_RD "set address space control" g5 esa,zarch
|
|
b279 sacf S_RD "set address space control fast" g5 esa,zarch
|
|
b237 sal S_00 "set address limit" g5 esa,zarch
|
|
b24e sar RRE_AR "set access" g5 esa,zarch
|
|
b23c schm S_00 "set channel monitor" g5 esa,zarch
|
|
b204 sck S_RD "set clock" g5 esa,zarch
|
|
b206 sckc S_RD "set clock comparator" g5 esa,zarch
|
|
6b sd RX_FRRD "subtract normalized (long)" g5 esa,zarch
|
|
2b sdr RR_FF "subtract normalized (long)" g5 esa,zarch
|
|
7b se RX_FRRD "subtract normalized (short)" g5 esa,zarch
|
|
3b ser RR_FF "subtract normalized (short)" g5 esa,zarch
|
|
4b sh RX_RRRD "subtract halfword" g5 esa,zarch
|
|
b214 sie S_RD "start interpretive execution" g5 esa,zarch
|
|
ae sigp RS_RRRD "signal processor" g5 esa,zarch
|
|
5f sl RX_RRRD "subtract logical" g5 esa,zarch
|
|
8b sla RS_R0RD "shift left single" g5 esa,zarch
|
|
8f slda RS_RE0RD "shift left double (long)" g5 esa,zarch
|
|
8d sldl RS_RE0RD "shift left double logical (long)" g5 esa,zarch
|
|
89 sll RS_R0RD "shift left single logical" g5 esa,zarch
|
|
1f slr RR_RR "subtract logical" g5 esa,zarch
|
|
fb sp SS_LLRDRD "subtract decimal" g5 esa,zarch
|
|
b20a spka S_RD "set PSW key from address" g5 esa,zarch
|
|
04 spm RR_R0 "set program mask" g5 esa,zarch
|
|
b208 spt S_RD "set CPU timer" g5 esa,zarch
|
|
b210 spx S_RD "set prefix" g5 esa,zarch
|
|
b244 sqdr RRE_FF "square root (long)" g5 esa,zarch
|
|
b245 sqer RRE_FF "square root (short)" g5 esa,zarch
|
|
1b sr RR_RR "subtract" g5 esa,zarch
|
|
8a sra RS_R0RD "shift right single" g5 esa,zarch
|
|
8e srda RS_RE0RD "shift right double (long)" g5 esa,zarch
|
|
8c srdl RS_RE0RD "shift right double logical (long)" g5 esa,zarch
|
|
88 srl RS_R0RD "shift right single logical" g5 esa,zarch
|
|
f0 srp SS_LIRDRD "shift and round decimal" g5 esa,zarch
|
|
b25e srst RRE_RR "search string" g5 esa,zarch
|
|
b225 ssar RRE_R0 "set secondary ASN" g5 esa,zarch
|
|
b233 ssch S_RD "start subchannel" g5 esa,zarch
|
|
b22b sske RRE_RR "set storage key extended" g5 esa,zarch
|
|
80 ssm SI_RD "set system mask" g5 esa,zarch
|
|
50 st RX_RRRD "store" g5 esa,zarch
|
|
9b stam RS_AARD "store access multiple" g5 esa,zarch
|
|
b212 stap S_RD "store CPU address" g5 esa,zarch
|
|
42 stc RX_RRRD "store character" g5 esa,zarch
|
|
b205 stck S_RD "store clock" g5 esa,zarch
|
|
b207 stckc S_RD "store clock comparator" g5 esa,zarch
|
|
be stcm RS_RURD "store characters under mask" g5 esa,zarch
|
|
b23a stcps S_RD "store channel path status" g5 esa,zarch
|
|
b239 stcrw S_RD "store channel report word" g5 esa,zarch
|
|
b6 stctl RS_CCRD "store control" g5 esa,zarch
|
|
60 std RX_FRRD "store (long)" g5 esa,zarch
|
|
70 ste RX_FRRD "store (short)" g5 esa,zarch
|
|
40 sth RX_RRRD "store halfword" g5 esa,zarch
|
|
b202 stidp S_RD "store CPU id" g5 esa,zarch
|
|
90 stm RS_RRRD "store multiple" g5 esa,zarch
|
|
ac stnsm SI_URD "store then AND system mask" g5 esa,zarch
|
|
ad stosm SI_URD "store then OR system mask" g5 esa,zarch
|
|
b209 stpt S_RD "store CPU timer" g5 esa,zarch
|
|
b211 stpx S_RD "store prefix" g5 esa,zarch
|
|
b234 stsch S_RD "store subchannel" g5 esa,zarch
|
|
b246 stura RRE_RR "store using real address" g5 esa,zarch
|
|
7f su RX_FRRD "subtract unnormalized (short)" g5 esa,zarch
|
|
3f sur RR_FF "subtract unnormalized (short)" g5 esa,zarch
|
|
0a svc RR_U0 "supervisor call" g5 esa,zarch
|
|
6f sw RX_FRRD "subtract unnormalized (long)" g5 esa,zarch
|
|
2f swr RR_FF "subtract unnormalized (long)" g5 esa,zarch
|
|
37 sxr RR_FEFE "subtract normalized (ext.)" g5 esa,zarch
|
|
b24c tar RRE_AR "test access" g5 esa,zarch
|
|
b22c tb RRE_RR "test block" g5 esa,zarch
|
|
91 tm SI_URD "test under mask" g5 esa,zarch
|
|
b236 tpi S_RD "test pending interruption" g5 esa,zarch
|
|
e501 tprot SSE_RDRD "test protection" g5 esa,zarch
|
|
dc tr SS_L0RDRD "translate" g5 esa,zarch
|
|
99 trace RS_RRRD "trace" g5 esa,zarch
|
|
dd trt SS_L0RDRD "translate and test" g5 esa,zarch
|
|
93 ts SI_RD "test and set" g5 esa,zarch
|
|
b235 tsch S_RD "test subchannel" g5 esa,zarch
|
|
f3 unpk SS_LLRDRD "unpack" g5 esa,zarch
|
|
0102 upt E "update tree" g5 esa,zarch
|
|
57 x RX_RRRD "exclusive OR" g5 esa,zarch
|
|
d7 xc SS_L0RDRD "exclusive OR" g5 esa,zarch
|
|
97 xi SI_URD "exclusive OR" g5 esa,zarch
|
|
17 xr RR_RR "exclusive OR" g5 esa,zarch
|
|
f8 zap SS_LLRDRD "zero and add" g5 esa,zarch
|
|
a70a ahi RI_RI "add halfword immediate" g5 esa,zarch
|
|
84 brxh RSI_RRP "branch relative on index high" g5 esa,zarch
|
|
85 brxle RSI_RRP "branch relative on index low or equal" g5 esa,zarch
|
|
a705 bras RI_RP "branch relative and save" g5 esa,zarch
|
|
a704 brc RI_UP "branch relative on condition" g5 esa,zarch
|
|
a706 brct RI_RP "branch relative on count" g5 esa,zarch
|
|
b241 cksm RRE_RR "checksum" g5 esa,zarch
|
|
a70e chi RI_RI "compare halfword immediate" g5 esa,zarch
|
|
a9 clcle RS_RRRD "compare logical long extended" g5 esa,zarch
|
|
a708 lhi RI_RI "load halfword immediate" g5 esa,zarch
|
|
a8 mvcle RS_RERERD "move long extended" g5 esa,zarch
|
|
a70c mhi RI_RI "multiply halfword immediate" g5 esa,zarch
|
|
b252 msr RRE_RR "multiply single" g5 esa,zarch
|
|
71 ms RX_RRRD "multiply single" g5 esa,zarch
|
|
a700 tmlh RI_RU "test under mask low high" g5 esa,zarch
|
|
a700 tmh RI_RU "test under mask high" g5 esa,zarch
|
|
a701 tmll RI_RU "test under mask low low" g5 esa,zarch
|
|
a701 tml RI_RU "test under mask low" g5 esa,zarch
|
|
0700 nopr RR_0R "no operation" g5 esa,zarch optparm
|
|
0700 b*8r RR_0R "conditional branch" g5 esa,zarch
|
|
07f0 br RR_0R "unconditional branch" g5 esa,zarch
|
|
4700 nop RX_0RRD "no operation" g5 esa,zarch optparm
|
|
4700 b*8 RX_0RRD "conditional branch" g5 esa,zarch
|
|
47f0 b RX_0RRD "unconditional branch" g5 esa,zarch
|
|
a704 j*8 RI_0P "conditional jump" g5 esa,zarch
|
|
a7f4 j RI_0P "unconditional jump" g5 esa,zarch
|
|
b34a axbr RRE_FEFE "add extended bfp" g5 esa,zarch
|
|
b31a adbr RRE_FF "add long bfp" g5 esa,zarch
|
|
ed000000001a adb RXE_FRRD "add long bfp" g5 esa,zarch
|
|
b30a aebr RRE_FF "add short bfp" g5 esa,zarch
|
|
ed000000000a aeb RXE_FRRD "add short bfp" g5 esa,zarch
|
|
b349 cxbr RRE_FEFE "compare extended bfp" g5 esa,zarch
|
|
b319 cdbr RRE_FF "compare long bfp" g5 esa,zarch
|
|
ed0000000019 cdb RXE_FRRD "compare long bfp" g5 esa,zarch
|
|
b309 cebr RRE_FF "compare short bfp" g5 esa,zarch
|
|
ed0000000009 ceb RXE_FRRD "compare short bfp" g5 esa,zarch
|
|
b348 kxbr RRE_FF "compare and signal extended bfp" g5 esa,zarch
|
|
b318 kdbr RRE_FF "compare and signal long bfp" g5 esa,zarch
|
|
ed0000000018 kdb RXE_FRRD "compare and signal long bfp" g5 esa,zarch
|
|
b308 kebr RRE_FF "compare and signal short bfp" g5 esa,zarch
|
|
ed0000000008 keb RXE_FRRD "compare and signal short bfp" g5 esa,zarch
|
|
b396 cxfbr RRE_FER "convert from fixed 32 to extended bfp" g5 esa,zarch
|
|
b395 cdfbr RRE_FR "convert from fixed 32 to long bfp" g5 esa,zarch
|
|
b394 cefbr RRE_FR "convert from fixed 32 to short bfp" g5 esa,zarch
|
|
b39a cfxbr RRF_U0RFE "convert to fixed extended bfp to 32" g5 esa,zarch
|
|
b399 cfdbr RRF_U0RF "convert to fixed long bfp to 32" g5 esa,zarch
|
|
b398 cfebr RRF_U0RF "convert to fixed short bfp to 32" g5 esa,zarch
|
|
b34d dxbr RRE_FEFE "divide extended bfp" g5 esa,zarch
|
|
b31d ddbr RRE_FF "divide long bfp" g5 esa,zarch
|
|
ed000000001d ddb RXE_FRRD "divide long bfp" g5 esa,zarch
|
|
b30d debr RRE_FF "divide short bfp" g5 esa,zarch
|
|
ed000000000d deb RXE_FRRD "divide short bfp" g5 esa,zarch
|
|
b35b didbr RRF_FUFF "divide to integer long bfp" g5 esa,zarch
|
|
b353 diebr RRF_FUFF "divide to integer short bfp" g5 esa,zarch
|
|
b38c efpc RRE_RR "extract fpc" g5 esa,zarch optparm
|
|
b342 ltxbr RRE_FEFE "load and test extended bfp" g5 esa,zarch
|
|
b312 ltdbr RRE_FF "load and test long bfp" g5 esa,zarch
|
|
b302 ltebr RRE_FF "load and test short bfp" g5 esa,zarch
|
|
b343 lcxbr RRE_FEFE "load complement extended bfp" g5 esa,zarch
|
|
b313 lcdbr RRE_FF "load complement long bfp" g5 esa,zarch
|
|
b303 lcebr RRE_FF "load complement short bfp" g5 esa,zarch
|
|
b347 fixbr RRF_U0FEFE "load fp integer extended bfp" g5 esa,zarch
|
|
b35f fidbr RRF_U0FF "load fp integer long bfp" g5 esa,zarch
|
|
b357 fiebr RRF_U0FF "load fp integer short bfp" g5 esa,zarch
|
|
b29d lfpc S_RD "load fpc" g5 esa,zarch
|
|
b305 lxdbr RRE_FEF "load lengthened long to extended bfp" g5 esa,zarch
|
|
ed0000000005 lxdb RXE_FERRD "load lengthened long to extended bfp" g5 esa,zarch
|
|
b306 lxebr RRE_FEF "load lengthened short to extended bfp" g5 esa,zarch
|
|
ed0000000006 lxeb RXE_FERRD "load lengthened short to extended bfp" g5 esa,zarch
|
|
b304 ldebr RRE_FF "load lengthened short to long bfp" g5 esa,zarch
|
|
ed0000000004 ldeb RXE_FRRD "load lengthened short to long bfp" g5 esa,zarch
|
|
b341 lnxbr RRE_FEFE "load negative extended bfp" g5 esa,zarch
|
|
b311 lndbr RRE_FF "load negative long bfp" g5 esa,zarch
|
|
b301 lnebr RRE_FF "load negative short bfp" g5 esa,zarch
|
|
b340 lpxbr RRE_FEFE "load positive extended bfp" g5 esa,zarch
|
|
b310 lpdbr RRE_FF "load positive long bfp" g5 esa,zarch
|
|
b300 lpebr RRE_FF "load positive short bfp" g5 esa,zarch
|
|
b345 ldxbr RRE_FEFE "load rounded extended to long bfp" g5 esa,zarch
|
|
b346 lexbr RRE_FEFE "load rounded extended to short bfp" g5 esa,zarch
|
|
b344 ledbr RRE_FF "load rounded long to short bfp" g5 esa,zarch
|
|
b34c mxbr RRE_FEFE "multiply extended bfp" g5 esa,zarch
|
|
b31c mdbr RRE_FF "multiply long bfp" g5 esa,zarch
|
|
ed000000001c mdb RXE_FRRD "multiply long bfp" g5 esa,zarch
|
|
b307 mxdbr RRE_FEF "multiply long to extended bfp" g5 esa,zarch
|
|
ed0000000007 mxdb RXE_FERRD "multiply long to extended bfp" g5 esa,zarch
|
|
b317 meebr RRE_FF "multiply short bfp" g5 esa,zarch
|
|
ed0000000017 meeb RXE_FRRD "multiply short bfp" g5 esa,zarch
|
|
b30c mdebr RRE_FF "multiply short to long bfp" g5 esa,zarch
|
|
ed000000000c mdeb RXE_FRRD "multiply short to long bfp" g5 esa,zarch
|
|
b31e madbr RRF_F0FF "multiply and add long bfp" g5 esa,zarch
|
|
ed000000001e madb RXF_FRRDF "multiply and add long bfp" g5 esa,zarch
|
|
b30e maebr RRF_F0FF "multiply and add short bfp" g5 esa,zarch
|
|
ed000000000e maeb RXF_FRRDF "multiply and add short bfp" g5 esa,zarch
|
|
b31f msdbr RRF_F0FF "multiply and subtract long bfp" g5 esa,zarch
|
|
ed000000001f msdb RXF_FRRDF "multiply and subtract long bfp" g5 esa,zarch
|
|
b30f msebr RRF_F0FF "multiply and subtract short bfp" g5 esa,zarch
|
|
ed000000000f mseb RXF_FRRDF "multiply and subtract short bfp" g5 esa,zarch
|
|
b384 sfpc RRE_RR "set fpc" g5 esa,zarch optparm
|
|
b299 srnm S_RD "set rounding mode" g5 esa,zarch
|
|
b316 sqxbr RRE_FEFE "square root extended bfp" g5 esa,zarch
|
|
b315 sqdbr RRE_FF "square root long bfp" g5 esa,zarch
|
|
ed0000000015 sqdb RXE_FRRD "square root long bfp" g5 esa,zarch
|
|
b314 sqebr RRE_FF "square root short bfp" g5 esa,zarch
|
|
ed0000000014 sqeb RXE_FRRD "square root short bfp" g5 esa,zarch
|
|
b29c stfpc S_RD "store fpc" g5 esa,zarch
|
|
b34b sxbr RRE_FEFE "subtract extended bfp" g5 esa,zarch
|
|
b31b sdbr RRE_FF "subtract long bfp" g5 esa,zarch
|
|
ed000000001b sdb RXE_FRRD "subtract long bfp" g5 esa,zarch
|
|
b30b sebr RRE_FF "subtract short bfp" g5 esa,zarch
|
|
ed000000000b seb RXE_FRRD "subtract short bfp" g5 esa,zarch
|
|
ed0000000012 tcxb RXE_FERRD "test data class extended bfp" g5 esa,zarch
|
|
ed0000000011 tcdb RXE_FRRD "test data class long bfp" g5 esa,zarch
|
|
ed0000000010 tceb RXE_FRRD "test data class short bfp" g5 esa,zarch
|
|
b274 siga S_RD "signal adapter" g5 esa,zarch
|
|
b2a6 cuutf RRE_RERE "convert unicode to utf-8" g5 esa,zarch
|
|
b2a7 cutfu RRE_RR "convert utf-8 to unicode" g5 esa,zarch
|
|
ee plo SS_RRRDRD2 "perform locked operation" g5 esa,zarch
|
|
b25a bsa RRE_RR "branch and set authority" g5 esa,zarch
|
|
b277 rp S_RD "resume program" g5 esa,zarch
|
|
0107 sckpf E "set clock programmable field" g5 esa,zarch
|
|
b27d stsi S_RD "store system information" g5 esa,zarch
|
|
01ff trap2 E "trap" g5 esa,zarch
|
|
b2ff trap4 S_RD "trap4" g5 esa,zarch
|
|
b278 stcke S_RD "store clock extended" g5 esa,zarch
|
|
b2a5 tre RRE_RER "translate extended" g5 esa,zarch
|
|
eb000000008e mvclu RSE_RERERD "move long unicode" g5 esa,zarch
|
|
e9 pka SS_L2RDRD "pack ascii" g5 esa,zarch
|
|
e1 pku SS_L2RDRD "pack unicode" g5 esa,zarch
|
|
b993 troo RRE_RER "translate one to one" g5 esa,zarch
|
|
b992 trot RRE_RER "translate one to two" g5 esa,zarch
|
|
b991 trto RRE_RER "translate two to one" g5 esa,zarch
|
|
b990 trtt RRE_RER "translate two to two" g5 esa,zarch
|
|
ea unpka SS_L0RDRD "unpack ascii" g5 esa,zarch
|
|
e2 unpku SS_L0RDRD "unpack unicode" g5 esa,zarch
|
|
b358 thder RRE_FF "convert short bfp to long hfp" g5 esa,zarch
|
|
b359 thdr RRE_FF "convert long bfp to long hfp" g5 esa,zarch
|
|
b350 tbedr RRF_U0FF "convert long hfp to short bfp" g5 esa,zarch
|
|
b351 tbdr RRF_U0FF "convert long hfp to long bfp" g5 esa,zarch
|
|
b374 lzer RRE_F0 "load short zero" g5 esa,zarch
|
|
b375 lzdr RRE_F0 "load long zero" g5 esa,zarch
|
|
b376 lzxr RRE_FE0 "load extended zero" g5 esa,zarch
|
|
# Here are the new esame instructions:
|
|
b946 bctgr RRE_RR "branch on count 64" z900 zarch
|
|
b900 lpgr RRE_RR "load positive 64" z900 zarch
|
|
b910 lpgfr RRE_RR "load positive 64<32" z900 zarch
|
|
b901 lngr RRE_RR "load negative 64" z900 zarch
|
|
b911 lngfr RRE_RR "load negative 64<32" z900 zarch
|
|
b902 ltgr RRE_RR "load and test 64" z900 zarch
|
|
b912 ltgfr RRE_RR "load and test 64<32" z900 zarch
|
|
b903 lcgr RRE_RR "load complement 64" z900 zarch
|
|
b913 lcgfr RRE_RR "load complement 64<32" z900 zarch
|
|
b980 ngr RRE_RR "and 64" z900 zarch
|
|
b921 clgr RRE_RR "compare logical 64" z900 zarch
|
|
b931 clgfr RRE_RR "compare logical 64<32" z900 zarch
|
|
b981 ogr RRE_RR "or 64" z900 zarch
|
|
b982 xgr RRE_RR "exclusive or 64" z900 zarch
|
|
b904 lgr RRE_RR "load 64" z900 zarch
|
|
b914 lgfr RRE_RR "load 64<32" z900 zarch
|
|
b920 cgr RRE_RR "compare 64" z900 zarch
|
|
b930 cgfr RRE_RR "compare 64<32" z900 zarch
|
|
b908 agr RRE_RR "add 64" z900 zarch
|
|
b918 agfr RRE_RR "add 64<32" z900 zarch
|
|
b909 sgr RRE_RR "subtract 64" z900 zarch
|
|
b919 sgfr RRE_RR "subtract 64<32" z900 zarch
|
|
b90a algr RRE_RR "add logical 64" z900 zarch
|
|
b91a algfr RRE_RR "add logical 64<32" z900 zarch
|
|
b90b slgr RRE_RR "subtract logical 64" z900 zarch
|
|
b91b slgfr RRE_RR "subtract logical 64<32" z900 zarch
|
|
e30000000046 bctg RXE_RRRD "branch on count 64" z900 zarch
|
|
e3000000002e cvdg RXE_RRRD "convert to decimal 64" z900 zarch
|
|
e3000000000e cvbg RXE_RRRD "convert to binary 64" z900 zarch
|
|
e30000000024 stg RXE_RRRD "store 64" z900 zarch
|
|
e30000000080 ng RXE_RRRD "and 64" z900 zarch
|
|
e30000000021 clg RXE_RRRD "compare logical 64" z900 zarch
|
|
e30000000031 clgf RXE_RRRD "compare logical 64<32" z900 zarch
|
|
e30000000081 og RXE_RRRD "or 64" z900 zarch
|
|
e30000000082 xg RXE_RRRD "exclusive or 64" z900 zarch
|
|
e30000000004 lg RXE_RRRD "load 64" z900 zarch
|
|
e30000000014 lgf RXE_RRRD "load 64<32" z900 zarch
|
|
e30000000015 lgh RXE_RRRD "load halfword 64" z900 zarch
|
|
e30000000020 cg RXE_RRRD "compare 64" z900 zarch
|
|
e30000000030 cgf RXE_RRRD "compare 64<32" z900 zarch
|
|
e30000000008 ag RXE_RRRD "add 64" z900 zarch
|
|
e30000000018 agf RXE_RRRD "add 64<32" z900 zarch
|
|
e30000000009 sg RXE_RRRD "subtract 64" z900 zarch
|
|
e30000000019 sgf RXE_RRRD "subtract 64<32" z900 zarch
|
|
e3000000000a alg RXE_RRRD "add logical 64" z900 zarch
|
|
e3000000001a algf RXE_RRRD "add logical 64<32" z900 zarch
|
|
e3000000000b slg RXE_RRRD "subtract logical 64" z900 zarch
|
|
e3000000001b slgf RXE_RRRD "subtract logical 64<32" z900 zarch
|
|
e3000000000c msg RXE_RRRD "multiply single 64" z900 zarch
|
|
e3000000001c msgf RXE_RRRD "multiply single 64<32" z900 zarch
|
|
ec0000000044 brxhg RIE_RRP "branch relative on index high 64" z900 zarch
|
|
ec0000000045 brxlg RIE_RRP "branch relative on index low or equal 64" z900 zarch
|
|
eb0000000044 bxhg RSE_RRRD "branch on index high 64" z900 zarch
|
|
eb0000000045 bxleg RSE_RRRD "branch on index low or equal 64" z900 zarch
|
|
eb000000000c srlg RSE_RRRD "shift right single logical 64" z900 zarch
|
|
eb000000000d sllg RSE_RRRD "shift left single logical 64" z900 zarch
|
|
eb000000000a srag RSE_RRRD "shift right single 64" z900 zarch
|
|
eb000000000b slag RSE_RRRD "shift left single 64" z900 zarch
|
|
eb0000000024 stmg RSE_RRRD "store multiple 64" z900 zarch
|
|
eb0000000026 stmh RSE_RRRD "store multiple high" z900 zarch
|
|
eb0000000004 lmg RSE_RRRD "load multiple 64" z900 zarch
|
|
eb0000000096 lmh RSE_RRRD "load multiple high" z900 zarch
|
|
ef lmd SS_RRRDRD3 "load multiple disjoint" z900 zarch
|
|
eb000000000f tracg RSE_RRRD "trace 64" z900 zarch
|
|
e30000000003 lrag RXE_RRRD "load real address 64" z900 zarch
|
|
e502 strag SSE_RDRD "store read address" z900 zarch
|
|
eb0000000025 stctg RSE_CCRD "store control 64" z900 zarch
|
|
eb000000002f lctlg RSE_CCRD "load control 64" z900 zarch
|
|
eb0000000030 csg RSE_RRRD "compare and swap 64" z900 zarch
|
|
eb000000003e cdsg RSE_RERERD "compare double and swap 64" z900 zarch
|
|
eb0000000020 clmh RSE_RURD "compare logical characters under mask high" z900 zarch
|
|
eb000000002c stcmh RSE_RURD "store characters under mask high" z900 zarch
|
|
eb0000000080 icmh RSE_RURD "insert characters under mask high" z900 zarch
|
|
a702 tmhh RI_RU "test under mask high high" z900 zarch
|
|
a703 tmhl RI_RU "test under mask high low" z900 zarch
|
|
c004 brcl RIL_UP "branch relative on condition long" z900 esa,zarch
|
|
c004 jg*8 RIL_0P "conditional jump long" z900 esa,zarch
|
|
c0f4 jg RIL_0P "unconditional jump long" z900 esa,zarch
|
|
c005 brasl RIL_RP "branch relative and save long" z900 esa,zarch
|
|
a707 brctg RI_RP "branch relative on count 64" z900 zarch
|
|
a709 lghi RI_RI "load halfword immediate 64" z900 zarch
|
|
a70b aghi RI_RI "add halfword immediate 64" z900 zarch
|
|
a70d mghi RI_RI "multiply halfword immediate 64" z900 zarch
|
|
a70f cghi RI_RI "compare halfword immediate 64" z900 zarch
|
|
b925 sturg RRE_RR "store using real address 64" z900 zarch
|
|
b90e eregg RRE_RR "extract stacked registers 64" z900 zarch
|
|
b905 lurag RRE_RR "load using real address 64" z900 zarch
|
|
b90c msgr RRE_RR "multiply single 64" z900 zarch
|
|
b91c msgfr RRE_RR "multiply single 64<32" z900 zarch
|
|
b3a4 cegbr RRE_FR "convert from fixed 64 to short bfp" z900 zarch
|
|
b3a5 cdgbr RRE_FR "convert from fixed 64 to long bfp" z900 zarch
|
|
b3a6 cxgbr RRE_FER "convert from fixed 64 to extended bfp" z900 zarch
|
|
b3a8 cgebr RRF_U0RF "convert to fixed short bfd to 64" z900 zarch
|
|
b3a9 cgdbr RRF_U0RF "convert to fixed long bfp to 64" z900 zarch
|
|
b3aa cgxbr RRF_U0RFE "convert to fixed extended bfp to 64" z900 zarch
|
|
b3c4 cegr RRE_FR "convert from fixed 64 to short hfp" z900 zarch
|
|
b3c5 cdgr RRE_FR "convert from fixed 64 to long hfp" z900 zarch
|
|
b3c6 cxgr RRE_FER "convert from fixed 64 to extended hfp" z900 zarch
|
|
b3c8 cger RRF_U0RF "convert to fixed short hfp to 64" z900 zarch
|
|
b3c9 cgdr RRF_U0RF "convert to fixed long hfp to 64" z900 zarch
|
|
b3ca cgxr RRF_U0RFE "convert to fixed extended hfp to 64" z900 zarch
|
|
010b tam E "test addressing mode" z900 esa,zarch
|
|
010c sam24 E "set addressing mode 24" z900 esa,zarch
|
|
010d sam31 E "set addressing mode 31" z900 esa,zarch
|
|
010e sam64 E "set addressing mode 64" z900 zarch
|
|
a500 iihh RI_RU "insert immediate high high" z900 zarch
|
|
a501 iihl RI_RU "insert immediate high low" z900 zarch
|
|
a502 iilh RI_RU "insert immediate low high" z900 zarch
|
|
a503 iill RI_RU "insert immediate low low" z900 zarch
|
|
a504 nihh RI_RU "and immediate high high" z900 zarch
|
|
a505 nihl RI_RU "and immediate high low" z900 zarch
|
|
a506 nilh RI_RU "and immediate low high" z900 zarch
|
|
a507 nill RI_RU "and immediate low low" z900 zarch
|
|
a508 oihh RI_RU "or immediate high high" z900 zarch
|
|
a509 oihl RI_RU "or immediate high low" z900 zarch
|
|
a50a oilh RI_RU "or immediate low high" z900 zarch
|
|
a50b oill RI_RU "or immediate low low" z900 zarch
|
|
a50c llihh RI_RU "load logical immediate high high" z900 zarch
|
|
a50d llihl RI_RU "load logical immediate high low" z900 zarch
|
|
a50e llilh RI_RU "load logical immediate low high" z900 zarch
|
|
a50f llill RI_RU "load logical immediate low low" z900 zarch
|
|
b2b1 stfl S_RD "store facility list" z900 esa,zarch
|
|
b2b2 lpswe S_RD "load psw extended" z900 zarch
|
|
b90d dsgr RRE_RER "divide single 64" z900 zarch
|
|
b90f lrvgr RRE_RR "load reversed 64" z900 zarch
|
|
b916 llgfr RRE_RR "load logical 64<32" z900 zarch
|
|
b917 llgtr RRE_RR "load logical thirty one bits" z900 zarch
|
|
b91d dsgfr RRE_RER "divide single 64<32" z900 zarch
|
|
b91f lrvr RRE_RR "load reversed 32" z900 esa,zarch
|
|
b986 mlgr RRE_RER "multiply logical 64" z900 zarch
|
|
b987 dlgr RRE_RER "divide logical 64" z900 zarch
|
|
b988 alcgr RRE_RR "add logical with carry 64" z900 zarch
|
|
b989 slbgr RRE_RR "subtract logical with borrow 64" z900 zarch
|
|
b98d epsw RRE_RR "extract psw" z900 esa,zarch
|
|
b996 mlr RRE_RER "multiply logical 32" z900 esa,zarch
|
|
b997 dlr RRE_RER "divide logical 32" z900 esa,zarch
|
|
b998 alcr RRE_RR "add logical with carry 32" z900 esa,zarch
|
|
b999 slbr RRE_RR "subtract logical with borrow 32" z900 esa,zarch
|
|
b99d esea RRE_R0 "extract and set extended authority" z900 zarch
|
|
c000 larl RIL_RP "load address relative long" z900 esa,zarch
|
|
e3000000000d dsg RXE_RERRD "divide single 64" z900 zarch
|
|
e3000000000f lrvg RXE_RRRD "load reversed 64" z900 zarch
|
|
e30000000016 llgf RXE_RRRD "load logical 64<32" z900 zarch
|
|
e30000000017 llgt RXE_RRRD "load logical thirty one bits" z900 zarch
|
|
e3000000001d dsgf RXE_RERRD "divide single 64<32" z900 zarch
|
|
e3000000001e lrv RXE_RRRD "load reversed 32" z900 esa,zarch
|
|
e3000000001f lrvh RXE_RRRD "load reversed 16" z900 esa,zarch
|
|
e3000000002f strvg RXE_RRRD "store reversed 64" z900 zarch
|
|
e3000000003e strv RXE_RRRD "store reversed 32" z900 esa,zarch
|
|
e3000000003f strvh RXE_RRRD "store reversed 64" z900 esa,zarch
|
|
e30000000086 mlg RXE_RERRD "multiply logical 64" z900 zarch
|
|
e30000000087 dlg RXE_RERRD "divide logical 64" z900 zarch
|
|
e30000000088 alcg RXE_RRRD "add logical with carry 64" z900 zarch
|
|
e30000000089 slbg RXE_RRRD "subtract logical with borrow 64" z900 zarch
|
|
e3000000008e stpq RXE_RRRD "store pair to quadword" z900 zarch
|
|
e3000000008f lpq RXE_RERRD "load pair from quadword" z900 zarch
|
|
e30000000096 ml RXE_RERRD "multiply logical 32" z900 esa,zarch
|
|
e30000000097 dl RXE_RERRD "divide logical 32" z900 esa,zarch
|
|
e30000000098 alc RXE_RRRD "add logical with carry 32" z900 esa,zarch
|
|
e30000000099 slb RXE_RRRD "subtract logical with borrow 32" z900 esa,zarch
|
|
e30000000090 llgc RXE_RRRD "load logical character" z900 zarch
|
|
e30000000091 llgh RXE_RRRD "load logical halfword" z900 zarch
|
|
eb000000001c rllg RSE_RRRD "rotate left single logical 64" z900 zarch
|
|
eb000000001d rll RSE_RRRD "rotate left single logical 32" z900 esa,zarch
|
|
b369 cxr RRE_FEFE "compare extended hfp" g5 esa,zarch
|
|
b3b6 cxfr RRE_FER "convert from fixed 32 to extended hfp" g5 esa,zarch
|
|
b3b5 cdfr RRE_FR "convert from fixed 32 to long hfp" g5 esa,zarch
|
|
b3b4 cefr RRE_FR "convert from fixed 32 to short hfp" g5 esa,zarch
|
|
b3ba cfxr RRF_U0RFE "convert to fixed extended hfp to 32" g5 esa,zarch
|
|
b3b9 cfdr RRF_U0RF "convert to fixed long hfp to 32" g5 esa,zarch
|
|
b3b8 cfer RRF_U0RF "convert to fixed short hfp to 32" g5 esa,zarch
|
|
b362 ltxr RRE_FEFE "load and test extended hfp" g5 esa,zarch
|
|
b363 lcxr RRE_FEFE "load complement extended hfp" g5 esa,zarch
|
|
b367 fixr RRE_FEFE "load fp integer extended hfp" g5 esa,zarch
|
|
b37f fidr RRE_FF "load fp integer long hfp" g5 esa,zarch
|
|
b377 fier RRE_FF "load fp integer short hfp" g5 esa,zarch
|
|
b325 lxdr RRE_FEF "load lengthened long to extended hfp" g5 esa,zarch
|
|
ed0000000025 lxd RXE_FERRD "load lengthened long to extended hfp" g5 esa,zarch
|
|
b326 lxer RRE_FEF "load lengthened short to extended hfp" g5 esa,zarch
|
|
ed0000000026 lxe RXE_FERRD "load lengthened short to extended hfp" g5 esa,zarch
|
|
b324 lder RRE_FF "load lengthened short to long hfp" g5 esa,zarch
|
|
ed0000000024 lde RXE_FRRD "load lengthened short to long hfp" g5 esa,zarch
|
|
b361 lnxr RRE_FEFE "load negative extended hfp" g5 esa,zarch
|
|
b360 lpxr RRE_FEFE "load positive extended hfp" g5 esa,zarch
|
|
b366 lexr RRE_FFE "load rounded extended to short hfp" g5 esa,zarch
|
|
b337 meer RRE_FF "multiply short hfp" g5 esa,zarch
|
|
ed0000000037 mee RXE_FRRD "multiply short hfp" g5 esa,zarch
|
|
b336 sqxr RRE_FEFE "square root extended hfp" g5 esa,zarch
|
|
ed0000000034 sqe RXE_FRRD "square root short hfp" g5 esa,zarch
|
|
ed0000000035 sqd RXE_FRRD "square root long hfp" g5 esa,zarch
|
|
b263 cmpsc RRE_RR "compression call" g5 esa,zarch
|
|
eb00000000c0 tp RSL_R0RD "test decimal" g5 esa,zarch
|
|
b365 lxr RRE_FEFE "load extended fp" g5 esa,zarch
|
|
b22e pgin RRE_RR "page in" g5 esa,zarch
|
|
b22f pgout RRE_RR "page out" g5 esa,zarch
|
|
b276 xsch S_00 "cancel subchannel" g5 esa,zarch
|
|
# New long displacement instructions on z990
|
|
e3000000005a ay RXY_RRRD "add with long offset" z990 zarch
|
|
e3000000007a ahy RXY_RRRD "add halfword with long offset" z990 zarch
|
|
e3000000005e aly RXY_RRRD "add logical with long offset" z990 zarch
|
|
eb0000000054 niy SIY_URD "and immediate with long offset" z990 zarch
|
|
e30000000054 ny RXY_RRRD "and with long offset" z990 zarch
|
|
e30000000059 cy RXY_RRRD "compare with long offset" z990 zarch
|
|
eb0000000014 csy RSY_RRRD "compare and swap with long offset" z990 zarch
|
|
eb0000000031 cdsy RSY_RERERD "compare double and swap with long offset" z990 zarch
|
|
e30000000079 chy RXY_RRRD "compare halfword with long offset" z990 zarch
|
|
e30000000055 cly RXY_RRRD "compare logical with long offset" z990 zarch
|
|
eb0000000055 cliy SIY_URD "compare logical immediate with long offset" z990 zarch
|
|
eb0000000021 clmy RSY_RURD "compare logical characters under mask with long offset" z990 zarch
|
|
e30000000006 cvby RXY_RRRD "convert to binary with long offset" z990 zarch
|
|
e30000000026 cvdy RXY_RRRD "convert to decimal with long offset" z990 zarch
|
|
eb0000000057 xiy SIY_URD "exclusive or immediate with long offset" z990 zarch
|
|
e30000000057 xy RXY_RRRD "exclusive or with long offset" z990 zarch
|
|
e30000000073 icy RXY_RRRD "insert character with long offset" z990 zarch
|
|
eb0000000081 icmy RSY_RURD "insert characters with long offset" z990 zarch
|
|
ed0000000065 ldy RXY_FRRD "load (long) with long offset" z990 zarch
|
|
ed0000000064 ley RXY_FRRD "load (short) with long offset" z990 zarch
|
|
e30000000058 ly RXY_RRRD "load with long offset" z990 zarch
|
|
eb000000009a lamy RSY_AARD "load access multiple" z990 zarch
|
|
e30000000071 lay RXY_RRRD "load address with long offset" z990 zarch
|
|
e30000000076 lb RXY_RRRD "load byte with long offset" z990 zarch
|
|
e30000000077 lgb RXY_RRRD "load byte with long offset 64" z990 zarch
|
|
e30000000078 lhy RXY_RRRD "load halfword with long offset" z990 zarch
|
|
eb0000000098 lmy RSY_RRRD "load multiple with long offset" z990 zarch
|
|
e30000000013 lray RXY_RRRD "load real address with long offset" z990 zarch
|
|
eb0000000052 mviy SIY_URD "move immediate with long offset" z990 zarch
|
|
e30000000051 msy RXY_RRRD "multiply single with long offset" z990 zarch
|
|
eb0000000056 oiy SIY_URD "or immediate with long offset" z990 zarch
|
|
e30000000056 oy RXY_RRRD "or with long offset" z990 zarch
|
|
ed0000000067 stdy RXY_FRRD "store (long) with long offset" z990 zarch
|
|
ed0000000066 stey RXY_FRRD "store (short) with long offset" z990 zarch
|
|
e30000000050 sty RXY_RRRD "store with long offset" z990 zarch
|
|
eb000000009b stamy RSY_AARD "store access multiple with long offset" z990 zarch
|
|
e30000000072 stcy RXY_RRRD "store character with long offset" z990 zarch
|
|
eb000000002d stcmy RSY_RURD "store characters under mask with long offset" z990 zarch
|
|
e30000000070 sthy RXY_RRRD "store halfword with long offset" z990 zarch
|
|
eb0000000090 stmy RSY_RRRD "store multiple with long offset" z990 zarch
|
|
e3000000005b sy RXY_RRRD "subtract with long offset" z990 zarch
|
|
e3000000007b shy RXY_RRRD "subtract halfword with long offset" z990 zarch
|
|
e3000000005f sly RXY_RRRD "subtract logical with long offset" z990 zarch
|
|
eb0000000051 tmy SIY_URD "test under mask with long offset" z990 zarch
|
|
# 'old' instructions extended to long displacement
|
|
# these instructions are entered into the opcode table twice.
|
|
e30000000003 lrag RXY_RRRD "load real address with long offset 64" z990 zarch
|
|
e30000000004 lg RXY_RRRD "load 64" z990 zarch
|
|
e30000000008 ag RXY_RRRD "add with long offset 64" z990 zarch
|
|
e30000000009 sg RXY_RRRD "subtract with long offset 64" z990 zarch
|
|
e3000000000a alg RXY_RRRD "add logical with long offset 64" z990 zarch
|
|
e3000000000b slg RXY_RRRD "subtract logical with long offset 64" z990 zarch
|
|
e3000000000c msg RXY_RRRD "multiply single with long offset 64" z990 zarch
|
|
e3000000000d dsg RXY_RERRD "divide single 64" z990 zarch
|
|
e3000000000e cvbg RXY_RRRD "convert to binary with long offset 64" z990 zarch
|
|
e3000000000f lrvg RXY_RRRD "load reversed 64" z990 zarch
|
|
e30000000014 lgf RXY_RRRD "load 64<32" z990 zarch
|
|
e30000000015 lgh RXY_RRRD "load halfword 64" z990 zarch
|
|
e30000000016 llgf RXY_RRRD "load logical 64<32" z990 zarch
|
|
e30000000017 llgt RXY_RRRD "load logical thirty one bits" z990 zarch
|
|
e30000000018 agf RXY_RRRD "add with long offset 64<32" z990 zarch
|
|
e30000000019 sgf RXY_RRRD "subtract with long offset 64<32" z990 zarch
|
|
e3000000001a algf RXY_RRRD "add logical with long offset 64<32" z990 zarch
|
|
e3000000001b slgf RXY_RRRD "subtract logical with long offset 64<32" z990 zarch
|
|
e3000000001c msgf RXY_RRRD "multiply single with long offset 64<32" z990 zarch
|
|
e3000000001d dsgf RXY_RERRD "divide single 64<32" z990 zarch
|
|
e3000000001e lrv RXY_RRRD "load reversed 32" z990 esa,zarch
|
|
e3000000001f lrvh RXY_RRRD "load reversed 16" z990 esa,zarch
|
|
e30000000020 cg RXY_RRRD "compare with long offset 64" z990 zarch
|
|
e30000000021 clg RXY_RRRD "compare logical with long offset 64" z990 zarch
|
|
e30000000024 stg RXY_RRRD "store with long offset 64" z990 zarch
|
|
e3000000002e cvdg RXY_RRRD "convert to decimal with long offset 64" z990 zarch
|
|
e3000000002f strvg RXY_RRRD "store reversed 64" z990 zarch
|
|
e30000000030 cgf RXY_RRRD "compare with long offset 64<32" z990 zarch
|
|
e30000000031 clgf RXY_RRRD "compare logical with long offset 64<32" z990 zarch
|
|
e3000000003e strv RXY_RRRD "store reversed 32" z990 esa,zarch
|
|
e3000000003f strvh RXY_RRRD "store reversed 64" z990 zarch
|
|
e30000000046 bctg RXY_RRRD "branch on count 64" z990 zarch
|
|
e30000000080 ng RXY_RRRD "and with long offset 64" z990 zarch
|
|
e30000000081 og RXY_RRRD "or with long offset 64" z990 zarch
|
|
e30000000082 xg RXY_RRRD "exclusive or with long offset 64" z990 zarch
|
|
e30000000086 mlg RXY_RERRD "multiply logical 64" z990 zarch
|
|
e30000000087 dlg RXY_RERRD "divide logical 64" z990 zarch
|
|
e30000000088 alcg RXY_RRRD "add logical with carry 64" z990 zarch
|
|
e30000000089 slbg RXY_RRRD "subtract logical with borrow 64" z990 zarch
|
|
e3000000008e stpq RXY_RRRD "store pair to quadword" z990 zarch
|
|
e3000000008f lpq RXY_RERRD "load pair from quadword" z990 zarch
|
|
e30000000090 llgc RXY_RRRD "load logical character" z990 zarch
|
|
e30000000091 llgh RXY_RRRD "load logical halfword" z990 zarch
|
|
e30000000096 ml RXY_RERRD "multiply logical 32" z990 esa,zarch
|
|
e30000000097 dl RXY_RERRD "divide logical 32" z990 esa,zarch
|
|
e30000000098 alc RXY_RRRD "add logical with carry 32" z990 esa,zarch
|
|
e30000000099 slb RXY_RRRD "subtract logical with borrow 32" z990 esa,zarch
|
|
eb0000000004 lmg RSY_RRRD "load multiple with long offset 64" z990 zarch
|
|
eb000000000a srag RSY_RRRD "shift right single 64" z990 zarch
|
|
eb000000000b slag RSY_RRRD "shift left single 64" z990 zarch
|
|
eb000000000c srlg RSY_RRRD "shift right single logical 64" z990 zarch
|
|
eb000000000d sllg RSY_RRRD "shift left single logical 64" z990 zarch
|
|
eb000000000f tracg RSY_RRRD "trace 64" z990 zarch
|
|
eb000000001c rllg RSY_RRRD "rotate left single logical 64" z990 zarch
|
|
eb000000001d rll RSY_RRRD "rotate left single logical 32" z990 esa,zarch
|
|
eb0000000020 clmh RSY_RURD "compare logical characters under mask high with long offset" z990 zarch
|
|
eb0000000024 stmg RSY_RRRD "store multiple with long offset 64" z990 zarch
|
|
eb0000000025 stctg RSY_CCRD "store control 64" z990 zarch
|
|
eb0000000026 stmh RSY_RRRD "store multiple high" z990 zarch
|
|
eb000000002c stcmh RSY_RURD "store characters under mask high with long offset" z990 zarch
|
|
eb000000002f lctlg RSY_CCRD "load control 64" z990 zarch
|
|
eb0000000030 csg RSY_RRRD "compare and swap with long offset 64" z990 zarch
|
|
eb000000003e cdsg RSY_RERERD "compare double and swap with long offset 64" z990 zarch
|
|
eb0000000044 bxhg RSY_RRRD "branch on index high 64" z990 zarch
|
|
eb0000000045 bxleg RSY_RRRD "branch on index low or equal 64" z990 zarch
|
|
eb0000000080 icmh RSY_RURD "insert characters under mask high with long offset" z990 zarch
|
|
eb000000008e mvclu RSY_RERERD "move long unicode" z990 esa,zarch
|
|
eb000000008f clclu RSY_RRRD "compare logical long unicode with long offset" z990 esa,zarch
|
|
eb0000000096 lmh RSY_RRRD "load multiple high" z990 zarch
|
|
# new z990 instructions
|
|
b98a cspg RRE_RR "compare and swap and purge" z990 zarch
|
|
b98e idte RRF_RURR2 "invalidate dat table entry" z990 zarch optparm
|
|
b33e madr RRF_F0FF "multiply and add long hfp" z990 esa,zarch
|
|
ed000000003e mad RXF_FRRDF "multiply and add long hfp" z990 esa,zarch
|
|
b32e maer RRF_F0FF "multiply and add short hfp" z990 esa,zarch
|
|
ed000000002e mae RXF_FRRDF "multiply and add short hfp" z990 esa,zarch
|
|
b33f msdr RRF_F0FF "multiply and subtract long hfp" z990 esa,zarch
|
|
ed000000003f msd RXF_FRRDF "multiply and subtract long hfp" z990 esa,zarch
|
|
b32f mser RRF_F0FF "mutliply and subtract short hfp" z990 esa,zarch
|
|
ed000000002f mse RXF_FRRDF "multiply and subttract short hfp" z990 esa,zarch
|
|
b92e km RRE_RR "cipher message" z990 esa,zarch
|
|
b92f kmc RRE_RR "cipher message with chaining" z990 esa,zarch
|
|
b93e kimd RRE_RR "compute intermediate message digest" z990 esa,zarch
|
|
b93f klmd RRE_RR "compute last message digest" z990 esa,zarch
|
|
b91e kmac RRE_RR "compute message authentication code" z990 esa,zarch
|
|
b99a epair RRE_R0 "extract primary ASN and instance" z990 esa,zarch
|
|
b99b esair RRE_R0 "extract secondary ASN and instance" z990 esa,zarch
|
|
b99e pti RRE_RR "program transfer with instance" z990 esa,zarch
|
|
b99f ssair RRE_R0 "set secondary ASN with instance" z990 esa,zarch
|
|
|
|
# z9-109 extended immediate instructions
|
|
c209 afi RIL_RI "add immediate 32" z9-109 zarch
|
|
c208 agfi RIL_RI "add immediate 64<32" z9-109 zarch
|
|
c20b alfi RIL_RU "add logical immediate 32" z9-109 zarch
|
|
c20a algfi RIL_RU "add logical immediate 64<32" z9-109 zarch
|
|
c00a nihf RIL_RU "and immediate high" z9-109 zarch
|
|
c00b nilf RIL_RU "and immediate low" z9-109 zarch
|
|
c20d cfi RIL_RI "compare immediate 32" z9-109 zarch
|
|
c20c cgfi RIL_RI "compare immediate 64<32" z9-109 zarch
|
|
c20f clfi RIL_RU "compare logical immediate 32" z9-109 zarch
|
|
c20e clgfi RIL_RU "compare logical immediate 64<32" z9-109 zarch
|
|
c006 xihf RIL_RU "exclusive or immediate high" z9-109 zarch
|
|
c007 xilf RIL_RU "exclusive or immediate low" z9-109 zarch
|
|
c008 iihf RIL_RU "insert immediate high" z9-109 zarch
|
|
c009 iilf RIL_RU "insert immediate low" z9-109 zarch
|
|
# z9-109 misc instruction
|
|
b983 flogr RRE_RER "find leftmost one" z9-109 zarch
|
|
e30000000012 lt RXY_RRRD "load and test 32" z9-109 zarch
|
|
e30000000002 ltg RXY_RRRD "load and test 64" z9-109 zarch
|
|
b926 lbr RRE_RR "load byte 32" z9-109 zarch
|
|
b906 lgbr RRE_RR "load byte 64" z9-109 zarch
|
|
b927 lhr RRE_RR "load halfword 32" z9-109 zarch
|
|
b907 lghr RRE_RR "load halfword 64" z9-109 zarch
|
|
c001 lgfi RIL_RI "load immediate 64<32" z9-109 zarch
|
|
e30000000094 llc RXY_RRRD "load logical character 32" z9-109 zarch
|
|
b994 llcr RRE_RR "load logical character 32" z9-109 zarch
|
|
b984 llgcr RRE_RR "load logical character 64" z9-109 zarch
|
|
e30000000095 llh RXY_RRRD "load logical halfword 32" z9-109 zarch
|
|
b995 llhr RRE_RR "load logical halfword 32" z9-109 zarch
|
|
b985 llghr RRE_RR "load logical halfword 64" z9-109 zarch
|
|
c00e llihf RIL_RU "load logical immediate high" z9-109 zarch
|
|
c00f llilf RIL_RU "load logical immediate low" z9-109 zarch
|
|
c00c oihf RIL_RU "or immediate high" z9-109 zarch
|
|
c00d oilf RIL_RU "or immediate low" z9-109 zarch
|
|
c205 slfi RIL_RU "subtract logical immediate 32" z9-109 zarch
|
|
c204 slgfi RIL_RU "subtract logical immediate 64<32" z9-109 zarch
|
|
0104 ptff E "perform timing facility function" z9-109 zarch
|
|
# z9-109 store facility list extended
|
|
b2b0 stfle S_RD "store facility list extended" z9-109 zarch
|
|
# z9-109 store clock fast
|
|
b27c stckf S_RD "store clock fast" z9-109 zarch
|
|
# z9-109 move with optional specifications instruction
|
|
c800 mvcos SSF_RRDRD "move with optional specifications" z9-109 zarch
|
|
# z9-109 load page-table-entry address instruction
|
|
b9aa lptea RRF_RURR2 "load page-table-entry address" z9-109 zarch
|
|
# z9-109 conditional sske facility, sske instruction entered twice
|
|
b22b sske RRF_U0RR "set storage key extended" z9-109 zarch optparm
|
|
# z9-109 etf2-enhancement facility, instructions entered twice
|
|
b993 troo RRF_U0RER "translate one to one" z9-109 esa,zarch optparm
|
|
b992 trot RRF_U0RER "translate one to two" z9-109 esa,zarch optparm
|
|
b991 trto RRF_U0RER "translate two to one" z9-109 esa,zarch optparm
|
|
b990 trtt RRF_U0RER "translate two to two" z9-109 esa,zarch optparm
|
|
# z9-109 etf3-enhancement facility, some instructions entered twice
|
|
b9b1 cu24 RRF_U0RERE "convert utf-16 to utf-32" z9-109 zarch optparm
|
|
b2a6 cu21 RRF_U0RERE "convert utf-16 to utf-8" z9-109 zarch optparm
|
|
b2a6 cuutf RRF_U0RERE "convert unicode to utf-8" z9-109 zarch optparm
|
|
b9b3 cu42 RRE_RERE "convert utf-32 to utf-16" z9-109 zarch
|
|
b9b2 cu41 RRE_RERE "convert utf-32 to utf-8" z9-109 zarch
|
|
b2a7 cu12 RRF_U0RERE "convert utf-8 to utf-16" z9-109 zarch optparm
|
|
b2a7 cutfu RRF_U0RERE "convert utf-8 to unicode" z9-109 zarch optparm
|
|
b9b0 cu14 RRF_U0RERE "convert utf-8 to utf-32" z9-109 zarch optparm
|
|
b9be srstu RRE_RR "search string unicode" z9-109 zarch
|
|
d0 trtr SS_L0RDRD "tranlate and test reverse" z9-109 zarch
|
|
# z9-109 unnormalized hfp multiply & multiply and add
|
|
b33b myr RRF_FE0FF "multiply unnormalized long hfp" z9-109 zarch
|
|
b33d myhr RRF_F0FF "multiply unnormalized long hfp high" z9-109 zarch
|
|
b339 mylr RRF_F0FF "multiply unnormalized long hfp low" z9-109 zarch
|
|
ed000000003b my RXF_FRRDFE "multiply unnormalized long hfp" z9-109 zarch
|
|
ed000000003d myh RXF_FRRDF "multiply unnormalized long hfp high" z9-109 zarch
|
|
ed0000000039 myl RXF_FRRDF "multiply unnormalized long hfp low" z9-109 zarch
|
|
b33a mayr RRF_F0FF "multiply and add unnormalized long hfp" z9-109 zarch
|
|
b33c mayhr RRF_F0FF "multiply and add unnormalized long hfp high" z9-109 zarch
|
|
b338 maylr RRF_F0FF "multiply and add unnormalized long hfp low" z9-109 zarch
|
|
ed000000003a may RXF_FRRDF "multiply and add unnormalized long hfp" z9-109 zarch
|
|
ed000000003c mayh RXF_FRRDF "multiply and add unnormalized long hfp high" z9-109 zarch
|
|
ed0000000038 mayl RXF_FRRDF "multiply and add unnormalized long hfp low" z9-109 zarch
|
|
b370 lpdfr RRE_FF "load positive no cc" z9-ec zarch
|
|
b371 lndfr RRE_FF "load negative no cc" z9-ec zarch
|
|
b372 cpsdr RRF_F0FF2 "copy sign" z9-ec zarch
|
|
b373 lcdfr RRE_FF "load complement no cc" z9-ec zarch
|
|
b3c1 ldgr RRE_FR "load fpr from gr" z9-ec zarch
|
|
b3cd lgdr RRE_RF "load gr from fpr" z9-ec zarch
|
|
b3d2 adtr RRR_F0FF "add long dfp" z9-ec zarch
|
|
b3da axtr RRR_FE0FEFE "add extended dfp" z9-ec zarch
|
|
b3e4 cdtr RRE_FF "compare long dfp" z9-ec zarch
|
|
b3ec cxtr RRE_FEFE "compare extended dfp" z9-ec zarch
|
|
b3e0 kdtr RRE_FF "compare and signal long dfp" z9-ec zarch
|
|
b3e8 kxtr RRE_FF "compare and signal extended dfp" z9-ec zarch
|
|
b3f4 cedtr RRE_FF "compare exponent long dfp" z9-ec zarch
|
|
b3fc cextr RRE_FEFE "compare exponent extended dfp" z9-ec zarch
|
|
b3f1 cdgtr RRE_FR "convert from fixed long dfp" z9-ec zarch
|
|
b3f9 cxgtr RRE_FER "convert from fixed extended dfp" z9-ec zarch
|
|
b3f3 cdstr RRE_FR "convert from signed bcd long dfp" z9-ec zarch
|
|
b3fb cxstr RRE_FR "convert from signed bcd extended dfp" z9-ec zarch
|
|
b3f2 cdutr RRE_FR "convert from unsigned bcd to long dfp" z9-ec zarch
|
|
b3fa cxutr RRE_FER "convert from unsigned bcd to extended dfp" z9-ec zarch
|
|
b3e1 cgdtr RRF_U0RF "convert from long dfp to fixed" z9-ec zarch
|
|
b3e9 cgxtr RRF_U0RFE "convert from extended dfp to fixed" z9-ec zarch
|
|
b3e3 csdtr RRF_0URF "convert from long dfp to signed bcd" z9-ec zarch
|
|
b3eb csxtr RRF_0UREFE "convert from extended dfp to signed bcd" z9-ec zarch
|
|
b3e2 cudtr RRE_RF "convert from long dfp to unsigned bcd" z9-ec zarch
|
|
b3ea cuxtr RRE_RFE "convert from extended dfp to unsigned bcd" z9-ec zarch
|
|
b3d1 ddtr RRR_F0FF "divide long dfp" z9-ec zarch
|
|
b3d9 dxtr RRR_FE0FEFE "divide extended dfp" z9-ec zarch
|
|
b3e5 eedtr RRE_RF "extract biased exponent from long dfp" z9-ec zarch
|
|
b3ed eextr RRE_RFE "extract biased exponent from extended dfp" z9-ec zarch
|
|
b3e7 esdtr RRE_RF "extract significance from long dfp" z9-ec zarch
|
|
b3ef esxtr RRE_RFE "extract significance from extended dfp" z9-ec zarch
|
|
b3f6 iedtr RRF_F0FR "insert biased exponent long dfp" z9-ec zarch
|
|
b3fe iextr RRF_FE0FER "insert biased exponent extended dfp" z9-ec zarch
|
|
b3d6 ltdtr RRE_FF "load and test long dfp" z9-ec zarch
|
|
b3de ltxtr RRE_FEFE "load and test extended dfp" z9-ec zarch
|
|
b3d7 fidtr RRF_UUFF "load fp integer long dfp" z9-ec zarch
|
|
b3df fixtr RRF_UUFEFE "load fp integer extended dfp" z9-ec zarch
|
|
b2bd lfas S_RD "load fpd and signal" z9-ec zarch
|
|
b3d4 ldetr RRF_0UFF "load lengthened long dfp" z9-ec zarch
|
|
b3dc lxdtr RRF_0UFEF "load lengthened extended dfp" z9-ec zarch
|
|
b3d5 ledtr RRF_UUFF "load rounded long dfp" z9-ec zarch
|
|
b3dd ldxtr RRF_UUFFE "load rounded extended dfp" z9-ec zarch
|
|
b3d0 mdtr RRR_F0FF "multiply long dfp" z9-ec zarch
|
|
b3d8 mxtr RRR_FE0FEFE "multiply extended dfp" z9-ec zarch
|
|
b3f5 qadtr RRF_FUFF "Quantize long dfp" z9-ec zarch
|
|
b3fd qaxtr RRF_FEUFEFE "Quantize extended dfp" z9-ec zarch
|
|
b3f7 rrdtr RRF_FFRU "Reround long dfp" z9-ec zarch
|
|
b3ff rrxtr RRF_FEFERU "Reround extended dfp" z9-ec zarch
|
|
b2b9 srnmt S_RD "set rounding mode dfp" z9-ec zarch
|
|
b385 sfasr RRE_R0 "set fpc and signal" z9-ec zarch
|
|
ed0000000040 sldt RXF_FRRDF "shift coefficient left long dfp" z9-ec zarch
|
|
ed0000000048 slxt RXF_FERRDFE "shift coefficient left extended dfp" z9-ec zarch
|
|
ed0000000041 srdt RXF_FRRDF "shift coefficient right long dfp" z9-ec zarch
|
|
ed0000000049 srxt RXF_FERRDFE "shift coefficient right extended dfp" z9-ec zarch
|
|
b3d3 sdtr RRR_F0FF "subtract long dfp" z9-ec zarch
|
|
b3db sxtr RRR_FE0FEFE "subtract extended dfp" z9-ec zarch
|
|
ed0000000050 tdcet RXE_FRRD "test data class short dfp" z9-ec zarch
|
|
ed0000000054 tdcdt RXE_FRRD "test data class long dfp" z9-ec zarch
|
|
ed0000000058 tdcxt RXE_FERRD "test data class extended dfp" z9-ec zarch
|
|
ed0000000051 tdget RXE_FRRD "test data group short dfp" z9-ec zarch
|
|
ed0000000055 tdgdt RXE_FRRD "test data group long dfp" z9-ec zarch
|
|
ed0000000059 tdgxt RXE_FERRD "test data group extended dfp" z9-ec zarch
|
|
010a pfpo E "perform floating point operation" z9-ec zarch
|
|
c801 ectg SSF_RRDRD "extract cpu time" z9-ec zarch
|
|
c802 csst SSF_RRDRD "compare and swap and store" z9-ec zarch
|
|
|
|
# The new instructions of the System z10 Enterprise Class
|
|
eb000000006a asi SIY_IRD "add immediate (32<8)" z10 zarch
|
|
eb000000007a agsi SIY_IRD "add immediate (64<8)" z10 zarch
|
|
eb000000006e alsi SIY_IRD "add logical with signed immediate (32<8)" z10 zarch
|
|
eb000000007e algsi SIY_IRD "add logical with signed immediate (64<8)" z10 zarch
|
|
c60d crl RIL_RP "compare relative long (32)" z10 zarch
|
|
c608 cgrl RIL_RP "compare relative long (64)" z10 zarch
|
|
c60c cgfrl RIL_RP "compare relative long (64<32)" z10 zarch
|
|
ec00000000f6 crb$32 RRS_RRRD0 "compare and branch (32)" z10 zarch
|
|
ec00000000f6 crb RRS_RRRDU "compare and branch (32)" z10 zarch
|
|
ec00000000e4 cgrb$32 RRS_RRRD0 "compare and branch (64)" z10 zarch
|
|
ec00000000e4 cgrb RRS_RRRDU "compare and branch (64)" z10 zarch
|
|
ec0000000076 crj$32 RIE_RRP0 "compare and branch relative (32)" z10 zarch
|
|
ec0000000076 crj RIE_RRPU "compare and branch relative (32)" z10 zarch
|
|
ec0000000064 cgrj$32 RIE_RRP0 "compare and branch relative (64)" z10 zarch
|
|
ec0000000064 cgrj RIE_RRPU "compare and branch relative (64)" z10 zarch
|
|
ec00000000fe cib$12 RIS_R0RDI "compare immediate and branch (32<8)" z10 zarch
|
|
ec00000000fe cib RIS_RURDI "compare immediate and branch (32<8)" z10 zarch
|
|
ec00000000fc cgib$12 RIS_R0RDI "compare immediate and branch (64<8)" z10 zarch
|
|
ec00000000fc cgib RIS_RURDI "compare immediate and branch (64<8)" z10 zarch
|
|
ec000000007e cij$12 RIE_R0PI "compare immediate and branch relative (32<8)" z10 zarch
|
|
ec000000007e cij RIE_RUPI "compare immediate and branch relative (32<8)" z10 zarch
|
|
ec000000007c cgij$12 RIE_R0PI "compare immediate and branch relative (64<8)" z10 zarch
|
|
ec000000007c cgij RIE_RUPI "compare immediate and branch relative (64<8)" z10 zarch
|
|
b9720000 crt$16 RRF_00RR "compare and trap" z10 zarch
|
|
b972 crt RRF_U0RR "compare and trap" z10 zarch
|
|
b9600000 cgrt$16 RRF_00RR "compare and trap 64" z10 zarch
|
|
b960 cgrt RRF_U0RR "compare and trap 64" z10 zarch
|
|
ec0000000072 cit$32 RIE_R0I0 "compare immediate and trap (32<16)" z10 zarch
|
|
ec0000000072 cit RIE_R0IU "compare immediate and trap (32<16)" z10 zarch
|
|
ec0000000070 cgit$32 RIE_R0I0 "compare immediate and trap (64<16)" z10 zarch
|
|
ec0000000070 cgit RIE_R0IU "compare immediate and trap (64<16)" z10 zarch
|
|
e30000000034 cgh RXY_RRRD "compare halfword (64<16)" z10 zarch
|
|
e554 chhsi SIL_RDI "compare halfword immediate (16<16)" z10 zarch
|
|
e55c chsi SIL_RDI "compare halfword immediate (32<16)" z10 zarch
|
|
e558 cghsi SIL_RDI "compare halfword immediate (64<16)" z10 zarch
|
|
c605 chrl RIL_RP "compare halfword relative long (32<8)" z10 zarch
|
|
c604 cghrl RIL_RP "compare halfword relative long (64<8)" z10 zarch
|
|
e555 clhhsi SIL_RDU "compare logical immediate (16<16)" z10 zarch
|
|
e55d clfhsi SIL_RDU "compare logical immediate (32<16)" z10 zarch
|
|
e559 clghsi SIL_RDU "compare logical immediate (64<16)" z10 zarch
|
|
c60f clrl RIL_RP "compare logical relative long (32)" z10 zarch
|
|
c60a clgrl RIL_RP "compare logical relative long (64)" z10 zarch
|
|
c60e clgfrl RIL_RP "compare logical relative long (64<32)" z10 zarch
|
|
c607 clhrl RIL_RP "compare logical relative long (32<16)" z10 zarch
|
|
c606 clghrl RIL_RP "compare logical relative long (64<16)" z10 zarch
|
|
ec00000000f7 clrb$32 RRS_RRRD0 "compare logical and branch (32)" z10 zarch
|
|
ec00000000f7 clrb RRS_RRRDU "compare logical and branch (32)" z10 zarch
|
|
ec00000000e5 clgrb$32 RRS_RRRD0 "compare logical and branch (64)" z10 zarch
|
|
ec00000000e5 clgrb RRS_RRRDU "compare logical and branch (64)" z10 zarch
|
|
ec0000000077 clrj$32 RIE_RRP0 "compare logical and branch relative (32)" z10 zarch
|
|
ec0000000077 clrj RIE_RRPU "compare logical and branch relative (32)" z10 zarch
|
|
ec0000000065 clgrj$32 RIE_RRP0 "compare logical and branch relative (64)" z10 zarch
|
|
ec0000000065 clgrj RIE_RRPU "compare logical and branch relative (64)" z10 zarch
|
|
ec00000000ff clib$12 RIS_R0RDU "compare logical immediate and branch (32<8)" z10 zarch
|
|
ec00000000ff clib RIS_RURDU "compare logical immediate and branch (32<8)" z10 zarch
|
|
ec00000000fd clgib$12 RIS_R0RDU "compare logical immediate and branch (64<8)" z10 zarch
|
|
ec00000000fd clgib RIS_RURDU "compare logical immediate and branch (64<8)" z10 zarch
|
|
ec000000007f clij$12 RIE_R0PU "compare logical immediate and branch relative (32<8)" z10 zarch
|
|
ec000000007f clij RIE_RUPU "compare logical immediate and branch relative (32<8)" z10 zarch
|
|
ec000000007d clgij$12 RIE_R0PU "compare logical immediate and branch relative (64<8)" z10 zarch
|
|
ec000000007d clgij RIE_RUPU "compare logical immediate and branch relative (64<8)" z10 zarch
|
|
b9730000 clrt$16 RRF_00RR "compare logical and trap (32)" z10 zarch
|
|
b973 clrt RRF_U0RR "compare logical and trap (32)" z10 zarch
|
|
b9610000 clgrt$16 RRF_00RR "compare logical and trap (64)" z10 zarch
|
|
b961 clgrt RRF_U0RR "compare logical and trap (64)" z10 zarch
|
|
ec0000000073 clfit$32 RIE_R0U0 "compare logical and trap (32<16)" z10 zarch
|
|
ec0000000073 clfit RIE_R0UU "compare logical and trap (32<16)" z10 zarch
|
|
ec0000000071 clgit$32 RIE_R0U0 "compare logical and trap (64<16)" z10 zarch
|
|
ec0000000071 clgit RIE_R0UU "compare logical and trap (64<16)" z10 zarch
|
|
eb000000004c ecag RSY_RRRD "extract cache attribute" z10 zarch
|
|
c40d lrl RIL_RP "load relative long (32)" z10 zarch
|
|
c408 lgrl RIL_RP "load relative long (64)" z10 zarch
|
|
c40c lgfrl RIL_RP "load relative long (64<32)" z10 zarch
|
|
e30000000075 laey RXY_RRRD "load address extended" z10 zarch
|
|
e30000000032 ltgf RXY_RRRD "load and test (64<32)" z10 zarch
|
|
c405 lhrl RIL_RP "load halfword relative long (32<16)" z10 zarch
|
|
c404 lghrl RIL_RP "load halfword relative long (64<16)" z10 zarch
|
|
c40e llgfrl RIL_RP "load logical relative long (64<32)" z10 zarch
|
|
c402 llhrl RIL_RP "load logical halfword relative long (32<16)" z10 zarch
|
|
c406 llghrl RIL_RP "load logical halfword relative long (64<16)" z10 zarch
|
|
e544 mvhhi SIL_RDI "move (16<16)" z10 zarch
|
|
e54c mvhi SIL_RDI "move (32<16)" z10 zarch
|
|
e548 mvghi SIL_RDI "move (64<16)" z10 zarch
|
|
e3000000005c mfy RXY_RERRD "multiply" z10 zarch
|
|
e3000000007c mhy RXY_RRRD "multiply halfword" z10 zarch
|
|
c201 msfi RIL_RI "multiply single immediate (32)" z10 zarch
|
|
c200 msgfi RIL_RI "multiply single immediate (64)" z10 zarch
|
|
e30000000036 pfd RXY_URRD "prefetch data" z10 zarch
|
|
c602 pfdrl RIL_UP "prefetch data relative long" z10 zarch
|
|
ec0000000054 rnsbg RIE_RRUUU "rotate then and selected bits" z10 zarch
|
|
ec0000000057 rxsbg RIE_RRUUU "rotate then exclusive or selected bits" z10 zarch
|
|
ec0000000056 rosbg RIE_RRUUU "rotate then or selected bits" z10 zarch
|
|
ec0000000055 risbg RIE_RRUUU "rotate then insert selected bits" z10 zarch
|
|
c40f strl RIL_RP "store relative long (32)" z10 zarch
|
|
c40b stgrl RIL_RP "store relative long (64)" z10 zarch
|
|
c407 sthrl RIL_RP "store halfword relative long" z10 zarch
|
|
c600 exrl RIL_RP "execute relative long" z10 zarch
|
|
af00 mc SI_URD "monitor call" z10 zarch
|
|
b9a2 ptf RRE_R0 "perform topology function" z10 zarch
|
|
b9af pfmf RRE_RR "perform frame management function" z10 zarch
|
|
b9bf trte RRF_U0RER "translate and test extended" z10 zarch optparm
|
|
b9bd trtre RRF_U0RER "translate and test reverse extended" z10 zarch optparm
|
|
b2ed ecpga RRE_RR "extract coprocessor-group address" z10 zarch
|
|
b2e4 ecctr RRE_RR "extract cpu counter" z10 zarch
|
|
b2e5 epctr RRE_RR "extract peripheral counter" z10 zarch
|
|
b284 lcctl S_RD "load cpu-counter-set controls" z10 zarch
|
|
b285 lpctl S_RD "load peripheral-counter-set controls" z10 zarch
|
|
b287 lsctl S_RD "load sampling controls" z10 zarch
|
|
b28e qctri S_RD "query counter information" z10 zarch
|
|
b286 qsi S_RD "query sampling information" z10 zarch
|
|
b2e0 scctr RRE_RR "set cpu counter" z10 zarch
|
|
b2e1 spctr RRE_RR "set peripheral counter" z10 zarch
|
|
b280 lpp S_RD "load program parameter" z10 zarch
|
|
|
|
# The new instructions of the IBM zEnterprise z196
|
|
b9c8 ahhhr RRF_R0RR2 "add high high" z196 zarch
|
|
b9d8 ahhlr RRF_R0RR2 "add high low" z196 zarch
|
|
cc08 aih RIL_RI "add immediate high" z196 zarch
|
|
b9ca alhhhr RRF_R0RR2 "add logical high high" z196 zarch
|
|
b9da alhhlr RRF_R0RR2 "add logical high low" z196 zarch
|
|
cc0a alsih RIL_RI "add logical with signed immediate high with cc" z196 zarch
|
|
cc0b alsihn RIL_RI "add logical with signed immediate high no cc" z196 zarch
|
|
cc06 brcth RIL_RP "branch relative on count high" z196 zarch
|
|
b9cd chhr RRE_RR "compare high high" z196 zarch
|
|
b9dd chlr RRE_RR "compare high low" z196 zarch
|
|
e300000000cd chf RXY_RRRD "compare high" z196 zarch
|
|
cc0d cih RIL_RI "compare immediate high" z196 zarch
|
|
b9cf clhhr RRE_RR "compare logical high high" z196 zarch
|
|
b9df clhlr RRE_RR "compare logical high low" z196 zarch
|
|
e300000000cf clhf RXY_RRRD "compare logical high" z196 zarch
|
|
cc0f clih RIL_RU "compare logical immediate" z196 zarch
|
|
e300000000c0 lbh RXY_RRRD "load byte high" z196 zarch
|
|
e300000000c4 lhh RXY_RRRD "load halfword high" z196 zarch
|
|
e300000000ca lfh RXY_RRRD "load high" z196 zarch
|
|
e300000000c2 llch RXY_RRRD "load logical character high" z196 zarch
|
|
e300000000c6 llhh RXY_RRRD "load logical halfword high" z196 zarch
|
|
ec000000005d risbhg RIE_RRUUU "rotate then insert selected bits high" z196 zarch
|
|
ec0000000051 risblg RIE_RRUUU "rotate then insert selected bits low" z196 zarch
|
|
e300000000c3 stch RXY_RRRD "store character high" z196 zarch
|
|
e300000000c7 sthh RXY_RRRD "store halfword high" z196 zarch
|
|
e300000000cb stfh RXY_RRRD "store high" z196 zarch
|
|
b9c9 shhhr RRF_R0RR2 "subtract high high" z196 zarch
|
|
b9d9 shhlr RRF_R0RR2 "subtract high low" z196 zarch
|
|
b9cb slhhhr RRF_R0RR2 "subtract logical high high" z196 zarch
|
|
b9db slhhlr RRF_R0RR2 "subtract logical high low" z196 zarch
|
|
eb00000000f8 laa RSY_RRRD "load and add 32 bit" z196 zarch
|
|
eb00000000e8 laag RSY_RRRD "load and add 64 bit" z196 zarch
|
|
eb00000000fa laal RSY_RRRD "load and add logical 32 bit" z196 zarch
|
|
eb00000000ea laalg RSY_RRRD "load and add logical 64 bit" z196 zarch
|
|
eb00000000f4 lan RSY_RRRD "load and and 32 bit" z196 zarch
|
|
eb00000000e4 lang RSY_RRRD "load and and 64 bit" z196 zarch
|
|
eb00000000f7 lax RSY_RRRD "load and exclusive or 32 bit" z196 zarch
|
|
eb00000000e7 laxg RSY_RRRD "load and exclusive or 64 bit" z196 zarch
|
|
eb00000000f6 lao RSY_RRRD "load and or 32 bit" z196 zarch
|
|
eb00000000e6 laog RSY_RRRD "load and or 64 bit" z196 zarch
|
|
c804 lpd SSF_RERDRD2 "load pair disjoint 32 bit" z196 zarch
|
|
c805 lpdg SSF_RERDRD2 "load pair disjoint 64 bit" z196 zarch
|
|
b9f2 locr RRF_U0RR "load on condition 32 bit" z196 zarch
|
|
b9f20000 locr*16 RRF_00RR "load on condition 32 bit" z196 zarch
|
|
b9e2 locgr RRF_U0RR "load on condition 64 bit" z196 zarch
|
|
b9e20000 locgr*16 RRF_00RR "load on condition 64 bit" z196 zarch
|
|
eb00000000f2 loc RSY_RURD2 "load on condition 32 bit" z196 zarch
|
|
eb00000000f2 loc*12 RSY_R0RD "load on condition 32 bit" z196 zarch
|
|
eb00000000e2 locg RSY_RURD2 "load on condition 64 bit" z196 zarch
|
|
eb00000000e2 locg*12 RSY_R0RD "load on condition 64 bit" z196 zarch
|
|
eb00000000f3 stoc RSY_RURD2 "store on condition 32 bit" z196 zarch
|
|
eb00000000f3 stoc*12 RSY_R0RD "store on condition 32 bit" z196 zarch
|
|
eb00000000e3 stocg RSY_RURD2 "store on condition 64 bit" z196 zarch
|
|
eb00000000e3 stocg*12 RSY_R0RD "store on condition 64 bit" z196 zarch
|
|
b9f8 ark RRF_R0RR2 "add 3 operands 32 bit" z196 zarch
|
|
b9e8 agrk RRF_R0RR2 "add 3 operands 64 bit" z196 zarch
|
|
ec00000000d8 ahik RIE_RRI0 "add immediate 3 operands 32 bit" z196 zarch
|
|
ec00000000d9 aghik RIE_RRI0 "add immediate 3 operands 64 bit" z196 zarch
|
|
b9fa alrk RRF_R0RR2 "add logical 3 operands 32 bit" z196 zarch
|
|
b9ea algrk RRF_R0RR2 "add logical 3 operands 64 bit" z196 zarch
|
|
ec00000000da alhsik RIE_RRI0 "add logical immediate 3 operands 32 bit" z196 zarch
|
|
ec00000000db alghsik RIE_RRI0 "add logical immediate 3 operands 64 bit" z196 zarch
|
|
b9f4 nrk RRF_R0RR2 "and 3 operands 32 bit" z196 zarch
|
|
b9e4 ngrk RRF_R0RR2 "and 3 operands 64 bit" z196 zarch
|
|
b9f7 xrk RRF_R0RR2 "xor 3 operands 32 bit" z196 zarch
|
|
b9e7 xgrk RRF_R0RR2 "xor 3 operands 64 bit" z196 zarch
|
|
b9f6 ork RRF_R0RR2 "or 3 operands 32 bit" z196 zarch
|
|
b9e6 ogrk RRF_R0RR2 "or 3 operands 64 bit" z196 zarch
|
|
eb00000000dd slak RSY_RRRD "shift left single 3 operands 32 bit" z196 zarch
|
|
eb00000000df sllk RSY_RRRD "shift left single logical 3 operands 32 bit" z196 zarch
|
|
eb00000000dc srak RSY_RRRD "shift right single 3 operands 32 bit" z196 zarch
|
|
eb00000000de srlk RSY_RRRD "shift right single logical 3 operands 32 bit" z196 zarch
|
|
b9f9 srk RRF_R0RR2 "subtract 3 operands 32 bit" z196 zarch
|
|
b9e9 sgrk RRF_R0RR2 "subtract 3 operands 64 bit" z196 zarch
|
|
b9fb slrk RRF_R0RR2 "subtract logical 3 operands 32 bit" z196 zarch
|
|
b9eb slgrk RRF_R0RR2 "subtract logical 3 operands 64 bit" z196 zarch
|
|
b9e1 popcnt RRE_RR "population count" z196 zarch
|
|
b9ae rrbm RRE_RR "reset reference bits multiple" z196 zarch
|
|
b394 cefbra RRF_UUFR "convert from 32 bit fixed to short bfp with rounding mode" z196 zarch
|
|
b395 cdfbra RRF_UUFR "convert from 32 bit fixed to long bfp with rounding mode" z196 zarch
|
|
b396 cxfbra RRF_UUFER "convert from 32 bit fixed to extended bfp with rounding mode" z196 zarch
|
|
b3a4 cegbra RRF_UUFR "convert from 64 bit fixed to short bfp with rounding mode" z196 zarch
|
|
b3a5 cdgbra RRF_UUFR "convert from 64 bit fixed to long bfp with rounding mode" z196 zarch
|
|
b3a6 cxgbra RRF_UUFER "convert from 64 bit fixed to extended bfp with rounding mode" z196 zarch
|
|
b390 celfbr RRF_UUFR "convert from 32 bit logical fixed to short bfp with rounding mode" z196 zarch
|
|
b391 cdlfbr RRF_UUFR "convert from 32 bit logical fixed to long bfp with rounding mode" z196 zarch
|
|
b392 cxlfbr RRF_UUFER "convert from 32 bit logical fixed to extended bfp with rounding mode" z196 zarch
|
|
b3a0 celgbr RRF_UUFR "convert from 64 bit logical fixed to short bfp with rounding mode" z196 zarch
|
|
b3a1 cdlgbr RRF_UUFR "convert from 64 bit logical fixed to long bfp with rounding mode" z196 zarch
|
|
b3a2 cxlgbr RRF_UUFER "convert from 64 bit logical fixed to extended bfp with rounding mode" z196 zarch
|
|
b398 cfebra RRF_UURF "convert to 32 bit fixed from short bfp with rounding mode" z196 zarch
|
|
b399 cfdbra RRF_UURF "convert to 32 bit fixed from long bfp with rounding mode" z196 zarch
|
|
b39a cfxbra RRF_UURFE "convert to 32 bit fixed from extended bfp with rounding mode" z196 zarch
|
|
b3a8 cgebra RRF_UURF "convert to 64 bit fixed from short bfp with rounding mode" z196 zarch
|
|
b3a9 cgdbra RRF_UURF "convert to 64 bit fixed from long bfp with rounding mode" z196 zarch
|
|
b3aa cgxbra RRF_UURFE "convert to 64 bit fixed from extended bfp with rounding mode" z196 zarch
|
|
b39c clfebr RRF_UURF "convert to 32 bit fixed logical from short bfp with rounding mode" z196 zarch
|
|
b39d clfdbr RRF_UURF "convert to 32 bit fixed logical from long bfp with rounding mode" z196 zarch
|
|
b39e clfxbr RRF_UURFE "convert to 32 bit fixed logical from extended bfp with rounding mode" z196 zarch
|
|
b3ac clgebr RRF_UURF "convert to 64 bit fixed logical from short bfp with rounding mode" z196 zarch
|
|
b3ad clgdbr RRF_UURF "convert to 64 bit fixed logical from long bfp with rounding mode" z196 zarch
|
|
b3ae clgxbr RRF_UURFE "convert to 64 bit fixed logical from extended bfp with rounding mode" z196 zarch
|
|
b357 fiebra RRF_UUFF "load fp integer short bfp with inexact suppression" z196 zarch
|
|
b35f fidbra RRF_UUFF "load fp integer long bfp with inexact suppression" z196 zarch
|
|
b347 fixbra RRF_UUFEFE "load fp integer extended bfp with inexact suppression" z196 zarch
|
|
b344 ledbra RRF_UUFF "load rounded short/long bfp to short/long bfp with rounding mode" z196 zarch
|
|
b345 ldxbra RRF_UUFEFE "load rounded long/extended bfp to long/extended bfp with rounding mode" z196 zarch
|
|
b346 lexbra RRF_UUFEFE "load rounded short/extended bfp to short/extended bfp with rounding mode" z196 zarch
|
|
b3d2 adtra RRF_FUFF2 "add long dfp with rounding mode" z196 zarch
|
|
b3da axtra RRF_FEUFEFE2 "add extended dfp with rounding mode" z196 zarch
|
|
b3f1 cdgtra RRF_UUFR "convert from fixed long dfp with rounding mode" z196 zarch
|
|
b951 cdftr RRF_UUFR "convert from 32 bit fixed to long dfp with rounding mode" z196 zarch
|
|
b959 cxftr RRF_UUFER "convert from 32 bit fixed to extended dfp with rounding mode" z196 zarch
|
|
b3f9 cxgtra RRF_UUFER "convert from fixed extended dfp with rounding mode" z196 zarch
|
|
b952 cdlgtr RRF_UUFR "convert from 64 bit fixed logical to long dfp with rounding mode" z196 zarch
|
|
b95a cxlgtr RRF_UUFER "convert from 64 bit fixed logical to extended dfp with rounding mode" z196 zarch
|
|
b953 cdlftr RRF_UUFR "convert from 32 bit fixed logical to long dfp with rounding mode" z196 zarch
|
|
b95b cxlftr RRF_UUFR "convert from 32 bit fixed logical to extended dfp with rounding mode" z196 zarch
|
|
b3e1 cgdtra RRF_UURF "convert to 64 bit fixed from long dfp with rounding mode" z196 zarch
|
|
b3e9 cgxtra RRF_UURFE "convert to 64 bit fixed from extended dfp with rounding mode" z196 zarch
|
|
b941 cfdtr RRF_UURF "convert to 32 bit fixed from long dfp source with rounding mode" z196 zarch
|
|
b949 cfxtr RRF_UURF "convert to 32 bit fixed from extended dfp source with rounding mode" z196 zarch
|
|
b942 clgdtr RRF_UURF "convert to 64 bit fixed logical from long dfp with rounding mode" z196 zarch
|
|
b94a clgxtr RRF_UURFE "convert to 64 bit fixed logical from extended dfp with rounding mode" z196 zarch
|
|
b943 clfdtr RRF_UURF "convert to 32 bit fixed logical from long dfp with rounding mode" z196 zarch
|
|
b94b clfxtr RRF_UURFE "convert to 32 bit fixed logical from extended dfp with rounding mode" z196 zarch
|
|
b3d1 ddtra RRF_FUFF2 "divide long dfp with rounding mode" z196 zarch
|
|
b3d9 dxtra RRF_FEUFEFE2 "divide extended dfp with rounding mode" z196 zarch
|
|
b3d0 mdtra RRF_FUFF2 "multiply long dfp with rounding mode" z196 zarch
|
|
b3d8 mxtra RRF_FEUFEFE2 "multiply extended dfp with rounding mode" z196 zarch
|
|
b3d3 sdtra RRF_FUFF2 "subtract long dfp with rounding mode" z196 zarch
|
|
b3db sxtra RRF_FEUFEFE2 "subtract extended dfp with rounding mode" z196 zarch
|
|
b2b8 srnmb S_RD "set 3 bit bfp rounding mode" z196 zarch
|
|
b92a kmf RRE_RR "cipher message with CFB" z196 zarch
|
|
b92b kmo RRE_RR "cipher message with OFB" z196 zarch
|
|
b92c pcc RRE_00 "perform cryptographic computation" z196 zarch
|
|
b92d kmctr RRF_R0RR "cipher message with counter" z196 zarch
|
|
b928 pckmo RRE_00 "perform cryptographic key management operation" z196 zarch
|
|
|
|
# The new instructions of the IBM zEnterprise EC12
|
|
b2ec etnd RRE_R0 "extract transaction nesting depth" zEC12 zarch htm
|
|
e30000000025 ntstg RXY_RRRD "nontransactional store" zEC12 zarch htm
|
|
b2fc tabort S_RD "transaction abort" zEC12 zarch htm
|
|
e560 tbegin SIL_RDU "transaction begin" zEC12 zarch htm
|
|
e561 tbeginc SIL_RDU "constrained transaction begin" zEC12 zarch htm
|
|
b2f8 tend S_00 "transaction end" zEC12 zarch htm
|
|
c7 bpp SMI_U0RDP "branch prediction preload" zEC12 zarch
|
|
c5 bprp MII_UPP "branch prediction relative preload" zEC12 zarch
|
|
b2e8 ppa RRF_U0RR "perform processor assist" zEC12 zarch htm
|
|
b2fa niai IE_UU "next instruction access intent" zEC12 zarch
|
|
b98f crdte RRF_RURR2 "compare and replace DAT table entry" zEC12 zarch optparm
|
|
e3000000009f lat RXY_RRRD "load and trap 32 bit" zEC12 zarch
|
|
e30000000085 lgat RXY_RRRD "load and trap 64 bit" zEC12 zarch
|
|
e300000000c8 lfhat RXY_RRRD "load high and trap" zEC12 zarch
|
|
e3000000009d llgfat RXY_RRRD "load logical and trap 32>64" zEC12 zarch
|
|
e3000000009c llgtat RXY_RRRD "load logical thirty one bits and trap 31>64" zEC12 zarch
|
|
eb0000000023 clt RSY_RURD "compare logical and trap 32 bit reg-mem" zEC12 zarch
|
|
eb0000000023 clt$12 RSY_R0RD "compare logical and trap 32 bit reg-mem" zEC12 zarch
|
|
eb000000002b clgt RSY_RURD "compare logical and trap 64 bit reg-mem" zEC12 zarch
|
|
eb000000002b clgt$12 RSY_R0RD "compare logical and trap 64 bit reg-mem" zEC12 zarch
|
|
ec0000000059 risbgn RIE_RRUUU "rotate then insert selected bits nocc" zEC12 zarch
|
|
ed00000000aa cdzt RSL_LRDFU "convert from zoned long" zEC12 zarch
|
|
ed00000000ab cxzt RSL_LRDFEU "convert from zoned extended" zEC12 zarch
|
|
ed00000000a8 czdt RSL_LRDFU "convert to zoned long" zEC12 zarch
|
|
ed00000000a9 czxt RSL_LRDFEU "convert to zoned extended" zEC12 zarch
|
|
|
|
# The new instructions of IBM z13
|
|
|
|
e70000000027 lcbb RXE_RRRDU "load count to block boundary" z13 zarch vx
|
|
|
|
# Chapter 21
|
|
e70000000013 vgef VRV_VVXRDU "vector gather element 4 byte elements" z13 zarch vx
|
|
e70000000012 vgeg VRV_VVXRDU "vector gather element 8 byte elements" z13 zarch vx
|
|
e70000000044 vgbm VRI_V0U "vector generate byte mask" z13 zarch vx
|
|
e70000000044 vzero VRI_V "vector set to zero" z13 zarch vx
|
|
e700ffff0044 vone VRI_V "vector set to ones" z13 zarch vx
|
|
e70000000046 vgm VRI_V0UUU "vector generate mask" z13 zarch vx
|
|
e70000000046 vgmb VRI_V0UU "vector generate mask byte" z13 zarch vx
|
|
e70000001046 vgmh VRI_V0UU "vector generate mask halfword" z13 zarch vx
|
|
e70000002046 vgmf VRI_V0UU "vector generate mask word" z13 zarch vx
|
|
e70000003046 vgmg VRI_V0UU "vector generate mask double word" z13 zarch vx
|
|
e70000000056 vlr VRX_VV "vector register load" z13 zarch vx
|
|
e70000000005 vlrep VRX_VRRDU "vector load and replicate" z13 zarch vx
|
|
e70000000005 vlrepb VRX_VRRD "vector load and replicate byte elements" z13 zarch vx
|
|
e70000001005 vlreph VRX_VRRD "vector load and replicate halfword elements" z13 zarch vx
|
|
e70000002005 vlrepf VRX_VRRD "vector load and replicate word elements" z13 zarch vx
|
|
e70000003005 vlrepg VRX_VRRD "vector load and replicate double word elements" z13 zarch vx
|
|
e70000000000 vleb VRX_VRRDU "vector load byte element" z13 zarch vx
|
|
e70000000001 vleh VRX_VRRDU "vector load halfword element" z13 zarch vx
|
|
e70000000003 vlef VRX_VRRDU "vector load word element" z13 zarch vx
|
|
e70000000002 vleg VRX_VRRDU "vector load double word element" z13 zarch vx
|
|
e70000000040 vleib VRI_V0IU "vector load byte element immediate" z13 zarch vx
|
|
e70000000041 vleih VRI_V0IU "vector load halfword element immediate" z13 zarch vx
|
|
e70000000043 vleif VRI_V0IU "vector load word element immediate" z13 zarch vx
|
|
e70000000042 vleig VRI_V0IU "vector load double word element immediate" z13 zarch vx
|
|
e70000000021 vlgv VRS_RVRDU "vector load gr from vr element" z13 zarch vx
|
|
e70000000021 vlgvb VRS_RVRD "vector load gr from vr byte element" z13 zarch vx
|
|
e70000001021 vlgvh VRS_RVRD "vector load gr from vr halfword element" z13 zarch vx
|
|
e70000002021 vlgvf VRS_RVRD "vector load gr from vr word element" z13 zarch vx
|
|
e70000003021 vlgvg VRS_RVRD "vector load gr from vr double word element" z13 zarch vx
|
|
e70000000004 vllez VRX_VRRDU "vector load logical element and zero" z13 zarch vx
|
|
e70000000004 vllezb VRX_VRRD "vector load logical byte element and zero" z13 zarch vx
|
|
e70000001004 vllezh VRX_VRRD "vector load logical halfword element and zero" z13 zarch vx
|
|
e70000002004 vllezf VRX_VRRD "vector load logical word element and zero" z13 zarch vx
|
|
e70000003004 vllezg VRX_VRRD "vector load logical double word element and zero" z13 zarch vx
|
|
e70000000007 vlbb VRX_VRRDU "vector load to block boundary" z13 zarch vx
|
|
e70000000022 vlvg VRS_VRRDU "vector load VR element from GR" z13 zarch vx
|
|
e70000000022 vlvgb VRS_VRRD "vector load VR byte element from GR" z13 zarch vx
|
|
e70000001022 vlvgh VRS_VRRD "vector load VR halfword element from GR" z13 zarch vx
|
|
e70000002022 vlvgf VRS_VRRD "vector load VR word element from GR" z13 zarch vx
|
|
e70000003022 vlvgg VRS_VRRD "vector load VR double word element from GR" z13 zarch vx
|
|
e70000000062 vlvgp VRR_VRR "vector load VR from GRs disjoint" z13 zarch vx
|
|
e70000000037 vll VRS_VRRD "vector load with length" z13 zarch vx
|
|
e70000000061 vmrh VRR_VVV0U "vector merge high" z13 zarch vx
|
|
e70000000061 vmrhb VRR_VVV "vector merge high byte" z13 zarch vx
|
|
e70000001061 vmrhh VRR_VVV "vector merge high halfword" z13 zarch vx
|
|
e70000002061 vmrhf VRR_VVV "vector merge high word" z13 zarch vx
|
|
e70000003061 vmrhg VRR_VVV "vector merge high double word" z13 zarch vx
|
|
e70000000060 vmrl VRR_VVV0U "vector merge low" z13 zarch vx
|
|
e70000000060 vmrlb VRR_VVV "vector merge low byte" z13 zarch vx
|
|
e70000001060 vmrlh VRR_VVV "vector merge low halfword" z13 zarch vx
|
|
e70000002060 vmrlf VRR_VVV "vector merge low word" z13 zarch vx
|
|
e70000003060 vmrlg VRR_VVV "vector merge low double word" z13 zarch vx
|
|
e70000000094 vpk VRR_VVV0U "vector pack" z13 zarch vx
|
|
e70000001094 vpkh VRR_VVV "vector pack halfword" z13 zarch vx
|
|
e70000002094 vpkf VRR_VVV "vector pack word" z13 zarch vx
|
|
e70000003094 vpkg VRR_VVV "vector pack double word" z13 zarch vx
|
|
e70000000097 vpks VRR_VVV0U0U "vector pack saturate" z13 zarch vx
|
|
e70000001097 vpksh VRR_VVV "vector pack saturate halfword" z13 zarch vx
|
|
e70000002097 vpksf VRR_VVV "vector pack saturate word" z13 zarch vx
|
|
e70000003097 vpksg VRR_VVV "vector pack saturate double word" z13 zarch vx
|
|
e70000101097 vpkshs VRR_VVV "vector pack saturate halfword" z13 zarch vx
|
|
e70000102097 vpksfs VRR_VVV "vector pack saturate word" z13 zarch vx
|
|
e70000103097 vpksgs VRR_VVV "vector pack saturate double word" z13 zarch vx
|
|
e70000000095 vpkls VRR_VVV0U0U "vector pack logical saturate" z13 zarch vx
|
|
e70000001095 vpklsh VRR_VVV "vector pack logical saturate halfword" z13 zarch vx
|
|
e70000002095 vpklsf VRR_VVV "vector pack logical saturate word" z13 zarch vx
|
|
e70000003095 vpklsg VRR_VVV "vector pack logical saturate double word" z13 zarch vx
|
|
e70000101095 vpklshs VRR_VVV "vector pack logical saturate halfword" z13 zarch vx
|
|
e70000102095 vpklsfs VRR_VVV "vector pack logical saturate word" z13 zarch vx
|
|
e70000103095 vpklsgs VRR_VVV "vector pack logical saturate double word" z13 zarch vx
|
|
e7000000008c vperm VRR_VVV0V "vector permute" z13 zarch vx
|
|
e70000000084 vpdi VRR_VVV0U "vector permute double word immediate" z13 zarch vx
|
|
e7000000004d vrep VRI_VVUU "vector replicate" z13 zarch vx
|
|
e7000000004d vrepb VRI_VVU "vector replicate byte" z13 zarch vx
|
|
e7000000104d vreph VRI_VVU "vector replicate halfword" z13 zarch vx
|
|
e7000000204d vrepf VRI_VVU "vector replicate word" z13 zarch vx
|
|
e7000000304d vrepg VRI_VVU "vector replicate double word" z13 zarch vx
|
|
e70000000045 vrepi VRI_V0IU "vector replicate immediate" z13 zarch vx
|
|
e70000000045 vrepib VRI_V0I "vector replicate immediate byte" z13 zarch vx
|
|
e70000001045 vrepih VRI_V0I "vector replicate immediate halfword" z13 zarch vx
|
|
e70000002045 vrepif VRI_V0I "vector replicate immediate word" z13 zarch vx
|
|
e70000003045 vrepig VRI_V0I "vector replicate immediate double word" z13 zarch vx
|
|
e7000000001b vscef VRV_VVXRDU "vector scatter element 4 byte" z13 zarch vx
|
|
e7000000001a vsceg VRV_VVXRDU "vector scatter element 8 byte" z13 zarch vx
|
|
e7000000008d vsel VRR_VVV0V "vector select" z13 zarch vx
|
|
e7000000005f vseg VRR_VV0U "vector sign extend to double word" z13 zarch vx
|
|
e7000000005f vsegb VRR_VV "vector sign extend byte to double word" z13 zarch vx
|
|
e7000000105f vsegh VRR_VV "vector sign extend halfword to double word" z13 zarch vx
|
|
e7000000205f vsegf VRR_VV "vector sign extend word to double word" z13 zarch vx
|
|
e70000000008 vsteb VRX_VRRDU "vector store byte element" z13 zarch vx
|
|
e70000000009 vsteh VRX_VRRDU "vector store halfword element" z13 zarch vx
|
|
e7000000000b vstef VRX_VRRDU "vector store word element" z13 zarch vx
|
|
e7000000000a vsteg VRX_VRRDU "vector store double word element" z13 zarch vx
|
|
e7000000003f vstl VRS_VRRD "vector store with length" z13 zarch vx
|
|
e700000000d7 vuph VRR_VV0U "vector unpack high" z13 zarch vx
|
|
e700000000d7 vuphb VRR_VV "vector unpack high byte" z13 zarch vx
|
|
e700000010d7 vuphh VRR_VV "vector unpack high halfword" z13 zarch vx
|
|
e700000020d7 vuphf VRR_VV "vector unpack high word" z13 zarch vx
|
|
e700000000d5 vuplh VRR_VV0U "vector unpack logical high" z13 zarch vx
|
|
e700000000d5 vuplhb VRR_VV "vector unpack logical high byte" z13 zarch vx
|
|
e700000010d5 vuplhh VRR_VV "vector unpack logical high halfword" z13 zarch vx
|
|
e700000020d5 vuplhf VRR_VV "vector unpack logical high word" z13 zarch vx
|
|
e700000000d6 vupl VRR_VV0U "vector unpack low" z13 zarch vx
|
|
e700000000d6 vuplb VRR_VV "vector unpack low byte" z13 zarch vx
|
|
e700000010d6 vuplhw VRR_VV "vector unpack low halfword" z13 zarch vx
|
|
e700000020d6 vuplf VRR_VV "vector unpack low word" z13 zarch vx
|
|
e700000000d4 vupll VRR_VV0U "vector unpack logical low" z13 zarch vx
|
|
e700000000d4 vupllb VRR_VV "vector unpack logical low byte" z13 zarch vx
|
|
e700000010d4 vupllh VRR_VV "vector unpack logical low halfword" z13 zarch vx
|
|
e700000020d4 vupllf VRR_VV "vector unpack logical low word" z13 zarch vx
|
|
|
|
# Chapter 22
|
|
e700000000f3 va VRR_VVV0U "vector add" z13 zarch vx
|
|
e700000000f3 vab VRR_VVV "vector add byte" z13 zarch vx
|
|
e700000010f3 vah VRR_VVV "vector add halfword" z13 zarch vx
|
|
e700000020f3 vaf VRR_VVV "vector add word" z13 zarch vx
|
|
e700000030f3 vag VRR_VVV "vector add double word" z13 zarch vx
|
|
e700000040f3 vaq VRR_VVV "vector add quad word" z13 zarch vx
|
|
e700000000f1 vacc VRR_VVV0U "vector add compute carry" z13 zarch vx
|
|
e700000000f1 vaccb VRR_VVV "vector add compute carry byte" z13 zarch vx
|
|
e700000010f1 vacch VRR_VVV "vector add compute carry halfword" z13 zarch vx
|
|
e700000020f1 vaccf VRR_VVV "vector add compute carry word" z13 zarch vx
|
|
e700000030f1 vaccg VRR_VVV "vector add compute carry doubleword" z13 zarch vx
|
|
e700000040f1 vaccq VRR_VVV "vector add compute carry quadword" z13 zarch vx
|
|
e700000000bb vac VRR_VVVU0V "vector add with carry" z13 zarch vx
|
|
e700040000bb vacq VRR_VVV0V "vector add with carry quadword" z13 zarch vx
|
|
e700000000b9 vaccc VRR_VVVU0V "vector add with carry compute carry" z13 zarch vx
|
|
e700040000b9 vacccq VRR_VVV0V "vector add with carry compute carry quadword" z13 zarch vx
|
|
e70000000068 vn VRR_VVV "vector and" z13 zarch vx
|
|
e70000000069 vnc VRR_VVV "vector and with complement" z13 zarch vx
|
|
e700000000f2 vavg VRR_VVV0U "vector average" z13 zarch vx
|
|
e700000000f2 vavgb VRR_VVV "vector average byte" z13 zarch vx
|
|
e700000010f2 vavgh VRR_VVV "vector average half word" z13 zarch vx
|
|
e700000020f2 vavgf VRR_VVV "vector average word" z13 zarch vx
|
|
e700000030f2 vavgg VRR_VVV "vector average double word" z13 zarch vx
|
|
e700000000f0 vavgl VRR_VVV0U "vector average logical" z13 zarch vx
|
|
e700000000f0 vavglb VRR_VVV "vector average logical byte" z13 zarch vx
|
|
e700000010f0 vavglh VRR_VVV "vector average logical half word" z13 zarch vx
|
|
e700000020f0 vavglf VRR_VVV "vector average logical word" z13 zarch vx
|
|
e700000030f0 vavglg VRR_VVV "vector average logical double word" z13 zarch vx
|
|
e70000000066 vcksm VRR_VVV "vector checksum" z13 zarch vx
|
|
e700000000db vec VRR_VV0U "vector element compare" z13 zarch vx
|
|
e700000000db vecb VRR_VV "vector element compare byte" z13 zarch vx
|
|
e700000010db vech VRR_VV "vector element compare half word" z13 zarch vx
|
|
e700000020db vecf VRR_VV "vector element compare word" z13 zarch vx
|
|
e700000030db vecg VRR_VV "vector element compare double word" z13 zarch vx
|
|
e700000000d9 vecl VRR_VV0U "vector element compare logical" z13 zarch vx
|
|
e700000000d9 veclb VRR_VV "vector element compare logical byte" z13 zarch vx
|
|
e700000010d9 veclh VRR_VV "vector element compare logical half word" z13 zarch vx
|
|
e700000020d9 veclf VRR_VV "vector element compare logical word" z13 zarch vx
|
|
e700000030d9 veclg VRR_VV "vector element compare logical double word" z13 zarch vx
|
|
e700000000f8 vceq VRR_VVV0U0U "vector compare equal" z13 zarch vx
|
|
e700000000f8 vceqb VRR_VVV "vector compare equal byte" z13 zarch vx
|
|
e700000010f8 vceqh VRR_VVV "vector compare equal half word" z13 zarch vx
|
|
e700000020f8 vceqf VRR_VVV "vector compare equal word" z13 zarch vx
|
|
e700000030f8 vceqg VRR_VVV "vector compare equal double word" z13 zarch vx
|
|
e700001000f8 vceqbs VRR_VVV "vector compare equal byte" z13 zarch vx
|
|
e700001010f8 vceqhs VRR_VVV "vector compare equal half word" z13 zarch vx
|
|
e700001020f8 vceqfs VRR_VVV "vector compare equal word" z13 zarch vx
|
|
e700001030f8 vceqgs VRR_VVV "vector compare equal double word" z13 zarch vx
|
|
e700000000fb vch VRR_VVV0U0U "vector compare high" z13 zarch vx
|
|
e700000000fb vchb VRR_VVV "vector compare high byte" z13 zarch vx
|
|
e700000010fb vchh VRR_VVV "vector compare high half word" z13 zarch vx
|
|
e700000020fb vchf VRR_VVV "vector compare high word" z13 zarch vx
|
|
e700000030fb vchg VRR_VVV "vector compare high double word" z13 zarch vx
|
|
e700001000fb vchbs VRR_VVV "vector compare high byte" z13 zarch vx
|
|
e700001010fb vchhs VRR_VVV "vector compare high half word" z13 zarch vx
|
|
e700001020fb vchfs VRR_VVV "vector compare high word" z13 zarch vx
|
|
e700001030fb vchgs VRR_VVV "vector compare high double word" z13 zarch vx
|
|
e700000000f9 vchl VRR_VVV0U0U "vector compare high logical" z13 zarch vx
|
|
e700000000f9 vchlb VRR_VVV "vector compare high logical byte" z13 zarch vx
|
|
e700000010f9 vchlh VRR_VVV "vector compare high logical half word" z13 zarch vx
|
|
e700000020f9 vchlf VRR_VVV "vector compare high logical word" z13 zarch vx
|
|
e700000030f9 vchlg VRR_VVV "vector compare high logical double word" z13 zarch vx
|
|
e700001000f9 vchlbs VRR_VVV "vector compare high logical byte" z13 zarch vx
|
|
e700001010f9 vchlhs VRR_VVV "vector compare high logical half word" z13 zarch vx
|
|
e700001020f9 vchlfs VRR_VVV "vector compare high logical word" z13 zarch vx
|
|
e700001030f9 vchlgs VRR_VVV "vector compare high logical double word" z13 zarch vx
|
|
e70000000053 vclz VRR_VV0U "vector count leading zeros" z13 zarch vx
|
|
e70000000053 vclzb VRR_VV "vector count leading zeros byte" z13 zarch vx
|
|
e70000001053 vclzh VRR_VV "vector count leading zeros halfword" z13 zarch vx
|
|
e70000002053 vclzf VRR_VV "vector count leading zeros word" z13 zarch vx
|
|
e70000003053 vclzg VRR_VV "vector count leading zeros doubleword" z13 zarch vx
|
|
e70000000052 vctz VRR_VV0U "vector count trailing zeros" z13 zarch vx
|
|
e70000000052 vctzb VRR_VV "vector count trailing zeros byte" z13 zarch vx
|
|
e70000001052 vctzh VRR_VV "vector count trailing zeros halfword" z13 zarch vx
|
|
e70000002052 vctzf VRR_VV "vector count trailing zeros word" z13 zarch vx
|
|
e70000003052 vctzg VRR_VV "vector count trailing zeros doubleword" z13 zarch vx
|
|
e7000000006d vx VRR_VVV "vector exclusive or" z13 zarch vx
|
|
e700000000b4 vgfm VRR_VVV0U "vector galois field multiply sum" z13 zarch vx
|
|
e700000000b4 vgfmb VRR_VVV "vector galois field multiply sum byte" z13 zarch vx
|
|
e700000010b4 vgfmh VRR_VVV "vector galois field multiply sum halfword" z13 zarch vx
|
|
e700000020b4 vgfmf VRR_VVV "vector galois field multiply sum word" z13 zarch vx
|
|
e700000030b4 vgfmg VRR_VVV "vector galois field multiply sum doubleword" z13 zarch vx
|
|
e700000000bc vgfma VRR_VVVU0V "vector galois field multiply sum and accumulate" z13 zarch vx
|
|
e700000000bc vgfmab VRR_VVV0V "vector galois field multiply sum and accumulate byte" z13 zarch vx
|
|
e700010000bc vgfmah VRR_VVV0V "vector galois field multiply sum and accumulate halfword" z13 zarch vx
|
|
e700020000bc vgfmaf VRR_VVV0V "vector galois field multiply sum and accumulate word" z13 zarch vx
|
|
e700030000bc vgfmag VRR_VVV0V "vector galois field multiply sum and accumulate doubleword" z13 zarch vx
|
|
e700000000de vlc VRR_VV0U "vector load complement" z13 zarch vx
|
|
e700000000de vlcb VRR_VV "vector load complement byte" z13 zarch vx
|
|
e700000010de vlch VRR_VV "vector load complement halfword" z13 zarch vx
|
|
e700000020de vlcf VRR_VV "vector load complement word" z13 zarch vx
|
|
e700000030de vlcg VRR_VV "vector load complement doubleword" z13 zarch vx
|
|
e700000000df vlp VRR_VV0U "vector load positive" z13 zarch vx
|
|
e700000000df vlpb VRR_VV "vector load positive byte" z13 zarch vx
|
|
e700000010df vlph VRR_VV "vector load positive halfword" z13 zarch vx
|
|
e700000020df vlpf VRR_VV "vector load positive word" z13 zarch vx
|
|
e700000030df vlpg VRR_VV "vector load positive doubleword" z13 zarch vx
|
|
e700000000ff vmx VRR_VVV0U "vector maximum" z13 zarch vx
|
|
e700000000ff vmxb VRR_VVV "vector maximum byte" z13 zarch vx
|
|
e700000010ff vmxh VRR_VVV "vector maximum halfword" z13 zarch vx
|
|
e700000020ff vmxf VRR_VVV "vector maximum word" z13 zarch vx
|
|
e700000030ff vmxg VRR_VVV "vector maximum doubleword" z13 zarch vx
|
|
e700000000fd vmxl VRR_VVV0U "vector maximum logical" z13 zarch vx
|
|
e700000000fd vmxlb VRR_VVV "vector maximum logical byte" z13 zarch vx
|
|
e700000010fd vmxlh VRR_VVV "vector maximum logical halfword" z13 zarch vx
|
|
e700000020fd vmxlf VRR_VVV "vector maximum logical word" z13 zarch vx
|
|
e700000030fd vmxlg VRR_VVV "vector maximum logical doubleword" z13 zarch vx
|
|
e700000000fe vmn VRR_VVV0U "vector minimum" z13 zarch vx
|
|
e700000000fe vmnb VRR_VVV "vector minimum byte" z13 zarch vx
|
|
e700000010fe vmnh VRR_VVV "vector minimum halfword" z13 zarch vx
|
|
e700000020fe vmnf VRR_VVV "vector minimum word" z13 zarch vx
|
|
e700000030fe vmng VRR_VVV "vector minimum doubleword" z13 zarch vx
|
|
e700000000fc vmnl VRR_VVV0U "vector minimum logical" z13 zarch vx
|
|
e700000000fc vmnlb VRR_VVV "vector minimum logical byte" z13 zarch vx
|
|
e700000010fc vmnlh VRR_VVV "vector minimum logical halfword" z13 zarch vx
|
|
e700000020fc vmnlf VRR_VVV "vector minimum logical word" z13 zarch vx
|
|
e700000030fc vmnlg VRR_VVV "vector minimum logical doubleword" z13 zarch vx
|
|
e700000000aa vmal VRR_VVVU0V "vector multiply and add low" z13 zarch vx
|
|
e700000000aa vmalb VRR_VVV0V "vector multiply and add low byte" z13 zarch vx
|
|
e700010000aa vmalhw VRR_VVV0V "vector multiply and add low halfword" z13 zarch vx
|
|
e700020000aa vmalf VRR_VVV0V "vector multiply and add low word" z13 zarch vx
|
|
e700000000ab vmah VRR_VVVU0V "vector multiply and add high" z13 zarch vx
|
|
e700000000ab vmahb VRR_VVV0V "vector multiply and add high byte" z13 zarch vx
|
|
e700010000ab vmahh VRR_VVV0V "vector multiply and add high halfword" z13 zarch vx
|
|
e700020000ab vmahf VRR_VVV0V "vector multiply and add high word" z13 zarch vx
|
|
e700000000a9 vmalh VRR_VVVU0V "vector multiply and add logical high" z13 zarch vx
|
|
e700000000a9 vmalhb VRR_VVV0V "vector multiply and add logical high byte" z13 zarch vx
|
|
e700010000a9 vmalhh VRR_VVV0V "vector multiply and add logical high halfword" z13 zarch vx
|
|
e700020000a9 vmalhf VRR_VVV0V "vector multiply and add logical high word" z13 zarch vx
|
|
e700000000ae vmae VRR_VVVU0V "vector multiply and add even" z13 zarch vx
|
|
e700000000ae vmaeb VRR_VVV0V "vector multiply and add even byte" z13 zarch vx
|
|
e700010000ae vmaeh VRR_VVV0V "vector multiply and add even halfword" z13 zarch vx
|
|
e700020000ae vmaef VRR_VVV0V "vector multiply and add even word" z13 zarch vx
|
|
e700000000ac vmale VRR_VVVU0V "vector multiply and add logical even" z13 zarch vx
|
|
e700000000ac vmaleb VRR_VVV0V "vector multiply and add logical even byte" z13 zarch vx
|
|
e700010000ac vmaleh VRR_VVV0V "vector multiply and add logical even halfword" z13 zarch vx
|
|
e700020000ac vmalef VRR_VVV0V "vector multiply and add logical even word" z13 zarch vx
|
|
e700000000af vmao VRR_VVVU0V "vector multiply and add odd" z13 zarch vx
|
|
e700000000af vmaob VRR_VVV0V "vector multiply and add odd byte" z13 zarch vx
|
|
e700010000af vmaoh VRR_VVV0V "vector multiply and add odd halfword" z13 zarch vx
|
|
e700020000af vmaof VRR_VVV0V "vector multiply and add odd word" z13 zarch vx
|
|
e700000000ad vmalo VRR_VVVU0V "vector multiply and add logical odd" z13 zarch vx
|
|
e700000000ad vmalob VRR_VVV0V "vector multiply and add logical odd byte" z13 zarch vx
|
|
e700010000ad vmaloh VRR_VVV0V "vector multiply and add logical odd halfword" z13 zarch vx
|
|
e700020000ad vmalof VRR_VVV0V "vector multiply and add logical odd word" z13 zarch vx
|
|
e700000000a3 vmh VRR_VVV0U "vector multiply high" z13 zarch vx
|
|
e700000000a3 vmhb VRR_VVV "vector multiply high byte" z13 zarch vx
|
|
e700000010a3 vmhh VRR_VVV "vector multiply high halfword" z13 zarch vx
|
|
e700000020a3 vmhf VRR_VVV "vector multiply high word" z13 zarch vx
|
|
e700000000a1 vmlh VRR_VVV0U "vector multiply logical high" z13 zarch vx
|
|
e700000000a1 vmlhb VRR_VVV "vector multiply logical high byte" z13 zarch vx
|
|
e700000010a1 vmlhh VRR_VVV "vector multiply logical high halfword" z13 zarch vx
|
|
e700000020a1 vmlhf VRR_VVV "vector multiply logical high word" z13 zarch vx
|
|
e700000000a2 vml VRR_VVV0U "vector multiply low" z13 zarch vx
|
|
e700000000a2 vmlb VRR_VVV "vector multiply low byte" z13 zarch vx
|
|
e700000010a2 vmlhw VRR_VVV "vector multiply low halfword" z13 zarch vx
|
|
e700000020a2 vmlf VRR_VVV "vector multiply low word" z13 zarch vx
|
|
e700000000a6 vme VRR_VVV0U "vector multiply even" z13 zarch vx
|
|
e700000000a6 vmeb VRR_VVV "vector multiply even byte" z13 zarch vx
|
|
e700000010a6 vmeh VRR_VVV "vector multiply even halfword" z13 zarch vx
|
|
e700000020a6 vmef VRR_VVV "vector multiply even word" z13 zarch vx
|
|
e700000000a4 vmle VRR_VVV0U "vector multiply logical even" z13 zarch vx
|
|
e700000000a4 vmleb VRR_VVV "vector multiply logical even byte" z13 zarch vx
|
|
e700000010a4 vmleh VRR_VVV "vector multiply logical even halfword" z13 zarch vx
|
|
e700000020a4 vmlef VRR_VVV "vector multiply logical even word" z13 zarch vx
|
|
e700000000a7 vmo VRR_VVV0U "vector multiply odd" z13 zarch vx
|
|
e700000000a7 vmob VRR_VVV "vector multiply odd byte" z13 zarch vx
|
|
e700000010a7 vmoh VRR_VVV "vector multiply odd halfword" z13 zarch vx
|
|
e700000020a7 vmof VRR_VVV "vector multiply odd word" z13 zarch vx
|
|
e700000000a5 vmlo VRR_VVV0U "vector multiply logical odd" z13 zarch vx
|
|
e700000000a5 vmlob VRR_VVV "vector multiply logical odd byte" z13 zarch vx
|
|
e700000010a5 vmloh VRR_VVV "vector multiply logical odd halfword" z13 zarch vx
|
|
e700000020a5 vmlof VRR_VVV "vector multiply logical odd word" z13 zarch vx
|
|
e7000000006b vno VRR_VVV "vector nor" z13 zarch vx
|
|
e7000000006b vnot VRR_VVV2 "vector not" z13 zarch vx
|
|
e7000000006a vo VRR_VVV "vector or" z13 zarch vx
|
|
e70000000050 vpopct VRR_VV0U "vector population count" z13 zarch vx
|
|
e70000000073 verllv VRR_VVV0U "vector element rotate left logical reg" z13 zarch vx
|
|
e70000000073 verllvb VRR_VVV "vector element rotate left logical reg byte" z13 zarch vx
|
|
e70000001073 verllvh VRR_VVV "vector element rotate left logical reg halfword" z13 zarch vx
|
|
e70000002073 verllvf VRR_VVV "vector element rotate left logical reg word" z13 zarch vx
|
|
e70000003073 verllvg VRR_VVV "vector element rotate left logical reg doubleword" z13 zarch vx
|
|
e70000000033 verll VRS_VVRDU "vector element rotate left logical mem" z13 zarch vx
|
|
e70000000033 verllb VRS_VVRD "vector element rotate left logical mem byte" z13 zarch vx
|
|
e70000001033 verllh VRS_VVRD "vector element rotate left logical mem halfword" z13 zarch vx
|
|
e70000002033 verllf VRS_VVRD "vector element rotate left logical mem word" z13 zarch vx
|
|
e70000003033 verllg VRS_VVRD "vector element rotate left logical mem doubleword" z13 zarch vx
|
|
e70000000072 verim VRI_VVV0UU "vector element rotate and insert under mask" z13 zarch vx
|
|
e70000000072 verimb VRI_VVV0U "vector element rotate and insert under mask byte" z13 zarch vx
|
|
e70000001072 verimh VRI_VVV0U "vector element rotate and insert under mask halfword" z13 zarch vx
|
|
e70000002072 verimf VRI_VVV0U "vector element rotate and insert under mask word" z13 zarch vx
|
|
e70000003072 verimg VRI_VVV0U "vector element rotate and insert under mask doubleword" z13 zarch vx
|
|
e70000000070 veslv VRR_VVV0U "vector element shift left reg" z13 zarch vx
|
|
e70000000070 veslvb VRR_VVV "vector element shift left reg byte" z13 zarch vx
|
|
e70000001070 veslvh VRR_VVV "vector element shift left reg halfword" z13 zarch vx
|
|
e70000002070 veslvf VRR_VVV "vector element shift left reg word" z13 zarch vx
|
|
e70000003070 veslvg VRR_VVV "vector element shift left reg doubleword" z13 zarch vx
|
|
e70000000030 vesl VRS_VVRDU "vector element shift left mem" z13 zarch vx
|
|
e70000000030 veslb VRS_VVRD "vector element shift left mem byte" z13 zarch vx
|
|
e70000001030 veslh VRS_VVRD "vector element shift left mem halfword" z13 zarch vx
|
|
e70000002030 veslf VRS_VVRD "vector element shift left mem word" z13 zarch vx
|
|
e70000003030 veslg VRS_VVRD "vector element shift left mem doubleword" z13 zarch vx
|
|
e7000000007a vesrav VRR_VVV0U "vector element shift right arithmetic reg" z13 zarch vx
|
|
e7000000007a vesravb VRR_VVV "vector element shift right arithmetic reg byte" z13 zarch vx
|
|
e7000000107a vesravh VRR_VVV "vector element shift right arithmetic reg halfword" z13 zarch vx
|
|
e7000000207a vesravf VRR_VVV "vector element shift right arithmetic reg word" z13 zarch vx
|
|
e7000000307a vesravg VRR_VVV "vector element shift right arithmetic reg doubleword" z13 zarch vx
|
|
e7000000003a vesra VRS_VVRDU "vector element shift right arithmetic mem" z13 zarch vx
|
|
e7000000003a vesrab VRS_VVRD "vector element shift right arithmetic mem byte" z13 zarch vx
|
|
e7000000103a vesrah VRS_VVRD "vector element shift right arithmetic mem halfword" z13 zarch vx
|
|
e7000000203a vesraf VRS_VVRD "vector element shift right arithmetic mem word" z13 zarch vx
|
|
e7000000303a vesrag VRS_VVRD "vector element shift right arithmetic mem doubleword" z13 zarch vx
|
|
e70000000078 vesrlv VRR_VVV0U "vector element shift right logical reg" z13 zarch vx
|
|
e70000000078 vesrlvb VRR_VVV "vector element shift right logical reg byte" z13 zarch vx
|
|
e70000001078 vesrlvh VRR_VVV "vector element shift right logical reg halfword" z13 zarch vx
|
|
e70000002078 vesrlvf VRR_VVV "vector element shift right logical reg word" z13 zarch vx
|
|
e70000003078 vesrlvg VRR_VVV "vector element shift right logical reg doubleword" z13 zarch vx
|
|
e70000000038 vesrl VRS_VVRDU "vector element shift right logical mem" z13 zarch vx
|
|
e70000000038 vesrlb VRS_VVRD "vector element shift right logical mem byte" z13 zarch vx
|
|
e70000001038 vesrlh VRS_VVRD "vector element shift right logical mem halfword" z13 zarch vx
|
|
e70000002038 vesrlf VRS_VVRD "vector element shift right logical mem word" z13 zarch vx
|
|
e70000003038 vesrlg VRS_VVRD "vector element shift right logical mem doubleword" z13 zarch vx
|
|
e70000000074 vsl VRR_VVV "vector shift left" z13 zarch vx
|
|
e70000000075 vslb VRR_VVV "vector shift left by byte" z13 zarch vx
|
|
e70000000077 vsldb VRI_VVV0U "vector shift left double by byte" z13 zarch vx
|
|
e7000000007e vsra VRR_VVV "vector shift right arithmetic" z13 zarch vx
|
|
e7000000007f vsrab VRR_VVV "vector shift right arithmetic by byte" z13 zarch vx
|
|
e7000000007c vsrl VRR_VVV "vector shift right logical" z13 zarch vx
|
|
e7000000007d vsrlb VRR_VVV "vector shift right logical by byte" z13 zarch vx
|
|
e700000000f7 vs VRR_VVV0U "vector subtract" z13 zarch vx
|
|
e700000000f7 vsb VRR_VVV "vector subtract byte" z13 zarch vx
|
|
e700000010f7 vsh VRR_VVV "vector subtract halfword" z13 zarch vx
|
|
e700000020f7 vsf VRR_VVV "vector subtract word" z13 zarch vx
|
|
e700000030f7 vsg VRR_VVV "vector subtract doubleword" z13 zarch vx
|
|
e700000040f7 vsq VRR_VVV "vector subtract quadword" z13 zarch vx
|
|
e700000000f5 vscbi VRR_VVV0U "vector subtract compute borrow indication" z13 zarch vx
|
|
e700000000f5 vscbib VRR_VVV "vector subtract compute borrow indication byte" z13 zarch vx
|
|
e700000010f5 vscbih VRR_VVV "vector subtract compute borrow indication halfword" z13 zarch vx
|
|
e700000020f5 vscbif VRR_VVV "vector subtract compute borrow indication word" z13 zarch vx
|
|
e700000030f5 vscbig VRR_VVV "vector subtract compute borrow indication doubleword" z13 zarch vx
|
|
e700000040f5 vscbiq VRR_VVV "vector subtract compute borrow indication quadword" z13 zarch vx
|
|
e700000000bf vsbi VRR_VVVU0V "vector subtract with borrow indication" z13 zarch vx
|
|
e700040000bf vsbiq VRR_VVV0V "vector subtract with borrow indication quadword" z13 zarch vx
|
|
e700000000bd vsbcbi VRR_VVVU0V "vector subtract with borrow compute borrow indication" z13 zarch vx
|
|
e700040000bd vsbcbiq VRR_VVV0V "vector subtract with borrow compute borrow indication quadword" z13 zarch vx
|
|
e70000000065 vsumg VRR_VVV0U "vector sum across doubleword" z13 zarch vx
|
|
e70000001065 vsumgh VRR_VVV "vector sum across doubleword - halfword" z13 zarch vx
|
|
e70000002065 vsumgf VRR_VVV "vector sum across doubleword - word" z13 zarch vx
|
|
e70000000067 vsumq VRR_VVV0U "vector sum across quadword" z13 zarch vx
|
|
e70000002067 vsumqf VRR_VVV "vector sum across quadword - word elements" z13 zarch vx
|
|
e70000003067 vsumqg VRR_VVV "vector sum across quadword - doubleword elements" z13 zarch vx
|
|
e70000000064 vsum VRR_VVV0U "vector sum across word" z13 zarch vx
|
|
e70000000064 vsumb VRR_VVV "vector sum across word - byte elements" z13 zarch vx
|
|
e70000001064 vsumh VRR_VVV "vector sum across word - halfword elements" z13 zarch vx
|
|
e700000000d8 vtm VRR_VV "vector test under mask" z13 zarch vx
|
|
|
|
# Chapter 23 - Vector String Instructions
|
|
e70000000082 vfae VRR_VVV0U0U "vector find any element equal" z13 zarch optparm,vx
|
|
e70000000082 vfaeb VRR_VVV0U0 "vector find any element equal byte" z13 zarch optparm,vx
|
|
e70000001082 vfaeh VRR_VVV0U0 "vector find any element equal halfword" z13 zarch optparm,vx
|
|
e70000002082 vfaef VRR_VVV0U0 "vector find any element equal word" z13 zarch optparm,vx
|
|
e70000100082 vfaebs VRR_VVV0U1 "vector find any element equal" z13 zarch optparm,vx
|
|
e70000101082 vfaehs VRR_VVV0U1 "vector find any element equal" z13 zarch optparm,vx
|
|
e70000102082 vfaefs VRR_VVV0U1 "vector find any element equal" z13 zarch optparm,vx
|
|
e70000200082 vfaezb VRR_VVV0U2 "vector find any element equal" z13 zarch optparm,vx
|
|
e70000201082 vfaezh VRR_VVV0U2 "vector find any element equal" z13 zarch optparm,vx
|
|
e70000202082 vfaezf VRR_VVV0U2 "vector find any element equal" z13 zarch optparm,vx
|
|
e70000300082 vfaezbs VRR_VVV0U3 "vector find any element equal" z13 zarch optparm,vx
|
|
e70000301082 vfaezhs VRR_VVV0U3 "vector find any element equal" z13 zarch optparm,vx
|
|
e70000302082 vfaezfs VRR_VVV0U3 "vector find any element equal" z13 zarch optparm,vx
|
|
e70000000080 vfee VRR_VVV0U0U "vector find element equal" z13 zarch optparm,vx
|
|
e70000000080 vfeeb VRR_VVV0U0 "vector find element equal byte" z13 zarch optparm,vx
|
|
e70000001080 vfeeh VRR_VVV0U0 "vector find element equal halfword" z13 zarch optparm,vx
|
|
e70000002080 vfeef VRR_VVV0U0 "vector find element equal word" z13 zarch optparm,vx
|
|
e70000100080 vfeebs VRR_VVV "vector find element equal byte" z13 zarch vx
|
|
e70000101080 vfeehs VRR_VVV "vector find element equal halfword" z13 zarch vx
|
|
e70000102080 vfeefs VRR_VVV "vector find element equal word" z13 zarch vx
|
|
e70000200080 vfeezb VRR_VVV "vector find element equal byte" z13 zarch vx
|
|
e70000201080 vfeezh VRR_VVV "vector find element equal halfword" z13 zarch vx
|
|
e70000202080 vfeezf VRR_VVV "vector find element equal word" z13 zarch vx
|
|
e70000300080 vfeezbs VRR_VVV "vector find element equal byte" z13 zarch vx
|
|
e70000301080 vfeezhs VRR_VVV "vector find element equal halfword" z13 zarch vx
|
|
e70000302080 vfeezfs VRR_VVV "vector find element equal word" z13 zarch vx
|
|
e70000000081 vfene VRR_VVV0U0U "vector find element not equal" z13 zarch optparm,vx
|
|
e70000000081 vfeneb VRR_VVV0U0 "vector find element not equal byte" z13 zarch optparm,vx
|
|
e70000001081 vfeneh VRR_VVV0U0 "vector find element not equal halfword" z13 zarch optparm,vx
|
|
e70000002081 vfenef VRR_VVV0U0 "vector find element not equal word" z13 zarch optparm,vx
|
|
e70000100081 vfenebs VRR_VVV "vector find element not equal byte" z13 zarch vx
|
|
e70000101081 vfenehs VRR_VVV "vector find element not equal halfword" z13 zarch vx
|
|
e70000102081 vfenefs VRR_VVV "vector find element not equal word" z13 zarch vx
|
|
e70000200081 vfenezb VRR_VVV "vector find element not equal byte" z13 zarch vx
|
|
e70000201081 vfenezh VRR_VVV "vector find element not equal halfword" z13 zarch vx
|
|
e70000202081 vfenezf VRR_VVV "vector find element not equal word" z13 zarch vx
|
|
e70000300081 vfenezbs VRR_VVV "vector find element not equal byte" z13 zarch vx
|
|
e70000301081 vfenezhs VRR_VVV "vector find element not equal halfword" z13 zarch vx
|
|
e70000302081 vfenezfs VRR_VVV "vector find element not equal word" z13 zarch vx
|
|
e7000000005c vistr VRR_VV0U0U "vector isolate string" z13 zarch optparm,vx
|
|
e7000000005c vistrb VRR_VV0U2 "vector isolate string byte" z13 zarch optparm,vx
|
|
e7000000105c vistrh VRR_VV0U2 "vector isolate string halfword" z13 zarch optparm,vx
|
|
e7000000205c vistrf VRR_VV0U2 "vector isolate string word" z13 zarch optparm,vx
|
|
e7000010005c vistrbs VRR_VV "vector isolate string byte" z13 zarch vx
|
|
e7000010105c vistrhs VRR_VV "vector isolate string halfword" z13 zarch vx
|
|
e7000010205c vistrfs VRR_VV "vector isolate string word" z13 zarch vx
|
|
e7000000008a vstrc VRR_VVVUU0V "vector string range compare" z13 zarch optparm,vx
|
|
e7000000008a vstrcb VRR_VVVU0VB "vector string range compare byte" z13 zarch optparm,vx
|
|
e7000100008a vstrch VRR_VVVU0VB "vector string range compare halfword" z13 zarch optparm,vx
|
|
e7000200008a vstrcf VRR_VVVU0VB "vector string range compare word" z13 zarch optparm,vx
|
|
e7000010008a vstrcbs VRR_VVVU0VB1 "vector string range compare byte" z13 zarch optparm,vx
|
|
e7000110008a vstrchs VRR_VVVU0VB1 "vector string range compare halfword" z13 zarch optparm,vx
|
|
e7000210008a vstrcfs VRR_VVVU0VB1 "vector string range compare word" z13 zarch optparm,vx
|
|
e7000020008a vstrczb VRR_VVVU0VB2 "vector string range compare byte" z13 zarch optparm,vx
|
|
e7000120008a vstrczh VRR_VVVU0VB2 "vector string range compare halfword" z13 zarch optparm,vx
|
|
e7000220008a vstrczf VRR_VVVU0VB2 "vector string range compare word" z13 zarch optparm,vx
|
|
e7000030008a vstrczbs VRR_VVVU0VB3 "vector string range compare byte" z13 zarch optparm,vx
|
|
e7000130008a vstrczhs VRR_VVVU0VB3 "vector string range compare halfword" z13 zarch optparm,vx
|
|
e7000230008a vstrczfs VRR_VVVU0VB3 "vector string range compare word" z13 zarch optparm,vx
|
|
|
|
# Chapter 24
|
|
e700000000e3 vfa VRR_VVV0UU "vector fp add" z13 zarch vx
|
|
e700000030e3 vfadb VRR_VVV "vector fp add long" z13 zarch vx
|
|
e700000830e3 wfadb VRR_VVV "vector fp add long" z13 zarch vx
|
|
e700000000cb wfc VRR_VV0UU2 "vector fp compare scalar" z13 zarch vx
|
|
e700000030cb wfcdb VRR_VV "vector fp compare scalar long" z13 zarch vx
|
|
e700000000ca wfk VRR_VV0UU2 "vector fp compare and signal scalar" z13 zarch vx
|
|
e700000030ca wfkdb VRR_VV "vector fp compare and signal scalar long" z13 zarch vx
|
|
e700000000e8 vfce VRR_VVV0UUU "vector fp compare equal" z13 zarch vx
|
|
e700000030e8 vfcedb VRR_VVV "vector fp compare equal long" z13 zarch vx
|
|
e700001030e8 vfcedbs VRR_VVV "vector fp compare equal long" z13 zarch vx
|
|
e700000830e8 wfcedb VRR_VVV "vector fp compare equal long" z13 zarch vx
|
|
e700001830e8 wfcedbs VRR_VVV "vector fp compare equal long" z13 zarch vx
|
|
e700000000eb vfch VRR_VVV0UUU "vector fp compare high" z13 zarch vx
|
|
e700000030eb vfchdb VRR_VVV "vector fp compare high long" z13 zarch vx
|
|
e700001030eb vfchdbs VRR_VVV "vector fp compare high long" z13 zarch vx
|
|
e700000830eb wfchdb VRR_VVV "vector fp compare high long" z13 zarch vx
|
|
e700001830eb wfchdbs VRR_VVV "vector fp compare high long" z13 zarch vx
|
|
e700000000ea vfche VRR_VVV0UUU "vector fp compare high or equal" z13 zarch vx
|
|
e700000030ea vfchedb VRR_VVV "vector fp compare high or equal long" z13 zarch vx
|
|
e700001030ea vfchedbs VRR_VVV "vector fp compare high or equal long" z13 zarch vx
|
|
e700000830ea wfchedb VRR_VVV "vector fp compare high or equal long" z13 zarch vx
|
|
e700001830ea wfchedbs VRR_VVV "vector fp compare high or equal long" z13 zarch vx
|
|
e700000000c3 vcdg VRR_VV0UUU "vector fp convert from fixed 64 bit" z13 zarch vx
|
|
e700000030c3 vcdgb VRR_VV0UU "vector fp convert from fixed 64 bit" z13 zarch vx
|
|
e700000830c3 wcdgb VRR_VV0UU8 "vector fp convert from fixed 64 bit" z13 zarch vx
|
|
e700000000c1 vcdlg VRR_VV0UUU "vector fp convert from logical 64 bit" z13 zarch vx
|
|
e700000030c1 vcdlgb VRR_VV0UU "vector fp convert from logical 64 bit" z13 zarch vx
|
|
e700000830c1 wcdlgb VRR_VV0UU8 "vector fp convert from logical 64 bit" z13 zarch vx
|
|
e700000000c2 vcgd VRR_VV0UUU "vector fp convert to fixed 64 bit" z13 zarch vx
|
|
e700000030c2 vcgdb VRR_VV0UU "vector fp convert to fixed 64 bit" z13 zarch vx
|
|
e700000830c2 wcgdb VRR_VV0UU8 "vector fp convert to fixed 64 bit" z13 zarch vx
|
|
e700000000c0 vclgd VRR_VV0UUU "vector fp convert to logical 64 bit" z13 zarch vx
|
|
e700000030c0 vclgdb VRR_VV0UU "vector fp convert to logical 64 bit" z13 zarch vx
|
|
e700000830c0 wclgdb VRR_VV0UU8 "vector fp convert to logical 64 bit" z13 zarch vx
|
|
e700000000e5 vfd VRR_VVV0UU "vector fp divide" z13 zarch vx
|
|
e700000030e5 vfddb VRR_VVV "vector fp divide long" z13 zarch vx
|
|
e700000830e5 wfddb VRR_VVV "vector fp divide long" z13 zarch vx
|
|
e700000000c7 vfi VRR_VV0UUU "vector load fp integer" z13 zarch vx
|
|
e700000030c7 vfidb VRR_VV0UU "vector load fp integer long" z13 zarch vx
|
|
e700000830c7 wfidb VRR_VV0UU8 "vector load fp integer long" z13 zarch vx
|
|
e700000000c4 vlde VRR_VV0UU2 "vector fp load lengthened" z13 zarch vx
|
|
e700000020c4 vldeb VRR_VV "vector fp load lengthened short to long" z13 zarch vx
|
|
e700000820c4 wldeb VRR_VV "vector fp load lengthened short to long" z13 zarch vx
|
|
e700000000c5 vled VRR_VV0UUU "vector fp load rounded" z13 zarch vx
|
|
e700000030c5 vledb VRR_VV0UU "vector fp load rounded long to short" z13 zarch vx
|
|
e700000830c5 wledb VRR_VV0UU8 "vector fp load rounded long to short" z13 zarch vx
|
|
e700000000e7 vfm VRR_VVV0UU "vector fp multiply" z13 zarch vx
|
|
e700000030e7 vfmdb VRR_VVV "vector fp multiply long" z13 zarch vx
|
|
e700000830e7 wfmdb VRR_VVV "vector fp multiply long" z13 zarch vx
|
|
e7000000008f vfma VRR_VVVU0UV "vector fp multiply and add" z13 zarch vx
|
|
e7000300008f vfmadb VRR_VVVV "vector fp multiply and add long" z13 zarch vx
|
|
e7000308008f wfmadb VRR_VVVV "vector fp multiply and add long" z13 zarch vx
|
|
e7000000008e vfms VRR_VVVU0UV "vector fp multiply and subtract" z13 zarch vx
|
|
e7000300008e vfmsdb VRR_VVVV "vector fp multiply and subtract long" z13 zarch vx
|
|
e7000308008e wfmsdb VRR_VVVV "vector fp multiply and subtract long" z13 zarch vx
|
|
e700000000cc vfpso VRR_VV0UUU "vector fp perform sign operation" z13 zarch vx
|
|
e700000030cc vfpsodb VRR_VV0U2 "vector fp perform sign operation long" z13 zarch vx
|
|
e700000830cc wfpsodb VRR_VV0U2 "vector fp perform sign operation long" z13 zarch vx
|
|
e700000030cc vflcdb VRR_VV "vector fp perform sign operation long" z13 zarch vx
|
|
e700000830cc wflcdb VRR_VV "vector fp perform sign operation long" z13 zarch vx
|
|
e700001030cc vflndb VRR_VV "vector fp perform sign operation long" z13 zarch vx
|
|
e700001830cc wflndb VRR_VV "vector fp perform sign operation long" z13 zarch vx
|
|
e700002030cc vflpdb VRR_VV "vector fp perform sign operation long" z13 zarch vx
|
|
e700002830cc wflpdb VRR_VV "vector fp perform sign operation long" z13 zarch vx
|
|
e700000000ce vfsq VRR_VV0UU2 "vector fp square root" z13 zarch vx
|
|
e700000030ce vfsqdb VRR_VV "vector fp square root long" z13 zarch vx
|
|
e700000830ce wfsqdb VRR_VV "vector fp square root long" z13 zarch vx
|
|
e700000000e2 vfs VRR_VVV0UU "vector fp subtract" z13 zarch vx
|
|
e700000030e2 vfsdb VRR_VVV "vector fp subtract long" z13 zarch vx
|
|
e700000830e2 wfsdb VRR_VVV "vector fp subtract long" z13 zarch vx
|
|
e7000000004a vftci VRI_VVUUU "vector fp test data class immediate" z13 zarch vx
|
|
e7000000304a vftcidb VRI_VVU2 "vector fp test data class immediate" z13 zarch vx
|
|
e7000008304a wftcidb VRI_VVU2 "vector fp test data class immediate" z13 zarch vx
|
|
|
|
ed00000000ae cdpt RSL_LRDFU "convert from packed to long dfp" z13 zarch
|
|
ed00000000af cxpt RSL_LRDFEU "convert from packed to extended dfp" z13 zarch
|
|
ed00000000ac cpdt RSL_LRDFU "convert from long dfp to packed" z13 zarch
|
|
ed00000000ad cpxt RSL_LRDFEU "convert from extended dfp to packed" z13 zarch
|
|
|
|
b9e0 locfhr RRF_U0RR "load high on condition from gpr" z13 zarch
|
|
b9e00000 locfhr*16 RRF_00RR "load high on condition from gpr" z13 zarch
|
|
eb00000000e0 locfh RSY_RURD2 "load high on condition from memory" z13 zarch
|
|
eb00000000e0 locfh*12 RSY_R0RD "load high on condition from memory" z13 zarch
|
|
ec0000000042 lochi RIE_RUI0 "load halfword immediate on condition into 32 bit gpr" z13 zarch
|
|
ec0000000042 lochi*12 RIE_R0I0 "load halfword immediate on condition into 32 bit gpr" z13 zarch
|
|
ec0000000046 locghi RIE_RUI0 "load halfword immediate on condition into 64 bit gpr" z13 zarch
|
|
ec0000000046 locghi*12 RIE_R0I0 "load halfword immediate on condition into 64 bit gpr" z13 zarch
|
|
ec000000004e lochhi RIE_RUI0 "load halfword high immediate on condition" z13 zarch
|
|
ec000000004e lochhi*12 RIE_R0I0 "load halfword high immediate on condition" z13 zarch
|
|
eb00000000e1 stocfh RSY_RURD2 "store high on condition" z13 zarch
|
|
eb00000000e1 stocfh*12 RSY_R0RD "store high on condition" z13 zarch
|
|
|
|
e3000000003a llzrgf RXY_RRRD "load logical and zero rightmost bytes 32->64" z13 zarch
|
|
e3000000003b lzrf RXY_RRRD "load and zero rightmost byte 32->32" z13 zarch
|
|
e3000000002a lzrg RXY_RRRD "load and zero rightmost byte 64->64" z13 zarch
|
|
b93c ppno RRE_RR "perform pseudorandom number operation" z13 zarch
|
|
|
|
# Aligned vector store hints
|
|
|
|
e70000000006 vl VRX_VRRDU "vector memory load" z13 zarch optparm,vx
|
|
e70000000036 vlm VRS_VVRDU "vector load multiple" z13 zarch optparm,vx
|
|
e7000000000e vst VRX_VRRDU "vector store" z13 zarch optparm,vx
|
|
e7000000003e vstm VRS_VVRDU "vector store multiple" z13 zarch optparm,vx
|
|
|
|
# arch12 instructions
|
|
|
|
# Vector Enhancements Facility 1
|
|
|
|
e70000000085 vbperm VRR_VVV "vector bit permute" arch12 zarch
|
|
e70000006004 vllezlf VRX_VRRD "vector load logical word element and zero - left aligned" arch12 zarch
|
|
e700000000b8 vmsl VRR_VVVUU0V "vector multiply sum logical" arch12 zarch
|
|
e700030000b8 vmslg VRR_VVVU0VB "vector multiply sum logical double word" arch12 zarch
|
|
e7000000006c vnx VRR_VVV "vector not exclusive or" arch12 zarch
|
|
e7000000006e vnn VRR_VVV "vector nand" arch12 zarch
|
|
e7000000006f voc VRR_VVV "vector or with complement" arch12 zarch
|
|
e70000000050 vpopctb VRR_VV "vector population count byte" arch12 zarch
|
|
e70000001050 vpopcth VRR_VV "vector population count halfword" arch12 zarch
|
|
e70000002050 vpopctf VRR_VV "vector population count word" arch12 zarch
|
|
e70000003050 vpopctg VRR_VV "vector population count double word" arch12 zarch
|
|
e700000020e3 vfasb VRR_VVV "vector fp add short" arch12 zarch
|
|
e700000820e3 wfasb VRR_VVV "scalar vector fp add scalar short" arch12 zarch
|
|
e700000840e3 wfaxb VRR_VVV "scalar vector fp add scalar extended" arch12 zarch
|
|
e700000020cb wfcsb VRR_VV "scalar vector fp compare scalar short" arch12 zarch
|
|
e700000040cb wfcxb VRR_VV "scalar vector fp compare scalar extended" arch12 zarch
|
|
e700000020ca wfksb VRR_VV "scalar vector fp compare and signal scalar short" arch12 zarch
|
|
e700000040ca wfkxb VRR_VV "scalar vector fp compare and signal scalar extended" arch12 zarch
|
|
|
|
e700000020e8 vfcesb VRR_VVV "vector fp compare equal short" arch12 zarch
|
|
e700001020e8 vfcesbs VRR_VVV "vector fp compare equal short" arch12 zarch
|
|
e700000820e8 wfcesb VRR_VVV "scalar vector fp compare equal scalar short" arch12 zarch
|
|
e700001820e8 wfcesbs VRR_VVV "scalar fp compare equal scalar short" arch12 zarch
|
|
e700000840e8 wfcexb VRR_VVV "scalar vector fp compare equal scalar extended" arch12 zarch
|
|
e700001840e8 wfcexbs VRR_VVV "scalar vector fp compare equal scalar extended" arch12 zarch
|
|
|
|
e700000420e8 vfkesb VRR_VVV "vector fp compare and signal equal short" arch12 zarch
|
|
e700001420e8 vfkesbs VRR_VVV "vector fp compare and signal equal short" arch12 zarch
|
|
e700000c20e8 wfkesb VRR_VVV "scalar vector fp compare and signal equal scalar short" arch12 zarch
|
|
e700001c20e8 wfkesbs VRR_VVV "scalar fp compare and signal equal scalar short" arch12 zarch
|
|
e700000430e8 vfkedb VRR_VVV "vector fp compare and signal equal long" arch12 zarch vx
|
|
e700001430e8 vfkedbs VRR_VVV "vector fp compare and signal equal long" arch12 zarch vx
|
|
e700000c30e8 wfkedb VRR_VVV "vector fp compare and signal equal long" arch12 zarch vx
|
|
e700001c30e8 wfkedbs VRR_VVV "vector fp compare and signal equal long" arch12 zarch vx
|
|
e700000c40e8 wfkexb VRR_VVV "scalar vector fp compare and signal equal scalar extended" arch12 zarch
|
|
e700001c40e8 wfkexbs VRR_VVV "scalar vector fp compare and signal equal scalar extended" arch12 zarch
|
|
|
|
e700000020eb vfchsb VRR_VVV "vector fp compare high short" arch12 zarch
|
|
e700001020eb vfchsbs VRR_VVV "vector fp compare high short" arch12 zarch
|
|
e700000820eb wfchsb VRR_VVV "scalar vector fp compare high scalar short" arch12 zarch
|
|
e700001820eb wfchsbs VRR_VVV "scalar vector fp compare high scalar short" arch12 zarch
|
|
e700000840eb wfchxb VRR_VVV "scalar vector fp compare high scalar extended" arch12 zarch
|
|
e700001840eb wfchxbs VRR_VVV "scalar vector fp compare high scalar extended" arch12 zarch
|
|
|
|
e700000420eb vfkhsb VRR_VVV "vector fp compare and signal high short" arch12 zarch
|
|
e700001420eb vfkhsbs VRR_VVV "vector fp compare and signal high short" arch12 zarch
|
|
e700000c20eb wfkhsb VRR_VVV "scalar vector fp compare and signal high scalar short" arch12 zarch
|
|
e700001c20eb wfkhsbs VRR_VVV "scalar vector fp compare and signal high scalar short" arch12 zarch
|
|
e700000430eb vfkhdb VRR_VVV "vector fp compare and signal high long" arch12 zarch vx
|
|
e700001430eb vfkhdbs VRR_VVV "vector fp compare and signal high long" arch12 zarch vx
|
|
e700000c30eb wfkhdb VRR_VVV "vector fp compare and signal high long" arch12 zarch vx
|
|
e700001c30eb wfkhdbs VRR_VVV "vector fp compare and signal high long" arch12 zarch vx
|
|
e700000c40eb wfkhxb VRR_VVV "scalar vector fp compare and signal high scalar extended" arch12 zarch
|
|
e700001c40eb wfkhxbs VRR_VVV "scalar vector fp compare and signal high scalar extended" arch12 zarch
|
|
|
|
e700000020ea vfchesb VRR_VVV "vector fp compare high or equal short" arch12 zarch
|
|
e700001020ea vfchesbs VRR_VVV "vector fp compare high or equal short" arch12 zarch
|
|
e700000820ea wfchesb VRR_VVV "scalar vector fp compare high or equal scalar short" arch12 zarch
|
|
e700001820ea wfchesbs VRR_VVV "scalar vector fp compare high or equal scalar short" arch12 zarch
|
|
e700000840ea wfchexb VRR_VVV "scalar vector fp compare high or equal scalar extended" arch12 zarch
|
|
e700001840ea wfchexbs VRR_VVV "scalar vector fp compare high or equal scalar extended" arch12 zarch
|
|
|
|
e700000420ea vfkhesb VRR_VVV "vector fp compare and signal high or equal short" arch12 zarch
|
|
e700001420ea vfkhesbs VRR_VVV "vector fp compare and signal high or equal short" arch12 zarch
|
|
e700000c20ea wfkhesb VRR_VVV "scalar vector fp compare and signal high or equal scalar short" arch12 zarch
|
|
e700001c20ea wfkhesbs VRR_VVV "scalar vector fp compare and signal high or equal scalar short" arch12 zarch
|
|
e700000430ea vfkhedb VRR_VVV "vector fp compare and signal high or equal long" arch12 zarch vx
|
|
e700001430ea vfkhedbs VRR_VVV "vector fp compare and signal high or equal long" arch12 zarch vx
|
|
e700000c30ea wfkhedb VRR_VVV "vector fp compare and signal high or equal long" arch12 zarch vx
|
|
e700001c30ea wfkhedbs VRR_VVV "vector fp compare and signal high or equal long" arch12 zarch vx
|
|
e700000c40ea wfkhexb VRR_VVV "scalar vector fp compare and signal high or equal scalar extended" arch12 zarch
|
|
e700001c40ea wfkhexbs VRR_VVV "scalar vector fp compare and signal high or equal scalar extended" arch12 zarch
|
|
|
|
e700000020e5 vfdsb VRR_VVV "vector fp divide short" arch12 zarch
|
|
e700000820e5 wfdsb VRR_VVV "scalar vector fp divide scalar short" arch12 zarch
|
|
e700000840e5 wfdxb VRR_VVV "scalar vector fp divide scalar extended" arch12 zarch
|
|
e700000020c7 vfisb VRR_VV0UU "vector load fp integer short" arch12 zarch
|
|
e700000820c7 wfisb VRR_VV0UU8 "scalar vector load fp integer scalar short" arch12 zarch
|
|
e700000840c7 wfixb VRR_VV0UU8 "scalar vector load fp integer scalar extended" arch12 zarch
|
|
e700000000c4 vfll VRR_VV0UU2 "vector fp load lengthened" arch12 zarch
|
|
e700000020c4 vflls VRR_VV "vector fp load lengthened" arch12 zarch
|
|
e700000820c4 wflls VRR_VV "scalar vector fp load lengthened short" arch12 zarch
|
|
e700000830c4 wflld VRR_VV "scalar vector fp load lengthened long" arch12 zarch
|
|
e700000000c5 vflr VRR_VV0UUU "vector fp load rounded" arch12 zarch
|
|
e700000030c5 vflrd VRR_VV0UU "vector fp load rounded long" arch12 zarch
|
|
e700000830c5 wflrd VRR_VV0UU8 "scalar vector fp load rounded long" arch12 zarch
|
|
e700000840c5 wflrx VRR_VV0UU8 "scalar vector fp load rounded extended" arch12 zarch
|
|
e700000000ef vfmax VRR_VVV0UUU "vector fp maximum" arch12 zarch
|
|
e700000020ef vfmaxsb VRR_VVV0U0 "vector fp maximum short" arch12 zarch
|
|
e700000030ef vfmaxdb VRR_VVV0U0 "vector fp maximum long" arch12 zarch
|
|
e700000820ef wfmaxsb VRR_VVV0U0 "scalar fp maximum scalar short" arch12 zarch
|
|
e700000830ef wfmaxdb VRR_VVV0U0 "scalar fp maximum scalar long" arch12 zarch
|
|
e700000840ef wfmaxxb VRR_VVV0U0 "scalar fp maximum scalar extended" arch12 zarch
|
|
e700000000ee vfmin VRR_VVV0UUU "vector fp minimum" arch12 zarch
|
|
e700000020ee vfminsb VRR_VVV0U0 "vector fp minimum short" arch12 zarch
|
|
e700000030ee vfmindb VRR_VVV0U0 "vector fp minimum long" arch12 zarch
|
|
e700000820ee wfminsb VRR_VVV0U0 "scalar fp minimum scalar short" arch12 zarch
|
|
e700000830ee wfmindb VRR_VVV0U0 "scalar fp minimum scalar long" arch12 zarch
|
|
e700000840ee wfminxb VRR_VVV0U0 "scalar fp minimum scalar extended" arch12 zarch
|
|
e700000020e7 vfmsb VRR_VVV "vector fp multiply short" arch12 zarch
|
|
e700000820e7 wfmsb VRR_VVV "scalar vector fp multiply scalar short" arch12 zarch
|
|
e700000840e7 wfmxb VRR_VVV "scalar vector fp multiply scalar extended" arch12 zarch
|
|
e7000200008f vfmasb VRR_VVVV "vector fp multiply and add short" arch12 zarch
|
|
e7000208008f wfmasb VRR_VVVV "scalar vector fp multiply and add scalar short" arch12 zarch
|
|
e7000408008f wfmaxb VRR_VVVV "scalar vector fp multiply and add scalar extended" arch12 zarch
|
|
e7000200008e vfmssb VRR_VVVV "vector fp multiply and subtract short" arch12 zarch
|
|
e7000208008e wfmssb VRR_VVVV "scalar vector fp multiply and subtract scalar short" arch12 zarch
|
|
e7000408008e wfmsxb VRR_VVVV "scalar vector fp multiply and subtract scalar extended" arch12 zarch
|
|
e7000000009f vfnma VRR_VVVU0UV "vector fp negative multiply and add" arch12 zarch
|
|
e7000200009f vfnmasb VRR_VVVV "vector fp negative multiply and add short" arch12 zarch
|
|
e7000208009f wfnmasb VRR_VVVV "scalar vector fp negative multiply and add scalar short" arch12 zarch
|
|
e7000300009f vfnmadb VRR_VVVV "vector fp negative multiply and add long" arch12 zarch
|
|
e7000308009f wfnmadb VRR_VVVV "scalar vector fp negative multiply and add scalar long" arch12 zarch
|
|
e7000408009f wfnmaxb VRR_VVVV "scalar vector fp negative multiply and add scalar extended" arch12 zarch
|
|
e7000000009e vfnms VRR_VVVU0UV "vector fp negative multiply and subtract" arch12 zarch
|
|
e7000200009e vfnmssb VRR_VVVV "vector fp negative multiply and subtract short" arch12 zarch
|
|
e7000208009e wfnmssb VRR_VVVV "scalar vector fp negative multiply and subtract scalar short" arch12 zarch
|
|
e7000300009e vfnmsdb VRR_VVVV "vector fp negative multiply and subtract long" arch12 zarch
|
|
e7000308009e wfnmsdb VRR_VVVV "scalar vector fp negative multiply and subtract scalar long" arch12 zarch
|
|
e7000408009e wfnmsxb VRR_VVVV "scalar vector fp negative multiply and subtract scalar extended" arch12 zarch
|
|
e700000020cc vfpsosb VRR_VV0U2 "vector fp perform sign operation short" arch12 zarch
|
|
e700000820cc wfpsosb VRR_VV0U2 "scalar vector fp perform sign operation scalar short" arch12 zarch
|
|
e700000020cc vflcsb VRR_VV "vector fp perform sign operation short" arch12 zarch
|
|
e700000820cc wflcsb VRR_VV "scalar vector fp perform sign operation scalar short" arch12 zarch
|
|
e700001020cc vflnsb VRR_VV "vector fp perform sign operation short" arch12 zarch
|
|
e700001820cc wflnsb VRR_VV "scalar vector fp perform sign operation scalar short" arch12 zarch
|
|
e700002020cc vflpsb VRR_VV "vector fp perform sign operation short" arch12 zarch
|
|
e700002820cc wflpsb VRR_VV "scalar vector fp perform sign operation scalar short" arch12 zarch
|
|
e700000840cc wfpsoxb VRR_VV0U2 "scalar vector fp perform sign operation scalar extended" arch12 zarch
|
|
e700000840cc wflcxb VRR_VV "scalar vector fp perform sign operation scalar extended" arch12 zarch
|
|
e700001840cc wflnxb VRR_VV "scalar vector fp perform sign operation scalar extended" arch12 zarch
|
|
e700002840cc wflpxb VRR_VV "scalar vector fp perform sign operation scalar extended" arch12 zarch
|
|
e700000020ce vfsqsb VRR_VV "vector fp square root short" arch12 zarch
|
|
e700000820ce wfsqsb VRR_VV "scalar vector fp square root scalar short" arch12 zarch
|
|
e700000840ce wfsqxb VRR_VV "scalar vector fp square root scalar extended" arch12 zarch
|
|
e700000020e2 vfssb VRR_VVV "vector fp subtract short" arch12 zarch
|
|
e700000820e2 wfssb VRR_VVV "scalar vector fp subtract scalar short" arch12 zarch
|
|
e700000840e2 wfsxb VRR_VVV "scalar vector fp subtract scalar extended" arch12 zarch
|
|
e7000000204a vftcisb VRI_VVU2 "vector fp test data class immediate short" arch12 zarch
|
|
e7000008204a wftcisb VRI_VVU2 "scalar vector fp test data class immediate scalar short" arch12 zarch
|
|
e7000008404a wftcixb VRI_VVU2 "scalar vector fp test data class immediate scalar extended" arch12 zarch
|
|
|
|
# Miscellaneous Instruction Extensions Facility 2
|
|
|
|
e30000000038 agh RXY_RRRD "add halfword to 64 bit value" arch12 zarch
|
|
e30000000047 bic RXY_URRD "branch indirect on condition" arch12 zarch
|
|
e3f000000047 bi RXY_0RRD "unconditional indirect branch" arch12 zarch
|
|
e30000000047 bi*8 RXY_0RRD "branch indirect on condition" arch12 zarch
|
|
b9ec mgrk RRF_R0RR2 "multiply 64x64reg -> 128" arch12 zarch
|
|
e30000000084 mg RXY_RRRD "multiply 64x64mem -> 128" arch12 zarch
|
|
e3000000003c mgh RXY_RRRD "multiply halfword 64x16mem -> 64" arch12 zarch
|
|
b9fd msrkc RRF_R0RR2 "multiply single 32x32 -> 32" arch12 zarch
|
|
b9ed msgrkc RRF_R0RR2 "multiply single 64x64 -> 64" arch12 zarch
|
|
e30000000053 msc RXY_RRRD "multiply single 32x32mem -> 32" arch12 zarch
|
|
e30000000083 msgc RXY_RRRD "multiply single 64x64mem -> 64" arch12 zarch
|
|
e30000000039 sgh RXY_RRRD "subtract halfword from 64 bit value" arch12 zarch
|
|
|
|
# Vector packed decimal facility
|
|
|
|
e60000000037 vlrlr VRS_RRDV "vector load rightmost with length" arch12 zarch
|
|
e60000000035 vlrl VSI_URDV "vector load rightmost with immediate length" arch12 zarch
|
|
e6000000003f vstrlr VRS_RRDV "vector store rightmost with length" arch12 zarch
|
|
e6000000003d vstrl VSI_URDV "vector store rightmost with immediate length" arch12 zarch
|
|
e60000000071 vap VRI_VVV0UU2 "vector add decimal" arch12 zarch
|
|
e60000000077 vcp VRR_0VV0U "vector compare decimal" arch12 zarch
|
|
e60000000050 vcvb VRR_RV0U "vector convert to binary 32 bit" arch12 zarch
|
|
e60000000052 vcvbg VRR_RV0U "vector convert to binary 64 bit" arch12 zarch
|
|
e60000000058 vcvd VRI_VR0UU "vector convert to decimal 32 bit" arch12 zarch
|
|
e6000000005a vcvdg VRI_VR0UU "vector convert to decimal 64 bit" arch12 zarch
|
|
e6000000007a vdp VRI_VVV0UU2 "vector divide decimal" arch12 zarch
|
|
e60000000049 vlip VRI_V0UU2 "vector load immediate decimal" arch12 zarch
|
|
e60000000078 vmp VRI_VVV0UU2 "vector multiply decimal" arch12 zarch
|
|
e60000000079 vmsp VRI_VVV0UU2 "vector multiply and shift decimal" arch12 zarch
|
|
e60000000034 vpkz VSI_URDV "vector pack zoned" arch12 zarch
|
|
e6000000005b vpsop VRI_VVUUU2 "vector perform sign operation decimal" arch12 zarch
|
|
e6000000007b vrp VRI_VVV0UU2 "vector remainder decimal" arch12 zarch
|
|
e6000000007e vsdp VRI_VVV0UU2 "vector shift and divide decimal" arch12 zarch
|
|
e60000000059 vsrp VRI_VVUUU2 "vector shift and round decimal" arch12 zarch
|
|
e60000000073 vsp VRI_VVV0UU2 "vector subtract decimal" arch12 zarch
|
|
e6000000005f vtp VRR_0V "vector test decimal" arch12 zarch
|
|
e6000000003c vupkz VSI_URDV "vector unpack zoned" arch12 zarch
|
|
|
|
# Guarded storage facility
|
|
|
|
e3000000004c lgg RXY_RRRD "load guarded 64 bit" arch12 zarch
|
|
e30000000048 llgfsg RXY_RRRD "load logical and shift guarded 64 bit" arch12 zarch
|
|
e3000000004d lgsc RXY_RRRD "load guarded storage controls" arch12 zarch
|
|
e30000000049 stgsc RXY_RRRD "store guarded storage controls" arch12 zarch
|
|
|
|
# Message-Security-Assist Extension 8
|
|
|
|
b929 kma RRF_R0RR "cipher message with galois counter mode" arch12 zarch
|
|
|
|
b93c prno RRE_RR "perform pseudorandom number operation" arch12 zarch
|
|
b9a1 tpei RRE_RR "test pending external interruption" arch12 zarch
|
|
b9ac irbm RRE_RR "insert reference bits multiple" arch12 zarch
|
|
|
|
# arch13 instructions
|
|
|
|
|
|
# Miscellaneous Instruction Extensions Facility 2
|
|
|
|
b9f5 ncrk RRF_R0RR2 "and with complement 32 bit" arch13 zarch
|
|
b9e5 ncgrk RRF_R0RR2 "and with complement 64 bit" arch13 zarch
|
|
e50a mvcrl SSE_RDRD "move right to left" arch13 zarch
|
|
b974 nnrk RRF_R0RR2 "nand 32 bit" arch13 zarch
|
|
b964 nngrk RRF_R0RR2 "nand 64 bit" arch13 zarch
|
|
b976 nork RRF_R0RR2 "nor 32 bit" arch13 zarch
|
|
b966 nogrk RRF_R0RR2 "nor 64 bit" arch13 zarch
|
|
b977 nxrk RRF_R0RR2 "not exclusive or 32 bit" arch13 zarch
|
|
b967 nxgrk RRF_R0RR2 "not exclusive or 64 bit" arch13 zarch
|
|
b975 ocrk RRF_R0RR2 "or with complement 32 bit" arch13 zarch
|
|
b965 ocgrk RRF_R0RR2 "or with complement 64 bit" arch13 zarch
|
|
b9e1 popcnt RRF_U0RR "population count arch13" arch13 zarch optparm
|
|
b9f0 selr RRF_RURR "select 32 bit" arch13 zarch
|
|
b9f00000 selr*20 RRF_R0RR3 "select 32 bit" arch13 zarch
|
|
b9e3 selgr RRF_RURR "select 64 bit" arch13 zarch
|
|
b9e30000 selgr*20 RRF_R0RR3 "select 64 bit" arch13 zarch
|
|
b9c0 selfhr RRF_RURR "select high" arch13 zarch
|
|
b9c00000 selfhr*20 RRF_R0RR3 "select high" arch13 zarch
|
|
|
|
# Vector Enhancements Facility 2
|
|
|
|
e60000000006 vlbr VRX_VRRDU "vector load byte reversed elements" arch13 zarch
|
|
e60000001006 vlbrh VRX_VRRD "vector load byte reversed halfword elements" arch13 zarch
|
|
e60000002006 vlbrf VRX_VRRD "vector load byte reversed word elements" arch13 zarch
|
|
e60000003006 vlbrg VRX_VRRD "vector load byte reversed doubleword elements" arch13 zarch
|
|
e60000004006 vlbrq VRX_VRRD "vector load byte reversed quadword elements" arch13 zarch
|
|
|
|
e60000000007 vler VRX_VRRDU "vector load elements reversed" arch13 zarch
|
|
e60000001007 vlerh VRX_VRRD "vector load halfword elements reversed" arch13 zarch
|
|
e60000002007 vlerf VRX_VRRD "vector load word elements reversed" arch13 zarch
|
|
e60000003007 vlerg VRX_VRRD "vector load doubleword elements reversed" arch13 zarch
|
|
|
|
e60000000004 vllebrz VRX_VRRDU "vector load byte reversed element and zero" arch13 zarch
|
|
e60000001004 vllebrzh VRX_VRRD "vector load byte reversed halfword element and zero" arch13 zarch
|
|
e60000002004 vllebrzf VRX_VRRD "vector load byte reversed word element and zero" arch13 zarch
|
|
e60000003004 ldrv VRX_VRRD "load byte reversed doubleword" arch13 zarch
|
|
e60000003004 vllebrzg VRX_VRRD "vector load byte reversed doubleword element and zero" arch13 zarch
|
|
e60000006004 lerv VRX_VRRD "load byte reversed word" arch13 zarch
|
|
e60000006004 vllebrze VRX_VRRD "vector load byte reversed word element left-aligned and zero" arch13 zarch
|
|
|
|
e60000000001 vlebrh VRX_VRRDU "vector load byte reversed halfword element" arch13 zarch
|
|
e60000000003 vlebrf VRX_VRRDU "vector load byte reversed word element" arch13 zarch
|
|
e60000000002 vlebrg VRX_VRRDU "vector load byte reversed doubleword element" arch13 zarch
|
|
|
|
e60000000005 vlbrrep VRX_VRRDU "vector load byte reversed element and replicate" arch13 zarch
|
|
e60000001005 vlbrreph VRX_VRRD "vector load byte reversed halfword element and replicate" arch13 zarch
|
|
e60000002005 vlbrrepf VRX_VRRD "vector load byte reversed word element and replicate" arch13 zarch
|
|
e60000003005 vlbrrepg VRX_VRRD "vector load byte reversed doubleword element and replicate" arch13 zarch
|
|
|
|
e6000000000e vstbr VRX_VRRDU "vector store byte reversed elements" arch13 zarch
|
|
e6000000100e vstbrh VRX_VRRD "vector store byte reversed halfword elements" arch13 zarch
|
|
e6000000200e vstbrf VRX_VRRD "vector store byte reversed word elements" arch13 zarch
|
|
e6000000300e vstbrg VRX_VRRD "vector store byte reversed doubleword elements" arch13 zarch
|
|
e6000000400e vstbrq VRX_VRRD "vector store byte reversed quadword elements" arch13 zarch
|
|
|
|
e6000000000f vster VRX_VRRDU "vector store elements reversed" arch13 zarch
|
|
e6000000100f vsterh VRX_VRRD "vector store halfword elements reversed" arch13 zarch
|
|
e6000000200f vsterf VRX_VRRD "vector store word elements reversed" arch13 zarch
|
|
e6000000300f vsterg VRX_VRRD "vector store doubleword elements reversed" arch13 zarch
|
|
|
|
e60000000009 vstebrh VRX_VRRDU "vector store byte reversed halfword element" arch13 zarch
|
|
e6000000000b vstebrf VRX_VRRDU "vector store byte reversed word element" arch13 zarch
|
|
e6000000000b sterv VRX_VRRD "store byte reversed word" arch13 zarch
|
|
e6000000000a vstebrg VRX_VRRDU "vector store byte reversed doubleword element" arch13 zarch
|
|
e6000000000a stdrv VRX_VRRD "store byte reversed doubleword" arch13 zarch
|
|
|
|
e70000000086 vsld VRI_VVV0U "vector shift left double by bit" arch13 zarch
|
|
e70000000087 vsrd VRI_VVV0U "vector shift right double by bit" arch13 zarch
|
|
|
|
e7000000008b vstrs VRR_VVVUU0V "vector string search" arch13 zarch optparm
|
|
|
|
e7000000008b vstrsb VRR_VVVU0VB "vector string search byte" arch13 zarch optparm
|
|
e7000100008b vstrsh VRR_VVVU0VB "vector string search halfword" arch13 zarch optparm
|
|
e7000200008b vstrsf VRR_VVVU0VB "vector string search word" arch13 zarch optparm
|
|
|
|
e7000020008b vstrszb VRR_VVV0V "vector string search byte zero" arch13 zarch
|
|
e7000120008b vstrszh VRR_VVV0V "vector string search halfword zero" arch13 zarch
|
|
e7000220008b vstrszf VRR_VVV0V "vector string search word zero" arch13 zarch
|
|
|
|
e700000000c3 vcfps VRR_VV0UUU "vector fp convert from fixed" arch13 zarch
|
|
e700000020c3 vcefb VRR_VV0UU "vector fp convert from fixed 32 bit" arch13 zarch
|
|
e700000820c3 wcefb VRR_VV0UU8 "vector fp convert from fixed 32 bit" arch13 zarch
|
|
|
|
e700000000c1 vcfpl VRR_VV0UUU "vector fp convert from logical" arch13 zarch
|
|
e700000020c1 vcelfb VRR_VV0UU "vector fp convert from logical 32 bit" arch13 zarch
|
|
e700000820c1 wcelfb VRR_VV0UU8 "vector fp convert from logical 32 bit" arch13 zarch
|
|
|
|
e700000000c2 vcsfp VRR_VV0UUU "vector fp convert to fixed" arch13 zarch
|
|
e700000020c2 vcfeb VRR_VV0UU "vector fp convert to fixed 32 bit" arch13 zarch
|
|
e700000820c2 wcfeb VRR_VV0UU8 "vector fp convert to fixed 32 bit" arch13 zarch
|
|
|
|
e700000000c0 vclfp VRR_VV0UUU "vector fp convert to logical" arch13 zarch
|
|
e700000020c0 vclfeb VRR_VV0UU "vector fp convert to logical 32 bit" arch13 zarch
|
|
e700000820c0 wclfeb VRR_VV0UU8 "vector fp convert to logical 32 bit" arch13 zarch
|
|
|
|
# Deflate conversion facility
|
|
|
|
b939 dfltcc RRF_R0RR2 "deflate conversion call" arch13 zarch
|
|
|
|
# Enhanced-Sort Facility
|
|
|
|
b938 sortl RRE_RR "sort lists" arch13 zarch
|
|
|
|
# Vector packed decimal enhancement facility
|
|
|
|
e60000000050 vcvb VRR_RV0UU "vector convert to binary 32 bit" arch13 zarch optparm
|
|
e60000000052 vcvbg VRR_RV0UU "vector convert to binary 64 bit" arch13 zarch optparm
|
|
|
|
# Message Security Assist Extension 9
|
|
|
|
b93a kdsa RRE_RR "compute digital signature authentication" arch13 zarch
|