aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.apple/apple-altivec-6.c
blob: 09e1f6861bf18903df198d53c3da7beb46f4db1d (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 run { target powerpc*-*-* } } */
/* { dg-options "-maltivec" } */

#include <altivec.h>

extern void abort();

int main()
{
        vector unsigned int tiny = (vector unsigned int) ((vector signed int) (0x00800000, 0xBF800000, 0x3E800000, 0));
        unsigned int af[4] = {
		       (signed int)0x00800000,
                       (signed int)0xBF800000,
                       (signed int)0x3E800000,
                       (signed int)0};

	union u {
	  vector unsigned int vf;
	  unsigned int   ai[4];
	}vu;
	int i;

	vu.vf = tiny;

	for (i=0; i < 4; i++)
	   if (af[i] != vu.ai[i])
	     abort();

	return 0;
}