xref: /qemu/tcg/s390x/tcg-target-con-set.h (revision d1c36a9032d2208b2cf61d472d6b4f3b47498299)
1*d1c36a90SRichard Henderson /* SPDX-License-Identifier: MIT */
2*d1c36a90SRichard Henderson /*
3*d1c36a90SRichard Henderson  * Define S390 target-specific constraint sets.
4*d1c36a90SRichard Henderson  * Copyright (c) 2021 Linaro
5*d1c36a90SRichard Henderson  */
6*d1c36a90SRichard Henderson 
7*d1c36a90SRichard Henderson /*
8*d1c36a90SRichard Henderson  * C_On_Im(...) defines a constraint set with <n> outputs and <m> inputs.
9*d1c36a90SRichard Henderson  * Each operand should be a sequence of constraint letters as defined by
10*d1c36a90SRichard Henderson  * tcg-target-con-str.h; the constraint combination is inclusive or.
11*d1c36a90SRichard Henderson  */
12*d1c36a90SRichard Henderson C_O0_I1(r)
13*d1c36a90SRichard Henderson C_O0_I2(L, L)
14*d1c36a90SRichard Henderson C_O0_I2(r, r)
15*d1c36a90SRichard Henderson C_O0_I2(r, ri)
16*d1c36a90SRichard Henderson C_O1_I1(r, L)
17*d1c36a90SRichard Henderson C_O1_I1(r, r)
18*d1c36a90SRichard Henderson C_O1_I2(r, 0, ri)
19*d1c36a90SRichard Henderson C_O1_I2(r, 0, rI)
20*d1c36a90SRichard Henderson C_O1_I2(r, 0, rJ)
21*d1c36a90SRichard Henderson C_O1_I2(r, r, ri)
22*d1c36a90SRichard Henderson C_O1_I2(r, rZ, r)
23*d1c36a90SRichard Henderson C_O1_I4(r, r, ri, r, 0)
24*d1c36a90SRichard Henderson C_O1_I4(r, r, ri, rI, 0)
25*d1c36a90SRichard Henderson C_O2_I2(b, a, 0, r)
26*d1c36a90SRichard Henderson C_O2_I3(b, a, 0, 1, r)
27*d1c36a90SRichard Henderson C_O2_I4(r, r, 0, 1, rA, r)
28*d1c36a90SRichard Henderson C_O2_I4(r, r, 0, 1, ri, r)
29*d1c36a90SRichard Henderson C_O2_I4(r, r, 0, 1, r, r)
30