aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/c-c++-common/vector-compare-2.c
blob: 5ebe9e3ca56c23ba31df43754549b92177d1818d (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
30
31
/* { dg-do compile } */   
/* { dg-options "-fno-common" { target hppa*-*-hpux* } } */
/* { dg-options "-mabi=altivec" { target { { powerpc*-*-linux* } && ilp32 } } } */
/* { dg-options "-msse2" { target { i?86-*-* x86_64-*-* } } } */
/* Ignore warning on some powerpc-ibm-aix configurations. */
/* { dg-prune-output "non-standard ABI extension" } */

/* Test if C_MAYBE_CONST are folded correctly when 
   creating VEC_COND_EXPR.  */

typedef int vec __attribute__((vector_size(16)));

vec i,j;
extern vec a, b, c;

extern int p, q, z;
extern vec foo (int);

vec 
foo (int x)
{
  return  foo (p ? q :z) > a;
}

vec 
bar (int x)
{
  return  b > foo (p ? q :z);
}