diff options
Diffstat (limited to 'sim/mips')
-rw-r--r-- | sim/mips/ChangeLog | 5 | ||||
-rw-r--r-- | sim/mips/micromips.igen | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog index d37ab7a..040ae04 100644 --- a/sim/mips/ChangeLog +++ b/sim/mips/ChangeLog @@ -1,3 +1,8 @@ +2015-12-15 Dominik Vogt <vogt@linux.vnet.ibm.com> + + * micromips.igen (process_isa_mode): Fix left shift of negative + value. + 2015-11-17 Mike Frysinger <vapier@gentoo.org> * sim-main.h (WITH_MODULO_MEMORY): Delete. diff --git a/sim/mips/micromips.igen b/sim/mips/micromips.igen index 2c62376..f24220e 100644 --- a/sim/mips/micromips.igen +++ b/sim/mips/micromips.igen @@ -54,7 +54,7 @@ :function:::address_word:process_isa_mode:address_word target { SD->isa_mode = target & 0x1; - return (target & (-1 << 1)); + return (target & (-(1 << 1))); } :function:::address_word:do_micromips_jalr:int rt, int rs, address_word nia, int delayslot_instruction_size |