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 :-/

Reply via email to