From 8110cc37fb816ba4dedf5039e7420057d36c3a2d Mon Sep 17 00:00:00 2001 From: aoliva Date: Sun, 3 Jun 2001 22:08:26 +0000 Subject: [PATCH] * config/sh/lib1funcs.asm (ic_invalidate): Align the cache-mirroring sequence. Add nops. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42833 138bc75d-0d04-0410-961f-82ee72b054a4 --- 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 c77ed73..a563081 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 d2a860e..2170758 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 */ -- 2.7.4