blob: 229ae258ac16dde29b08c1d9fadcf9fbe261a0e2 [file] [log] [blame]
Richard Henderson7166eeb2020-10-17 09:19:33 -07001/* SPDX-License-Identifier: MIT */
2/*
3 * Define Arm target-specific constraint sets.
4 * Copyright (c) 2021 Linaro
5 */
6
7/*
8 * C_On_Im(...) defines a constraint set with <n> outputs and <m> inputs.
9 * Each operand should be a sequence of constraint letters as defined by
10 * tcg-target-con-str.h; the constraint combination is inclusive or.
11 */
12C_O0_I1(r)
13C_O0_I2(r, r)
14C_O0_I2(r, rIN)
Richard Henderson72128122023-04-24 12:31:46 +010015C_O0_I2(q, q)
Richard Henderson000cf472021-05-03 16:47:52 -070016C_O0_I2(w, r)
Richard Henderson72128122023-04-24 12:31:46 +010017C_O0_I3(q, q, q)
18C_O0_I3(Q, p, q)
Richard Henderson7166eeb2020-10-17 09:19:33 -070019C_O0_I4(r, r, rI, rI)
Richard Henderson72128122023-04-24 12:31:46 +010020C_O0_I4(Q, p, q, q)
21C_O1_I1(r, q)
Richard Henderson7166eeb2020-10-17 09:19:33 -070022C_O1_I1(r, r)
Richard Henderson000cf472021-05-03 16:47:52 -070023C_O1_I1(w, r)
Richard Henderson7df44cf2020-09-05 11:58:47 -070024C_O1_I1(w, w)
Richard Henderson000cf472021-05-03 16:47:52 -070025C_O1_I1(w, wr)
Richard Henderson7166eeb2020-10-17 09:19:33 -070026C_O1_I2(r, 0, rZ)
Richard Henderson72128122023-04-24 12:31:46 +010027C_O1_I2(r, q, q)
Richard Henderson7166eeb2020-10-17 09:19:33 -070028C_O1_I2(r, r, r)
29C_O1_I2(r, r, rI)
30C_O1_I2(r, r, rIK)
31C_O1_I2(r, r, rIN)
32C_O1_I2(r, r, ri)
33C_O1_I2(r, rZ, rZ)
Richard Henderson5047ae62020-09-05 13:26:48 -070034C_O1_I2(w, 0, w)
Richard Henderson000cf472021-05-03 16:47:52 -070035C_O1_I2(w, w, w)
Richard Hendersond74b86e2020-09-05 15:54:33 -070036C_O1_I2(w, w, wO)
37C_O1_I2(w, w, wV)
38C_O1_I2(w, w, wZ)
Richard Hendersonf2b46c72020-09-05 12:54:37 -070039C_O1_I3(w, w, w, w)
Richard Henderson7166eeb2020-10-17 09:19:33 -070040C_O1_I4(r, r, r, rI, rI)
41C_O1_I4(r, r, rIN, rIK, 0)
Richard Henderson72128122023-04-24 12:31:46 +010042C_O2_I1(e, p, q)
43C_O2_I2(e, p, q, q)
Richard Henderson7166eeb2020-10-17 09:19:33 -070044C_O2_I2(r, r, r, r)
45C_O2_I4(r, r, r, r, rIN, rIK)
46C_O2_I4(r, r, rI, rI, rIN, rIK)