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

--- Comment #4 from Gian-Carlo Pascutto <gcp at sjeng dot org> ---
Further reduced testcase:

#include <stdint.h>

uint64_t f(uint64_t x) {
    return ((uint32_t)x << 55) | ((uint32_t)x >> -23);
}

This makes it more clear the code is UB, but AFAIK a compiler ICE doesn't fall
under allowable UB :-)

Reply via email to