X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=sim%2Fd10v%2Fd10v_sim.h;h=5cf43e2dfccd397364952964cf9fe8b34447a577;hb=c3f6f71df382eaaaac4440a91e6f310d03fb8da6;hp=130aed95c1a93837f3cebddb84e4d46f083a78e1;hpb=1b45fe546b666d1bd83d474b66525f1a69dbd92f;p=thirdparty%2Fbinutils-gdb.git diff --git a/sim/d10v/d10v_sim.h b/sim/d10v/d10v_sim.h index 130aed95c1a..5cf43e2dfcc 100644 --- a/sim/d10v/d10v_sim.h +++ b/sim/d10v/d10v_sim.h @@ -432,7 +432,8 @@ enum #define INC_ADDR(x,i) \ do \ { \ - if (PSW_MD && GPR (x) == (MOD_E & ~((i) - 1))) \ + int test_i = i < 0 ? i : ~((i) - 1); \ + if (PSW_MD && GPR (x) == (MOD_E & test_i)) \ SET_GPR (x, MOD_S); \ else \ SET_GPR (x, GPR (x) + (i)); \