https://bugs.kde.org/show_bug.cgi?id=357059

--- Comment #4 from Janne Grunau <janne-...@jannau.net> ---
(In reply to Julian Seward from comment #2)
> I'm not sure your test program is correct.  The tag word is 16 bits
> at byte offsets 8 and 9, but the program tests fenv[9] and [10].
> 
> That said .. even after changing the 9 and 10 to 8 and 9, it still
> gives different results natively vs on V.  So something's up here.

Oops, yes, the sample program is wrong but the real check uses the correct
offset:
https://git.libav.org/?p=libav.git;a=blob;f=tests/checkasm/x86/checkasm.asm;h=55212fc24b3be71f25eb3e9f8066bd2cee1c5eef;hb=HEAD#l227

> Is this just a curiosity, or is it causing a problem for you?

It's more than curiosity. We added tests for handwritten asm in libav (see
tests/checkasm/). It also checks if the asm follows calling convention. I.e
restores callee saved registers, makes no assumption of the upper half of int
arguments on 64-bit targets and checks if the fpu state was restored properly.
The latter check failed under valgrind on a function using cvtpi2ps with a
memory operand and no other MMX usage.

It only affects a function targeting SSE which will be only used if SSE2 is not
available so I added the emms in
https://git.libav.org/?p=libav.git;a=commitdiff;h=8563f9887194b07c972c3475d6b51592d77f73f7
.  So it's not really a problem for us although there is still the issue that
valgrind's behaviour differs from all CPU I tested.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to