+2000-05-18 Alan Modra <alan@linuxcare.com.au>
+
+ * 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
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. */
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. */
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;
}
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;
}