https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111285
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Created attachment 55985 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55985&action=edit Patch which fixes the issue I am not sure this is the best patch but we don't pass down 2 inner types into do_unop (or a different version of this).