Skip to content

Commit ed4289e

Browse files
committed
Revert "powerpc: slightly improve cache helpers"
This reverts commit 6c58758. It triggers a probable compiler bug on clang which leads to crashes. With GCC it allows the compiler to use a more efficient register allocation but current GCC versions never do that at any of the current call sites, so there's no benefit. Signed-off-by: Michael Ellerman <[email protected]>
1 parent d7e23b8 commit ed4289e

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

arch/powerpc/include/asm/cache.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,22 +107,22 @@ extern void _set_L3CR(unsigned long);
107107

108108
static inline void dcbz(void *addr)
109109
{
110-
__asm__ __volatile__ ("dcbz %y0" : : "Z"(*(u8 *)addr) : "memory");
110+
__asm__ __volatile__ ("dcbz 0, %0" : : "r"(addr) : "memory");
111111
}
112112

113113
static inline void dcbi(void *addr)
114114
{
115-
__asm__ __volatile__ ("dcbi %y0" : : "Z"(*(u8 *)addr) : "memory");
115+
__asm__ __volatile__ ("dcbi 0, %0" : : "r"(addr) : "memory");
116116
}
117117

118118
static inline void dcbf(void *addr)
119119
{
120-
__asm__ __volatile__ ("dcbf %y0" : : "Z"(*(u8 *)addr) : "memory");
120+
__asm__ __volatile__ ("dcbf 0, %0" : : "r"(addr) : "memory");
121121
}
122122

123123
static inline void dcbst(void *addr)
124124
{
125-
__asm__ __volatile__ ("dcbst %y0" : : "Z"(*(u8 *)addr) : "memory");
125+
__asm__ __volatile__ ("dcbst 0, %0" : : "r"(addr) : "memory");
126126
}
127127
#endif /* !__ASSEMBLY__ */
128128
#endif /* __KERNEL__ */

0 commit comments

Comments
 (0)