https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86723
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2018-07-29 00:00:00 |2021-8-19 --- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- clang: movabsq $72057589742960640, %rax # imm = 0xFFFFFF00000000 andq %rdi, %rax bswapq %rax shrq $56, %rdi orl %edi, %eax ICC: bswap %rdi #11.51 movl %edi, %eax #11.51 ret ICC looks like it is able to do it correctly.