mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 07:13:54 -06:00
target/arm: Implement fp16 for Neon VRINT-with-specified-rounding-mode
Convert the Neon VRINT-with-specified-rounding-mode insns to gvec, and use this to implement the fp16 versions. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20200828183354.27913-41-peter.maydell@linaro.org
This commit is contained in:
parent
ca88a6efdf
commit
18725916b1
4 changed files with 30 additions and 79 deletions
|
@ -459,23 +459,6 @@ uint32_t HELPER(set_rmode)(uint32_t rmode, void *fpstp)
|
|||
return prev_rmode;
|
||||
}
|
||||
|
||||
/* Set the current fp rounding mode in the standard fp status and return
|
||||
* the old one. This is for NEON instructions that need to change the
|
||||
* rounding mode but wish to use the standard FPSCR values for everything
|
||||
* else. Always set the rounding mode back to the correct value after
|
||||
* modifying it.
|
||||
* The argument is a softfloat float_round_ value.
|
||||
*/
|
||||
uint32_t HELPER(set_neon_rmode)(uint32_t rmode, CPUARMState *env)
|
||||
{
|
||||
float_status *fp_status = &env->vfp.standard_fp_status;
|
||||
|
||||
uint32_t prev_rmode = get_float_rounding_mode(fp_status);
|
||||
set_float_rounding_mode(rmode, fp_status);
|
||||
|
||||
return prev_rmode;
|
||||
}
|
||||
|
||||
/* Half precision conversions. */
|
||||
float32 HELPER(vfp_fcvt_f16_to_f32)(uint32_t a, void *fpstp, uint32_t ahp_mode)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue