diff options
author | Jeff Law <law@redhat.com> | 1998-06-01 23:07:21 +0000 |
---|---|---|
committer | Jeff Law <law@redhat.com> | 1998-06-01 23:07:21 +0000 |
commit | be294de6b3eb195d69e1e4533dd85f133bff52dd (patch) | |
tree | 613e3cf3ff4aa392a950a57cb38809b2f15f5140 | |
parent | 773cf1a24b6dce938698e6a497a895946322f630 (diff) | |
download | gdb-be294de6b3eb195d69e1e4533dd85f133bff52dd.zip gdb-be294de6b3eb195d69e1e4533dd85f133bff52dd.tar.gz gdb-be294de6b3eb195d69e1e4533dd85f133bff52dd.tar.bz2 |
* config/tc-mips.c (hilo_interlocks): The r5900 has HILO interlocks.
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 19 |
2 files changed, 25 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index c92cfff..edc31ef 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +start-sanitize-r5900 +Mon Jun 1 17:04:56 1998 Jeffrey A Law (law@cygnus.com) + + * config/tc-mips.c (hilo_interlocks): The r5900 has HILO interlocks. + +end-sanitize-r5900 Mon Jun 1 12:47:30 1998 Doug Evans <devans@canuck.cygnus.com> * config/tc-m32r.c (m32r_do_align): Only fill code sections with diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 0263960..8dcd4b0 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -242,6 +242,9 @@ static int mips_4900 = -1; /* start-sanitize-vr4320 */ \ || mips_cpu == 4320 \ /* end-sanitize-vr4320 */ \ + /* start-sanitize-r5900 */ \ + || mips_cpu == 5900 \ + /* end-sanitize-r5900 */ \ ) /* Whether the processor uses hardware interlocks to protect reads @@ -7008,6 +7011,7 @@ validate_mips_insn (opc) case 'J': break; case 'O': USE_BITS (OP_MASK_VUCALLMS, OP_SH_VUCALLMS);break; case '&': USE_BITS (OP_MASK_VUDEST, OP_SH_VUDEST); break; + case ';': break; case '#': p++; break; @@ -7317,6 +7321,7 @@ mips_ip (str, ip) case 'K': /* DEST operand completer (optional), must match previous dest if specified. */ case '&': /* DEST instruction completer */ + case ';': /* DEST instruction completer, must be xyz */ { int w,x,y,z; static int last_h; @@ -7366,6 +7371,20 @@ mips_ip (str, ip) | (y << 23) | (z << 22)); last_h = (w << 3) | (x << 0) | (y << 1) | (z << 2); } + else if (*args == ';') + { + /* This implicitly has the .xyz completer. */ + if (w == 0 && x == 0 && y == 0 && z == 0) + x = y = z = 1; + + if (w != 0 || x != 1 || y != 1 || z != 1) + { + insn_error = "Invalid dest specification"; + continue; + } + + last_h = (w << 3) | (x << 0) | (y << 1) | (z << 2); + } else { int temp; |