Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LRH.2.02.2001161525030.19959@key0.esi.com.au>
Date: Thu, 16 Jan 2020 15:30:03 +1100 (AEDT)
From: Damian McGuckin <damianm@....com.au>
To: musl@...ts.openwall.com
Subject: Considering x86-64 fenv.s to C 


I was just looking at fenv.s in x86-64 with a view to doing this as C-code 
with some __asm__. I have limited experience with playing with this stuff 
in an SSE-only environment, i.e. no 80-bit floats.  Before I attempt 
anything, I need to expand my knowledge.

My observations on

 	musl-1.1.24/src/fenv/x86_64/fenv.s

* feclearexcept

 	considers both the X87 status word and the SSE MXCSR

* feraiseexcept

 	ignores the X87 status word and considers only the SSE MXCSR

* fetesteexcept

 	considers both the X87 status word and the SSE MXCSR

* fesetround

 	considers both the X87 control word and the SSE MXCSR

* fegetround

 	ignores the X87 control word and considers only the SSE MXCSR

Why is the X87 component of the FPU control/status sometimes ignored and 
sometimes not?

Does the X87 control or status bits automatically flow through to the
equivalent stuff in the SSE or vica-versa?

I assume that 'fwait' is irrelevant and unnecessary, even if one is using 
the x87 FPU?

Regards - Damian

Pacific Engineering Systems International, 277-279 Broadway, Glebe NSW 2037
Ph:+61-2-8571-0847 .. Fx:+61-2-9692-9623 | unsolicited email not wanted here
Views & opinions here are mine and not those of any past or present employer

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.