summaryrefslogtreecommitdiff
path: root/opcodes/ia64-gen.c
diff options
context:
space:
mode:
authorJim Wilson <wilson@tuliptree.org>2000-09-22 19:43:50 +0000
committerJim Wilson <wilson@tuliptree.org>2000-09-22 19:43:50 +0000
commit139368c9f374b56c00887e7587910ecd316da04c (patch)
tree4e4126e90ded11686f64c50a5d4a057d8a875768 /opcodes/ia64-gen.c
parent050823ca47c0683d2957782714c262757962dfb0 (diff)
downloadbinutils-139368c9f374b56c00887e7587910ecd316da04c.tar.gz
binutils-139368c9f374b56c00887e7587910ecd316da04c.tar.bz2
binutils-139368c9f374b56c00887e7587910ecd316da04c.zip
Fix ia64 gas testsuite. Update ia64 DV tables. Fix ia64 gas testsuite again.
gas/ChangeLog * config/tc-ia64.c (dv_sem): Add "stop". (specify_resource, case IA64_RS_PR): Only handles regs 1 to 15 now. (specify_resource, case IA64_RS_PRr): New for regs 16 to 62. (specify_resource, case IA64_RS_PR63): Reorder (note == 7) test to match above. (mark_resources): Check IA64_RS_PRr. gas/testsuite/ChangeLog * gas/ia64/dv-raw-err.s: Add new testcases for PR%, 16 - 62. * gas/ia64/dv-waw-err.s: Likewise. * gas/ia64/dv-imply.d: Regenerate. * gas/ia64/dv-mutex.d, gas/ia64/dv-raw-err.l, gas/ia64/dv-safe.d, gas/ia64/dv-srlz.d, gas/ia64/dv-war-err.l, gas/ia64/dv-waw-err.l, gas/ia64/opc-f.d, gas/ia64/opc-i.d, gas/ia64/opc-m.d: Likewise. include/opcode/ChangeLog * ia64.h (enum ia64_dependency_semantics): Add IA64_DVS_STOP. opcodes/ChangeLog * ia64-dis.c (print_insn_ia64): Revert Aug 7 byte skip count change. * ia64-gen.c (parse_semantics): Handle IA64_DVS_STOP. (lookup_specifier): Handle "PR%, 1 to 15" and "PR%, 16 to 62". * ia64-ic.tbl, ia64-raw.tbl, ia64-war.tbl, ia64-waw.tbl: Update. * ia64-asmtab.c: Regnerate.
Diffstat (limited to 'opcodes/ia64-gen.c')
-rw-r--r--opcodes/ia64-gen.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/opcodes/ia64-gen.c b/opcodes/ia64-gen.c
index a1e062ea398..310fc8d30f1 100644
--- a/opcodes/ia64-gen.c
+++ b/opcodes/ia64-gen.c
@@ -697,6 +697,8 @@ parse_semantics (char *sem)
return IA64_DVS_INSTR;
else if (strcmp (sem, "specific") == 0)
return IA64_DVS_SPECIFIC;
+ else if (strcmp (sem, "stop") == 0)
+ return IA64_DVS_STOP;
else
return IA64_DVS_OTHER;
}
@@ -1332,8 +1334,10 @@ lookup_specifier (const char *name)
return IA64_RS_FRb;
if (strstr (name, "GR%") != NULL)
return IA64_RS_GR;
- if (strstr (name, "PR%") != NULL)
+ if (strstr (name, "PR%, % in 1 ") != NULL)
return IA64_RS_PR;
+ if (strstr (name, "PR%, % in 16 ") != NULL)
+ return IA64_RS_PRr;
fprintf (stderr, "Warning! Don't know how to specify %% dependency %s\n",
name);