diff --git a/src/cpu_new/codegen_allocator.c b/src/cpu_new/codegen_allocator.c index e51cdd596..9f46a8354 100644 --- a/src/cpu_new/codegen_allocator.c +++ b/src/cpu_new/codegen_allocator.c @@ -112,7 +112,7 @@ uint8_t *codeblock_allocator_get_ptr(mem_block_t *block) void codegen_allocator_clean_blocks(struct mem_block_t *block) { -#if defined __ARM_EABI__ || defined __aarch64__ +#if defined __ARM_EABI__ || defined _ARM_ || defined __aarch64__ while (1) { __clear_cache(&mem_block_alloc[block->offset], &mem_block_alloc[block->offset + MEM_BLOCK_SIZE]); diff --git a/src/cpu_new/codegen_allocator.h b/src/cpu_new/codegen_allocator.h index 90fa1c0b6..3b57de166 100644 --- a/src/cpu_new/codegen_allocator.h +++ b/src/cpu_new/codegen_allocator.h @@ -13,7 +13,7 @@ Due to the chaining, the total memory size is limited by the range of a jump instruction. ARMv7 is restricted to +/- 32 MB, ARMv8 to +/- 128 MB, x86 to +/- 2GB. As a result, total memory size is limited to 32 MB on ARMv7*/ -#ifdef __ARM_EABI__ +#if defined __ARM_EABI__ || _ARM_ #define MEM_BLOCK_NR 32768 #else #define MEM_BLOCK_NR 131072 diff --git a/src/cpu_new/codegen_backend.h b/src/cpu_new/codegen_backend.h index acbdab838..931939004 100644 --- a/src/cpu_new/codegen_backend.h +++ b/src/cpu_new/codegen_backend.h @@ -5,7 +5,7 @@ #include "codegen_backend_x86-64.h" #elif defined i386 || defined __i386 || defined __i386__ || defined _X86_ || defined _M_IX86 #include "codegen_backend_x86.h" -#elif defined __ARM_EABI__ +#elif defined __ARM_EABI__ || defined _ARM_ #include "codegen_backend_arm.h" #elif defined __aarch64__ #include "codegen_backend_arm64.h" diff --git a/src/cpu_new/codegen_backend_arm.c b/src/cpu_new/codegen_backend_arm.c index c422e5989..06a06b78e 100644 --- a/src/cpu_new/codegen_backend_arm.c +++ b/src/cpu_new/codegen_backend_arm.c @@ -1,4 +1,4 @@ -#ifdef __ARM_EABI__ +#if defined __ARM_EABI__ || defined _ARM_ #include #include diff --git a/src/cpu_new/codegen_backend_arm_ops.c b/src/cpu_new/codegen_backend_arm_ops.c index 90c095bac..65e48cd46 100644 --- a/src/cpu_new/codegen_backend_arm_ops.c +++ b/src/cpu_new/codegen_backend_arm_ops.c @@ -1,4 +1,4 @@ -#ifdef __ARM_EABI__ +#if defined __ARM_EABI__ || defined _ARM_ #include #include <86box/86box.h> diff --git a/src/cpu_new/codegen_backend_arm_uops.c b/src/cpu_new/codegen_backend_arm_uops.c index 3f16554c5..fd17e78d8 100644 --- a/src/cpu_new/codegen_backend_arm_uops.c +++ b/src/cpu_new/codegen_backend_arm_uops.c @@ -1,4 +1,4 @@ -#ifdef __ARM_EABI__ +#if defined __ARM_EABI__ || defined _ARM_ #include #include diff --git a/src/win/Makefile_ndr.mingw b/src/win/Makefile_ndr.mingw index 6c6bd3e06..816b34b52 100644 --- a/src/win/Makefile_ndr.mingw +++ b/src/win/Makefile_ndr.mingw @@ -215,12 +215,6 @@ MUNT := y endif ifndef DYNAREC DYNAREC := y - ifeq ($(ARM), y) - DYNAREC := n - endif - ifeq ($(ARM64), y) - DYNAREC := n - endif endif ifndef DISCORD DISCORD := y @@ -374,6 +368,11 @@ ifeq ($(DYNAREC), y) ifeq ($(X64), y) PLATCG := codegen_backend_x86-64.o codegen_backend_x86-64_ops.o codegen_backend_x86-64_ops_sse.o \ codegen_backend_x86-64_uops.o +else ifeq ($(ARM64), y) +PLATCG := codegen_backend_arm64.o codegen_backend_arm64_ops.o codegen_backend_arm64_uops.o \ + codegen_backend_arm64_imm.o +else ifeq ($(ARM), y) +PLATCG := codegen_backend_arm.o codegen_backend_arm_ops.o codegen_backend_arm_uops.o else PLATCG := codegen_backend_x86.o codegen_backend_x86_ops.o codegen_backend_x86_ops_fpu.o codegen_backend_x86_ops_sse.o \ codegen_backend_x86_uops.o