arc: Use @pcl assembler syntax instead of invalid expressions
authorAndrew Burgess <andrew.burgess@embecosm.com>
Fri, 14 Apr 2017 21:08:35 +0000 (22:08 +0100)
committerAndrew Burgess <aburgess@gcc.gnu.org>
Fri, 14 Apr 2017 21:08:35 +0000 (22:08 +0100)
The old ARC assembler would accept expressions like 'LABEL-(.&-4)'
which would calculate the offset from the PCL to LABEL.  The new ARC
assembler does not accept these expressions, instead there's an @pcl
synax, used like LABEL@pcl which gives the offset from PCL to LABEL.

Most of the use of the old expression syntax have been removed,
however, this one got missed.

gcc/ChangeLog:

* config/arc/arc.md (doloop_begin_i): Use @pcl assembler syntax.

From-SVN: r246932

gcc/ChangeLog
gcc/config/arc/arc.md

index 719974bb742fa2120aa6b0d7f39ca2ab683232be..8c4728c91875fce4cc950714c3fb0f0445ccc42b 100644 (file)
@@ -1,3 +1,7 @@
+2017-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * config/arc/arc.md (doloop_begin_i): Use @pcl assembler syntax.
+
 2017-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
 
        PR target/80098
index 88b7fca8c08e25c6b08967866cd401ee6795a1c7..f707bd0755e4832cea01d29c16d1b62f21a0e0ab 100644 (file)
     {
       /* ??? Can do better for when a scratch register
         is known.  But that would require extra testing.  */
-      return "push_s r0\;add r0,pcl,%4-(.&-4)\;sr r0,[2]; LP_START\;add r0,pcl,.L__GCC__LP%1-(.&-4)\;sr r0,[3]; LP_END\;pop_s r0";
+      return "push_s r0\;add r0,pcl,%4@pcl\;sr r0,[2]; LP_START\;add r0,pcl,.L__GCC__LP%1@pcl\;sr r0,[3]; LP_END\;pop_s r0";
     }
   /* Check if the loop end is in range to be set by the lp instruction.  */
   size = INTVAL (operands[3]) < 2 ? 0 : 2048;