]> git.proxmox.com Git - qemu.git/blame - target-s390x/insn-data.def
target-s390: Convert 32-bit MULTIPLY, MULTIPLY LOGICAL
[qemu.git] / target-s390x / insn-data.def
CommitLineData
ad044d09
RH
1/* ADD */
2 C(0x1a00, AR, RR_a, Z, r1, r2, new, r1_32, add, adds32)
3 C(0xb9f8, ARK, RRF_a, DO, r2, r3, new, r1_32, add, adds32)
4 C(0x5a00, A, RX_a, Z, r1, m2_32s, new, r1_32, add, adds32)
5 C(0xe35a, AY, RXY_a, LD, r1, m2_32s, new, r1_32, add, adds32)
6 C(0xb908, AGR, RRE, Z, r1, r2, r1, 0, add, adds64)
7 C(0xb918, AGFR, RRE, Z, r1, r2_32s, r1, 0, add, adds64)
8 C(0xb9e8, AGRK, RRF_a, DO, r2, r3, r1, 0, add, adds64)
9 C(0xe308, AG, RXY_a, Z, r1, m2_64, r1, 0, add, adds64)
10 C(0xe318, AGF, RXY_a, Z, r1, m2_32s, r1, 0, add, adds64)
11/* ADD IMMEDIATE */
12 C(0xc209, AFI, RIL_a, EI, r1, i2, new, r1_32, add, adds32)
13 C(0xeb6a, ASI, SIY, GIE, m1_32s, i2, new, m1_32, add, adds32)
14 C(0xecd8, AHIK, RIE_d, DO, r3, i2, new, r1_32, add, adds32)
15 C(0xc208, AGFI, RIL_a, EI, r1, i2, r1, 0, add, adds64)
16 C(0xeb7a, AGSI, SIY, GIE, m1_64, i2, new, m1_64, add, adds64)
17 C(0xecd9, AGHIK, RIE_d, DO, r3, i2, r1, 0, add, adds64)
d82287de
RH
18/* ADD HALFWORD */
19 C(0x4a00, AH, RX_a, Z, r1, m2_16s, new, r1_32, add, adds32)
20 C(0xe37a, AHY, RXY_a, LD, r1, m2_16s, new, r1_32, add, adds32)
21/* ADD HALFWORD IMMEDIATE */
22 C(0xa70a, AHI, RI_a, Z, r1, i2, new, r1_32, add, adds32)
23 C(0xa70b, AGHI, RI_a, Z, r1, i2, r1, 0, add, adds64)
24
ad044d09
RH
25/* ADD LOGICAL */
26 C(0x1e00, ALR, RR_a, Z, r1, r2, new, r1_32, add, addu32)
27 C(0xb9fa, ALRK, RRF_a, DO, r2, r3, new, r1_32, add, addu32)
28 C(0x5e00, AL, RX_a, Z, r1, m2_32u, new, r1_32, add, addu32)
29 C(0xe35e, ALY, RXY_a, LD, r1, m2_32u, new, r1_32, add, addu32)
30 C(0xb90a, ALGR, RRE, Z, r1, r2, r1, 0, add, addu64)
31 C(0xb91a, ALGFR, RRE, Z, r1, r2_32u, r1, 0, add, addu64)
32 C(0xb9ea, ALGRK, RRF_a, DO, r2, r3, r1, 0, add, addu64)
33 C(0xe30a, ALG, RXY_a, Z, r1, m2_64, r1, 0, add, addu64)
34 C(0xe31a, ALGF, RXY_a, Z, r1, m2_32u, r1, 0, add, addu64)
35/* ADD LOGICAL IMMEDIATE */
36 C(0xc20b, ALFI, RIL_a, EI, r1, i2_32u, new, r1_32, add, addu32)
37 C(0xc20a, ALGFI, RIL_a, EI, r1, i2_32u, r1, 0, add, addu64)
e272b3ac
RH
38/* ADD LOGICAL WITH SIGNED IMMEDIATE */
39 C(0xeb6e, ALSI, SIY, GIE, m1_32u, i2, new, m1_32, add, addu32)
40 C(0xecda, ALHSIK, RIE_d, DO, r3, i2, new, r1_32, add, addu32)
41 C(0xeb7e, ALGSI, SIY, GIE, m1_64, i2, new, m1_64, add, addu64)
42 C(0xecdb, ALGHSIK, RIE_d, DO, r3, i2, r1, 0, add, addu64)
ad044d09 43
d87aaf93
RH
44/* MULTIPLY */
45 C(0x1c00, MR, RR_a, Z, r1p1_32s, r2_32s, new, r1_D32, mul, 0)
46 C(0x5c00, M, RX_a, Z, r1p1_32s, m2_32s, new, r1_D32, mul, 0)
47 C(0xe35c, MFY, RXY_a, GIE, r1p1_32s, m2_32s, new, r1_D32, mul, 0)
d1c04a2b
RH
48/* MULTIPLY HALFWORD */
49 C(0x4c00, MH, RX_a, Z, r1_o, m2_16s, new, r1_32, mul, 0)
50 C(0xe37c, MHY, RXY_a, GIE, r1_o, m2_16s, new, r1_32, mul, 0)
51/* MULTIPLY HALFWORD IMMEDIATE */
52 C(0xa70c, MHI, RI_a, Z, r1_o, i2, new, r1_32, mul, 0)
53 C(0xa70d, MGHI, RI_a, Z, r1_o, i2, r1, 0, mul, 0)
d87aaf93
RH
54/* MULTIPLY LOGICAL */
55 C(0xb996, MLR, RRE, Z, r1p1_32u, r2_32u, new, r1_D32, mul, 0)
56 C(0xe396, ML, RXY_a, Z, r1p1_32u, m2_32u, new, r1_D32, mul, 0)
d1c04a2b
RH
57/* MULTIPLY SINGLE */
58 C(0xb252, MSR, RRE, Z, r1_o, r2_o, new, r1_32, mul, 0)
59 C(0x7100, MS, RX_a, Z, r1_o, m2_32s, new, r1_32, mul, 0)
60 C(0xe351, MSY, RXY_a, LD, r1_o, m2_32s, new, r1_32, mul, 0)
61 C(0xb90c, MSGR, RRE, Z, r1_o, r2_o, r1, 0, mul, 0)
62 C(0xb91c, MSGFR, RRE, Z, r1_o, r2_32s, r1, 0, mul, 0)
63 C(0xe30c, MSG, RXY_a, Z, r1_o, m2_64, r1, 0, mul, 0)
64 C(0xe31c, MSGF, RXY_a, Z, r1_o, m2_32s, r1, 0, mul, 0)
65/* MULTIPLY SINGLE IMMEDIATE */
66 C(0xc201, MSFI, RIL_a, GIE, r1_o, i2, new, r1_32, mul, 0)
67 C(0xc200, MSGFI, RIL_a, GIE, r1_o, i2, r1, 0, mul, 0)
68
ad044d09
RH
69/* SUBTRACT */
70 C(0x1b00, SR, RR_a, Z, r1, r2, new, r1_32, sub, subs32)
71 C(0xb9f9, SRK, RRF_a, DO, r2, r3, new, r1_32, sub, subs32)
72 C(0x5b00, S, RX_a, Z, r1, m2_32s, new, r1_32, sub, subs32)
73 C(0xe35b, SY, RXY_a, LD, r1, m2_32s, new, r1_32, sub, subs32)
74 C(0xb909, SGR, RRE, Z, r1, r2, r1, 0, sub, subs64)
75 C(0xb919, SGFR, RRE, Z, r1, r2_32s, r1, 0, sub, subs64)
76 C(0xb9e9, SGRK, RRF_a, DO, r2, r3, r1, 0, sub, subs64)
77 C(0xe309, SG, RXY_a, Z, r1, m2_64, r1, 0, sub, subs64)
78 C(0xe319, SGF, RXY_a, Z, r1, m2_32s, r1, 0, sub, subs64)
3f4cb56a
RH
79/* SUBTRACT HALFWORD */
80 C(0x4b00, SH, RX_a, Z, r1, m2_16s, new, r1_32, sub, subs32)
81 C(0xe37b, SHY, RXY_a, LD, r1, m2_16s, new, r1_32, sub, subs32)
ad044d09
RH
82/* SUBTRACT LOGICAL */
83 C(0x1f00, SLR, RR_a, Z, r1, r2, new, r1_32, sub, subu32)
84 C(0xb9fb, SLRK, RRF_a, DO, r2, r3, new, r1_32, sub, subu32)
85 C(0x5f00, SL, RX_a, Z, r1, m2_32u, new, r1_32, sub, subu32)
86 C(0xe35f, SLY, RXY_a, LD, r1, m2_32u, new, r1_32, sub, subu32)
87 C(0xb90b, SLGR, RRE, Z, r1, r2, r1, 0, sub, subu64)
88 C(0xb91b, SLGFR, RRE, Z, r1, r2_32u, r1, 0, sub, subu64)
89 C(0xb9eb, SLGRK, RRF_a, DO, r2, r3, r1, 0, sub, subu64)
90 C(0xe30b, SLG, RXY_a, Z, r1, m2_64, r1, 0, sub, subu64)
91 C(0xe31b, SLGF, RXY_a, Z, r1, m2_32u, r1, 0, sub, subu64)
92/* SUBTRACT LOGICAL IMMEDIATE */
93 C(0xc205, SLFI, RIL_a, EI, r1, i2_32u, new, r1_32, sub, subu32)
94 C(0xc204, SLGFI, RIL_a, EI, r1, i2_32u, r1, 0, sub, subu64)