Skip to content

Commit b0f5293

Browse files
madewokherdslouken
authored andcommitted
Fix build on arm64ec.
(cherry picked from commit 3fc8509)
1 parent 0a7820f commit b0f5293

2 files changed

Lines changed: 4 additions & 4 deletions

File tree

include/SDL3/SDL_atomic.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,7 @@ typedef void (*SDL_KernelMemoryBarrierFunc)();
355355
*/
356356
#define SDL_CPUPauseInstruction() DoACPUPauseInACompilerAndArchitectureSpecificWay
357357

358-
#elif (defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__))
358+
#elif (defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__)) && !defined(__arm64ec__)
359359
#define SDL_CPUPauseInstruction() __asm__ __volatile__("pause\n") /* Some assemblers can't do REP NOP, so go with PAUSE. */
360360
#elif (defined(__arm__) && defined(__ARM_ARCH) && __ARM_ARCH >= 7) || defined(__aarch64__)
361361
#define SDL_CPUPauseInstruction() __asm__ __volatile__("yield" ::: "memory")

src/cpuinfo/SDL_cpuinfo.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ static int CPU_haveCPUID(void)
153153
:
154154
: "%eax", "%ecx"
155155
);
156-
#elif (defined(__GNUC__) || defined(__llvm__)) && defined(__x86_64__)
156+
#elif (defined(__GNUC__) || defined(__llvm__)) && defined(__x86_64__) && !defined(__arm64ec__)
157157
/* Technically, if this is being compiled under __x86_64__ then it has
158158
CPUid by definition. But it's nice to be able to prove it. :) */
159159
__asm__ (
@@ -236,7 +236,7 @@ static int CPU_haveCPUID(void)
236236
" popl %%ebx \n" \
237237
: "=a"(a), "=S"(b), "=c"(c), "=d"(d) \
238238
: "a"(func))
239-
#elif (defined(__GNUC__) || defined(__llvm__)) && defined(__x86_64__)
239+
#elif (defined(__GNUC__) || defined(__llvm__)) && defined(__x86_64__) && !defined(__arm64ec__)
240240
#define cpuid(func, a, b, c, d) \
241241
__asm__ __volatile__( \
242242
" pushq %%rbx \n" \
@@ -303,7 +303,7 @@ static void CPU_calcCPUIDFeatures(void)
303303
// Check to make sure we can call xgetbv
304304
if (c & 0x08000000) {
305305
// Call xgetbv to see if YMM (etc) register state is saved
306-
#if (defined(__GNUC__) || defined(__llvm__)) && (defined(__i386__) || defined(__x86_64__))
306+
#if (defined(__GNUC__) || defined(__llvm__)) && (defined(__i386__) || defined(__x86_64__)) && !defined(__arm64ec__)
307307
__asm__(".byte 0x0f, 0x01, 0xd0"
308308
: "=a"(a)
309309
: "c"(0)

0 commit comments

Comments
 (0)