[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 23/69] target/arm: Fix decode of fp16 vector fabs, fneg
From: |
Richard Henderson |
Subject: |
[PATCH v2 23/69] target/arm: Fix decode of fp16 vector fabs, fneg |
Date: |
Tue, 10 Dec 2024 10:16:47 -0600 |
These opcodes are only supported as vector operations,
not as advsimd scalar. Set only_in_vector, and remove
the unreachable implementation of scalar fneg.
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/arm/tcg/translate-a64.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/target/arm/tcg/translate-a64.c b/target/arm/tcg/translate-a64.c
index a99f3d0d13..f67360c4c5 100644
--- a/target/arm/tcg/translate-a64.c
+++ b/target/arm/tcg/translate-a64.c
@@ -10816,6 +10816,7 @@ static void disas_simd_two_reg_misc_fp16(DisasContext
*s, uint32_t insn)
break;
case 0x2f: /* FABS */
case 0x6f: /* FNEG */
+ only_in_vector = true;
need_fpst = false;
break;
case 0x7d: /* FRSQRTE */
@@ -10877,9 +10878,6 @@ static void disas_simd_two_reg_misc_fp16(DisasContext
*s, uint32_t insn)
case 0x7b: /* FCVTZU */
gen_helper_advsimd_f16touinth(tcg_res, tcg_op, tcg_fpstatus);
break;
- case 0x6f: /* FNEG */
- tcg_gen_xori_i32(tcg_res, tcg_op, 0x8000);
- break;
case 0x7d: /* FRSQRTE */
gen_helper_rsqrte_f16(tcg_res, tcg_op, tcg_fpstatus);
break;
--
2.43.0
- [PATCH v2 11/69] target/arm: Convert disas_logic_reg to decodetree, (continued)
- [PATCH v2 11/69] target/arm: Convert disas_logic_reg to decodetree, Richard Henderson, 2024/12/10
- [PATCH v2 12/69] target/arm: Convert disas_add_sub_ext_reg to decodetree, Richard Henderson, 2024/12/10
- [PATCH v2 13/69] target/arm: Convert disas_add_sub_reg to decodetree, Richard Henderson, 2024/12/10
- [PATCH v2 14/69] target/arm: Convert disas_data_proc_3src to decodetree, Richard Henderson, 2024/12/10
- [PATCH v2 15/69] target/arm: Convert disas_adc_sbc to decodetree, Richard Henderson, 2024/12/10
- [PATCH v2 18/69] target/arm: Convert CCMP, CCMN to decodetree, Richard Henderson, 2024/12/10
- [PATCH v2 19/69] target/arm: Convert disas_cond_select to decodetree, Richard Henderson, 2024/12/10
- [PATCH v2 21/69] target/arm: Introduce fp_access_check_vector_hsd, Richard Henderson, 2024/12/10
- [PATCH v2 22/69] target/arm: Convert FCMP, FCMPE, FCCMP, FCCMPE to decodetree, Richard Henderson, 2024/12/10
- [PATCH v2 17/69] target/arm: Convert SETF8, SETF16 to decodetree, Richard Henderson, 2024/12/10
- [PATCH v2 23/69] target/arm: Fix decode of fp16 vector fabs, fneg,
Richard Henderson <=
- [PATCH v2 16/69] target/arm: Convert RMIF to decodetree, Richard Henderson, 2024/12/10
- [PATCH v2 20/69] target/arm: Introduce fp_access_check_scalar_hsd, Richard Henderson, 2024/12/10
- [PATCH v2 25/69] target/arm: Pass fpstatus to vfp_sqrt*, Richard Henderson, 2024/12/10
- [PATCH v2 26/69] target/arm: Remove helper_sqrt_f16, Richard Henderson, 2024/12/10
- [PATCH v2 24/69] target/arm: Convert FMOV, FABS, FNEG (scalar) to decodetree, Richard Henderson, 2024/12/10
- [PATCH v2 27/69] target/arm: Convert FSQRT (scalar) to decodetree, Richard Henderson, 2024/12/10
- [PATCH v2 28/69] target/arm: Convert FRINT[NPMSAXI] (scalar) to decodetree, Richard Henderson, 2024/12/10