https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108583
--- Comment #21 from Tamar Christina <tnfchris at gcc dot gnu.org> --- > > OK, so that's an ADD_HIGHPART_EXPR then? Though the highpart of an > add is only a single bit, isn't it? For scalar you'd use the > carry bit here and instructions like adc to consume it. Is addhn > to do such thing on vectors? > So I think this is the only new IFN we'd need. basically we only need one representing (a + b) >> n, for certain values of n we have a single instruction for others we reject it. So I think we can just do two of these back to back and that should work. If this is ok I can implement it today.