2013-03-12 Sebastian Huber <sebastian.huber@embedded-brains.de>
authorSandra Loosemore <sandra@codesourcery.com>
Tue, 12 Mar 2013 19:18:57 +0000 (19:18 +0000)
committerSandra Loosemore <sandra@codesourcery.com>
Tue, 12 Mar 2013 19:18:57 +0000 (19:18 +0000)
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
gas/config/tc-nios2.c
gas/testsuite/ChangeLog
gas/testsuite/gas/nios2/break.d
include/ChangeLog
include/opcode/nios2.h

index 92ad5df..b2c90ea 100644 (file)
@@ -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.
index d669c60..81caf86 100644 (file)
@@ -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;
     }
 
index a672651..9af9fa8 100644 (file)
@@ -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.
index be487bb..8d4853b 100644 (file)
@@ -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
 
 
index a6722b6..200771d 100644 (file)
@@ -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.
index 3405f55..5f6cf6e 100644 (file)
@@ -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.