Use conditional internal functions in if-conversion
[official-gcc.git] / gcc / testsuite / gcc.target / powerpc / pr52457.c
blob8a3e53d9c58814ec611413026ccc59ab67c3d997
1 /* { dg-do run { target { powerpc*-*-linux* } } } */
2 /* { dg-skip-if "" { powerpc*-*-darwin* } } */
3 /* { dg-skip-if "" { powerpc*-*-*spe* } } */
4 /* { dg-require-effective-target vsx_hw } */
5 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */
6 /* { dg-options "-O1 -mcpu=power7" } */
8 extern void abort (void);
10 typedef long long T;
11 typedef T vl_t __attribute__((vector_size(2 * sizeof (T))));
13 vl_t
14 buggy_func (T x)
16 vl_t w;
17 T *p = (T *)&w;
18 p[0] = p[1] = x;
19 return w;
22 int
23 main(void)
25 vl_t rval;
26 T *pl;
28 pl = (T *) &rval;
29 rval = buggy_func (2);
31 if (pl[0] != 2 || pl[1] != 2)
32 abort ();
34 return 0;