[Bug c/105923] unsupported return type ‘complex double’ for simd

crazylht at gmail dot com gcc-bugzilla@gcc.gnu.org
Tue Jun 14 09:10:18 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105923

--- Comment #4 from Hongtao.liu <crazylht at gmail dot com> ---
Hmm, it's in i386.cc


23455/* Set CLONEI->vecsize_mangle, CLONEI->mask_mode, CLONEI->vecsize_int,
23456   CLONEI->vecsize_float and if CLONEI->simdlen is 0, also
23457   CLONEI->simdlen.  Return 0 if SIMD clones shouldn't be emitted,
23458   or number of vecsize_mangle variants that should be emitted.  */
23459
23460static int
23461ix86_simd_clone_compute_vecsize_and_simdlen (struct cgraph_node *node,
23462                                             struct cgraph_simd_clone
*clonei,
23463                                             tree base_type, int num)
...
23509        case E_QImode:
23510        case E_HImode:
23511        case E_SImode:
23512        case E_DImode:
23513        case E_SFmode:
23514        case E_DFmode:
23515        /* case E_SCmode: */
23516        /* case E_DCmode: */
23517          if (!AGGREGATE_TYPE_P (arg_type))
23518            break;
23519          /* FALLTHRU */
23520        default:
23521          if (clonei->args[i].arg_type == SIMD_CLONE_ARG_TYPE_UNIFORM)
23522            break;
23523          warning_at (DECL_SOURCE_LOCATION (node->decl), 0,
23524                      "unsupported argument type %qT for simd", arg_type);
23525          return 0;
23526        }
23527    }


More information about the Gcc-bugs mailing list