diff mbox series

[3/3] target/hppa: add: fix trap on overflow for narrow mode

Message ID 20240321184228.611897-3-svens@stackframe.org
State New
Headers show
Series [1/3] target/hppa: add unit conditions for wide mode | expand

Commit Message

Sven Schnelle March 21, 2024, 6:42 p.m. UTC
Signed-off-by: Sven Schnelle <svens@stackframe.org>
---
 target/hppa/translate.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Richard Henderson March 21, 2024, 8:04 p.m. UTC | #1
On 3/21/24 08:42, Sven Schnelle wrote:
> Signed-off-by: Sven Schnelle <svens@stackframe.org>
> ---
>   target/hppa/translate.c | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/target/hppa/translate.c b/target/hppa/translate.c
> index 4d2b96f876..74a9ea0cd8 100644
> --- a/target/hppa/translate.c
> +++ b/target/hppa/translate.c
> @@ -1122,6 +1122,9 @@ static void do_add(DisasContext *ctx, unsigned rt, TCGv_i64 in1,
>       if (is_tsv || cond_need_sv(c)) {
>           sv = do_add_sv(ctx, dest, in1, in2);
>           if (is_tsv) {
> +            if (!d) {
> +                tcg_gen_ext32s_i64(sv, sv);
> +            }
>               /* ??? Need to include overflow from shift.  */
>               gen_helper_tsv(tcg_env, sv);
>           }

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~
diff mbox series

Patch

diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index 4d2b96f876..74a9ea0cd8 100644
--- a/target/hppa/translate.c
+++ b/target/hppa/translate.c
@@ -1122,6 +1122,9 @@  static void do_add(DisasContext *ctx, unsigned rt, TCGv_i64 in1,
     if (is_tsv || cond_need_sv(c)) {
         sv = do_add_sv(ctx, dest, in1, in2);
         if (is_tsv) {
+            if (!d) {
+                tcg_gen_ext32s_i64(sv, sv);
+            }
             /* ??? Need to include overflow from shift.  */
             gen_helper_tsv(tcg_env, sv);
         }