Commit 8c1d6b64 by Andrew Burgess Committed by Andrew Burgess

arc: Use @pcl assembler syntax instead of invalid expressions

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
parent 31a07c81
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> 2017-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/80098 PR target/80098
......
...@@ -5070,7 +5070,7 @@ ...@@ -5070,7 +5070,7 @@
{ {
/* ??? Can do better for when a scratch register /* ??? Can do better for when a scratch register
is known. But that would require extra testing. */ 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. */ /* Check if the loop end is in range to be set by the lp instruction. */
size = INTVAL (operands[3]) < 2 ? 0 : 2048; size = INTVAL (operands[3]) < 2 ? 0 : 2048;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment