seems already to be the case on 3ds at least
SysPrintf("Starting PCSX-ReARMed " REV "%s\n", get_build_info());
SysPrintf("build time: " __DATE__ " " __TIME__ "\n");
+#if defined(__arm__) && defined(__VFP_FP__)
+ // RunFast mode
+ u32 fpscr = ~0;
+ __asm__ volatile("fmrx %0, fpscr" : "=r"(fpscr));
+ SysPrintf("old fpscr = %08x\n", fpscr);
+ fpscr &= ~0x00009f9f;
+ fpscr |= 0x03000000; // DN | FZ
+ __asm__ volatile("fmxr fpscr, %0" :: "r"(fpscr));
+#endif
+
#ifdef HAVE_RTHREADS
pcsxr_sthread_init();
#endif
static int processed = 0;
#endif /* _3DS */
+#if defined(__arm__) && defined(__VFP_FP__)
+ // RunFast mode
+ u32 fpscr = ~0;
+ __asm__ volatile("fmrx %0, fpscr" : "=r"(fpscr));
+ fpscr &= ~0x00009f9f;
+ fpscr |= 0x03000000; // DN | FZ
+ __asm__ volatile("fmxr fpscr, %0" :: "r"(fpscr));
+#endif
+
while(1) {
int result, cycles_dummy = 0, last_cmd, start, end;
video_thread_queue *queue;