1
0
mirror of https://github.com/TASVideos/desmume synced 2024-07-03 08:18:44 +00:00

Delete patches/desmume-0.9.13-arm.patch

This commit is contained in:
Kimpe Andy 2024-02-09 14:08:07 +01:00 committed by GitHub
parent 5d9e6eedb9
commit 43e6974a7b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,61 +0,0 @@
From d4afd4977ce8b7ba6293946c74914afe79536059 Mon Sep 17 00:00:00 2001
From: rogerman <rogerman@users.noreply.github.com>
Date: Mon, 20 Jun 2022 11:22:26 -0700
Subject: [PATCH] libretro-common: Compiling tune-up for ARM architectures. -
Fixes a mismatched register warning in arm_enable_runfast_mode() when
compiling for AArch64. - Fix compiling check_arm_cpu_feature() on non-ARM
architectures by being super explicit and pedantic about checking for
__ARM_ARCH; none of this compiler-assumes-a-macro-equals-zero-if-undefined
stuff.
---
desmume/src/libretro-common/features/features_cpu.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/desmume/src/libretro-common/features/features_cpu.c b/desmume/src/libretro-common/features/features_cpu.c
index 0980821f9..2c41d5732 100644
--- a/desmume/src/libretro-common/features/features_cpu.c
+++ b/desmume/src/libretro-common/features/features_cpu.c
@@ -300,10 +300,17 @@ static void arm_enable_runfast_mode(void)
static const unsigned y = 0x03000000;
int r;
__asm__ volatile(
+#if defined(__aarch64__) || defined(_M_ARM64)
+ "fmrx %w0, fpscr \n\t" /* w0 = FPSCR */
+ "and %w0, %w0, %w1 \n\t" /* w0 = w0 & 0x04086060 */
+ "orr %w0, %w0, %w2 \n\t" /* w0 = w0 | 0x03000000 */
+ "fmxr fpscr, %w0 \n\t" /* FPSCR = w0 */
+#else
"fmrx %0, fpscr \n\t" /* r0 = FPSCR */
"and %0, %0, %1 \n\t" /* r0 = r0 & 0x04086060 */
"orr %0, %0, %2 \n\t" /* r0 = r0 | 0x03000000 */
"fmxr fpscr, %0 \n\t" /* FPSCR = r0 */
+#endif
: "=r"(r)
: "r"(x), "r"(y)
);
@@ -311,13 +318,13 @@ static void arm_enable_runfast_mode(void)
#endif
#if defined(__linux__) && !defined(CPU_X86)
-#if __ARM_ARCH
+#if defined(__ARM_ARCH) && (__ARM_ARCH > 0)
#include <sys/auxv.h>
#endif
static unsigned char check_arm_cpu_feature(const char* feature)
{
-#if __ARM_ARCH < 8
+#if defined(__ARM_ARCH) && (__ARM_ARCH < 8)
uint64_t hwcap = getauxval(AT_HWCAP);
if (!strcmp(feature, "neon"))
return (hwcap & HWCAP_ARM_NEON) != 0;
@@ -326,7 +333,7 @@ static unsigned char check_arm_cpu_feature(const char* feature)
if (!strcmp(feature, "vfpv4"))
return (hwcap & HWCAP_ARM_VFPv4) != 0;
return 0;
-#elif __ARM_ARCH == 8
+#elif defined(__ARM_ARCH) && (__ARM_ARCH == 8)
uint64_t hwcap = getauxval(AT_HWCAP);
if (!strcmp(feature, "asimd"))
return (hwcap & HWCAP_ASIMD) != 0;