https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109825
--- Comment #4 from Uroš Bizjak <ubizjak at gmail dot com> --- Like this: --cut here-- diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc index 62fe06fdbaa..e6091b8bd35 100644 --- a/gcc/config/i386/i386.cc +++ b/gcc/config/i386/i386.cc @@ -20417,14 +20417,12 @@ ix86_widen_mult_cost (const struct processor_costs *cost, int basic_cost = 0; switch (mode) { - case V4HImode: case V8HImode: case V16HImode: if (!uns_p || mode == V16HImode) extra_cost = cost->sse_op * 2; basic_cost = cost->mulss * 2 + cost->sse_op * 4; break; - case V2SImode: case V4SImode: case V8SImode: /* pmulhw/pmullw can be used. */ @@ -20441,7 +20439,8 @@ ix86_widen_mult_cost (const struct processor_costs *cost, basic_cost = cost->mulss * 2 + cost->sse_op * 4; break; default: - gcc_unreachable(); + /* Not implemented. */ + return 1000; } return ix86_vec_cost (mode, basic_cost + extra_cost); } --cut here--