OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [vect/] [slp-pr50413.cc] - Blame information for rev 749

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 693 jeremybenn
/* { dg-do compile } */
2
/* { dg-require-effective-target vect_int } */
3
 
4
typedef unsigned long long UInt64;
5
 
6
typedef struct struct128
7
{
8
  UInt64 uint64_lower;
9
  UInt64 uint64_upper;
10
}
11
STRUCT_128;
12
 
13
typedef union uint128_bitmap
14
{
15
  STRUCT_128 uint128;
16
 
17
    struct
18
    {
19
      UInt64 b00 : 1;
20
      UInt64 b01 : 1;
21
      UInt64 b02 : 1;
22
      UInt64 b03 : 1;
23
      UInt64 b04 : 1;
24
      UInt64 b05 : 1;
25
      UInt64 b06 : 1;
26
      UInt64 b07 : 1;
27
      UInt64 b08 : 1;
28
      UInt64 b09 : 1;
29
      UInt64 b10 : 1;
30
      UInt64 b11 : 1;
31
      UInt64 b12 : 1;
32
      UInt64 b13 : 1;
33
      UInt64 b14 : 1;
34
      UInt64 b15 : 1;
35
      UInt64 b16 : 1;
36
      UInt64 b17 : 1;
37
      UInt64 b18 : 1;
38
      UInt64 b19 : 1;
39
      UInt64 b20 : 1;
40
      UInt64 b21 : 1;
41
      UInt64 b22 : 1;
42
      UInt64 b23 : 1;
43
      UInt64 b24 : 1;
44
      UInt64 b25 : 1;
45
      UInt64 b26 : 1;
46
      UInt64 b27 : 1;
47
      UInt64 b28 : 1;
48
      UInt64 b29 : 1;
49
      UInt64 b30 : 1;
50
      UInt64 b31 : 1;
51
      UInt64 b32 : 1;
52
      UInt64 b33 : 1;
53
      UInt64 b34 : 1;
54
      UInt64 b35 : 1;
55
      UInt64 b36 : 1;
56
      UInt64 b37 : 1;
57
      UInt64 b38 : 1;
58
      UInt64 b39 : 1;
59
      UInt64 b40 : 1;
60
      UInt64 b41 : 1;
61
      UInt64 b42 : 1;
62
      UInt64 b43 : 1;
63
      UInt64 b44 : 1;
64
      UInt64 b45 : 1;
65
      UInt64 b46 : 1;
66
      UInt64 b47 : 1;
67
      UInt64 b48 : 1;
68
      UInt64 b49 : 1;
69
      UInt64 b50 : 1;
70
      UInt64 b51 : 1;
71
      UInt64 b52 : 1;
72
      UInt64 b53 : 1;
73
      UInt64 b54 : 1;
74
      UInt64 b55 : 1;
75
      UInt64 b56 : 1;
76
      UInt64 b57 : 1;
77
      UInt64 b58 : 1;
78
      UInt64 b59 : 1;
79
      UInt64 b60 : 1;
80
      UInt64 b61 : 1;
81
      UInt64 b62 : 1;
82
      UInt64 b63 : 1;
83
      UInt64 b64 : 1;
84
      UInt64 b65 : 1;
85
      UInt64 b66 : 1;
86
      UInt64 b67 : 1;
87
      UInt64 b68 : 1;
88
      UInt64 b69 : 1;
89
      UInt64 b70 : 1;
90
      UInt64 b71 : 1;
91
      UInt64 b72 : 1;
92
      UInt64 b73 : 1;
93
      UInt64 b74 : 1;
94
      UInt64 b75 : 1;
95
      UInt64 b76 : 1;
96
      UInt64 b77 : 1;
97
      UInt64 b78 : 1;
98
      UInt64 b79 : 1;
99
      UInt64 b80 : 1;
100
      UInt64 b81 : 1;
101
      UInt64 b82 : 1;
102
      UInt64 b83 : 1;
103
      UInt64 b84 : 1;
104
      UInt64 b85 : 1;
105
      UInt64 b86 : 1;
106
      UInt64 b87 : 1;
107
      UInt64 b88 : 1;
108
      UInt64 b89 : 1;
109
      UInt64 b90 : 1;
110
      UInt64 b91 : 1;
111
      UInt64 b92 : 1;
112
      UInt64 b93 : 1;
113
      UInt64 b94 : 1;
114
      UInt64 b95 : 1;
115
      UInt64 b96 : 1;
116
      UInt64 b97 : 1;
117
      UInt64 b98 : 1;
118
      UInt64 b99 : 1;
119
      UInt64 b100 : 1;
120
      UInt64 b101 : 1;
121
      UInt64 b102 : 1;
122
      UInt64 b103 : 1;
123
      UInt64 b104 : 1;
124
      UInt64 b105 : 1;
125
      UInt64 b106 : 1;
126
      UInt64 b107 : 1;
127
      UInt64 b108 : 1;
128
      UInt64 b109 : 1;
129
      UInt64 b110 : 1;
130
      UInt64 b111 : 1;
131
      UInt64 b112 : 1;
132
      UInt64 b113 : 1;
133
      UInt64 b114 : 1;
134
      UInt64 b115 : 1;
135
      UInt64 b116 : 1;
136
      UInt64 b117 : 1;
137
      UInt64 b118 : 1;
138
      UInt64 b119 : 1;
139
      UInt64 b120 : 1;
140
      UInt64 b121 : 1;
141
      UInt64 b122 : 1;
142
      UInt64 b123 : 1;
143
      UInt64 b124 : 1;
144
      UInt64 b125 : 1;
145
      UInt64 b126 : 1;
146
      UInt64 b127 : 1;
147
    }
148
    bitmap;
149
}
150
UInt128_BITMAP;
151
 
152
UInt128_BITMAP V;
153
 
154
void shift(unsigned char t)
155
{
156
  V.uint128.uint64_lower = (V.uint128.uint64_lower >> 1);
157
  V.bitmap.b63 = V.bitmap.b64;
158
  V.uint128.uint64_upper = (V.uint128.uint64_upper >> 1);
159
 
160
  V.bitmap.b96 = t;
161
}
162
 
163
/* { dg-final { scan-tree-dump-times "basic block vectorized using SLP" 0 "slp" } } */
164
/* { dg-final { cleanup-tree-dump "slp" } } */
165
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.