gas/
authorRoland McGrath <roland@gnu.org>
Tue, 20 Nov 2012 17:53:46 +0000 (17:53 +0000)
committerRoland McGrath <roland@gnu.org>
Tue, 20 Nov 2012 17:53:46 +0000 (17:53 +0000)
* config/tc-arm.c (arm_symbol_chars): New variable.
* config/tc-arm.h (tc_symbol_chars): New macro, defined to that.

gas/testsuite/
* gas/arm/macro-pld.s: New file.
* gas/arm/macro-pld.d: New file.

gas/ChangeLog
gas/config/tc-arm.c
gas/config/tc-arm.h
gas/testsuite/ChangeLog
gas/testsuite/gas/arm/macro-pld.d [new file with mode: 0644]
gas/testsuite/gas/arm/macro-pld.s [new file with mode: 0644]

index bcf76b8..c9c0e36 100644 (file)
@@ -9,6 +9,11 @@
        * config/tc-aarch64.c (first_error_fmt): Add ATTRIBUTE_UNUSED to the
        local variable "ret".
 
+2012-11-20  Roland McGrath  <mcgrathr@google.com>
+
+       * config/tc-arm.c (arm_symbol_chars): New variable.
+       * config/tc-arm.h (tc_symbol_chars): New macro, defined to that.
+
 2012-11-20  David S. Miller  <davem@davemloft.net>
 
        * config/tc-sparc.c (md_parse_option): Only certain arch
        CPU_BTVER2_FLAGS.
        (i386_align_code): Add case for PROCESSOR_BT.
 
-       * config/tc-i386.h (enum processor_type): Add PROCESSOR_BT.       
+       * config/tc-i386.h (enum processor_type): Add PROCESSOR_BT.
 
        * doc/c-i386.texi: Add -march={btver1, btver2} options.
 
index 971ac6f..4cd2745 100644 (file)
@@ -321,6 +321,11 @@ static int implicit_it_mode = IMPLICIT_IT_MODE_ARM;
 
 static bfd_boolean unified_syntax = FALSE;
 
+/* An immediate operand can start with #, and ld*, st*, pld operands
+   can contain [ and ].  We need to tell APP not to elide whitespace
+   before a [, which can appear as the first operand for pld.  */
+const char arm_symbol_chars[] = "#[]";
+
 enum neon_el_type
 {
   NT_invtype,
@@ -10225,7 +10230,7 @@ do_t_branch (void)
 }
 
 /* Actually do the work for Thumb state bkpt and hlt.  The only difference
-   between the two is the maximum immediate allowed - which is passed in 
+   between the two is the maximum immediate allowed - which is passed in
    RANGE.  */
 static void
 do_t_bkpt_hlt1 (int range)
@@ -14660,7 +14665,7 @@ do_vfp_nsyn_cvtz (void)
 }
 
 static void
-do_vfp_nsyn_cvt_fpv8 (enum neon_cvt_flavour flavour, 
+do_vfp_nsyn_cvt_fpv8 (enum neon_cvt_flavour flavour,
                      enum neon_cvt_mode mode)
 {
   int sz, op;
@@ -14720,9 +14725,9 @@ do_neon_cvt_1 (enum neon_cvt_mode mode)
   /* PR11109: Handle round-to-zero for VCVT conversions.  */
   if (mode == neon_cvt_mode_z
       && ARM_CPU_HAS_FEATURE (cpu_variant, fpu_arch_vfp_v2)
-      && (flavour == neon_cvt_flavour_s32_f32 
-         || flavour == neon_cvt_flavour_u32_f32 
-         || flavour == neon_cvt_flavour_s32_f64 
+      && (flavour == neon_cvt_flavour_s32_f32
+         || flavour == neon_cvt_flavour_u32_f32
+         || flavour == neon_cvt_flavour_s32_f64
          || flavour == neon_cvt_flavour_u32_f64)
       && (rs == NS_FD || rs == NS_FF))
     {
index da6469c..3a0fab0 100644 (file)
@@ -82,6 +82,9 @@ struct fix;
 /* We support double slash line-comments for compatibility with the ARM AArch64 Assembler.  */
 #define DOUBLESLASH_LINE_COMMENTS
 
+#define tc_symbol_chars arm_symbol_chars
+extern const char arm_symbol_chars[];
+
 #define TC_FORCE_RELOCATION(FIX) arm_force_relocation (FIX)
 
 extern unsigned int arm_frag_max_var (struct frag *);
index 8c21a0c..b05f281 100644 (file)
@@ -3,6 +3,11 @@
        * gas/s390/zarch-z9-109.d: Fix srstu opcode.
        * gas/s390/zarch-z900.d: Replace lasp with strag.
 
+2012-11-20  Roland McGrath  <mcgrathr@google.com>
+
+       * gas/arm/macro-pld.s: New file.
+       * gas/arm/macro-pld.d: New file.
+
 2012-11-14  David Holsgrove  <david.holsgrove@xilinx.com>
 
        * gas/microblaze/allinsn.s: Add mbar and sleep
diff --git a/gas/testsuite/gas/arm/macro-pld.d b/gas/testsuite/gas/arm/macro-pld.d
new file mode 100644 (file)
index 0000000..8f9d86c
--- /dev/null
@@ -0,0 +1,8 @@
+#objdump: -dr
+
+.*:     file format .*
+
+Disassembly of section \.text:
+
+0+ <.*>:
+\s*0:\s+f5d0f000\s+pld\s+\[r0\]
diff --git a/gas/testsuite/gas/arm/macro-pld.s b/gas/testsuite/gas/arm/macro-pld.s
new file mode 100644 (file)
index 0000000..cf4df8b
--- /dev/null
@@ -0,0 +1,4 @@
+.macro foo arg, rest:vararg
+       \rest
+.endm
+       foo r0, pld [r0]