xref: /qemu/tcg/s390x/tcg-target-con-set.h (revision cda7f93fa2fbf52e0fc70e4078caf8e7f7d3bd6f)
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.
1122d2e535SIlya Leoshkevich  *
1222d2e535SIlya Leoshkevich  * C_Nn_Om_Ik(...) defines a constraint set with <n + m> outputs and <k>
1322d2e535SIlya Leoshkevich  * inputs, except that the first <n> outputs must use new registers.
14d1c36a90SRichard Henderson  */
15d1c36a90SRichard Henderson C_O0_I1(r)
16d1c36a90SRichard Henderson C_O0_I2(r, r)
17d1c36a90SRichard Henderson C_O0_I2(r, ri)
18d95b51d3SRichard Henderson C_O0_I2(r, rC)
1934ef7676SRichard Henderson C_O0_I2(v, r)
204caad79fSRichard Henderson C_O0_I3(o, m, r)
21d1c36a90SRichard Henderson C_O1_I1(r, r)
2234ef7676SRichard Henderson C_O1_I1(v, r)
23ae77bbe5SRichard Henderson C_O1_I1(v, v)
2434ef7676SRichard Henderson C_O1_I1(v, vr)
25*cda7f93fSRichard Henderson C_O1_I2(r, 0, r)
26d1c36a90SRichard Henderson C_O1_I2(r, 0, ri)
27d1c36a90SRichard Henderson C_O1_I2(r, 0, rI)
28d1c36a90SRichard Henderson C_O1_I2(r, 0, rJ)
296c9b5c0fSRichard Henderson C_O1_I2(r, r, r)
30d1c36a90SRichard Henderson C_O1_I2(r, r, ri)
31d95b51d3SRichard Henderson C_O1_I2(r, r, rC)
32bfff8518SRichard Henderson C_O1_I2(r, r, rI)
3392c89a07SRichard Henderson C_O1_I2(r, r, rJ)
34b2509accSRichard Henderson C_O1_I2(r, r, rK)
354134083fSRichard Henderson C_O1_I2(r, r, rNKR)
36*cda7f93fSRichard Henderson C_O1_I2(r, r, rUV)
37d1c36a90SRichard Henderson C_O1_I2(r, rZ, r)
3822cb37b4SRichard Henderson C_O1_I2(v, v, r)
3934ef7676SRichard Henderson C_O1_I2(v, v, v)
409bca986dSRichard Henderson C_O1_I3(v, v, v, v)
4150695fb8SRichard Henderson C_O1_I4(v, v, v, vZ, v)
4250695fb8SRichard Henderson C_O1_I4(v, v, v, vZM, v)
43d95b51d3SRichard Henderson C_O1_I4(r, r, rC, rI, r)
444caad79fSRichard Henderson C_O2_I1(o, m, r)
454143f78dSRichard Henderson C_O2_I2(o, m, 0, r)
46668ce343SRichard Henderson C_O2_I2(o, m, r, r)
474143f78dSRichard Henderson C_O2_I3(o, m, 0, 1, r)
48