goom: Fix MMX assembly compilation with clang

clang does not want or need a clobber list for emms:
error: clobbers must be last on the x87 stack

Patch taken from the FreeBSD ports, provided by
Dan McGregor <dan.mcgregor@usask.ca>
This commit is contained in:
Sebastian Dröge 2013-09-21 18:46:29 +02:00
parent f83b2d3371
commit 94ad6724ba

View file

@ -711,17 +711,29 @@ void zoom_filter_xmmx (int prevX, int prevY, Pixel *expix1, Pixel *expix2,
*/ */
#ifdef MMX_TRACE #ifdef MMX_TRACE
#ifdef __clang__
#define emms() \
{ \
printf("emms()\n"); \
__asm__ __volatile__ ("emms"); \
}
#else
#define emms() \ #define emms() \
{ \ { \
printf("emms()\n"); \ printf("emms()\n"); \
__asm__ __volatile__ ("emms" \ __asm__ __volatile__ ("emms" \
"st(1)","st(2)","st(3)","st(4)","st(5)","st(6)","st(7)"); \ "st(1)","st(2)","st(3)","st(4)","st(5)","st(6)","st(7)"); \
} }
#endif
#else #else
#ifdef __clang__
#define emms() __asm__ __volatile__ ("emms")
#else
#define emms() __asm__ __volatile__ ("emms"::: \ #define emms() __asm__ __volatile__ ("emms"::: \
"st(1)","st(2)","st(3)","st(4)","st(5)","st(6)","st(7)") "st(1)","st(2)","st(3)","st(4)","st(5)","st(6)","st(7)")
#endif
#endif #endif