mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
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:
parent
f83b2d3371
commit
94ad6724ba
1 changed files with 12 additions and 0 deletions
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue