[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH 21/30] target/arm/translate-a64: add FP16 2-
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [RFC PATCH 21/30] target/arm/translate-a64: add FP16 2-reg misc compare (zero) |
Date: |
Mon, 16 Oct 2017 17:36:17 -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:
> @@ -7792,7 +7793,7 @@ static void handle_2misc_fcmp_zero(DisasContext *s, int
> opcode,
> swap = true;
> /* fall through */
> case 0x2c: /* FCMGT (zero) */
> - genfn = gen_helper_neon_cgt_f32;
> + genfn = hp ? gen_helper_advsimd_cgt_f16 :
> gen_helper_neon_cgt_f32;
> break;
> case 0x2d: /* FCMEQ (zero) */
> genfn = gen_helper_neon_ceq_f32;
> @@ -7814,7 +7815,7 @@ static void handle_2misc_fcmp_zero(DisasContext *s, int
> opcode,
> }
>
> for (pass = 0; pass < maxpasses; pass++) {
> - read_vec_element_i32(s, tcg_op, rn, pass, MO_32);
> + read_vec_element_i32(s, tcg_op, rn, pass, hp ? MO_16 : MO_32);
> if (swap) {
> genfn(tcg_res, tcg_zero, tcg_op, fpst);
> } else {
I don't see a change to maxpasses here.
> case 0x2: /* FADD */
> gen_helper_advsimd_addh(tcg_res, tcg_op1, tcg_op2, fpst);
> break;
> + case 0x6: /* FMAX */
> + gen_helper_advsimd_maxh(tcg_res, tcg_op1, tcg_op2, fpst);
> + break;
> case 0x23: /* FMUL */
> gen_helper_advsimd_mulh(tcg_res, tcg_op1, tcg_op2, fpst);
> break;
Belongs in another patch?
r~
- Re: [Qemu-devel] [RFC PATCH 13/30] target/arm/translate-a64.c: AdvSIMD scalar 3 Same FP16 initial decode, (continued)
- [Qemu-devel] [RFC PATCH 23/30] softfloat: add float16_rem and float16_muladd (!CHECK), Alex Bennée, 2017/10/13
- [Qemu-devel] [RFC PATCH 18/30] target/arm/translate-a64.c: add AdvSIMD scalar two-reg misc skeleton, Alex Bennée, 2017/10/13
- [Qemu-devel] [RFC PATCH 20/30] softfloat: half-precision compare functions, Alex Bennée, 2017/10/13
- [Qemu-devel] [RFC PATCH 25/30] softfloat: float16_round_to_int, Alex Bennée, 2017/10/13
- [Qemu-devel] [RFC PATCH 27/30] target/arm/translate-a64.c: add FP16 FRINTP to 2 reg misc, Alex Bennée, 2017/10/13
- [Qemu-devel] [RFC PATCH 30/30] target/arm/translate-a64.c: add FP16 FCVTPS to 2 reg misc, Alex Bennée, 2017/10/13
- [Qemu-devel] [RFC PATCH 28/30] softfloat: float16_to_int16 conversion, Alex Bennée, 2017/10/13
- [Qemu-devel] [RFC PATCH 21/30] target/arm/translate-a64: add FP16 2-reg misc compare (zero), Alex Bennée, 2017/10/13
- Re: [Qemu-devel] [RFC PATCH 21/30] target/arm/translate-a64: add FP16 2-reg misc compare (zero),
Richard Henderson <=
- [Qemu-devel] [RFC PATCH 24/30] disas_simd_indexed: support half-precision operations, Alex Bennée, 2017/10/13
- [Qemu-devel] [RFC PATCH 14/30] softfloat: 16 bit helpers for shr, clz and rounding and packing, Alex Bennée, 2017/10/13
- [Qemu-devel] [RFC PATCH 19/30] Fix mask for AdvancedSIMD 2 reg misc, Alex Bennée, 2017/10/13
- [Qemu-devel] [RFC PATCH 16/30] target/arm/translate-a64.c: add FP16 FADD/FMUL/FDIV to AdvSIMD 3 Same (!sub), Alex Bennée, 2017/10/13
- Re: [Qemu-devel] [RFC PATCH 00/30] v8.2 half-precision support (work-in-progress), no-reply, 2017/10/13
- Re: [Qemu-devel] [RFC PATCH 00/30] v8.2 half-precision support (work-in-progress), no-reply, 2017/10/14