X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=libpcsxcore%2Fnew_dynarec%2Flinkage_arm.S;fp=libpcsxcore%2Fnew_dynarec%2Flinkage_arm.s;h=4748078949663ebaf059286bb14a34da9caf2ee8;hp=bd5a03d40d0448b762bf02b328314c1ab0c27ba1;hb=c67af2ac1a8305c7377c7dda844257c5bc1545e3;hpb=61bc6d40b4f6f846a0ae1b73ceecdca893c14df4 diff --git a/libpcsxcore/new_dynarec/linkage_arm.s b/libpcsxcore/new_dynarec/linkage_arm.S similarity index 99% rename from libpcsxcore/new_dynarec/linkage_arm.s rename to libpcsxcore/new_dynarec/linkage_arm.S index bd5a03d4..47480789 100644 --- a/libpcsxcore/new_dynarec/linkage_arm.s +++ b/libpcsxcore/new_dynarec/linkage_arm.S @@ -19,8 +19,6 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -/* .equiv HAVE_ARMV7, 1 */ - .global dynarec_local .global reg .global hi @@ -165,33 +163,33 @@ FCR31 = align0 .type FCR31, %object .size FCR31, 4 -.macro load_var_adr reg var -.if HAVE_ARMV7 +.macro load_varadr reg var +#if defined(__ARM_ARCH_7A__) && !defined(__PIC__) movw \reg, #:lower16:\var movt \reg, #:upper16:\var -.else +#else ldr \reg, =\var -.endif +#endif .endm .macro mov_16 reg imm -.if HAVE_ARMV7 +#ifdef __ARM_ARCH_7A__ movw \reg, #\imm -.else +#else mov \reg, #(\imm & 0x00ff) orr \reg, #(\imm & 0xff00) -.endif +#endif .endm .macro mov_24 reg imm -.if HAVE_ARMV7 +#ifdef __ARM_ARCH_7A__ movw \reg, #(\imm & 0xffff) movt \reg, #(\imm >> 16) -.else +#else mov \reg, #(\imm & 0x0000ff) orr \reg, #(\imm & 0x00ff00) orr \reg, #(\imm & 0xff0000) -.endif +#endif .endm .macro dyna_linker_main @@ -778,7 +776,7 @@ invalidate_addr_call: new_dyna_start: /* ip is stored to conform EABI alignment */ stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, ip, lr} - load_var_adr fp, dynarec_local + load_varadr fp, dynarec_local ldr r0, [fp, #pcaddr-dynarec_local] bl get_addr_ht ldr r1, [fp, #next_interupt-dynarec_local]