SDL_atomic.h: Update SDL_CPUPauseInstruction for Watcom. (#7157)
Appropriate CPU directive can be used in #pragma aux so that it is not necessary to hardcode instruction bytes. (cherry picked from commit 507fc462db1ede9f3ca2c581809a7f1492ac1ff5)main
parent
6895e1700f
commit
54540a82a0
|
@ -251,9 +251,8 @@ typedef void (*SDL_KernelMemoryBarrierFunc)();
|
||||||
#elif defined(_MSC_VER) && (defined(_M_ARM) || defined(_M_ARM64))
|
#elif defined(_MSC_VER) && (defined(_M_ARM) || defined(_M_ARM64))
|
||||||
#define SDL_CPUPauseInstruction() __yield()
|
#define SDL_CPUPauseInstruction() __yield()
|
||||||
#elif defined(__WATCOMC__) && defined(__386__)
|
#elif defined(__WATCOMC__) && defined(__386__)
|
||||||
/* watcom assembler rejects PAUSE if CPU < i686, and it refuses REP NOP as an invalid combination. Hardcode the bytes. */
|
|
||||||
extern __inline void SDL_CPUPauseInstruction(void);
|
extern __inline void SDL_CPUPauseInstruction(void);
|
||||||
#pragma aux SDL_CPUPauseInstruction = "db 0f3h,90h"
|
#pragma aux SDL_CPUPauseInstruction = ".686p" ".xmm2" "pause"
|
||||||
#else
|
#else
|
||||||
#define SDL_CPUPauseInstruction()
|
#define SDL_CPUPauseInstruction()
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue