This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils][gas][ARM] Tests for 26-bit versions of teq,tst,cmn,cmp


In a former patch to fix an issue with wrongly disassembled nops and 26-bit versions of teq,tst,cmn,cmp I updated the testsuite to test for later versions of the architecture. However, the 'legacy' 26-bit versions of teq, test, cmn and cmp can still be disassembled for armv5 and older. These tests were added to make sure we keep testing this functionality and don't loose it without going unnoticed.

Aforementioned patch:
https://sourceware.org/ml/binutils/2015-08/msg00028.html

gas/testsuite/ChangeLog:
2015-09-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
        * gas/arm/pinsn.s: New.
        * gas/arm/pinsn.d: Likewise.
From 633f9f00cca01a90673cf1bea8ca3e5a5b3772f4 Mon Sep 17 00:00:00 2001
From: Andre Simoes Dias Vieira <andsim01@arm.com>
Date: Wed, 16 Sep 2015 12:26:25 +0100
Subject: [PATCH] Tests for 26 bit versions of teq/tst/cmn/cmp

---
 gas/testsuite/gas/arm/pinsn.d | 24 ++++++++++++++++++++++++
 gas/testsuite/gas/arm/pinsn.s | 16 ++++++++++++++++
 2 files changed, 40 insertions(+)
 create mode 100644 gas/testsuite/gas/arm/pinsn.d
 create mode 100644 gas/testsuite/gas/arm/pinsn.s

diff --git a/gas/testsuite/gas/arm/pinsn.d b/gas/testsuite/gas/arm/pinsn.d
new file mode 100644
index 0000000000000000000000000000000000000000..b36cc566c551862f128412a5a47a7a1857095c15
--- /dev/null
+++ b/gas/testsuite/gas/arm/pinsn.d
@@ -0,0 +1,24 @@
+# name: 26-bit teq/cmn/tst/cmp instructions
+# objdump: -dr --prefix-addresses --show-raw-insn -marmv4
+# skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd
+
+.*: +file format .*arm.*
+
+
+Disassembly of section .text:
+0+000 <[^>]*> e330f00a ?	teqp	r0, #10
+0+004 <[^>]*> e132f004 ?	teqp	r2, r4
+0+008 <[^>]*> e135f287 ?	teqp	r5, r7, lsl #5
+0+00c <[^>]*> e131f113 ?	teqp	r1, r3, lsl r1
+0+010 <[^>]*> e370f00a ?	cmnp	r0, #10
+0+014 <[^>]*> e172f004 ?	cmnp	r2, r4
+0+018 <[^>]*> e175f287 ?	cmnp	r5, r7, lsl #5
+0+01c <[^>]*> e171f113 ?	cmnp	r1, r3, lsl r1
+0+020 <[^>]*> e350f00a ?	cmpp	r0, #10
+0+024 <[^>]*> e152f004 ?	cmpp	r2, r4
+0+028 <[^>]*> e155f287 ?	cmpp	r5, r7, lsl #5
+0+02c <[^>]*> e151f113 ?	cmpp	r1, r3, lsl r1
+0+030 <[^>]*> e310f00a ?	tstp	r0, #10
+0+034 <[^>]*> e112f004 ?	tstp	r2, r4
+0+038 <[^>]*> e115f287 ?	tstp	r5, r7, lsl #5
+0+03c <[^>]*> e111f113 ?	tstp	r1, r3, lsl r1
diff --git a/gas/testsuite/gas/arm/pinsn.s b/gas/testsuite/gas/arm/pinsn.s
new file mode 100644
index 0000000000000000000000000000000000000000..4736c086dd221453bde843ade866f5658e275862
--- /dev/null
+++ b/gas/testsuite/gas/arm/pinsn.s
@@ -0,0 +1,16 @@
+teqp	r0, #10
+teqp	r2, r4
+teqp	r5, r7, lsl #5
+teqp	r1, r3, lsl r1
+cmnp	r0, #10
+cmnp	r2, r4
+cmnp	r5, r7, lsl #5
+cmnp	r1, r3, lsl r1
+cmpp	r0, #10
+cmpp	r2, r4
+cmpp	r5, r7, lsl #5
+cmpp	r1, r3, lsl r1
+tstp	r0, #10
+tstp	r2, r4
+tstp	r5, r7, lsl #5
+tstp	r1, r3, lsl r1
-- 
1.9.1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]