* config/tc-arm.c (parse_operands): Handle invalid register name
	for OP_RIWR_RIWC.

gas/testsuite:
	* gas/arm/iwmmxt-bad.s: Test invalid register names for wldrw and
	wstrw.
	* gas/arm/iwmmxt-bad.l: Update.
This commit is contained in:
Joseph Myers
2006-08-03 15:59:00 +00:00
parent 41adaa5cab
commit 97f87066f6
5 changed files with 19 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2006-08-03 Joseph Myers <joseph@codesourcery.com>
* config/tc-arm.c (parse_operands): Handle invalid register name
for OP_RIWR_RIWC.
2006-08-03 Joseph Myers <joseph@codesourcery.com> 2006-08-03 Joseph Myers <joseph@codesourcery.com>
* config/tc-arm.c (enum operand_parse_code): Add OP_RIWC_RIWG. * config/tc-arm.c (enum operand_parse_code): Add OP_RIWC_RIWG.

View File

@ -5749,9 +5749,10 @@ parse_operands (char *str, const unsigned char *pattern)
case OP_RIWR_RIWC: case OP_RIWR_RIWC:
{ {
struct reg_entry *rege = arm_reg_parse_multi (&str); struct reg_entry *rege = arm_reg_parse_multi (&str);
if (rege->type != REG_TYPE_MMXWR if (!rege
|| (rege->type != REG_TYPE_MMXWR
&& rege->type != REG_TYPE_MMXWC && rege->type != REG_TYPE_MMXWC
&& rege->type != REG_TYPE_MMXWCG) && rege->type != REG_TYPE_MMXWCG))
{ {
inst.error = _("iWMMXt data or control register expected"); inst.error = _("iWMMXt data or control register expected");
goto failure; goto failure;

View File

@ -1,3 +1,9 @@
2006-08-03 Joseph Myers <joseph@codesourcery.com>
* gas/arm/iwmmxt-bad.s: Test invalid register names for wldrw and
wstrw.
* gas/arm/iwmmxt-bad.l: Update.
2006-08-03 Joseph Myers <joseph@codesourcery.com> 2006-08-03 Joseph Myers <joseph@codesourcery.com>
* gas/arm/iwmmxt.s: Test tmcr and tmrc with wcgr registers. * gas/arm/iwmmxt.s: Test tmcr and tmrc with wcgr registers.

View File

@ -8,3 +8,5 @@
[^:]*:7: Error: iWMMXt data register expected -- `wstrh wcgr0,\[r1\]' [^:]*:7: Error: iWMMXt data register expected -- `wstrh wcgr0,\[r1\]'
[^:]*:8: Error: iWMMXt data register expected -- `wstrd wcgr0,\[r1\]' [^:]*:8: Error: iWMMXt data register expected -- `wstrd wcgr0,\[r1\]'
[^:]*:9: Error: iWMMXt control register expected -- `tmcr wibble,r1' [^:]*:9: Error: iWMMXt control register expected -- `tmcr wibble,r1'
[^:]*:10: Error: iWMMXt data or control register expected -- `wldrw wibble,\[r1\]'
[^:]*:11: Error: iWMMXt data or control register expected -- `wstrw wibble,\[r1\]'

View File

@ -7,3 +7,5 @@
wstrh wcgr0,[r1] wstrh wcgr0,[r1]
wstrd wcgr0,[r1] wstrd wcgr0,[r1]
tmcr wibble,r1 tmcr wibble,r1
wldrw wibble,[r1]
wstrw wibble,[r1]