+2000-11-07 Dave Brolley <brolley@redhat.com>
+
+ * cgen-dis.in (print_insn): All insns which can fit into insn_value
+ must be loaded there in their entirety.
+
2000-10-20 Jakub Jelinek <jakub@redhat.com>
* sparc-dis.c (v9a_asr_reg_names): Add v9b ASRs.
machine insn and extracts the fields. The second pass prints
them. */
-#if CGEN_INT_INSN_P
- /* Make sure the entire insn is loaded into insn_value. */
- if (CGEN_INSN_BITSIZE (insn) > cd->base_insn_bitsize)
+ /* Make sure the entire insn is loaded into insn_value, if it
+ can fit. */
+ if (CGEN_INSN_BITSIZE (insn) > cd->base_insn_bitsize &&
+ (CGEN_INSN_BITSIZE (insn) / 8) <= sizeof (unsigned long))
{
unsigned long full_insn_value;
int rc = read_insn (cd, pc, info, buf,
(cd, insn, &ex_info, full_insn_value, &fields, pc);
}
else
-#endif
+ length = CGEN_EXTRACT_FN (cd, insn)
+ (cd, insn, &ex_info, insn_value, &fields, pc);
- length = CGEN_EXTRACT_FN (cd, insn)
- (cd, insn, &ex_info, insn_value, &fields, pc);
/* length < 0 -> error */
if (length < 0)
return length;