• Vincent Chen's avatar
    nds32: Avoid IEX status being incorrectly modified · ed32949e
    Vincent Chen authored
    In order for kernel to capture each denormalized output, the UDF
    trapping enable bit is always raised in $fpcsr. Because underflow case will
    issue not an underflow exception but also an inexact exception, it causes
    that the IEX, IEX cumulative exception, flag in $fpcsr to be raised in each
    denormalized output handling. To make the emulation transparent to the
    user, the emulator needs to clear the IEX flag in $fpcsr if the result is a
    denormalized number. However, if the IEX flag has been raised before this
    floating point emulation, this cleanup may be incorrect. To avoid the IEX
    flags in $fpcsr be raised in each denormalized output handling, the IEX
    trap shall be always enabled.
    Signed-off-by: default avatarVincent Chen <vincentc@andestech.com>
    Acked-by: default avatarGreentime Hu <greentime@andestech.com>
    Signed-off-by: default avatarGreentime Hu <greentime@andestech.com>
    ed32949e
sys_nds32.c 1.77 KB