diff mbox

Add fetestexceptflag

Message ID b5c6ce83-4ed6-277e-2cbf-8523d6e65fff@linux.vnet.ibm.com
State New
Headers show

Commit Message

Stefan Liebler Aug. 29, 2016, 10:41 a.m. UTC
On 08/26/2016 07:37 PM, Joseph Myers wrote:
> TS 18661-1 defines an fetestexceptflag function to test the exception
> state saved in an fexcept_t object by fegetexceptflag.
>
> This patch implements this function for glibc.  Almost all
> architectures save exception state in such a way that it can be
> directly ANDed with exception flag bits, so rather than having lots of
> fetestexceptflag implementations that all do the same thing, the math/
> implementation is made to use this generic logic (which is also OK in
> the fallback case where FE_ALL_EXCEPT is zero).  The only architecture
> that seems to need anything different is s390.
Hi Joseph,

the s390-version of fetestexceptflag is okay.
The testcase passes on s390/s390x and I verified that the content of 
dxc-byte is used.

Please add the following comment:
           & FE_ALL_EXCEPT);


Thanks,
Stefan
diff mbox

Patch

diff --git a/sysdeps/s390/fpu/fetestexceptflag.c 
b/sysdeps/s390/fpu/fetestexceptflag.c
index b7e64ab..d5646c5 100644
--- a/sysdeps/s390/fpu/fetestexceptflag.c
+++ b/sysdeps/s390/fpu/fetestexceptflag.c
@@ -22,6 +22,9 @@ 
  int
  fetestexceptflag (const fexcept_t *flagp, int excepts)
  {
+  /* As *flagp is obtained by an earlier call of fegetexceptflag the 
bits 0-5
+     of dxc-byte are either zero or correspond to the flag-bits.
+     Evaluate flags and last dxc-exception-code.  */
    return (((*flagp >> FPC_FLAGS_SHIFT) | (*flagp >> FPC_DXC_SHIFT))
           & excepts