summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/pr69399.c
blob: 3e171695c52146a0df8344c71e77a06ef01bfda2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* { dg-do run { target int128 } } */

typedef __UINT64_TYPE__ u64;
typedef unsigned __int128 u128;

static unsigned __attribute__((noinline, noclone))
foo(u64 u)
{
  u128 v = u | 0xffffff81;
  v >>= 64;
  return v;
}

int
main()
{
  unsigned x = foo(27);
  if (x != 0)
    __builtin_abort();
  return 0;
}