/* { dg-do compile { target { { { i?86-*-* x86_64-*-* } && { ! ia32 } } || aarch64*-*-* } } } */
/* { dg-options "-fdump-rtl-ce1 -O2 --param max-rtl-if-conversion-unpredictable-cost=100" } */

typedef unsigned char uint8_t;
typedef unsigned int uint16_t;

uint8_t
_xtime (const uint8_t byte, const uint16_t generator)
{
  if (byte & 0x80)
    return byte ^ generator;
  else
    return byte << 1;
}

/* { dg-final { scan-rtl-dump "3 true changes made" "ce1" } } */
