arm/translate-a64: add FP16 FRSQRTE to simd_two_reg_misc_fp16

Backports commit c625ff95070e3ef96bd007de744e1d97c881efeb from qemu
This commit is contained in:
Alex Bennée 2018-03-08 22:45:28 -05:00 committed by Lioncash
parent 068143595e
commit b117df18df
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7

View file

@ -11544,6 +11544,7 @@ static void disas_simd_two_reg_misc_fp16(DisasContext *s, uint32_t insn)
case 0x6f: /* FNEG */
need_fpst = false;
break;
case 0x7d: /* FRSQRTE */
case 0x7f: /* FSQRT (vector) */
break;
default:
@ -11607,6 +11608,9 @@ static void disas_simd_two_reg_misc_fp16(DisasContext *s, uint32_t insn)
case 0x6f: /* FNEG */
tcg_gen_xori_i32(tcg_ctx, tcg_res, tcg_op, 0x8000);
break;
case 0x7d: /* FRSQRTE */
gen_helper_rsqrte_f16(tcg_ctx, tcg_res, tcg_op, tcg_fpstatus);
break;
default:
g_assert_not_reached();
}
@ -11659,6 +11663,9 @@ static void disas_simd_two_reg_misc_fp16(DisasContext *s, uint32_t insn)
case 0x6f: /* FNEG */
tcg_gen_xori_i32(tcg_ctx, tcg_res, tcg_op, 0x8000);
break;
case 0x7d: /* FRSQRTE */
gen_helper_rsqrte_f16(tcg_ctx, tcg_res, tcg_op, tcg_fpstatus);
break;
case 0x7f: /* FSQRT */
gen_helper_sqrt_f16(tcg_ctx, tcg_res, tcg_op, tcg_fpstatus);
break;