[ARC] Fix parsing leave_s and enter_s mnemonics.

gas/
2016-10-06  Claudiu Zissulescu  <claziss@synopsys.com>

	* testsuite/gas/arc/leave_enter.d: New file.
	* testsuite/gas/arc/leave_enter.s: Likewise.
	* testsuite/gas/arc/regnames.d: Likewise.
	* testsuite/gas/arc/regnames.s: Likewise.
	* config/tc-arc.c (arc_parse_name): Don't match reg names against
	confirmed symbol names.
This commit is contained in:
Claudiu Zissulescu 2016-09-28 12:27:41 +02:00
parent 7470adbb87
commit 08ec958fe0
6 changed files with 68 additions and 2 deletions

View File

@ -1,3 +1,12 @@
2016-10-06 Claudiu Zissulescu <claziss@synopsys.com>
* testsuite/gas/arc/leave_enter.d: New file.
* testsuite/gas/arc/leave_enter.s: Likewise.
* testsuite/gas/arc/regnames.d: Likewise.
* testsuite/gas/arc/regnames.s: Likewise.
* config/tc-arc.c (arc_parse_name): Don't match reg names against
confirmed symbol names.
2016-10-06 Alan Modra <amodra@gmail.com>
* app.c (do_scrub_chars): Move fall through comment.

View File

@ -3331,8 +3331,7 @@ arc_parse_name (const char *name,
if (!assembling_insn)
return FALSE;
/* Handle only registers and address types. */
if (e->X_op != O_absent)
if (e->X_op == O_symbol)
return FALSE;
sym = hash_find (arc_reg_hash, name);

View File

@ -0,0 +1,21 @@
#objdump: -dr
.*: +file format .*arc.*
Disassembly of section .text:
[0-9a-f]+ <.text>:
0: c0c2 leave_s \[r13-r13\]
2: c4dc leave_s \[r13-gp,pcl\]
4: c1dc leave_s \[r13-gp,fp\]
6: c2dc leave_s \[r13-gp,blink\]
8: c3dc leave_s \[r13-gp,fp,blink\]
a: c5dc leave_s \[r13-gp,fp,pcl\]
c: c6dc leave_s \[r13-gp,blink,pcl\]
e: c7dc leave_s \[r13-gp,fp,blink,pcl\]
10: 1100 0000 ld r0,\[r1\]
14: c0e2 enter_s \[r13-r13\]
16: c1fc enter_s \[r13-gp,fp\]
18: c2fc enter_s \[r13-gp,blink\]
1a: c3fc enter_s \[r13-gp,fp,blink\]

View File

@ -0,0 +1,16 @@
.cpu HS
leave_s {r13-r13}
leave_s {r13-r26,pcl}
leave_s {r13-r26,fp}
leave_s {r13-r26,blink}
leave_s {r13-r26,fp,blink}
leave_s {r13-r26,fp,pcl}
leave_s {r13-r26,blink,pcl}
leave_s {r13-r26,fp,blink,pcl}
ld r0,[r1]
enter_s {r13-r13}
enter_s {r13-r26,fp}
enter_s {r13-r26,blink}
enter_s {r13-r26,fp,blink}

View File

@ -0,0 +1,13 @@
#objdump: -dr
.*: +file format .*arc.*
Disassembly of section .text:
[0-9a-f]+ <r0>:
0: 200a 0f80 0000 0014 mov r0,0x14
8: 2000 0f80 0000 0000 add r0,r0,0
c: R_ARC_32_ME gp
10: 1a00 3080 st r2,\[gp\]
10: R_ARC_SDA_LDST .text\+0x14

View File

@ -0,0 +1,8 @@
;;; Check if assembler can discriminate between labels having the same
;;; name as a register
r0:
mov r0,@r1-@r0
add r0,r0,@gp
st r2,[gp,@r1@sda]
r1: