From 9d4d725bb817be97593d5f5bf345b55ee5e93427 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Sun, 3 Jun 2001 22:08:26 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ 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 + + * config/sh/lib1funcs.asm (ic_invalidate): Align the + cache-mirroring sequence. Add nops. + 2001-06-03 Joseph S. Myers * 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 */