From b3b6a3fe2bdb4416f6be67c3425249cabd28fb80 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Fri, 19 May 2000 00:21:12 +0000 Subject: * config/tc-hppa.c (md_apply_fix): Mask out immediate bits of instruction to reflect change in re_assemble_*. --- gas/ChangeLog | 5 +++++ gas/config/tc-hppa.c | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index b38066b..fc9d9f8 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2000-05-18 Alan Modra + + * config/tc-hppa.c (md_apply_fix): Mask out immediate bits of + instruction to reflect change in re_assemble_*. + Thu May 18 10:52:14 2000 Jeffrey A Law (law@cygnus.com) * configure.in (hppa-*-hpux11*): If the cpu is hppa*64*, then diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c index 3876842..c57fd61 100644 --- a/gas/config/tc-hppa.c +++ b/gas/config/tc-hppa.c @@ -4422,7 +4422,7 @@ md_apply_fix (fixP, valp) CHECK_FIELD (new_val, 1048576, -1048576, 0); val = new_val; - insn = re_assemble_21 (insn, val); + insn = re_assemble_21 (insn & ~ 0x1fffff, val); break; /* Handle all the opcodes with the 'i' operand type. */ @@ -4438,7 +4438,7 @@ md_apply_fix (fixP, valp) CHECK_FIELD (new_val, 8199, -8184, 0); val = new_val; - insn = re_assemble_12 (insn, (val - 8) >> 2); + insn = re_assemble_12 (insn & ~ 0x1ffd, (val - 8) >> 2); break; /* Handle some of the opcodes with the 'W' operand type. */ @@ -4455,7 +4455,7 @@ md_apply_fix (fixP, valp) CHECK_FIELD (new_val, 262143, -262144, 0); val = new_val; - insn = re_assemble_17 (insn, (val - 8) >> 2); + insn = re_assemble_17 (insn & ~ 0x1f1ffd, (val - 8) >> 2); break; } @@ -4472,7 +4472,7 @@ md_apply_fix (fixP, valp) CHECK_FIELD (new_val, 8388607, -8388608, 0); val = new_val; - insn = re_assemble_22 (insn, (val - 8) >> 2); + insn = re_assemble_22 (insn & ~ 0x3ff1ffd, (val - 8) >> 2); break; } -- cgit v1.1