extern "C" void PPC32CompilationCallback();
extern "C" void PPC64CompilationCallback();
-#if defined(__powerpc64__) || defined(__ppc64__)
+// The first clause of the preprocessor directive looks wrong, but it is
+// necessary when compiling this code on non-PowerPC hosts.
+#if (!defined(__ppc__) && !defined(__powerpc__)) || defined(__powerpc64__) || defined(__ppc64__)
void PPC32CompilationCallback() {
llvm_unreachable("This is not a 32bit PowerPC, you can't execute this!");
}