

PR gas/14887
 * config/tc-arm.c (skip_past_char): Skip whitespace before the anticipated character.
 * config/tc-arm.c (parse_address_main): Delete skip of whitespace here as it is no longer needed.

Upstream-Status: Backport [PR14887]

Signed-off-by: Saul Wold <sgw@linux.intel.com>

===================================================================
RCS file: /cvs/src/src/gas/ChangeLog,v
retrieving revision 1.4898
retrieving revision 1.4899
Index: binutils-2.23.2/gas/config/tc-arm.c
===================================================================
--- binutils-2.23.2.orig/gas/config/tc-arm.c
+++ binutils-2.23.2/gas/config/tc-arm.c
@@ -885,6 +885,9 @@ const char FLT_CHARS[] = "rRsSfFdDxXeEpP
 static inline int
 skip_past_char (char ** str, char c)
 {
+  /* PR gas/14987: Allow for whitespace before the expected character.  */
+  skip_whitespace (*str);
+
   if (**str == c)
     {
       (*str)++;
@@ -5168,6 +5171,9 @@ parse_address_main (char **str, int i, i
       return PARSE_OPERAND_SUCCESS;
     }
 
+  /* PR gas/14987: Allow for whitespace before the expected character.  */
+  skip_whitespace (p);
+
   if ((reg = arm_reg_parse (&p, REG_TYPE_RN)) == FAIL)
     {
       inst.error = _(reg_expected_msgs[REG_TYPE_RN]);
Index: binutils-2.23.2/gas/testsuite/gas/arm/neon-ldst-es.s
===================================================================
--- binutils-2.23.2.orig/gas/testsuite/gas/arm/neon-ldst-es.s
+++ binutils-2.23.2/gas/testsuite/gas/arm/neon-ldst-es.s
@@ -57,3 +57,7 @@
 	vld2.32 {q1},[r7]
 	vld4.32 {q1-q2},[r7]
 	vld4.32 {q14-q15},[r7]
+
+	@ PR 14987 and 14887: Allow for whitespace in the instruction.
+	vld1.32 { d1 [ ] } , [ r2 ] , r3
+
