From 3b2f07930444a96217805d28af12dc5edd65b20d Mon Sep 17 00:00:00 2001 From: Paul Brook Date: Tue, 31 May 2011 14:12:55 +0000 Subject: 2011-05-31 Paul Brook 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. --- gas/testsuite/ChangeLog | 8 ++++++++ gas/testsuite/gas/arm/arm-idiv-bad.d | 4 ++++ gas/testsuite/gas/arm/arm-idiv-bad.l | 2 ++ gas/testsuite/gas/arm/arm-idiv-bad.s | 4 ++++ gas/testsuite/gas/arm/arm-idiv.d | 9 +++++++++ gas/testsuite/gas/arm/arm-idiv.s | 8 ++++++++ 6 files changed, 35 insertions(+) create mode 100644 gas/testsuite/gas/arm/arm-idiv-bad.d create mode 100644 gas/testsuite/gas/arm/arm-idiv-bad.l create mode 100644 gas/testsuite/gas/arm/arm-idiv-bad.s create mode 100644 gas/testsuite/gas/arm/arm-idiv.d create mode 100644 gas/testsuite/gas/arm/arm-idiv.s (limited to 'gas/testsuite') 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 + * 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 + * 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 -- cgit v1.1