mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-02 11:01:35 +08:00
* generalization
2001-01-02 Richard Sandiford <rsandifo@redhat.com> * cgen-dis.c (hash_insn_array): Use bfd_put_bits(). (hash_insn_list): Likewise * cgen-ibld.in (insert_1): Use bfd_put_bits() and bfd_get_bits(). (extract_1): Use bfd_get_bits(). (extract_normal): Apply sign extension to both extraction methods. * cgen-opc.c (cgen_get_insn_value): Use bfd_get_bits() (cgen_put_insn_value): Use bfd_put_bits()
This commit is contained in:
@ -64,27 +64,10 @@ hash_insn_array (cd, insns, count, entsize, htable, hentbuf)
|
||||
to hash on, so set both up. */
|
||||
|
||||
value = CGEN_INSN_BASE_VALUE (insn);
|
||||
switch (CGEN_INSN_MASK_BITSIZE (insn))
|
||||
{
|
||||
case 8:
|
||||
buf[0] = value;
|
||||
break;
|
||||
case 16:
|
||||
if (big_p)
|
||||
bfd_putb16 ((bfd_vma) value, buf);
|
||||
else
|
||||
bfd_putl16 ((bfd_vma) value, buf);
|
||||
break;
|
||||
case 32:
|
||||
if (big_p)
|
||||
bfd_putb32 ((bfd_vma) value, buf);
|
||||
else
|
||||
bfd_putl32 ((bfd_vma) value, buf);
|
||||
break;
|
||||
default:
|
||||
abort ();
|
||||
}
|
||||
|
||||
bfd_put_bits ((bfd_vma) value,
|
||||
buf,
|
||||
CGEN_INSN_MASK_BITSIZE (insn),
|
||||
big_p);
|
||||
hash = (* cd->dis_hash) (buf, value);
|
||||
hentbuf->next = htable[hash];
|
||||
hentbuf->insn = insn;
|
||||
@ -121,27 +104,10 @@ hash_insn_list (cd, insns, htable, hentbuf)
|
||||
to hash on, so set both up. */
|
||||
|
||||
value = CGEN_INSN_BASE_VALUE (ilist->insn);
|
||||
switch (CGEN_INSN_MASK_BITSIZE (ilist->insn))
|
||||
{
|
||||
case 8:
|
||||
buf[0] = value;
|
||||
break;
|
||||
case 16:
|
||||
if (big_p)
|
||||
bfd_putb16 ((bfd_vma) value, buf);
|
||||
else
|
||||
bfd_putl16 ((bfd_vma) value, buf);
|
||||
break;
|
||||
case 32:
|
||||
if (big_p)
|
||||
bfd_putb32 ((bfd_vma) value, buf);
|
||||
else
|
||||
bfd_putl32 ((bfd_vma) value, buf);
|
||||
break;
|
||||
default:
|
||||
abort ();
|
||||
}
|
||||
|
||||
bfd_put_bits((bfd_vma) value,
|
||||
buf,
|
||||
CGEN_INSN_MASK_BITSIZE (ilist->insn),
|
||||
big_p);
|
||||
hash = (* cd->dis_hash) (buf, value);
|
||||
hentbuf->next = htable [hash];
|
||||
hentbuf->insn = ilist->insn;
|
||||
|
Reference in New Issue
Block a user