This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug math/16064] New: x86 fenv_t doesn't include SSE state


https://sourceware.org/bugzilla/show_bug.cgi?id=16064

            Bug ID: 16064
           Summary: x86 fenv_t doesn't include SSE state
           Product: glibc
           Version: 2.18
            Status: NEW
          Severity: normal
          Priority: P2
         Component: math
          Assignee: unassigned at sourceware dot org
          Reporter: jsm28 at gcc dot gnu.org
              Host: i?86-*-*

The fenv_t type in sysdeps/x86/fpu/bits/fenv.h only includes the SSE MXCSR for
x86_64, not for 32-bit x86.  Since various fenv.h functions *do* use SSE,
runtime-conditionally on it being supported, this means peculiarities such as
feholdexcept/feupdateenv pairs clearing SSE exception state and trap enablement
in feholdexcept, but not restoring it in feupdateenv because the old MXCSR
state wasn't saved.

Fixing this, thereby increasing the size of fenv_t, will require new symbol
versions for fegetenv / fesetenv / feholdexcept / feupdateenv on x86 (with the
compat versions of the functions continuing to save/restore only the x87 parts
of the state).

-- 
You are receiving this mail because:
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]