https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68252 --- Comment #2 from Marc Glisse <glisse at gcc dot gnu.org> --- (with { tree utype = unsigned_type_for (TREE_TYPE (@0)); } (convert (lshift (convert:utype @0) @2)))) maybe?