2013-03-12 Sebastian Huber <sebastian.huber@embedded-brains.de>

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.
This commit is contained in:
Sandra Loosemore 2013-03-12 19:18:57 +00:00
parent ee0475543f
commit 531a94fdb5
6 changed files with 25 additions and 9 deletions

View 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> 2013-03-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
* config/tc-nios2.c (nios2_assemble_args_ds): New function. * config/tc-nios2.c (nios2_assemble_args_ds): New function.

View file

@ -1981,14 +1981,16 @@ nios2_consume_arg (nios2_insn_infoS *insn, char *argstr, const char *parsestr)
break; break;
case 'm': case 'm':
case 'j': case 'j':
case 'k':
case 'l': case 'l':
case 'b': case 'b':
/* We can't have %hi, %lo or %hiadj here. */ /* We can't have %hi, %lo or %hiadj here. */
if (*argstr == '%') if (*argstr == '%')
as_bad (_("badly formed expression near %s"), argstr); as_bad (_("badly formed expression near %s"), argstr);
break; break;
case 'o':
break;
default: default:
BAD_CASE (*parsestr);
break; break;
} }

View 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> 2013-03-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
* gas/nios2/nios2.exp: Run wrprs. * gas/nios2/nios2.exp: Run wrprs.

View file

@ -1,12 +1,12 @@
#objdump: -dr --prefix-addresses #objdump: -dr --prefix-addresses --show-raw-insn
#name: NIOS2 break #name: NIOS2 break
.*: +file format elf32-littlenios2 .*: +file format elf32-littlenios2
Disassembly of section .text: Disassembly of section .text:
0+0000 <[^>]*> break 0 0+0000 <[^>]*> 003da03a break 0
0+0004 <[^>]*> break 0 0+0004 <[^>]*> 003da03a break 0
0+0008 <[^>]*> break 31 0+0008 <[^>]*> 003da7fa break 31
0+000c <[^>]*> break 14 0+000c <[^>]*> 003da3ba break 14

View 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> 2013-03-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
* opcode/nios2.h (OPX_WRPRS): New define. * opcode/nios2.h (OPX_WRPRS): New define.

View file

@ -48,15 +48,16 @@ enum overflow_type
The args field is a string describing the operands. The following The args field is a string describing the operands. The following
letters can appear in the args: 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 d - a 5-bit destination register index
s - a 5-bit left source register index s - a 5-bit left source register index
t - a 5-bit right source register index t - a 5-bit right source register index
i - a 16-bit signed immediate i - a 16-bit signed immediate
u - a 16-bit unsigned immediate u - a 16-bit unsigned immediate
o - a 16-bit signed program counter relative offset
j - a 5-bit unsigned immediate j - a 5-bit unsigned immediate
k - a 6-bit unsigned immediate b - a 5-bit break instruction constant
l - an 8-bit unsigned immediate l - a 8-bit custom instruction constant
m - a 26-bit unsigned immediate m - a 26-bit unsigned immediate
Literal ',', '(', and ')' characters may also appear in the args as Literal ',', '(', and ')' characters may also appear in the args as
delimiters. delimiters.