]> gcc.gnu.org Git - gcc.git/commitdiff
lib1funcs.asm (ic_invalidate): Align the cache-mirroring sequence.
authorAlexandre Oliva <aoliva@redhat.com>
Sun, 3 Jun 2001 22:08:26 +0000 (22:08 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Sun, 3 Jun 2001 22:08:26 +0000 (22:08 +0000)
* config/sh/lib1funcs.asm (ic_invalidate): Align the
cache-mirroring sequence.  Add nops.

From-SVN: r42833

gcc/ChangeLog
gcc/config/sh/lib1funcs.asm

index c77ed73ae867da570b7970dbf0344a2b82982df0..a5630817fc98c1ba3b4f19adccae6f66bed1a95c 100644 (file)
@@ -1,3 +1,8 @@
+2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/sh/lib1funcs.asm (ic_invalidate): Align the
+       cache-mirroring sequence.  Add nops.
+
 2001-06-03  Joseph S. Myers  <jsm28@cam.ac.uk>
 
        * doc/install-old.texi: Remove more old installation
index d2a860efb5c1e05cb4888876da73449f51719ffd..21707587c9ecfd8122889033dddde733b23b7c83 100644 (file)
@@ -1217,18 +1217,23 @@ GLOBAL(ic_invalidate):
        ocbwb   @r4
        mova    0f,r0
        mov.w   1f,r1
+/* Compute how many cache lines 0f is away from r4.  */
        sub     r0,r4
        and     r1,r4
-       add     #4,r4
+/* Prepare to branch to 0f plus the cache-line offset.  */
+       add     # 0f - 1f,r4
        braf    r4
        nop
 1:
        .short  0x1fe0
-       nop
+       .p2align 5
+/* This must be aligned to the beginning of a cache line.  */
 0:
-       .rept   2048
+       .rept   256 /* There are 256 cache lines of 32 bytes.  */
        rts
+       .rept   15
        nop
        .endr
+       .endr
 #endif /* SH4 */
 #endif /* L_ic_invalidate */
This page took 0.080304 seconds and 5 git commands to generate.