diff mbox series

[2/4] target/arm: Fix typo in do_sat_addsub_64

Message ID 20180801123111.3595-3-richard.henderson@linaro.org
State Superseded
Headers show
Series target/arm sve fixes | expand

Commit Message

Richard Henderson Aug. 1, 2018, 12:31 p.m. UTC
Used the wrong temporary in the computation of subtractive overflow.

Reported-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

---
 target/arm/translate-sve.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.17.1

Comments

Laurent Desnogues Aug. 1, 2018, 1:30 p.m. UTC | #1
On Wed, Aug 1, 2018 at 2:31 PM, Richard Henderson
<richard.henderson@linaro.org> wrote:
> Used the wrong temporary in the computation of subtractive overflow.

>

> Reported-by: Laurent Desnogues <laurent.desnogues@gmail.com>

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


Reviewed-by: Laurent Desnogues <laurent.desnogues@gmail.com>

Tested-by: Laurent Desnogues <laurent.desnogues@gmail.com>



Laurent

> ---

>  target/arm/translate-sve.c | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

>

> diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c

> index 374051cd20..9dd4c38bab 100644

> --- a/target/arm/translate-sve.c

> +++ b/target/arm/translate-sve.c

> @@ -1625,7 +1625,7 @@ static void do_sat_addsub_64(TCGv_i64 reg, TCGv_i64 val, bool u, bool d)

>              /* Detect signed overflow for subtraction.  */

>              tcg_gen_xor_i64(t0, reg, val);

>              tcg_gen_sub_i64(t1, reg, val);

> -            tcg_gen_xor_i64(reg, reg, t0);

> +            tcg_gen_xor_i64(reg, reg, t1);

>              tcg_gen_and_i64(t0, t0, reg);

>

>              /* Bound the result.  */

> --

> 2.17.1

>
diff mbox series

Patch

diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c
index 374051cd20..9dd4c38bab 100644
--- a/target/arm/translate-sve.c
+++ b/target/arm/translate-sve.c
@@ -1625,7 +1625,7 @@  static void do_sat_addsub_64(TCGv_i64 reg, TCGv_i64 val, bool u, bool d)
             /* Detect signed overflow for subtraction.  */
             tcg_gen_xor_i64(t0, reg, val);
             tcg_gen_sub_i64(t1, reg, val);
-            tcg_gen_xor_i64(reg, reg, t0);
+            tcg_gen_xor_i64(reg, reg, t1);
             tcg_gen_and_i64(t0, t0, reg);
 
             /* Bound the result.  */