diff options
author | amylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-11-14 18:53:25 +0000 |
---|---|---|
committer | amylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-11-14 18:53:25 +0000 |
commit | 983454618104a3e8beefa2fc56d7d3413d4b8b59 (patch) | |
tree | 2face44bf8029d1504f886c9261ad0ff90a7bd3b | |
parent | 75791c3fb733045397f1d9e4c7f45cc9ee10aedb (diff) | |
download | gcc-983454618104a3e8beefa2fc56d7d3413d4b8b59.tar.gz |
* config/arc/arc.md (doloop_begin_i): Remove extra alignment;
use (.&-4) idiom.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204810 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arc/arc.md | 3 |
2 files changed, 6 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5b80c667899..e9ae5c939ba 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-11-14 Joern Rennecke <joern.rennecke@embecosm.com> + + * config/arc/arc.md (doloop_begin_i): Remove extra alignment; + use (.&-4) idiom. + 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * config/rs6000/sysv4le.h (LINUX64_DEFAULT_ABI_ELFv2): Define. diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md index baf347876be..64b4162a877 100644 --- a/gcc/config/arc/arc.md +++ b/gcc/config/arc/arc.md @@ -4789,8 +4789,7 @@ { /* ??? Can do better for when a scratch register is known. But that would require extra testing. */ - arc_clear_unalign (); - return ".p2align 2\;push_s r0\;add r0,pcl,%4-.+2\;sr r0,[2]; LP_START\;add r0,pcl,.L__GCC__LP%1-.+2\;sr r0,[3]; LP_END\;pop_s r0"; + 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"; } /* Check if the loop end is in range to be set by the lp instruction. */ size = INTVAL (operands[3]) < 2 ? 0 : 2048; |