1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Define LoongArch target-specific constraint sets. 4 * 5 * Copyright (c) 2021 WANG Xuerui <git@xen0n.name> 6 * 7 * Based on tcg/riscv/tcg-target-con-set.h 8 * 9 * Copyright (c) 2021 Linaro 10 */ 11 12 /* 13 * C_On_Im(...) defines a constraint set with <n> outputs and <m> inputs. 14 * Each operand should be a sequence of constraint letters as defined by 15 * tcg-target-con-str.h; the constraint combination is inclusive or. 16 */ 17 C_O0_I1(r) 18 C_O0_I2(rZ, r) 19 C_O0_I2(rZ, rZ) 20 C_O0_I2(w, r) 21 C_O0_I3(r, r, r) 22 C_O1_I1(r, r) 23 C_O1_I1(w, r) 24 C_O1_I1(w, w) 25 C_O1_I2(r, r, rC) 26 C_O1_I2(r, r, ri) 27 C_O1_I2(r, r, rI) 28 C_O1_I2(r, r, rJ) 29 C_O1_I2(r, r, rU) 30 C_O1_I2(r, r, rW) 31 C_O1_I2(r, r, rZ) 32 C_O1_I2(r, 0, rZ) 33 C_O1_I2(r, rZ, ri) 34 C_O1_I2(r, rZ, rJ) 35 C_O1_I2(r, rZ, rZ) 36 C_O1_I2(w, w, w) 37 C_O1_I2(w, w, wM) 38 C_O1_I2(w, w, wA) 39 C_O1_I3(w, w, w, w) 40 C_O1_I4(r, rZ, rJ, rZ, rZ) 41 C_N2_I1(r, r, r) 42