aboutsummaryrefslogtreecommitdiff
path: root/src/_trans_avx2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/_trans_avx2.c')
-rw-r--r--src/_trans_avx2.c1000
1 files changed, 0 insertions, 1000 deletions
diff --git a/src/_trans_avx2.c b/src/_trans_avx2.c
deleted file mode 100644
index c296f6d..0000000
--- a/src/_trans_avx2.c
+++ /dev/null
@@ -1,1000 +0,0 @@
1static inline cube_t
2flipallcorners(cube_t c)
3{
4 cube_t co, shleft, shright, summed, newco, cleanco, ret;
5
6 co = _mm256_and_si256(c, _co2_avx2);
7 shleft = _mm256_slli_epi32(co, 1);
8 shright = _mm256_srli_epi32(co, 1);
9 summed = _mm256_or_si256(shleft, shright);
10 newco = _mm256_and_si256(summed, _co2_avx2);
11 cleanco = _mm256_xor_si256(c, co);
12 ret = _mm256_or_si256(cleanco, newco);
13
14 return ret;
15}
16
17static inline cube_t
18inline_trans_UFr(cube_t c)
19{
20 cube_t ret;
21
22 cube_t tn = _mm256_set_epi8(
23 0, 0, 0, 0, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,
24 0, 0, 0, 0, 0, 0, 0, 0, 7, 6, 5, 4, 3, 2, 1, 0
25 );
26 cube_t ti = _mm256_set_epi8(
27 0, 0, 0, 0, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,
28 0, 0, 0, 0, 0, 0, 0, 0, 7, 6, 5, 4, 3, 2, 1, 0
29 );
30
31 ret = compose(tn, c);
32 ret = compose(ret, ti);
33
34 return ret;
35}
36
37static inline cube_t
38inline_trans_ULr(cube_t c)
39{
40 cube_t ret;
41
42 cube_t tn = _mm256_set_epi8(
43 0, 0, 0, 0, 24, 27, 26, 25, 3, 2, 1, 0, 6, 7, 4, 5,
44 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 1, 6, 7, 5, 4
45 );
46 cube_t ti = _mm256_set_epi8(
47 0, 0, 0, 0, 26, 25, 24, 27, 2, 3, 0, 1, 7, 6, 5, 4,
48 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 7, 6, 4, 5
49 );
50
51 ret = compose(tn, c);
52 ret = compose(ret, ti);
53
54 return ret;
55}
56
57static inline cube_t
58inline_trans_UBr(cube_t c)
59{
60 cube_t ret;
61
62 cube_t tn = _mm256_set_epi8(
63 0, 0, 0, 0, 9, 8, 11, 10, 6, 7, 4, 5, 2, 3, 0, 1,
64 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 4, 5, 2, 3, 0, 1
65 );
66 cube_t ti = _mm256_set_epi8(
67 0, 0, 0, 0, 9, 8, 11, 10, 6, 7, 4, 5, 2, 3, 0, 1,
68 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 4, 5, 2, 3, 0, 1
69 );
70
71 ret = compose(tn, c);
72 ret = compose(ret, ti);
73
74 return ret;
75}
76
77static inline cube_t
78inline_trans_URr(cube_t c)
79{
80 cube_t ret;
81
82 cube_t tn = _mm256_set_epi8(
83 0, 0, 0, 0, 26, 25, 24, 27, 2, 3, 0, 1, 7, 6, 5, 4,
84 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 7, 6, 4, 5
85 );
86 cube_t ti = _mm256_set_epi8(
87 0, 0, 0, 0, 24, 27, 26, 25, 3, 2, 1, 0, 6, 7, 4, 5,
88 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 1, 6, 7, 5, 4
89 );
90
91 ret = compose(tn, c);
92 ret = compose(ret, ti);
93
94 return ret;
95}
96
97static inline cube_t
98inline_trans_DFr(cube_t c)
99{
100 cube_t ret;
101
102 cube_t tn = _mm256_set_epi8(
103 0, 0, 0, 0, 10, 11, 8, 9, 5, 4, 7, 6, 0, 1, 2, 3,
104 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 7, 6, 1, 0, 3, 2
105 );
106 cube_t ti = _mm256_set_epi8(
107 0, 0, 0, 0, 10, 11, 8, 9, 5, 4, 7, 6, 0, 1, 2, 3,
108 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 7, 6, 1, 0, 3, 2
109 );
110
111 ret = compose(tn, c);
112 ret = compose(ret, ti);
113
114 return ret;
115}
116
117static inline cube_t
118inline_trans_DLr(cube_t c)
119{
120 cube_t ret;
121
122 cube_t tn = _mm256_set_epi8(
123 0, 0, 0, 0, 27, 24, 25, 26, 1, 0, 3, 2, 5, 4, 7, 6,
124 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 2, 5, 4, 6, 7
125 );
126 cube_t ti = _mm256_set_epi8(
127 0, 0, 0, 0, 27, 24, 25, 26, 1, 0, 3, 2, 5, 4, 7, 6,
128 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 2, 5, 4, 6, 7
129 );
130
131 ret = compose(tn, c);
132 ret = compose(ret, ti);
133
134 return ret;
135}
136
137static inline cube_t
138inline_trans_DBr(cube_t c)
139{
140 cube_t ret;
141
142 cube_t tn = _mm256_set_epi8(
143 0, 0, 0, 0, 8, 9, 10, 11, 4, 5, 6, 7, 1, 0, 3, 2,
144 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 0, 1, 2, 3
145 );
146 cube_t ti = _mm256_set_epi8(
147 0, 0, 0, 0, 8, 9, 10, 11, 4, 5, 6, 7, 1, 0, 3, 2,
148 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 0, 1, 2, 3
149 );
150
151 ret = compose(tn, c);
152 ret = compose(ret, ti);
153
154 return ret;
155}
156
157static inline cube_t
158inline_trans_DRr(cube_t c)
159{
160 cube_t ret;
161
162 cube_t tn = _mm256_set_epi8(
163 0, 0, 0, 0, 25, 26, 27, 24, 0, 1, 2, 3, 4, 5, 6, 7,
164 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 3, 4, 5, 7, 6
165 );
166 cube_t ti = _mm256_set_epi8(
167 0, 0, 0, 0, 25, 26, 27, 24, 0, 1, 2, 3, 4, 5, 6, 7,
168 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 3, 4, 5, 7, 6
169 );
170
171 ret = compose(tn, c);
172 ret = compose(ret, ti);
173
174 return ret;
175}
176
177static inline cube_t
178inline_trans_RUr(cube_t c)
179{
180 cube_t ret;
181
182 cube_t tn = _mm256_set_epi8(
183 0, 0, 0, 0, 3, 2, 1, 0, 25, 26, 27, 24, 21, 22, 23, 20,
184 0, 0, 0, 0, 0, 0, 0, 0, 39, 36, 38, 37, 66, 65, 67, 64
185 );
186 cube_t ti = _mm256_set_epi8(
187 0, 0, 0, 0, 21, 22, 23, 20, 17, 18, 19, 16, 11, 10, 9, 8,
188 0, 0, 0, 0, 0, 0, 0, 0, 71, 69, 68, 70, 33, 35, 34, 32
189 );
190
191 ret = compose(tn, c);
192 ret = compose(ret, ti);
193
194 return ret;
195}
196
197static inline cube_t
198inline_trans_RFr(cube_t c)
199{
200 cube_t ret;
201
202 cube_t tn = _mm256_set_epi8(
203 0, 0, 0, 0, 18, 17, 16, 19, 22, 21, 20, 23, 25, 26, 27, 24,
204 0, 0, 0, 0, 0, 0, 0, 0, 65, 66, 67, 64, 39, 36, 37, 38
205 );
206 cube_t ti = _mm256_set_epi8(
207 0, 0, 0, 0, 17, 18, 19, 16, 20, 23, 22, 21, 24, 27, 26, 25,
208 0, 0, 0, 0, 0, 0, 0, 0, 67, 64, 65, 66, 37, 38, 39, 36
209 );
210
211 ret = compose(tn, c);
212 ret = compose(ret, ti);
213
214 return ret;
215}
216
217static inline cube_t
218inline_trans_RDr(cube_t c)
219{
220 cube_t ret;
221
222 cube_t tn = _mm256_set_epi8(
223 0, 0, 0, 0, 1, 0, 3, 2, 26, 25, 24, 27, 22, 21, 20, 23,
224 0, 0, 0, 0, 0, 0, 0, 0, 36, 39, 37, 38, 65, 66, 64, 67
225 );
226 cube_t ti = _mm256_set_epi8(
227 0, 0, 0, 0, 20, 23, 22, 21, 16, 19, 18, 17, 9, 8, 11, 10,
228 0, 0, 0, 0, 0, 0, 0, 0, 70, 68, 69, 71, 32, 34, 35, 33
229 );
230
231 ret = compose(tn, c);
232 ret = compose(ret, ti);
233
234 return ret;
235}
236
237static inline cube_t
238inline_trans_RBr(cube_t c)
239{
240 cube_t ret;
241
242 cube_t tn = _mm256_set_epi8(
243 0, 0, 0, 0, 16, 19, 18, 17, 21, 22, 23, 20, 26, 25, 24, 27,
244 0, 0, 0, 0, 0, 0, 0, 0, 66, 65, 64, 67, 36, 39, 38, 37
245 );
246 cube_t ti = _mm256_set_epi8(
247 0, 0, 0, 0, 16, 19, 18, 17, 21, 22, 23, 20, 26, 25, 24, 27,
248 0, 0, 0, 0, 0, 0, 0, 0, 66, 65, 64, 67, 36, 39, 38, 37
249 );
250
251 ret = compose(tn, c);
252 ret = compose(ret, ti);
253
254 return ret;
255}
256
257static inline cube_t
258inline_trans_LUr(cube_t c)
259{
260 cube_t ret;
261
262 cube_t tn = _mm256_set_epi8(
263 0, 0, 0, 0, 2, 3, 0, 1, 27, 24, 25, 26, 20, 23, 22, 21,
264 0, 0, 0, 0, 0, 0, 0, 0, 38, 37, 39, 36, 67, 64, 66, 65
265 );
266 cube_t ti = _mm256_set_epi8(
267 0, 0, 0, 0, 23, 20, 21, 22, 18, 17, 16, 19, 10, 11, 8, 9,
268 0, 0, 0, 0, 0, 0, 0, 0, 69, 71, 70, 68, 35, 33, 32, 34
269 );
270
271 ret = compose(tn, c);
272 ret = compose(ret, ti);
273
274 return ret;
275}
276
277static inline cube_t
278inline_trans_LFr(cube_t c)
279{
280 cube_t ret;
281
282 cube_t tn = _mm256_set_epi8(
283 0, 0, 0, 0, 17, 18, 19, 16, 20, 23, 22, 21, 24, 27, 26, 25,
284 0, 0, 0, 0, 0, 0, 0, 0, 67, 64, 65, 66, 37, 38, 39, 36
285 );
286 cube_t ti = _mm256_set_epi8(
287 0, 0, 0, 0, 18, 17, 16, 19, 22, 21, 20, 23, 25, 26, 27, 24,
288 0, 0, 0, 0, 0, 0, 0, 0, 65, 66, 67, 64, 39, 36, 37, 38
289 );
290
291 ret = compose(tn, c);
292 ret = compose(ret, ti);
293
294 return ret;
295}
296
297static inline cube_t
298inline_trans_LDr(cube_t c)
299{
300 cube_t ret;
301
302 cube_t tn = _mm256_set_epi8(
303 0, 0, 0, 0, 0, 1, 2, 3, 24, 27, 26, 25, 23, 20, 21, 22,
304 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, 36, 39, 64, 67, 65, 66
305 );
306 cube_t ti = _mm256_set_epi8(
307 0, 0, 0, 0, 22, 21, 20, 23, 19, 16, 17, 18, 8, 9, 10, 11,
308 0, 0, 0, 0, 0, 0, 0, 0, 68, 70, 71, 69, 34, 32, 33, 35
309 );
310
311 ret = compose(tn, c);
312 ret = compose(ret, ti);
313
314 return ret;
315}
316
317static inline cube_t
318inline_trans_LBr(cube_t c)
319{
320 cube_t ret;
321
322 cube_t tn = _mm256_set_epi8(
323 0, 0, 0, 0, 19, 16, 17, 18, 23, 20, 21, 22, 27, 24, 25, 26,
324 0, 0, 0, 0, 0, 0, 0, 0, 64, 67, 66, 65, 38, 37, 36, 39
325 );
326 cube_t ti = _mm256_set_epi8(
327 0, 0, 0, 0, 19, 16, 17, 18, 23, 20, 21, 22, 27, 24, 25, 26,
328 0, 0, 0, 0, 0, 0, 0, 0, 64, 67, 66, 65, 38, 37, 36, 39
329 );
330
331 ret = compose(tn, c);
332 ret = compose(ret, ti);
333
334 return ret;
335}
336
337static inline cube_t
338inline_trans_FUr(cube_t c)
339{
340 cube_t ret;
341
342 cube_t tn = _mm256_set_epi8(
343 0, 0, 0, 0, 6, 7, 4, 5, 10, 11, 8, 9, 17, 18, 19, 16,
344 0, 0, 0, 0, 0, 0, 0, 0, 35, 33, 34, 32, 71, 69, 70, 68
345 );
346 cube_t ti = _mm256_set_epi8(
347 0, 0, 0, 0, 6, 7, 4, 5, 10, 11, 8, 9, 17, 18, 19, 16,
348 0, 0, 0, 0, 0, 0, 0, 0, 35, 33, 34, 32, 71, 69, 70, 68
349 );
350
351 ret = compose(tn, c);
352 ret = compose(ret, ti);
353
354 return ret;
355}
356
357static inline cube_t
358inline_trans_FRr(cube_t c)
359{
360 cube_t ret;
361
362 cube_t tn = _mm256_set_epi8(
363 0, 0, 0, 0, 21, 22, 23, 20, 17, 18, 19, 16, 11, 10, 9, 8,
364 0, 0, 0, 0, 0, 0, 0, 0, 71, 69, 68, 70, 33, 35, 34, 32
365 );
366 cube_t ti = _mm256_set_epi8(
367 0, 0, 0, 0, 3, 2, 1, 0, 25, 26, 27, 24, 21, 22, 23, 20,
368 0, 0, 0, 0, 0, 0, 0, 0, 39, 36, 38, 37, 66, 65, 67, 64
369 );
370
371 ret = compose(tn, c);
372 ret = compose(ret, ti);
373
374 return ret;
375}
376
377static inline cube_t
378inline_trans_FDr(cube_t c)
379{
380 cube_t ret;
381
382 cube_t tn = _mm256_set_epi8(
383 0, 0, 0, 0, 4, 5, 6, 7, 11, 10, 9, 8, 18, 17, 16, 19,
384 0, 0, 0, 0, 0, 0, 0, 0, 33, 35, 32, 34, 69, 71, 68, 70
385 );
386 cube_t ti = _mm256_set_epi8(
387 0, 0, 0, 0, 7, 6, 5, 4, 8, 9, 10, 11, 16, 19, 18, 17,
388 0, 0, 0, 0, 0, 0, 0, 0, 34, 32, 35, 33, 70, 68, 71, 69
389 );
390
391 ret = compose(tn, c);
392 ret = compose(ret, ti);
393
394 return ret;
395}
396
397static inline cube_t
398inline_trans_FLr(cube_t c)
399{
400 cube_t ret;
401
402 cube_t tn = _mm256_set_epi8(
403 0, 0, 0, 0, 23, 20, 21, 22, 18, 17, 16, 19, 10, 11, 8, 9,
404 0, 0, 0, 0, 0, 0, 0, 0, 69, 71, 70, 68, 35, 33, 32, 34
405 );
406 cube_t ti = _mm256_set_epi8(
407 0, 0, 0, 0, 2, 3, 0, 1, 27, 24, 25, 26, 20, 23, 22, 21,
408 0, 0, 0, 0, 0, 0, 0, 0, 38, 37, 39, 36, 67, 64, 66, 65
409 );
410
411 ret = compose(tn, c);
412 ret = compose(ret, ti);
413
414 return ret;
415}
416
417static inline cube_t
418inline_trans_BUr(cube_t c)
419{
420 cube_t ret;
421
422 cube_t tn = _mm256_set_epi8(
423 0, 0, 0, 0, 7, 6, 5, 4, 8, 9, 10, 11, 16, 19, 18, 17,
424 0, 0, 0, 0, 0, 0, 0, 0, 34, 32, 35, 33, 70, 68, 71, 69
425 );
426 cube_t ti = _mm256_set_epi8(
427 0, 0, 0, 0, 4, 5, 6, 7, 11, 10, 9, 8, 18, 17, 16, 19,
428 0, 0, 0, 0, 0, 0, 0, 0, 33, 35, 32, 34, 69, 71, 68, 70
429 );
430
431 ret = compose(tn, c);
432 ret = compose(ret, ti);
433
434 return ret;
435}
436
437static inline cube_t
438inline_trans_BRr(cube_t c)
439{
440 cube_t ret;
441
442 cube_t tn = _mm256_set_epi8(
443 0, 0, 0, 0, 22, 21, 20, 23, 19, 16, 17, 18, 8, 9, 10, 11,
444 0, 0, 0, 0, 0, 0, 0, 0, 68, 70, 71, 69, 34, 32, 33, 35
445 );
446 cube_t ti = _mm256_set_epi8(
447 0, 0, 0, 0, 0, 1, 2, 3, 24, 27, 26, 25, 23, 20, 21, 22,
448 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, 36, 39, 64, 67, 65, 66
449 );
450
451 ret = compose(tn, c);
452 ret = compose(ret, ti);
453
454 return ret;
455}
456
457static inline cube_t
458inline_trans_BDr(cube_t c)
459{
460 cube_t ret;
461
462 cube_t tn = _mm256_set_epi8(
463 0, 0, 0, 0, 5, 4, 7, 6, 9, 8, 11, 10, 19, 16, 17, 18,
464 0, 0, 0, 0, 0, 0, 0, 0, 32, 34, 33, 35, 68, 70, 69, 71
465 );
466 cube_t ti = _mm256_set_epi8(
467 0, 0, 0, 0, 5, 4, 7, 6, 9, 8, 11, 10, 19, 16, 17, 18,
468 0, 0, 0, 0, 0, 0, 0, 0, 32, 34, 33, 35, 68, 70, 69, 71
469 );
470
471 ret = compose(tn, c);
472 ret = compose(ret, ti);
473
474 return ret;
475}
476
477static inline cube_t
478inline_trans_BLr(cube_t c)
479{
480 cube_t ret;
481
482 cube_t tn = _mm256_set_epi8(
483 0, 0, 0, 0, 20, 23, 22, 21, 16, 19, 18, 17, 9, 8, 11, 10,
484 0, 0, 0, 0, 0, 0, 0, 0, 70, 68, 69, 71, 32, 34, 35, 33
485 );
486 cube_t ti = _mm256_set_epi8(
487 0, 0, 0, 0, 1, 0, 3, 2, 26, 25, 24, 27, 22, 21, 20, 23,
488 0, 0, 0, 0, 0, 0, 0, 0, 36, 39, 37, 38, 65, 66, 64, 67
489 );
490
491 ret = compose(tn, c);
492 ret = compose(ret, ti);
493
494 return ret;
495}
496
497static inline cube_t
498inline_trans_UFm(cube_t c)
499{
500 cube_t ret;
501
502 cube_t tn = _mm256_set_epi8(
503 0, 0, 0, 0, 10, 11, 8, 9, 6, 7, 4, 5, 3, 2, 1, 0,
504 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 1, 0, 7, 6, 5, 4
505 );
506 cube_t ti = _mm256_set_epi8(
507 0, 0, 0, 0, 10, 11, 8, 9, 6, 7, 4, 5, 3, 2, 1, 0,
508 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 1, 0, 7, 6, 5, 4
509 );
510
511 ret = compose(tn, c);
512 ret = compose(ret, ti);
513 ret = flipallcorners(ret);
514
515 return ret;
516}
517
518static inline cube_t
519inline_trans_ULm(cube_t c)
520{
521 cube_t ret;
522
523 cube_t tn = _mm256_set_epi8(
524 0, 0, 0, 0, 25, 26, 27, 24, 3, 2, 1, 0, 7, 6, 5, 4,
525 0, 0, 0, 0, 0, 0, 0, 0, 7, 6, 4, 5, 2, 3, 1, 0
526 );
527 cube_t ti = _mm256_set_epi8(
528 0, 0, 0, 0, 25, 26, 27, 24, 3, 2, 1, 0, 7, 6, 5, 4,
529 0, 0, 0, 0, 0, 0, 0, 0, 7, 6, 4, 5, 2, 3, 1, 0
530 );
531
532 ret = compose(tn, c);
533 ret = compose(ret, ti);
534 ret = flipallcorners(ret);
535
536 return ret;
537}
538
539static inline cube_t
540inline_trans_UBm(cube_t c)
541{
542 cube_t ret;
543
544 cube_t tn = _mm256_set_epi8(
545 0, 0, 0, 0, 8, 9, 10, 11, 7, 6, 5, 4, 2, 3, 0, 1,
546 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 1, 6, 7, 4, 5
547 );
548 cube_t ti = _mm256_set_epi8(
549 0, 0, 0, 0, 8, 9, 10, 11, 7, 6, 5, 4, 2, 3, 0, 1,
550 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 1, 6, 7, 4, 5
551 );
552
553 ret = compose(tn, c);
554 ret = compose(ret, ti);
555 ret = flipallcorners(ret);
556
557 return ret;
558}
559
560static inline cube_t
561inline_trans_URm(cube_t c)
562{
563 cube_t ret;
564
565 cube_t tn = _mm256_set_epi8(
566 0, 0, 0, 0, 27, 24, 25, 26, 2, 3, 0, 1, 6, 7, 4, 5,
567 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 5, 4, 3, 2, 0, 1
568 );
569 cube_t ti = _mm256_set_epi8(
570 0, 0, 0, 0, 27, 24, 25, 26, 2, 3, 0, 1, 6, 7, 4, 5,
571 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 5, 4, 3, 2, 0, 1
572 );
573
574 ret = compose(tn, c);
575 ret = compose(ret, ti);
576 ret = flipallcorners(ret);
577
578 return ret;
579}
580
581static inline cube_t
582inline_trans_DFm(cube_t c)
583{
584 cube_t ret;
585
586 cube_t tn = _mm256_set_epi8(
587 0, 0, 0, 0, 11, 10, 9, 8, 4, 5, 6, 7, 0, 1, 2, 3,
588 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 2, 5, 4, 7, 6
589 );
590 cube_t ti = _mm256_set_epi8(
591 0, 0, 0, 0, 11, 10, 9, 8, 4, 5, 6, 7, 0, 1, 2, 3,
592 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 2, 5, 4, 7, 6
593 );
594
595 ret = compose(tn, c);
596 ret = compose(ret, ti);
597 ret = flipallcorners(ret);
598
599 return ret;
600}
601
602static inline cube_t
603inline_trans_DLm(cube_t c)
604{
605 cube_t ret;
606
607 cube_t tn = _mm256_set_epi8(
608 0, 0, 0, 0, 26, 25, 24, 27, 1, 0, 3, 2, 4, 5, 6, 7,
609 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 7, 6, 1, 0, 2, 3
610 );
611 cube_t ti = _mm256_set_epi8(
612 0, 0, 0, 0, 24, 27, 26, 25, 0, 1, 2, 3, 5, 4, 7, 6,
613 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 6, 7, 0, 1, 3, 2
614 );
615
616 ret = compose(tn, c);
617 ret = compose(ret, ti);
618 ret = flipallcorners(ret);
619
620 return ret;
621}
622
623static inline cube_t
624inline_trans_DBm(cube_t c)
625{
626 cube_t ret;
627
628 cube_t tn = _mm256_set_epi8(
629 0, 0, 0, 0, 9, 8, 11, 10, 5, 4, 7, 6, 1, 0, 3, 2,
630 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7
631 );
632 cube_t ti = _mm256_set_epi8(
633 0, 0, 0, 0, 9, 8, 11, 10, 5, 4, 7, 6, 1, 0, 3, 2,
634 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7
635 );
636
637 ret = compose(tn, c);
638 ret = compose(ret, ti);
639 ret = flipallcorners(ret);
640
641 return ret;
642}
643
644static inline cube_t
645inline_trans_DRm(cube_t c)
646{
647 cube_t ret;
648
649 cube_t tn = _mm256_set_epi8(
650 0, 0, 0, 0, 24, 27, 26, 25, 0, 1, 2, 3, 5, 4, 7, 6,
651 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 6, 7, 0, 1, 3, 2
652 );
653 cube_t ti = _mm256_set_epi8(
654 0, 0, 0, 0, 26, 25, 24, 27, 1, 0, 3, 2, 4, 5, 6, 7,
655 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 7, 6, 1, 0, 2, 3
656 );
657
658 ret = compose(tn, c);
659 ret = compose(ret, ti);
660 ret = flipallcorners(ret);
661
662 return ret;
663}
664
665static inline cube_t
666inline_trans_RUm(cube_t c)
667{
668 cube_t ret;
669
670 cube_t tn = _mm256_set_epi8(
671 0, 0, 0, 0, 3, 2, 1, 0, 24, 27, 26, 25, 20, 23, 22, 21,
672 0, 0, 0, 0, 0, 0, 0, 0, 35, 32, 34, 33, 70, 69, 71, 68
673 );
674 cube_t ti = _mm256_set_epi8(
675 0, 0, 0, 0, 22, 21, 20, 23, 18, 17, 16, 19, 11, 10, 9, 8,
676 0, 0, 0, 0, 0, 0, 0, 0, 33, 35, 34, 32, 71, 69, 68, 70
677 );
678
679 ret = compose(tn, c);
680 ret = compose(ret, ti);
681 ret = flipallcorners(ret);
682
683 return ret;
684}
685
686static inline cube_t
687inline_trans_RFm(cube_t c)
688{
689 cube_t ret;
690
691 cube_t tn = _mm256_set_epi8(
692 0, 0, 0, 0, 18, 17, 16, 19, 23, 20, 21, 22, 24, 27, 26, 25,
693 0, 0, 0, 0, 0, 0, 0, 0, 69, 70, 71, 68, 35, 32, 33, 34
694 );
695 cube_t ti = _mm256_set_epi8(
696 0, 0, 0, 0, 18, 17, 16, 19, 23, 20, 21, 22, 24, 27, 26, 25,
697 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, 39, 36, 67, 64, 65, 66
698 );
699
700 ret = compose(tn, c);
701 ret = compose(ret, ti);
702 ret = flipallcorners(ret);
703
704 return ret;
705}
706
707static inline cube_t
708inline_trans_RDm(cube_t c)
709{
710 cube_t ret;
711
712 cube_t tn = _mm256_set_epi8(
713 0, 0, 0, 0, 1, 0, 3, 2, 27, 24, 25, 26, 23, 20, 21, 22,
714 0, 0, 0, 0, 0, 0, 0, 0, 32, 35, 33, 34, 69, 70, 68, 71
715 );
716 cube_t ti = _mm256_set_epi8(
717 0, 0, 0, 0, 23, 20, 21, 22, 19, 16, 17, 18, 9, 8, 11, 10,
718 0, 0, 0, 0, 0, 0, 0, 0, 32, 34, 35, 33, 70, 68, 69, 71
719 );
720
721 ret = compose(tn, c);
722 ret = compose(ret, ti);
723 ret = flipallcorners(ret);
724
725 return ret;
726}
727
728static inline cube_t
729inline_trans_RBm(cube_t c)
730{
731 cube_t ret;
732
733 cube_t tn = _mm256_set_epi8(
734 0, 0, 0, 0, 16, 19, 18, 17, 20, 23, 22, 21, 27, 24, 25, 26,
735 0, 0, 0, 0, 0, 0, 0, 0, 70, 69, 68, 71, 32, 35, 34, 33
736 );
737 cube_t ti = _mm256_set_epi8(
738 0, 0, 0, 0, 19, 16, 17, 18, 22, 21, 20, 23, 26, 25, 24, 27,
739 0, 0, 0, 0, 0, 0, 0, 0, 36, 39, 38, 37, 66, 65, 64, 67
740 );
741
742 ret = compose(tn, c);
743 ret = compose(ret, ti);
744 ret = flipallcorners(ret);
745
746 return ret;
747}
748
749static inline cube_t
750inline_trans_LUm(cube_t c)
751{
752 cube_t ret;
753
754 cube_t tn = _mm256_set_epi8(
755 0, 0, 0, 0, 2, 3, 0, 1, 26, 25, 24, 27, 21, 22, 23, 20,
756 0, 0, 0, 0, 0, 0, 0, 0, 34, 33, 35, 32, 71, 68, 70, 69
757 );
758 cube_t ti = _mm256_set_epi8(
759 0, 0, 0, 0, 20, 23, 22, 21, 17, 18, 19, 16, 10, 11, 8, 9,
760 0, 0, 0, 0, 0, 0, 0, 0, 35, 33, 32, 34, 69, 71, 70, 68
761 );
762
763 ret = compose(tn, c);
764 ret = compose(ret, ti);
765 ret = flipallcorners(ret);
766
767 return ret;
768}
769
770static inline cube_t
771inline_trans_LFm(cube_t c)
772{
773 cube_t ret;
774
775 cube_t tn = _mm256_set_epi8(
776 0, 0, 0, 0, 17, 18, 19, 16, 21, 22, 23, 20, 25, 26, 27, 24,
777 0, 0, 0, 0, 0, 0, 0, 0, 71, 68, 69, 70, 33, 34, 35, 32
778 );
779 cube_t ti = _mm256_set_epi8(
780 0, 0, 0, 0, 17, 18, 19, 16, 21, 22, 23, 20, 25, 26, 27, 24,
781 0, 0, 0, 0, 0, 0, 0, 0, 39, 36, 37, 38, 65, 66, 67, 64
782 );
783
784 ret = compose(tn, c);
785 ret = compose(ret, ti);
786 ret = flipallcorners(ret);
787
788 return ret;
789}
790
791static inline cube_t
792inline_trans_LDm(cube_t c)
793{
794 cube_t ret;
795
796 cube_t tn = _mm256_set_epi8(
797 0, 0, 0, 0, 0, 1, 2, 3, 25, 26, 27, 24, 22, 21, 20, 23,
798 0, 0, 0, 0, 0, 0, 0, 0, 33, 34, 32, 35, 68, 71, 69, 70
799 );
800 cube_t ti = _mm256_set_epi8(
801 0, 0, 0, 0, 21, 22, 23, 20, 16, 19, 18, 17, 8, 9, 10, 11,
802 0, 0, 0, 0, 0, 0, 0, 0, 34, 32, 33, 35, 68, 70, 71, 69
803 );
804
805 ret = compose(tn, c);
806 ret = compose(ret, ti);
807 ret = flipallcorners(ret);
808
809 return ret;
810}
811
812static inline cube_t
813inline_trans_LBm(cube_t c)
814{
815 cube_t ret;
816
817 cube_t tn = _mm256_set_epi8(
818 0, 0, 0, 0, 19, 16, 17, 18, 22, 21, 20, 23, 26, 25, 24, 27,
819 0, 0, 0, 0, 0, 0, 0, 0, 68, 71, 70, 69, 34, 33, 32, 35
820 );
821 cube_t ti = _mm256_set_epi8(
822 0, 0, 0, 0, 16, 19, 18, 17, 20, 23, 22, 21, 27, 24, 25, 26,
823 0, 0, 0, 0, 0, 0, 0, 0, 38, 37, 36, 39, 64, 67, 66, 65
824 );
825
826 ret = compose(tn, c);
827 ret = compose(ret, ti);
828 ret = flipallcorners(ret);
829
830 return ret;
831}
832
833static inline cube_t
834inline_trans_FUm(cube_t c)
835{
836 cube_t ret;
837
838 cube_t tn = _mm256_set_epi8(
839 0, 0, 0, 0, 7, 6, 5, 4, 11, 10, 9, 8, 17, 18, 19, 16,
840 0, 0, 0, 0, 0, 0, 0, 0, 39, 37, 38, 36, 67, 65, 66, 64
841 );
842 cube_t ti = _mm256_set_epi8(
843 0, 0, 0, 0, 7, 6, 5, 4, 11, 10, 9, 8, 17, 18, 19, 16,
844 0, 0, 0, 0, 0, 0, 0, 0, 71, 69, 70, 68, 35, 33, 34, 32
845 );
846
847 ret = compose(tn, c);
848 ret = compose(ret, ti);
849 ret = flipallcorners(ret);
850
851 return ret;
852}
853
854static inline cube_t
855inline_trans_FRm(cube_t c)
856{
857 cube_t ret;
858
859 cube_t tn = _mm256_set_epi8(
860 0, 0, 0, 0, 20, 23, 22, 21, 17, 18, 19, 16, 10, 11, 8, 9,
861 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 64, 66, 37, 39, 38, 36
862 );
863 cube_t ti = _mm256_set_epi8(
864 0, 0, 0, 0, 2, 3, 0, 1, 26, 25, 24, 27, 21, 22, 23, 20,
865 0, 0, 0, 0, 0, 0, 0, 0, 66, 65, 67, 64, 39, 36, 38, 37
866 );
867
868 ret = compose(tn, c);
869 ret = compose(ret, ti);
870 ret = flipallcorners(ret);
871
872 return ret;
873}
874
875static inline cube_t
876inline_trans_FDm(cube_t c)
877{
878 cube_t ret;
879
880 cube_t tn = _mm256_set_epi8(
881 0, 0, 0, 0, 5, 4, 7, 6, 10, 11, 8, 9, 18, 17, 16, 19,
882 0, 0, 0, 0, 0, 0, 0, 0, 37, 39, 36, 38, 65, 67, 64, 66
883 );
884 cube_t ti = _mm256_set_epi8(
885 0, 0, 0, 0, 6, 7, 4, 5, 9, 8, 11, 10, 16, 19, 18, 17,
886 0, 0, 0, 0, 0, 0, 0, 0, 70, 68, 71, 69, 34, 32, 35, 33
887 );
888
889 ret = compose(tn, c);
890 ret = compose(ret, ti);
891 ret = flipallcorners(ret);
892
893 return ret;
894}
895
896static inline cube_t
897inline_trans_FLm(cube_t c)
898{
899 cube_t ret;
900
901 cube_t tn = _mm256_set_epi8(
902 0, 0, 0, 0, 22, 21, 20, 23, 18, 17, 16, 19, 11, 10, 9, 8,
903 0, 0, 0, 0, 0, 0, 0, 0, 65, 67, 66, 64, 39, 37, 36, 38
904 );
905 cube_t ti = _mm256_set_epi8(
906 0, 0, 0, 0, 3, 2, 1, 0, 24, 27, 26, 25, 20, 23, 22, 21,
907 0, 0, 0, 0, 0, 0, 0, 0, 67, 64, 66, 65, 38, 37, 39, 36
908 );
909
910 ret = compose(tn, c);
911 ret = compose(ret, ti);
912 ret = flipallcorners(ret);
913
914 return ret;
915}
916
917static inline cube_t
918inline_trans_BUm(cube_t c)
919{
920 cube_t ret;
921
922 cube_t tn = _mm256_set_epi8(
923 0, 0, 0, 0, 6, 7, 4, 5, 9, 8, 11, 10, 16, 19, 18, 17,
924 0, 0, 0, 0, 0, 0, 0, 0, 38, 36, 39, 37, 66, 64, 67, 65
925 );
926 cube_t ti = _mm256_set_epi8(
927 0, 0, 0, 0, 5, 4, 7, 6, 10, 11, 8, 9, 18, 17, 16, 19,
928 0, 0, 0, 0, 0, 0, 0, 0, 69, 71, 68, 70, 33, 35, 32, 34
929 );
930
931 ret = compose(tn, c);
932 ret = compose(ret, ti);
933 ret = flipallcorners(ret);
934
935 return ret;
936}
937
938static inline cube_t
939inline_trans_BRm(cube_t c)
940{
941 cube_t ret;
942
943 cube_t tn = _mm256_set_epi8(
944 0, 0, 0, 0, 23, 20, 21, 22, 19, 16, 17, 18, 9, 8, 11, 10,
945 0, 0, 0, 0, 0, 0, 0, 0, 64, 66, 67, 65, 38, 36, 37, 39
946 );
947 cube_t ti = _mm256_set_epi8(
948 0, 0, 0, 0, 1, 0, 3, 2, 27, 24, 25, 26, 23, 20, 21, 22,
949 0, 0, 0, 0, 0, 0, 0, 0, 64, 67, 65, 66, 37, 38, 36, 39
950 );
951
952 ret = compose(tn, c);
953 ret = compose(ret, ti);
954 ret = flipallcorners(ret);
955
956 return ret;
957}
958
959static inline cube_t
960inline_trans_BDm(cube_t c)
961{
962 cube_t ret;
963
964 cube_t tn = _mm256_set_epi8(
965 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 19, 16, 17, 18,
966 0, 0, 0, 0, 0, 0, 0, 0, 36, 38, 37, 39, 64, 66, 65, 67
967 );
968 cube_t ti = _mm256_set_epi8(
969 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 19, 16, 17, 18,
970 0, 0, 0, 0, 0, 0, 0, 0, 68, 70, 69, 71, 32, 34, 33, 35
971 );
972
973 ret = compose(tn, c);
974 ret = compose(ret, ti);
975 ret = flipallcorners(ret);
976
977 return ret;
978}
979
980static inline cube_t
981inline_trans_BLm(cube_t c)
982{
983 cube_t ret;
984
985 cube_t tn = _mm256_set_epi8(
986 0, 0, 0, 0, 21, 22, 23, 20, 16, 19, 18, 17, 8, 9, 10, 11,
987 0, 0, 0, 0, 0, 0, 0, 0, 66, 64, 65, 67, 36, 38, 39, 37
988 );
989 cube_t ti = _mm256_set_epi8(
990 0, 0, 0, 0, 0, 1, 2, 3, 25, 26, 27, 24, 22, 21, 20, 23,
991 0, 0, 0, 0, 0, 0, 0, 0, 65, 66, 64, 67, 36, 39, 37, 38
992 );
993
994 ret = compose(tn, c);
995 ret = compose(ret, ti);
996 ret = flipallcorners(ret);
997
998 return ret;
999}
1000

Generated with cgit - Back to sebastiano.tronto.net