[Bug c/93811] New: __builtin___clear_cache() is a noop on powerpc (which is incorrect)
anton at mips dot complang.tuwien.ac.at
gcc-bugzilla@gcc.gnu.org
Tue Feb 18 17:17:00 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93811
Bug ID: 93811
Summary: __builtin___clear_cache() is a noop on powerpc (which
is incorrect)
Product: gcc
Version: 7.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: anton at mips dot complang.tuwien.ac.at
Target Milestone: ---
Host: powerpc64-unknown-linux-gnu
Target: powerpc64-unknown-linux-gnu
Build: powerpc64-unknown-linux-gnu
Created attachment 47869
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47869&action=edit
source code for demonstrating the bug
A call to __builtin___clear_cache() results in no code being generated. This
can lead to stale I-cache contents on at least the PPC970 and the PPC7447A (I
have seen breakage from this bug on these CPUs). This bug is present in at
least gcc-4.3.2, gcc-5.5.0, and gcc-7.5.0. Given that it has not been fixed
for such a long time, it probably is still present in gcc-9 (which I could not
test for other reasons).
You can find a working implementation of a similar function at
<http://git.savannah.gnu.org/cgit/gforth.git/tree/arch/power/_sync_cache_range.c>
More information about the Gcc-bugs
mailing list