aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2011-05-31 14:12:55 +0000
committerPaul Brook <paul@codesourcery.com>2011-05-31 14:12:55 +0000
commit3b2f07930444a96217805d28af12dc5edd65b20d (patch)
tree8e6e4b7ff5ff3684db863f04e574cca607e4117e /gas/testsuite
parentb58843019a8b7cb79ea5335498bb06c1d59d5d03 (diff)
downloadgdb-3b2f07930444a96217805d28af12dc5edd65b20d.zip
gdb-3b2f07930444a96217805d28af12dc5edd65b20d.tar.gz
gdb-3b2f07930444a96217805d28af12dc5edd65b20d.tar.bz2
2011-05-31 Paul Brook <paul@codesourcery.com>
gas/ * config/tc-arm.c (arm_cpus): Add Cortex-R5. (arm_extensions): Allow idiv on ARMv7-R. * doc/c-arm.text: Update idiv extension restrictions. gas/testsuite/ * gas/arm/arm-idiv-bad.d: New test. * gas/arm/arm-idiv-bad.s: New test. * gas/arm/arm-idiv-bad.l: New test. * gas/arm/arm-idiv.d: New test. * gas/arm/arm-idiv.s: New test. include/ * opcode/arm.h (ARM_ARCH_V7R_IDIV): Define.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog8
-rw-r--r--gas/testsuite/gas/arm/arm-idiv-bad.d4
-rw-r--r--gas/testsuite/gas/arm/arm-idiv-bad.l2
-rw-r--r--gas/testsuite/gas/arm/arm-idiv-bad.s4
-rw-r--r--gas/testsuite/gas/arm/arm-idiv.d9
-rw-r--r--gas/testsuite/gas/arm/arm-idiv.s8
6 files changed, 35 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 81fe89b..1f54cfe 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,5 +1,13 @@
2011-05-31 Paul Brook <paul@codesourcery.com>
+ * gas/arm/arm-idiv-bad.d: New test.
+ * gas/arm/arm-idiv-bad.s: New test.
+ * gas/arm/arm-idiv-bad.l: New test.
+ * gas/arm/arm-idiv.d: New test.
+ * gas/arm/arm-idiv.s: New test.
+
+2011-05-31 Paul Brook <paul@codesourcery.com>
+
* gas/arm/ldr-global.d: New test.
* gas/arm/ldr-global.s: New test.
diff --git a/gas/testsuite/gas/arm/arm-idiv-bad.d b/gas/testsuite/gas/arm/arm-idiv-bad.d
new file mode 100644
index 0000000..c3d7394
--- /dev/null
+++ b/gas/testsuite/gas/arm/arm-idiv-bad.d
@@ -0,0 +1,4 @@
+#name: Invalid V7 ARM DIV instructions
+#as: -march=armv7-a
+#error-output: arm-idiv-bad.l
+
diff --git a/gas/testsuite/gas/arm/arm-idiv-bad.l b/gas/testsuite/gas/arm/arm-idiv-bad.l
new file mode 100644
index 0000000..6662cc7
--- /dev/null
+++ b/gas/testsuite/gas/arm/arm-idiv-bad.l
@@ -0,0 +1,2 @@
+[^:]*: Assembler messages:
+[^:]*:4: Error: selected processor does not support ARM mode `sdiv r0,r0,r0'
diff --git a/gas/testsuite/gas/arm/arm-idiv-bad.s b/gas/testsuite/gas/arm/arm-idiv-bad.s
new file mode 100644
index 0000000..45e846e
--- /dev/null
+++ b/gas/testsuite/gas/arm/arm-idiv-bad.s
@@ -0,0 +1,4 @@
+ .text
+ .arm
+label:
+ sdiv r0, r0, r0
diff --git a/gas/testsuite/gas/arm/arm-idiv.d b/gas/testsuite/gas/arm/arm-idiv.d
new file mode 100644
index 0000000..a886d02
--- /dev/null
+++ b/gas/testsuite/gas/arm/arm-idiv.d
@@ -0,0 +1,9 @@
+#name: ARM Integer division instructions
+#objdump: -dr --prefix-addresses --show-raw-insn
+
+.*: +file format .*arm.*
+
+Disassembly of section .text:
+0+000 <[^>]*> e735f819 udiv r5, r9, r8
+0+004 <[^>]*> e739f715 udiv r9, r5, r7
+0+008 <[^>]*> e710f010 sdiv r0, r0, r0
diff --git a/gas/testsuite/gas/arm/arm-idiv.s b/gas/testsuite/gas/arm/arm-idiv.s
new file mode 100644
index 0000000..626a67d
--- /dev/null
+++ b/gas/testsuite/gas/arm/arm-idiv.s
@@ -0,0 +1,8 @@
+.arch armv7-a
+.arch_extension idiv
+.arm
+udiv r5, r9, r8
+.cpu cortex-a15
+udiv r9, r5, r7
+.cpu cortex-r5
+sdiv r0, r0, r0