drc: use optimized get_reg
[pcsx_rearmed.git] / libpcsxcore / new_dynarec / new_dynarec.c
index abb0d07..0dea9a3 100644 (file)
@@ -35,6 +35,7 @@
 #include "../psxinterpreter.h"
 #include "../gte.h"
 #include "emu_if.h" // emulator interface
+#include "arm_features.h"
 
 #define noinline __attribute__((noinline,noclone))
 #ifndef ARRAY_SIZE
@@ -607,6 +608,12 @@ static void clear_all_regs(signed char regmap[])
   memset(regmap, -1, sizeof(regmap[0]) * HOST_REGS);
 }
 
+#if defined(__arm__) && defined(HAVE_ARMV6) && HOST_REGS == 13 && EXCLUDE_REG == 11
+
+extern signed char get_reg(const signed char regmap[], signed char r);
+
+#else
+
 static signed char get_reg(const signed char regmap[], signed char r)
 {
   int hr;
@@ -619,6 +626,8 @@ static signed char get_reg(const signed char regmap[], signed char r)
   return -1;
 }
 
+#endif
+
 static signed char get_reg_temp(const signed char regmap[])
 {
   int hr;