aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/pr83330.c
blob: 8a63fbd5d0998c690ed5cf5f3b14e868671a9b91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* { dg-do run { target int128 } } */
/* { dg-options "-O2 -fno-tree-dce -mno-push-args" } */

typedef unsigned long long u64;
typedef unsigned __int128 u128;

u64 v;
u64 g;

u64 __attribute__ ((noinline, noclone))
bar (u128 d, u64 e, u64 f, u64 g, u128 h)
{
  (void)d, (void)e, (void)f, (void)g, (void)h;
  return 0;
}

static u64 __attribute__ ((noipa))
foo (void)
{
  (void)(v - bar (0, 0, 0, 0, 0));
  return g;
}

int
main (void)
{
  (void)foo ();
  return 0;
}