From 76e30835ad74dc589a2d70188fac22953efe63cc Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 26 Jan 1995 23:41:12 +0000 Subject: [PATCH] * config/tc-ppc.c (md_begin): Permit mfdec to be duplicated on the 601. Check that the error return from hash_insert is "exists". --- gas/ChangeLog | 5 +++++ gas/config/tc-ppc.c | 26 +++++++++++++++++--------- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index d64caec7ad..9d8afc5c3c 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +Thu Jan 26 18:38:01 1995 Ian Lance Taylor + + * 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 * configure: Add support for configuring powerpc-*-eabi. diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index 8f7ecae486..6144d10551 100644 --- a/gas/config/tc-ppc.c +++ b/gas/config/tc-ppc.c @@ -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 (); } } -- 2.34.1