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