target/arm: Implement fp16 for Neon float-integer VCVT
commit7782a9afec81d1efe23572135c1ed777691ccde5
authorPeter Maydell <peter.maydell@linaro.org>
Fri, 28 Aug 2020 18:33:45 +0000 (28 19:33 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 1 Sep 2020 10:38:35 +0000 (1 11:38 +0100)
tree476dbd313a0901e4fef2992a604875c6ad4daafe
parent1dc587ee9bfe804406eb3e0bacf47a80644d8abc
target/arm: Implement fp16 for Neon float-integer VCVT

Convert the Neon float-integer VCVT insns to gvec, and use this
to implement fp16 support for them.

Note that unlike the VFP int<->fp16 VCVT insns we converted
earlier and which convert to/from a 32-bit integer, these
Neon insns convert to/from 16-bit integers. So we can use
the existing vfp conversion helpers for the f32<->u32/i32
case but need to provide our own for f16<->u16/i16.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20200828183354.27913-37-peter.maydell@linaro.org
target/arm/helper.h
target/arm/translate-neon.c.inc
target/arm/vec_helper.c