package An official xmake package repository
https://xrepo.xmake.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
1006 B
29 lines
1006 B
1 year ago
|
diff --git a/lzhamdecomp/lzham_platform.h b/lzhamdecomp/lzham_platform.h
|
||
|
index 01704be..04b29fb 100644
|
||
|
--- a/lzhamdecomp/lzham_platform.h
|
||
|
+++ b/lzhamdecomp/lzham_platform.h
|
||
|
@@ -24,7 +24,11 @@ void lzham_fail(const char* pExp, const char* pFile, unsigned line);
|
||
|
#if defined(__GNUC__) && LZHAM_PLATFORM_PC
|
||
|
extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) void lzham_yield_processor()
|
||
|
{
|
||
|
- __asm__ __volatile__("pause");
|
||
|
+ #if defined(__AARCH64__)
|
||
|
+ __asm__ __volatile__("yield");
|
||
|
+ #else
|
||
|
+ __asm__ __volatile__("pause");
|
||
|
+ #endif
|
||
|
}
|
||
|
#elif LZHAM_PLATFORM_X360
|
||
|
#define lzham_yield_processor() \
|
||
|
@@ -48,7 +52,9 @@ extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) void lzham_y
|
||
|
LZHAM_FORCE_INLINE void lzham_yield_processor()
|
||
|
{
|
||
|
#if LZHAM_USE_MSVC_INTRINSICS
|
||
|
- #if LZHAM_PLATFORM_PC_X64
|
||
|
+ #if defined(__AARCH64__)
|
||
|
+ __yield();
|
||
|
+ #elif LZHAM_PLATFORM_PC_X64
|
||
|
_mm_pause();
|
||
|
#else
|
||
|
YieldProcessor();
|