Skip analyzer strndup test on hppa*-*-hpux*
[official-gcc.git] / gcc / testsuite / gcc.dg / pr98793.c
blobbb1ae9cc7b1abcbf5f2ca00687961e2322cffdfa
1 /* { dg-do run } */
2 /* { dg-options "-O2 -Wno-psabi" } */
4 typedef unsigned char u8;
5 typedef unsigned char __attribute__((__vector_size__ (8))) v64u8;
6 typedef unsigned char __attribute__((__vector_size__ (64))) v512u8;
7 typedef unsigned long long u64;
9 u64 gx;
10 v512u8 gu;
11 v512u8 gv;
13 v64u8 __attribute__((__noipa__)) foo0 (u8 ax, v512u8 au, u64 ay)
15 u8 lx = ax && (u8) ay;
16 v512u8 lc = 7 <= au;
17 v512u8 ld = (u8) (ay && gx) == gu;
18 v512u8 le = (v512u8) ld + (v512u8) gv;
19 v512u8 lf = le + lc;
20 return (((union
22 v512u8 a;
23 v64u8 b[8];
24 }) lf).b[3]) + lx;
27 int
28 main (void)
30 v64u8 x = foo0 (2, (v512u8) { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
31 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15
33 2);
34 for (unsigned i = 0; i < sizeof (x); i++)
35 if (x[i] != (i ? 0 : 0xff))
36 __builtin_abort ();
37 return 0;