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
Jiří Malák 2023-01-26 15:00:02 +01:00 committed by Ozkan Sezer
parent 6895e1700f
commit 54540a82a0
1 changed files with 1 additions and 2 deletions

View File

@ -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