about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorLily <egzozu.be.bas@gmail.com>2024-02-02 23:19:11 +0300
committerGitHub <noreply@github.com>2024-02-02 21:19:11 +0100
commit2fe872de3d5d64af00c71b84fcd663c371a4204f (patch)
tree69f534a5324f5df9e2489394c1498450918209a6
parent153d8d2cf0085aba42c83e7d2d31ec6d3346075a (diff)
downloadbox64-2fe872de3d5d64af00c71b84fcd663c371a4204f.tar.gz
box64-2fe872de3d5d64af00c71b84fcd663c371a4204f.zip
[X64EMU] Fix for linux clang (#1243)
-rw-r--r--src/emu/x64emu.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/emu/x64emu.c b/src/emu/x64emu.c
index 04fb0dee..48a8e584 100644
--- a/src/emu/x64emu.c
+++ b/src/emu/x64emu.c
@@ -610,7 +610,7 @@ void applyFlushTo0(x64emu_t* emu)
     #ifdef __x86_64__
     _mm_setcsr(_mm_getcsr() | (emu->mxcsr.x32&0x8040));
     #elif defined(__aarch64__)
-    #ifdef __ANDROID__
+    #if defined(__ANDROID__) || defined(__clang__)
     uint64_t fpcr;
     __asm__ __volatile__ ("mrs    %0, fpcr":"=r"(fpcr));
     #else
@@ -619,7 +619,7 @@ void applyFlushTo0(x64emu_t* emu)
     fpcr &= ~((1<<24) | (1<<1));    // clear bit FZ (24) and AH (1)
     fpcr |= (emu->mxcsr.f.MXCSR_FZ)<<24;  // set FZ as mxcsr FZ
     fpcr |= ((emu->mxcsr.f.MXCSR_DAZ)^(emu->mxcsr.f.MXCSR_FZ))<<1; // set AH if DAZ different from FZ
-    #ifdef __ANDROID__
+    #if defined(__ANDROID__) || defined(__clang__)
     __asm__ __volatile__ ("msr    fpcr, %0"::"r"(fpcr));
     #else
     __builtin_aarch64_set_fpcr(fpcr);