[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [RFC PATCH 17/30] target/arm/translate-a64.c: add FP16 FM
From: |
Richard Henderson |
Subject: |
Re: [Qemu-arm] [RFC PATCH 17/30] target/arm/translate-a64.c: add FP16 FMULX |
Date: |
Mon, 16 Oct 2017 15:24:27 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 |
On 10/13/2017 09:24 AM, Alex Bennée wrote:
> --- a/target/arm/translate-a64.c
> +++ b/target/arm/translate-a64.c
> @@ -10648,7 +10648,7 @@ static void disas_simd_indexed(DisasContext *s,
> uint32_t insn)
> }
> /* fall through */
> case 0x9: /* FMUL, FMULX */
> - if (!extract32(size, 1, 1)) {
> + if (!extract32(size, 1, 1) && !arm_dc_feature(s,
> ARM_FEATURE_V8_FP16)) {
> unallocated_encoding(s);
> return;
> }
This isn't quite right --
00 = fp16
10 = fp32
11 = fp64
You still need to diagnose 01.
> @@ -10805,10 +10817,23 @@ static void disas_simd_indexed(DisasContext *s,
> uint32_t insn)
> gen_helper_vfp_muladds(tcg_res, tcg_op, tcg_idx, tcg_res,
> fpst);
> break;
> case 0x9: /* FMUL, FMULX */
> - if (u) {
> - gen_helper_vfp_mulxs(tcg_res, tcg_op, tcg_idx, fpst);
> - } else {
> - gen_helper_vfp_muls(tcg_res, tcg_op, tcg_idx, fpst);
> + switch (size) {
> + case 1:
MO_* here, since you converted to them above.
r~
- Re: [Qemu-arm] [RFC PATCH 08/30] softfloat: add half-precision expansions for MINMAX fns, (continued)
- [Qemu-arm] [RFC PATCH 05/30] softfloat: implement propagateFloat16NaN, Alex Bennée, 2017/10/13
- [Qemu-arm] [RFC PATCH 12/30] target/arm/translate-a64.c: handle_3same_64 comment fix, Alex Bennée, 2017/10/13
- [Qemu-arm] [RFC PATCH 09/30] softfloat: propagate signalling NaNs in MINMAX, Alex Bennée, 2017/10/13
- [Qemu-arm] [RFC PATCH 11/30] target/arm: implement half-precision F(MIN|MAX)(V|NMV), Alex Bennée, 2017/10/13
- [Qemu-arm] [RFC PATCH 17/30] target/arm/translate-a64.c: add FP16 FMULX, Alex Bennée, 2017/10/13
- Re: [Qemu-arm] [RFC PATCH 17/30] target/arm/translate-a64.c: add FP16 FMULX,
Richard Henderson <=
- [Qemu-arm] [RFC PATCH 15/30] softfloat: half-precision add/sub/mul/div support, Alex Bennée, 2017/10/13
- [Qemu-arm] [RFC PATCH 10/30] softfloat: improve comments on ARM NaN propagation, Alex Bennée, 2017/10/13
- [Qemu-arm] [RFC PATCH 22/30] target/arm/translate-a64.c: add FP16 FAGCT to AdvSIMD 3 Same, Alex Bennée, 2017/10/13
- [Qemu-arm] [RFC PATCH 26/30] tests/test-softfloat: add a simple test framework, Alex Bennée, 2017/10/13
- [Qemu-arm] [RFC PATCH 13/30] target/arm/translate-a64.c: AdvSIMD scalar 3 Same FP16 initial decode, Alex Bennée, 2017/10/13