https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104496
--- Comment #3 from Hongtao.liu <crazylht at gmail dot com> --- (In reply to Hongtao.liu from comment #2) > here is type V, a vector type with DImode and hit ICE in build > build_vector_type_for_mode (type, mode) which take type as inner_type. > > <vector_type 0x7fffea3ec498 > type <integer_type 0x7fffea2fe5e8 int public SI > size <integer_cst 0x7fffea2e2f90 constant 32> > unit-size <integer_cst 0x7fffea2e2fa8 constant 4> > align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type > 0x7fffea2fe5e8 precision:32 min <integer_cst 0x7fffea2e2f48 -2147483648> max > <integer_cst 0x7fffea2e2f60 2147483647> > pointer_to_this <pointer_type 0x7fffea3069d8>> > DI > size <integer_cst 0x7fffea2e2d50 type <integer_type 0x7fffea2fe0a8 > bitsizetype> constant 64> > unit-size <integer_cst 0x7fffea2e2d68 type <integer_type 0x7fffea2fe000 > sizetype> constant 8> /* If TYPE is a vector type, return true if IFN is a direct internal function that is supported for that type. If TYPE is a scalar type, return true if IFN is a direct internal function that is supported for the target's preferred vector version of TYPE. */ Hmm, TYPE is vector type, but mode is scalar mode.