https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127589
--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> ---
For Nvptx the reason is:
gcc/config/nvptx/nvptx.cc:7468
7466 nvptx_scalar_mode_supported_p (scalar_mode mode)
7467 {
7468 if (nvptx_experimental && mode == HFmode && TARGET_SM53)
7469 return true;
7470
7471 return default_scalar_mode_supported_p (mode);
7472 }
which is called from the hook
default_floatn_mode (n=16, extended=false)
Accordingly, the ICE disappears with
-foffload-options=-mexperimental -foffload=nvptx-none
Likewise for GCN:
bool
gcn_scalar_mode_supported_p (scalar_mode mode)
{
return (mode == BImode
|| mode == QImode
|| mode == HImode /* || mode == HFmode */
|| mode == SImode || mode == SFmode
|| mode == DImode || mode == DFmode
|| mode == TImode);
}
The question is how to handle this best? Enabling will be one option (for SM53+
systems, only) - otherwise we need to diagnose this in some way :-/