xref: /qemu/tcg/loongarch64/tcg-target-con-set.h (revision ffd642cb2ca25262342311a3bf2e8a77a00e6dfd)
1e3b15766SWANG Xuerui /* SPDX-License-Identifier: MIT */
2e3b15766SWANG Xuerui /*
3e3b15766SWANG Xuerui  * Define LoongArch target-specific constraint sets.
4e3b15766SWANG Xuerui  *
5e3b15766SWANG Xuerui  * Copyright (c) 2021 WANG Xuerui <git@xen0n.name>
6e3b15766SWANG Xuerui  *
7e3b15766SWANG Xuerui  * Based on tcg/riscv/tcg-target-con-set.h
8e3b15766SWANG Xuerui  *
9e3b15766SWANG Xuerui  * Copyright (c) 2021 Linaro
10e3b15766SWANG Xuerui  */
11e3b15766SWANG Xuerui 
12e3b15766SWANG Xuerui /*
13e3b15766SWANG Xuerui  * C_On_Im(...) defines a constraint set with <n> outputs and <m> inputs.
14e3b15766SWANG Xuerui  * Each operand should be a sequence of constraint letters as defined by
15e3b15766SWANG Xuerui  * tcg-target-con-str.h; the constraint combination is inclusive or.
16e3b15766SWANG Xuerui  */
17e3b15766SWANG Xuerui C_O0_I1(r)
18305370e7SRichard Henderson C_O0_I2(rz, r)
1999ac4706SRichard Henderson C_O0_I2(r, rz)
2016288dedSJiajie Chen C_O0_I2(w, r)
2158f89612SJiajie Chen C_O0_I3(r, r, r)
226be08fcfSWANG Xuerui C_O1_I1(r, r)
2316288dedSJiajie Chen C_O1_I1(w, r)
2424c42fdeSJiajie Chen C_O1_I1(w, w)
25a341c84eSRichard Henderson C_O1_I2(r, r, r)
26a164010bSWANG Xuerui C_O1_I2(r, r, ri)
2739f54ce5SWANG Xuerui C_O1_I2(r, r, rI)
280e95be93SRichard Henderson C_O1_I2(r, r, rJ)
2997b2fafbSWANG Xuerui C_O1_I2(r, r, rU)
30fde69301SWANG Xuerui C_O1_I2(r, r, rW)
31305370e7SRichard Henderson C_O1_I2(r, 0, rz)
3224c42fdeSJiajie Chen C_O1_I2(w, w, w)
33d8b6fa59SJiajie Chen C_O1_I2(w, w, wM)
34e9d7c8cfSJiajie Chen C_O1_I2(w, w, wA)
35c8b859b4SJiajie Chen C_O1_I3(w, w, w, w)
36*1f406e46SRichard Henderson C_O1_I4(r, r, rJ, rz, rz)
372b2ae0a4SRichard Henderson C_N2_I1(r, r, r)
38