aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2022-10-14 07:37:38 +1100
committerRichard Henderson <richard.henderson@linaro.org>2023-01-05 11:34:14 -0800
commit29f5e92502effeadde242500a63dfd87a275ab46 (patch)
tree5f5699e04f261b39860c6189810db4db0e38f127 /include
parent8940ea0d326252cdbfd0fb5d6092caa3647a3b94 (diff)
downloadqemu-29f5e92502effeadde242500a63dfd87a275ab46.zip
qemu-29f5e92502effeadde242500a63dfd87a275ab46.tar.gz
qemu-29f5e92502effeadde242500a63dfd87a275ab46.tar.bz2
tcg: Introduce paired register allocation
There are several instances where we need to be able to allocate a pair of registers to related inputs/outputs. Add 'p' and 'm' register constraints for this, in order to be able to allocate the even/odd register first or second. Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include')
-rw-r--r--include/tcg/tcg.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/tcg/tcg.h b/include/tcg/tcg.h
index d84bae6..5c2254c 100644
--- a/include/tcg/tcg.h
+++ b/include/tcg/tcg.h
@@ -951,6 +951,8 @@ typedef struct TCGArgConstraint {
unsigned ct : 16;
unsigned alias_index : 4;
unsigned sort_index : 4;
+ unsigned pair_index : 4;
+ unsigned pair : 2; /* 0: none, 1: first, 2: second, 3: second alias */
bool oalias : 1;
bool ialias : 1;
bool newreg : 1;