https://bugs.freedesktop.org/show_bug.cgi?id=106644

--- Comment #41 from Roland Scheidegger <srol...@vmware.com> ---
(In reply to Ben Crocker from comment #40)
> 'make check'/lp_test_arit fails in exactly the same way when I run it
> on a ppc64le machine.

That is sort of expected I guess. We only use "arch rounding" with either sse41
or altivec. sse2 has a special path too (as it can do float->int conversion
with nearest rounding).
All other architectures will do round via float->int conversion (by doing float
add with +-0.5 depending on sign first) - look at lp_build_round. This will do
nearest rounding, but not nearest even, which the test expects.
I think this should not be a problem in practice. If your chip does have native
rounding instructions, you could try forcing the same path as what we use with
sse41 - which is using llvm.nearbyint (in theory I suppose it should work with
architectures which don't support this natively, but if you're unlucky it will
just try to call into some math lib which is definitely no good and will just
crash, and even if it would work you don't want to do that). If it's natively
supported, not only should this be more correct, but also be much faster.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to