From db829eeb9379555a1fac1c62b657e592a3c91e5b Mon Sep 17 00:00:00 2001 From: notaz Date: Fri, 6 Jan 2012 02:28:49 +0200 Subject: drc: never read to r0 r0 can be allocated for a write and program may decide to read to r0 while we have it alloacted, so *_readstub must be ready for it --- libpcsxcore/new_dynarec/assem_arm.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libpcsxcore/new_dynarec/assem_arm.c b/libpcsxcore/new_dynarec/assem_arm.c index ebf733b..3950d22 100644 --- a/libpcsxcore/new_dynarec/assem_arm.c +++ b/libpcsxcore/new_dynarec/assem_arm.c @@ -2835,7 +2835,7 @@ do_readstub(int n) temp=r; break; } } - if(rt>=0) + if(rt>=0&&rt1[i]!=0) reglist&=~(1<=0) + if(rt>=0&&rt1[i]!=0) reglist&=~(1<=0) { + if(rt>=0&&rt1[i]!=0) { switch(type) { case LOADB_STUB: emit_signextend8(0,rt); break; case LOADBU_STUB: emit_andimm(0,0xff,rt); break; -- cgit v1.2.3