* config/tc-ppc.c (md_begin): Permit mfdec to be duplicated on the

601.  Check that the error return from hash_insert is "exists".
This commit is contained in:
Ian Lance Taylor 1995-01-26 23:41:12 +00:00
parent 669124ef4f
commit 76e30835ad
2 changed files with 22 additions and 9 deletions

View File

@ -1,3 +1,8 @@
Thu Jan 26 18:38:01 1995 Ian Lance Taylor <ian@cygnus.com>
* config/tc-ppc.c (md_begin): Permit mfdec to be duplicated on the
601. Check that the error return from hash_insert is "exists".
Thu Jan 26 11:35:33 1995 Michael Meissner <meissner@cygnus.com>
* configure: Add support for configuring powerpc-*-eabi.

View File

@ -350,15 +350,23 @@ md_begin ()
retval = hash_insert (ppc_hash, op->name, (PTR) op);
if (retval != (const char *) NULL)
{
/* When using -many, the comparison instructions are a
harmless special case. */
if (ppc_cpu != (PPC_OPCODE_POWER
| PPC_OPCODE_POWER2
| PPC_OPCODE_PPC)
|| (strcmp (op->name, "cmpli") != 0
&& strcmp (op->name, "cmpi") != 0
&& strcmp (op->name, "cmp") != 0
&& strcmp (op->name, "cmpl") != 0))
/* We permit a duplication of the mfdec instruction on
the 601, because it seems to have one value on the
601 and a different value on other PowerPC
processors. It's easier to permit a duplication than
to define a new instruction type flag. When using
-many, the comparison instructions are a harmless
special case. */
if (strcmp (retval, "exists") != 0
|| (((ppc_cpu & PPC_OPCODE_601) == 0
|| strcmp (op->name, "mfdec") != 0)
&& (ppc_cpu != (PPC_OPCODE_POWER
| PPC_OPCODE_POWER2
| PPC_OPCODE_PPC)
|| (strcmp (op->name, "cmpli") != 0
&& strcmp (op->name, "cmpi") != 0
&& strcmp (op->name, "cmp") != 0
&& strcmp (op->name, "cmpl") != 0))))
abort ();
}
}