xref: /qemu/tcg/s390x/tcg-target-con-set.h (revision 9bca986df88b8ea46b100e3d21cc9e653c83e0b3)
1d1c36a90SRichard Henderson /* SPDX-License-Identifier: MIT */
2d1c36a90SRichard Henderson /*
3d1c36a90SRichard Henderson  * Define S390 target-specific constraint sets.
4d1c36a90SRichard Henderson  * Copyright (c) 2021 Linaro
5d1c36a90SRichard Henderson  */
6d1c36a90SRichard Henderson 
7d1c36a90SRichard Henderson /*
8d1c36a90SRichard Henderson  * C_On_Im(...) defines a constraint set with <n> outputs and <m> inputs.
9d1c36a90SRichard Henderson  * Each operand should be a sequence of constraint letters as defined by
10d1c36a90SRichard Henderson  * tcg-target-con-str.h; the constraint combination is inclusive or.
11d1c36a90SRichard Henderson  */
12d1c36a90SRichard Henderson C_O0_I1(r)
13d1c36a90SRichard Henderson C_O0_I2(L, L)
14d1c36a90SRichard Henderson C_O0_I2(r, r)
15d1c36a90SRichard Henderson C_O0_I2(r, ri)
1634ef7676SRichard Henderson C_O0_I2(v, r)
17d1c36a90SRichard Henderson C_O1_I1(r, L)
18d1c36a90SRichard Henderson C_O1_I1(r, r)
1934ef7676SRichard Henderson C_O1_I1(v, r)
20ae77bbe5SRichard Henderson C_O1_I1(v, v)
2134ef7676SRichard Henderson C_O1_I1(v, vr)
22d1c36a90SRichard Henderson C_O1_I2(r, 0, ri)
23d1c36a90SRichard Henderson C_O1_I2(r, 0, rI)
24d1c36a90SRichard Henderson C_O1_I2(r, 0, rJ)
25d1c36a90SRichard Henderson C_O1_I2(r, r, ri)
26d1c36a90SRichard Henderson C_O1_I2(r, rZ, r)
2722cb37b4SRichard Henderson C_O1_I2(v, v, r)
2834ef7676SRichard Henderson C_O1_I2(v, v, v)
29*9bca986dSRichard Henderson C_O1_I3(v, v, v, v)
30d1c36a90SRichard Henderson C_O1_I4(r, r, ri, r, 0)
31d1c36a90SRichard Henderson C_O1_I4(r, r, ri, rI, 0)
32d1c36a90SRichard Henderson C_O2_I2(b, a, 0, r)
33d1c36a90SRichard Henderson C_O2_I3(b, a, 0, 1, r)
34d1c36a90SRichard Henderson C_O2_I4(r, r, 0, 1, rA, r)
35d1c36a90SRichard Henderson C_O2_I4(r, r, 0, 1, ri, r)
36d1c36a90SRichard Henderson C_O2_I4(r, r, 0, 1, r, r)
37