111
|
1 /* { dg-require-effective-target vect_int } */
|
|
2
|
|
3 #include "tree-vect.h"
|
|
4
|
|
5 int seeIf256ByteArrayIsConstant(
|
|
6 unsigned char *pArray)
|
|
7 {
|
|
8 int index;
|
|
9 unsigned int curVal, orVal, andVal;
|
|
10 int bytesAreEqual = 0;
|
|
11
|
|
12 if (pArray != 0)
|
|
13 {
|
|
14 for (index = 0, orVal = 0, andVal = 0xFFFFFFFF;
|
|
15 index < 64;
|
|
16 index += (int)sizeof(unsigned int))
|
|
17 {
|
|
18 curVal = *((unsigned int *)(&pArray[index]));
|
|
19 orVal = orVal | curVal;
|
|
20 andVal = andVal & curVal;
|
|
21 }
|
|
22
|
|
23 if (!((orVal == andVal)
|
|
24 && ((orVal >> 8) == (andVal & 0x00FFFFFF))))
|
|
25 abort ();
|
|
26 }
|
|
27
|
|
28 return 0;
|
|
29 }
|
|
30
|
|
31
|
|
32 int main(int argc, char** argv)
|
|
33 {
|
|
34 unsigned char array1[64] = {
|
|
35 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
|
36 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
|
37 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
|
38 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
|
39 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
|
40 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
|
41 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
|
42 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
|
43 };
|
|
44
|
|
45 argv = argv;
|
|
46 argc = argc;
|
|
47
|
|
48 check_vect ();
|
|
49
|
|
50 return seeIf256ByteArrayIsConstant(&array1[0]);
|
|
51 }
|
|
52
|
|
53
|