On 21/10/22 09:30, Richard Henderson wrote:
Signed-off-by: Richard Henderson <richard.hender...@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? Otherwise:

Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>

+    tcg_gen_concat_i64_i128(r, l, h);
+    tcg_temp_free_i64(h);
+    tcg_temp_free_i64(l);
+    return r;
+}



Reply via email to