xref: /qemu/tcg/riscv/tcg-target-con-set.h (revision a341c84e8153b7282b083e871ca534f15fa70898)
1665be288SRichard Henderson /* SPDX-License-Identifier: MIT */
2665be288SRichard Henderson /*
3665be288SRichard Henderson  * Define RISC-V target-specific constraint sets.
4665be288SRichard Henderson  * Copyright (c) 2021 Linaro
5665be288SRichard Henderson  */
6665be288SRichard Henderson 
7665be288SRichard Henderson /*
8665be288SRichard Henderson  * C_On_Im(...) defines a constraint set with <n> outputs and <m> inputs.
9665be288SRichard Henderson  * Each operand should be a sequence of constraint letters as defined by
10665be288SRichard Henderson  * tcg-target-con-str.h; the constraint combination is inclusive or.
11665be288SRichard Henderson  */
12665be288SRichard Henderson C_O0_I1(r)
13f466db1eSRichard Henderson C_O0_I2(rz, r)
14f466db1eSRichard Henderson C_O0_I2(rz, rz)
15665be288SRichard Henderson C_O1_I1(r, r)
16*a341c84eSRichard Henderson C_O1_I2(r, r, r)
17665be288SRichard Henderson C_O1_I2(r, r, ri)
18665be288SRichard Henderson C_O1_I2(r, r, rI)
1999f4ec6eSRichard Henderson C_O1_I2(r, r, rJ)
20f466db1eSRichard Henderson C_O1_I2(r, rz, rN)
21f466db1eSRichard Henderson C_O1_I2(r, rz, rz)
22a30498fcSRichard Henderson C_N1_I2(r, r, rM)
23a18d783eSRichard Henderson C_O1_I4(r, r, rI, rM, rM)
24f466db1eSRichard Henderson C_O2_I4(r, r, rz, rz, rM, rM)
25f63e7089SHuang Shiyuan C_O0_I2(v, r)
26f63e7089SHuang Shiyuan C_O1_I1(v, r)
275a63f599STANG Tiancheng C_O1_I1(v, v)
28cbde22f1STANG Tiancheng C_O1_I2(v, v, r)
295a63f599STANG Tiancheng C_O1_I2(v, v, v)
30dc9cd4ecSRichard Henderson C_O1_I2(v, vK, v)
315a63f599STANG Tiancheng C_O1_I2(v, v, vK)
32a31768c0STANG Tiancheng C_O1_I2(v, v, vL)
33a31768c0STANG Tiancheng C_O1_I4(v, v, vL, vK, vK)
34