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.