mmx: make ldq_u take __m64* directly
authorMatt Turner <mattst88@gmail.com>
Wed, 15 Feb 2012 06:19:07 +0000 (01:19 -0500)
committerMatt Turner <mattst88@gmail.com>
Fri, 27 Apr 2012 17:34:59 +0000 (13:34 -0400)
commit4e0c7902b2c8e517d102a8fccb9cf7da9725f59f
tree35795a5ee7d2e8c7c8b18699391ce73b8ca02522
parent2e54b76a2d2203b6a70190f488d76d6d409e879a
mmx: make ldq_u take __m64* directly

Before, if __m64 is allocated in vector or floating-point registers,

__m64 vs = ldq_u((uint64_t *)src);

would cause src to be loaded into an integer register and then
transferred to an __m64 register. By switching ldq_u's argument type to
__m64 we give the compile enough information to recognize that it can
load to the vector register directly.

This patch is necessary for the Loongson optimizations when __m64 is
typedef'd as double.
pixman/pixman-mmx.c