aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/execute/pr78791.c
blob: 987f2f16577e0aaa2edaf9f0f60e6a6859abba0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* PR target/78791 */

__attribute__((used, noinline, noclone)) unsigned long long
foo (unsigned long long x, unsigned long long y, unsigned long long z)
{
  unsigned long long a = x / y;
  unsigned long long b = x % y;
  a |= z;
  b ^= z;
  return a + b;
}

int
main ()
{
  if (foo (64, 7, 0) != 10 || foo (28, 3, 2) != 14)
    __builtin_abort ();
  return 0;
}