summaryrefslogtreecommitdiffstats
path: root/tcg/s390/tcg-target-con-set.h
diff options
context:
space:
mode:
authorRichard Henderson2020-10-17 20:15:40 +0200
committerRichard Henderson2021-02-02 23:12:43 +0100
commitd1c36a9032d2208b2cf61d472d6b4f3b47498299 (patch)
tree40a4fe662adadec3f1f6c0673494cabfa75f5970 /tcg/s390/tcg-target-con-set.h
parenttcg/riscv: Split out constraint sets to tcg-target-con-set.h (diff)
downloadqemu-d1c36a9032d2208b2cf61d472d6b4f3b47498299.tar.gz
qemu-d1c36a9032d2208b2cf61d472d6b4f3b47498299.tar.xz
qemu-d1c36a9032d2208b2cf61d472d6b4f3b47498299.zip
tcg/s390: Split out constraint sets to tcg-target-con-set.h
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'tcg/s390/tcg-target-con-set.h')
-rw-r--r--tcg/s390/tcg-target-con-set.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/tcg/s390/tcg-target-con-set.h b/tcg/s390/tcg-target-con-set.h
new file mode 100644
index 0000000000..31985e4903
--- /dev/null
+++ b/tcg/s390/tcg-target-con-set.h
@@ -0,0 +1,29 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Define S390 target-specific constraint sets.
+ * Copyright (c) 2021 Linaro
+ */
+
+/*
+ * C_On_Im(...) defines a constraint set with <n> outputs and <m> inputs.
+ * Each operand should be a sequence of constraint letters as defined by
+ * tcg-target-con-str.h; the constraint combination is inclusive or.
+ */
+C_O0_I1(r)
+C_O0_I2(L, L)
+C_O0_I2(r, r)
+C_O0_I2(r, ri)
+C_O1_I1(r, L)
+C_O1_I1(r, r)
+C_O1_I2(r, 0, ri)
+C_O1_I2(r, 0, rI)
+C_O1_I2(r, 0, rJ)
+C_O1_I2(r, r, ri)
+C_O1_I2(r, rZ, r)
+C_O1_I4(r, r, ri, r, 0)
+C_O1_I4(r, r, ri, rI, 0)
+C_O2_I2(b, a, 0, r)
+C_O2_I3(b, a, 0, 1, r)
+C_O2_I4(r, r, 0, 1, rA, r)
+C_O2_I4(r, r, 0, 1, ri, r)
+C_O2_I4(r, r, 0, 1, r, r)