xref: /qemu/tcg/arm/tcg-target-con-set.h (revision 7166eebb9bbe05fd956bd46b13643e1ae04c00ec)
1*7166eebbSRichard Henderson /* SPDX-License-Identifier: MIT */
2*7166eebbSRichard Henderson /*
3*7166eebbSRichard Henderson  * Define Arm target-specific constraint sets.
4*7166eebbSRichard Henderson  * Copyright (c) 2021 Linaro
5*7166eebbSRichard Henderson  */
6*7166eebbSRichard Henderson 
7*7166eebbSRichard Henderson /*
8*7166eebbSRichard Henderson  * C_On_Im(...) defines a constraint set with <n> outputs and <m> inputs.
9*7166eebbSRichard Henderson  * Each operand should be a sequence of constraint letters as defined by
10*7166eebbSRichard Henderson  * tcg-target-con-str.h; the constraint combination is inclusive or.
11*7166eebbSRichard Henderson  */
12*7166eebbSRichard Henderson C_O0_I1(r)
13*7166eebbSRichard Henderson C_O0_I2(r, r)
14*7166eebbSRichard Henderson C_O0_I2(r, rIN)
15*7166eebbSRichard Henderson C_O0_I2(s, s)
16*7166eebbSRichard Henderson C_O0_I3(s, s, s)
17*7166eebbSRichard Henderson C_O0_I4(r, r, rI, rI)
18*7166eebbSRichard Henderson C_O0_I4(s, s, s, s)
19*7166eebbSRichard Henderson C_O1_I1(r, l)
20*7166eebbSRichard Henderson C_O1_I1(r, r)
21*7166eebbSRichard Henderson C_O1_I2(r, 0, rZ)
22*7166eebbSRichard Henderson C_O1_I2(r, l, l)
23*7166eebbSRichard Henderson C_O1_I2(r, r, r)
24*7166eebbSRichard Henderson C_O1_I2(r, r, rI)
25*7166eebbSRichard Henderson C_O1_I2(r, r, rIK)
26*7166eebbSRichard Henderson C_O1_I2(r, r, rIN)
27*7166eebbSRichard Henderson C_O1_I2(r, r, ri)
28*7166eebbSRichard Henderson C_O1_I2(r, rZ, rZ)
29*7166eebbSRichard Henderson C_O1_I4(r, r, r, rI, rI)
30*7166eebbSRichard Henderson C_O1_I4(r, r, rIN, rIK, 0)
31*7166eebbSRichard Henderson C_O2_I1(r, r, l)
32*7166eebbSRichard Henderson C_O2_I2(r, r, l, l)
33*7166eebbSRichard Henderson C_O2_I2(r, r, r, r)
34*7166eebbSRichard Henderson C_O2_I4(r, r, r, r, rIN, rIK)
35*7166eebbSRichard Henderson C_O2_I4(r, r, rI, rI, rIN, rIK)
36