aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Stubbs <ams@codesourcery.com>2009-04-06 11:22:09 +0000
committerAndrew Stubbs <ams@gcc.gnu.org>2009-04-06 11:22:09 +0000
commita460d7a147af83ab70564aa339843505fadc4936 (patch)
treeb8f4c0cc953010947d65181d4f880d0e869fe205
parent5020dbd68d09515ff61949f10e885de79274cbd2 (diff)
downloadgcc-a460d7a147af83ab70564aa339843505fadc4936.zip
gcc-a460d7a147af83ab70564aa339843505fadc4936.tar.gz
gcc-a460d7a147af83ab70564aa339843505fadc4936.tar.bz2
lib1funcs.asm (ic_invalidate): Move ICBI out of the delay slot.
2009-04-06 Andrew Stubbs <ams@codesourcery.com> * config/sh/lib1funcs.asm (ic_invalidate): Move ICBI out of the delay slot. (ic_invalidate_array): Likewise. From-SVN: r145588
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/sh/lib1funcs.asm9
2 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 91ced6e..fff2d81 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2009-04-06 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/sh/lib1funcs.asm (ic_invalidate): Move ICBI out of the
+ delay slot.
+ (ic_invalidate_array): Likewise.
+
2009-04-06 Hariharan Sandanagobalane <hariharan@picochip.com>
* calls.c (emit_library_call_value_1): Fix a problem with parameter
diff --git a/gcc/config/sh/lib1funcs.asm b/gcc/config/sh/lib1funcs.asm
index f90374c..ce5ae97 100644
--- a/gcc/config/sh/lib1funcs.asm
+++ b/gcc/config/sh/lib1funcs.asm
@@ -1,5 +1,5 @@
/* Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- 2004, 2005, 2006
+ 2004, 2005, 2006, 2009
Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
@@ -2084,8 +2084,9 @@ GLOBAL(ic_invalidate):
GLOBAL(ic_invalidate):
ocbwb @r4
synco
- rts
icbi @r4
+ rts
+ nop
ENDFUNC(GLOBAL(ic_invalidate))
#elif defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__) || (defined(__SH4_NOFPU__) && !defined(__SH5__))
/* For system code, we use ic_invalidate_line_i, but user code
@@ -2151,8 +2152,10 @@ GLOBAL(ic_invalidate):
GLOBAL(ic_invalidate_array):
add r1,r4
synco
- rts
icbi @r4
+ rts
+ nop
+ .align 2
.long 0
ENDFUNC(GLOBAL(ic_invalidate_array))
#elif defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__) || (defined(__SH4_NOFPU__) && !defined(__SH5__))