xref: /qemu/tcg/arm/tcg-target-con-set.h (revision ffd642cb2ca25262342311a3bf2e8a77a00e6dfd)
17166eebbSRichard Henderson /* SPDX-License-Identifier: MIT */
27166eebbSRichard Henderson /*
37166eebbSRichard Henderson  * Define Arm target-specific constraint sets.
47166eebbSRichard Henderson  * Copyright (c) 2021 Linaro
57166eebbSRichard Henderson  */
67166eebbSRichard Henderson 
77166eebbSRichard Henderson /*
87166eebbSRichard Henderson  * C_On_Im(...) defines a constraint set with <n> outputs and <m> inputs.
97166eebbSRichard Henderson  * Each operand should be a sequence of constraint letters as defined by
107166eebbSRichard Henderson  * tcg-target-con-str.h; the constraint combination is inclusive or.
117166eebbSRichard Henderson  */
127166eebbSRichard Henderson C_O0_I1(r)
137166eebbSRichard Henderson C_O0_I2(r, r)
147166eebbSRichard Henderson C_O0_I2(r, rIN)
1572128122SRichard Henderson C_O0_I2(q, q)
16000cf477SRichard Henderson C_O0_I2(w, r)
1772128122SRichard Henderson C_O0_I3(q, q, q)
1872128122SRichard Henderson C_O0_I3(Q, p, q)
197166eebbSRichard Henderson C_O0_I4(r, r, rI, rI)
2072128122SRichard Henderson C_O0_I4(Q, p, q, q)
2172128122SRichard Henderson C_O1_I1(r, q)
227166eebbSRichard Henderson C_O1_I1(r, r)
23000cf477SRichard Henderson C_O1_I1(w, r)
247df44cf6SRichard Henderson C_O1_I1(w, w)
25000cf477SRichard Henderson C_O1_I1(w, wr)
267166eebbSRichard Henderson C_O1_I2(r, 0, rZ)
2772128122SRichard Henderson C_O1_I2(r, q, q)
287166eebbSRichard Henderson C_O1_I2(r, r, r)
297166eebbSRichard Henderson C_O1_I2(r, r, rI)
307166eebbSRichard Henderson C_O1_I2(r, r, rIK)
317166eebbSRichard Henderson C_O1_I2(r, r, rIN)
327166eebbSRichard Henderson C_O1_I2(r, r, ri)
33a3b37bc6SRichard Henderson C_O1_I2(r, rI, r)
34*b15c0d11SRichard Henderson C_O1_I2(r, rI, rIK)
35*b15c0d11SRichard Henderson C_O1_I2(r, rI, rIN)
367166eebbSRichard Henderson C_O1_I2(r, rZ, rZ)
375047ae64SRichard Henderson C_O1_I2(w, 0, w)
38000cf477SRichard Henderson C_O1_I2(w, w, w)
39d74b86edSRichard Henderson C_O1_I2(w, w, wO)
40d74b86edSRichard Henderson C_O1_I2(w, w, wV)
41d74b86edSRichard Henderson C_O1_I2(w, w, wZ)
42f2b46c71SRichard Henderson C_O1_I3(w, w, w, w)
437166eebbSRichard Henderson C_O1_I4(r, r, r, rI, rI)
447166eebbSRichard Henderson C_O1_I4(r, r, rIN, rIK, 0)
4572128122SRichard Henderson C_O2_I1(e, p, q)
4672128122SRichard Henderson C_O2_I2(e, p, q, q)
477166eebbSRichard Henderson C_O2_I2(r, r, r, r)
48