diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2001-06-03 22:08:26 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2001-06-03 22:08:26 +0000 |
commit | 9d4d725bb817be97593d5f5bf345b55ee5e93427 (patch) | |
tree | 94f3dab4430eb0f23a1979e0cf422c9992987484 | |
parent | f85b8d1a2f3e3dfec7b38b6e65ba920bb0ed1426 (diff) | |
download | gcc-9d4d725bb817be97593d5f5bf345b55ee5e93427.tar.gz |
lib1funcs.asm (ic_invalidate): Align the cache-mirroring sequence.
* config/sh/lib1funcs.asm (ic_invalidate): Align the
cache-mirroring sequence. Add nops.
From-SVN: r42833
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/sh/lib1funcs.asm | 11 |
2 files changed, 13 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c77ed73ae86..a5630817fc9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/sh/lib1funcs.asm b/gcc/config/sh/lib1funcs.asm index d2a860efb5c..21707587c9e 100644 --- a/gcc/config/sh/lib1funcs.asm +++ b/gcc/config/sh/lib1funcs.asm @@ -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 */ |