[Mesa-dev] [PATCH] Add an accelerated version of F_TO_I for x86_64

Matt Turner mattst88 at gmail.com
Mon Jul 21 17:29:01 PDT 2014


On Mon, Jul 21, 2014 at 5:16 PM, Jason Ekstrand <jason at jlekstrand.net> wrote:
> Signed-off-by: Jason Ekstrand <jason.ekstrand at intel.com>
> ---
>  src/mesa/main/imports.h | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/src/mesa/main/imports.h b/src/mesa/main/imports.h
> index af780b2..5d6486b 100644
> --- a/src/mesa/main/imports.h
> +++ b/src/mesa/main/imports.h
> @@ -285,6 +285,10 @@ static inline int F_TO_I(float f)
>     int r;
>     __asm__ ("fistpl %0" : "=m" (r) : "t" (f) : "st");
>     return r;
> +#elif defined(USE_X86_64_ASM) && defined(__GNUC__)
> +   int r;
> +   __asm__ ("cvtss2si %1, %0" : "=r" (r) : "xm" (f));

"xm"? I think you just want "x"

Also "=&r" since it's written without ever being read.

> +   return r;
>  #elif defined(USE_X86_ASM) && defined(_MSC_VER)
>     int r;
>     _asm {
> --

Remove the ' XXX We could use an x86-64/SSE2 version here.' comment
above the function too.

I'd expect some data about this change. Performance data would be
nice, but I'd take just the output of `size` on i965_dri.so.


More information about the mesa-dev mailing list