On 21/10/22 09:30, Richard Henderson wrote:
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/s390x/helper.h | 32 ++++++-------
target/s390x/tcg/fpu_helper.c | 88 ++++++++++++++--------------------
target/s390x/tcg/translate.c | 76 ++++++++++++++++++++---------
target/s390x/tcg/insn-data.def | 30 ++++++------
4 files changed, 121 insertions(+), 105 deletions(-)
diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c
index d1ffbb8710..8023bbab2f 100644
--- a/target/s390x/tcg/translate.c
+++ b/target/s390x/tcg/translate.c
@@ -305,6 +305,18 @@ static TCGv_i64 load_freg32_i64(int reg)
return r;
}
+static TCGv_i128 load_freg_128(int reg)
+{
+ TCGv_i64 h = load_freg(reg);
+ TCGv_i64 l = load_freg(reg + 2);
+ TCGv_i128 r = tcg_temp_new_i128();
Maybe rename as load_freg_new_128() to make emphasis on the returned
TCGv need to be freed?