From 531a94fdb5a9a7b099bbe72d89d77b15faa0c53c Mon Sep 17 00:00:00 2001 From: Sandra Loosemore Date: Tue, 12 Mar 2013 19:18:57 +0000 Subject: [PATCH] 2013-03-12 Sebastian Huber include/ * opcode/nios2.h: Edit comment. gas/ * config/tc-nios2.c (nios2_consume_arg): Delete 'k' case. Add 'o' case. Add default BAD_CASE to switch. gas/testsuite/ * gas/nios2/break.d: Check instruction values. --- gas/ChangeLog | 5 +++++ gas/config/tc-nios2.c | 4 +++- gas/testsuite/ChangeLog | 4 ++++ gas/testsuite/gas/nios2/break.d | 10 +++++----- include/ChangeLog | 4 ++++ include/opcode/nios2.h | 7 ++++--- 6 files changed, 25 insertions(+), 9 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 92ad5df1e3..b2c90ea337 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2013-03-12 Sebastian Huber + + * config/tc-nios2.c (nios2_consume_arg): Delete 'k' case. Add 'o' + case. Add default BAD_CASE to switch. + 2013-03-11 Sebastian Huber * config/tc-nios2.c (nios2_assemble_args_ds): New function. diff --git a/gas/config/tc-nios2.c b/gas/config/tc-nios2.c index d669c604aa..81caf8618f 100644 --- a/gas/config/tc-nios2.c +++ b/gas/config/tc-nios2.c @@ -1981,14 +1981,16 @@ nios2_consume_arg (nios2_insn_infoS *insn, char *argstr, const char *parsestr) break; case 'm': case 'j': - case 'k': case 'l': case 'b': /* We can't have %hi, %lo or %hiadj here. */ if (*argstr == '%') as_bad (_("badly formed expression near %s"), argstr); break; + case 'o': + break; default: + BAD_CASE (*parsestr); break; } diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index a672651d9b..9af9fa89ba 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2013-03-12 Sebastian Huber + + * gas/nios2/break.d: Check instruction values. + 2013-03-11 Sebastian Huber * gas/nios2/nios2.exp: Run wrprs. diff --git a/gas/testsuite/gas/nios2/break.d b/gas/testsuite/gas/nios2/break.d index be487bb3d4..8d4853b1a5 100644 --- a/gas/testsuite/gas/nios2/break.d +++ b/gas/testsuite/gas/nios2/break.d @@ -1,12 +1,12 @@ -#objdump: -dr --prefix-addresses +#objdump: -dr --prefix-addresses --show-raw-insn #name: NIOS2 break .*: +file format elf32-littlenios2 Disassembly of section .text: -0+0000 <[^>]*> break 0 -0+0004 <[^>]*> break 0 -0+0008 <[^>]*> break 31 -0+000c <[^>]*> break 14 +0+0000 <[^>]*> 003da03a break 0 +0+0004 <[^>]*> 003da03a break 0 +0+0008 <[^>]*> 003da7fa break 31 +0+000c <[^>]*> 003da3ba break 14 diff --git a/include/ChangeLog b/include/ChangeLog index a6722b693b..200771d8da 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2013-03-12 Sebastian Huber + + * opcode/nios2.h: Edit comment. + 2013-03-11 Sebastian Huber * opcode/nios2.h (OPX_WRPRS): New define. diff --git a/include/opcode/nios2.h b/include/opcode/nios2.h index 3405f55f8b..5f6cf6e26c 100644 --- a/include/opcode/nios2.h +++ b/include/opcode/nios2.h @@ -48,15 +48,16 @@ enum overflow_type The args field is a string describing the operands. The following letters can appear in the args: - c - a 5-bit control register index or break opcode + c - a 5-bit control register index d - a 5-bit destination register index s - a 5-bit left source register index t - a 5-bit right source register index i - a 16-bit signed immediate u - a 16-bit unsigned immediate + o - a 16-bit signed program counter relative offset j - a 5-bit unsigned immediate - k - a 6-bit unsigned immediate - l - an 8-bit unsigned immediate + b - a 5-bit break instruction constant + l - a 8-bit custom instruction constant m - a 26-bit unsigned immediate Literal ',', '(', and ')' characters may also appear in the args as delimiters. -- 2.34.1