diff mbox series

[RS6000] Power10 ICE running gcc.target/powerpc/ppc-ne0-1.c

Message ID 20201023140240.GB15973@bubble.grove.modra.org
State New
Headers show
Series [RS6000] Power10 ICE running gcc.target/powerpc/ppc-ne0-1.c | expand

Commit Message

Alan Modra Oct. 23, 2020, 2:02 p.m. UTC
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.

Comments

Segher Boessenkool Oct. 23, 2020, 3:32 p.m. UTC | #1
On Sat, Oct 24, 2020 at 12:32:40AM +1030, Alan Modra wrote:
> 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.

This is okay for trunk.  Thanks!

If we need more of this, we probably want a TARGET_SETBC, and if this
option becomes non-orthogonal (when many things use the insns directly),
we'll need to just disable -mno-isel (for later cpus).  But all is fine
for now it seems :-)


Segher
diff mbox series

Patch

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