17166eebbSRichard Henderson /* SPDX-License-Identifier: MIT */ 27166eebbSRichard Henderson /* 37166eebbSRichard Henderson * Define Arm target-specific constraint sets. 47166eebbSRichard Henderson * Copyright (c) 2021 Linaro 57166eebbSRichard Henderson */ 67166eebbSRichard Henderson 77166eebbSRichard Henderson /* 87166eebbSRichard Henderson * C_On_Im(...) defines a constraint set with <n> outputs and <m> inputs. 97166eebbSRichard Henderson * Each operand should be a sequence of constraint letters as defined by 107166eebbSRichard Henderson * tcg-target-con-str.h; the constraint combination is inclusive or. 117166eebbSRichard Henderson */ 127166eebbSRichard Henderson C_O0_I1(r) 137166eebbSRichard Henderson C_O0_I2(r, r) 147166eebbSRichard Henderson C_O0_I2(r, rIN) 157166eebbSRichard Henderson C_O0_I2(s, s) 16*000cf477SRichard Henderson C_O0_I2(w, r) 177166eebbSRichard Henderson C_O0_I3(s, s, s) 187166eebbSRichard Henderson C_O0_I4(r, r, rI, rI) 197166eebbSRichard Henderson C_O0_I4(s, s, s, s) 207166eebbSRichard Henderson C_O1_I1(r, l) 217166eebbSRichard Henderson C_O1_I1(r, r) 22*000cf477SRichard Henderson C_O1_I1(w, r) 23*000cf477SRichard Henderson C_O1_I1(w, wr) 247166eebbSRichard Henderson C_O1_I2(r, 0, rZ) 257166eebbSRichard Henderson C_O1_I2(r, l, l) 267166eebbSRichard Henderson C_O1_I2(r, r, r) 277166eebbSRichard Henderson C_O1_I2(r, r, rI) 287166eebbSRichard Henderson C_O1_I2(r, r, rIK) 297166eebbSRichard Henderson C_O1_I2(r, r, rIN) 307166eebbSRichard Henderson C_O1_I2(r, r, ri) 317166eebbSRichard Henderson C_O1_I2(r, rZ, rZ) 32*000cf477SRichard Henderson C_O1_I2(w, w, w) 337166eebbSRichard Henderson C_O1_I4(r, r, r, rI, rI) 347166eebbSRichard Henderson C_O1_I4(r, r, rIN, rIK, 0) 357166eebbSRichard Henderson C_O2_I1(r, r, l) 367166eebbSRichard Henderson C_O2_I2(r, r, l, l) 377166eebbSRichard Henderson C_O2_I2(r, r, r, r) 387166eebbSRichard Henderson C_O2_I4(r, r, r, r, rIN, rIK) 397166eebbSRichard Henderson C_O2_I4(r, r, rI, rI, rIN, rIK) 40