aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.apple/apple-altivec-5.c
blob: 0c7dd9bcb60442119b6c725f5dbdc22ab3c0d816 (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 float tiny = (vector float) ((vector unsigned int) (0x00800000, 0xBF800000, 0x3E800000, 0));
        unsigned int af[4] = {
		       (unsigned int)(unsigned int)0x00800000,
                       (unsigned int)(unsigned int)0xBF800000,
                       (unsigned int)(unsigned int)0x3E800000,
                       (unsigned int)(unsigned int)0};

	union u {
	  vector float 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;
}