aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorClaudiu Zissulescu <claziss@synopsys.com>2017-04-25 17:07:00 +0200
committerclaziss <claziss@synopsys.com>2017-04-25 17:07:00 +0200
commit126124cc0f3f0417913bfd84d83e4e525b6facf9 (patch)
tree3b25064e723e5cc5c9a7d5053333f31413570795 /gas
parentbe6a24d8eabdbeef32a9d79e81307af4491fcf56 (diff)
downloadgdb-126124cc0f3f0417913bfd84d83e4e525b6facf9.zip
gdb-126124cc0f3f0417913bfd84d83e4e525b6facf9.tar.gz
gdb-126124cc0f3f0417913bfd84d83e4e525b6facf9.tar.bz2
[ARC] Enhance enter/leave mnemonics.
enter/leave mnemonics are enhanced to not only accept register ranges but also single register (i.e., r13) or even no GPR register at all. gas/ 2017-04-25 Claudiu Zissulescu <claziss@synopsys.com> * testsuite/gas/arc/leave_enter.d: Update test. * testsuite/gas/arc/leave_enter.s: Likewise. opcodes/ 2017-04-25 Claudiu Zissulescu <claziss@synopsys.com> * arc-dis.c (print_insn_arc): Smartly print enter/leave mnemonics. * arc-opc.c (insert_r13el): New function. (R13_EL): Define. * arc-tbl.h: Add new enter/leave variants.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/testsuite/gas/arc/leave_enter.d41
-rw-r--r--gas/testsuite/gas/arc/leave_enter.s11
3 files changed, 41 insertions, 16 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 4be806e..ded300d 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,10 @@
2017-04-25 Claudiu Zissulescu <claziss@synopsys.com>
+ * testsuite/gas/arc/leave_enter.d: Update test.
+ * testsuite/gas/arc/leave_enter.s: Likewise.
+
+2017-04-25 Claudiu Zissulescu <claziss@synopsys.com>
+
* testsuite/gas/arc/b.d: Update test.
* testsuite/gas/arc/noargs_hs.d: Likewise.
diff --git a/gas/testsuite/gas/arc/leave_enter.d b/gas/testsuite/gas/arc/leave_enter.d
index 5eb1aef..821656a 100644
--- a/gas/testsuite/gas/arc/leave_enter.d
+++ b/gas/testsuite/gas/arc/leave_enter.d
@@ -1,21 +1,30 @@
-#objdump: -dr
+#objdump: -dr --prefix-addresses --show-raw-insn
.*: +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\]
+0x[0-9a-f]+\s+c0c2\s+leave_s \[r13\]
+0x[0-9a-f]+\s+c0c2\s+leave_s \[r13\]
+0x[0-9a-f]+\s+c4dc\s+leave_s \[r13-gp,pcl\]
+0x[0-9a-f]+\s+c1dc\s+leave_s \[r13-gp,fp\]
+0x[0-9a-f]+\s+c2dc\s+leave_s \[r13-gp,blink\]
+0x[0-9a-f]+\s+c3dc\s+leave_s \[r13-gp,fp,blink\]
+0x[0-9a-f]+\s+c5dc\s+leave_s \[r13-gp,fp,pcl\]
+0x[0-9a-f]+\s+c6dc\s+leave_s \[r13-gp,blink,pcl\]
+0x[0-9a-f]+\s+c7dc\s+leave_s \[r13-gp,fp,blink,pcl\]
+0x[0-9a-f]+\s+c6c2\s+leave_s \[r13,blink,pcl\]
+0x[0-9a-f]+\s+c6c0\s+leave_s \[blink,pcl\]
+0x[0-9a-f]+\s+c1c0\s+leave_s \[fp\]
+0x[0-9a-f]+\s+c2c0\s+leave_s \[blink\]
+0x[0-9a-f]+\s+c4c0\s+leave_s \[pcl\]
+0x[0-9a-f]+\s+1100 0000\s+ld r0,\[r1\]
+0x[0-9a-f]+\s+c0e2\s+enter_s \[r13\]
+0x[0-9a-f]+\s+c0e2\s+enter_s \[r13\]
+0x[0-9a-f]+\s+c1fc\s+enter_s \[r13-gp,fp\]
+0x[0-9a-f]+\s+c2fc\s+enter_s \[r13-gp,blink\]
+0x[0-9a-f]+\s+c3fc\s+enter_s \[r13-gp,fp,blink\]
+0x[0-9a-f]+\s+c2e2\s+enter_s \[r13,blink]
+0x[0-9a-f]+\s+c2e0\s+enter_s \[blink\]
+0x[0-9a-f]+\s+c3e0\s+enter_s \[fp,blink\]
+0x[0-9a-f]+\s+c1e0\s+enter_s \[fp\]
diff --git a/gas/testsuite/gas/arc/leave_enter.s b/gas/testsuite/gas/arc/leave_enter.s
index 1bdcc06..75cf913 100644
--- a/gas/testsuite/gas/arc/leave_enter.s
+++ b/gas/testsuite/gas/arc/leave_enter.s
@@ -1,4 +1,5 @@
.cpu HS
+ leave_s {r13}
leave_s {r13-r13}
leave_s {r13-r26,pcl}
leave_s {r13-r26,fp}
@@ -7,10 +8,20 @@
leave_s {r13-r26,fp,pcl}
leave_s {r13-r26,blink,pcl}
leave_s {r13-r26,fp,blink,pcl}
+ leave_s {r13,blink,pcl}
+ leave_s {blink,pcl}
+ leave_s {fp}
+ leave_s {blink}
+ leave_s {pcl}
ld r0,[r1]
+ enter_s {r13}
enter_s {r13-r13}
enter_s {r13-r26,fp}
enter_s {r13-r26,blink}
enter_s {r13-r26,fp,blink}
+ enter_s {r13,blink}
+ enter_s {blink}
+ enter_s {fp, blink}
+ enter_s {fp}