diff options
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-nios2.c | 4 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/nios2/break.d | 10 | ||||
-rw-r--r-- | include/ChangeLog | 4 | ||||
-rw-r--r-- | include/opcode/nios2.h | 7 |
6 files changed, 25 insertions, 9 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 92ad5df..b2c90ea 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2013-03-12 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * config/tc-nios2.c (nios2_consume_arg): Delete 'k' case. Add 'o' + case. Add default BAD_CASE to switch. + 2013-03-11 Sebastian Huber <sebastian.huber@embedded-brains.de> * 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 d669c60..81caf86 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 a672651..9af9fa8 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2013-03-12 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * gas/nios2/break.d: Check instruction values. + 2013-03-11 Sebastian Huber <sebastian.huber@embedded-brains.de> * gas/nios2/nios2.exp: Run wrprs. diff --git a/gas/testsuite/gas/nios2/break.d b/gas/testsuite/gas/nios2/break.d index be487bb..8d4853b 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 a6722b6..200771d 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2013-03-12 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * opcode/nios2.h: Edit comment. + 2013-03-11 Sebastian Huber <sebastian.huber@embedded-brains.de> * opcode/nios2.h (OPX_WRPRS): New define. diff --git a/include/opcode/nios2.h b/include/opcode/nios2.h index 3405f55..5f6cf6e 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. |