https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127452

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
standalone testcase

#include <stdint.h>

void mulu64_high (uint64_t * __restrict r, uint64_t *a, uint64_t *b)
{
  for (int i = 0; i < 128; ++i)
    r[i] = ((unsigned __int128)a[i] * (unsigned __int128)b[i]) >> 64;
}

Reply via email to