1*7166eebbSRichard Henderson /* SPDX-License-Identifier: MIT */ 2*7166eebbSRichard Henderson /* 3*7166eebbSRichard Henderson * Define Arm target-specific constraint sets. 4*7166eebbSRichard Henderson * Copyright (c) 2021 Linaro 5*7166eebbSRichard Henderson */ 6*7166eebbSRichard Henderson 7*7166eebbSRichard Henderson /* 8*7166eebbSRichard Henderson * C_On_Im(...) defines a constraint set with <n> outputs and <m> inputs. 9*7166eebbSRichard Henderson * Each operand should be a sequence of constraint letters as defined by 10*7166eebbSRichard Henderson * tcg-target-con-str.h; the constraint combination is inclusive or. 11*7166eebbSRichard Henderson */ 12*7166eebbSRichard Henderson C_O0_I1(r) 13*7166eebbSRichard Henderson C_O0_I2(r, r) 14*7166eebbSRichard Henderson C_O0_I2(r, rIN) 15*7166eebbSRichard Henderson C_O0_I2(s, s) 16*7166eebbSRichard Henderson C_O0_I3(s, s, s) 17*7166eebbSRichard Henderson C_O0_I4(r, r, rI, rI) 18*7166eebbSRichard Henderson C_O0_I4(s, s, s, s) 19*7166eebbSRichard Henderson C_O1_I1(r, l) 20*7166eebbSRichard Henderson C_O1_I1(r, r) 21*7166eebbSRichard Henderson C_O1_I2(r, 0, rZ) 22*7166eebbSRichard Henderson C_O1_I2(r, l, l) 23*7166eebbSRichard Henderson C_O1_I2(r, r, r) 24*7166eebbSRichard Henderson C_O1_I2(r, r, rI) 25*7166eebbSRichard Henderson C_O1_I2(r, r, rIK) 26*7166eebbSRichard Henderson C_O1_I2(r, r, rIN) 27*7166eebbSRichard Henderson C_O1_I2(r, r, ri) 28*7166eebbSRichard Henderson C_O1_I2(r, rZ, rZ) 29*7166eebbSRichard Henderson C_O1_I4(r, r, r, rI, rI) 30*7166eebbSRichard Henderson C_O1_I4(r, r, rIN, rIK, 0) 31*7166eebbSRichard Henderson C_O2_I1(r, r, l) 32*7166eebbSRichard Henderson C_O2_I2(r, r, l, l) 33*7166eebbSRichard Henderson C_O2_I2(r, r, r, r) 34*7166eebbSRichard Henderson C_O2_I4(r, r, r, r, rIN, rIK) 35*7166eebbSRichard Henderson C_O2_I4(r, r, rI, rI, rIN, rIK) 36