This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Include SSE state in i386 fenv_t (bug 16064)
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: "Joseph S. Myers" <joseph at codesourcery dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Fri, 9 May 2014 09:31:57 -0700
- Subject: Re: Include SSE state in i386 fenv_t (bug 16064)
- Authentication-results: sourceware.org; auth=none
- References: <Pine dot LNX dot 4 dot 64 dot 1405082300140 dot 12485 at digraph dot polyomino dot org dot uk> <CAMe9rOo6x37VNp161KzF1pTEMFs++uEVgHfO=+8O9wdmg6sHTg at mail dot gmail dot com> <Pine dot LNX dot 4 dot 64 dot 1405091210550 dot 8692 at digraph dot polyomino dot org dot uk> <CAMe9rOq8Q4FWGd=qSjLxjvHXb-GGcAVhLER7QTYaqm8vGJrHdw at mail dot gmail dot com> <Pine dot LNX dot 4 dot 64 dot 1405091549060 dot 14073 at digraph dot polyomino dot org dot uk> <CAMe9rOroBEfqa6S-uPHANa2b35EwwZe_1ZGHK4g_PmEz_bopjw at mail dot gmail dot com> <Pine dot LNX dot 4 dot 64 dot 1405091605170 dot 14073 at digraph dot polyomino dot org dot uk>
On Fri, May 9, 2014 at 9:06 AM, Joseph S. Myers <joseph@codesourcery.com> wrote:
> On Fri, 9 May 2014, H.J. Lu wrote:
>
>> On Fri, May 9, 2014 at 8:49 AM, Joseph S. Myers <joseph@codesourcery.com> wrote:
>> > On Fri, 9 May 2014, H.J. Lu wrote:
>> >
>> >> There are 4 unused short int fields in fenv_t. Can we use 2 of them
>> >> for mxcsr instead of re-using __eip?
>> >
>> > You could, but I don't think it's worth the extra complexity. __eip is
>> > already reused for this purpose in the fenv_private code.
>> >
>>
>> If I read fenv_private correctly, we don't load x87 fenv_t with
>> __eip set to mxcsr. Am I correct?
>
> That may be the case (and this patch avoids loading it in the <fenv.h>
> functions - it just loads 0 there in fesetenv rather than treating eip as
> a meaningful part of the x87 environment at C level).
>
When loading load x87 fenv_t, we should either not to
change __eip or set it to 0 together with other fields,
similar to other code paths in __fesetenv, to avoid any
potential issues.
--
H.J.