nds32: add new emulations for floating point instruction
The existing floating point emulations is only available for floating instruction that possibly issue denormalized input and underflow exceptions. These existing FPU emulations are not sufficient when IEx Trap is enabled because some floating point instructions only issue inexact exception. This patch adds the emulations of such floating point instructions. Signed-off-by: Vincent Chen <vincentc@andestech.com> Acked-by: Greentime Hu <greentime@andestech.com> Signed-off-by: Greentime Hu <greentime@andestech.com>
This commit is contained in:

committed by
Greentime Hu

szülő
ed32949e0a
commit
9322961205
22
arch/nds32/math-emu/fui2s.c
Normal file
22
arch/nds32/math-emu/fui2s.c
Normal file
@@ -0,0 +1,22 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
// Copyright (C) 2005-2019 Andes Technology Corporation
|
||||
#include <linux/uaccess.h>
|
||||
|
||||
#include <asm/sfp-machine.h>
|
||||
#include <math-emu/soft-fp.h>
|
||||
#include <math-emu/single.h>
|
||||
|
||||
void fui2s(void *ft, void *fa)
|
||||
{
|
||||
unsigned int a = *(unsigned int *)fa;
|
||||
|
||||
FP_DECL_S(R);
|
||||
FP_DECL_EX;
|
||||
|
||||
FP_FROM_INT_S(R, a, 32, int);
|
||||
|
||||
FP_PACK_SP(ft, R);
|
||||
|
||||
__FPU_FPCSR |= FP_CUR_EXCEPTIONS;
|
||||
|
||||
}
|
Reference in New Issue
Block a user