xref: /qemu/tcg/riscv/tcg-target-con-set.h (revision a31768c0192a6f1f62d07c4985a77814be34a915)
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)
13665be288SRichard Henderson C_O0_I2(rZ, r)
14665be288SRichard Henderson C_O0_I2(rZ, rZ)
15665be288SRichard Henderson C_O1_I1(r, r)
16665be288SRichard Henderson C_O1_I2(r, r, ri)
17665be288SRichard Henderson C_O1_I2(r, r, rI)
1899f4ec6eSRichard Henderson C_O1_I2(r, r, rJ)
19665be288SRichard Henderson C_O1_I2(r, rZ, rN)
20665be288SRichard Henderson C_O1_I2(r, rZ, rZ)
21a30498fcSRichard Henderson C_N1_I2(r, r, rM)
22a18d783eSRichard Henderson C_O1_I4(r, r, rI, rM, rM)
23665be288SRichard Henderson C_O2_I4(r, r, rZ, rZ, rM, rM)
24f63e7089SHuang Shiyuan C_O0_I2(v, r)
25f63e7089SHuang Shiyuan C_O1_I1(v, r)
265a63f599STANG Tiancheng C_O1_I1(v, v)
275a63f599STANG Tiancheng C_O1_I2(v, v, v)
285a63f599STANG Tiancheng C_O1_I2(v, v, vK)
29*a31768c0STANG Tiancheng C_O1_I2(v, v, vL)
30*a31768c0STANG Tiancheng C_O1_I4(v, v, vL, vK, vK)
31