[PowerPC]: e500 target can't use lwsync, use msync instead
authorJustin Hibbits <jrh29@alumni.cwru.edu>
Mon, 23 Mar 2020 14:44:39 +0000 (09:44 -0500)
committerJustin Hibbits <jrh29@alumni.cwru.edu>
Mon, 23 Mar 2020 22:15:27 +0000 (17:15 -0500)
commitf0990e104b0858fbdc4c726cd8da1ff166fe2dca
tree7f80f647a1bada209919646cf19ec0c4a4aadf2f
parent502915c619a32972ddc525be585794371bfbd27b
[PowerPC]: e500 target can't use lwsync, use msync instead

The e500 core has a silicon bug that triggers an illegal instruction
program trap on any sync other than msync.  Other cores will typically
ignore illegal sync types, and the documentation even implies that the
'illegal' bits are ignored.

Address this hardware deficiency by only using msync, like the PPC440.

Differential Revision:  https://reviews.llvm.org/D76614
llvm/lib/Target/PowerPC/PPC.td
llvm/test/CodeGen/PowerPC/atomics-fences.ll