--- a/c/_cffi_backend.c
+++ b/c/_cffi_backend.c
@@ -951,6 +951,9 @@
 }
 
 static void
+#ifdef __powerpc64__
+__attribute__((optimize("O0")))
+#endif
 write_raw_float_data(char *target, double source, int size)
 {
     _write_raw_data(float);
@@ -977,6 +980,9 @@
     } while(0)
 
 static void
+#ifdef __powerpc64__
+__attribute__((optimize("O0")))
+#endif
 write_raw_complex_data(char *target, Py_complex source, int size)
 {
     _write_raw_complex_data(float);
