rs6000_emit_int_cmove generates isel so the condition below needs
fixing for power10.  Bootstrapped and regression tested
powerpc64le-linux power10 and power8.  OK?

        * config/rs6000/rs6000.md (cstore<mode>4): Don't call
        rs6000_emit_int_cmove for power10 when -mno-isel.

diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 2bf5df41a9b..cd41b759f71 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -11538,7 +11538,7 @@
   ""
 {
   /* Everything is best done with setbc[r] if available.  */
-  if (TARGET_POWER10)
+  if (TARGET_POWER10 && TARGET_ISEL)
     rs6000_emit_int_cmove (operands[0], operands[1], const1_rtx, const0_rtx);
 
   /* Expanding EQ and NE directly to some machine instructions does not help

-- 
Alan Modra
Australia Development Lab, IBM

Reply via email to