* 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:
Frank Ch. Eigler
2001-01-02 16:34:07 +00:00
parent 3d85563291
commit aed80daedf
4 changed files with 37 additions and 189 deletions

View File

@ -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;