From be7a250d1ad5e113f55e22ec0a70478c65166967 Mon Sep 17 00:00:00 2001 From: Andreas Krebbel Date: Thu, 28 Oct 2010 07:37:45 +0000 Subject: [PATCH] 2010-10-28 Andreas Krebbel * config/tc-s390.c (md_begin): Only add to hash table if cpu and mode mask fit. 2010-10-28 Andreas Krebbel * s390-opc.txt: cfxr, cfdr and cfer z900 -> g5. --- gas/ChangeLog | 5 +++++ gas/config/tc-s390.c | 17 +++++++++++------ opcodes/ChangeLog | 4 ++++ opcodes/s390-opc.txt | 6 +++--- 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 6b9b61706b..5ac943a3f4 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2010-10-28 Andreas Krebbel + + * config/tc-s390.c (md_begin): Only add to hash table if cpu and + mode mask fit. + 2010-10-28 Alan Modra * config/tc-d30v.c (d30v_cons_align): Don't align .eh_frame. diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c index cf9f8a1845..273ddd6512 100644 --- a/gas/config/tc-s390.c +++ b/gas/config/tc-s390.c @@ -506,13 +506,18 @@ md_begin (void) break; op++; } - retval = hash_insert (s390_opcode_hash, op->name, (void *) op); - if (retval != (const char *) NULL) - { - as_bad (_("Internal assembler error for instruction %s"), - op->name); - dup_insn = TRUE; + + if (op->min_cpu <= current_cpu && (op->modes & current_mode_mask)) + { + retval = hash_insert (s390_opcode_hash, op->name, (void *) op); + if (retval != (const char *) NULL) + { + as_bad (_("Internal assembler error for instruction %s"), + op->name); + dup_insn = TRUE; + } } + while (op < op_end - 1 && strcmp (op->name, op[1].name) == 0) op++; } diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index e8d2a72eb2..a39d8bee3c 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,7 @@ +2010-10-28 Andreas Krebbel + + * s390-opc.txt: cfxr, cfdr and cfer z900 -> g5. + 2010-10-25 Chao-ying Fu * mips-opc.c (madd, maddu, msub, msubu, mult, multu): Change D33 to D32. diff --git a/opcodes/s390-opc.txt b/opcodes/s390-opc.txt index e9b6ffc4da..4aa0da7ca7 100644 --- a/opcodes/s390-opc.txt +++ b/opcodes/s390-opc.txt @@ -555,9 +555,9 @@ b369 cxr RRE_FF "compare extended hfp" g5 esa,zarch b3b6 cxfr RRE_FR "convert from fixed 32 to extended hfp" g5 esa,zarch b3b5 cdfr RRE_FR "convert from fixed 32 to long hfp" g5 esa,zarch b3b4 cefr RRE_FR "convert from fixed 32 to short hfp" g5 esa,zarch -b3ba cfxr RRF_U0RF "convert to fixed extended hfp to 32" z900 esa,zarch -b3b9 cfdr RRF_U0RF "convert to fixed long hfp to 32" z900 esa,zarch -b3b8 cfer RRF_U0RF "convert to fixed short hfp to 32" z900 esa,zarch +b3ba cfxr RRF_U0RF "convert to fixed extended hfp to 32" g5 esa,zarch +b3b9 cfdr RRF_U0RF "convert to fixed long hfp to 32" g5 esa,zarch +b3b8 cfer RRF_U0RF "convert to fixed short hfp to 32" g5 esa,zarch b362 ltxr RRE_FF "load and test extended hfp" g5 esa,zarch b363 lcxr RRE_FF "load complement extended hfp" g5 esa,zarch b367 fixr RRE_FF "load fp integer extended hfp" g5 esa,zarch -- 2.34.1