diff mbox

[(sh-2.6)] sh: Use GCC __builtin_prefetch() to implement prefetch().

Message ID 1289976617-27704-1-git-send-email-peppe.cavallaro@st.com (mailing list archive)
State Accepted
Commit d53e4307c2f3856167407a1d9b8f8fa001286066
Headers show

Commit Message

Peppe CAVALLARO Nov. 17, 2010, 6:50 a.m. UTC
None
diff mbox

Patch

diff --git a/arch/sh/include/asm/processor_32.h b/arch/sh/include/asm/processor_32.h
index 46d5179..e3c73cd 100644
--- a/arch/sh/include/asm/processor_32.h
+++ b/arch/sh/include/asm/processor_32.h
@@ -199,10 +199,13 @@  extern unsigned long get_wchan(struct task_struct *p);
 #define ARCH_HAS_PREFETCHW
 static inline void prefetch(void *x)
 {
-	__asm__ __volatile__ ("pref @%0\n\t" : : "r" (x) : "memory");
+	__builtin_prefetch(x, 0, 3);
 }
 
-#define prefetchw(x)	prefetch(x)
+static inline void prefetchw(void *x)
+{
+	__builtin_prefetch(x, 1, 3);
+}
 #endif
 
 #endif /* __KERNEL__ */