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) 18251ebcd8SWANG Xuerui C_O0_I2(rZ, r) 1994505c02SWANG Xuerui C_O0_I2(rZ, 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) 2597b2fafbSWANG Xuerui C_O1_I2(r, r, rC) 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) 319ee775cfSWANG Xuerui C_O1_I2(r, r, rZ) 327257809fSWANG Xuerui C_O1_I2(r, 0, rZ) 330e95be93SRichard Henderson C_O1_I2(r, rZ, ri) 340e95be93SRichard Henderson C_O1_I2(r, rZ, rJ) 35ff13c196SWANG Xuerui C_O1_I2(r, rZ, rZ) 3624c42fdeSJiajie Chen C_O1_I2(w, w, w) 37d8b6fa59SJiajie Chen C_O1_I2(w, w, wM) 38e9d7c8cfSJiajie Chen C_O1_I2(w, w, wA) 39c8b859b4SJiajie Chen C_O1_I3(w, w, w, w) 407bc76a4cSRichard Henderson C_O1_I4(r, rZ, rJ, rZ, rZ) 412b2ae0a4SRichard Henderson C_N2_I1(r, r, r) 42