TImode has always been a problem on amdgcn, and now it is causing many new test failures, so I'm disabling it.

The mode only has move instructions defined, which was enough for SLP, but any other code trying to use it without checking the optabs is a problem.

The mode remains available for use within the backend, which is important because at least one hardware instruction uses a TImode value with two DImode values packed inside.

Andrew
amdgcn: disable TImode

The TImode support works for moves only, which has worked in most case up
to now, but no longer.

We still need TImode to exist for the instructions that take two DImode
values packed together, but we don't need to advertise this to the middle-end.

gcc/ChangeLog:

        * config/gcn/gcn.c (gcn_scalar_mode_supported_p): Disable TImode.

diff --git a/gcc/config/gcn/gcn.c b/gcc/config/gcn/gcn.c
index 9660ca6eaa4..2baf91d2f1f 100644
--- a/gcc/config/gcn/gcn.c
+++ b/gcc/config/gcn/gcn.c
@@ -361,7 +361,7 @@ gcn_scalar_mode_supported_p (scalar_mode mode)
          || mode == HImode /* || mode == HFmode  */
          || mode == SImode || mode == SFmode
          || mode == DImode || mode == DFmode
-         || mode == TImode);
+         /*|| mode == TImode*/); /* TI is used for back-end purposes only.  */
 }
 
 /* Implement TARGET_CLASS_MAX_NREGS.

Reply via email to