This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb] [ARM] Allow immediate without prefix in unified syntax for VCMP
- From: Thomas Preud'homme <thopre01 at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 13 Feb 2017 17:48:36 -0000
- Subject: [binutils-gdb] [ARM] Allow immediate without prefix in unified syntax for VCMP
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3c6452ae8df5a4707c77aacc514a3a95bf3f24b7
commit 3c6452ae8df5a4707c77aacc514a3a95bf3f24b7
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date: Mon Feb 13 17:46:59 2017 +0000
[ARM] Allow immediate without prefix in unified syntax for VCMP
2017-02-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
gas/
* config/tc-arm.c (parse_ifimm_zero): Make prefix optional in unified
syntax.
* testsuite/gas/arm/vcmp-noprefix-imm.d: New file.
* testsuite/gas/arm/vcmp-noprefix-imm.s: New file.
Diff:
---
gas/ChangeLog | 7 +++++++
gas/config/tc-arm.c | 10 +++++++---
gas/testsuite/gas/arm/vcmp-noprefix-imm.d | 8 ++++++++
gas/testsuite/gas/arm/vcmp-noprefix-imm.s | 7 +++++++
4 files changed, 29 insertions(+), 3 deletions(-)
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 5fb48dc..27e5885 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+2017-02-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * config/tc-arm.c (parse_ifimm_zero): Make prefix optional in unified
+ syntax.
+ * testsuite/gas/arm/vcmp-noprefix-imm.d: New file.
+ * testsuite/gas/arm/vcmp-noprefix-imm.s: New file.
+
2017-02-10 Nicholas Piggin <npiggin@gmail.com>
* testsuite/gas/ppc/power9.d <scv, rfscv>: New tests.
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 7947035..a433929 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -4969,9 +4969,13 @@ parse_ifimm_zero (char **in)
int error_code;
if (!is_immediate_prefix (**in))
- return FALSE;
-
- ++*in;
+ {
+ /* In unified syntax, all prefixes are optional. */
+ if (!unified_syntax)
+ return FALSE;
+ }
+ else
+ ++*in;
/* Accept #0x0 as a synonym for #0. */
if (strncmp (*in, "0x", 2) == 0)
diff --git a/gas/testsuite/gas/arm/vcmp-noprefix-imm.d b/gas/testsuite/gas/arm/vcmp-noprefix-imm.d
new file mode 100644
index 0000000..2e4f6ba
--- /dev/null
+++ b/gas/testsuite/gas/arm/vcmp-noprefix-imm.d
@@ -0,0 +1,8 @@
+#name: VCMP immediate without prefix
+#as:
+#objdump: -dr --prefix-addresses --show-raw-insn
+
+.*: +file format .*arm.*
+
+Disassembly of section .text:
+0[0-9a-f]+ <[^>]+> eeb5 0a40 vcmp.f32 s0, #0.0
diff --git a/gas/testsuite/gas/arm/vcmp-noprefix-imm.s b/gas/testsuite/gas/arm/vcmp-noprefix-imm.s
new file mode 100644
index 0000000..114ddad
--- /dev/null
+++ b/gas/testsuite/gas/arm/vcmp-noprefix-imm.s
@@ -0,0 +1,7 @@
+.syntax unified
+.arch armv7e-m
+.fpu fpv5-d16
+.thumb
+.thumb_func
+
+vcmp.f32 s0, 0.0