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

--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixing that with

void __attribute__((noinline,noclone)) broken(u64* shost)
{
  u8 node_name[8] __attribute__((aligned(__alignof(u64)))) = { 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
  *shost = wwn_to_u64(node_name);
}

still shows broken code.  Note __swab64p is a quite stupid implementation
assuming GCC can't constant-fold __builtin_bswap64.

Reply via email to