/* PR target/pr68400 This was triggering an ICE in change_address_1 when compiled with -Os. */ /* { dg-do compile } */ /* { dg-options "-fstack-protector -mips16" } */ typedef struct s { unsigned long long d; long long t; } p; int sh(int x, unsigned char *buf) { p *uhdr = (p *)buf; unsigned int i = 0; uhdr->d = ((uhdr->d & 0xff00000000000000LL) >> 56) | ((uhdr->d & 0x0000ff0000000000LL) >> 24) | ((uhdr->d & 0x00000000ff000000LL) << 8) | ((uhdr->d & 0x00000000000000ffLL) << 56); uhdr->t = ((uhdr->t & 0xff00000000000000LL) >> 56) | ((uhdr->t & 0x0000ff0000000000LL) >> 24) | ((uhdr->t & 0x000000ff00000000LL) >> 8) | ((uhdr->t & 0x00000000ff000000LL) << 8) | ((uhdr->t & 0x000000000000ff00LL) << 40) | ((uhdr->t & 0x00000000000000ffLL) << 56); i += 4; if (x < i) return 0; else return 1; }