https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127952
Drea Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |INVALID
--- Comment #1 from Drea Pinski <pinskia at gcc dot gnu.org> ---
https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_addcarry_u64&ig_expand=175
So the intrinsics documentation uses __int64 here.
Which GCC uses `unsigned long long` for it.
uint64_t is `unsigned long` for most x86_64 targets.
So you are just misusing the intrinsics.