diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 502bb56fcb..9619c6d98b 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,7 @@ +2002-11-25 Jim Wilson + + * ia64-dis.c (print_insn_ia64): Correct handling of IA64_OPND_TGT64. + 2002-11-15 DJ Delorie * xstormy16-desc.c: Regenerate. diff --git a/opcodes/ia64-dis.c b/opcodes/ia64-dis.c index f9add91777..4c63815289 100644 --- a/opcodes/ia64-dis.c +++ b/opcodes/ia64-dis.c @@ -167,10 +167,10 @@ print_insn_ia64 (bfd_vma memaddr, struct disassemble_info *info) } else if (odesc - elf64_ia64_operands == IA64_OPND_TGT64) { - /* 60-bit immedate for long branches. */ + /* 60-bit immediate for long branches. */ value = (((insn >> 13) & 0xfffff) | (((insn >> 36) & 1) << 59) - | (slot[1] << 20)) << 4; + | (((slot[1] >> 2) & 0x7fffffffffLL) << 20)) << 4; } else {