aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorclaziss <claziss@synopsys.com>2017-06-07 15:57:56 +0200
committerclaziss <claziss@synopsys.com>2017-06-26 08:53:10 +0200
commitcf9bdae906f897ae13563c03c65f325cad05bf1c (patch)
treed4dd74a8a6e8da7955fb097844c91227f9bbe0b8 /gas/testsuite
parent46adbd17408fda28aca5320e2247ede30b7e9649 (diff)
downloadgdb-cf9bdae906f897ae13563c03c65f325cad05bf1c.zip
gdb-cf9bdae906f897ae13563c03c65f325cad05bf1c.tar.gz
gdb-cf9bdae906f897ae13563c03c65f325cad05bf1c.tar.bz2
Update check conditions for illegal placed instructions.
ARC cpus do not accept any jump or instructions with long immediate into the delay slots. gas/ 2017-06-07 Claudiu Zissulescu <claziss@synopsys.com> * /config/tc-arc.c (is_br_jmp_insn_p): Update macro with known instructions to be accounted as jumps. (assemble_insn): Check for limms into the delay slots. Emit an error if so. * testsuite/gas/arc/asm-errors-3.d: New file. * testsuite/gas/arc/asm-errors-3.err: Likewise. * testsuite/gas/arc/asm-errors-3.s: Likewise.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/gas/arc/asm-errors-3.d2
-rw-r--r--gas/testsuite/gas/arc/asm-errors-3.err7
-rw-r--r--gas/testsuite/gas/arc/asm-errors-3.s14
3 files changed, 23 insertions, 0 deletions
diff --git a/gas/testsuite/gas/arc/asm-errors-3.d b/gas/testsuite/gas/arc/asm-errors-3.d
new file mode 100644
index 0000000..aa34c86
--- /dev/null
+++ b/gas/testsuite/gas/arc/asm-errors-3.d
@@ -0,0 +1,2 @@
+#as:
+#error-output: asm-errors-3.err
diff --git a/gas/testsuite/gas/arc/asm-errors-3.err b/gas/testsuite/gas/arc/asm-errors-3.err
new file mode 100644
index 0000000..735508e
--- /dev/null
+++ b/gas/testsuite/gas/arc/asm-errors-3.err
@@ -0,0 +1,7 @@
+[^:]*: Assembler messages:
+[^:]*:4: Error: Insn bl has an instruction st with limm in its delay slot.
+[^:]*:6: Error: Insn bl has an instruction st with limm in its delay slot.
+[^:]*:8: Error: Insn bl has a jump/branch instruction breq in its delay slot.
+[^:]*:10: Error: Insn bl has a jump/branch instruction bl in its delay slot.
+[^:]*:12: Error: Insn bl has a jump/branch instruction bbit0 in its delay slot.
+[^:]*:14: Error: Insn bl has a jump/branch instruction ei_s in its delay slot.
diff --git a/gas/testsuite/gas/arc/asm-errors-3.s b/gas/testsuite/gas/arc/asm-errors-3.s
new file mode 100644
index 0000000..e198a2e
--- /dev/null
+++ b/gas/testsuite/gas/arc/asm-errors-3.s
@@ -0,0 +1,14 @@
+ .cpu ARCHS
+.L1:
+ bl.d @foo
+ st 1,[@a]
+ bl.d @foo
+ st @a,[r1]
+ bl.d @foo
+ breq r0,r1,@.L1
+ bl.d @foo
+ bl @foo
+ bl.d @foo
+ bbit0 r0,r1,@.L1
+ bl.d @foo
+ ei_s 1