--- svn-ref/target-arm/translate.c 2008-06-09 08:52:48.000000000 +0200 +++ svn/target-arm/translate.c 2008-06-25 17:20:54.000000000 +0200 @@ -6502,13 +6502,13 @@ gen_storeq_reg(s, rn, rd, tmp2); } else { /* smuad, smusd, smlad, smlsd */ - if (rn != 15) + if (rd != 15) { - tmp2 = load_reg(s, rn); + tmp2 = load_reg(s, rd); gen_helper_add_setq(tmp, tmp, tmp2); dead_tmp(tmp2); } - store_reg(s, rd, tmp); + store_reg(s, rn, tmp); } } break;