util: Optimize _mesa_roundeven with SSE 4.1.
authorMatt Turner <mattst88@gmail.com>
Wed, 18 Mar 2015 21:23:41 +0000 (14:23 -0700)
committerMatt Turner <mattst88@gmail.com>
Thu, 19 Mar 2015 04:06:26 +0000 (21:06 -0700)
commit036e347f3c129bb547137aed955e75062fca09b8
tree070e69f0df19d38cc374b479659c2e83c67956e4
parent5de86102f917d9f3a229daec8f107afb77246feb
util: Optimize _mesa_roundeven with SSE 4.1.

The SSE 4.1 ROUND instructions let us implement roundeven directly.
Otherwise we assume that the rounding mode has not been modified (as we
do in the rest of Mesa) and use rint().

glibc uses the ROUND instruction in rint() after a cpuid check. This
patch just lets us inline it directly when we're already building for
SSE 4.1.

Reviewed-by: Carl Worth <cworth@cworth.org>
src/util/rounding.h