aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/execute/pr94524-2.c
blob: 9c74b7be403567fac04b25d77d9b1bf2bf2f5c9d (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
/* PR tree-optimization/94524 */

typedef signed char __attribute__ ((__vector_size__ (16))) V;

static __attribute__ ((__noinline__, __noclone__)) V
foo (V c)
{
  c %= (signed char) -128;
  return (V) c;
}

int
main ()
{
  V x = foo ((V) { -128 });
  if (x[0] != 0)
    __builtin_abort ();
  x = foo ((V) { -127 });
  if (x[0] != -127)
    __builtin_abort ();
  x = foo ((V) { 127 });
  if (x[0] != 127)
    __builtin_abort ();
  return 0;
}