Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangwenhui
OpenXG-RAN
Commits
73c4672c
Commit
73c4672c
authored
Feb 07, 2018
by
Florian Kaltenberger
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
adding optimized ldpc_encoder for BG2 Zc>64
parent
1664d814
Changes
27
Show whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
3705 additions
and
12 deletions
+3705
-12
openair1/PHY/CODING/ldpc_BG2_Zc104_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc104_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc112_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc112_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc120_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc120_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc128_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc128_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc144_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc144_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc160_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc160_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc16_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc16_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc176_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc176_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc192_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc192_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc208_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc208_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc224_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc224_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc240_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc240_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc256_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc256_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc288_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc288_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc2_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc2_byte.c
+140
-0
openair1/PHY/CODING/ldpc_BG2_Zc320_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc320_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc32_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc32_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc352_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc352_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc384_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc384_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc4_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc4_byte.c
+140
-0
openair1/PHY/CODING/ldpc_BG2_Zc64_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc64_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc72_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc72_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc80_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc80_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc88_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc88_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc8_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc8_byte.c
+139
-0
openair1/PHY/CODING/ldpc_BG2_Zc96_byte.c
openair1/PHY/CODING/ldpc_BG2_Zc96_byte.c
+139
-0
openair1/PHY/CODING/ldpc_encoder2.c
openair1/PHY/CODING/ldpc_encoder2.c
+89
-12
No files found.
openair1/PHY/CODING/ldpc_BG2_Zc104_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=104, byte encoding
static
inline
void
ldpc_BG2_Zc104_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m64
*
csimd
=
(
__m64
*
)
c
,
*
dsimd
=
(
__m64
*
)
d
;
__m64
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
13
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm_xor_si64
(
c2
[
1564
],
_mm_xor_si64
(
c2
[
262
],
_mm_xor_si64
(
c2
[
1302
],
_mm_xor_si64
(
c2
[
548
],
_mm_xor_si64
(
c2
[
553
],
_mm_xor_si64
(
c2
[
810
],
_mm_xor_si64
(
c2
[
1880
],
_mm_xor_si64
(
c2
[
1877
],
_mm_xor_si64
(
c2
[
1125
],
_mm_xor_si64
(
c2
[
601
],
_mm_xor_si64
(
c2
[
1643
],
_mm_xor_si64
(
c2
[
624
],
_mm_xor_si64
(
c2
[
1673
],
_mm_xor_si64
(
c2
[
366
],
_mm_xor_si64
(
c2
[
1442
],
_mm_xor_si64
(
c2
[
1690
],
_mm_xor_si64
(
c2
[
947
],
_mm_xor_si64
(
c2
[
166
],
_mm_xor_si64
(
c2
[
688
],
_mm_xor_si64
(
c2
[
184
],
_mm_xor_si64
(
c2
[
702
],
_mm_xor_si64
(
c2
[
1509
],
_mm_xor_si64
(
c2
[
991
],
_mm_xor_si64
(
c2
[
1778
],
_mm_xor_si64
(
c2
[
1275
],
_mm_xor_si64
(
c2
[
1023
],
c2
[
2060
]))))))))))))))))))))))))));
//row: 1
d2
[
13
]
=
_mm_xor_si64
(
c2
[
1824
],
_mm_xor_si64
(
c2
[
1564
],
_mm_xor_si64
(
c2
[
262
],
_mm_xor_si64
(
c2
[
1302
],
_mm_xor_si64
(
c2
[
808
],
_mm_xor_si64
(
c2
[
548
],
_mm_xor_si64
(
c2
[
553
],
_mm_xor_si64
(
c2
[
810
],
_mm_xor_si64
(
c2
[
61
],
_mm_xor_si64
(
c2
[
1880
],
_mm_xor_si64
(
c2
[
1877
],
_mm_xor_si64
(
c2
[
1385
],
_mm_xor_si64
(
c2
[
1125
],
_mm_xor_si64
(
c2
[
601
],
_mm_xor_si64
(
c2
[
1643
],
_mm_xor_si64
(
c2
[
624
],
_mm_xor_si64
(
c2
[
1673
],
_mm_xor_si64
(
c2
[
366
],
_mm_xor_si64
(
c2
[
1442
],
_mm_xor_si64
(
c2
[
1690
],
_mm_xor_si64
(
c2
[
1207
],
_mm_xor_si64
(
c2
[
947
],
_mm_xor_si64
(
c2
[
166
],
_mm_xor_si64
(
c2
[
688
],
_mm_xor_si64
(
c2
[
184
],
_mm_xor_si64
(
c2
[
702
],
_mm_xor_si64
(
c2
[
1509
],
_mm_xor_si64
(
c2
[
991
],
_mm_xor_si64
(
c2
[
1778
],
_mm_xor_si64
(
c2
[
1535
],
_mm_xor_si64
(
c2
[
1275
],
_mm_xor_si64
(
c2
[
1023
],
c2
[
2060
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
26
]
=
_mm_xor_si64
(
c2
[
1824
],
_mm_xor_si64
(
c2
[
1564
],
_mm_xor_si64
(
c2
[
522
],
_mm_xor_si64
(
c2
[
262
],
_mm_xor_si64
(
c2
[
1302
],
_mm_xor_si64
(
c2
[
808
],
_mm_xor_si64
(
c2
[
548
],
_mm_xor_si64
(
c2
[
553
],
_mm_xor_si64
(
c2
[
810
],
_mm_xor_si64
(
c2
[
61
],
_mm_xor_si64
(
c2
[
1880
],
_mm_xor_si64
(
c2
[
1877
],
_mm_xor_si64
(
c2
[
1385
],
_mm_xor_si64
(
c2
[
1125
],
_mm_xor_si64
(
c2
[
861
],
_mm_xor_si64
(
c2
[
601
],
_mm_xor_si64
(
c2
[
1643
],
_mm_xor_si64
(
c2
[
884
],
_mm_xor_si64
(
c2
[
624
],
_mm_xor_si64
(
c2
[
1673
],
_mm_xor_si64
(
c2
[
366
],
_mm_xor_si64
(
c2
[
1702
],
_mm_xor_si64
(
c2
[
1442
],
_mm_xor_si64
(
c2
[
1690
],
_mm_xor_si64
(
c2
[
1207
],
_mm_xor_si64
(
c2
[
947
],
_mm_xor_si64
(
c2
[
426
],
_mm_xor_si64
(
c2
[
166
],
_mm_xor_si64
(
c2
[
688
],
_mm_xor_si64
(
c2
[
444
],
_mm_xor_si64
(
c2
[
184
],
_mm_xor_si64
(
c2
[
702
],
_mm_xor_si64
(
c2
[
1769
],
_mm_xor_si64
(
c2
[
1509
],
_mm_xor_si64
(
c2
[
991
],
_mm_xor_si64
(
c2
[
1778
],
_mm_xor_si64
(
c2
[
1535
],
_mm_xor_si64
(
c2
[
1275
],
_mm_xor_si64
(
c2
[
1283
],
_mm_xor_si64
(
c2
[
1023
],
c2
[
2060
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
39
]
=
_mm_xor_si64
(
c2
[
1564
],
_mm_xor_si64
(
c2
[
262
],
_mm_xor_si64
(
c2
[
1302
],
_mm_xor_si64
(
c2
[
548
],
_mm_xor_si64
(
c2
[
553
],
_mm_xor_si64
(
c2
[
1070
],
_mm_xor_si64
(
c2
[
810
],
_mm_xor_si64
(
c2
[
1880
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
1877
],
_mm_xor_si64
(
c2
[
1125
],
_mm_xor_si64
(
c2
[
601
],
_mm_xor_si64
(
c2
[
1643
],
_mm_xor_si64
(
c2
[
624
],
_mm_xor_si64
(
c2
[
1673
],
_mm_xor_si64
(
c2
[
626
],
_mm_xor_si64
(
c2
[
366
],
_mm_xor_si64
(
c2
[
1442
],
_mm_xor_si64
(
c2
[
1950
],
_mm_xor_si64
(
c2
[
1690
],
_mm_xor_si64
(
c2
[
947
],
_mm_xor_si64
(
c2
[
166
],
_mm_xor_si64
(
c2
[
948
],
_mm_xor_si64
(
c2
[
688
],
_mm_xor_si64
(
c2
[
184
],
_mm_xor_si64
(
c2
[
962
],
_mm_xor_si64
(
c2
[
702
],
_mm_xor_si64
(
c2
[
1509
],
_mm_xor_si64
(
c2
[
991
],
_mm_xor_si64
(
c2
[
2038
],
_mm_xor_si64
(
c2
[
1778
],
_mm_xor_si64
(
c2
[
1275
],
_mm_xor_si64
(
c2
[
1023
],
_mm_xor_si64
(
c2
[
241
],
c2
[
2060
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
52
]
=
_mm_xor_si64
(
c2
[
1046
],
_mm_xor_si64
(
c2
[
786
],
_mm_xor_si64
(
c2
[
1563
],
_mm_xor_si64
(
c2
[
524
],
_mm_xor_si64
(
c2
[
785
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
1849
],
_mm_xor_si64
(
c2
[
1854
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
809
],
_mm_xor_si64
(
c2
[
1362
],
_mm_xor_si64
(
c2
[
1102
],
_mm_xor_si64
(
c2
[
1099
],
_mm_xor_si64
(
c2
[
607
],
_mm_xor_si64
(
c2
[
347
],
_mm_xor_si64
(
c2
[
1902
],
_mm_xor_si64
(
c2
[
865
],
_mm_xor_si64
(
c2
[
1925
],
_mm_xor_si64
(
c2
[
895
],
_mm_xor_si64
(
c2
[
1667
],
_mm_xor_si64
(
c2
[
651
],
_mm_xor_si64
(
c2
[
912
],
_mm_xor_si64
(
c2
[
416
],
_mm_xor_si64
(
c2
[
156
],
_mm_xor_si64
(
c2
[
1467
],
_mm_xor_si64
(
c2
[
1976
],
_mm_xor_si64
(
c2
[
1485
],
_mm_xor_si64
(
c2
[
2003
],
_mm_xor_si64
(
c2
[
731
],
_mm_xor_si64
(
c2
[
213
],
_mm_xor_si64
(
c2
[
1000
],
_mm_xor_si64
(
c2
[
757
],
_mm_xor_si64
(
c2
[
497
],
_mm_xor_si64
(
c2
[
245
],
c2
[
1282
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
65
]
=
_mm_xor_si64
(
c2
[
1312
],
_mm_xor_si64
(
c2
[
1052
],
_mm_xor_si64
(
c2
[
1829
],
_mm_xor_si64
(
c2
[
790
],
_mm_xor_si64
(
c2
[
4
],
_mm_xor_si64
(
c2
[
296
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
298
],
_mm_xor_si64
(
c2
[
292
],
_mm_xor_si64
(
c2
[
1615
],
_mm_xor_si64
(
c2
[
1355
],
_mm_xor_si64
(
c2
[
1352
],
_mm_xor_si64
(
c2
[
860
],
_mm_xor_si64
(
c2
[
600
],
_mm_xor_si64
(
c2
[
89
],
_mm_xor_si64
(
c2
[
1118
],
_mm_xor_si64
(
c2
[
112
],
_mm_xor_si64
(
c2
[
1148
],
_mm_xor_si64
(
c2
[
1933
],
_mm_xor_si64
(
c2
[
917
],
_mm_xor_si64
(
c2
[
1178
],
_mm_xor_si64
(
c2
[
1174
],
_mm_xor_si64
(
c2
[
682
],
_mm_xor_si64
(
c2
[
422
],
_mm_xor_si64
(
c2
[
1720
],
_mm_xor_si64
(
c2
[
163
],
_mm_xor_si64
(
c2
[
1751
],
_mm_xor_si64
(
c2
[
190
],
_mm_xor_si64
(
c2
[
1225
],
_mm_xor_si64
(
c2
[
997
],
_mm_xor_si64
(
c2
[
479
],
_mm_xor_si64
(
c2
[
1253
],
_mm_xor_si64
(
c2
[
1023
],
_mm_xor_si64
(
c2
[
763
],
_mm_xor_si64
(
c2
[
498
],
c2
[
1535
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
78
]
=
_mm_xor_si64
(
c2
[
786
],
_mm_xor_si64
(
c2
[
526
],
_mm_xor_si64
(
c2
[
1303
],
_mm_xor_si64
(
c2
[
264
],
_mm_xor_si64
(
c2
[
1820
],
_mm_xor_si64
(
c2
[
1849
],
_mm_xor_si64
(
c2
[
1589
],
_mm_xor_si64
(
c2
[
1594
],
_mm_xor_si64
(
c2
[
1851
],
_mm_xor_si64
(
c2
[
1102
],
_mm_xor_si64
(
c2
[
842
],
_mm_xor_si64
(
c2
[
839
],
_mm_xor_si64
(
c2
[
347
],
_mm_xor_si64
(
c2
[
87
],
_mm_xor_si64
(
c2
[
1642
],
_mm_xor_si64
(
c2
[
605
],
_mm_xor_si64
(
c2
[
1665
],
_mm_xor_si64
(
c2
[
635
],
_mm_xor_si64
(
c2
[
1407
],
_mm_xor_si64
(
c2
[
391
],
_mm_xor_si64
(
c2
[
652
],
_mm_xor_si64
(
c2
[
654
],
_mm_xor_si64
(
c2
[
156
],
_mm_xor_si64
(
c2
[
1988
],
_mm_xor_si64
(
c2
[
1207
],
_mm_xor_si64
(
c2
[
1716
],
_mm_xor_si64
(
c2
[
1225
],
_mm_xor_si64
(
c2
[
1743
],
_mm_xor_si64
(
c2
[
1753
],
_mm_xor_si64
(
c2
[
471
],
_mm_xor_si64
(
c2
[
2032
],
_mm_xor_si64
(
c2
[
740
],
_mm_xor_si64
(
c2
[
497
],
_mm_xor_si64
(
c2
[
237
],
_mm_xor_si64
(
c2
[
2064
],
_mm_xor_si64
(
c2
[
1022
],
c2
[
242
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
91
]
=
_mm_xor_si64
(
c2
[
525
],
_mm_xor_si64
(
c2
[
265
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
1042
],
_mm_xor_si64
(
c2
[
789
],
_mm_xor_si64
(
c2
[
3
],
_mm_xor_si64
(
c2
[
1829
],
_mm_xor_si64
(
c2
[
1588
],
_mm_xor_si64
(
c2
[
1328
],
_mm_xor_si64
(
c2
[
1075
],
_mm_xor_si64
(
c2
[
1333
],
_mm_xor_si64
(
c2
[
1067
],
_mm_xor_si64
(
c2
[
1590
],
_mm_xor_si64
(
c2
[
1597
],
_mm_xor_si64
(
c2
[
1337
],
_mm_xor_si64
(
c2
[
813
],
_mm_xor_si64
(
c2
[
841
],
_mm_xor_si64
(
c2
[
581
],
_mm_xor_si64
(
c2
[
315
],
_mm_xor_si64
(
c2
[
578
],
_mm_xor_si64
(
c2
[
572
],
_mm_xor_si64
(
c2
[
312
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
1905
],
_mm_xor_si64
(
c2
[
1639
],
_mm_xor_si64
(
c2
[
1381
],
_mm_xor_si64
(
c2
[
1128
],
_mm_xor_si64
(
c2
[
344
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
1404
],
_mm_xor_si64
(
c2
[
1151
],
_mm_xor_si64
(
c2
[
374
],
_mm_xor_si64
(
c2
[
108
],
_mm_xor_si64
(
c2
[
1146
],
_mm_xor_si64
(
c2
[
1153
],
_mm_xor_si64
(
c2
[
893
],
_mm_xor_si64
(
c2
[
130
],
_mm_xor_si64
(
c2
[
1956
],
_mm_xor_si64
(
c2
[
391
],
_mm_xor_si64
(
c2
[
398
],
_mm_xor_si64
(
c2
[
138
],
_mm_xor_si64
(
c2
[
1699
],
_mm_xor_si64
(
c2
[
1987
],
_mm_xor_si64
(
c2
[
1727
],
_mm_xor_si64
(
c2
[
1461
],
_mm_xor_si64
(
c2
[
946
],
_mm_xor_si64
(
c2
[
680
],
_mm_xor_si64
(
c2
[
1468
],
_mm_xor_si64
(
c2
[
1462
],
_mm_xor_si64
(
c2
[
1202
],
_mm_xor_si64
(
c2
[
964
],
_mm_xor_si64
(
c2
[
711
],
_mm_xor_si64
(
c2
[
1482
],
_mm_xor_si64
(
c2
[
1489
],
_mm_xor_si64
(
c2
[
1229
],
_mm_xor_si64
(
c2
[
2006
],
_mm_xor_si64
(
c2
[
210
],
_mm_xor_si64
(
c2
[
2036
],
_mm_xor_si64
(
c2
[
1771
],
_mm_xor_si64
(
c2
[
1518
],
_mm_xor_si64
(
c2
[
479
],
_mm_xor_si64
(
c2
[
473
],
_mm_xor_si64
(
c2
[
213
],
_mm_xor_si64
(
c2
[
236
],
_mm_xor_si64
(
c2
[
2055
],
_mm_xor_si64
(
c2
[
1802
],
_mm_xor_si64
(
c2
[
1803
],
_mm_xor_si64
(
c2
[
1537
],
_mm_xor_si64
(
c2
[
761
],
_mm_xor_si64
(
c2
[
755
],
c2
[
495
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
104
]
=
_mm_xor_si64
(
c2
[
1307
],
_mm_xor_si64
(
c2
[
1047
],
_mm_xor_si64
(
c2
[
5
],
_mm_xor_si64
(
c2
[
1824
],
_mm_xor_si64
(
c2
[
785
],
_mm_xor_si64
(
c2
[
1312
],
_mm_xor_si64
(
c2
[
291
],
_mm_xor_si64
(
c2
[
31
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
293
],
_mm_xor_si64
(
c2
[
295
],
_mm_xor_si64
(
c2
[
1623
],
_mm_xor_si64
(
c2
[
1363
],
_mm_xor_si64
(
c2
[
1360
],
_mm_xor_si64
(
c2
[
868
],
_mm_xor_si64
(
c2
[
608
],
_mm_xor_si64
(
c2
[
344
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
1126
],
_mm_xor_si64
(
c2
[
367
],
_mm_xor_si64
(
c2
[
107
],
_mm_xor_si64
(
c2
[
1156
],
_mm_xor_si64
(
c2
[
1928
],
_mm_xor_si64
(
c2
[
1172
],
_mm_xor_si64
(
c2
[
912
],
_mm_xor_si64
(
c2
[
1173
],
_mm_xor_si64
(
c2
[
677
],
_mm_xor_si64
(
c2
[
417
],
_mm_xor_si64
(
c2
[
1988
],
_mm_xor_si64
(
c2
[
1728
],
_mm_xor_si64
(
c2
[
158
],
_mm_xor_si64
(
c2
[
2006
],
_mm_xor_si64
(
c2
[
1746
],
_mm_xor_si64
(
c2
[
185
],
_mm_xor_si64
(
c2
[
1252
],
_mm_xor_si64
(
c2
[
992
],
_mm_xor_si64
(
c2
[
474
],
_mm_xor_si64
(
c2
[
1248
],
_mm_xor_si64
(
c2
[
1018
],
_mm_xor_si64
(
c2
[
758
],
_mm_xor_si64
(
c2
[
766
],
_mm_xor_si64
(
c2
[
506
],
c2
[
1543
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
117
]
=
_mm_xor_si64
(
c2
[
784
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
1821
],
_mm_xor_si64
(
c2
[
1561
],
_mm_xor_si64
(
c2
[
532
],
_mm_xor_si64
(
c2
[
522
],
_mm_xor_si64
(
c2
[
1572
],
_mm_xor_si64
(
c2
[
1847
],
_mm_xor_si64
(
c2
[
1078
],
_mm_xor_si64
(
c2
[
818
],
_mm_xor_si64
(
c2
[
1852
],
_mm_xor_si64
(
c2
[
810
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
1067
],
_mm_xor_si64
(
c2
[
556
],
_mm_xor_si64
(
c2
[
1100
],
_mm_xor_si64
(
c2
[
318
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
1097
],
_mm_xor_si64
(
c2
[
55
],
_mm_xor_si64
(
c2
[
345
],
_mm_xor_si64
(
c2
[
1642
],
_mm_xor_si64
(
c2
[
1382
],
_mm_xor_si64
(
c2
[
1900
],
_mm_xor_si64
(
c2
[
858
],
_mm_xor_si64
(
c2
[
863
],
_mm_xor_si64
(
c2
[
1900
],
_mm_xor_si64
(
c2
[
1936
],
_mm_xor_si64
(
c2
[
894
],
_mm_xor_si64
(
c2
[
893
],
_mm_xor_si64
(
c2
[
1930
],
_mm_xor_si64
(
c2
[
1665
],
_mm_xor_si64
(
c2
[
636
],
_mm_xor_si64
(
c2
[
662
],
_mm_xor_si64
(
c2
[
1699
],
_mm_xor_si64
(
c2
[
910
],
_mm_xor_si64
(
c2
[
1960
],
_mm_xor_si64
(
c2
[
167
],
_mm_xor_si64
(
c2
[
1464
],
_mm_xor_si64
(
c2
[
1204
],
_mm_xor_si64
(
c2
[
1465
],
_mm_xor_si64
(
c2
[
423
],
_mm_xor_si64
(
c2
[
1987
],
_mm_xor_si64
(
c2
[
945
],
_mm_xor_si64
(
c2
[
1483
],
_mm_xor_si64
(
c2
[
454
],
_mm_xor_si64
(
c2
[
2014
],
_mm_xor_si64
(
c2
[
972
],
_mm_xor_si64
(
c2
[
729
],
_mm_xor_si64
(
c2
[
1779
],
_mm_xor_si64
(
c2
[
211
],
_mm_xor_si64
(
c2
[
1248
],
_mm_xor_si64
(
c2
[
998
],
_mm_xor_si64
(
c2
[
2035
],
_mm_xor_si64
(
c2
[
991
],
_mm_xor_si64
(
c2
[
495
],
_mm_xor_si64
(
c2
[
1805
],
_mm_xor_si64
(
c2
[
1545
],
_mm_xor_si64
(
c2
[
243
],
_mm_xor_si64
(
c2
[
1280
],
_mm_xor_si64
(
c2
[
1280
],
c2
[
238
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
130
]
=
_mm_xor_si64
(
c2
[
1302
],
_mm_xor_si64
(
c2
[
1073
],
_mm_xor_si64
(
c2
[
425
],
c2
[
968
])));
//row: 11
d2
[
143
]
=
_mm_xor_si64
(
c2
[
1565
],
_mm_xor_si64
(
c2
[
263
],
_mm_xor_si64
(
c2
[
1303
],
_mm_xor_si64
(
c2
[
1824
],
_mm_xor_si64
(
c2
[
549
],
_mm_xor_si64
(
c2
[
554
],
_mm_xor_si64
(
c2
[
1071
],
_mm_xor_si64
(
c2
[
811
],
_mm_xor_si64
(
c2
[
1881
],
_mm_xor_si64
(
c2
[
59
],
_mm_xor_si64
(
c2
[
1878
],
_mm_xor_si64
(
c2
[
1126
],
_mm_xor_si64
(
c2
[
602
],
_mm_xor_si64
(
c2
[
1644
],
_mm_xor_si64
(
c2
[
625
],
_mm_xor_si64
(
c2
[
1674
],
_mm_xor_si64
(
c2
[
627
],
_mm_xor_si64
(
c2
[
367
],
_mm_xor_si64
(
c2
[
1430
],
_mm_xor_si64
(
c2
[
1951
],
_mm_xor_si64
(
c2
[
1691
],
_mm_xor_si64
(
c2
[
948
],
_mm_xor_si64
(
c2
[
167
],
_mm_xor_si64
(
c2
[
936
],
_mm_xor_si64
(
c2
[
676
],
_mm_xor_si64
(
c2
[
185
],
_mm_xor_si64
(
c2
[
963
],
_mm_xor_si64
(
c2
[
703
],
_mm_xor_si64
(
c2
[
1485
],
_mm_xor_si64
(
c2
[
1510
],
_mm_xor_si64
(
c2
[
992
],
_mm_xor_si64
(
c2
[
2039
],
_mm_xor_si64
(
c2
[
1779
],
_mm_xor_si64
(
c2
[
1276
],
_mm_xor_si64
(
c2
[
1024
],
_mm_xor_si64
(
c2
[
242
],
_mm_xor_si64
(
c2
[
2061
],
c2
[
1018
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
156
]
=
_mm_xor_si64
(
c2
[
11
],
_mm_xor_si64
(
c2
[
1830
],
_mm_xor_si64
(
c2
[
528
],
_mm_xor_si64
(
c2
[
1568
],
_mm_xor_si64
(
c2
[
1074
],
_mm_xor_si64
(
c2
[
814
],
_mm_xor_si64
(
c2
[
806
],
_mm_xor_si64
(
c2
[
1076
],
_mm_xor_si64
(
c2
[
548
],
_mm_xor_si64
(
c2
[
314
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
1638
],
_mm_xor_si64
(
c2
[
1378
],
_mm_xor_si64
(
c2
[
867
],
_mm_xor_si64
(
c2
[
1909
],
_mm_xor_si64
(
c2
[
864
],
_mm_xor_si64
(
c2
[
890
],
_mm_xor_si64
(
c2
[
1926
],
_mm_xor_si64
(
c2
[
632
],
_mm_xor_si64
(
c2
[
1695
],
_mm_xor_si64
(
c2
[
1956
],
_mm_xor_si64
(
c2
[
1460
],
_mm_xor_si64
(
c2
[
1200
],
_mm_xor_si64
(
c2
[
419
],
_mm_xor_si64
(
c2
[
941
],
_mm_xor_si64
(
c2
[
450
],
_mm_xor_si64
(
c2
[
968
],
_mm_xor_si64
(
c2
[
1775
],
_mm_xor_si64
(
c2
[
1257
],
_mm_xor_si64
(
c2
[
2031
],
_mm_xor_si64
(
c2
[
1801
],
_mm_xor_si64
(
c2
[
1541
],
_mm_xor_si64
(
c2
[
1276
],
c2
[
234
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
169
]
=
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
792
],
_mm_xor_si64
(
c2
[
1832
],
_mm_xor_si64
(
c2
[
4
],
_mm_xor_si64
(
c2
[
1078
],
_mm_xor_si64
(
c2
[
1070
],
_mm_xor_si64
(
c2
[
1587
],
_mm_xor_si64
(
c2
[
1327
],
_mm_xor_si64
(
c2
[
1332
],
_mm_xor_si64
(
c2
[
318
],
_mm_xor_si64
(
c2
[
575
],
_mm_xor_si64
(
c2
[
315
],
_mm_xor_si64
(
c2
[
1642
],
_mm_xor_si64
(
c2
[
1118
],
_mm_xor_si64
(
c2
[
81
],
_mm_xor_si64
(
c2
[
1154
],
_mm_xor_si64
(
c2
[
111
],
_mm_xor_si64
(
c2
[
1156
],
_mm_xor_si64
(
c2
[
896
],
_mm_xor_si64
(
c2
[
1959
],
_mm_xor_si64
(
c2
[
401
],
_mm_xor_si64
(
c2
[
141
],
_mm_xor_si64
(
c2
[
1464
],
_mm_xor_si64
(
c2
[
683
],
_mm_xor_si64
(
c2
[
1465
],
_mm_xor_si64
(
c2
[
1205
],
_mm_xor_si64
(
c2
[
714
],
_mm_xor_si64
(
c2
[
1492
],
_mm_xor_si64
(
c2
[
1232
],
_mm_xor_si64
(
c2
[
2039
],
_mm_xor_si64
(
c2
[
1508
],
_mm_xor_si64
(
c2
[
476
],
_mm_xor_si64
(
c2
[
216
],
_mm_xor_si64
(
c2
[
2039
],
_mm_xor_si64
(
c2
[
1805
],
_mm_xor_si64
(
c2
[
1540
],
_mm_xor_si64
(
c2
[
758
],
c2
[
498
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
182
]
=
_mm_xor_si64
(
c2
[
791
],
_mm_xor_si64
(
c2
[
531
],
_mm_xor_si64
(
c2
[
785
],
_mm_xor_si64
(
c2
[
1308
],
_mm_xor_si64
(
c2
[
1562
],
_mm_xor_si64
(
c2
[
269
],
_mm_xor_si64
(
c2
[
523
],
_mm_xor_si64
(
c2
[
1854
],
_mm_xor_si64
(
c2
[
1594
],
_mm_xor_si64
(
c2
[
1848
],
_mm_xor_si64
(
c2
[
1586
],
_mm_xor_si64
(
c2
[
1853
],
_mm_xor_si64
(
c2
[
1856
],
_mm_xor_si64
(
c2
[
291
],
_mm_xor_si64
(
c2
[
31
],
_mm_xor_si64
(
c2
[
817
],
_mm_xor_si64
(
c2
[
1094
],
_mm_xor_si64
(
c2
[
834
],
_mm_xor_si64
(
c2
[
1101
],
_mm_xor_si64
(
c2
[
844
],
_mm_xor_si64
(
c2
[
1358
],
_mm_xor_si64
(
c2
[
1098
],
_mm_xor_si64
(
c2
[
339
],
_mm_xor_si64
(
c2
[
79
],
_mm_xor_si64
(
c2
[
346
],
_mm_xor_si64
(
c2
[
1647
],
_mm_xor_si64
(
c2
[
1901
],
_mm_xor_si64
(
c2
[
610
],
_mm_xor_si64
(
c2
[
864
],
_mm_xor_si64
(
c2
[
1670
],
_mm_xor_si64
(
c2
[
1924
],
_mm_xor_si64
(
c2
[
627
],
_mm_xor_si64
(
c2
[
894
],
_mm_xor_si64
(
c2
[
1412
],
_mm_xor_si64
(
c2
[
1926
],
_mm_xor_si64
(
c2
[
1666
],
_mm_xor_si64
(
c2
[
396
],
_mm_xor_si64
(
c2
[
650
],
_mm_xor_si64
(
c2
[
657
],
_mm_xor_si64
(
c2
[
1171
],
_mm_xor_si64
(
c2
[
911
],
_mm_xor_si64
(
c2
[
161
],
_mm_xor_si64
(
c2
[
1980
],
_mm_xor_si64
(
c2
[
168
],
_mm_xor_si64
(
c2
[
1199
],
_mm_xor_si64
(
c2
[
1466
],
_mm_xor_si64
(
c2
[
1721
],
_mm_xor_si64
(
c2
[
156
],
_mm_xor_si64
(
c2
[
1988
],
_mm_xor_si64
(
c2
[
1198
],
_mm_xor_si64
(
c2
[
1230
],
_mm_xor_si64
(
c2
[
1484
],
_mm_xor_si64
(
c2
[
1748
],
_mm_xor_si64
(
c2
[
183
],
_mm_xor_si64
(
c2
[
2002
],
_mm_xor_si64
(
c2
[
476
],
_mm_xor_si64
(
c2
[
730
],
_mm_xor_si64
(
c2
[
2037
],
_mm_xor_si64
(
c2
[
212
],
_mm_xor_si64
(
c2
[
732
],
_mm_xor_si64
(
c2
[
1259
],
_mm_xor_si64
(
c2
[
999
],
_mm_xor_si64
(
c2
[
502
],
_mm_xor_si64
(
c2
[
242
],
_mm_xor_si64
(
c2
[
496
],
_mm_xor_si64
(
c2
[
2056
],
_mm_xor_si64
(
c2
[
244
],
_mm_xor_si64
(
c2
[
1014
],
_mm_xor_si64
(
c2
[
1541
],
c2
[
1281
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
195
]
=
_mm_xor_si64
(
c2
[
525
],
_mm_xor_si64
(
c2
[
1304
],
_mm_xor_si64
(
c2
[
1044
],
_mm_xor_si64
(
c2
[
1302
],
_mm_xor_si64
(
c2
[
1821
],
_mm_xor_si64
(
c2
[
263
],
_mm_xor_si64
(
c2
[
782
],
_mm_xor_si64
(
c2
[
1568
],
_mm_xor_si64
(
c2
[
1588
],
_mm_xor_si64
(
c2
[
288
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
1593
],
_mm_xor_si64
(
c2
[
33
],
_mm_xor_si64
(
c2
[
1850
],
_mm_xor_si64
(
c2
[
290
],
_mm_xor_si64
(
c2
[
841
],
_mm_xor_si64
(
c2
[
1620
],
_mm_xor_si64
(
c2
[
1360
],
_mm_xor_si64
(
c2
[
838
],
_mm_xor_si64
(
c2
[
1357
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
865
],
_mm_xor_si64
(
c2
[
605
],
_mm_xor_si64
(
c2
[
1641
],
_mm_xor_si64
(
c2
[
81
],
_mm_xor_si64
(
c2
[
604
],
_mm_xor_si64
(
c2
[
1123
],
_mm_xor_si64
(
c2
[
1664
],
_mm_xor_si64
(
c2
[
104
],
_mm_xor_si64
(
c2
[
634
],
_mm_xor_si64
(
c2
[
1153
],
_mm_xor_si64
(
c2
[
1406
],
_mm_xor_si64
(
c2
[
1925
],
_mm_xor_si64
(
c2
[
390
],
_mm_xor_si64
(
c2
[
922
],
_mm_xor_si64
(
c2
[
651
],
_mm_xor_si64
(
c2
[
1170
],
_mm_xor_si64
(
c2
[
1987
],
_mm_xor_si64
(
c2
[
687
],
_mm_xor_si64
(
c2
[
427
],
_mm_xor_si64
(
c2
[
1206
],
_mm_xor_si64
(
c2
[
1725
],
_mm_xor_si64
(
c2
[
1728
],
_mm_xor_si64
(
c2
[
168
],
_mm_xor_si64
(
c2
[
1224
],
_mm_xor_si64
(
c2
[
1743
],
_mm_xor_si64
(
c2
[
1742
],
_mm_xor_si64
(
c2
[
182
],
_mm_xor_si64
(
c2
[
470
],
_mm_xor_si64
(
c2
[
989
],
_mm_xor_si64
(
c2
[
2031
],
_mm_xor_si64
(
c2
[
471
],
_mm_xor_si64
(
c2
[
739
],
_mm_xor_si64
(
c2
[
1258
],
_mm_xor_si64
(
c2
[
236
],
_mm_xor_si64
(
c2
[
1015
],
_mm_xor_si64
(
c2
[
755
],
_mm_xor_si64
(
c2
[
2063
],
_mm_xor_si64
(
c2
[
503
],
_mm_xor_si64
(
c2
[
1021
],
c2
[
1540
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
208
]
=
_mm_xor_si64
(
c2
[
1311
],
_mm_xor_si64
(
c2
[
1051
],
_mm_xor_si64
(
c2
[
1820
],
_mm_xor_si64
(
c2
[
1560
],
_mm_xor_si64
(
c2
[
1828
],
_mm_xor_si64
(
c2
[
531
],
_mm_xor_si64
(
c2
[
271
],
_mm_xor_si64
(
c2
[
789
],
_mm_xor_si64
(
c2
[
1311
],
_mm_xor_si64
(
c2
[
295
],
_mm_xor_si64
(
c2
[
35
],
_mm_xor_si64
(
c2
[
817
],
_mm_xor_si64
(
c2
[
557
],
_mm_xor_si64
(
c2
[
27
],
_mm_xor_si64
(
c2
[
549
],
_mm_xor_si64
(
c2
[
297
],
_mm_xor_si64
(
c2
[
806
],
_mm_xor_si64
(
c2
[
1328
],
_mm_xor_si64
(
c2
[
1614
],
_mm_xor_si64
(
c2
[
1354
],
_mm_xor_si64
(
c2
[
57
],
_mm_xor_si64
(
c2
[
1876
],
_mm_xor_si64
(
c2
[
1364
],
_mm_xor_si64
(
c2
[
1873
],
_mm_xor_si64
(
c2
[
859
],
_mm_xor_si64
(
c2
[
599
],
_mm_xor_si64
(
c2
[
1381
],
_mm_xor_si64
(
c2
[
1121
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
870
],
_mm_xor_si64
(
c2
[
610
],
_mm_xor_si64
(
c2
[
1130
],
_mm_xor_si64
(
c2
[
1639
],
_mm_xor_si64
(
c2
[
111
],
_mm_xor_si64
(
c2
[
893
],
_mm_xor_si64
(
c2
[
633
],
_mm_xor_si64
(
c2
[
1147
],
_mm_xor_si64
(
c2
[
1669
],
_mm_xor_si64
(
c2
[
1932
],
_mm_xor_si64
(
c2
[
375
],
_mm_xor_si64
(
c2
[
916
],
_mm_xor_si64
(
c2
[
1698
],
_mm_xor_si64
(
c2
[
1438
],
_mm_xor_si64
(
c2
[
1177
],
_mm_xor_si64
(
c2
[
1699
],
_mm_xor_si64
(
c2
[
681
],
_mm_xor_si64
(
c2
[
421
],
_mm_xor_si64
(
c2
[
1203
],
_mm_xor_si64
(
c2
[
943
],
_mm_xor_si64
(
c2
[
1719
],
_mm_xor_si64
(
c2
[
422
],
_mm_xor_si64
(
c2
[
162
],
_mm_xor_si64
(
c2
[
162
],
_mm_xor_si64
(
c2
[
684
],
_mm_xor_si64
(
c2
[
1750
],
_mm_xor_si64
(
c2
[
453
],
_mm_xor_si64
(
c2
[
193
],
_mm_xor_si64
(
c2
[
189
],
_mm_xor_si64
(
c2
[
711
],
_mm_xor_si64
(
c2
[
996
],
_mm_xor_si64
(
c2
[
1778
],
_mm_xor_si64
(
c2
[
1518
],
_mm_xor_si64
(
c2
[
478
],
_mm_xor_si64
(
c2
[
1000
],
_mm_xor_si64
(
c2
[
1252
],
_mm_xor_si64
(
c2
[
1774
],
_mm_xor_si64
(
c2
[
1022
],
_mm_xor_si64
(
c2
[
762
],
_mm_xor_si64
(
c2
[
1544
],
_mm_xor_si64
(
c2
[
1284
],
_mm_xor_si64
(
c2
[
497
],
_mm_xor_si64
(
c2
[
1279
],
_mm_xor_si64
(
c2
[
1019
],
_mm_xor_si64
(
c2
[
1534
],
_mm_xor_si64
(
c2
[
2056
],
c2
[
2057
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
221
]
=
_mm_xor_si64
(
c2
[
1309
],
_mm_xor_si64
(
c2
[
1049
],
_mm_xor_si64
(
c2
[
529
],
_mm_xor_si64
(
c2
[
269
],
_mm_xor_si64
(
c2
[
1826
],
_mm_xor_si64
(
c2
[
1306
],
_mm_xor_si64
(
c2
[
1046
],
_mm_xor_si64
(
c2
[
787
],
_mm_xor_si64
(
c2
[
7
],
_mm_xor_si64
(
c2
[
293
],
_mm_xor_si64
(
c2
[
33
],
_mm_xor_si64
(
c2
[
1592
],
_mm_xor_si64
(
c2
[
1332
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
1337
],
_mm_xor_si64
(
c2
[
295
],
_mm_xor_si64
(
c2
[
1594
],
_mm_xor_si64
(
c2
[
293
],
_mm_xor_si64
(
c2
[
1612
],
_mm_xor_si64
(
c2
[
1352
],
_mm_xor_si64
(
c2
[
832
],
_mm_xor_si64
(
c2
[
572
],
_mm_xor_si64
(
c2
[
1362
],
_mm_xor_si64
(
c2
[
582
],
_mm_xor_si64
(
c2
[
870
],
_mm_xor_si64
(
c2
[
610
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
1909
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
1645
],
_mm_xor_si64
(
c2
[
1385
],
_mm_xor_si64
(
c2
[
1128
],
_mm_xor_si64
(
c2
[
348
],
_mm_xor_si64
(
c2
[
109
],
_mm_xor_si64
(
c2
[
1668
],
_mm_xor_si64
(
c2
[
1408
],
_mm_xor_si64
(
c2
[
1145
],
_mm_xor_si64
(
c2
[
365
],
_mm_xor_si64
(
c2
[
1930
],
_mm_xor_si64
(
c2
[
1150
],
_mm_xor_si64
(
c2
[
914
],
_mm_xor_si64
(
c2
[
394
],
_mm_xor_si64
(
c2
[
134
],
_mm_xor_si64
(
c2
[
1175
],
_mm_xor_si64
(
c2
[
395
],
_mm_xor_si64
(
c2
[
402
],
_mm_xor_si64
(
c2
[
679
],
_mm_xor_si64
(
c2
[
419
],
_mm_xor_si64
(
c2
[
1978
],
_mm_xor_si64
(
c2
[
1718
],
_mm_xor_si64
(
c2
[
1717
],
_mm_xor_si64
(
c2
[
1197
],
_mm_xor_si64
(
c2
[
937
],
_mm_xor_si64
(
c2
[
160
],
_mm_xor_si64
(
c2
[
1459
],
_mm_xor_si64
(
c2
[
1748
],
_mm_xor_si64
(
c2
[
1228
],
_mm_xor_si64
(
c2
[
968
],
_mm_xor_si64
(
c2
[
187
],
_mm_xor_si64
(
c2
[
1486
],
_mm_xor_si64
(
c2
[
994
],
_mm_xor_si64
(
c2
[
474
],
_mm_xor_si64
(
c2
[
214
],
_mm_xor_si64
(
c2
[
476
],
_mm_xor_si64
(
c2
[
1775
],
_mm_xor_si64
(
c2
[
1250
],
_mm_xor_si64
(
c2
[
470
],
_mm_xor_si64
(
c2
[
1020
],
_mm_xor_si64
(
c2
[
760
],
_mm_xor_si64
(
c2
[
240
],
_mm_xor_si64
(
c2
[
2059
],
_mm_xor_si64
(
c2
[
495
],
_mm_xor_si64
(
c2
[
2054
],
_mm_xor_si64
(
c2
[
1794
],
_mm_xor_si64
(
c2
[
1545
],
c2
[
765
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
234
]
=
_mm_xor_si64
(
c2
[
263
],
_mm_xor_si64
(
c2
[
948
],
c2
[
1226
]));
//row: 19
d2
[
247
]
=
_mm_xor_si64
(
c2
[
531
],
_mm_xor_si64
(
c2
[
1308
],
_mm_xor_si64
(
c2
[
269
],
_mm_xor_si64
(
c2
[
1560
],
_mm_xor_si64
(
c2
[
1594
],
_mm_xor_si64
(
c2
[
1586
],
_mm_xor_si64
(
c2
[
1856
],
_mm_xor_si64
(
c2
[
1068
],
_mm_xor_si64
(
c2
[
834
],
_mm_xor_si64
(
c2
[
844
],
_mm_xor_si64
(
c2
[
79
],
_mm_xor_si64
(
c2
[
1647
],
_mm_xor_si64
(
c2
[
610
],
_mm_xor_si64
(
c2
[
1670
],
_mm_xor_si64
(
c2
[
627
],
_mm_xor_si64
(
c2
[
1412
],
_mm_xor_si64
(
c2
[
396
],
_mm_xor_si64
(
c2
[
657
],
_mm_xor_si64
(
c2
[
1980
],
_mm_xor_si64
(
c2
[
1199
],
_mm_xor_si64
(
c2
[
1721
],
_mm_xor_si64
(
c2
[
1230
],
_mm_xor_si64
(
c2
[
1748
],
_mm_xor_si64
(
c2
[
476
],
_mm_xor_si64
(
c2
[
2037
],
_mm_xor_si64
(
c2
[
732
],
_mm_xor_si64
(
c2
[
242
],
_mm_xor_si64
(
c2
[
2056
],
c2
[
1014
]))))))))))))))))))))))))))));
//row: 20
d2
[
260
]
=
_mm_xor_si64
(
c2
[
266
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
783
],
_mm_xor_si64
(
c2
[
1823
],
_mm_xor_si64
(
c2
[
1329
],
_mm_xor_si64
(
c2
[
1069
],
_mm_xor_si64
(
c2
[
1074
],
_mm_xor_si64
(
c2
[
1331
],
_mm_xor_si64
(
c2
[
1077
],
_mm_xor_si64
(
c2
[
582
],
_mm_xor_si64
(
c2
[
322
],
_mm_xor_si64
(
c2
[
319
],
_mm_xor_si64
(
c2
[
1906
],
_mm_xor_si64
(
c2
[
1646
],
_mm_xor_si64
(
c2
[
1122
],
_mm_xor_si64
(
c2
[
85
],
_mm_xor_si64
(
c2
[
1145
],
_mm_xor_si64
(
c2
[
115
],
_mm_xor_si64
(
c2
[
887
],
_mm_xor_si64
(
c2
[
888
],
_mm_xor_si64
(
c2
[
1950
],
_mm_xor_si64
(
c2
[
132
],
_mm_xor_si64
(
c2
[
1728
],
_mm_xor_si64
(
c2
[
1468
],
_mm_xor_si64
(
c2
[
687
],
_mm_xor_si64
(
c2
[
1196
],
_mm_xor_si64
(
c2
[
705
],
_mm_xor_si64
(
c2
[
1223
],
_mm_xor_si64
(
c2
[
2030
],
_mm_xor_si64
(
c2
[
1512
],
_mm_xor_si64
(
c2
[
220
],
_mm_xor_si64
(
c2
[
2056
],
_mm_xor_si64
(
c2
[
1796
],
_mm_xor_si64
(
c2
[
1544
],
c2
[
502
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
273
]
=
_mm_xor_si64
(
c2
[
1307
],
_mm_xor_si64
(
c2
[
5
],
_mm_xor_si64
(
c2
[
1045
],
_mm_xor_si64
(
c2
[
521
],
_mm_xor_si64
(
c2
[
291
],
_mm_xor_si64
(
c2
[
296
],
_mm_xor_si64
(
c2
[
813
],
_mm_xor_si64
(
c2
[
553
],
_mm_xor_si64
(
c2
[
1623
],
_mm_xor_si64
(
c2
[
1880
],
_mm_xor_si64
(
c2
[
1620
],
_mm_xor_si64
(
c2
[
868
],
_mm_xor_si64
(
c2
[
344
],
_mm_xor_si64
(
c2
[
1386
],
_mm_xor_si64
(
c2
[
367
],
_mm_xor_si64
(
c2
[
1416
],
_mm_xor_si64
(
c2
[
369
],
_mm_xor_si64
(
c2
[
109
],
_mm_xor_si64
(
c2
[
1172
],
_mm_xor_si64
(
c2
[
1693
],
_mm_xor_si64
(
c2
[
1433
],
_mm_xor_si64
(
c2
[
677
],
_mm_xor_si64
(
c2
[
1988
],
_mm_xor_si64
(
c2
[
678
],
_mm_xor_si64
(
c2
[
418
],
_mm_xor_si64
(
c2
[
2006
],
_mm_xor_si64
(
c2
[
705
],
_mm_xor_si64
(
c2
[
445
],
_mm_xor_si64
(
c2
[
1252
],
_mm_xor_si64
(
c2
[
734
],
_mm_xor_si64
(
c2
[
1768
],
_mm_xor_si64
(
c2
[
1508
],
_mm_xor_si64
(
c2
[
730
],
_mm_xor_si64
(
c2
[
1018
],
_mm_xor_si64
(
c2
[
766
],
_mm_xor_si64
(
c2
[
2063
],
c2
[
1803
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
286
]
=
_mm_xor_si64
(
c2
[
558
],
c2
[
1614
]);
//row: 23
d2
[
299
]
=
_mm_xor_si64
(
c2
[
1046
],
_mm_xor_si64
(
c2
[
606
],
c2
[
1431
]));
//row: 24
d2
[
312
]
=
_mm_xor_si64
(
c2
[
287
],
_mm_xor_si64
(
c2
[
319
],
c2
[
245
]));
//row: 25
d2
[
325
]
=
_mm_xor_si64
(
c2
[
1311
],
c2
[
661
]);
//row: 26
d2
[
338
]
=
_mm_xor_si64
(
c2
[
11
],
_mm_xor_si64
(
c2
[
1830
],
_mm_xor_si64
(
c2
[
1831
],
_mm_xor_si64
(
c2
[
788
],
_mm_xor_si64
(
c2
[
528
],
_mm_xor_si64
(
c2
[
529
],
_mm_xor_si64
(
c2
[
1568
],
_mm_xor_si64
(
c2
[
1569
],
_mm_xor_si64
(
c2
[
1074
],
_mm_xor_si64
(
c2
[
814
],
_mm_xor_si64
(
c2
[
815
],
_mm_xor_si64
(
c2
[
806
],
_mm_xor_si64
(
c2
[
807
],
_mm_xor_si64
(
c2
[
1076
],
_mm_xor_si64
(
c2
[
1337
],
_mm_xor_si64
(
c2
[
1077
],
_mm_xor_si64
(
c2
[
314
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
55
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
312
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
1099
],
_mm_xor_si64
(
c2
[
1638
],
_mm_xor_si64
(
c2
[
1378
],
_mm_xor_si64
(
c2
[
1379
],
_mm_xor_si64
(
c2
[
1127
],
_mm_xor_si64
(
c2
[
867
],
_mm_xor_si64
(
c2
[
868
],
_mm_xor_si64
(
c2
[
1909
],
_mm_xor_si64
(
c2
[
1910
],
_mm_xor_si64
(
c2
[
1150
],
_mm_xor_si64
(
c2
[
890
],
_mm_xor_si64
(
c2
[
891
],
_mm_xor_si64
(
c2
[
1926
],
_mm_xor_si64
(
c2
[
1927
],
_mm_xor_si64
(
c2
[
632
],
_mm_xor_si64
(
c2
[
893
],
_mm_xor_si64
(
c2
[
633
],
_mm_xor_si64
(
c2
[
1955
],
_mm_xor_si64
(
c2
[
1695
],
_mm_xor_si64
(
c2
[
1696
],
_mm_xor_si64
(
c2
[
1956
],
_mm_xor_si64
(
c2
[
138
],
_mm_xor_si64
(
c2
[
1957
],
_mm_xor_si64
(
c2
[
1460
],
_mm_xor_si64
(
c2
[
1200
],
_mm_xor_si64
(
c2
[
1201
],
_mm_xor_si64
(
c2
[
679
],
_mm_xor_si64
(
c2
[
419
],
_mm_xor_si64
(
c2
[
420
],
_mm_xor_si64
(
c2
[
941
],
_mm_xor_si64
(
c2
[
1202
],
_mm_xor_si64
(
c2
[
942
],
_mm_xor_si64
(
c2
[
710
],
_mm_xor_si64
(
c2
[
450
],
_mm_xor_si64
(
c2
[
451
],
_mm_xor_si64
(
c2
[
968
],
_mm_xor_si64
(
c2
[
1229
],
_mm_xor_si64
(
c2
[
969
],
_mm_xor_si64
(
c2
[
1230
],
_mm_xor_si64
(
c2
[
2035
],
_mm_xor_si64
(
c2
[
1775
],
_mm_xor_si64
(
c2
[
1776
],
_mm_xor_si64
(
c2
[
1257
],
_mm_xor_si64
(
c2
[
1258
],
_mm_xor_si64
(
c2
[
2031
],
_mm_xor_si64
(
c2
[
213
],
_mm_xor_si64
(
c2
[
2032
],
_mm_xor_si64
(
c2
[
1801
],
_mm_xor_si64
(
c2
[
1541
],
_mm_xor_si64
(
c2
[
1542
],
_mm_xor_si64
(
c2
[
1536
],
_mm_xor_si64
(
c2
[
1276
],
_mm_xor_si64
(
c2
[
1277
],
_mm_xor_si64
(
c2
[
234
],
_mm_xor_si64
(
c2
[
495
],
c2
[
235
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
351
]
=
_mm_xor_si64
(
c2
[
8
],
c2
[
427
]);
//row: 28
d2
[
364
]
=
_mm_xor_si64
(
c2
[
1587
],
_mm_xor_si64
(
c2
[
582
],
c2
[
1695
]));
//row: 29
d2
[
377
]
=
_mm_xor_si64
(
c2
[
526
],
c2
[
887
]);
//row: 30
d2
[
390
]
=
_mm_xor_si64
(
c2
[
1620
],
_mm_xor_si64
(
c2
[
392
],
_mm_xor_si64
(
c2
[
708
],
c2
[
1794
])));
//row: 31
d2
[
403
]
=
_mm_xor_si64
(
c2
[
782
],
_mm_xor_si64
(
c2
[
1572
],
_mm_xor_si64
(
c2
[
520
],
_mm_xor_si64
(
c2
[
1858
],
_mm_xor_si64
(
c2
[
1850
],
_mm_xor_si64
(
c2
[
288
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
807
],
_mm_xor_si64
(
c2
[
1098
],
_mm_xor_si64
(
c2
[
1355
],
_mm_xor_si64
(
c2
[
1095
],
_mm_xor_si64
(
c2
[
343
],
_mm_xor_si64
(
c2
[
1898
],
_mm_xor_si64
(
c2
[
861
],
_mm_xor_si64
(
c2
[
1934
],
_mm_xor_si64
(
c2
[
891
],
_mm_xor_si64
(
c2
[
1936
],
_mm_xor_si64
(
c2
[
1676
],
_mm_xor_si64
(
c2
[
660
],
_mm_xor_si64
(
c2
[
1181
],
_mm_xor_si64
(
c2
[
921
],
_mm_xor_si64
(
c2
[
165
],
_mm_xor_si64
(
c2
[
1463
],
_mm_xor_si64
(
c2
[
166
],
_mm_xor_si64
(
c2
[
1985
],
_mm_xor_si64
(
c2
[
1494
],
_mm_xor_si64
(
c2
[
193
],
_mm_xor_si64
(
c2
[
2012
],
_mm_xor_si64
(
c2
[
740
],
_mm_xor_si64
(
c2
[
209
],
_mm_xor_si64
(
c2
[
1256
],
_mm_xor_si64
(
c2
[
996
],
_mm_xor_si64
(
c2
[
506
],
_mm_xor_si64
(
c2
[
241
],
_mm_xor_si64
(
c2
[
1538
],
c2
[
1278
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
416
]
=
_mm_xor_si64
(
c2
[
532
],
_mm_xor_si64
(
c2
[
272
],
_mm_xor_si64
(
c2
[
1309
],
_mm_xor_si64
(
c2
[
1049
],
_mm_xor_si64
(
c2
[
10
],
_mm_xor_si64
(
c2
[
1560
],
_mm_xor_si64
(
c2
[
1595
],
_mm_xor_si64
(
c2
[
1335
],
_mm_xor_si64
(
c2
[
1327
],
_mm_xor_si64
(
c2
[
1597
],
_mm_xor_si64
(
c2
[
835
],
_mm_xor_si64
(
c2
[
575
],
_mm_xor_si64
(
c2
[
572
],
_mm_xor_si64
(
c2
[
80
],
_mm_xor_si64
(
c2
[
1899
],
_mm_xor_si64
(
c2
[
1648
],
_mm_xor_si64
(
c2
[
1388
],
_mm_xor_si64
(
c2
[
338
],
_mm_xor_si64
(
c2
[
1671
],
_mm_xor_si64
(
c2
[
1411
],
_mm_xor_si64
(
c2
[
368
],
_mm_xor_si64
(
c2
[
1153
],
_mm_xor_si64
(
c2
[
397
],
_mm_xor_si64
(
c2
[
137
],
_mm_xor_si64
(
c2
[
398
],
_mm_xor_si64
(
c2
[
130
],
_mm_xor_si64
(
c2
[
1981
],
_mm_xor_si64
(
c2
[
1721
],
_mm_xor_si64
(
c2
[
1200
],
_mm_xor_si64
(
c2
[
940
],
_mm_xor_si64
(
c2
[
1462
],
_mm_xor_si64
(
c2
[
1231
],
_mm_xor_si64
(
c2
[
971
],
_mm_xor_si64
(
c2
[
1489
],
_mm_xor_si64
(
c2
[
477
],
_mm_xor_si64
(
c2
[
217
],
_mm_xor_si64
(
c2
[
1778
],
_mm_xor_si64
(
c2
[
473
],
_mm_xor_si64
(
c2
[
243
],
_mm_xor_si64
(
c2
[
2062
],
_mm_xor_si64
(
c2
[
2057
],
_mm_xor_si64
(
c2
[
1797
],
c2
[
755
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
429
]
=
_mm_xor_si64
(
c2
[
261
],
_mm_xor_si64
(
c2
[
1051
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
1337
],
_mm_xor_si64
(
c2
[
1329
],
_mm_xor_si64
(
c2
[
1586
],
_mm_xor_si64
(
c2
[
577
],
_mm_xor_si64
(
c2
[
574
],
_mm_xor_si64
(
c2
[
839
],
_mm_xor_si64
(
c2
[
1901
],
_mm_xor_si64
(
c2
[
1390
],
_mm_xor_si64
(
c2
[
340
],
_mm_xor_si64
(
c2
[
1413
],
_mm_xor_si64
(
c2
[
370
],
_mm_xor_si64
(
c2
[
1155
],
_mm_xor_si64
(
c2
[
139
],
_mm_xor_si64
(
c2
[
400
],
_mm_xor_si64
(
c2
[
1723
],
_mm_xor_si64
(
c2
[
942
],
_mm_xor_si64
(
c2
[
1464
],
_mm_xor_si64
(
c2
[
973
],
_mm_xor_si64
(
c2
[
1491
],
_mm_xor_si64
(
c2
[
1490
],
_mm_xor_si64
(
c2
[
219
],
_mm_xor_si64
(
c2
[
1780
],
_mm_xor_si64
(
c2
[
475
],
_mm_xor_si64
(
c2
[
2064
],
_mm_xor_si64
(
c2
[
1799
],
c2
[
757
]))))))))))))))))))))))))))));
//row: 34
d2
[
442
]
=
_mm_xor_si64
(
c2
[
1562
],
_mm_xor_si64
(
c2
[
1302
],
_mm_xor_si64
(
c2
[
1822
],
_mm_xor_si64
(
c2
[
260
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
520
],
_mm_xor_si64
(
c2
[
1040
],
_mm_xor_si64
(
c2
[
1560
],
_mm_xor_si64
(
c2
[
1311
],
_mm_xor_si64
(
c2
[
546
],
_mm_xor_si64
(
c2
[
286
],
_mm_xor_si64
(
c2
[
806
],
_mm_xor_si64
(
c2
[
291
],
_mm_xor_si64
(
c2
[
811
],
_mm_xor_si64
(
c2
[
548
],
_mm_xor_si64
(
c2
[
1328
],
_mm_xor_si64
(
c2
[
1068
],
_mm_xor_si64
(
c2
[
1878
],
_mm_xor_si64
(
c2
[
1618
],
_mm_xor_si64
(
c2
[
59
],
_mm_xor_si64
(
c2
[
1615
],
_mm_xor_si64
(
c2
[
316
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
1123
],
_mm_xor_si64
(
c2
[
863
],
_mm_xor_si64
(
c2
[
1383
],
_mm_xor_si64
(
c2
[
599
],
_mm_xor_si64
(
c2
[
339
],
_mm_xor_si64
(
c2
[
859
],
_mm_xor_si64
(
c2
[
1381
],
_mm_xor_si64
(
c2
[
1901
],
_mm_xor_si64
(
c2
[
635
],
_mm_xor_si64
(
c2
[
375
],
_mm_xor_si64
(
c2
[
895
],
_mm_xor_si64
(
c2
[
1411
],
_mm_xor_si64
(
c2
[
1931
],
_mm_xor_si64
(
c2
[
104
],
_mm_xor_si64
(
c2
[
884
],
_mm_xor_si64
(
c2
[
624
],
_mm_xor_si64
(
c2
[
1440
],
_mm_xor_si64
(
c2
[
1180
],
_mm_xor_si64
(
c2
[
1700
],
_mm_xor_si64
(
c2
[
1441
],
_mm_xor_si64
(
c2
[
142
],
_mm_xor_si64
(
c2
[
1961
],
_mm_xor_si64
(
c2
[
945
],
_mm_xor_si64
(
c2
[
685
],
_mm_xor_si64
(
c2
[
1205
],
_mm_xor_si64
(
c2
[
164
],
_mm_xor_si64
(
c2
[
1983
],
_mm_xor_si64
(
c2
[
424
],
_mm_xor_si64
(
c2
[
426
],
_mm_xor_si64
(
c2
[
1206
],
_mm_xor_si64
(
c2
[
946
],
_mm_xor_si64
(
c2
[
182
],
_mm_xor_si64
(
c2
[
2014
],
_mm_xor_si64
(
c2
[
442
],
_mm_xor_si64
(
c2
[
453
],
_mm_xor_si64
(
c2
[
1233
],
_mm_xor_si64
(
c2
[
973
],
_mm_xor_si64
(
c2
[
1520
],
_mm_xor_si64
(
c2
[
1260
],
_mm_xor_si64
(
c2
[
1780
],
_mm_xor_si64
(
c2
[
729
],
_mm_xor_si64
(
c2
[
1249
],
_mm_xor_si64
(
c2
[
1516
],
_mm_xor_si64
(
c2
[
217
],
_mm_xor_si64
(
c2
[
2036
],
_mm_xor_si64
(
c2
[
1286
],
_mm_xor_si64
(
c2
[
1026
],
_mm_xor_si64
(
c2
[
1546
],
_mm_xor_si64
(
c2
[
1021
],
_mm_xor_si64
(
c2
[
761
],
_mm_xor_si64
(
c2
[
1281
],
_mm_xor_si64
(
c2
[
1798
],
_mm_xor_si64
(
c2
[
499
],
c2
[
239
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
455
]
=
_mm_xor_si64
(
c2
[
1041
],
_mm_xor_si64
(
c2
[
781
],
_mm_xor_si64
(
c2
[
1571
],
_mm_xor_si64
(
c2
[
532
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
1857
],
_mm_xor_si64
(
c2
[
1849
],
_mm_xor_si64
(
c2
[
27
],
_mm_xor_si64
(
c2
[
1332
],
_mm_xor_si64
(
c2
[
1357
],
_mm_xor_si64
(
c2
[
1097
],
_mm_xor_si64
(
c2
[
1094
],
_mm_xor_si64
(
c2
[
602
],
_mm_xor_si64
(
c2
[
342
],
_mm_xor_si64
(
c2
[
1910
],
_mm_xor_si64
(
c2
[
860
],
_mm_xor_si64
(
c2
[
1933
],
_mm_xor_si64
(
c2
[
890
],
_mm_xor_si64
(
c2
[
1675
],
_mm_xor_si64
(
c2
[
659
],
_mm_xor_si64
(
c2
[
920
],
_mm_xor_si64
(
c2
[
1957
],
_mm_xor_si64
(
c2
[
424
],
_mm_xor_si64
(
c2
[
164
],
_mm_xor_si64
(
c2
[
1462
],
_mm_xor_si64
(
c2
[
1984
],
_mm_xor_si64
(
c2
[
1493
],
_mm_xor_si64
(
c2
[
2011
],
_mm_xor_si64
(
c2
[
739
],
_mm_xor_si64
(
c2
[
208
],
_mm_xor_si64
(
c2
[
995
],
_mm_xor_si64
(
c2
[
765
],
_mm_xor_si64
(
c2
[
505
],
_mm_xor_si64
(
c2
[
240
],
c2
[
1277
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
468
]
=
_mm_xor_si64
(
c2
[
1311
],
_mm_xor_si64
(
c2
[
1879
],
c2
[
971
]));
//row: 37
d2
[
481
]
=
_mm_xor_si64
(
c2
[
781
],
_mm_xor_si64
(
c2
[
1822
],
_mm_xor_si64
(
c2
[
1571
],
_mm_xor_si64
(
c2
[
520
],
_mm_xor_si64
(
c2
[
532
],
_mm_xor_si64
(
c2
[
1560
],
_mm_xor_si64
(
c2
[
1857
],
_mm_xor_si64
(
c2
[
806
],
_mm_xor_si64
(
c2
[
1849
],
_mm_xor_si64
(
c2
[
811
],
_mm_xor_si64
(
c2
[
27
],
_mm_xor_si64
(
c2
[
1328
],
_mm_xor_si64
(
c2
[
1068
],
_mm_xor_si64
(
c2
[
1097
],
_mm_xor_si64
(
c2
[
59
],
_mm_xor_si64
(
c2
[
1094
],
_mm_xor_si64
(
c2
[
316
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
342
],
_mm_xor_si64
(
c2
[
1383
],
_mm_xor_si64
(
c2
[
1910
],
_mm_xor_si64
(
c2
[
859
],
_mm_xor_si64
(
c2
[
860
],
_mm_xor_si64
(
c2
[
1901
],
_mm_xor_si64
(
c2
[
1933
],
_mm_xor_si64
(
c2
[
895
],
_mm_xor_si64
(
c2
[
890
],
_mm_xor_si64
(
c2
[
1931
],
_mm_xor_si64
(
c2
[
1675
],
_mm_xor_si64
(
c2
[
884
],
_mm_xor_si64
(
c2
[
624
],
_mm_xor_si64
(
c2
[
659
],
_mm_xor_si64
(
c2
[
1700
],
_mm_xor_si64
(
c2
[
920
],
_mm_xor_si64
(
c2
[
142
],
_mm_xor_si64
(
c2
[
1961
],
_mm_xor_si64
(
c2
[
164
],
_mm_xor_si64
(
c2
[
1205
],
_mm_xor_si64
(
c2
[
1462
],
_mm_xor_si64
(
c2
[
424
],
_mm_xor_si64
(
c2
[
1984
],
_mm_xor_si64
(
c2
[
1206
],
_mm_xor_si64
(
c2
[
946
],
_mm_xor_si64
(
c2
[
1493
],
_mm_xor_si64
(
c2
[
442
],
_mm_xor_si64
(
c2
[
2011
],
_mm_xor_si64
(
c2
[
1233
],
_mm_xor_si64
(
c2
[
973
],
_mm_xor_si64
(
c2
[
739
],
_mm_xor_si64
(
c2
[
1780
],
_mm_xor_si64
(
c2
[
208
],
_mm_xor_si64
(
c2
[
1249
],
_mm_xor_si64
(
c2
[
995
],
_mm_xor_si64
(
c2
[
217
],
_mm_xor_si64
(
c2
[
2036
],
_mm_xor_si64
(
c2
[
505
],
_mm_xor_si64
(
c2
[
1546
],
_mm_xor_si64
(
c2
[
240
],
_mm_xor_si64
(
c2
[
1281
],
_mm_xor_si64
(
c2
[
1277
],
_mm_xor_si64
(
c2
[
499
],
c2
[
239
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
494
]
=
_mm_xor_si64
(
c2
[
1562
],
_mm_xor_si64
(
c2
[
1302
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
1040
],
_mm_xor_si64
(
c2
[
546
],
_mm_xor_si64
(
c2
[
286
],
_mm_xor_si64
(
c2
[
291
],
_mm_xor_si64
(
c2
[
548
],
_mm_xor_si64
(
c2
[
1332
],
_mm_xor_si64
(
c2
[
1878
],
_mm_xor_si64
(
c2
[
1618
],
_mm_xor_si64
(
c2
[
1615
],
_mm_xor_si64
(
c2
[
1123
],
_mm_xor_si64
(
c2
[
863
],
_mm_xor_si64
(
c2
[
339
],
_mm_xor_si64
(
c2
[
1381
],
_mm_xor_si64
(
c2
[
375
],
_mm_xor_si64
(
c2
[
1411
],
_mm_xor_si64
(
c2
[
104
],
_mm_xor_si64
(
c2
[
1180
],
_mm_xor_si64
(
c2
[
1441
],
_mm_xor_si64
(
c2
[
1438
],
_mm_xor_si64
(
c2
[
945
],
_mm_xor_si64
(
c2
[
685
],
_mm_xor_si64
(
c2
[
1983
],
_mm_xor_si64
(
c2
[
426
],
_mm_xor_si64
(
c2
[
2014
],
_mm_xor_si64
(
c2
[
453
],
_mm_xor_si64
(
c2
[
1260
],
_mm_xor_si64
(
c2
[
729
],
_mm_xor_si64
(
c2
[
1516
],
_mm_xor_si64
(
c2
[
1286
],
_mm_xor_si64
(
c2
[
1026
],
_mm_xor_si64
(
c2
[
761
],
c2
[
1798
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
507
]
=
_mm_xor_si64
(
c2
[
1040
],
_mm_xor_si64
(
c2
[
780
],
_mm_xor_si64
(
c2
[
1830
],
_mm_xor_si64
(
c2
[
1570
],
_mm_xor_si64
(
c2
[
531
],
_mm_xor_si64
(
c2
[
1309
],
_mm_xor_si64
(
c2
[
37
],
_mm_xor_si64
(
c2
[
1856
],
_mm_xor_si64
(
c2
[
1848
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
1356
],
_mm_xor_si64
(
c2
[
1096
],
_mm_xor_si64
(
c2
[
1093
],
_mm_xor_si64
(
c2
[
601
],
_mm_xor_si64
(
c2
[
341
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
1909
],
_mm_xor_si64
(
c2
[
859
],
_mm_xor_si64
(
c2
[
113
],
_mm_xor_si64
(
c2
[
1932
],
_mm_xor_si64
(
c2
[
889
],
_mm_xor_si64
(
c2
[
1674
],
_mm_xor_si64
(
c2
[
918
],
_mm_xor_si64
(
c2
[
658
],
_mm_xor_si64
(
c2
[
919
],
_mm_xor_si64
(
c2
[
423
],
_mm_xor_si64
(
c2
[
163
],
_mm_xor_si64
(
c2
[
1721
],
_mm_xor_si64
(
c2
[
1461
],
_mm_xor_si64
(
c2
[
1983
],
_mm_xor_si64
(
c2
[
1752
],
_mm_xor_si64
(
c2
[
1492
],
_mm_xor_si64
(
c2
[
2010
],
_mm_xor_si64
(
c2
[
1488
],
_mm_xor_si64
(
c2
[
998
],
_mm_xor_si64
(
c2
[
738
],
_mm_xor_si64
(
c2
[
220
],
_mm_xor_si64
(
c2
[
994
],
_mm_xor_si64
(
c2
[
764
],
_mm_xor_si64
(
c2
[
504
],
_mm_xor_si64
(
c2
[
499
],
_mm_xor_si64
(
c2
[
239
],
c2
[
1276
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
520
]
=
_mm_xor_si64
(
c2
[
272
],
_mm_xor_si64
(
c2
[
261
],
_mm_xor_si64
(
c2
[
1049
],
_mm_xor_si64
(
c2
[
1051
],
_mm_xor_si64
(
c2
[
10
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
1335
],
_mm_xor_si64
(
c2
[
1337
],
_mm_xor_si64
(
c2
[
1327
],
_mm_xor_si64
(
c2
[
1329
],
_mm_xor_si64
(
c2
[
1597
],
_mm_xor_si64
(
c2
[
1846
],
_mm_xor_si64
(
c2
[
1586
],
_mm_xor_si64
(
c2
[
575
],
_mm_xor_si64
(
c2
[
577
],
_mm_xor_si64
(
c2
[
572
],
_mm_xor_si64
(
c2
[
834
],
_mm_xor_si64
(
c2
[
574
],
_mm_xor_si64
(
c2
[
323
],
_mm_xor_si64
(
c2
[
1899
],
_mm_xor_si64
(
c2
[
1901
],
_mm_xor_si64
(
c2
[
1388
],
_mm_xor_si64
(
c2
[
1390
],
_mm_xor_si64
(
c2
[
338
],
_mm_xor_si64
(
c2
[
340
],
_mm_xor_si64
(
c2
[
1411
],
_mm_xor_si64
(
c2
[
1413
],
_mm_xor_si64
(
c2
[
368
],
_mm_xor_si64
(
c2
[
370
],
_mm_xor_si64
(
c2
[
1153
],
_mm_xor_si64
(
c2
[
1415
],
_mm_xor_si64
(
c2
[
1155
],
_mm_xor_si64
(
c2
[
137
],
_mm_xor_si64
(
c2
[
139
],
_mm_xor_si64
(
c2
[
398
],
_mm_xor_si64
(
c2
[
660
],
_mm_xor_si64
(
c2
[
400
],
_mm_xor_si64
(
c2
[
1721
],
_mm_xor_si64
(
c2
[
1723
],
_mm_xor_si64
(
c2
[
940
],
_mm_xor_si64
(
c2
[
942
],
_mm_xor_si64
(
c2
[
1462
],
_mm_xor_si64
(
c2
[
1724
],
_mm_xor_si64
(
c2
[
1464
],
_mm_xor_si64
(
c2
[
971
],
_mm_xor_si64
(
c2
[
973
],
_mm_xor_si64
(
c2
[
1489
],
_mm_xor_si64
(
c2
[
1751
],
_mm_xor_si64
(
c2
[
1491
],
_mm_xor_si64
(
c2
[
217
],
_mm_xor_si64
(
c2
[
219
],
_mm_xor_si64
(
c2
[
1778
],
_mm_xor_si64
(
c2
[
1780
],
_mm_xor_si64
(
c2
[
473
],
_mm_xor_si64
(
c2
[
735
],
_mm_xor_si64
(
c2
[
475
],
_mm_xor_si64
(
c2
[
2062
],
_mm_xor_si64
(
c2
[
2064
],
_mm_xor_si64
(
c2
[
1797
],
_mm_xor_si64
(
c2
[
1799
],
_mm_xor_si64
(
c2
[
755
],
_mm_xor_si64
(
c2
[
1017
],
c2
[
757
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
533
]
=
_mm_xor_si64
(
c2
[
1572
],
_mm_xor_si64
(
c2
[
1312
],
_mm_xor_si64
(
c2
[
10
],
_mm_xor_si64
(
c2
[
1050
],
_mm_xor_si64
(
c2
[
556
],
_mm_xor_si64
(
c2
[
296
],
_mm_xor_si64
(
c2
[
288
],
_mm_xor_si64
(
c2
[
558
],
_mm_xor_si64
(
c2
[
1856
],
_mm_xor_si64
(
c2
[
1875
],
_mm_xor_si64
(
c2
[
1615
],
_mm_xor_si64
(
c2
[
1612
],
_mm_xor_si64
(
c2
[
1120
],
_mm_xor_si64
(
c2
[
860
],
_mm_xor_si64
(
c2
[
349
],
_mm_xor_si64
(
c2
[
1378
],
_mm_xor_si64
(
c2
[
372
],
_mm_xor_si64
(
c2
[
1408
],
_mm_xor_si64
(
c2
[
114
],
_mm_xor_si64
(
c2
[
1177
],
_mm_xor_si64
(
c2
[
1438
],
_mm_xor_si64
(
c2
[
1441
],
_mm_xor_si64
(
c2
[
942
],
_mm_xor_si64
(
c2
[
682
],
_mm_xor_si64
(
c2
[
1980
],
_mm_xor_si64
(
c2
[
423
],
_mm_xor_si64
(
c2
[
2011
],
_mm_xor_si64
(
c2
[
450
],
_mm_xor_si64
(
c2
[
1257
],
_mm_xor_si64
(
c2
[
739
],
_mm_xor_si64
(
c2
[
1513
],
_mm_xor_si64
(
c2
[
1283
],
_mm_xor_si64
(
c2
[
1023
],
_mm_xor_si64
(
c2
[
758
],
c2
[
1795
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc112_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=112, byte encoding
static
inline
void
ldpc_BG2_Zc112_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m128i
*
csimd
=
(
__m128i
*
)
c
,
*
dsimd
=
(
__m128i
*
)
d
;
__m128i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
7
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm_xor_si128
(
c2
[
1124
],
_mm_xor_si128
(
c2
[
703
],
_mm_xor_si128
(
c2
[
1122
],
_mm_xor_si128
(
c2
[
1980
],
_mm_xor_si128
(
c2
[
435
],
_mm_xor_si128
(
c2
[
1278
],
_mm_xor_si128
(
c2
[
1009
],
_mm_xor_si128
(
c2
[
868
],
_mm_xor_si128
(
c2
[
746
],
_mm_xor_si128
(
c2
[
1724
],
_mm_xor_si128
(
c2
[
2004
],
_mm_xor_si128
(
c2
[
476
],
_mm_xor_si128
(
c2
[
2160
],
_mm_xor_si128
(
c2
[
618
],
_mm_xor_si128
(
c2
[
1752
],
_mm_xor_si128
(
c2
[
1750
],
_mm_xor_si128
(
c2
[
2189
],
_mm_xor_si128
(
c2
[
504
],
_mm_xor_si128
(
c2
[
1764
],
_mm_xor_si128
(
c2
[
1223
],
_mm_xor_si128
(
c2
[
2064
],
_mm_xor_si128
(
c2
[
1933
],
_mm_xor_si128
(
c2
[
1657
],
_mm_xor_si128
(
c2
[
1794
],
_mm_xor_si128
(
c2
[
1246
],
_mm_xor_si128
(
c2
[
2227
],
c2
[
827
]))))))))))))))))))))))))));
//row: 1
d2
[
7
]
=
_mm_xor_si128
(
c2
[
1124
],
_mm_xor_si128
(
c2
[
1264
],
_mm_xor_si128
(
c2
[
843
],
_mm_xor_si128
(
c2
[
1262
],
_mm_xor_si128
(
c2
[
1980
],
_mm_xor_si128
(
c2
[
2120
],
_mm_xor_si128
(
c2
[
575
],
_mm_xor_si128
(
c2
[
1418
],
_mm_xor_si128
(
c2
[
1009
],
_mm_xor_si128
(
c2
[
1149
],
_mm_xor_si128
(
c2
[
1008
],
_mm_xor_si128
(
c2
[
746
],
_mm_xor_si128
(
c2
[
886
],
_mm_xor_si128
(
c2
[
1864
],
_mm_xor_si128
(
c2
[
2144
],
_mm_xor_si128
(
c2
[
616
],
_mm_xor_si128
(
c2
[
61
],
_mm_xor_si128
(
c2
[
758
],
_mm_xor_si128
(
c2
[
1892
],
_mm_xor_si128
(
c2
[
1890
],
_mm_xor_si128
(
c2
[
2189
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
644
],
_mm_xor_si128
(
c2
[
1904
],
_mm_xor_si128
(
c2
[
1363
],
_mm_xor_si128
(
c2
[
2204
],
_mm_xor_si128
(
c2
[
2073
],
_mm_xor_si128
(
c2
[
1797
],
_mm_xor_si128
(
c2
[
1934
],
_mm_xor_si128
(
c2
[
1246
],
_mm_xor_si128
(
c2
[
1386
],
_mm_xor_si128
(
c2
[
128
],
c2
[
967
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
14
]
=
_mm_xor_si128
(
c2
[
1124
],
_mm_xor_si128
(
c2
[
1264
],
_mm_xor_si128
(
c2
[
703
],
_mm_xor_si128
(
c2
[
843
],
_mm_xor_si128
(
c2
[
1262
],
_mm_xor_si128
(
c2
[
1980
],
_mm_xor_si128
(
c2
[
2120
],
_mm_xor_si128
(
c2
[
575
],
_mm_xor_si128
(
c2
[
1418
],
_mm_xor_si128
(
c2
[
1009
],
_mm_xor_si128
(
c2
[
1149
],
_mm_xor_si128
(
c2
[
1008
],
_mm_xor_si128
(
c2
[
746
],
_mm_xor_si128
(
c2
[
886
],
_mm_xor_si128
(
c2
[
1724
],
_mm_xor_si128
(
c2
[
1864
],
_mm_xor_si128
(
c2
[
2144
],
_mm_xor_si128
(
c2
[
476
],
_mm_xor_si128
(
c2
[
616
],
_mm_xor_si128
(
c2
[
61
],
_mm_xor_si128
(
c2
[
758
],
_mm_xor_si128
(
c2
[
1752
],
_mm_xor_si128
(
c2
[
1892
],
_mm_xor_si128
(
c2
[
1890
],
_mm_xor_si128
(
c2
[
2189
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
504
],
_mm_xor_si128
(
c2
[
644
],
_mm_xor_si128
(
c2
[
1904
],
_mm_xor_si128
(
c2
[
1223
],
_mm_xor_si128
(
c2
[
1363
],
_mm_xor_si128
(
c2
[
2204
],
_mm_xor_si128
(
c2
[
1933
],
_mm_xor_si128
(
c2
[
2073
],
_mm_xor_si128
(
c2
[
1797
],
_mm_xor_si128
(
c2
[
1934
],
_mm_xor_si128
(
c2
[
1246
],
_mm_xor_si128
(
c2
[
1386
],
_mm_xor_si128
(
c2
[
2227
],
_mm_xor_si128
(
c2
[
128
],
c2
[
967
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
21
]
=
_mm_xor_si128
(
c2
[
1264
],
_mm_xor_si128
(
c2
[
843
],
_mm_xor_si128
(
c2
[
1262
],
_mm_xor_si128
(
c2
[
2120
],
_mm_xor_si128
(
c2
[
575
],
_mm_xor_si128
(
c2
[
1278
],
_mm_xor_si128
(
c2
[
1418
],
_mm_xor_si128
(
c2
[
1149
],
_mm_xor_si128
(
c2
[
868
],
_mm_xor_si128
(
c2
[
1008
],
_mm_xor_si128
(
c2
[
886
],
_mm_xor_si128
(
c2
[
1864
],
_mm_xor_si128
(
c2
[
2144
],
_mm_xor_si128
(
c2
[
616
],
_mm_xor_si128
(
c2
[
61
],
_mm_xor_si128
(
c2
[
618
],
_mm_xor_si128
(
c2
[
758
],
_mm_xor_si128
(
c2
[
1892
],
_mm_xor_si128
(
c2
[
1750
],
_mm_xor_si128
(
c2
[
1890
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
644
],
_mm_xor_si128
(
c2
[
1764
],
_mm_xor_si128
(
c2
[
1904
],
_mm_xor_si128
(
c2
[
1363
],
_mm_xor_si128
(
c2
[
2064
],
_mm_xor_si128
(
c2
[
2204
],
_mm_xor_si128
(
c2
[
2073
],
_mm_xor_si128
(
c2
[
1797
],
_mm_xor_si128
(
c2
[
1794
],
_mm_xor_si128
(
c2
[
1934
],
_mm_xor_si128
(
c2
[
1386
],
_mm_xor_si128
(
c2
[
128
],
_mm_xor_si128
(
c2
[
827
],
c2
[
967
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
28
]
=
_mm_xor_si128
(
c2
[
1823
],
_mm_xor_si128
(
c2
[
1963
],
_mm_xor_si128
(
c2
[
1542
],
_mm_xor_si128
(
c2
[
1961
],
_mm_xor_si128
(
c2
[
1125
],
_mm_xor_si128
(
c2
[
440
],
_mm_xor_si128
(
c2
[
580
],
_mm_xor_si128
(
c2
[
1274
],
_mm_xor_si128
(
c2
[
2117
],
_mm_xor_si128
(
c2
[
15
],
_mm_xor_si128
(
c2
[
1708
],
_mm_xor_si128
(
c2
[
1848
],
_mm_xor_si128
(
c2
[
1714
],
_mm_xor_si128
(
c2
[
1445
],
_mm_xor_si128
(
c2
[
1585
],
_mm_xor_si128
(
c2
[
324
],
_mm_xor_si128
(
c2
[
604
],
_mm_xor_si128
(
c2
[
1322
],
_mm_xor_si128
(
c2
[
760
],
_mm_xor_si128
(
c2
[
1457
],
_mm_xor_si128
(
c2
[
352
],
_mm_xor_si128
(
c2
[
350
],
_mm_xor_si128
(
c2
[
649
],
_mm_xor_si128
(
c2
[
789
],
_mm_xor_si128
(
c2
[
1350
],
_mm_xor_si128
(
c2
[
364
],
_mm_xor_si128
(
c2
[
2062
],
_mm_xor_si128
(
c2
[
664
],
_mm_xor_si128
(
c2
[
533
],
_mm_xor_si128
(
c2
[
257
],
_mm_xor_si128
(
c2
[
394
],
_mm_xor_si128
(
c2
[
1952
],
_mm_xor_si128
(
c2
[
2092
],
_mm_xor_si128
(
c2
[
827
],
c2
[
1666
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
35
]
=
_mm_xor_si128
(
c2
[
1262
],
_mm_xor_si128
(
c2
[
1402
],
_mm_xor_si128
(
c2
[
981
],
_mm_xor_si128
(
c2
[
1400
],
_mm_xor_si128
(
c2
[
1264
],
_mm_xor_si128
(
c2
[
2118
],
_mm_xor_si128
(
c2
[
19
],
_mm_xor_si128
(
c2
[
720
],
_mm_xor_si128
(
c2
[
1556
],
_mm_xor_si128
(
c2
[
1415
],
_mm_xor_si128
(
c2
[
1154
],
_mm_xor_si128
(
c2
[
1294
],
_mm_xor_si128
(
c2
[
1153
],
_mm_xor_si128
(
c2
[
884
],
_mm_xor_si128
(
c2
[
1024
],
_mm_xor_si128
(
c2
[
2002
],
_mm_xor_si128
(
c2
[
43
],
_mm_xor_si128
(
c2
[
761
],
_mm_xor_si128
(
c2
[
199
],
_mm_xor_si128
(
c2
[
896
],
_mm_xor_si128
(
c2
[
2030
],
_mm_xor_si128
(
c2
[
2035
],
_mm_xor_si128
(
c2
[
1473
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
228
],
_mm_xor_si128
(
c2
[
789
],
_mm_xor_si128
(
c2
[
2049
],
_mm_xor_si128
(
c2
[
1501
],
_mm_xor_si128
(
c2
[
103
],
_mm_xor_si128
(
c2
[
1644
],
_mm_xor_si128
(
c2
[
2218
],
_mm_xor_si128
(
c2
[
1935
],
_mm_xor_si128
(
c2
[
2072
],
_mm_xor_si128
(
c2
[
1391
],
_mm_xor_si128
(
c2
[
1531
],
_mm_xor_si128
(
c2
[
266
],
c2
[
1112
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
42
]
=
_mm_xor_si128
(
c2
[
1263
],
_mm_xor_si128
(
c2
[
1403
],
_mm_xor_si128
(
c2
[
982
],
_mm_xor_si128
(
c2
[
1401
],
_mm_xor_si128
(
c2
[
1540
],
_mm_xor_si128
(
c2
[
2119
],
_mm_xor_si128
(
c2
[
20
],
_mm_xor_si128
(
c2
[
714
],
_mm_xor_si128
(
c2
[
1557
],
_mm_xor_si128
(
c2
[
1148
],
_mm_xor_si128
(
c2
[
1288
],
_mm_xor_si128
(
c2
[
1154
],
_mm_xor_si128
(
c2
[
885
],
_mm_xor_si128
(
c2
[
1025
],
_mm_xor_si128
(
c2
[
2003
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
762
],
_mm_xor_si128
(
c2
[
200
],
_mm_xor_si128
(
c2
[
897
],
_mm_xor_si128
(
c2
[
2031
],
_mm_xor_si128
(
c2
[
2036
],
_mm_xor_si128
(
c2
[
1053
],
_mm_xor_si128
(
c2
[
89
],
_mm_xor_si128
(
c2
[
229
],
_mm_xor_si128
(
c2
[
790
],
_mm_xor_si128
(
c2
[
2050
],
_mm_xor_si128
(
c2
[
1502
],
_mm_xor_si128
(
c2
[
104
],
_mm_xor_si128
(
c2
[
2199
],
_mm_xor_si128
(
c2
[
2212
],
_mm_xor_si128
(
c2
[
1936
],
_mm_xor_si128
(
c2
[
2073
],
_mm_xor_si128
(
c2
[
1392
],
_mm_xor_si128
(
c2
[
1532
],
_mm_xor_si128
(
c2
[
267
],
_mm_xor_si128
(
c2
[
1106
],
c2
[
2092
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
49
]
=
_mm_xor_si128
(
c2
[
1966
],
_mm_xor_si128
(
c2
[
2106
],
_mm_xor_si128
(
c2
[
1961
],
_mm_xor_si128
(
c2
[
1685
],
_mm_xor_si128
(
c2
[
1540
],
_mm_xor_si128
(
c2
[
2104
],
_mm_xor_si128
(
c2
[
1966
],
_mm_xor_si128
(
c2
[
576
],
_mm_xor_si128
(
c2
[
716
],
_mm_xor_si128
(
c2
[
578
],
_mm_xor_si128
(
c2
[
1417
],
_mm_xor_si128
(
c2
[
1279
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
1975
],
_mm_xor_si128
(
c2
[
2115
],
_mm_xor_si128
(
c2
[
1000
],
_mm_xor_si128
(
c2
[
1851
],
_mm_xor_si128
(
c2
[
1991
],
_mm_xor_si128
(
c2
[
1853
],
_mm_xor_si128
(
c2
[
1850
],
_mm_xor_si128
(
c2
[
1572
],
_mm_xor_si128
(
c2
[
1712
],
_mm_xor_si128
(
c2
[
1588
],
_mm_xor_si128
(
c2
[
1728
],
_mm_xor_si128
(
c2
[
1583
],
_mm_xor_si128
(
c2
[
467
],
_mm_xor_si128
(
c2
[
322
],
_mm_xor_si128
(
c2
[
747
],
_mm_xor_si128
(
c2
[
602
],
_mm_xor_si128
(
c2
[
1458
],
_mm_xor_si128
(
c2
[
1320
],
_mm_xor_si128
(
c2
[
896
],
_mm_xor_si128
(
c2
[
758
],
_mm_xor_si128
(
c2
[
1600
],
_mm_xor_si128
(
c2
[
1322
],
_mm_xor_si128
(
c2
[
1462
],
_mm_xor_si128
(
c2
[
495
],
_mm_xor_si128
(
c2
[
350
],
_mm_xor_si128
(
c2
[
493
],
_mm_xor_si128
(
c2
[
215
],
_mm_xor_si128
(
c2
[
355
],
_mm_xor_si128
(
c2
[
1890
],
_mm_xor_si128
(
c2
[
785
],
_mm_xor_si128
(
c2
[
925
],
_mm_xor_si128
(
c2
[
787
],
_mm_xor_si128
(
c2
[
1486
],
_mm_xor_si128
(
c2
[
1348
],
_mm_xor_si128
(
c2
[
507
],
_mm_xor_si128
(
c2
[
229
],
_mm_xor_si128
(
c2
[
369
],
_mm_xor_si128
(
c2
[
2198
],
_mm_xor_si128
(
c2
[
2060
],
_mm_xor_si128
(
c2
[
800
],
_mm_xor_si128
(
c2
[
522
],
_mm_xor_si128
(
c2
[
662
],
_mm_xor_si128
(
c2
[
1364
],
_mm_xor_si128
(
c2
[
676
],
_mm_xor_si128
(
c2
[
538
],
_mm_xor_si128
(
c2
[
393
],
_mm_xor_si128
(
c2
[
255
],
_mm_xor_si128
(
c2
[
537
],
_mm_xor_si128
(
c2
[
252
],
_mm_xor_si128
(
c2
[
392
],
_mm_xor_si128
(
c2
[
2088
],
_mm_xor_si128
(
c2
[
2228
],
_mm_xor_si128
(
c2
[
2090
],
_mm_xor_si128
(
c2
[
970
],
_mm_xor_si128
(
c2
[
832
],
_mm_xor_si128
(
c2
[
1809
],
_mm_xor_si128
(
c2
[
1531
],
c2
[
1671
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
56
]
=
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
140
],
_mm_xor_si128
(
c2
[
1825
],
_mm_xor_si128
(
c2
[
1965
],
_mm_xor_si128
(
c2
[
145
],
_mm_xor_si128
(
c2
[
422
],
_mm_xor_si128
(
c2
[
856
],
_mm_xor_si128
(
c2
[
996
],
_mm_xor_si128
(
c2
[
1697
],
_mm_xor_si128
(
c2
[
294
],
_mm_xor_si128
(
c2
[
1556
],
_mm_xor_si128
(
c2
[
2131
],
_mm_xor_si128
(
c2
[
32
],
_mm_xor_si128
(
c2
[
2130
],
_mm_xor_si128
(
c2
[
1868
],
_mm_xor_si128
(
c2
[
2008
],
_mm_xor_si128
(
c2
[
607
],
_mm_xor_si128
(
c2
[
747
],
_mm_xor_si128
(
c2
[
1027
],
_mm_xor_si128
(
c2
[
1598
],
_mm_xor_si128
(
c2
[
1738
],
_mm_xor_si128
(
c2
[
1176
],
_mm_xor_si128
(
c2
[
1880
],
_mm_xor_si128
(
c2
[
635
],
_mm_xor_si128
(
c2
[
775
],
_mm_xor_si128
(
c2
[
773
],
_mm_xor_si128
(
c2
[
1065
],
_mm_xor_si128
(
c2
[
1205
],
_mm_xor_si128
(
c2
[
1626
],
_mm_xor_si128
(
c2
[
1766
],
_mm_xor_si128
(
c2
[
787
],
_mm_xor_si128
(
c2
[
99
],
_mm_xor_si128
(
c2
[
239
],
_mm_xor_si128
(
c2
[
1080
],
_mm_xor_si128
(
c2
[
816
],
_mm_xor_si128
(
c2
[
956
],
_mm_xor_si128
(
c2
[
673
],
_mm_xor_si128
(
c2
[
817
],
_mm_xor_si128
(
c2
[
129
],
_mm_xor_si128
(
c2
[
269
],
_mm_xor_si128
(
c2
[
1110
],
_mm_xor_si128
(
c2
[
1250
],
c2
[
2089
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
63
]
=
_mm_xor_si128
(
c2
[
2
],
_mm_xor_si128
(
c2
[
1542
],
_mm_xor_si128
(
c2
[
1682
],
_mm_xor_si128
(
c2
[
1820
],
_mm_xor_si128
(
c2
[
1261
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
1680
],
_mm_xor_si128
(
c2
[
858
],
_mm_xor_si128
(
c2
[
159
],
_mm_xor_si128
(
c2
[
299
],
_mm_xor_si128
(
c2
[
1559
],
_mm_xor_si128
(
c2
[
1000
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
1836
],
_mm_xor_si128
(
c2
[
294
],
_mm_xor_si128
(
c2
[
2133
],
_mm_xor_si128
(
c2
[
1434
],
_mm_xor_si128
(
c2
[
1574
],
_mm_xor_si128
(
c2
[
1992
],
_mm_xor_si128
(
c2
[
1433
],
_mm_xor_si128
(
c2
[
1863
],
_mm_xor_si128
(
c2
[
1164
],
_mm_xor_si128
(
c2
[
1304
],
_mm_xor_si128
(
c2
[
602
],
_mm_xor_si128
(
c2
[
43
],
_mm_xor_si128
(
c2
[
882
],
_mm_xor_si128
(
c2
[
323
],
_mm_xor_si128
(
c2
[
1600
],
_mm_xor_si128
(
c2
[
1041
],
_mm_xor_si128
(
c2
[
1038
],
_mm_xor_si128
(
c2
[
479
],
_mm_xor_si128
(
c2
[
1742
],
_mm_xor_si128
(
c2
[
1176
],
_mm_xor_si128
(
c2
[
630
],
_mm_xor_si128
(
c2
[
71
],
_mm_xor_si128
(
c2
[
635
],
_mm_xor_si128
(
c2
[
76
],
_mm_xor_si128
(
c2
[
1067
],
_mm_xor_si128
(
c2
[
368
],
_mm_xor_si128
(
c2
[
508
],
_mm_xor_si128
(
c2
[
1628
],
_mm_xor_si128
(
c2
[
1069
],
_mm_xor_si128
(
c2
[
649
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
101
],
_mm_xor_si128
(
c2
[
1781
],
_mm_xor_si128
(
c2
[
942
],
_mm_xor_si128
(
c2
[
383
],
_mm_xor_si128
(
c2
[
818
],
_mm_xor_si128
(
c2
[
252
],
_mm_xor_si128
(
c2
[
535
],
_mm_xor_si128
(
c2
[
2215
],
_mm_xor_si128
(
c2
[
672
],
_mm_xor_si128
(
c2
[
113
],
_mm_xor_si128
(
c2
[
2073
],
_mm_xor_si128
(
c2
[
131
],
_mm_xor_si128
(
c2
[
1671
],
_mm_xor_si128
(
c2
[
1811
],
_mm_xor_si128
(
c2
[
1112
],
_mm_xor_si128
(
c2
[
546
],
_mm_xor_si128
(
c2
[
1951
],
c2
[
1392
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
70
]
=
_mm_xor_si128
(
c2
[
1963
],
_mm_xor_si128
(
c2
[
856
],
_mm_xor_si128
(
c2
[
1204
],
c2
[
1221
])));
//row: 11
d2
[
77
]
=
_mm_xor_si128
(
c2
[
1683
],
_mm_xor_si128
(
c2
[
1262
],
_mm_xor_si128
(
c2
[
1681
],
_mm_xor_si128
(
c2
[
426
],
_mm_xor_si128
(
c2
[
300
],
_mm_xor_si128
(
c2
[
994
],
_mm_xor_si128
(
c2
[
1697
],
_mm_xor_si128
(
c2
[
1837
],
_mm_xor_si128
(
c2
[
1568
],
_mm_xor_si128
(
c2
[
1294
],
_mm_xor_si128
(
c2
[
1434
],
_mm_xor_si128
(
c2
[
1305
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
324
],
_mm_xor_si128
(
c2
[
1042
],
_mm_xor_si128
(
c2
[
480
],
_mm_xor_si128
(
c2
[
1037
],
_mm_xor_si128
(
c2
[
1177
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
2176
],
_mm_xor_si128
(
c2
[
70
],
_mm_xor_si128
(
c2
[
509
],
_mm_xor_si128
(
c2
[
1070
],
_mm_xor_si128
(
c2
[
2190
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
1782
],
_mm_xor_si128
(
c2
[
244
],
_mm_xor_si128
(
c2
[
384
],
_mm_xor_si128
(
c2
[
1499
],
_mm_xor_si128
(
c2
[
253
],
_mm_xor_si128
(
c2
[
2216
],
_mm_xor_si128
(
c2
[
2213
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
1812
],
_mm_xor_si128
(
c2
[
547
],
_mm_xor_si128
(
c2
[
1246
],
_mm_xor_si128
(
c2
[
1386
],
c2
[
2092
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
84
]
=
_mm_xor_si128
(
c2
[
704
],
_mm_xor_si128
(
c2
[
844
],
_mm_xor_si128
(
c2
[
423
],
_mm_xor_si128
(
c2
[
842
],
_mm_xor_si128
(
c2
[
1560
],
_mm_xor_si128
(
c2
[
1700
],
_mm_xor_si128
(
c2
[
155
],
_mm_xor_si128
(
c2
[
998
],
_mm_xor_si128
(
c2
[
1976
],
_mm_xor_si128
(
c2
[
589
],
_mm_xor_si128
(
c2
[
729
],
_mm_xor_si128
(
c2
[
588
],
_mm_xor_si128
(
c2
[
326
],
_mm_xor_si128
(
c2
[
466
],
_mm_xor_si128
(
c2
[
1444
],
_mm_xor_si128
(
c2
[
1724
],
_mm_xor_si128
(
c2
[
1308
],
_mm_xor_si128
(
c2
[
196
],
_mm_xor_si128
(
c2
[
1880
],
_mm_xor_si128
(
c2
[
338
],
_mm_xor_si128
(
c2
[
1472
],
_mm_xor_si128
(
c2
[
1470
],
_mm_xor_si128
(
c2
[
1769
],
_mm_xor_si128
(
c2
[
1909
],
_mm_xor_si128
(
c2
[
224
],
_mm_xor_si128
(
c2
[
1484
],
_mm_xor_si128
(
c2
[
943
],
_mm_xor_si128
(
c2
[
1784
],
_mm_xor_si128
(
c2
[
1653
],
_mm_xor_si128
(
c2
[
1377
],
_mm_xor_si128
(
c2
[
1514
],
_mm_xor_si128
(
c2
[
826
],
_mm_xor_si128
(
c2
[
966
],
_mm_xor_si128
(
c2
[
1947
],
c2
[
547
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
91
]
=
_mm_xor_si128
(
c2
[
706
],
_mm_xor_si128
(
c2
[
285
],
_mm_xor_si128
(
c2
[
704
],
_mm_xor_si128
(
c2
[
702
],
_mm_xor_si128
(
c2
[
1555
],
_mm_xor_si128
(
c2
[
17
],
_mm_xor_si128
(
c2
[
720
],
_mm_xor_si128
(
c2
[
860
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
591
],
_mm_xor_si128
(
c2
[
310
],
_mm_xor_si128
(
c2
[
450
],
_mm_xor_si128
(
c2
[
328
],
_mm_xor_si128
(
c2
[
1306
],
_mm_xor_si128
(
c2
[
1586
],
_mm_xor_si128
(
c2
[
58
],
_mm_xor_si128
(
c2
[
1742
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
200
],
_mm_xor_si128
(
c2
[
1334
],
_mm_xor_si128
(
c2
[
1192
],
_mm_xor_si128
(
c2
[
1332
],
_mm_xor_si128
(
c2
[
1764
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
1206
],
_mm_xor_si128
(
c2
[
1346
],
_mm_xor_si128
(
c2
[
798
],
_mm_xor_si128
(
c2
[
1499
],
_mm_xor_si128
(
c2
[
1639
],
_mm_xor_si128
(
c2
[
1515
],
_mm_xor_si128
(
c2
[
1232
],
_mm_xor_si128
(
c2
[
1236
],
_mm_xor_si128
(
c2
[
1376
],
_mm_xor_si128
(
c2
[
2213
],
_mm_xor_si128
(
c2
[
828
],
_mm_xor_si128
(
c2
[
1809
],
_mm_xor_si128
(
c2
[
269
],
c2
[
409
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
98
]
=
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
140
],
_mm_xor_si128
(
c2
[
1824
],
_mm_xor_si128
(
c2
[
1965
],
_mm_xor_si128
(
c2
[
1403
],
_mm_xor_si128
(
c2
[
145
],
_mm_xor_si128
(
c2
[
1822
],
_mm_xor_si128
(
c2
[
856
],
_mm_xor_si128
(
c2
[
996
],
_mm_xor_si128
(
c2
[
434
],
_mm_xor_si128
(
c2
[
1697
],
_mm_xor_si128
(
c2
[
1135
],
_mm_xor_si128
(
c2
[
294
],
_mm_xor_si128
(
c2
[
1838
],
_mm_xor_si128
(
c2
[
1978
],
_mm_xor_si128
(
c2
[
576
],
_mm_xor_si128
(
c2
[
2131
],
_mm_xor_si128
(
c2
[
32
],
_mm_xor_si128
(
c2
[
1709
],
_mm_xor_si128
(
c2
[
2130
],
_mm_xor_si128
(
c2
[
1428
],
_mm_xor_si128
(
c2
[
1568
],
_mm_xor_si128
(
c2
[
1868
],
_mm_xor_si128
(
c2
[
2008
],
_mm_xor_si128
(
c2
[
1446
],
_mm_xor_si128
(
c2
[
747
],
_mm_xor_si128
(
c2
[
185
],
_mm_xor_si128
(
c2
[
1027
],
_mm_xor_si128
(
c2
[
465
],
_mm_xor_si128
(
c2
[
1738
],
_mm_xor_si128
(
c2
[
1176
],
_mm_xor_si128
(
c2
[
1176
],
_mm_xor_si128
(
c2
[
621
],
_mm_xor_si128
(
c2
[
1880
],
_mm_xor_si128
(
c2
[
1178
],
_mm_xor_si128
(
c2
[
1318
],
_mm_xor_si128
(
c2
[
775
],
_mm_xor_si128
(
c2
[
213
],
_mm_xor_si128
(
c2
[
773
],
_mm_xor_si128
(
c2
[
71
],
_mm_xor_si128
(
c2
[
211
],
_mm_xor_si128
(
c2
[
1065
],
_mm_xor_si128
(
c2
[
1205
],
_mm_xor_si128
(
c2
[
650
],
_mm_xor_si128
(
c2
[
1766
],
_mm_xor_si128
(
c2
[
1204
],
_mm_xor_si128
(
c2
[
787
],
_mm_xor_si128
(
c2
[
85
],
_mm_xor_si128
(
c2
[
225
],
_mm_xor_si128
(
c2
[
2189
],
_mm_xor_si128
(
c2
[
239
],
_mm_xor_si128
(
c2
[
1923
],
_mm_xor_si128
(
c2
[
1080
],
_mm_xor_si128
(
c2
[
378
],
_mm_xor_si128
(
c2
[
518
],
_mm_xor_si128
(
c2
[
956
],
_mm_xor_si128
(
c2
[
394
],
_mm_xor_si128
(
c2
[
673
],
_mm_xor_si128
(
c2
[
118
],
_mm_xor_si128
(
c2
[
817
],
_mm_xor_si128
(
c2
[
115
],
_mm_xor_si128
(
c2
[
255
],
_mm_xor_si128
(
c2
[
129
],
_mm_xor_si128
(
c2
[
269
],
_mm_xor_si128
(
c2
[
1946
],
_mm_xor_si128
(
c2
[
1250
],
_mm_xor_si128
(
c2
[
688
],
_mm_xor_si128
(
c2
[
2089
],
_mm_xor_si128
(
c2
[
1387
],
c2
[
1527
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
105
]
=
_mm_xor_si128
(
c2
[
3
],
_mm_xor_si128
(
c2
[
844
],
_mm_xor_si128
(
c2
[
984
],
_mm_xor_si128
(
c2
[
1821
],
_mm_xor_si128
(
c2
[
563
],
_mm_xor_si128
(
c2
[
1
],
_mm_xor_si128
(
c2
[
982
],
_mm_xor_si128
(
c2
[
560
],
_mm_xor_si128
(
c2
[
859
],
_mm_xor_si128
(
c2
[
1700
],
_mm_xor_si128
(
c2
[
1840
],
_mm_xor_si128
(
c2
[
1560
],
_mm_xor_si128
(
c2
[
295
],
_mm_xor_si128
(
c2
[
157
],
_mm_xor_si128
(
c2
[
1138
],
_mm_xor_si128
(
c2
[
2134
],
_mm_xor_si128
(
c2
[
729
],
_mm_xor_si128
(
c2
[
869
],
_mm_xor_si128
(
c2
[
1993
],
_mm_xor_si128
(
c2
[
728
],
_mm_xor_si128
(
c2
[
1864
],
_mm_xor_si128
(
c2
[
466
],
_mm_xor_si128
(
c2
[
606
],
_mm_xor_si128
(
c2
[
603
],
_mm_xor_si128
(
c2
[
1584
],
_mm_xor_si128
(
c2
[
883
],
_mm_xor_si128
(
c2
[
1864
],
_mm_xor_si128
(
c2
[
1601
],
_mm_xor_si128
(
c2
[
336
],
_mm_xor_si128
(
c2
[
1039
],
_mm_xor_si128
(
c2
[
2020
],
_mm_xor_si128
(
c2
[
1736
],
_mm_xor_si128
(
c2
[
478
],
_mm_xor_si128
(
c2
[
631
],
_mm_xor_si128
(
c2
[
1612
],
_mm_xor_si128
(
c2
[
636
],
_mm_xor_si128
(
c2
[
1610
],
_mm_xor_si128
(
c2
[
1068
],
_mm_xor_si128
(
c2
[
1909
],
_mm_xor_si128
(
c2
[
2049
],
_mm_xor_si128
(
c2
[
1629
],
_mm_xor_si128
(
c2
[
364
],
_mm_xor_si128
(
c2
[
650
],
_mm_xor_si128
(
c2
[
1624
],
_mm_xor_si128
(
c2
[
102
],
_mm_xor_si128
(
c2
[
1083
],
_mm_xor_si128
(
c2
[
943
],
_mm_xor_si128
(
c2
[
1924
],
_mm_xor_si128
(
c2
[
812
],
_mm_xor_si128
(
c2
[
1793
],
_mm_xor_si128
(
c2
[
536
],
_mm_xor_si128
(
c2
[
1517
],
_mm_xor_si128
(
c2
[
673
],
_mm_xor_si128
(
c2
[
1654
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
966
],
_mm_xor_si128
(
c2
[
1106
],
_mm_xor_si128
(
c2
[
1106
],
_mm_xor_si128
(
c2
[
2087
],
_mm_xor_si128
(
c2
[
1952
],
c2
[
687
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
112
]
=
_mm_xor_si128
(
c2
[
1965
],
_mm_xor_si128
(
c2
[
2105
],
_mm_xor_si128
(
c2
[
1263
],
_mm_xor_si128
(
c2
[
1403
],
_mm_xor_si128
(
c2
[
1684
],
_mm_xor_si128
(
c2
[
842
],
_mm_xor_si128
(
c2
[
982
],
_mm_xor_si128
(
c2
[
2103
],
_mm_xor_si128
(
c2
[
1401
],
_mm_xor_si128
(
c2
[
575
],
_mm_xor_si128
(
c2
[
715
],
_mm_xor_si128
(
c2
[
2119
],
_mm_xor_si128
(
c2
[
20
],
_mm_xor_si128
(
c2
[
1416
],
_mm_xor_si128
(
c2
[
714
],
_mm_xor_si128
(
c2
[
20
],
_mm_xor_si128
(
c2
[
1557
],
_mm_xor_si128
(
c2
[
1558
],
_mm_xor_si128
(
c2
[
1850
],
_mm_xor_si128
(
c2
[
1990
],
_mm_xor_si128
(
c2
[
1148
],
_mm_xor_si128
(
c2
[
1288
],
_mm_xor_si128
(
c2
[
1849
],
_mm_xor_si128
(
c2
[
1154
],
_mm_xor_si128
(
c2
[
1587
],
_mm_xor_si128
(
c2
[
1727
],
_mm_xor_si128
(
c2
[
885
],
_mm_xor_si128
(
c2
[
1025
],
_mm_xor_si128
(
c2
[
466
],
_mm_xor_si128
(
c2
[
1863
],
_mm_xor_si128
(
c2
[
2003
],
_mm_xor_si128
(
c2
[
746
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
1457
],
_mm_xor_si128
(
c2
[
622
],
_mm_xor_si128
(
c2
[
762
],
_mm_xor_si128
(
c2
[
902
],
_mm_xor_si128
(
c2
[
200
],
_mm_xor_si128
(
c2
[
1599
],
_mm_xor_si128
(
c2
[
897
],
_mm_xor_si128
(
c2
[
494
],
_mm_xor_si128
(
c2
[
1891
],
_mm_xor_si128
(
c2
[
2031
],
_mm_xor_si128
(
c2
[
492
],
_mm_xor_si128
(
c2
[
2036
],
_mm_xor_si128
(
c2
[
784
],
_mm_xor_si128
(
c2
[
924
],
_mm_xor_si128
(
c2
[
89
],
_mm_xor_si128
(
c2
[
229
],
_mm_xor_si128
(
c2
[
1485
],
_mm_xor_si128
(
c2
[
650
],
_mm_xor_si128
(
c2
[
790
],
_mm_xor_si128
(
c2
[
506
],
_mm_xor_si128
(
c2
[
2050
],
_mm_xor_si128
(
c2
[
2204
],
_mm_xor_si128
(
c2
[
1362
],
_mm_xor_si128
(
c2
[
1502
],
_mm_xor_si128
(
c2
[
799
],
_mm_xor_si128
(
c2
[
104
],
_mm_xor_si128
(
c2
[
675
],
_mm_xor_si128
(
c2
[
2072
],
_mm_xor_si128
(
c2
[
2212
],
_mm_xor_si128
(
c2
[
392
],
_mm_xor_si128
(
c2
[
1936
],
_mm_xor_si128
(
c2
[
536
],
_mm_xor_si128
(
c2
[
2073
],
_mm_xor_si128
(
c2
[
2087
],
_mm_xor_si128
(
c2
[
2227
],
_mm_xor_si128
(
c2
[
1392
],
_mm_xor_si128
(
c2
[
1532
],
_mm_xor_si128
(
c2
[
969
],
_mm_xor_si128
(
c2
[
127
],
_mm_xor_si128
(
c2
[
267
],
_mm_xor_si128
(
c2
[
1808
],
_mm_xor_si128
(
c2
[
1106
],
c2
[
2088
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
119
]
=
_mm_xor_si128
(
c2
[
843
],
_mm_xor_si128
(
c2
[
983
],
_mm_xor_si128
(
c2
[
1404
],
_mm_xor_si128
(
c2
[
1544
],
_mm_xor_si128
(
c2
[
562
],
_mm_xor_si128
(
c2
[
983
],
_mm_xor_si128
(
c2
[
1123
],
_mm_xor_si128
(
c2
[
981
],
_mm_xor_si128
(
c2
[
1542
],
_mm_xor_si128
(
c2
[
1699
],
_mm_xor_si128
(
c2
[
1839
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
294
],
_mm_xor_si128
(
c2
[
855
],
_mm_xor_si128
(
c2
[
1137
],
_mm_xor_si128
(
c2
[
1698
],
_mm_xor_si128
(
c2
[
17
],
_mm_xor_si128
(
c2
[
728
],
_mm_xor_si128
(
c2
[
868
],
_mm_xor_si128
(
c2
[
1289
],
_mm_xor_si128
(
c2
[
1429
],
_mm_xor_si128
(
c2
[
734
],
_mm_xor_si128
(
c2
[
1288
],
_mm_xor_si128
(
c2
[
465
],
_mm_xor_si128
(
c2
[
605
],
_mm_xor_si128
(
c2
[
1026
],
_mm_xor_si128
(
c2
[
1166
],
_mm_xor_si128
(
c2
[
1583
],
_mm_xor_si128
(
c2
[
2004
],
_mm_xor_si128
(
c2
[
2144
],
_mm_xor_si128
(
c2
[
1863
],
_mm_xor_si128
(
c2
[
185
],
_mm_xor_si128
(
c2
[
342
],
_mm_xor_si128
(
c2
[
756
],
_mm_xor_si128
(
c2
[
896
],
_mm_xor_si128
(
c2
[
2019
],
_mm_xor_si128
(
c2
[
341
],
_mm_xor_si128
(
c2
[
477
],
_mm_xor_si128
(
c2
[
1038
],
_mm_xor_si128
(
c2
[
1611
],
_mm_xor_si128
(
c2
[
2032
],
_mm_xor_si128
(
c2
[
2172
],
_mm_xor_si128
(
c2
[
1616
],
_mm_xor_si128
(
c2
[
2170
],
_mm_xor_si128
(
c2
[
631
],
_mm_xor_si128
(
c2
[
1908
],
_mm_xor_si128
(
c2
[
2048
],
_mm_xor_si128
(
c2
[
230
],
_mm_xor_si128
(
c2
[
370
],
_mm_xor_si128
(
c2
[
370
],
_mm_xor_si128
(
c2
[
784
],
_mm_xor_si128
(
c2
[
924
],
_mm_xor_si128
(
c2
[
1630
],
_mm_xor_si128
(
c2
[
2184
],
_mm_xor_si128
(
c2
[
1082
],
_mm_xor_si128
(
c2
[
1503
],
_mm_xor_si128
(
c2
[
1643
],
_mm_xor_si128
(
c2
[
1923
],
_mm_xor_si128
(
c2
[
238
],
_mm_xor_si128
(
c2
[
1792
],
_mm_xor_si128
(
c2
[
2213
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
1516
],
_mm_xor_si128
(
c2
[
2077
],
_mm_xor_si128
(
c2
[
1653
],
_mm_xor_si128
(
c2
[
2214
],
_mm_xor_si128
(
c2
[
972
],
_mm_xor_si128
(
c2
[
1112
],
_mm_xor_si128
(
c2
[
1526
],
_mm_xor_si128
(
c2
[
1666
],
_mm_xor_si128
(
c2
[
2086
],
_mm_xor_si128
(
c2
[
268
],
_mm_xor_si128
(
c2
[
408
],
_mm_xor_si128
(
c2
[
686
],
c2
[
1247
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
126
]
=
_mm_xor_si128
(
c2
[
564
],
_mm_xor_si128
(
c2
[
85
],
c2
[
1780
]));
//row: 19
d2
[
133
]
=
_mm_xor_si128
(
c2
[
1962
],
_mm_xor_si128
(
c2
[
1541
],
_mm_xor_si128
(
c2
[
1960
],
_mm_xor_si128
(
c2
[
422
],
_mm_xor_si128
(
c2
[
579
],
_mm_xor_si128
(
c2
[
1280
],
_mm_xor_si128
(
c2
[
2116
],
_mm_xor_si128
(
c2
[
1415
],
_mm_xor_si128
(
c2
[
1854
],
_mm_xor_si128
(
c2
[
1713
],
_mm_xor_si128
(
c2
[
1584
],
_mm_xor_si128
(
c2
[
323
],
_mm_xor_si128
(
c2
[
603
],
_mm_xor_si128
(
c2
[
1321
],
_mm_xor_si128
(
c2
[
759
],
_mm_xor_si128
(
c2
[
1456
],
_mm_xor_si128
(
c2
[
351
],
_mm_xor_si128
(
c2
[
356
],
_mm_xor_si128
(
c2
[
788
],
_mm_xor_si128
(
c2
[
1349
],
_mm_xor_si128
(
c2
[
370
],
_mm_xor_si128
(
c2
[
2061
],
_mm_xor_si128
(
c2
[
663
],
_mm_xor_si128
(
c2
[
532
],
_mm_xor_si128
(
c2
[
256
],
_mm_xor_si128
(
c2
[
393
],
_mm_xor_si128
(
c2
[
2091
],
_mm_xor_si128
(
c2
[
826
],
c2
[
1672
]))))))))))))))))))))))))))));
//row: 20
d2
[
140
]
=
_mm_xor_si128
(
c2
[
706
],
_mm_xor_si128
(
c2
[
846
],
_mm_xor_si128
(
c2
[
425
],
_mm_xor_si128
(
c2
[
844
],
_mm_xor_si128
(
c2
[
1555
],
_mm_xor_si128
(
c2
[
1695
],
_mm_xor_si128
(
c2
[
157
],
_mm_xor_si128
(
c2
[
1000
],
_mm_xor_si128
(
c2
[
854
],
_mm_xor_si128
(
c2
[
591
],
_mm_xor_si128
(
c2
[
731
],
_mm_xor_si128
(
c2
[
590
],
_mm_xor_si128
(
c2
[
328
],
_mm_xor_si128
(
c2
[
468
],
_mm_xor_si128
(
c2
[
1446
],
_mm_xor_si128
(
c2
[
1726
],
_mm_xor_si128
(
c2
[
198
],
_mm_xor_si128
(
c2
[
1882
],
_mm_xor_si128
(
c2
[
340
],
_mm_xor_si128
(
c2
[
617
],
_mm_xor_si128
(
c2
[
1474
],
_mm_xor_si128
(
c2
[
1472
],
_mm_xor_si128
(
c2
[
1764
],
_mm_xor_si128
(
c2
[
1904
],
_mm_xor_si128
(
c2
[
226
],
_mm_xor_si128
(
c2
[
1486
],
_mm_xor_si128
(
c2
[
938
],
_mm_xor_si128
(
c2
[
1779
],
_mm_xor_si128
(
c2
[
1655
],
_mm_xor_si128
(
c2
[
1372
],
_mm_xor_si128
(
c2
[
1516
],
_mm_xor_si128
(
c2
[
828
],
_mm_xor_si128
(
c2
[
968
],
_mm_xor_si128
(
c2
[
1949
],
c2
[
549
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
147
]
=
_mm_xor_si128
(
c2
[
1402
],
_mm_xor_si128
(
c2
[
981
],
_mm_xor_si128
(
c2
[
1400
],
_mm_xor_si128
(
c2
[
5
],
_mm_xor_si128
(
c2
[
19
],
_mm_xor_si128
(
c2
[
720
],
_mm_xor_si128
(
c2
[
1416
],
_mm_xor_si128
(
c2
[
1556
],
_mm_xor_si128
(
c2
[
1294
],
_mm_xor_si128
(
c2
[
1013
],
_mm_xor_si128
(
c2
[
1153
],
_mm_xor_si128
(
c2
[
1024
],
_mm_xor_si128
(
c2
[
2002
],
_mm_xor_si128
(
c2
[
43
],
_mm_xor_si128
(
c2
[
761
],
_mm_xor_si128
(
c2
[
199
],
_mm_xor_si128
(
c2
[
756
],
_mm_xor_si128
(
c2
[
896
],
_mm_xor_si128
(
c2
[
2030
],
_mm_xor_si128
(
c2
[
1895
],
_mm_xor_si128
(
c2
[
2035
],
_mm_xor_si128
(
c2
[
228
],
_mm_xor_si128
(
c2
[
789
],
_mm_xor_si128
(
c2
[
1909
],
_mm_xor_si128
(
c2
[
2049
],
_mm_xor_si128
(
c2
[
1501
],
_mm_xor_si128
(
c2
[
2202
],
_mm_xor_si128
(
c2
[
103
],
_mm_xor_si128
(
c2
[
2218
],
_mm_xor_si128
(
c2
[
1935
],
_mm_xor_si128
(
c2
[
1932
],
_mm_xor_si128
(
c2
[
2072
],
_mm_xor_si128
(
c2
[
1654
],
_mm_xor_si128
(
c2
[
1531
],
_mm_xor_si128
(
c2
[
266
],
_mm_xor_si128
(
c2
[
972
],
c2
[
1112
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
154
]
=
_mm_xor_si128
(
c2
[
157
],
c2
[
168
]);
//row: 23
d2
[
161
]
=
_mm_xor_si128
(
c2
[
1682
],
_mm_xor_si128
(
c2
[
885
],
c2
[
911
]));
//row: 24
d2
[
168
]
=
_mm_xor_si128
(
c2
[
1276
],
_mm_xor_si128
(
c2
[
1153
],
c2
[
2229
]));
//row: 25
d2
[
175
]
=
_mm_xor_si128
(
c2
[
426
],
c2
[
2035
]);
//row: 26
d2
[
182
]
=
_mm_xor_si128
(
c2
[
704
],
_mm_xor_si128
(
c2
[
844
],
_mm_xor_si128
(
c2
[
2104
],
_mm_xor_si128
(
c2
[
283
],
_mm_xor_si128
(
c2
[
423
],
_mm_xor_si128
(
c2
[
1683
],
_mm_xor_si128
(
c2
[
842
],
_mm_xor_si128
(
c2
[
2102
],
_mm_xor_si128
(
c2
[
1560
],
_mm_xor_si128
(
c2
[
1700
],
_mm_xor_si128
(
c2
[
714
],
_mm_xor_si128
(
c2
[
155
],
_mm_xor_si128
(
c2
[
1415
],
_mm_xor_si128
(
c2
[
998
],
_mm_xor_si128
(
c2
[
2118
],
_mm_xor_si128
(
c2
[
19
],
_mm_xor_si128
(
c2
[
589
],
_mm_xor_si128
(
c2
[
729
],
_mm_xor_si128
(
c2
[
1989
],
_mm_xor_si128
(
c2
[
588
],
_mm_xor_si128
(
c2
[
1708
],
_mm_xor_si128
(
c2
[
1848
],
_mm_xor_si128
(
c2
[
1433
],
_mm_xor_si128
(
c2
[
326
],
_mm_xor_si128
(
c2
[
466
],
_mm_xor_si128
(
c2
[
1726
],
_mm_xor_si128
(
c2
[
1304
],
_mm_xor_si128
(
c2
[
1444
],
_mm_xor_si128
(
c2
[
465
],
_mm_xor_si128
(
c2
[
1724
],
_mm_xor_si128
(
c2
[
745
],
_mm_xor_si128
(
c2
[
56
],
_mm_xor_si128
(
c2
[
196
],
_mm_xor_si128
(
c2
[
1456
],
_mm_xor_si128
(
c2
[
1880
],
_mm_xor_si128
(
c2
[
901
],
_mm_xor_si128
(
c2
[
338
],
_mm_xor_si128
(
c2
[
1458
],
_mm_xor_si128
(
c2
[
1598
],
_mm_xor_si128
(
c2
[
1332
],
_mm_xor_si128
(
c2
[
1472
],
_mm_xor_si128
(
c2
[
493
],
_mm_xor_si128
(
c2
[
1470
],
_mm_xor_si128
(
c2
[
351
],
_mm_xor_si128
(
c2
[
491
],
_mm_xor_si128
(
c2
[
1769
],
_mm_xor_si128
(
c2
[
1909
],
_mm_xor_si128
(
c2
[
930
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
224
],
_mm_xor_si128
(
c2
[
1484
],
_mm_xor_si128
(
c2
[
1484
],
_mm_xor_si128
(
c2
[
365
],
_mm_xor_si128
(
c2
[
505
],
_mm_xor_si128
(
c2
[
803
],
_mm_xor_si128
(
c2
[
943
],
_mm_xor_si128
(
c2
[
2203
],
_mm_xor_si128
(
c2
[
1784
],
_mm_xor_si128
(
c2
[
658
],
_mm_xor_si128
(
c2
[
798
],
_mm_xor_si128
(
c2
[
938
],
_mm_xor_si128
(
c2
[
1513
],
_mm_xor_si128
(
c2
[
1653
],
_mm_xor_si128
(
c2
[
674
],
_mm_xor_si128
(
c2
[
1377
],
_mm_xor_si128
(
c2
[
398
],
_mm_xor_si128
(
c2
[
1514
],
_mm_xor_si128
(
c2
[
395
],
_mm_xor_si128
(
c2
[
535
],
_mm_xor_si128
(
c2
[
826
],
_mm_xor_si128
(
c2
[
966
],
_mm_xor_si128
(
c2
[
2226
],
_mm_xor_si128
(
c2
[
1807
],
_mm_xor_si128
(
c2
[
1947
],
_mm_xor_si128
(
c2
[
968
],
_mm_xor_si128
(
c2
[
547
],
_mm_xor_si128
(
c2
[
1667
],
c2
[
1807
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
189
]
=
_mm_xor_si128
(
c2
[
1541
],
c2
[
924
]);
//row: 28
d2
[
196
]
=
_mm_xor_si128
(
c2
[
1140
],
_mm_xor_si128
(
c2
[
594
],
c2
[
215
]));
//row: 29
d2
[
203
]
=
_mm_xor_si128
(
c2
[
1686
],
c2
[
1879
]);
//row: 30
d2
[
210
]
=
_mm_xor_si128
(
c2
[
1434
],
_mm_xor_si128
(
c2
[
1752
],
_mm_xor_si128
(
c2
[
1362
],
c2
[
130
])));
//row: 31
d2
[
217
]
=
_mm_xor_si128
(
c2
[
2101
],
_mm_xor_si128
(
c2
[
1680
],
_mm_xor_si128
(
c2
[
2106
],
_mm_xor_si128
(
c2
[
718
],
_mm_xor_si128
(
c2
[
1419
],
_mm_xor_si128
(
c2
[
2115
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
436
],
_mm_xor_si128
(
c2
[
1993
],
_mm_xor_si128
(
c2
[
1712
],
_mm_xor_si128
(
c2
[
1852
],
_mm_xor_si128
(
c2
[
1723
],
_mm_xor_si128
(
c2
[
462
],
_mm_xor_si128
(
c2
[
742
],
_mm_xor_si128
(
c2
[
1460
],
_mm_xor_si128
(
c2
[
898
],
_mm_xor_si128
(
c2
[
1462
],
_mm_xor_si128
(
c2
[
1602
],
_mm_xor_si128
(
c2
[
490
],
_mm_xor_si128
(
c2
[
355
],
_mm_xor_si128
(
c2
[
495
],
_mm_xor_si128
(
c2
[
927
],
_mm_xor_si128
(
c2
[
1488
],
_mm_xor_si128
(
c2
[
369
],
_mm_xor_si128
(
c2
[
509
],
_mm_xor_si128
(
c2
[
2200
],
_mm_xor_si128
(
c2
[
662
],
_mm_xor_si128
(
c2
[
802
],
_mm_xor_si128
(
c2
[
678
],
_mm_xor_si128
(
c2
[
395
],
_mm_xor_si128
(
c2
[
392
],
_mm_xor_si128
(
c2
[
532
],
_mm_xor_si128
(
c2
[
2230
],
_mm_xor_si128
(
c2
[
972
],
_mm_xor_si128
(
c2
[
1671
],
c2
[
1811
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
224
]
=
_mm_xor_si128
(
c2
[
844
],
_mm_xor_si128
(
c2
[
984
],
_mm_xor_si128
(
c2
[
423
],
_mm_xor_si128
(
c2
[
563
],
_mm_xor_si128
(
c2
[
982
],
_mm_xor_si128
(
c2
[
1686
],
_mm_xor_si128
(
c2
[
1700
],
_mm_xor_si128
(
c2
[
1840
],
_mm_xor_si128
(
c2
[
295
],
_mm_xor_si128
(
c2
[
1138
],
_mm_xor_si128
(
c2
[
729
],
_mm_xor_si128
(
c2
[
869
],
_mm_xor_si128
(
c2
[
728
],
_mm_xor_si128
(
c2
[
466
],
_mm_xor_si128
(
c2
[
606
],
_mm_xor_si128
(
c2
[
1444
],
_mm_xor_si128
(
c2
[
1584
],
_mm_xor_si128
(
c2
[
1864
],
_mm_xor_si128
(
c2
[
196
],
_mm_xor_si128
(
c2
[
336
],
_mm_xor_si128
(
c2
[
2020
],
_mm_xor_si128
(
c2
[
478
],
_mm_xor_si128
(
c2
[
1472
],
_mm_xor_si128
(
c2
[
1612
],
_mm_xor_si128
(
c2
[
1610
],
_mm_xor_si128
(
c2
[
771
],
_mm_xor_si128
(
c2
[
1909
],
_mm_xor_si128
(
c2
[
2049
],
_mm_xor_si128
(
c2
[
224
],
_mm_xor_si128
(
c2
[
364
],
_mm_xor_si128
(
c2
[
1624
],
_mm_xor_si128
(
c2
[
943
],
_mm_xor_si128
(
c2
[
1083
],
_mm_xor_si128
(
c2
[
1924
],
_mm_xor_si128
(
c2
[
1653
],
_mm_xor_si128
(
c2
[
1793
],
_mm_xor_si128
(
c2
[
1517
],
_mm_xor_si128
(
c2
[
1654
],
_mm_xor_si128
(
c2
[
966
],
_mm_xor_si128
(
c2
[
1106
],
_mm_xor_si128
(
c2
[
1947
],
_mm_xor_si128
(
c2
[
2087
],
c2
[
687
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
231
]
=
_mm_xor_si128
(
c2
[
704
],
_mm_xor_si128
(
c2
[
283
],
_mm_xor_si128
(
c2
[
702
],
_mm_xor_si128
(
c2
[
1560
],
_mm_xor_si128
(
c2
[
15
],
_mm_xor_si128
(
c2
[
858
],
_mm_xor_si128
(
c2
[
589
],
_mm_xor_si128
(
c2
[
448
],
_mm_xor_si128
(
c2
[
1012
],
_mm_xor_si128
(
c2
[
326
],
_mm_xor_si128
(
c2
[
1304
],
_mm_xor_si128
(
c2
[
1584
],
_mm_xor_si128
(
c2
[
56
],
_mm_xor_si128
(
c2
[
1740
],
_mm_xor_si128
(
c2
[
198
],
_mm_xor_si128
(
c2
[
1332
],
_mm_xor_si128
(
c2
[
1330
],
_mm_xor_si128
(
c2
[
1769
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
1344
],
_mm_xor_si128
(
c2
[
803
],
_mm_xor_si128
(
c2
[
1644
],
_mm_xor_si128
(
c2
[
1778
],
_mm_xor_si128
(
c2
[
1513
],
_mm_xor_si128
(
c2
[
1237
],
_mm_xor_si128
(
c2
[
1374
],
_mm_xor_si128
(
c2
[
826
],
_mm_xor_si128
(
c2
[
1807
],
c2
[
407
]))))))))))))))))))))))))))));
//row: 34
d2
[
238
]
=
_mm_xor_si128
(
c2
[
143
],
_mm_xor_si128
(
c2
[
283
],
_mm_xor_si128
(
c2
[
1961
],
_mm_xor_si128
(
c2
[
1961
],
_mm_xor_si128
(
c2
[
2101
],
_mm_xor_si128
(
c2
[
1540
],
_mm_xor_si128
(
c2
[
281
],
_mm_xor_si128
(
c2
[
1966
],
_mm_xor_si128
(
c2
[
1821
],
_mm_xor_si128
(
c2
[
999
],
_mm_xor_si128
(
c2
[
1139
],
_mm_xor_si128
(
c2
[
578
],
_mm_xor_si128
(
c2
[
1840
],
_mm_xor_si128
(
c2
[
1279
],
_mm_xor_si128
(
c2
[
437
],
_mm_xor_si128
(
c2
[
1975
],
_mm_xor_si128
(
c2
[
2115
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
1853
],
_mm_xor_si128
(
c2
[
34
],
_mm_xor_si128
(
c2
[
1572
],
_mm_xor_si128
(
c2
[
1712
],
_mm_xor_si128
(
c2
[
2004
],
_mm_xor_si128
(
c2
[
2144
],
_mm_xor_si128
(
c2
[
1583
],
_mm_xor_si128
(
c2
[
743
],
_mm_xor_si128
(
c2
[
883
],
_mm_xor_si128
(
c2
[
322
],
_mm_xor_si128
(
c2
[
1163
],
_mm_xor_si128
(
c2
[
602
],
_mm_xor_si128
(
c2
[
1741
],
_mm_xor_si128
(
c2
[
1881
],
_mm_xor_si128
(
c2
[
1320
],
_mm_xor_si128
(
c2
[
1319
],
_mm_xor_si128
(
c2
[
758
],
_mm_xor_si128
(
c2
[
2016
],
_mm_xor_si128
(
c2
[
1322
],
_mm_xor_si128
(
c2
[
1462
],
_mm_xor_si128
(
c2
[
771
],
_mm_xor_si128
(
c2
[
911
],
_mm_xor_si128
(
c2
[
350
],
_mm_xor_si128
(
c2
[
916
],
_mm_xor_si128
(
c2
[
215
],
_mm_xor_si128
(
c2
[
355
],
_mm_xor_si128
(
c2
[
1208
],
_mm_xor_si128
(
c2
[
1348
],
_mm_xor_si128
(
c2
[
787
],
_mm_xor_si128
(
c2
[
1769
],
_mm_xor_si128
(
c2
[
1909
],
_mm_xor_si128
(
c2
[
1348
],
_mm_xor_si128
(
c2
[
930
],
_mm_xor_si128
(
c2
[
229
],
_mm_xor_si128
(
c2
[
369
],
_mm_xor_si128
(
c2
[
242
],
_mm_xor_si128
(
c2
[
382
],
_mm_xor_si128
(
c2
[
2060
],
_mm_xor_si128
(
c2
[
1223
],
_mm_xor_si128
(
c2
[
522
],
_mm_xor_si128
(
c2
[
662
],
_mm_xor_si128
(
c2
[
952
],
_mm_xor_si128
(
c2
[
1092
],
_mm_xor_si128
(
c2
[
538
],
_mm_xor_si128
(
c2
[
816
],
_mm_xor_si128
(
c2
[
255
],
_mm_xor_si128
(
c2
[
953
],
_mm_xor_si128
(
c2
[
252
],
_mm_xor_si128
(
c2
[
392
],
_mm_xor_si128
(
c2
[
272
],
_mm_xor_si128
(
c2
[
412
],
_mm_xor_si128
(
c2
[
2090
],
_mm_xor_si128
(
c2
[
1246
],
_mm_xor_si128
(
c2
[
1386
],
_mm_xor_si128
(
c2
[
832
],
_mm_xor_si128
(
c2
[
2232
],
_mm_xor_si128
(
c2
[
1531
],
c2
[
1671
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
245
]
=
_mm_xor_si128
(
c2
[
2100
],
_mm_xor_si128
(
c2
[
1
],
_mm_xor_si128
(
c2
[
1826
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
717
],
_mm_xor_si128
(
c2
[
857
],
_mm_xor_si128
(
c2
[
1558
],
_mm_xor_si128
(
c2
[
155
],
_mm_xor_si128
(
c2
[
1559
],
_mm_xor_si128
(
c2
[
1992
],
_mm_xor_si128
(
c2
[
2132
],
_mm_xor_si128
(
c2
[
1991
],
_mm_xor_si128
(
c2
[
1722
],
_mm_xor_si128
(
c2
[
1862
],
_mm_xor_si128
(
c2
[
608
],
_mm_xor_si128
(
c2
[
888
],
_mm_xor_si128
(
c2
[
1599
],
_mm_xor_si128
(
c2
[
1037
],
_mm_xor_si128
(
c2
[
1741
],
_mm_xor_si128
(
c2
[
636
],
_mm_xor_si128
(
c2
[
634
],
_mm_xor_si128
(
c2
[
773
],
_mm_xor_si128
(
c2
[
926
],
_mm_xor_si128
(
c2
[
1066
],
_mm_xor_si128
(
c2
[
1627
],
_mm_xor_si128
(
c2
[
648
],
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
941
],
_mm_xor_si128
(
c2
[
817
],
_mm_xor_si128
(
c2
[
534
],
_mm_xor_si128
(
c2
[
678
],
_mm_xor_si128
(
c2
[
2229
],
_mm_xor_si128
(
c2
[
130
],
_mm_xor_si128
(
c2
[
1111
],
c2
[
1950
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
252
]
=
_mm_xor_si128
(
c2
[
140
],
_mm_xor_si128
(
c2
[
2131
],
c2
[
523
]));
//row: 37
d2
[
259
]
=
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
705
],
_mm_xor_si128
(
c2
[
1825
],
_mm_xor_si128
(
c2
[
284
],
_mm_xor_si128
(
c2
[
5
],
_mm_xor_si128
(
c2
[
703
],
_mm_xor_si128
(
c2
[
856
],
_mm_xor_si128
(
c2
[
1554
],
_mm_xor_si128
(
c2
[
1557
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
719
],
_mm_xor_si128
(
c2
[
859
],
_mm_xor_si128
(
c2
[
2131
],
_mm_xor_si128
(
c2
[
590
],
_mm_xor_si128
(
c2
[
1990
],
_mm_xor_si128
(
c2
[
309
],
_mm_xor_si128
(
c2
[
449
],
_mm_xor_si128
(
c2
[
1868
],
_mm_xor_si128
(
c2
[
327
],
_mm_xor_si128
(
c2
[
607
],
_mm_xor_si128
(
c2
[
1305
],
_mm_xor_si128
(
c2
[
887
],
_mm_xor_si128
(
c2
[
1585
],
_mm_xor_si128
(
c2
[
1598
],
_mm_xor_si128
(
c2
[
57
],
_mm_xor_si128
(
c2
[
1036
],
_mm_xor_si128
(
c2
[
1741
],
_mm_xor_si128
(
c2
[
1740
],
_mm_xor_si128
(
c2
[
59
],
_mm_xor_si128
(
c2
[
199
],
_mm_xor_si128
(
c2
[
635
],
_mm_xor_si128
(
c2
[
1333
],
_mm_xor_si128
(
c2
[
633
],
_mm_xor_si128
(
c2
[
1191
],
_mm_xor_si128
(
c2
[
1331
],
_mm_xor_si128
(
c2
[
1065
],
_mm_xor_si128
(
c2
[
1770
],
_mm_xor_si128
(
c2
[
1626
],
_mm_xor_si128
(
c2
[
85
],
_mm_xor_si128
(
c2
[
647
],
_mm_xor_si128
(
c2
[
1205
],
_mm_xor_si128
(
c2
[
1345
],
_mm_xor_si128
(
c2
[
99
],
_mm_xor_si128
(
c2
[
804
],
_mm_xor_si128
(
c2
[
940
],
_mm_xor_si128
(
c2
[
1498
],
_mm_xor_si128
(
c2
[
1638
],
_mm_xor_si128
(
c2
[
816
],
_mm_xor_si128
(
c2
[
1514
],
_mm_xor_si128
(
c2
[
533
],
_mm_xor_si128
(
c2
[
1238
],
_mm_xor_si128
(
c2
[
677
],
_mm_xor_si128
(
c2
[
1235
],
_mm_xor_si128
(
c2
[
1375
],
_mm_xor_si128
(
c2
[
129
],
_mm_xor_si128
(
c2
[
827
],
_mm_xor_si128
(
c2
[
1110
],
_mm_xor_si128
(
c2
[
1808
],
_mm_xor_si128
(
c2
[
1949
],
_mm_xor_si128
(
c2
[
268
],
c2
[
408
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
266
]
=
_mm_xor_si128
(
c2
[
840
],
_mm_xor_si128
(
c2
[
980
],
_mm_xor_si128
(
c2
[
566
],
_mm_xor_si128
(
c2
[
985
],
_mm_xor_si128
(
c2
[
1696
],
_mm_xor_si128
(
c2
[
1836
],
_mm_xor_si128
(
c2
[
298
],
_mm_xor_si128
(
c2
[
1134
],
_mm_xor_si128
(
c2
[
716
],
_mm_xor_si128
(
c2
[
732
],
_mm_xor_si128
(
c2
[
872
],
_mm_xor_si128
(
c2
[
731
],
_mm_xor_si128
(
c2
[
462
],
_mm_xor_si128
(
c2
[
602
],
_mm_xor_si128
(
c2
[
1587
],
_mm_xor_si128
(
c2
[
1867
],
_mm_xor_si128
(
c2
[
339
],
_mm_xor_si128
(
c2
[
2016
],
_mm_xor_si128
(
c2
[
481
],
_mm_xor_si128
(
c2
[
1615
],
_mm_xor_si128
(
c2
[
1613
],
_mm_xor_si128
(
c2
[
216
],
_mm_xor_si128
(
c2
[
1905
],
_mm_xor_si128
(
c2
[
2045
],
_mm_xor_si128
(
c2
[
367
],
_mm_xor_si128
(
c2
[
1627
],
_mm_xor_si128
(
c2
[
1079
],
_mm_xor_si128
(
c2
[
1920
],
_mm_xor_si128
(
c2
[
1796
],
_mm_xor_si128
(
c2
[
1513
],
_mm_xor_si128
(
c2
[
1657
],
_mm_xor_si128
(
c2
[
969
],
_mm_xor_si128
(
c2
[
1109
],
_mm_xor_si128
(
c2
[
2090
],
c2
[
690
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
273
]
=
_mm_xor_si128
(
c2
[
280
],
_mm_xor_si128
(
c2
[
420
],
_mm_xor_si128
(
c2
[
2105
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
425
],
_mm_xor_si128
(
c2
[
1406
],
_mm_xor_si128
(
c2
[
1136
],
_mm_xor_si128
(
c2
[
1276
],
_mm_xor_si128
(
c2
[
1977
],
_mm_xor_si128
(
c2
[
574
],
_mm_xor_si128
(
c2
[
172
],
_mm_xor_si128
(
c2
[
312
],
_mm_xor_si128
(
c2
[
171
],
_mm_xor_si128
(
c2
[
2148
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
887
],
_mm_xor_si128
(
c2
[
1027
],
_mm_xor_si128
(
c2
[
1307
],
_mm_xor_si128
(
c2
[
1878
],
_mm_xor_si128
(
c2
[
2018
],
_mm_xor_si128
(
c2
[
1456
],
_mm_xor_si128
(
c2
[
2160
],
_mm_xor_si128
(
c2
[
915
],
_mm_xor_si128
(
c2
[
1055
],
_mm_xor_si128
(
c2
[
1053
],
_mm_xor_si128
(
c2
[
1345
],
_mm_xor_si128
(
c2
[
1485
],
_mm_xor_si128
(
c2
[
1906
],
_mm_xor_si128
(
c2
[
2046
],
_mm_xor_si128
(
c2
[
1067
],
_mm_xor_si128
(
c2
[
379
],
_mm_xor_si128
(
c2
[
519
],
_mm_xor_si128
(
c2
[
1360
],
_mm_xor_si128
(
c2
[
802
],
_mm_xor_si128
(
c2
[
1096
],
_mm_xor_si128
(
c2
[
1236
],
_mm_xor_si128
(
c2
[
953
],
_mm_xor_si128
(
c2
[
1097
],
_mm_xor_si128
(
c2
[
409
],
_mm_xor_si128
(
c2
[
549
],
_mm_xor_si128
(
c2
[
1390
],
_mm_xor_si128
(
c2
[
1530
],
c2
[
130
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
280
]
=
_mm_xor_si128
(
c2
[
1546
],
_mm_xor_si128
(
c2
[
1826
],
_mm_xor_si128
(
c2
[
1125
],
_mm_xor_si128
(
c2
[
1405
],
_mm_xor_si128
(
c2
[
1544
],
_mm_xor_si128
(
c2
[
1824
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
436
],
_mm_xor_si128
(
c2
[
857
],
_mm_xor_si128
(
c2
[
1137
],
_mm_xor_si128
(
c2
[
1700
],
_mm_xor_si128
(
c2
[
1840
],
_mm_xor_si128
(
c2
[
1980
],
_mm_xor_si128
(
c2
[
1431
],
_mm_xor_si128
(
c2
[
1711
],
_mm_xor_si128
(
c2
[
1290
],
_mm_xor_si128
(
c2
[
1430
],
_mm_xor_si128
(
c2
[
1570
],
_mm_xor_si128
(
c2
[
314
],
_mm_xor_si128
(
c2
[
1168
],
_mm_xor_si128
(
c2
[
1448
],
_mm_xor_si128
(
c2
[
2146
],
_mm_xor_si128
(
c2
[
187
],
_mm_xor_si128
(
c2
[
187
],
_mm_xor_si128
(
c2
[
467
],
_mm_xor_si128
(
c2
[
898
],
_mm_xor_si128
(
c2
[
1178
],
_mm_xor_si128
(
c2
[
336
],
_mm_xor_si128
(
c2
[
616
],
_mm_xor_si128
(
c2
[
1040
],
_mm_xor_si128
(
c2
[
1180
],
_mm_xor_si128
(
c2
[
1320
],
_mm_xor_si128
(
c2
[
2174
],
_mm_xor_si128
(
c2
[
215
],
_mm_xor_si128
(
c2
[
2172
],
_mm_xor_si128
(
c2
[
73
],
_mm_xor_si128
(
c2
[
213
],
_mm_xor_si128
(
c2
[
365
],
_mm_xor_si128
(
c2
[
645
],
_mm_xor_si128
(
c2
[
926
],
_mm_xor_si128
(
c2
[
1206
],
_mm_xor_si128
(
c2
[
2186
],
_mm_xor_si128
(
c2
[
87
],
_mm_xor_si128
(
c2
[
227
],
_mm_xor_si128
(
c2
[
1638
],
_mm_xor_si128
(
c2
[
1918
],
_mm_xor_si128
(
c2
[
240
],
_mm_xor_si128
(
c2
[
380
],
_mm_xor_si128
(
c2
[
520
],
_mm_xor_si128
(
c2
[
116
],
_mm_xor_si128
(
c2
[
396
],
_mm_xor_si128
(
c2
[
2072
],
_mm_xor_si128
(
c2
[
113
],
_mm_xor_si128
(
c2
[
2216
],
_mm_xor_si128
(
c2
[
117
],
_mm_xor_si128
(
c2
[
257
],
_mm_xor_si128
(
c2
[
1668
],
_mm_xor_si128
(
c2
[
1948
],
_mm_xor_si128
(
c2
[
410
],
_mm_xor_si128
(
c2
[
690
],
_mm_xor_si128
(
c2
[
1249
],
_mm_xor_si128
(
c2
[
1389
],
c2
[
1529
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
287
]
=
_mm_xor_si128
(
c2
[
1262
],
_mm_xor_si128
(
c2
[
1402
],
_mm_xor_si128
(
c2
[
981
],
_mm_xor_si128
(
c2
[
1400
],
_mm_xor_si128
(
c2
[
2118
],
_mm_xor_si128
(
c2
[
19
],
_mm_xor_si128
(
c2
[
720
],
_mm_xor_si128
(
c2
[
1556
],
_mm_xor_si128
(
c2
[
1134
],
_mm_xor_si128
(
c2
[
1154
],
_mm_xor_si128
(
c2
[
1294
],
_mm_xor_si128
(
c2
[
1153
],
_mm_xor_si128
(
c2
[
884
],
_mm_xor_si128
(
c2
[
1024
],
_mm_xor_si128
(
c2
[
2002
],
_mm_xor_si128
(
c2
[
43
],
_mm_xor_si128
(
c2
[
761
],
_mm_xor_si128
(
c2
[
199
],
_mm_xor_si128
(
c2
[
896
],
_mm_xor_si128
(
c2
[
2030
],
_mm_xor_si128
(
c2
[
2035
],
_mm_xor_si128
(
c2
[
776
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
228
],
_mm_xor_si128
(
c2
[
789
],
_mm_xor_si128
(
c2
[
2049
],
_mm_xor_si128
(
c2
[
1501
],
_mm_xor_si128
(
c2
[
103
],
_mm_xor_si128
(
c2
[
2218
],
_mm_xor_si128
(
c2
[
1935
],
_mm_xor_si128
(
c2
[
2072
],
_mm_xor_si128
(
c2
[
1391
],
_mm_xor_si128
(
c2
[
1531
],
_mm_xor_si128
(
c2
[
266
],
c2
[
1112
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc120_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=120, byte encoding
static
inline
void
ldpc_BG2_Zc120_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m64
*
csimd
=
(
__m64
*
)
c
,
*
dsimd
=
(
__m64
*
)
d
;
__m64
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
15
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm_xor_si64
(
c2
[
303
],
_mm_xor_si64
(
c2
[
1802
],
_mm_xor_si64
(
c2
[
609
],
_mm_xor_si64
(
c2
[
931
],
_mm_xor_si64
(
c2
[
2133
],
_mm_xor_si64
(
c2
[
2144
],
_mm_xor_si64
(
c2
[
2168
],
_mm_xor_si64
(
c2
[
966
],
_mm_xor_si64
(
c2
[
1592
],
_mm_xor_si64
(
c2
[
1896
],
_mm_xor_si64
(
c2
[
990
],
_mm_xor_si64
(
c2
[
2227
],
_mm_xor_si64
(
c2
[
1626
],
_mm_xor_si64
(
c2
[
2231
],
_mm_xor_si64
(
c2
[
1053
],
_mm_xor_si64
(
c2
[
1963
],
_mm_xor_si64
(
c2
[
2282
],
_mm_xor_si64
(
c2
[
192
],
_mm_xor_si64
(
c2
[
2284
],
_mm_xor_si64
(
c2
[
2312
],
_mm_xor_si64
(
c2
[
2319
],
_mm_xor_si64
(
c2
[
541
],
_mm_xor_si64
(
c2
[
1144
],
_mm_xor_si64
(
c2
[
1145
],
_mm_xor_si64
(
c2
[
284
],
_mm_xor_si64
(
c2
[
2375
],
c2
[
1179
]))))))))))))))))))))))))));
//row: 1
d2
[
15
]
=
_mm_xor_si64
(
c2
[
303
],
_mm_xor_si64
(
c2
[
603
],
_mm_xor_si64
(
c2
[
2102
],
_mm_xor_si64
(
c2
[
909
],
_mm_xor_si64
(
c2
[
931
],
_mm_xor_si64
(
c2
[
1231
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
2168
],
_mm_xor_si64
(
c2
[
69
],
_mm_xor_si64
(
c2
[
1266
],
_mm_xor_si64
(
c2
[
1592
],
_mm_xor_si64
(
c2
[
1892
],
_mm_xor_si64
(
c2
[
2196
],
_mm_xor_si64
(
c2
[
1290
],
_mm_xor_si64
(
c2
[
128
],
_mm_xor_si64
(
c2
[
1926
],
_mm_xor_si64
(
c2
[
132
],
_mm_xor_si64
(
c2
[
1353
],
_mm_xor_si64
(
c2
[
2263
],
_mm_xor_si64
(
c2
[
2282
],
_mm_xor_si64
(
c2
[
183
],
_mm_xor_si64
(
c2
[
492
],
_mm_xor_si64
(
c2
[
185
],
_mm_xor_si64
(
c2
[
213
],
_mm_xor_si64
(
c2
[
220
],
_mm_xor_si64
(
c2
[
841
],
_mm_xor_si64
(
c2
[
1444
],
_mm_xor_si64
(
c2
[
1445
],
_mm_xor_si64
(
c2
[
284
],
_mm_xor_si64
(
c2
[
584
],
_mm_xor_si64
(
c2
[
276
],
c2
[
1479
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
30
]
=
_mm_xor_si64
(
c2
[
303
],
_mm_xor_si64
(
c2
[
603
],
_mm_xor_si64
(
c2
[
1802
],
_mm_xor_si64
(
c2
[
2102
],
_mm_xor_si64
(
c2
[
909
],
_mm_xor_si64
(
c2
[
931
],
_mm_xor_si64
(
c2
[
1231
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
2168
],
_mm_xor_si64
(
c2
[
69
],
_mm_xor_si64
(
c2
[
1266
],
_mm_xor_si64
(
c2
[
1592
],
_mm_xor_si64
(
c2
[
1892
],
_mm_xor_si64
(
c2
[
1896
],
_mm_xor_si64
(
c2
[
2196
],
_mm_xor_si64
(
c2
[
1290
],
_mm_xor_si64
(
c2
[
2227
],
_mm_xor_si64
(
c2
[
128
],
_mm_xor_si64
(
c2
[
1926
],
_mm_xor_si64
(
c2
[
132
],
_mm_xor_si64
(
c2
[
1053
],
_mm_xor_si64
(
c2
[
1353
],
_mm_xor_si64
(
c2
[
2263
],
_mm_xor_si64
(
c2
[
2282
],
_mm_xor_si64
(
c2
[
183
],
_mm_xor_si64
(
c2
[
192
],
_mm_xor_si64
(
c2
[
492
],
_mm_xor_si64
(
c2
[
185
],
_mm_xor_si64
(
c2
[
2312
],
_mm_xor_si64
(
c2
[
213
],
_mm_xor_si64
(
c2
[
220
],
_mm_xor_si64
(
c2
[
541
],
_mm_xor_si64
(
c2
[
841
],
_mm_xor_si64
(
c2
[
1444
],
_mm_xor_si64
(
c2
[
1445
],
_mm_xor_si64
(
c2
[
284
],
_mm_xor_si64
(
c2
[
584
],
_mm_xor_si64
(
c2
[
2375
],
_mm_xor_si64
(
c2
[
276
],
c2
[
1479
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
45
]
=
_mm_xor_si64
(
c2
[
603
],
_mm_xor_si64
(
c2
[
2102
],
_mm_xor_si64
(
c2
[
909
],
_mm_xor_si64
(
c2
[
1231
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
2144
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
69
],
_mm_xor_si64
(
c2
[
966
],
_mm_xor_si64
(
c2
[
1266
],
_mm_xor_si64
(
c2
[
1892
],
_mm_xor_si64
(
c2
[
2196
],
_mm_xor_si64
(
c2
[
1290
],
_mm_xor_si64
(
c2
[
128
],
_mm_xor_si64
(
c2
[
1926
],
_mm_xor_si64
(
c2
[
2231
],
_mm_xor_si64
(
c2
[
132
],
_mm_xor_si64
(
c2
[
1353
],
_mm_xor_si64
(
c2
[
1963
],
_mm_xor_si64
(
c2
[
2263
],
_mm_xor_si64
(
c2
[
183
],
_mm_xor_si64
(
c2
[
492
],
_mm_xor_si64
(
c2
[
2284
],
_mm_xor_si64
(
c2
[
185
],
_mm_xor_si64
(
c2
[
213
],
_mm_xor_si64
(
c2
[
2319
],
_mm_xor_si64
(
c2
[
220
],
_mm_xor_si64
(
c2
[
841
],
_mm_xor_si64
(
c2
[
1444
],
_mm_xor_si64
(
c2
[
1145
],
_mm_xor_si64
(
c2
[
1445
],
_mm_xor_si64
(
c2
[
584
],
_mm_xor_si64
(
c2
[
276
],
_mm_xor_si64
(
c2
[
1179
],
c2
[
1479
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
60
]
=
_mm_xor_si64
(
c2
[
1510
],
_mm_xor_si64
(
c2
[
1810
],
_mm_xor_si64
(
c2
[
910
],
_mm_xor_si64
(
c2
[
2101
],
_mm_xor_si64
(
c2
[
1503
],
_mm_xor_si64
(
c2
[
2138
],
_mm_xor_si64
(
c2
[
39
],
_mm_xor_si64
(
c2
[
1241
],
_mm_xor_si64
(
c2
[
1237
],
_mm_xor_si64
(
c2
[
1232
],
_mm_xor_si64
(
c2
[
961
],
_mm_xor_si64
(
c2
[
1261
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
400
],
_mm_xor_si64
(
c2
[
700
],
_mm_xor_si64
(
c2
[
1004
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
1320
],
_mm_xor_si64
(
c2
[
734
],
_mm_xor_si64
(
c2
[
1324
],
_mm_xor_si64
(
c2
[
161
],
_mm_xor_si64
(
c2
[
1056
],
_mm_xor_si64
(
c2
[
1090
],
_mm_xor_si64
(
c2
[
1390
],
_mm_xor_si64
(
c2
[
1684
],
_mm_xor_si64
(
c2
[
1392
],
_mm_xor_si64
(
c2
[
1420
],
_mm_xor_si64
(
c2
[
1412
],
_mm_xor_si64
(
c2
[
2048
],
_mm_xor_si64
(
c2
[
252
],
_mm_xor_si64
(
c2
[
253
],
_mm_xor_si64
(
c2
[
1476
],
_mm_xor_si64
(
c2
[
1776
],
_mm_xor_si64
(
c2
[
1483
],
c2
[
272
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
75
]
=
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
314
],
_mm_xor_si64
(
c2
[
1813
],
_mm_xor_si64
(
c2
[
605
],
_mm_xor_si64
(
c2
[
300
],
_mm_xor_si64
(
c2
[
642
],
_mm_xor_si64
(
c2
[
942
],
_mm_xor_si64
(
c2
[
2144
],
_mm_xor_si64
(
c2
[
2140
],
_mm_xor_si64
(
c2
[
335
],
_mm_xor_si64
(
c2
[
1864
],
_mm_xor_si64
(
c2
[
2164
],
_mm_xor_si64
(
c2
[
962
],
_mm_xor_si64
(
c2
[
1303
],
_mm_xor_si64
(
c2
[
1603
],
_mm_xor_si64
(
c2
[
1892
],
_mm_xor_si64
(
c2
[
1001
],
_mm_xor_si64
(
c2
[
2223
],
_mm_xor_si64
(
c2
[
1622
],
_mm_xor_si64
(
c2
[
2227
],
_mm_xor_si64
(
c2
[
1064
],
_mm_xor_si64
(
c2
[
1959
],
_mm_xor_si64
(
c2
[
456
],
_mm_xor_si64
(
c2
[
1993
],
_mm_xor_si64
(
c2
[
2293
],
_mm_xor_si64
(
c2
[
188
],
_mm_xor_si64
(
c2
[
2280
],
_mm_xor_si64
(
c2
[
2323
],
_mm_xor_si64
(
c2
[
2315
],
_mm_xor_si64
(
c2
[
221
],
_mm_xor_si64
(
c2
[
552
],
_mm_xor_si64
(
c2
[
1140
],
_mm_xor_si64
(
c2
[
1141
],
_mm_xor_si64
(
c2
[
2379
],
_mm_xor_si64
(
c2
[
280
],
_mm_xor_si64
(
c2
[
2371
],
c2
[
1175
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
90
]
=
_mm_xor_si64
(
c2
[
310
],
_mm_xor_si64
(
c2
[
610
],
_mm_xor_si64
(
c2
[
2109
],
_mm_xor_si64
(
c2
[
901
],
_mm_xor_si64
(
c2
[
302
],
_mm_xor_si64
(
c2
[
938
],
_mm_xor_si64
(
c2
[
1238
],
_mm_xor_si64
(
c2
[
41
],
_mm_xor_si64
(
c2
[
37
],
_mm_xor_si64
(
c2
[
2160
],
_mm_xor_si64
(
c2
[
61
],
_mm_xor_si64
(
c2
[
1273
],
_mm_xor_si64
(
c2
[
1599
],
_mm_xor_si64
(
c2
[
1899
],
_mm_xor_si64
(
c2
[
2203
],
_mm_xor_si64
(
c2
[
1297
],
_mm_xor_si64
(
c2
[
120
],
_mm_xor_si64
(
c2
[
1933
],
_mm_xor_si64
(
c2
[
124
],
_mm_xor_si64
(
c2
[
1360
],
_mm_xor_si64
(
c2
[
2255
],
_mm_xor_si64
(
c2
[
159
],
_mm_xor_si64
(
c2
[
2289
],
_mm_xor_si64
(
c2
[
190
],
_mm_xor_si64
(
c2
[
484
],
_mm_xor_si64
(
c2
[
192
],
_mm_xor_si64
(
c2
[
220
],
_mm_xor_si64
(
c2
[
212
],
_mm_xor_si64
(
c2
[
1416
],
_mm_xor_si64
(
c2
[
848
],
_mm_xor_si64
(
c2
[
1451
],
_mm_xor_si64
(
c2
[
1452
],
_mm_xor_si64
(
c2
[
276
],
_mm_xor_si64
(
c2
[
576
],
_mm_xor_si64
(
c2
[
283
],
_mm_xor_si64
(
c2
[
1471
],
c2
[
1470
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
105
]
=
_mm_xor_si64
(
c2
[
1509
],
_mm_xor_si64
(
c2
[
1809
],
_mm_xor_si64
(
c2
[
1207
],
_mm_xor_si64
(
c2
[
909
],
_mm_xor_si64
(
c2
[
307
],
_mm_xor_si64
(
c2
[
2100
],
_mm_xor_si64
(
c2
[
1513
],
_mm_xor_si64
(
c2
[
2137
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
1835
],
_mm_xor_si64
(
c2
[
1240
],
_mm_xor_si64
(
c2
[
638
],
_mm_xor_si64
(
c2
[
1236
],
_mm_xor_si64
(
c2
[
334
],
_mm_xor_si64
(
c2
[
634
],
_mm_xor_si64
(
c2
[
1840
],
_mm_xor_si64
(
c2
[
960
],
_mm_xor_si64
(
c2
[
1260
],
_mm_xor_si64
(
c2
[
673
],
_mm_xor_si64
(
c2
[
73
],
_mm_xor_si64
(
c2
[
1570
],
_mm_xor_si64
(
c2
[
1870
],
_mm_xor_si64
(
c2
[
399
],
_mm_xor_si64
(
c2
[
699
],
_mm_xor_si64
(
c2
[
97
],
_mm_xor_si64
(
c2
[
1003
],
_mm_xor_si64
(
c2
[
401
],
_mm_xor_si64
(
c2
[
97
],
_mm_xor_si64
(
c2
[
1894
],
_mm_xor_si64
(
c2
[
1334
],
_mm_xor_si64
(
c2
[
732
],
_mm_xor_si64
(
c2
[
733
],
_mm_xor_si64
(
c2
[
131
],
_mm_xor_si64
(
c2
[
1323
],
_mm_xor_si64
(
c2
[
421
],
_mm_xor_si64
(
c2
[
721
],
_mm_xor_si64
(
c2
[
160
],
_mm_xor_si64
(
c2
[
1957
],
_mm_xor_si64
(
c2
[
1055
],
_mm_xor_si64
(
c2
[
153
],
_mm_xor_si64
(
c2
[
453
],
_mm_xor_si64
(
c2
[
758
],
_mm_xor_si64
(
c2
[
1089
],
_mm_xor_si64
(
c2
[
1389
],
_mm_xor_si64
(
c2
[
787
],
_mm_xor_si64
(
c2
[
1683
],
_mm_xor_si64
(
c2
[
1081
],
_mm_xor_si64
(
c2
[
1391
],
_mm_xor_si64
(
c2
[
489
],
_mm_xor_si64
(
c2
[
789
],
_mm_xor_si64
(
c2
[
1419
],
_mm_xor_si64
(
c2
[
817
],
_mm_xor_si64
(
c2
[
1411
],
_mm_xor_si64
(
c2
[
524
],
_mm_xor_si64
(
c2
[
824
],
_mm_xor_si64
(
c2
[
2320
],
_mm_xor_si64
(
c2
[
2047
],
_mm_xor_si64
(
c2
[
1445
],
_mm_xor_si64
(
c2
[
251
],
_mm_xor_si64
(
c2
[
2048
],
_mm_xor_si64
(
c2
[
252
],
_mm_xor_si64
(
c2
[
1749
],
_mm_xor_si64
(
c2
[
2049
],
_mm_xor_si64
(
c2
[
1475
],
_mm_xor_si64
(
c2
[
1775
],
_mm_xor_si64
(
c2
[
1173
],
_mm_xor_si64
(
c2
[
1482
],
_mm_xor_si64
(
c2
[
880
],
_mm_xor_si64
(
c2
[
271
],
_mm_xor_si64
(
c2
[
1783
],
c2
[
2083
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
120
]
=
_mm_xor_si64
(
c2
[
601
],
_mm_xor_si64
(
c2
[
901
],
_mm_xor_si64
(
c2
[
2100
],
_mm_xor_si64
(
c2
[
1
],
_mm_xor_si64
(
c2
[
1207
],
_mm_xor_si64
(
c2
[
7
],
_mm_xor_si64
(
c2
[
1244
],
_mm_xor_si64
(
c2
[
1544
],
_mm_xor_si64
(
c2
[
332
],
_mm_xor_si64
(
c2
[
343
],
_mm_xor_si64
(
c2
[
336
],
_mm_xor_si64
(
c2
[
67
],
_mm_xor_si64
(
c2
[
367
],
_mm_xor_si64
(
c2
[
1564
],
_mm_xor_si64
(
c2
[
1890
],
_mm_xor_si64
(
c2
[
2190
],
_mm_xor_si64
(
c2
[
2194
],
_mm_xor_si64
(
c2
[
95
],
_mm_xor_si64
(
c2
[
1603
],
_mm_xor_si64
(
c2
[
126
],
_mm_xor_si64
(
c2
[
426
],
_mm_xor_si64
(
c2
[
2224
],
_mm_xor_si64
(
c2
[
430
],
_mm_xor_si64
(
c2
[
1351
],
_mm_xor_si64
(
c2
[
1651
],
_mm_xor_si64
(
c2
[
162
],
_mm_xor_si64
(
c2
[
181
],
_mm_xor_si64
(
c2
[
481
],
_mm_xor_si64
(
c2
[
490
],
_mm_xor_si64
(
c2
[
790
],
_mm_xor_si64
(
c2
[
483
],
_mm_xor_si64
(
c2
[
211
],
_mm_xor_si64
(
c2
[
511
],
_mm_xor_si64
(
c2
[
518
],
_mm_xor_si64
(
c2
[
854
],
_mm_xor_si64
(
c2
[
1154
],
_mm_xor_si64
(
c2
[
1742
],
_mm_xor_si64
(
c2
[
1743
],
_mm_xor_si64
(
c2
[
582
],
_mm_xor_si64
(
c2
[
882
],
_mm_xor_si64
(
c2
[
274
],
_mm_xor_si64
(
c2
[
574
],
c2
[
1777
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
135
]
=
_mm_xor_si64
(
c2
[
309
],
_mm_xor_si64
(
c2
[
1511
],
_mm_xor_si64
(
c2
[
1811
],
_mm_xor_si64
(
c2
[
1808
],
_mm_xor_si64
(
c2
[
911
],
_mm_xor_si64
(
c2
[
600
],
_mm_xor_si64
(
c2
[
2102
],
_mm_xor_si64
(
c2
[
937
],
_mm_xor_si64
(
c2
[
2139
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
2139
],
_mm_xor_si64
(
c2
[
1242
],
_mm_xor_si64
(
c2
[
2135
],
_mm_xor_si64
(
c2
[
1238
],
_mm_xor_si64
(
c2
[
2135
],
_mm_xor_si64
(
c2
[
2174
],
_mm_xor_si64
(
c2
[
962
],
_mm_xor_si64
(
c2
[
1262
],
_mm_xor_si64
(
c2
[
972
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
1598
],
_mm_xor_si64
(
c2
[
401
],
_mm_xor_si64
(
c2
[
701
],
_mm_xor_si64
(
c2
[
1902
],
_mm_xor_si64
(
c2
[
990
],
_mm_xor_si64
(
c2
[
996
],
_mm_xor_si64
(
c2
[
99
],
_mm_xor_si64
(
c2
[
2233
],
_mm_xor_si64
(
c2
[
1321
],
_mm_xor_si64
(
c2
[
1632
],
_mm_xor_si64
(
c2
[
720
],
_mm_xor_si64
(
c2
[
2222
],
_mm_xor_si64
(
c2
[
1325
],
_mm_xor_si64
(
c2
[
1059
],
_mm_xor_si64
(
c2
[
162
],
_mm_xor_si64
(
c2
[
1954
],
_mm_xor_si64
(
c2
[
1057
],
_mm_xor_si64
(
c2
[
2288
],
_mm_xor_si64
(
c2
[
1091
],
_mm_xor_si64
(
c2
[
1391
],
_mm_xor_si64
(
c2
[
183
],
_mm_xor_si64
(
c2
[
1685
],
_mm_xor_si64
(
c2
[
2290
],
_mm_xor_si64
(
c2
[
1393
],
_mm_xor_si64
(
c2
[
2318
],
_mm_xor_si64
(
c2
[
1421
],
_mm_xor_si64
(
c2
[
2310
],
_mm_xor_si64
(
c2
[
1413
],
_mm_xor_si64
(
c2
[
547
],
_mm_xor_si64
(
c2
[
2049
],
_mm_xor_si64
(
c2
[
1150
],
_mm_xor_si64
(
c2
[
253
],
_mm_xor_si64
(
c2
[
1151
],
_mm_xor_si64
(
c2
[
254
],
_mm_xor_si64
(
c2
[
2054
],
_mm_xor_si64
(
c2
[
275
],
_mm_xor_si64
(
c2
[
1477
],
_mm_xor_si64
(
c2
[
1777
],
_mm_xor_si64
(
c2
[
2381
],
_mm_xor_si64
(
c2
[
1484
],
_mm_xor_si64
(
c2
[
1170
],
c2
[
273
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
150
]
=
_mm_xor_si64
(
c2
[
1804
],
_mm_xor_si64
(
c2
[
342
],
_mm_xor_si64
(
c2
[
191
],
c2
[
224
])));
//row: 11
d2
[
165
]
=
_mm_xor_si64
(
c2
[
1509
],
_mm_xor_si64
(
c2
[
609
],
_mm_xor_si64
(
c2
[
1800
],
_mm_xor_si64
(
c2
[
607
],
_mm_xor_si64
(
c2
[
2137
],
_mm_xor_si64
(
c2
[
940
],
_mm_xor_si64
(
c2
[
636
],
_mm_xor_si64
(
c2
[
936
],
_mm_xor_si64
(
c2
[
960
],
_mm_xor_si64
(
c2
[
1872
],
_mm_xor_si64
(
c2
[
2172
],
_mm_xor_si64
(
c2
[
399
],
_mm_xor_si64
(
c2
[
703
],
_mm_xor_si64
(
c2
[
2196
],
_mm_xor_si64
(
c2
[
1034
],
_mm_xor_si64
(
c2
[
433
],
_mm_xor_si64
(
c2
[
723
],
_mm_xor_si64
(
c2
[
1023
],
_mm_xor_si64
(
c2
[
2259
],
_mm_xor_si64
(
c2
[
455
],
_mm_xor_si64
(
c2
[
755
],
_mm_xor_si64
(
c2
[
1089
],
_mm_xor_si64
(
c2
[
1383
],
_mm_xor_si64
(
c2
[
791
],
_mm_xor_si64
(
c2
[
1091
],
_mm_xor_si64
(
c2
[
1119
],
_mm_xor_si64
(
c2
[
811
],
_mm_xor_si64
(
c2
[
1111
],
_mm_xor_si64
(
c2
[
2021
],
_mm_xor_si64
(
c2
[
1747
],
_mm_xor_si64
(
c2
[
2350
],
_mm_xor_si64
(
c2
[
2051
],
_mm_xor_si64
(
c2
[
2351
],
_mm_xor_si64
(
c2
[
1475
],
_mm_xor_si64
(
c2
[
1182
],
_mm_xor_si64
(
c2
[
2070
],
_mm_xor_si64
(
c2
[
2370
],
c2
[
276
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
180
]
=
_mm_xor_si64
(
c2
[
312
],
_mm_xor_si64
(
c2
[
612
],
_mm_xor_si64
(
c2
[
2111
],
_mm_xor_si64
(
c2
[
903
],
_mm_xor_si64
(
c2
[
940
],
_mm_xor_si64
(
c2
[
1240
],
_mm_xor_si64
(
c2
[
43
],
_mm_xor_si64
(
c2
[
39
],
_mm_xor_si64
(
c2
[
1230
],
_mm_xor_si64
(
c2
[
2162
],
_mm_xor_si64
(
c2
[
63
],
_mm_xor_si64
(
c2
[
1260
],
_mm_xor_si64
(
c2
[
1601
],
_mm_xor_si64
(
c2
[
1901
],
_mm_xor_si64
(
c2
[
2190
],
_mm_xor_si64
(
c2
[
1299
],
_mm_xor_si64
(
c2
[
690
],
_mm_xor_si64
(
c2
[
122
],
_mm_xor_si64
(
c2
[
1920
],
_mm_xor_si64
(
c2
[
126
],
_mm_xor_si64
(
c2
[
1362
],
_mm_xor_si64
(
c2
[
2257
],
_mm_xor_si64
(
c2
[
2291
],
_mm_xor_si64
(
c2
[
192
],
_mm_xor_si64
(
c2
[
486
],
_mm_xor_si64
(
c2
[
194
],
_mm_xor_si64
(
c2
[
222
],
_mm_xor_si64
(
c2
[
214
],
_mm_xor_si64
(
c2
[
850
],
_mm_xor_si64
(
c2
[
1453
],
_mm_xor_si64
(
c2
[
1454
],
_mm_xor_si64
(
c2
[
278
],
_mm_xor_si64
(
c2
[
578
],
_mm_xor_si64
(
c2
[
270
],
c2
[
1473
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
195
]
=
_mm_xor_si64
(
c2
[
1500
],
_mm_xor_si64
(
c2
[
600
],
_mm_xor_si64
(
c2
[
1806
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
2143
],
_mm_xor_si64
(
c2
[
931
],
_mm_xor_si64
(
c2
[
642
],
_mm_xor_si64
(
c2
[
942
],
_mm_xor_si64
(
c2
[
337
],
_mm_xor_si64
(
c2
[
966
],
_mm_xor_si64
(
c2
[
1863
],
_mm_xor_si64
(
c2
[
2163
],
_mm_xor_si64
(
c2
[
390
],
_mm_xor_si64
(
c2
[
694
],
_mm_xor_si64
(
c2
[
2202
],
_mm_xor_si64
(
c2
[
1025
],
_mm_xor_si64
(
c2
[
424
],
_mm_xor_si64
(
c2
[
729
],
_mm_xor_si64
(
c2
[
1029
],
_mm_xor_si64
(
c2
[
2250
],
_mm_xor_si64
(
c2
[
461
],
_mm_xor_si64
(
c2
[
761
],
_mm_xor_si64
(
c2
[
1080
],
_mm_xor_si64
(
c2
[
1389
],
_mm_xor_si64
(
c2
[
782
],
_mm_xor_si64
(
c2
[
1082
],
_mm_xor_si64
(
c2
[
1110
],
_mm_xor_si64
(
c2
[
817
],
_mm_xor_si64
(
c2
[
1117
],
_mm_xor_si64
(
c2
[
1753
],
_mm_xor_si64
(
c2
[
2341
],
_mm_xor_si64
(
c2
[
2042
],
_mm_xor_si64
(
c2
[
2342
],
_mm_xor_si64
(
c2
[
2345
],
_mm_xor_si64
(
c2
[
1481
],
_mm_xor_si64
(
c2
[
1173
],
_mm_xor_si64
(
c2
[
2076
],
c2
[
2376
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
210
]
=
_mm_xor_si64
(
c2
[
1513
],
_mm_xor_si64
(
c2
[
1813
],
_mm_xor_si64
(
c2
[
1208
],
_mm_xor_si64
(
c2
[
913
],
_mm_xor_si64
(
c2
[
308
],
_mm_xor_si64
(
c2
[
2104
],
_mm_xor_si64
(
c2
[
1514
],
_mm_xor_si64
(
c2
[
2141
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
1836
],
_mm_xor_si64
(
c2
[
1244
],
_mm_xor_si64
(
c2
[
639
],
_mm_xor_si64
(
c2
[
1240
],
_mm_xor_si64
(
c2
[
335
],
_mm_xor_si64
(
c2
[
635
],
_mm_xor_si64
(
c2
[
640
],
_mm_xor_si64
(
c2
[
964
],
_mm_xor_si64
(
c2
[
1264
],
_mm_xor_si64
(
c2
[
674
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
1571
],
_mm_xor_si64
(
c2
[
1871
],
_mm_xor_si64
(
c2
[
403
],
_mm_xor_si64
(
c2
[
703
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
992
],
_mm_xor_si64
(
c2
[
402
],
_mm_xor_si64
(
c2
[
101
],
_mm_xor_si64
(
c2
[
1895
],
_mm_xor_si64
(
c2
[
1323
],
_mm_xor_si64
(
c2
[
733
],
_mm_xor_si64
(
c2
[
722
],
_mm_xor_si64
(
c2
[
132
],
_mm_xor_si64
(
c2
[
1327
],
_mm_xor_si64
(
c2
[
422
],
_mm_xor_si64
(
c2
[
722
],
_mm_xor_si64
(
c2
[
164
],
_mm_xor_si64
(
c2
[
1958
],
_mm_xor_si64
(
c2
[
1059
],
_mm_xor_si64
(
c2
[
154
],
_mm_xor_si64
(
c2
[
454
],
_mm_xor_si64
(
c2
[
1093
],
_mm_xor_si64
(
c2
[
1393
],
_mm_xor_si64
(
c2
[
788
],
_mm_xor_si64
(
c2
[
1687
],
_mm_xor_si64
(
c2
[
1082
],
_mm_xor_si64
(
c2
[
1380
],
_mm_xor_si64
(
c2
[
490
],
_mm_xor_si64
(
c2
[
790
],
_mm_xor_si64
(
c2
[
194
],
_mm_xor_si64
(
c2
[
1423
],
_mm_xor_si64
(
c2
[
818
],
_mm_xor_si64
(
c2
[
1415
],
_mm_xor_si64
(
c2
[
510
],
_mm_xor_si64
(
c2
[
810
],
_mm_xor_si64
(
c2
[
2051
],
_mm_xor_si64
(
c2
[
1446
],
_mm_xor_si64
(
c2
[
240
],
_mm_xor_si64
(
c2
[
2049
],
_mm_xor_si64
(
c2
[
241
],
_mm_xor_si64
(
c2
[
1750
],
_mm_xor_si64
(
c2
[
2050
],
_mm_xor_si64
(
c2
[
1479
],
_mm_xor_si64
(
c2
[
1779
],
_mm_xor_si64
(
c2
[
1174
],
_mm_xor_si64
(
c2
[
1471
],
_mm_xor_si64
(
c2
[
881
],
_mm_xor_si64
(
c2
[
275
],
_mm_xor_si64
(
c2
[
1784
],
c2
[
2084
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
225
]
=
_mm_xor_si64
(
c2
[
600
],
_mm_xor_si64
(
c2
[
1807
],
_mm_xor_si64
(
c2
[
2107
],
_mm_xor_si64
(
c2
[
2114
],
_mm_xor_si64
(
c2
[
1207
],
_mm_xor_si64
(
c2
[
906
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
1804
],
_mm_xor_si64
(
c2
[
1243
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
336
],
_mm_xor_si64
(
c2
[
31
],
_mm_xor_si64
(
c2
[
1538
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
1534
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
1273
],
_mm_xor_si64
(
c2
[
1573
],
_mm_xor_si64
(
c2
[
1263
],
_mm_xor_si64
(
c2
[
371
],
_mm_xor_si64
(
c2
[
1904
],
_mm_xor_si64
(
c2
[
697
],
_mm_xor_si64
(
c2
[
997
],
_mm_xor_si64
(
c2
[
2193
],
_mm_xor_si64
(
c2
[
1301
],
_mm_xor_si64
(
c2
[
1302
],
_mm_xor_si64
(
c2
[
395
],
_mm_xor_si64
(
c2
[
125
],
_mm_xor_si64
(
c2
[
1632
],
_mm_xor_si64
(
c2
[
1923
],
_mm_xor_si64
(
c2
[
1031
],
_mm_xor_si64
(
c2
[
129
],
_mm_xor_si64
(
c2
[
1621
],
_mm_xor_si64
(
c2
[
1350
],
_mm_xor_si64
(
c2
[
458
],
_mm_xor_si64
(
c2
[
2260
],
_mm_xor_si64
(
c2
[
1353
],
_mm_xor_si64
(
c2
[
180
],
_mm_xor_si64
(
c2
[
1387
],
_mm_xor_si64
(
c2
[
1687
],
_mm_xor_si64
(
c2
[
489
],
_mm_xor_si64
(
c2
[
1981
],
_mm_xor_si64
(
c2
[
182
],
_mm_xor_si64
(
c2
[
1689
],
_mm_xor_si64
(
c2
[
210
],
_mm_xor_si64
(
c2
[
1717
],
_mm_xor_si64
(
c2
[
217
],
_mm_xor_si64
(
c2
[
1724
],
_mm_xor_si64
(
c2
[
853
],
_mm_xor_si64
(
c2
[
2345
],
_mm_xor_si64
(
c2
[
1441
],
_mm_xor_si64
(
c2
[
549
],
_mm_xor_si64
(
c2
[
1442
],
_mm_xor_si64
(
c2
[
550
],
_mm_xor_si64
(
c2
[
581
],
_mm_xor_si64
(
c2
[
1773
],
_mm_xor_si64
(
c2
[
2073
],
_mm_xor_si64
(
c2
[
273
],
_mm_xor_si64
(
c2
[
1780
],
_mm_xor_si64
(
c2
[
1476
],
c2
[
584
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
240
]
=
_mm_xor_si64
(
c2
[
10
],
_mm_xor_si64
(
c2
[
310
],
_mm_xor_si64
(
c2
[
913
],
_mm_xor_si64
(
c2
[
1213
],
_mm_xor_si64
(
c2
[
1809
],
_mm_xor_si64
(
c2
[
13
],
_mm_xor_si64
(
c2
[
313
],
_mm_xor_si64
(
c2
[
601
],
_mm_xor_si64
(
c2
[
1504
],
_mm_xor_si64
(
c2
[
638
],
_mm_xor_si64
(
c2
[
938
],
_mm_xor_si64
(
c2
[
1541
],
_mm_xor_si64
(
c2
[
1841
],
_mm_xor_si64
(
c2
[
2140
],
_mm_xor_si64
(
c2
[
644
],
_mm_xor_si64
(
c2
[
2136
],
_mm_xor_si64
(
c2
[
640
],
_mm_xor_si64
(
c2
[
636
],
_mm_xor_si64
(
c2
[
1860
],
_mm_xor_si64
(
c2
[
2160
],
_mm_xor_si64
(
c2
[
364
],
_mm_xor_si64
(
c2
[
664
],
_mm_xor_si64
(
c2
[
973
],
_mm_xor_si64
(
c2
[
1861
],
_mm_xor_si64
(
c2
[
1299
],
_mm_xor_si64
(
c2
[
1599
],
_mm_xor_si64
(
c2
[
2202
],
_mm_xor_si64
(
c2
[
103
],
_mm_xor_si64
(
c2
[
1903
],
_mm_xor_si64
(
c2
[
92
],
_mm_xor_si64
(
c2
[
392
],
_mm_xor_si64
(
c2
[
997
],
_mm_xor_si64
(
c2
[
1900
],
_mm_xor_si64
(
c2
[
2234
],
_mm_xor_si64
(
c2
[
423
],
_mm_xor_si64
(
c2
[
723
],
_mm_xor_si64
(
c2
[
1633
],
_mm_xor_si64
(
c2
[
122
],
_mm_xor_si64
(
c2
[
2223
],
_mm_xor_si64
(
c2
[
727
],
_mm_xor_si64
(
c2
[
1060
],
_mm_xor_si64
(
c2
[
1663
],
_mm_xor_si64
(
c2
[
1963
],
_mm_xor_si64
(
c2
[
1955
],
_mm_xor_si64
(
c2
[
459
],
_mm_xor_si64
(
c2
[
1989
],
_mm_xor_si64
(
c2
[
2289
],
_mm_xor_si64
(
c2
[
493
],
_mm_xor_si64
(
c2
[
793
],
_mm_xor_si64
(
c2
[
184
],
_mm_xor_si64
(
c2
[
787
],
_mm_xor_si64
(
c2
[
1087
],
_mm_xor_si64
(
c2
[
2291
],
_mm_xor_si64
(
c2
[
780
],
_mm_xor_si64
(
c2
[
2319
],
_mm_xor_si64
(
c2
[
523
],
_mm_xor_si64
(
c2
[
823
],
_mm_xor_si64
(
c2
[
2311
],
_mm_xor_si64
(
c2
[
815
],
_mm_xor_si64
(
c2
[
548
],
_mm_xor_si64
(
c2
[
1151
],
_mm_xor_si64
(
c2
[
1451
],
_mm_xor_si64
(
c2
[
1151
],
_mm_xor_si64
(
c2
[
2054
],
_mm_xor_si64
(
c2
[
1152
],
_mm_xor_si64
(
c2
[
2040
],
_mm_xor_si64
(
c2
[
2375
],
_mm_xor_si64
(
c2
[
276
],
_mm_xor_si64
(
c2
[
879
],
_mm_xor_si64
(
c2
[
1179
],
_mm_xor_si64
(
c2
[
2382
],
_mm_xor_si64
(
c2
[
571
],
_mm_xor_si64
(
c2
[
871
],
_mm_xor_si64
(
c2
[
1171
],
_mm_xor_si64
(
c2
[
2074
],
c2
[
2372
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
255
]
=
_mm_xor_si64
(
c2
[
1212
],
_mm_xor_si64
(
c2
[
1512
],
_mm_xor_si64
(
c2
[
900
],
_mm_xor_si64
(
c2
[
1200
],
_mm_xor_si64
(
c2
[
612
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
300
],
_mm_xor_si64
(
c2
[
1803
],
_mm_xor_si64
(
c2
[
1506
],
_mm_xor_si64
(
c2
[
1840
],
_mm_xor_si64
(
c2
[
2140
],
_mm_xor_si64
(
c2
[
1543
],
_mm_xor_si64
(
c2
[
1843
],
_mm_xor_si64
(
c2
[
943
],
_mm_xor_si64
(
c2
[
631
],
_mm_xor_si64
(
c2
[
939
],
_mm_xor_si64
(
c2
[
642
],
_mm_xor_si64
(
c2
[
1239
],
_mm_xor_si64
(
c2
[
663
],
_mm_xor_si64
(
c2
[
963
],
_mm_xor_si64
(
c2
[
366
],
_mm_xor_si64
(
c2
[
666
],
_mm_xor_si64
(
c2
[
2160
],
_mm_xor_si64
(
c2
[
1863
],
_mm_xor_si64
(
c2
[
102
],
_mm_xor_si64
(
c2
[
402
],
_mm_xor_si64
(
c2
[
2204
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
691
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
394
],
_mm_xor_si64
(
c2
[
2199
],
_mm_xor_si64
(
c2
[
1902
],
_mm_xor_si64
(
c2
[
1022
],
_mm_xor_si64
(
c2
[
425
],
_mm_xor_si64
(
c2
[
725
],
_mm_xor_si64
(
c2
[
421
],
_mm_xor_si64
(
c2
[
124
],
_mm_xor_si64
(
c2
[
1026
],
_mm_xor_si64
(
c2
[
729
],
_mm_xor_si64
(
c2
[
2262
],
_mm_xor_si64
(
c2
[
1650
],
_mm_xor_si64
(
c2
[
1950
],
_mm_xor_si64
(
c2
[
758
],
_mm_xor_si64
(
c2
[
461
],
_mm_xor_si64
(
c2
[
1656
],
_mm_xor_si64
(
c2
[
792
],
_mm_xor_si64
(
c2
[
1092
],
_mm_xor_si64
(
c2
[
480
],
_mm_xor_si64
(
c2
[
780
],
_mm_xor_si64
(
c2
[
1386
],
_mm_xor_si64
(
c2
[
789
],
_mm_xor_si64
(
c2
[
1089
],
_mm_xor_si64
(
c2
[
1094
],
_mm_xor_si64
(
c2
[
782
],
_mm_xor_si64
(
c2
[
1122
],
_mm_xor_si64
(
c2
[
510
],
_mm_xor_si64
(
c2
[
810
],
_mm_xor_si64
(
c2
[
1114
],
_mm_xor_si64
(
c2
[
817
],
_mm_xor_si64
(
c2
[
1750
],
_mm_xor_si64
(
c2
[
1153
],
_mm_xor_si64
(
c2
[
1453
],
_mm_xor_si64
(
c2
[
2353
],
_mm_xor_si64
(
c2
[
2041
],
_mm_xor_si64
(
c2
[
2354
],
_mm_xor_si64
(
c2
[
2042
],
_mm_xor_si64
(
c2
[
1178
],
_mm_xor_si64
(
c2
[
1478
],
_mm_xor_si64
(
c2
[
881
],
_mm_xor_si64
(
c2
[
1181
],
_mm_xor_si64
(
c2
[
1170
],
_mm_xor_si64
(
c2
[
573
],
_mm_xor_si64
(
c2
[
873
],
_mm_xor_si64
(
c2
[
2373
],
c2
[
2076
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
270
]
=
_mm_xor_si64
(
c2
[
1
],
_mm_xor_si64
(
c2
[
1091
],
c2
[
821
]));
//row: 19
d2
[
285
]
=
_mm_xor_si64
(
c2
[
314
],
_mm_xor_si64
(
c2
[
1813
],
_mm_xor_si64
(
c2
[
605
],
_mm_xor_si64
(
c2
[
2104
],
_mm_xor_si64
(
c2
[
942
],
_mm_xor_si64
(
c2
[
2144
],
_mm_xor_si64
(
c2
[
2140
],
_mm_xor_si64
(
c2
[
1240
],
_mm_xor_si64
(
c2
[
2164
],
_mm_xor_si64
(
c2
[
962
],
_mm_xor_si64
(
c2
[
1603
],
_mm_xor_si64
(
c2
[
1892
],
_mm_xor_si64
(
c2
[
1001
],
_mm_xor_si64
(
c2
[
2223
],
_mm_xor_si64
(
c2
[
1622
],
_mm_xor_si64
(
c2
[
2227
],
_mm_xor_si64
(
c2
[
1064
],
_mm_xor_si64
(
c2
[
1959
],
_mm_xor_si64
(
c2
[
2293
],
_mm_xor_si64
(
c2
[
188
],
_mm_xor_si64
(
c2
[
2280
],
_mm_xor_si64
(
c2
[
2323
],
_mm_xor_si64
(
c2
[
2315
],
_mm_xor_si64
(
c2
[
552
],
_mm_xor_si64
(
c2
[
1140
],
_mm_xor_si64
(
c2
[
1141
],
_mm_xor_si64
(
c2
[
280
],
_mm_xor_si64
(
c2
[
2371
],
c2
[
1175
]))))))))))))))))))))))))))));
//row: 20
d2
[
300
]
=
_mm_xor_si64
(
c2
[
2103
],
_mm_xor_si64
(
c2
[
4
],
_mm_xor_si64
(
c2
[
1503
],
_mm_xor_si64
(
c2
[
310
],
_mm_xor_si64
(
c2
[
332
],
_mm_xor_si64
(
c2
[
632
],
_mm_xor_si64
(
c2
[
1834
],
_mm_xor_si64
(
c2
[
1830
],
_mm_xor_si64
(
c2
[
1544
],
_mm_xor_si64
(
c2
[
1569
],
_mm_xor_si64
(
c2
[
1869
],
_mm_xor_si64
(
c2
[
667
],
_mm_xor_si64
(
c2
[
993
],
_mm_xor_si64
(
c2
[
1293
],
_mm_xor_si64
(
c2
[
1597
],
_mm_xor_si64
(
c2
[
691
],
_mm_xor_si64
(
c2
[
1928
],
_mm_xor_si64
(
c2
[
1327
],
_mm_xor_si64
(
c2
[
1932
],
_mm_xor_si64
(
c2
[
1033
],
_mm_xor_si64
(
c2
[
754
],
_mm_xor_si64
(
c2
[
1664
],
_mm_xor_si64
(
c2
[
1683
],
_mm_xor_si64
(
c2
[
1983
],
_mm_xor_si64
(
c2
[
2292
],
_mm_xor_si64
(
c2
[
1985
],
_mm_xor_si64
(
c2
[
2013
],
_mm_xor_si64
(
c2
[
2020
],
_mm_xor_si64
(
c2
[
242
],
_mm_xor_si64
(
c2
[
845
],
_mm_xor_si64
(
c2
[
846
],
_mm_xor_si64
(
c2
[
2084
],
_mm_xor_si64
(
c2
[
2384
],
_mm_xor_si64
(
c2
[
2076
],
c2
[
880
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
315
]
=
_mm_xor_si64
(
c2
[
1504
],
_mm_xor_si64
(
c2
[
604
],
_mm_xor_si64
(
c2
[
1810
],
_mm_xor_si64
(
c2
[
1814
],
_mm_xor_si64
(
c2
[
2132
],
_mm_xor_si64
(
c2
[
935
],
_mm_xor_si64
(
c2
[
631
],
_mm_xor_si64
(
c2
[
931
],
_mm_xor_si64
(
c2
[
970
],
_mm_xor_si64
(
c2
[
1867
],
_mm_xor_si64
(
c2
[
2167
],
_mm_xor_si64
(
c2
[
394
],
_mm_xor_si64
(
c2
[
698
],
_mm_xor_si64
(
c2
[
2191
],
_mm_xor_si64
(
c2
[
1029
],
_mm_xor_si64
(
c2
[
428
],
_mm_xor_si64
(
c2
[
733
],
_mm_xor_si64
(
c2
[
1033
],
_mm_xor_si64
(
c2
[
2254
],
_mm_xor_si64
(
c2
[
450
],
_mm_xor_si64
(
c2
[
750
],
_mm_xor_si64
(
c2
[
1084
],
_mm_xor_si64
(
c2
[
1393
],
_mm_xor_si64
(
c2
[
786
],
_mm_xor_si64
(
c2
[
1086
],
_mm_xor_si64
(
c2
[
1114
],
_mm_xor_si64
(
c2
[
821
],
_mm_xor_si64
(
c2
[
1121
],
_mm_xor_si64
(
c2
[
1742
],
_mm_xor_si64
(
c2
[
2345
],
_mm_xor_si64
(
c2
[
2046
],
_mm_xor_si64
(
c2
[
2346
],
_mm_xor_si64
(
c2
[
1741
],
_mm_xor_si64
(
c2
[
1470
],
_mm_xor_si64
(
c2
[
1177
],
_mm_xor_si64
(
c2
[
2080
],
c2
[
2380
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
330
]
=
_mm_xor_si64
(
c2
[
939
],
c2
[
1265
]);
//row: 23
d2
[
345
]
=
_mm_xor_si64
(
c2
[
1500
],
_mm_xor_si64
(
c2
[
1901
],
c2
[
2263
]));
//row: 24
d2
[
360
]
=
_mm_xor_si64
(
c2
[
340
],
_mm_xor_si64
(
c2
[
962
],
c2
[
871
]));
//row: 25
d2
[
375
]
=
_mm_xor_si64
(
c2
[
608
],
c2
[
2261
]);
//row: 26
d2
[
390
]
=
_mm_xor_si64
(
c2
[
2111
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
1211
],
_mm_xor_si64
(
c2
[
1511
],
_mm_xor_si64
(
c2
[
1513
],
_mm_xor_si64
(
c2
[
303
],
_mm_xor_si64
(
c2
[
305
],
_mm_xor_si64
(
c2
[
340
],
_mm_xor_si64
(
c2
[
640
],
_mm_xor_si64
(
c2
[
642
],
_mm_xor_si64
(
c2
[
1842
],
_mm_xor_si64
(
c2
[
1844
],
_mm_xor_si64
(
c2
[
1838
],
_mm_xor_si64
(
c2
[
1540
],
_mm_xor_si64
(
c2
[
1840
],
_mm_xor_si64
(
c2
[
1562
],
_mm_xor_si64
(
c2
[
1862
],
_mm_xor_si64
(
c2
[
1864
],
_mm_xor_si64
(
c2
[
660
],
_mm_xor_si64
(
c2
[
362
],
_mm_xor_si64
(
c2
[
662
],
_mm_xor_si64
(
c2
[
663
],
_mm_xor_si64
(
c2
[
1001
],
_mm_xor_si64
(
c2
[
1301
],
_mm_xor_si64
(
c2
[
1303
],
_mm_xor_si64
(
c2
[
1290
],
_mm_xor_si64
(
c2
[
1590
],
_mm_xor_si64
(
c2
[
1592
],
_mm_xor_si64
(
c2
[
699
],
_mm_xor_si64
(
c2
[
701
],
_mm_xor_si64
(
c2
[
1621
],
_mm_xor_si64
(
c2
[
1921
],
_mm_xor_si64
(
c2
[
1923
],
_mm_xor_si64
(
c2
[
1320
],
_mm_xor_si64
(
c2
[
1322
],
_mm_xor_si64
(
c2
[
1925
],
_mm_xor_si64
(
c2
[
1627
],
_mm_xor_si64
(
c2
[
1927
],
_mm_xor_si64
(
c2
[
462
],
_mm_xor_si64
(
c2
[
762
],
_mm_xor_si64
(
c2
[
764
],
_mm_xor_si64
(
c2
[
1657
],
_mm_xor_si64
(
c2
[
1359
],
_mm_xor_si64
(
c2
[
1659
],
_mm_xor_si64
(
c2
[
1691
],
_mm_xor_si64
(
c2
[
1991
],
_mm_xor_si64
(
c2
[
1993
],
_mm_xor_si64
(
c2
[
1985
],
_mm_xor_si64
(
c2
[
2285
],
_mm_xor_si64
(
c2
[
2287
],
_mm_xor_si64
(
c2
[
1993
],
_mm_xor_si64
(
c2
[
1680
],
_mm_xor_si64
(
c2
[
1980
],
_mm_xor_si64
(
c2
[
1721
],
_mm_xor_si64
(
c2
[
2021
],
_mm_xor_si64
(
c2
[
2023
],
_mm_xor_si64
(
c2
[
2013
],
_mm_xor_si64
(
c2
[
1715
],
_mm_xor_si64
(
c2
[
2015
],
_mm_xor_si64
(
c2
[
818
],
_mm_xor_si64
(
c2
[
2349
],
_mm_xor_si64
(
c2
[
250
],
_mm_xor_si64
(
c2
[
252
],
_mm_xor_si64
(
c2
[
853
],
_mm_xor_si64
(
c2
[
840
],
_mm_xor_si64
(
c2
[
854
],
_mm_xor_si64
(
c2
[
541
],
_mm_xor_si64
(
c2
[
841
],
_mm_xor_si64
(
c2
[
2077
],
_mm_xor_si64
(
c2
[
2377
],
_mm_xor_si64
(
c2
[
2379
],
_mm_xor_si64
(
c2
[
1784
],
_mm_xor_si64
(
c2
[
2084
],
_mm_xor_si64
(
c2
[
2071
],
_mm_xor_si64
(
c2
[
873
],
_mm_xor_si64
(
c2
[
575
],
c2
[
875
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
405
]
=
_mm_xor_si64
(
c2
[
8
],
c2
[
1687
]);
//row: 28
d2
[
420
]
=
_mm_xor_si64
(
c2
[
2130
],
_mm_xor_si64
(
c2
[
63
],
c2
[
152
]));
//row: 29
d2
[
435
]
=
_mm_xor_si64
(
c2
[
303
],
c2
[
427
]);
//row: 30
d2
[
450
]
=
_mm_xor_si64
(
c2
[
1564
],
_mm_xor_si64
(
c2
[
1052
],
_mm_xor_si64
(
c2
[
1722
],
c2
[
572
])));
//row: 31
d2
[
465
]
=
_mm_xor_si64
(
c2
[
9
],
_mm_xor_si64
(
c2
[
1508
],
_mm_xor_si64
(
c2
[
300
],
_mm_xor_si64
(
c2
[
637
],
_mm_xor_si64
(
c2
[
1839
],
_mm_xor_si64
(
c2
[
1535
],
_mm_xor_si64
(
c2
[
1835
],
_mm_xor_si64
(
c2
[
340
],
_mm_xor_si64
(
c2
[
1874
],
_mm_xor_si64
(
c2
[
372
],
_mm_xor_si64
(
c2
[
672
],
_mm_xor_si64
(
c2
[
1298
],
_mm_xor_si64
(
c2
[
1602
],
_mm_xor_si64
(
c2
[
696
],
_mm_xor_si64
(
c2
[
1933
],
_mm_xor_si64
(
c2
[
1332
],
_mm_xor_si64
(
c2
[
1622
],
_mm_xor_si64
(
c2
[
1922
],
_mm_xor_si64
(
c2
[
759
],
_mm_xor_si64
(
c2
[
1354
],
_mm_xor_si64
(
c2
[
1654
],
_mm_xor_si64
(
c2
[
1988
],
_mm_xor_si64
(
c2
[
2282
],
_mm_xor_si64
(
c2
[
1690
],
_mm_xor_si64
(
c2
[
1990
],
_mm_xor_si64
(
c2
[
2018
],
_mm_xor_si64
(
c2
[
1710
],
_mm_xor_si64
(
c2
[
2010
],
_mm_xor_si64
(
c2
[
247
],
_mm_xor_si64
(
c2
[
850
],
_mm_xor_si64
(
c2
[
551
],
_mm_xor_si64
(
c2
[
851
],
_mm_xor_si64
(
c2
[
2374
],
_mm_xor_si64
(
c2
[
2081
],
_mm_xor_si64
(
c2
[
570
],
c2
[
870
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
480
]
=
_mm_xor_si64
(
c2
[
1502
],
_mm_xor_si64
(
c2
[
1802
],
_mm_xor_si64
(
c2
[
602
],
_mm_xor_si64
(
c2
[
902
],
_mm_xor_si64
(
c2
[
2108
],
_mm_xor_si64
(
c2
[
907
],
_mm_xor_si64
(
c2
[
2130
],
_mm_xor_si64
(
c2
[
31
],
_mm_xor_si64
(
c2
[
1233
],
_mm_xor_si64
(
c2
[
1244
],
_mm_xor_si64
(
c2
[
968
],
_mm_xor_si64
(
c2
[
1268
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
392
],
_mm_xor_si64
(
c2
[
692
],
_mm_xor_si64
(
c2
[
696
],
_mm_xor_si64
(
c2
[
996
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
1027
],
_mm_xor_si64
(
c2
[
1327
],
_mm_xor_si64
(
c2
[
726
],
_mm_xor_si64
(
c2
[
1331
],
_mm_xor_si64
(
c2
[
2252
],
_mm_xor_si64
(
c2
[
153
],
_mm_xor_si64
(
c2
[
1063
],
_mm_xor_si64
(
c2
[
1951
],
_mm_xor_si64
(
c2
[
1082
],
_mm_xor_si64
(
c2
[
1382
],
_mm_xor_si64
(
c2
[
1391
],
_mm_xor_si64
(
c2
[
1691
],
_mm_xor_si64
(
c2
[
1384
],
_mm_xor_si64
(
c2
[
1112
],
_mm_xor_si64
(
c2
[
1412
],
_mm_xor_si64
(
c2
[
1419
],
_mm_xor_si64
(
c2
[
1740
],
_mm_xor_si64
(
c2
[
2040
],
_mm_xor_si64
(
c2
[
244
],
_mm_xor_si64
(
c2
[
245
],
_mm_xor_si64
(
c2
[
1483
],
_mm_xor_si64
(
c2
[
1783
],
_mm_xor_si64
(
c2
[
1175
],
_mm_xor_si64
(
c2
[
1475
],
c2
[
279
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
495
]
=
_mm_xor_si64
(
c2
[
901
],
_mm_xor_si64
(
c2
[
1
],
_mm_xor_si64
(
c2
[
1207
],
_mm_xor_si64
(
c2
[
1544
],
_mm_xor_si64
(
c2
[
332
],
_mm_xor_si64
(
c2
[
343
],
_mm_xor_si64
(
c2
[
367
],
_mm_xor_si64
(
c2
[
1564
],
_mm_xor_si64
(
c2
[
1865
],
_mm_xor_si64
(
c2
[
2190
],
_mm_xor_si64
(
c2
[
95
],
_mm_xor_si64
(
c2
[
1603
],
_mm_xor_si64
(
c2
[
426
],
_mm_xor_si64
(
c2
[
2224
],
_mm_xor_si64
(
c2
[
430
],
_mm_xor_si64
(
c2
[
1651
],
_mm_xor_si64
(
c2
[
162
],
_mm_xor_si64
(
c2
[
481
],
_mm_xor_si64
(
c2
[
790
],
_mm_xor_si64
(
c2
[
483
],
_mm_xor_si64
(
c2
[
511
],
_mm_xor_si64
(
c2
[
518
],
_mm_xor_si64
(
c2
[
810
],
_mm_xor_si64
(
c2
[
1154
],
_mm_xor_si64
(
c2
[
1742
],
_mm_xor_si64
(
c2
[
1743
],
_mm_xor_si64
(
c2
[
882
],
_mm_xor_si64
(
c2
[
574
],
c2
[
1777
]))))))))))))))))))))))))))));
//row: 34
d2
[
510
]
=
_mm_xor_si64
(
c2
[
5
],
_mm_xor_si64
(
c2
[
305
],
_mm_xor_si64
(
c2
[
2105
],
_mm_xor_si64
(
c2
[
1504
],
_mm_xor_si64
(
c2
[
1804
],
_mm_xor_si64
(
c2
[
1205
],
_mm_xor_si64
(
c2
[
611
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
8
],
_mm_xor_si64
(
c2
[
633
],
_mm_xor_si64
(
c2
[
933
],
_mm_xor_si64
(
c2
[
334
],
_mm_xor_si64
(
c2
[
2135
],
_mm_xor_si64
(
c2
[
1536
],
_mm_xor_si64
(
c2
[
2131
],
_mm_xor_si64
(
c2
[
1232
],
_mm_xor_si64
(
c2
[
1532
],
_mm_xor_si64
(
c2
[
1870
],
_mm_xor_si64
(
c2
[
2170
],
_mm_xor_si64
(
c2
[
1571
],
_mm_xor_si64
(
c2
[
968
],
_mm_xor_si64
(
c2
[
69
],
_mm_xor_si64
(
c2
[
369
],
_mm_xor_si64
(
c2
[
1294
],
_mm_xor_si64
(
c2
[
1594
],
_mm_xor_si64
(
c2
[
995
],
_mm_xor_si64
(
c2
[
1598
],
_mm_xor_si64
(
c2
[
1898
],
_mm_xor_si64
(
c2
[
1299
],
_mm_xor_si64
(
c2
[
992
],
_mm_xor_si64
(
c2
[
393
],
_mm_xor_si64
(
c2
[
1929
],
_mm_xor_si64
(
c2
[
2229
],
_mm_xor_si64
(
c2
[
1630
],
_mm_xor_si64
(
c2
[
1628
],
_mm_xor_si64
(
c2
[
1029
],
_mm_xor_si64
(
c2
[
2233
],
_mm_xor_si64
(
c2
[
1334
],
_mm_xor_si64
(
c2
[
1634
],
_mm_xor_si64
(
c2
[
755
],
_mm_xor_si64
(
c2
[
1055
],
_mm_xor_si64
(
c2
[
456
],
_mm_xor_si64
(
c2
[
1950
],
_mm_xor_si64
(
c2
[
1051
],
_mm_xor_si64
(
c2
[
1351
],
_mm_xor_si64
(
c2
[
1984
],
_mm_xor_si64
(
c2
[
2284
],
_mm_xor_si64
(
c2
[
1685
],
_mm_xor_si64
(
c2
[
2293
],
_mm_xor_si64
(
c2
[
194
],
_mm_xor_si64
(
c2
[
1994
],
_mm_xor_si64
(
c2
[
2286
],
_mm_xor_si64
(
c2
[
1387
],
_mm_xor_si64
(
c2
[
1687
],
_mm_xor_si64
(
c2
[
2014
],
_mm_xor_si64
(
c2
[
2314
],
_mm_xor_si64
(
c2
[
1715
],
_mm_xor_si64
(
c2
[
2321
],
_mm_xor_si64
(
c2
[
1422
],
_mm_xor_si64
(
c2
[
1722
],
_mm_xor_si64
(
c2
[
243
],
_mm_xor_si64
(
c2
[
543
],
_mm_xor_si64
(
c2
[
2343
],
_mm_xor_si64
(
c2
[
1146
],
_mm_xor_si64
(
c2
[
547
],
_mm_xor_si64
(
c2
[
1147
],
_mm_xor_si64
(
c2
[
248
],
_mm_xor_si64
(
c2
[
548
],
_mm_xor_si64
(
c2
[
2370
],
_mm_xor_si64
(
c2
[
271
],
_mm_xor_si64
(
c2
[
2071
],
_mm_xor_si64
(
c2
[
2077
],
_mm_xor_si64
(
c2
[
2377
],
_mm_xor_si64
(
c2
[
1778
],
_mm_xor_si64
(
c2
[
1181
],
_mm_xor_si64
(
c2
[
282
],
c2
[
582
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
525
]
=
_mm_xor_si64
(
c2
[
10
],
_mm_xor_si64
(
c2
[
310
],
_mm_xor_si64
(
c2
[
1809
],
_mm_xor_si64
(
c2
[
601
],
_mm_xor_si64
(
c2
[
638
],
_mm_xor_si64
(
c2
[
938
],
_mm_xor_si64
(
c2
[
2140
],
_mm_xor_si64
(
c2
[
2136
],
_mm_xor_si64
(
c2
[
1540
],
_mm_xor_si64
(
c2
[
1860
],
_mm_xor_si64
(
c2
[
2160
],
_mm_xor_si64
(
c2
[
973
],
_mm_xor_si64
(
c2
[
1299
],
_mm_xor_si64
(
c2
[
1599
],
_mm_xor_si64
(
c2
[
1903
],
_mm_xor_si64
(
c2
[
997
],
_mm_xor_si64
(
c2
[
2234
],
_mm_xor_si64
(
c2
[
1633
],
_mm_xor_si64
(
c2
[
2223
],
_mm_xor_si64
(
c2
[
1060
],
_mm_xor_si64
(
c2
[
1955
],
_mm_xor_si64
(
c2
[
463
],
_mm_xor_si64
(
c2
[
1989
],
_mm_xor_si64
(
c2
[
2289
],
_mm_xor_si64
(
c2
[
184
],
_mm_xor_si64
(
c2
[
2291
],
_mm_xor_si64
(
c2
[
2319
],
_mm_xor_si64
(
c2
[
2311
],
_mm_xor_si64
(
c2
[
548
],
_mm_xor_si64
(
c2
[
1151
],
_mm_xor_si64
(
c2
[
1152
],
_mm_xor_si64
(
c2
[
2375
],
_mm_xor_si64
(
c2
[
276
],
_mm_xor_si64
(
c2
[
2382
],
c2
[
1171
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
540
]
=
_mm_xor_si64
(
c2
[
607
],
_mm_xor_si64
(
c2
[
74
],
c2
[
823
]));
//row: 37
d2
[
555
]
=
_mm_xor_si64
(
c2
[
907
],
_mm_xor_si64
(
c2
[
1202
],
_mm_xor_si64
(
c2
[
7
],
_mm_xor_si64
(
c2
[
302
],
_mm_xor_si64
(
c2
[
1213
],
_mm_xor_si64
(
c2
[
1508
],
_mm_xor_si64
(
c2
[
1535
],
_mm_xor_si64
(
c2
[
1830
],
_mm_xor_si64
(
c2
[
338
],
_mm_xor_si64
(
c2
[
633
],
_mm_xor_si64
(
c2
[
334
],
_mm_xor_si64
(
c2
[
344
],
_mm_xor_si64
(
c2
[
644
],
_mm_xor_si64
(
c2
[
373
],
_mm_xor_si64
(
c2
[
668
],
_mm_xor_si64
(
c2
[
1570
],
_mm_xor_si64
(
c2
[
1565
],
_mm_xor_si64
(
c2
[
1865
],
_mm_xor_si64
(
c2
[
2196
],
_mm_xor_si64
(
c2
[
92
],
_mm_xor_si64
(
c2
[
101
],
_mm_xor_si64
(
c2
[
396
],
_mm_xor_si64
(
c2
[
1594
],
_mm_xor_si64
(
c2
[
1904
],
_mm_xor_si64
(
c2
[
432
],
_mm_xor_si64
(
c2
[
727
],
_mm_xor_si64
(
c2
[
2230
],
_mm_xor_si64
(
c2
[
126
],
_mm_xor_si64
(
c2
[
421
],
_mm_xor_si64
(
c2
[
431
],
_mm_xor_si64
(
c2
[
731
],
_mm_xor_si64
(
c2
[
1657
],
_mm_xor_si64
(
c2
[
1952
],
_mm_xor_si64
(
c2
[
153
],
_mm_xor_si64
(
c2
[
163
],
_mm_xor_si64
(
c2
[
463
],
_mm_xor_si64
(
c2
[
487
],
_mm_xor_si64
(
c2
[
782
],
_mm_xor_si64
(
c2
[
781
],
_mm_xor_si64
(
c2
[
1091
],
_mm_xor_si64
(
c2
[
489
],
_mm_xor_si64
(
c2
[
484
],
_mm_xor_si64
(
c2
[
784
],
_mm_xor_si64
(
c2
[
517
],
_mm_xor_si64
(
c2
[
812
],
_mm_xor_si64
(
c2
[
524
],
_mm_xor_si64
(
c2
[
519
],
_mm_xor_si64
(
c2
[
819
],
_mm_xor_si64
(
c2
[
1145
],
_mm_xor_si64
(
c2
[
1440
],
_mm_xor_si64
(
c2
[
1748
],
_mm_xor_si64
(
c2
[
2043
],
_mm_xor_si64
(
c2
[
1749
],
_mm_xor_si64
(
c2
[
1744
],
_mm_xor_si64
(
c2
[
2044
],
_mm_xor_si64
(
c2
[
873
],
_mm_xor_si64
(
c2
[
1183
],
_mm_xor_si64
(
c2
[
580
],
_mm_xor_si64
(
c2
[
875
],
_mm_xor_si64
(
c2
[
1783
],
_mm_xor_si64
(
c2
[
1778
],
c2
[
2078
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
570
]
=
_mm_xor_si64
(
c2
[
601
],
_mm_xor_si64
(
c2
[
901
],
_mm_xor_si64
(
c2
[
1
],
_mm_xor_si64
(
c2
[
1207
],
_mm_xor_si64
(
c2
[
1244
],
_mm_xor_si64
(
c2
[
1544
],
_mm_xor_si64
(
c2
[
332
],
_mm_xor_si64
(
c2
[
343
],
_mm_xor_si64
(
c2
[
635
],
_mm_xor_si64
(
c2
[
67
],
_mm_xor_si64
(
c2
[
367
],
_mm_xor_si64
(
c2
[
1564
],
_mm_xor_si64
(
c2
[
1890
],
_mm_xor_si64
(
c2
[
2190
],
_mm_xor_si64
(
c2
[
95
],
_mm_xor_si64
(
c2
[
1603
],
_mm_xor_si64
(
c2
[
426
],
_mm_xor_si64
(
c2
[
2224
],
_mm_xor_si64
(
c2
[
430
],
_mm_xor_si64
(
c2
[
1651
],
_mm_xor_si64
(
c2
[
162
],
_mm_xor_si64
(
c2
[
455
],
_mm_xor_si64
(
c2
[
181
],
_mm_xor_si64
(
c2
[
481
],
_mm_xor_si64
(
c2
[
790
],
_mm_xor_si64
(
c2
[
483
],
_mm_xor_si64
(
c2
[
511
],
_mm_xor_si64
(
c2
[
518
],
_mm_xor_si64
(
c2
[
1154
],
_mm_xor_si64
(
c2
[
1742
],
_mm_xor_si64
(
c2
[
1743
],
_mm_xor_si64
(
c2
[
582
],
_mm_xor_si64
(
c2
[
882
],
_mm_xor_si64
(
c2
[
574
],
c2
[
1777
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
585
]
=
_mm_xor_si64
(
c2
[
1811
],
_mm_xor_si64
(
c2
[
2111
],
_mm_xor_si64
(
c2
[
911
],
_mm_xor_si64
(
c2
[
1211
],
_mm_xor_si64
(
c2
[
3
],
_mm_xor_si64
(
c2
[
2105
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
340
],
_mm_xor_si64
(
c2
[
1542
],
_mm_xor_si64
(
c2
[
1538
],
_mm_xor_si64
(
c2
[
1262
],
_mm_xor_si64
(
c2
[
1562
],
_mm_xor_si64
(
c2
[
360
],
_mm_xor_si64
(
c2
[
701
],
_mm_xor_si64
(
c2
[
1001
],
_mm_xor_si64
(
c2
[
990
],
_mm_xor_si64
(
c2
[
1290
],
_mm_xor_si64
(
c2
[
399
],
_mm_xor_si64
(
c2
[
1321
],
_mm_xor_si64
(
c2
[
1621
],
_mm_xor_si64
(
c2
[
1020
],
_mm_xor_si64
(
c2
[
1625
],
_mm_xor_si64
(
c2
[
162
],
_mm_xor_si64
(
c2
[
462
],
_mm_xor_si64
(
c2
[
1357
],
_mm_xor_si64
(
c2
[
1391
],
_mm_xor_si64
(
c2
[
1691
],
_mm_xor_si64
(
c2
[
1685
],
_mm_xor_si64
(
c2
[
1985
],
_mm_xor_si64
(
c2
[
1693
],
_mm_xor_si64
(
c2
[
1421
],
_mm_xor_si64
(
c2
[
1721
],
_mm_xor_si64
(
c2
[
1713
],
_mm_xor_si64
(
c2
[
1715
],
_mm_xor_si64
(
c2
[
2049
],
_mm_xor_si64
(
c2
[
2349
],
_mm_xor_si64
(
c2
[
553
],
_mm_xor_si64
(
c2
[
554
],
_mm_xor_si64
(
c2
[
1777
],
_mm_xor_si64
(
c2
[
2077
],
_mm_xor_si64
(
c2
[
1484
],
_mm_xor_si64
(
c2
[
1784
],
c2
[
573
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
600
]
=
_mm_xor_si64
(
c2
[
1211
],
_mm_xor_si64
(
c2
[
1810
],
_mm_xor_si64
(
c2
[
311
],
_mm_xor_si64
(
c2
[
910
],
_mm_xor_si64
(
c2
[
1502
],
_mm_xor_si64
(
c2
[
2101
],
_mm_xor_si64
(
c2
[
1839
],
_mm_xor_si64
(
c2
[
39
],
_mm_xor_si64
(
c2
[
642
],
_mm_xor_si64
(
c2
[
1241
],
_mm_xor_si64
(
c2
[
638
],
_mm_xor_si64
(
c2
[
937
],
_mm_xor_si64
(
c2
[
1237
],
_mm_xor_si64
(
c2
[
662
],
_mm_xor_si64
(
c2
[
1261
],
_mm_xor_si64
(
c2
[
1874
],
_mm_xor_si64
(
c2
[
2173
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
1869
],
_mm_xor_si64
(
c2
[
101
],
_mm_xor_si64
(
c2
[
700
],
_mm_xor_si64
(
c2
[
390
],
_mm_xor_si64
(
c2
[
1004
],
_mm_xor_si64
(
c2
[
1898
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
721
],
_mm_xor_si64
(
c2
[
1320
],
_mm_xor_si64
(
c2
[
120
],
_mm_xor_si64
(
c2
[
734
],
_mm_xor_si64
(
c2
[
725
],
_mm_xor_si64
(
c2
[
1024
],
_mm_xor_si64
(
c2
[
1324
],
_mm_xor_si64
(
c2
[
1961
],
_mm_xor_si64
(
c2
[
161
],
_mm_xor_si64
(
c2
[
457
],
_mm_xor_si64
(
c2
[
756
],
_mm_xor_si64
(
c2
[
1056
],
_mm_xor_si64
(
c2
[
791
],
_mm_xor_si64
(
c2
[
1390
],
_mm_xor_si64
(
c2
[
1085
],
_mm_xor_si64
(
c2
[
1684
],
_mm_xor_si64
(
c2
[
793
],
_mm_xor_si64
(
c2
[
1092
],
_mm_xor_si64
(
c2
[
1392
],
_mm_xor_si64
(
c2
[
821
],
_mm_xor_si64
(
c2
[
1420
],
_mm_xor_si64
(
c2
[
813
],
_mm_xor_si64
(
c2
[
1112
],
_mm_xor_si64
(
c2
[
1412
],
_mm_xor_si64
(
c2
[
1449
],
_mm_xor_si64
(
c2
[
2048
],
_mm_xor_si64
(
c2
[
2052
],
_mm_xor_si64
(
c2
[
252
],
_mm_xor_si64
(
c2
[
2053
],
_mm_xor_si64
(
c2
[
2352
],
_mm_xor_si64
(
c2
[
253
],
_mm_xor_si64
(
c2
[
1177
],
_mm_xor_si64
(
c2
[
1776
],
_mm_xor_si64
(
c2
[
884
],
_mm_xor_si64
(
c2
[
1483
],
_mm_xor_si64
(
c2
[
2072
],
_mm_xor_si64
(
c2
[
2371
],
c2
[
272
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
615
]
=
_mm_xor_si64
(
c2
[
2101
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
1501
],
_mm_xor_si64
(
c2
[
308
],
_mm_xor_si64
(
c2
[
330
],
_mm_xor_si64
(
c2
[
630
],
_mm_xor_si64
(
c2
[
1832
],
_mm_xor_si64
(
c2
[
1843
],
_mm_xor_si64
(
c2
[
1536
],
_mm_xor_si64
(
c2
[
1567
],
_mm_xor_si64
(
c2
[
1867
],
_mm_xor_si64
(
c2
[
665
],
_mm_xor_si64
(
c2
[
991
],
_mm_xor_si64
(
c2
[
1291
],
_mm_xor_si64
(
c2
[
1595
],
_mm_xor_si64
(
c2
[
704
],
_mm_xor_si64
(
c2
[
1926
],
_mm_xor_si64
(
c2
[
1325
],
_mm_xor_si64
(
c2
[
1930
],
_mm_xor_si64
(
c2
[
752
],
_mm_xor_si64
(
c2
[
1662
],
_mm_xor_si64
(
c2
[
2261
],
_mm_xor_si64
(
c2
[
1681
],
_mm_xor_si64
(
c2
[
1981
],
_mm_xor_si64
(
c2
[
2290
],
_mm_xor_si64
(
c2
[
1983
],
_mm_xor_si64
(
c2
[
2011
],
_mm_xor_si64
(
c2
[
2018
],
_mm_xor_si64
(
c2
[
240
],
_mm_xor_si64
(
c2
[
843
],
_mm_xor_si64
(
c2
[
844
],
_mm_xor_si64
(
c2
[
2082
],
_mm_xor_si64
(
c2
[
2382
],
_mm_xor_si64
(
c2
[
2074
],
c2
[
878
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc128_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=128, byte encoding
static
inline
void
ldpc_BG2_Zc128_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m256i
*
csimd
=
(
__m256i
*
)
c
,
*
dsimd
=
(
__m256i
*
)
d
;
__m256i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
4
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm256_xor_si256
(
c2
[
640
],
_mm256_xor_si256
(
c2
[
481
],
_mm256_xor_si256
(
c2
[
1282
],
_mm256_xor_si256
(
c2
[
1611
],
_mm256_xor_si256
(
c2
[
1371
],
_mm256_xor_si256
(
c2
[
568
],
_mm256_xor_si256
(
c2
[
898
],
_mm256_xor_si256
(
c2
[
2017
],
_mm256_xor_si256
(
c2
[
2024
],
_mm256_xor_si256
(
c2
[
425
],
_mm256_xor_si256
(
c2
[
905
],
_mm256_xor_si256
(
c2
[
2275
],
_mm256_xor_si256
(
c2
[
1553
],
_mm256_xor_si256
(
c2
[
2352
],
_mm256_xor_si256
(
c2
[
2283
],
_mm256_xor_si256
(
c2
[
603
],
_mm256_xor_si256
(
c2
[
2289
],
_mm256_xor_si256
(
c2
[
131
],
_mm256_xor_si256
(
c2
[
1330
],
_mm256_xor_si256
(
c2
[
2216
],
_mm256_xor_si256
(
c2
[
1737
],
_mm256_xor_si256
(
c2
[
2546
],
_mm256_xor_si256
(
c2
[
1267
],
_mm256_xor_si256
(
c2
[
1424
],
_mm256_xor_si256
(
c2
[
1034
],
_mm256_xor_si256
(
c2
[
2235
],
c2
[
2555
]))))))))))))))))))))))))));
//row: 1
d2
[
4
]
=
_mm256_xor_si256
(
c2
[
720
],
_mm256_xor_si256
(
c2
[
640
],
_mm256_xor_si256
(
c2
[
481
],
_mm256_xor_si256
(
c2
[
1282
],
_mm256_xor_si256
(
c2
[
1691
],
_mm256_xor_si256
(
c2
[
1611
],
_mm256_xor_si256
(
c2
[
1371
],
_mm256_xor_si256
(
c2
[
568
],
_mm256_xor_si256
(
c2
[
978
],
_mm256_xor_si256
(
c2
[
898
],
_mm256_xor_si256
(
c2
[
2017
],
_mm256_xor_si256
(
c2
[
2104
],
_mm256_xor_si256
(
c2
[
2024
],
_mm256_xor_si256
(
c2
[
425
],
_mm256_xor_si256
(
c2
[
905
],
_mm256_xor_si256
(
c2
[
2275
],
_mm256_xor_si256
(
c2
[
1553
],
_mm256_xor_si256
(
c2
[
2352
],
_mm256_xor_si256
(
c2
[
2283
],
_mm256_xor_si256
(
c2
[
603
],
_mm256_xor_si256
(
c2
[
2369
],
_mm256_xor_si256
(
c2
[
2289
],
_mm256_xor_si256
(
c2
[
131
],
_mm256_xor_si256
(
c2
[
1330
],
_mm256_xor_si256
(
c2
[
2216
],
_mm256_xor_si256
(
c2
[
1737
],
_mm256_xor_si256
(
c2
[
2546
],
_mm256_xor_si256
(
c2
[
1267
],
_mm256_xor_si256
(
c2
[
1424
],
_mm256_xor_si256
(
c2
[
1114
],
_mm256_xor_si256
(
c2
[
1034
],
_mm256_xor_si256
(
c2
[
2235
],
c2
[
2555
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
8
]
=
_mm256_xor_si256
(
c2
[
720
],
_mm256_xor_si256
(
c2
[
640
],
_mm256_xor_si256
(
c2
[
561
],
_mm256_xor_si256
(
c2
[
481
],
_mm256_xor_si256
(
c2
[
1282
],
_mm256_xor_si256
(
c2
[
1691
],
_mm256_xor_si256
(
c2
[
1611
],
_mm256_xor_si256
(
c2
[
1371
],
_mm256_xor_si256
(
c2
[
568
],
_mm256_xor_si256
(
c2
[
978
],
_mm256_xor_si256
(
c2
[
898
],
_mm256_xor_si256
(
c2
[
2017
],
_mm256_xor_si256
(
c2
[
2104
],
_mm256_xor_si256
(
c2
[
2024
],
_mm256_xor_si256
(
c2
[
505
],
_mm256_xor_si256
(
c2
[
425
],
_mm256_xor_si256
(
c2
[
905
],
_mm256_xor_si256
(
c2
[
2355
],
_mm256_xor_si256
(
c2
[
2275
],
_mm256_xor_si256
(
c2
[
1553
],
_mm256_xor_si256
(
c2
[
2352
],
_mm256_xor_si256
(
c2
[
2363
],
_mm256_xor_si256
(
c2
[
2283
],
_mm256_xor_si256
(
c2
[
603
],
_mm256_xor_si256
(
c2
[
2369
],
_mm256_xor_si256
(
c2
[
2289
],
_mm256_xor_si256
(
c2
[
211
],
_mm256_xor_si256
(
c2
[
131
],
_mm256_xor_si256
(
c2
[
1330
],
_mm256_xor_si256
(
c2
[
2296
],
_mm256_xor_si256
(
c2
[
2216
],
_mm256_xor_si256
(
c2
[
1737
],
_mm256_xor_si256
(
c2
[
67
],
_mm256_xor_si256
(
c2
[
2546
],
_mm256_xor_si256
(
c2
[
1267
],
_mm256_xor_si256
(
c2
[
1424
],
_mm256_xor_si256
(
c2
[
1114
],
_mm256_xor_si256
(
c2
[
1034
],
_mm256_xor_si256
(
c2
[
2315
],
_mm256_xor_si256
(
c2
[
2235
],
c2
[
2555
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
12
]
=
_mm256_xor_si256
(
c2
[
640
],
_mm256_xor_si256
(
c2
[
481
],
_mm256_xor_si256
(
c2
[
1282
],
_mm256_xor_si256
(
c2
[
1611
],
_mm256_xor_si256
(
c2
[
1371
],
_mm256_xor_si256
(
c2
[
648
],
_mm256_xor_si256
(
c2
[
568
],
_mm256_xor_si256
(
c2
[
898
],
_mm256_xor_si256
(
c2
[
2097
],
_mm256_xor_si256
(
c2
[
2017
],
_mm256_xor_si256
(
c2
[
2024
],
_mm256_xor_si256
(
c2
[
425
],
_mm256_xor_si256
(
c2
[
905
],
_mm256_xor_si256
(
c2
[
2275
],
_mm256_xor_si256
(
c2
[
1553
],
_mm256_xor_si256
(
c2
[
2432
],
_mm256_xor_si256
(
c2
[
2352
],
_mm256_xor_si256
(
c2
[
2283
],
_mm256_xor_si256
(
c2
[
683
],
_mm256_xor_si256
(
c2
[
603
],
_mm256_xor_si256
(
c2
[
2289
],
_mm256_xor_si256
(
c2
[
131
],
_mm256_xor_si256
(
c2
[
1410
],
_mm256_xor_si256
(
c2
[
1330
],
_mm256_xor_si256
(
c2
[
2216
],
_mm256_xor_si256
(
c2
[
1817
],
_mm256_xor_si256
(
c2
[
1737
],
_mm256_xor_si256
(
c2
[
2546
],
_mm256_xor_si256
(
c2
[
1267
],
_mm256_xor_si256
(
c2
[
1504
],
_mm256_xor_si256
(
c2
[
1424
],
_mm256_xor_si256
(
c2
[
1034
],
_mm256_xor_si256
(
c2
[
2235
],
_mm256_xor_si256
(
c2
[
72
],
c2
[
2555
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
16
]
=
_mm256_xor_si256
(
c2
[
1282
],
_mm256_xor_si256
(
c2
[
1202
],
_mm256_xor_si256
(
c2
[
1043
],
_mm256_xor_si256
(
c2
[
1840
],
_mm256_xor_si256
(
c2
[
1521
],
_mm256_xor_si256
(
c2
[
2249
],
_mm256_xor_si256
(
c2
[
2169
],
_mm256_xor_si256
(
c2
[
1929
],
_mm256_xor_si256
(
c2
[
1130
],
_mm256_xor_si256
(
c2
[
1770
],
_mm256_xor_si256
(
c2
[
1536
],
_mm256_xor_si256
(
c2
[
1456
],
_mm256_xor_si256
(
c2
[
16
],
_mm256_xor_si256
(
c2
[
107
],
_mm256_xor_si256
(
c2
[
27
],
_mm256_xor_si256
(
c2
[
987
],
_mm256_xor_si256
(
c2
[
1467
],
_mm256_xor_si256
(
c2
[
274
],
_mm256_xor_si256
(
c2
[
2115
],
_mm256_xor_si256
(
c2
[
355
],
_mm256_xor_si256
(
c2
[
282
],
_mm256_xor_si256
(
c2
[
1161
],
_mm256_xor_si256
(
c2
[
368
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
689
],
_mm256_xor_si256
(
c2
[
1888
],
_mm256_xor_si256
(
c2
[
219
],
_mm256_xor_si256
(
c2
[
2299
],
_mm256_xor_si256
(
c2
[
545
],
_mm256_xor_si256
(
c2
[
1825
],
_mm256_xor_si256
(
c2
[
1986
],
_mm256_xor_si256
(
c2
[
1672
],
_mm256_xor_si256
(
c2
[
1592
],
_mm256_xor_si256
(
c2
[
234
],
c2
[
554
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
20
]
=
_mm256_xor_si256
(
c2
[
1283
],
_mm256_xor_si256
(
c2
[
1203
],
_mm256_xor_si256
(
c2
[
1040
],
_mm256_xor_si256
(
c2
[
1841
],
_mm256_xor_si256
(
c2
[
563
],
_mm256_xor_si256
(
c2
[
2250
],
_mm256_xor_si256
(
c2
[
2170
],
_mm256_xor_si256
(
c2
[
1930
],
_mm256_xor_si256
(
c2
[
1131
],
_mm256_xor_si256
(
c2
[
729
],
_mm256_xor_si256
(
c2
[
1537
],
_mm256_xor_si256
(
c2
[
1457
],
_mm256_xor_si256
(
c2
[
17
],
_mm256_xor_si256
(
c2
[
104
],
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
984
],
_mm256_xor_si256
(
c2
[
1464
],
_mm256_xor_si256
(
c2
[
275
],
_mm256_xor_si256
(
c2
[
2112
],
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
283
],
_mm256_xor_si256
(
c2
[
1162
],
_mm256_xor_si256
(
c2
[
202
],
_mm256_xor_si256
(
c2
[
369
],
_mm256_xor_si256
(
c2
[
289
],
_mm256_xor_si256
(
c2
[
690
],
_mm256_xor_si256
(
c2
[
1889
],
_mm256_xor_si256
(
c2
[
216
],
_mm256_xor_si256
(
c2
[
2296
],
_mm256_xor_si256
(
c2
[
2536
],
_mm256_xor_si256
(
c2
[
546
],
_mm256_xor_si256
(
c2
[
1826
],
_mm256_xor_si256
(
c2
[
1987
],
_mm256_xor_si256
(
c2
[
1673
],
_mm256_xor_si256
(
c2
[
1593
],
_mm256_xor_si256
(
c2
[
235
],
c2
[
555
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
24
]
=
_mm256_xor_si256
(
c2
[
561
],
_mm256_xor_si256
(
c2
[
481
],
_mm256_xor_si256
(
c2
[
322
],
_mm256_xor_si256
(
c2
[
1123
],
_mm256_xor_si256
(
c2
[
2160
],
_mm256_xor_si256
(
c2
[
1528
],
_mm256_xor_si256
(
c2
[
1448
],
_mm256_xor_si256
(
c2
[
1208
],
_mm256_xor_si256
(
c2
[
409
],
_mm256_xor_si256
(
c2
[
819
],
_mm256_xor_si256
(
c2
[
739
],
_mm256_xor_si256
(
c2
[
1858
],
_mm256_xor_si256
(
c2
[
1945
],
_mm256_xor_si256
(
c2
[
1865
],
_mm256_xor_si256
(
c2
[
266
],
_mm256_xor_si256
(
c2
[
746
],
_mm256_xor_si256
(
c2
[
2112
],
_mm256_xor_si256
(
c2
[
1394
],
_mm256_xor_si256
(
c2
[
2193
],
_mm256_xor_si256
(
c2
[
2120
],
_mm256_xor_si256
(
c2
[
440
],
_mm256_xor_si256
(
c2
[
363
],
_mm256_xor_si256
(
c2
[
2210
],
_mm256_xor_si256
(
c2
[
2130
],
_mm256_xor_si256
(
c2
[
2531
],
_mm256_xor_si256
(
c2
[
1171
],
_mm256_xor_si256
(
c2
[
2057
],
_mm256_xor_si256
(
c2
[
1578
],
_mm256_xor_si256
(
c2
[
1097
],
_mm256_xor_si256
(
c2
[
2387
],
_mm256_xor_si256
(
c2
[
1104
],
_mm256_xor_si256
(
c2
[
1265
],
_mm256_xor_si256
(
c2
[
955
],
_mm256_xor_si256
(
c2
[
875
],
_mm256_xor_si256
(
c2
[
2072
],
_mm256_xor_si256
(
c2
[
2392
],
c2
[
2312
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
28
]
=
_mm256_xor_si256
(
c2
[
960
],
_mm256_xor_si256
(
c2
[
880
],
_mm256_xor_si256
(
c2
[
2243
],
_mm256_xor_si256
(
c2
[
721
],
_mm256_xor_si256
(
c2
[
2080
],
_mm256_xor_si256
(
c2
[
1522
],
_mm256_xor_si256
(
c2
[
322
],
_mm256_xor_si256
(
c2
[
1931
],
_mm256_xor_si256
(
c2
[
1851
],
_mm256_xor_si256
(
c2
[
651
],
_mm256_xor_si256
(
c2
[
1611
],
_mm256_xor_si256
(
c2
[
411
],
_mm256_xor_si256
(
c2
[
2251
],
_mm256_xor_si256
(
c2
[
808
],
_mm256_xor_si256
(
c2
[
2171
],
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
1218
],
_mm256_xor_si256
(
c2
[
1138
],
_mm256_xor_si256
(
c2
[
2497
],
_mm256_xor_si256
(
c2
[
1137
],
_mm256_xor_si256
(
c2
[
2257
],
_mm256_xor_si256
(
c2
[
1057
],
_mm256_xor_si256
(
c2
[
2344
],
_mm256_xor_si256
(
c2
[
2264
],
_mm256_xor_si256
(
c2
[
1064
],
_mm256_xor_si256
(
c2
[
665
],
_mm256_xor_si256
(
c2
[
2024
],
_mm256_xor_si256
(
c2
[
1145
],
_mm256_xor_si256
(
c2
[
2504
],
_mm256_xor_si256
(
c2
[
2515
],
_mm256_xor_si256
(
c2
[
1315
],
_mm256_xor_si256
(
c2
[
1793
],
_mm256_xor_si256
(
c2
[
593
],
_mm256_xor_si256
(
c2
[
1472
],
_mm256_xor_si256
(
c2
[
33
],
_mm256_xor_si256
(
c2
[
1392
],
_mm256_xor_si256
(
c2
[
2523
],
_mm256_xor_si256
(
c2
[
1323
],
_mm256_xor_si256
(
c2
[
2282
],
_mm256_xor_si256
(
c2
[
843
],
_mm256_xor_si256
(
c2
[
2202
],
_mm256_xor_si256
(
c2
[
1560
],
_mm256_xor_si256
(
c2
[
50
],
_mm256_xor_si256
(
c2
[
2529
],
_mm256_xor_si256
(
c2
[
1329
],
_mm256_xor_si256
(
c2
[
371
],
_mm256_xor_si256
(
c2
[
1730
],
_mm256_xor_si256
(
c2
[
450
],
_mm256_xor_si256
(
c2
[
1570
],
_mm256_xor_si256
(
c2
[
370
],
_mm256_xor_si256
(
c2
[
2456
],
_mm256_xor_si256
(
c2
[
1256
],
_mm256_xor_si256
(
c2
[
857
],
_mm256_xor_si256
(
c2
[
1977
],
_mm256_xor_si256
(
c2
[
777
],
_mm256_xor_si256
(
c2
[
1016
],
_mm256_xor_si256
(
c2
[
227
],
_mm256_xor_si256
(
c2
[
1586
],
_mm256_xor_si256
(
c2
[
1507
],
_mm256_xor_si256
(
c2
[
307
],
_mm256_xor_si256
(
c2
[
544
],
_mm256_xor_si256
(
c2
[
1664
],
_mm256_xor_si256
(
c2
[
464
],
_mm256_xor_si256
(
c2
[
1354
],
_mm256_xor_si256
(
c2
[
1274
],
_mm256_xor_si256
(
c2
[
74
],
_mm256_xor_si256
(
c2
[
2475
],
_mm256_xor_si256
(
c2
[
1275
],
_mm256_xor_si256
(
c2
[
1675
],
_mm256_xor_si256
(
c2
[
232
],
c2
[
1595
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
32
]
=
_mm256_xor_si256
(
c2
[
1203
],
_mm256_xor_si256
(
c2
[
1123
],
_mm256_xor_si256
(
c2
[
1040
],
_mm256_xor_si256
(
c2
[
960
],
_mm256_xor_si256
(
c2
[
1761
],
_mm256_xor_si256
(
c2
[
1120
],
_mm256_xor_si256
(
c2
[
2170
],
_mm256_xor_si256
(
c2
[
2090
],
_mm256_xor_si256
(
c2
[
1850
],
_mm256_xor_si256
(
c2
[
1051
],
_mm256_xor_si256
(
c2
[
2410
],
_mm256_xor_si256
(
c2
[
1457
],
_mm256_xor_si256
(
c2
[
1377
],
_mm256_xor_si256
(
c2
[
2496
],
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
2507
],
_mm256_xor_si256
(
c2
[
984
],
_mm256_xor_si256
(
c2
[
904
],
_mm256_xor_si256
(
c2
[
1384
],
_mm256_xor_si256
(
c2
[
275
],
_mm256_xor_si256
(
c2
[
195
],
_mm256_xor_si256
(
c2
[
2032
],
_mm256_xor_si256
(
c2
[
272
],
_mm256_xor_si256
(
c2
[
283
],
_mm256_xor_si256
(
c2
[
203
],
_mm256_xor_si256
(
c2
[
1082
],
_mm256_xor_si256
(
c2
[
289
],
_mm256_xor_si256
(
c2
[
209
],
_mm256_xor_si256
(
c2
[
690
],
_mm256_xor_si256
(
c2
[
610
],
_mm256_xor_si256
(
c2
[
1809
],
_mm256_xor_si256
(
c2
[
216
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
2216
],
_mm256_xor_si256
(
c2
[
546
],
_mm256_xor_si256
(
c2
[
466
],
_mm256_xor_si256
(
c2
[
1746
],
_mm256_xor_si256
(
c2
[
1907
],
_mm256_xor_si256
(
c2
[
1593
],
_mm256_xor_si256
(
c2
[
1513
],
_mm256_xor_si256
(
c2
[
235
],
_mm256_xor_si256
(
c2
[
155
],
c2
[
475
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
36
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
402
],
_mm256_xor_si256
(
c2
[
2483
],
_mm256_xor_si256
(
c2
[
243
],
_mm256_xor_si256
(
c2
[
2320
],
_mm256_xor_si256
(
c2
[
1040
],
_mm256_xor_si256
(
c2
[
562
],
_mm256_xor_si256
(
c2
[
971
],
_mm256_xor_si256
(
c2
[
1369
],
_mm256_xor_si256
(
c2
[
891
],
_mm256_xor_si256
(
c2
[
1129
],
_mm256_xor_si256
(
c2
[
651
],
_mm256_xor_si256
(
c2
[
330
],
_mm256_xor_si256
(
c2
[
2411
],
_mm256_xor_si256
(
c2
[
890
],
_mm256_xor_si256
(
c2
[
258
],
_mm256_xor_si256
(
c2
[
656
],
_mm256_xor_si256
(
c2
[
178
],
_mm256_xor_si256
(
c2
[
1779
],
_mm256_xor_si256
(
c2
[
1297
],
_mm256_xor_si256
(
c2
[
1384
],
_mm256_xor_si256
(
c2
[
1786
],
_mm256_xor_si256
(
c2
[
1304
],
_mm256_xor_si256
(
c2
[
187
],
_mm256_xor_si256
(
c2
[
2264
],
_mm256_xor_si256
(
c2
[
667
],
_mm256_xor_si256
(
c2
[
185
],
_mm256_xor_si256
(
c2
[
2033
],
_mm256_xor_si256
(
c2
[
1555
],
_mm256_xor_si256
(
c2
[
1315
],
_mm256_xor_si256
(
c2
[
833
],
_mm256_xor_si256
(
c2
[
2114
],
_mm256_xor_si256
(
c2
[
1632
],
_mm256_xor_si256
(
c2
[
2041
],
_mm256_xor_si256
(
c2
[
1563
],
_mm256_xor_si256
(
c2
[
361
],
_mm256_xor_si256
(
c2
[
2442
],
_mm256_xor_si256
(
c2
[
1649
],
_mm256_xor_si256
(
c2
[
2051
],
_mm256_xor_si256
(
c2
[
1569
],
_mm256_xor_si256
(
c2
[
2448
],
_mm256_xor_si256
(
c2
[
1970
],
_mm256_xor_si256
(
c2
[
1088
],
_mm256_xor_si256
(
c2
[
610
],
_mm256_xor_si256
(
c2
[
1978
],
_mm256_xor_si256
(
c2
[
1496
],
_mm256_xor_si256
(
c2
[
1499
],
_mm256_xor_si256
(
c2
[
1017
],
_mm256_xor_si256
(
c2
[
2304
],
_mm256_xor_si256
(
c2
[
1826
],
_mm256_xor_si256
(
c2
[
1025
],
_mm256_xor_si256
(
c2
[
547
],
_mm256_xor_si256
(
c2
[
1186
],
_mm256_xor_si256
(
c2
[
704
],
_mm256_xor_si256
(
c2
[
1106
],
_mm256_xor_si256
(
c2
[
394
],
_mm256_xor_si256
(
c2
[
792
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
1993
],
_mm256_xor_si256
(
c2
[
1515
],
_mm256_xor_si256
(
c2
[
2313
],
c2
[
1835
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
40
]
=
_mm256_xor_si256
(
c2
[
880
],
_mm256_xor_si256
(
c2
[
2009
],
_mm256_xor_si256
(
c2
[
48
],
c2
[
1739
])));
//row: 11
d2
[
44
]
=
_mm256_xor_si256
(
c2
[
2
],
_mm256_xor_si256
(
c2
[
2402
],
_mm256_xor_si256
(
c2
[
640
],
_mm256_xor_si256
(
c2
[
880
],
_mm256_xor_si256
(
c2
[
969
],
_mm256_xor_si256
(
c2
[
729
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
2489
],
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
1459
],
_mm256_xor_si256
(
c2
[
1379
],
_mm256_xor_si256
(
c2
[
1386
],
_mm256_xor_si256
(
c2
[
2346
],
_mm256_xor_si256
(
c2
[
267
],
_mm256_xor_si256
(
c2
[
1633
],
_mm256_xor_si256
(
c2
[
915
],
_mm256_xor_si256
(
c2
[
1794
],
_mm256_xor_si256
(
c2
[
1714
],
_mm256_xor_si256
(
c2
[
1641
],
_mm256_xor_si256
(
c2
[
41
],
_mm256_xor_si256
(
c2
[
2520
],
_mm256_xor_si256
(
c2
[
1651
],
_mm256_xor_si256
(
c2
[
2048
],
_mm256_xor_si256
(
c2
[
768
],
_mm256_xor_si256
(
c2
[
688
],
_mm256_xor_si256
(
c2
[
1578
],
_mm256_xor_si256
(
c2
[
1179
],
_mm256_xor_si256
(
c2
[
1099
],
_mm256_xor_si256
(
c2
[
1019
],
_mm256_xor_si256
(
c2
[
1904
],
_mm256_xor_si256
(
c2
[
625
],
_mm256_xor_si256
(
c2
[
866
],
_mm256_xor_si256
(
c2
[
786
],
_mm256_xor_si256
(
c2
[
392
],
_mm256_xor_si256
(
c2
[
1593
],
_mm256_xor_si256
(
c2
[
1993
],
_mm256_xor_si256
(
c2
[
1913
],
c2
[
1514
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
48
]
=
_mm256_xor_si256
(
c2
[
1840
],
_mm256_xor_si256
(
c2
[
1760
],
_mm256_xor_si256
(
c2
[
1601
],
_mm256_xor_si256
(
c2
[
2402
],
_mm256_xor_si256
(
c2
[
248
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
2491
],
_mm256_xor_si256
(
c2
[
1688
],
_mm256_xor_si256
(
c2
[
2489
],
_mm256_xor_si256
(
c2
[
2098
],
_mm256_xor_si256
(
c2
[
2018
],
_mm256_xor_si256
(
c2
[
578
],
_mm256_xor_si256
(
c2
[
665
],
_mm256_xor_si256
(
c2
[
585
],
_mm256_xor_si256
(
c2
[
1545
],
_mm256_xor_si256
(
c2
[
2025
],
_mm256_xor_si256
(
c2
[
1227
],
_mm256_xor_si256
(
c2
[
832
],
_mm256_xor_si256
(
c2
[
114
],
_mm256_xor_si256
(
c2
[
913
],
_mm256_xor_si256
(
c2
[
840
],
_mm256_xor_si256
(
c2
[
1723
],
_mm256_xor_si256
(
c2
[
930
],
_mm256_xor_si256
(
c2
[
850
],
_mm256_xor_si256
(
c2
[
1251
],
_mm256_xor_si256
(
c2
[
2450
],
_mm256_xor_si256
(
c2
[
777
],
_mm256_xor_si256
(
c2
[
298
],
_mm256_xor_si256
(
c2
[
1107
],
_mm256_xor_si256
(
c2
[
2387
],
_mm256_xor_si256
(
c2
[
2544
],
_mm256_xor_si256
(
c2
[
2234
],
_mm256_xor_si256
(
c2
[
2154
],
_mm256_xor_si256
(
c2
[
792
],
c2
[
1112
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
52
]
=
_mm256_xor_si256
(
c2
[
483
],
_mm256_xor_si256
(
c2
[
320
],
_mm256_xor_si256
(
c2
[
1121
],
_mm256_xor_si256
(
c2
[
1522
],
_mm256_xor_si256
(
c2
[
1450
],
_mm256_xor_si256
(
c2
[
1210
],
_mm256_xor_si256
(
c2
[
491
],
_mm256_xor_si256
(
c2
[
411
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
737
],
_mm256_xor_si256
(
c2
[
1936
],
_mm256_xor_si256
(
c2
[
1856
],
_mm256_xor_si256
(
c2
[
1867
],
_mm256_xor_si256
(
c2
[
264
],
_mm256_xor_si256
(
c2
[
744
],
_mm256_xor_si256
(
c2
[
2114
],
_mm256_xor_si256
(
c2
[
1392
],
_mm256_xor_si256
(
c2
[
2275
],
_mm256_xor_si256
(
c2
[
2195
],
_mm256_xor_si256
(
c2
[
2122
],
_mm256_xor_si256
(
c2
[
522
],
_mm256_xor_si256
(
c2
[
442
],
_mm256_xor_si256
(
c2
[
2128
],
_mm256_xor_si256
(
c2
[
2529
],
_mm256_xor_si256
(
c2
[
1249
],
_mm256_xor_si256
(
c2
[
1169
],
_mm256_xor_si256
(
c2
[
2059
],
_mm256_xor_si256
(
c2
[
1656
],
_mm256_xor_si256
(
c2
[
1576
],
_mm256_xor_si256
(
c2
[
2385
],
_mm256_xor_si256
(
c2
[
1106
],
_mm256_xor_si256
(
c2
[
1347
],
_mm256_xor_si256
(
c2
[
1267
],
_mm256_xor_si256
(
c2
[
545
],
_mm256_xor_si256
(
c2
[
873
],
_mm256_xor_si256
(
c2
[
2074
],
_mm256_xor_si256
(
c2
[
2474
],
c2
[
2394
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
56
]
=
_mm256_xor_si256
(
c2
[
960
],
_mm256_xor_si256
(
c2
[
880
],
_mm256_xor_si256
(
c2
[
1283
],
_mm256_xor_si256
(
c2
[
721
],
_mm256_xor_si256
(
c2
[
1120
],
_mm256_xor_si256
(
c2
[
1522
],
_mm256_xor_si256
(
c2
[
1921
],
_mm256_xor_si256
(
c2
[
1931
],
_mm256_xor_si256
(
c2
[
1851
],
_mm256_xor_si256
(
c2
[
2250
],
_mm256_xor_si256
(
c2
[
1611
],
_mm256_xor_si256
(
c2
[
2010
],
_mm256_xor_si256
(
c2
[
1291
],
_mm256_xor_si256
(
c2
[
808
],
_mm256_xor_si256
(
c2
[
1211
],
_mm256_xor_si256
(
c2
[
1531
],
_mm256_xor_si256
(
c2
[
1218
],
_mm256_xor_si256
(
c2
[
1138
],
_mm256_xor_si256
(
c2
[
1537
],
_mm256_xor_si256
(
c2
[
177
],
_mm256_xor_si256
(
c2
[
2257
],
_mm256_xor_si256
(
c2
[
97
],
_mm256_xor_si256
(
c2
[
2344
],
_mm256_xor_si256
(
c2
[
2264
],
_mm256_xor_si256
(
c2
[
104
],
_mm256_xor_si256
(
c2
[
665
],
_mm256_xor_si256
(
c2
[
1064
],
_mm256_xor_si256
(
c2
[
1145
],
_mm256_xor_si256
(
c2
[
1544
],
_mm256_xor_si256
(
c2
[
2515
],
_mm256_xor_si256
(
c2
[
355
],
_mm256_xor_si256
(
c2
[
1793
],
_mm256_xor_si256
(
c2
[
2192
],
_mm256_xor_si256
(
c2
[
512
],
_mm256_xor_si256
(
c2
[
33
],
_mm256_xor_si256
(
c2
[
432
],
_mm256_xor_si256
(
c2
[
2523
],
_mm256_xor_si256
(
c2
[
363
],
_mm256_xor_si256
(
c2
[
1322
],
_mm256_xor_si256
(
c2
[
843
],
_mm256_xor_si256
(
c2
[
1242
],
_mm256_xor_si256
(
c2
[
50
],
_mm256_xor_si256
(
c2
[
2529
],
_mm256_xor_si256
(
c2
[
369
],
_mm256_xor_si256
(
c2
[
371
],
_mm256_xor_si256
(
c2
[
770
],
_mm256_xor_si256
(
c2
[
2049
],
_mm256_xor_si256
(
c2
[
1570
],
_mm256_xor_si256
(
c2
[
1969
],
_mm256_xor_si256
(
c2
[
1408
],
_mm256_xor_si256
(
c2
[
2456
],
_mm256_xor_si256
(
c2
[
296
],
_mm256_xor_si256
(
c2
[
2456
],
_mm256_xor_si256
(
c2
[
1977
],
_mm256_xor_si256
(
c2
[
2376
],
_mm256_xor_si256
(
c2
[
227
],
_mm256_xor_si256
(
c2
[
626
],
_mm256_xor_si256
(
c2
[
1507
],
_mm256_xor_si256
(
c2
[
1906
],
_mm256_xor_si256
(
c2
[
2147
],
_mm256_xor_si256
(
c2
[
1664
],
_mm256_xor_si256
(
c2
[
2067
],
_mm256_xor_si256
(
c2
[
1354
],
_mm256_xor_si256
(
c2
[
1274
],
_mm256_xor_si256
(
c2
[
1673
],
_mm256_xor_si256
(
c2
[
2475
],
_mm256_xor_si256
(
c2
[
315
],
_mm256_xor_si256
(
c2
[
715
],
_mm256_xor_si256
(
c2
[
232
],
c2
[
635
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
60
]
=
_mm256_xor_si256
(
c2
[
2402
],
_mm256_xor_si256
(
c2
[
1841
],
_mm256_xor_si256
(
c2
[
2322
],
_mm256_xor_si256
(
c2
[
1682
],
_mm256_xor_si256
(
c2
[
2163
],
_mm256_xor_si256
(
c2
[
2483
],
_mm256_xor_si256
(
c2
[
401
],
_mm256_xor_si256
(
c2
[
1521
],
_mm256_xor_si256
(
c2
[
810
],
_mm256_xor_si256
(
c2
[
249
],
_mm256_xor_si256
(
c2
[
730
],
_mm256_xor_si256
(
c2
[
9
],
_mm256_xor_si256
(
c2
[
490
],
_mm256_xor_si256
(
c2
[
1769
],
_mm256_xor_si256
(
c2
[
2250
],
_mm256_xor_si256
(
c2
[
97
],
_mm256_xor_si256
(
c2
[
2099
],
_mm256_xor_si256
(
c2
[
17
],
_mm256_xor_si256
(
c2
[
659
],
_mm256_xor_si256
(
c2
[
1136
],
_mm256_xor_si256
(
c2
[
1227
],
_mm256_xor_si256
(
c2
[
666
],
_mm256_xor_si256
(
c2
[
1147
],
_mm256_xor_si256
(
c2
[
1626
],
_mm256_xor_si256
(
c2
[
2107
],
_mm256_xor_si256
(
c2
[
2106
],
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
913
],
_mm256_xor_si256
(
c2
[
1394
],
_mm256_xor_si256
(
c2
[
195
],
_mm256_xor_si256
(
c2
[
672
],
_mm256_xor_si256
(
c2
[
994
],
_mm256_xor_si256
(
c2
[
1475
],
_mm256_xor_si256
(
c2
[
921
],
_mm256_xor_si256
(
c2
[
1402
],
_mm256_xor_si256
(
c2
[
1800
],
_mm256_xor_si256
(
c2
[
2281
],
_mm256_xor_si256
(
c2
[
1488
],
_mm256_xor_si256
(
c2
[
931
],
_mm256_xor_si256
(
c2
[
1408
],
_mm256_xor_si256
(
c2
[
1328
],
_mm256_xor_si256
(
c2
[
1809
],
_mm256_xor_si256
(
c2
[
2531
],
_mm256_xor_si256
(
c2
[
449
],
_mm256_xor_si256
(
c2
[
858
],
_mm256_xor_si256
(
c2
[
1339
],
_mm256_xor_si256
(
c2
[
379
],
_mm256_xor_si256
(
c2
[
856
],
_mm256_xor_si256
(
c2
[
1184
],
_mm256_xor_si256
(
c2
[
1665
],
_mm256_xor_si256
(
c2
[
2464
],
_mm256_xor_si256
(
c2
[
386
],
_mm256_xor_si256
(
c2
[
66
],
_mm256_xor_si256
(
c2
[
547
],
_mm256_xor_si256
(
c2
[
233
],
_mm256_xor_si256
(
c2
[
2235
],
_mm256_xor_si256
(
c2
[
153
],
_mm256_xor_si256
(
c2
[
873
],
_mm256_xor_si256
(
c2
[
1354
],
_mm256_xor_si256
(
c2
[
1193
],
c2
[
1674
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
64
]
=
_mm256_xor_si256
(
c2
[
1360
],
_mm256_xor_si256
(
c2
[
2163
],
_mm256_xor_si256
(
c2
[
1280
],
_mm256_xor_si256
(
c2
[
2083
],
_mm256_xor_si256
(
c2
[
2000
],
_mm256_xor_si256
(
c2
[
1121
],
_mm256_xor_si256
(
c2
[
1920
],
_mm256_xor_si256
(
c2
[
1922
],
_mm256_xor_si256
(
c2
[
162
],
_mm256_xor_si256
(
c2
[
2331
],
_mm256_xor_si256
(
c2
[
571
],
_mm256_xor_si256
(
c2
[
2251
],
_mm256_xor_si256
(
c2
[
491
],
_mm256_xor_si256
(
c2
[
2011
],
_mm256_xor_si256
(
c2
[
251
],
_mm256_xor_si256
(
c2
[
1208
],
_mm256_xor_si256
(
c2
[
2011
],
_mm256_xor_si256
(
c2
[
890
],
_mm256_xor_si256
(
c2
[
1618
],
_mm256_xor_si256
(
c2
[
2417
],
_mm256_xor_si256
(
c2
[
1538
],
_mm256_xor_si256
(
c2
[
2337
],
_mm256_xor_si256
(
c2
[
98
],
_mm256_xor_si256
(
c2
[
897
],
_mm256_xor_si256
(
c2
[
185
],
_mm256_xor_si256
(
c2
[
984
],
_mm256_xor_si256
(
c2
[
105
],
_mm256_xor_si256
(
c2
[
904
],
_mm256_xor_si256
(
c2
[
1944
],
_mm256_xor_si256
(
c2
[
1065
],
_mm256_xor_si256
(
c2
[
1864
],
_mm256_xor_si256
(
c2
[
1545
],
_mm256_xor_si256
(
c2
[
2344
],
_mm256_xor_si256
(
c2
[
1235
],
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
1155
],
_mm256_xor_si256
(
c2
[
2193
],
_mm256_xor_si256
(
c2
[
433
],
_mm256_xor_si256
(
c2
[
433
],
_mm256_xor_si256
(
c2
[
1232
],
_mm256_xor_si256
(
c2
[
1243
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
1163
],
_mm256_xor_si256
(
c2
[
1243
],
_mm256_xor_si256
(
c2
[
2042
],
_mm256_xor_si256
(
c2
[
450
],
_mm256_xor_si256
(
c2
[
1249
],
_mm256_xor_si256
(
c2
[
370
],
_mm256_xor_si256
(
c2
[
1169
],
_mm256_xor_si256
(
c2
[
1650
],
_mm256_xor_si256
(
c2
[
771
],
_mm256_xor_si256
(
c2
[
1570
],
_mm256_xor_si256
(
c2
[
1970
],
_mm256_xor_si256
(
c2
[
210
],
_mm256_xor_si256
(
c2
[
1176
],
_mm256_xor_si256
(
c2
[
297
],
_mm256_xor_si256
(
c2
[
1096
],
_mm256_xor_si256
(
c2
[
2377
],
_mm256_xor_si256
(
c2
[
617
],
_mm256_xor_si256
(
c2
[
1506
],
_mm256_xor_si256
(
c2
[
627
],
_mm256_xor_si256
(
c2
[
1426
],
_mm256_xor_si256
(
c2
[
1907
],
_mm256_xor_si256
(
c2
[
147
],
_mm256_xor_si256
(
c2
[
2064
],
_mm256_xor_si256
(
c2
[
304
],
_mm256_xor_si256
(
c2
[
1754
],
_mm256_xor_si256
(
c2
[
2553
],
_mm256_xor_si256
(
c2
[
1674
],
_mm256_xor_si256
(
c2
[
2473
],
_mm256_xor_si256
(
c2
[
1195
],
_mm256_xor_si256
(
c2
[
312
],
_mm256_xor_si256
(
c2
[
1115
],
_mm256_xor_si256
(
c2
[
632
],
_mm256_xor_si256
(
c2
[
1435
],
c2
[
1192
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
68
]
=
_mm256_xor_si256
(
c2
[
2163
],
_mm256_xor_si256
(
c2
[
722
],
_mm256_xor_si256
(
c2
[
2083
],
_mm256_xor_si256
(
c2
[
642
],
_mm256_xor_si256
(
c2
[
563
],
_mm256_xor_si256
(
c2
[
1920
],
_mm256_xor_si256
(
c2
[
483
],
_mm256_xor_si256
(
c2
[
162
],
_mm256_xor_si256
(
c2
[
1280
],
_mm256_xor_si256
(
c2
[
571
],
_mm256_xor_si256
(
c2
[
1689
],
_mm256_xor_si256
(
c2
[
491
],
_mm256_xor_si256
(
c2
[
1609
],
_mm256_xor_si256
(
c2
[
251
],
_mm256_xor_si256
(
c2
[
1369
],
_mm256_xor_si256
(
c2
[
2011
],
_mm256_xor_si256
(
c2
[
570
],
_mm256_xor_si256
(
c2
[
2411
],
_mm256_xor_si256
(
c2
[
2417
],
_mm256_xor_si256
(
c2
[
976
],
_mm256_xor_si256
(
c2
[
2337
],
_mm256_xor_si256
(
c2
[
896
],
_mm256_xor_si256
(
c2
[
897
],
_mm256_xor_si256
(
c2
[
2019
],
_mm256_xor_si256
(
c2
[
984
],
_mm256_xor_si256
(
c2
[
2106
],
_mm256_xor_si256
(
c2
[
904
],
_mm256_xor_si256
(
c2
[
2026
],
_mm256_xor_si256
(
c2
[
507
],
_mm256_xor_si256
(
c2
[
1864
],
_mm256_xor_si256
(
c2
[
427
],
_mm256_xor_si256
(
c2
[
2344
],
_mm256_xor_si256
(
c2
[
907
],
_mm256_xor_si256
(
c2
[
2353
],
_mm256_xor_si256
(
c2
[
1155
],
_mm256_xor_si256
(
c2
[
2273
],
_mm256_xor_si256
(
c2
[
433
],
_mm256_xor_si256
(
c2
[
1555
],
_mm256_xor_si256
(
c2
[
1232
],
_mm256_xor_si256
(
c2
[
2354
],
_mm256_xor_si256
(
c2
[
2361
],
_mm256_xor_si256
(
c2
[
1163
],
_mm256_xor_si256
(
c2
[
2281
],
_mm256_xor_si256
(
c2
[
2042
],
_mm256_xor_si256
(
c2
[
601
],
_mm256_xor_si256
(
c2
[
2283
],
_mm256_xor_si256
(
c2
[
1249
],
_mm256_xor_si256
(
c2
[
2371
],
_mm256_xor_si256
(
c2
[
1169
],
_mm256_xor_si256
(
c2
[
2291
],
_mm256_xor_si256
(
c2
[
209
],
_mm256_xor_si256
(
c2
[
1570
],
_mm256_xor_si256
(
c2
[
129
],
_mm256_xor_si256
(
c2
[
210
],
_mm256_xor_si256
(
c2
[
1328
],
_mm256_xor_si256
(
c2
[
2298
],
_mm256_xor_si256
(
c2
[
1096
],
_mm256_xor_si256
(
c2
[
2218
],
_mm256_xor_si256
(
c2
[
617
],
_mm256_xor_si256
(
c2
[
1739
],
_mm256_xor_si256
(
c2
[
65
],
_mm256_xor_si256
(
c2
[
1426
],
_mm256_xor_si256
(
c2
[
2544
],
_mm256_xor_si256
(
c2
[
147
],
_mm256_xor_si256
(
c2
[
1265
],
_mm256_xor_si256
(
c2
[
304
],
_mm256_xor_si256
(
c2
[
1426
],
_mm256_xor_si256
(
c2
[
2553
],
_mm256_xor_si256
(
c2
[
1112
],
_mm256_xor_si256
(
c2
[
2473
],
_mm256_xor_si256
(
c2
[
1032
],
_mm256_xor_si256
(
c2
[
2313
],
_mm256_xor_si256
(
c2
[
1115
],
_mm256_xor_si256
(
c2
[
2233
],
_mm256_xor_si256
(
c2
[
1435
],
c2
[
2553
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
72
]
=
_mm256_xor_si256
(
c2
[
2242
],
_mm256_xor_si256
(
c2
[
210
],
c2
[
1497
]));
//row: 19
d2
[
76
]
=
_mm256_xor_si256
(
c2
[
82
],
_mm256_xor_si256
(
c2
[
2482
],
_mm256_xor_si256
(
c2
[
720
],
_mm256_xor_si256
(
c2
[
1842
],
_mm256_xor_si256
(
c2
[
1049
],
_mm256_xor_si256
(
c2
[
809
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
1608
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
1459
],
_mm256_xor_si256
(
c2
[
1466
],
_mm256_xor_si256
(
c2
[
2426
],
_mm256_xor_si256
(
c2
[
347
],
_mm256_xor_si256
(
c2
[
1713
],
_mm256_xor_si256
(
c2
[
995
],
_mm256_xor_si256
(
c2
[
1794
],
_mm256_xor_si256
(
c2
[
1721
],
_mm256_xor_si256
(
c2
[
41
],
_mm256_xor_si256
(
c2
[
1731
],
_mm256_xor_si256
(
c2
[
2128
],
_mm256_xor_si256
(
c2
[
768
],
_mm256_xor_si256
(
c2
[
1658
],
_mm256_xor_si256
(
c2
[
1179
],
_mm256_xor_si256
(
c2
[
1984
],
_mm256_xor_si256
(
c2
[
705
],
_mm256_xor_si256
(
c2
[
866
],
_mm256_xor_si256
(
c2
[
472
],
_mm256_xor_si256
(
c2
[
1673
],
c2
[
1993
]))))))))))))))))))))))))))));
//row: 20
d2
[
80
]
=
_mm256_xor_si256
(
c2
[
481
],
_mm256_xor_si256
(
c2
[
401
],
_mm256_xor_si256
(
c2
[
242
],
_mm256_xor_si256
(
c2
[
1043
],
_mm256_xor_si256
(
c2
[
1448
],
_mm256_xor_si256
(
c2
[
1368
],
_mm256_xor_si256
(
c2
[
1128
],
_mm256_xor_si256
(
c2
[
329
],
_mm256_xor_si256
(
c2
[
2088
],
_mm256_xor_si256
(
c2
[
739
],
_mm256_xor_si256
(
c2
[
659
],
_mm256_xor_si256
(
c2
[
1778
],
_mm256_xor_si256
(
c2
[
1865
],
_mm256_xor_si256
(
c2
[
1785
],
_mm256_xor_si256
(
c2
[
186
],
_mm256_xor_si256
(
c2
[
666
],
_mm256_xor_si256
(
c2
[
2032
],
_mm256_xor_si256
(
c2
[
1314
],
_mm256_xor_si256
(
c2
[
2113
],
_mm256_xor_si256
(
c2
[
755
],
_mm256_xor_si256
(
c2
[
2040
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
2130
],
_mm256_xor_si256
(
c2
[
2050
],
_mm256_xor_si256
(
c2
[
2451
],
_mm256_xor_si256
(
c2
[
1091
],
_mm256_xor_si256
(
c2
[
1977
],
_mm256_xor_si256
(
c2
[
1498
],
_mm256_xor_si256
(
c2
[
2307
],
_mm256_xor_si256
(
c2
[
1024
],
_mm256_xor_si256
(
c2
[
1185
],
_mm256_xor_si256
(
c2
[
875
],
_mm256_xor_si256
(
c2
[
795
],
_mm256_xor_si256
(
c2
[
1992
],
c2
[
2312
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
84
]
=
_mm256_xor_si256
(
c2
[
2082
],
_mm256_xor_si256
(
c2
[
1923
],
_mm256_xor_si256
(
c2
[
161
],
_mm256_xor_si256
(
c2
[
962
],
_mm256_xor_si256
(
c2
[
490
],
_mm256_xor_si256
(
c2
[
250
],
_mm256_xor_si256
(
c2
[
2090
],
_mm256_xor_si256
(
c2
[
2010
],
_mm256_xor_si256
(
c2
[
2336
],
_mm256_xor_si256
(
c2
[
976
],
_mm256_xor_si256
(
c2
[
896
],
_mm256_xor_si256
(
c2
[
907
],
_mm256_xor_si256
(
c2
[
1867
],
_mm256_xor_si256
(
c2
[
2347
],
_mm256_xor_si256
(
c2
[
1154
],
_mm256_xor_si256
(
c2
[
432
],
_mm256_xor_si256
(
c2
[
1315
],
_mm256_xor_si256
(
c2
[
1235
],
_mm256_xor_si256
(
c2
[
1162
],
_mm256_xor_si256
(
c2
[
2121
],
_mm256_xor_si256
(
c2
[
2041
],
_mm256_xor_si256
(
c2
[
1168
],
_mm256_xor_si256
(
c2
[
1569
],
_mm256_xor_si256
(
c2
[
289
],
_mm256_xor_si256
(
c2
[
209
],
_mm256_xor_si256
(
c2
[
1099
],
_mm256_xor_si256
(
c2
[
696
],
_mm256_xor_si256
(
c2
[
616
],
_mm256_xor_si256
(
c2
[
1425
],
_mm256_xor_si256
(
c2
[
146
],
_mm256_xor_si256
(
c2
[
387
],
_mm256_xor_si256
(
c2
[
307
],
_mm256_xor_si256
(
c2
[
865
],
_mm256_xor_si256
(
c2
[
2472
],
_mm256_xor_si256
(
c2
[
1114
],
_mm256_xor_si256
(
c2
[
1514
],
c2
[
1434
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
88
]
=
_mm256_xor_si256
(
c2
[
2410
],
c2
[
2497
]);
//row: 23
d2
[
92
]
=
_mm256_xor_si256
(
c2
[
1840
],
_mm256_xor_si256
(
c2
[
907
],
c2
[
1163
]));
//row: 24
d2
[
96
]
=
_mm256_xor_si256
(
c2
[
1129
],
_mm256_xor_si256
(
c2
[
896
],
c2
[
712
]));
//row: 25
d2
[
100
]
=
_mm256_xor_si256
(
c2
[
323
],
c2
[
2280
]);
//row: 26
d2
[
104
]
=
_mm256_xor_si256
(
c2
[
721
],
_mm256_xor_si256
(
c2
[
641
],
_mm256_xor_si256
(
c2
[
160
],
_mm256_xor_si256
(
c2
[
562
],
_mm256_xor_si256
(
c2
[
482
],
_mm256_xor_si256
(
c2
[
1
],
_mm256_xor_si256
(
c2
[
1283
],
_mm256_xor_si256
(
c2
[
802
],
_mm256_xor_si256
(
c2
[
1688
],
_mm256_xor_si256
(
c2
[
1608
],
_mm256_xor_si256
(
c2
[
1131
],
_mm256_xor_si256
(
c2
[
1368
],
_mm256_xor_si256
(
c2
[
891
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
569
],
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
979
],
_mm256_xor_si256
(
c2
[
899
],
_mm256_xor_si256
(
c2
[
418
],
_mm256_xor_si256
(
c2
[
1617
],
_mm256_xor_si256
(
c2
[
2018
],
_mm256_xor_si256
(
c2
[
1537
],
_mm256_xor_si256
(
c2
[
2336
],
_mm256_xor_si256
(
c2
[
2105
],
_mm256_xor_si256
(
c2
[
2025
],
_mm256_xor_si256
(
c2
[
1544
],
_mm256_xor_si256
(
c2
[
506
],
_mm256_xor_si256
(
c2
[
426
],
_mm256_xor_si256
(
c2
[
2504
],
_mm256_xor_si256
(
c2
[
906
],
_mm256_xor_si256
(
c2
[
425
],
_mm256_xor_si256
(
c2
[
2352
],
_mm256_xor_si256
(
c2
[
2272
],
_mm256_xor_si256
(
c2
[
1795
],
_mm256_xor_si256
(
c2
[
1554
],
_mm256_xor_si256
(
c2
[
1073
],
_mm256_xor_si256
(
c2
[
1952
],
_mm256_xor_si256
(
c2
[
2353
],
_mm256_xor_si256
(
c2
[
1872
],
_mm256_xor_si256
(
c2
[
2360
],
_mm256_xor_si256
(
c2
[
2280
],
_mm256_xor_si256
(
c2
[
1803
],
_mm256_xor_si256
(
c2
[
203
],
_mm256_xor_si256
(
c2
[
600
],
_mm256_xor_si256
(
c2
[
123
],
_mm256_xor_si256
(
c2
[
2370
],
_mm256_xor_si256
(
c2
[
2290
],
_mm256_xor_si256
(
c2
[
1809
],
_mm256_xor_si256
(
c2
[
208
],
_mm256_xor_si256
(
c2
[
128
],
_mm256_xor_si256
(
c2
[
2210
],
_mm256_xor_si256
(
c2
[
930
],
_mm256_xor_si256
(
c2
[
1331
],
_mm256_xor_si256
(
c2
[
850
],
_mm256_xor_si256
(
c2
[
2297
],
_mm256_xor_si256
(
c2
[
2217
],
_mm256_xor_si256
(
c2
[
1736
],
_mm256_xor_si256
(
c2
[
1337
],
_mm256_xor_si256
(
c2
[
1738
],
_mm256_xor_si256
(
c2
[
1257
],
_mm256_xor_si256
(
c2
[
1256
],
_mm256_xor_si256
(
c2
[
64
],
_mm256_xor_si256
(
c2
[
2547
],
_mm256_xor_si256
(
c2
[
2066
],
_mm256_xor_si256
(
c2
[
1264
],
_mm256_xor_si256
(
c2
[
787
],
_mm256_xor_si256
(
c2
[
1024
],
_mm256_xor_si256
(
c2
[
1425
],
_mm256_xor_si256
(
c2
[
944
],
_mm256_xor_si256
(
c2
[
1115
],
_mm256_xor_si256
(
c2
[
1035
],
_mm256_xor_si256
(
c2
[
554
],
_mm256_xor_si256
(
c2
[
2312
],
_mm256_xor_si256
(
c2
[
2232
],
_mm256_xor_si256
(
c2
[
1755
],
_mm256_xor_si256
(
c2
[
2155
],
_mm256_xor_si256
(
c2
[
2552
],
c2
[
2075
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
108
]
=
_mm256_xor_si256
(
c2
[
640
],
c2
[
1888
]);
//row: 28
d2
[
112
]
=
_mm256_xor_si256
(
c2
[
171
],
_mm256_xor_si256
(
c2
[
419
],
c2
[
600
]));
//row: 29
d2
[
116
]
=
_mm256_xor_si256
(
c2
[
1440
],
c2
[
2272
]);
//row: 30
d2
[
120
]
=
_mm256_xor_si256
(
c2
[
578
],
_mm256_xor_si256
(
c2
[
1323
],
_mm256_xor_si256
(
c2
[
776
],
c2
[
1674
])));
//row: 31
d2
[
124
]
=
_mm256_xor_si256
(
c2
[
720
],
_mm256_xor_si256
(
c2
[
561
],
_mm256_xor_si256
(
c2
[
1362
],
_mm256_xor_si256
(
c2
[
1691
],
_mm256_xor_si256
(
c2
[
1451
],
_mm256_xor_si256
(
c2
[
728
],
_mm256_xor_si256
(
c2
[
648
],
_mm256_xor_si256
(
c2
[
811
],
_mm256_xor_si256
(
c2
[
978
],
_mm256_xor_si256
(
c2
[
2177
],
_mm256_xor_si256
(
c2
[
2097
],
_mm256_xor_si256
(
c2
[
2104
],
_mm256_xor_si256
(
c2
[
505
],
_mm256_xor_si256
(
c2
[
985
],
_mm256_xor_si256
(
c2
[
2355
],
_mm256_xor_si256
(
c2
[
1633
],
_mm256_xor_si256
(
c2
[
2512
],
_mm256_xor_si256
(
c2
[
2432
],
_mm256_xor_si256
(
c2
[
2363
],
_mm256_xor_si256
(
c2
[
763
],
_mm256_xor_si256
(
c2
[
683
],
_mm256_xor_si256
(
c2
[
2369
],
_mm256_xor_si256
(
c2
[
211
],
_mm256_xor_si256
(
c2
[
1490
],
_mm256_xor_si256
(
c2
[
1410
],
_mm256_xor_si256
(
c2
[
2296
],
_mm256_xor_si256
(
c2
[
1897
],
_mm256_xor_si256
(
c2
[
1817
],
_mm256_xor_si256
(
c2
[
67
],
_mm256_xor_si256
(
c2
[
1347
],
_mm256_xor_si256
(
c2
[
1584
],
_mm256_xor_si256
(
c2
[
1504
],
_mm256_xor_si256
(
c2
[
1114
],
_mm256_xor_si256
(
c2
[
2315
],
_mm256_xor_si256
(
c2
[
152
],
c2
[
72
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
128
]
=
_mm256_xor_si256
(
c2
[
1201
],
_mm256_xor_si256
(
c2
[
1121
],
_mm256_xor_si256
(
c2
[
1042
],
_mm256_xor_si256
(
c2
[
962
],
_mm256_xor_si256
(
c2
[
1763
],
_mm256_xor_si256
(
c2
[
1443
],
_mm256_xor_si256
(
c2
[
2168
],
_mm256_xor_si256
(
c2
[
2088
],
_mm256_xor_si256
(
c2
[
1848
],
_mm256_xor_si256
(
c2
[
1049
],
_mm256_xor_si256
(
c2
[
1459
],
_mm256_xor_si256
(
c2
[
1379
],
_mm256_xor_si256
(
c2
[
2498
],
_mm256_xor_si256
(
c2
[
26
],
_mm256_xor_si256
(
c2
[
2505
],
_mm256_xor_si256
(
c2
[
986
],
_mm256_xor_si256
(
c2
[
906
],
_mm256_xor_si256
(
c2
[
1386
],
_mm256_xor_si256
(
c2
[
273
],
_mm256_xor_si256
(
c2
[
193
],
_mm256_xor_si256
(
c2
[
2034
],
_mm256_xor_si256
(
c2
[
274
],
_mm256_xor_si256
(
c2
[
281
],
_mm256_xor_si256
(
c2
[
201
],
_mm256_xor_si256
(
c2
[
1080
],
_mm256_xor_si256
(
c2
[
1001
],
_mm256_xor_si256
(
c2
[
291
],
_mm256_xor_si256
(
c2
[
211
],
_mm256_xor_si256
(
c2
[
688
],
_mm256_xor_si256
(
c2
[
608
],
_mm256_xor_si256
(
c2
[
1811
],
_mm256_xor_si256
(
c2
[
218
],
_mm256_xor_si256
(
c2
[
138
],
_mm256_xor_si256
(
c2
[
2218
],
_mm256_xor_si256
(
c2
[
544
],
_mm256_xor_si256
(
c2
[
464
],
_mm256_xor_si256
(
c2
[
1744
],
_mm256_xor_si256
(
c2
[
1905
],
_mm256_xor_si256
(
c2
[
1595
],
_mm256_xor_si256
(
c2
[
1515
],
_mm256_xor_si256
(
c2
[
233
],
_mm256_xor_si256
(
c2
[
153
],
c2
[
473
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
132
]
=
_mm256_xor_si256
(
c2
[
1523
],
_mm256_xor_si256
(
c2
[
1360
],
_mm256_xor_si256
(
c2
[
2161
],
_mm256_xor_si256
(
c2
[
2490
],
_mm256_xor_si256
(
c2
[
2250
],
_mm256_xor_si256
(
c2
[
1451
],
_mm256_xor_si256
(
c2
[
1777
],
_mm256_xor_si256
(
c2
[
337
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
344
],
_mm256_xor_si256
(
c2
[
1304
],
_mm256_xor_si256
(
c2
[
1784
],
_mm256_xor_si256
(
c2
[
595
],
_mm256_xor_si256
(
c2
[
2432
],
_mm256_xor_si256
(
c2
[
672
],
_mm256_xor_si256
(
c2
[
603
],
_mm256_xor_si256
(
c2
[
1482
],
_mm256_xor_si256
(
c2
[
609
],
_mm256_xor_si256
(
c2
[
1010
],
_mm256_xor_si256
(
c2
[
2209
],
_mm256_xor_si256
(
c2
[
536
],
_mm256_xor_si256
(
c2
[
57
],
_mm256_xor_si256
(
c2
[
377
],
_mm256_xor_si256
(
c2
[
866
],
_mm256_xor_si256
(
c2
[
2146
],
_mm256_xor_si256
(
c2
[
2307
],
_mm256_xor_si256
(
c2
[
1913
],
_mm256_xor_si256
(
c2
[
555
],
c2
[
875
]))))))))))))))))))))))))))));
//row: 34
d2
[
136
]
=
_mm256_xor_si256
(
c2
[
2402
],
_mm256_xor_si256
(
c2
[
2322
],
_mm256_xor_si256
(
c2
[
961
],
_mm256_xor_si256
(
c2
[
2243
],
_mm256_xor_si256
(
c2
[
2163
],
_mm256_xor_si256
(
c2
[
802
],
_mm256_xor_si256
(
c2
[
401
],
_mm256_xor_si256
(
c2
[
1603
],
_mm256_xor_si256
(
c2
[
1520
],
_mm256_xor_si256
(
c2
[
810
],
_mm256_xor_si256
(
c2
[
730
],
_mm256_xor_si256
(
c2
[
1928
],
_mm256_xor_si256
(
c2
[
490
],
_mm256_xor_si256
(
c2
[
1688
],
_mm256_xor_si256
(
c2
[
969
],
_mm256_xor_si256
(
c2
[
2250
],
_mm256_xor_si256
(
c2
[
889
],
_mm256_xor_si256
(
c2
[
97
],
_mm256_xor_si256
(
c2
[
17
],
_mm256_xor_si256
(
c2
[
1219
],
_mm256_xor_si256
(
c2
[
2418
],
_mm256_xor_si256
(
c2
[
1136
],
_mm256_xor_si256
(
c2
[
2338
],
_mm256_xor_si256
(
c2
[
1227
],
_mm256_xor_si256
(
c2
[
1147
],
_mm256_xor_si256
(
c2
[
2345
],
_mm256_xor_si256
(
c2
[
2187
],
_mm256_xor_si256
(
c2
[
2107
],
_mm256_xor_si256
(
c2
[
746
],
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
1226
],
_mm256_xor_si256
(
c2
[
1474
],
_mm256_xor_si256
(
c2
[
1394
],
_mm256_xor_si256
(
c2
[
33
],
_mm256_xor_si256
(
c2
[
672
],
_mm256_xor_si256
(
c2
[
1874
],
_mm256_xor_si256
(
c2
[
194
],
_mm256_xor_si256
(
c2
[
1475
],
_mm256_xor_si256
(
c2
[
114
],
_mm256_xor_si256
(
c2
[
1482
],
_mm256_xor_si256
(
c2
[
1402
],
_mm256_xor_si256
(
c2
[
41
],
_mm256_xor_si256
(
c2
[
1000
],
_mm256_xor_si256
(
c2
[
2281
],
_mm256_xor_si256
(
c2
[
920
],
_mm256_xor_si256
(
c2
[
1488
],
_mm256_xor_si256
(
c2
[
1408
],
_mm256_xor_si256
(
c2
[
51
],
_mm256_xor_si256
(
c2
[
1889
],
_mm256_xor_si256
(
c2
[
1809
],
_mm256_xor_si256
(
c2
[
448
],
_mm256_xor_si256
(
c2
[
1731
],
_mm256_xor_si256
(
c2
[
449
],
_mm256_xor_si256
(
c2
[
1651
],
_mm256_xor_si256
(
c2
[
1419
],
_mm256_xor_si256
(
c2
[
1339
],
_mm256_xor_si256
(
c2
[
2537
],
_mm256_xor_si256
(
c2
[
2138
],
_mm256_xor_si256
(
c2
[
856
],
_mm256_xor_si256
(
c2
[
2058
],
_mm256_xor_si256
(
c2
[
1745
],
_mm256_xor_si256
(
c2
[
1665
],
_mm256_xor_si256
(
c2
[
304
],
_mm256_xor_si256
(
c2
[
386
],
_mm256_xor_si256
(
c2
[
1584
],
_mm256_xor_si256
(
c2
[
1825
],
_mm256_xor_si256
(
c2
[
547
],
_mm256_xor_si256
(
c2
[
1745
],
_mm256_xor_si256
(
c2
[
233
],
_mm256_xor_si256
(
c2
[
153
],
_mm256_xor_si256
(
c2
[
1355
],
_mm256_xor_si256
(
c2
[
1434
],
_mm256_xor_si256
(
c2
[
1354
],
_mm256_xor_si256
(
c2
[
2552
],
_mm256_xor_si256
(
c2
[
393
],
_mm256_xor_si256
(
c2
[
1674
],
c2
[
313
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
140
]
=
_mm256_xor_si256
(
c2
[
642
],
_mm256_xor_si256
(
c2
[
562
],
_mm256_xor_si256
(
c2
[
403
],
_mm256_xor_si256
(
c2
[
1200
],
_mm256_xor_si256
(
c2
[
1609
],
_mm256_xor_si256
(
c2
[
1529
],
_mm256_xor_si256
(
c2
[
1289
],
_mm256_xor_si256
(
c2
[
490
],
_mm256_xor_si256
(
c2
[
2009
],
_mm256_xor_si256
(
c2
[
896
],
_mm256_xor_si256
(
c2
[
816
],
_mm256_xor_si256
(
c2
[
1939
],
_mm256_xor_si256
(
c2
[
2026
],
_mm256_xor_si256
(
c2
[
1946
],
_mm256_xor_si256
(
c2
[
347
],
_mm256_xor_si256
(
c2
[
827
],
_mm256_xor_si256
(
c2
[
2193
],
_mm256_xor_si256
(
c2
[
1475
],
_mm256_xor_si256
(
c2
[
2274
],
_mm256_xor_si256
(
c2
[
2201
],
_mm256_xor_si256
(
c2
[
521
],
_mm256_xor_si256
(
c2
[
681
],
_mm256_xor_si256
(
c2
[
2291
],
_mm256_xor_si256
(
c2
[
2211
],
_mm256_xor_si256
(
c2
[
49
],
_mm256_xor_si256
(
c2
[
1248
],
_mm256_xor_si256
(
c2
[
2138
],
_mm256_xor_si256
(
c2
[
1659
],
_mm256_xor_si256
(
c2
[
2464
],
_mm256_xor_si256
(
c2
[
1185
],
_mm256_xor_si256
(
c2
[
1346
],
_mm256_xor_si256
(
c2
[
1032
],
_mm256_xor_si256
(
c2
[
952
],
_mm256_xor_si256
(
c2
[
2153
],
c2
[
2473
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
144
]
=
_mm256_xor_si256
(
c2
[
960
],
_mm256_xor_si256
(
c2
[
497
],
c2
[
2136
]));
//row: 37
d2
[
148
]
=
_mm256_xor_si256
(
c2
[
243
],
_mm256_xor_si256
(
c2
[
2480
],
_mm256_xor_si256
(
c2
[
80
],
_mm256_xor_si256
(
c2
[
2321
],
_mm256_xor_si256
(
c2
[
881
],
_mm256_xor_si256
(
c2
[
563
],
_mm256_xor_si256
(
c2
[
1210
],
_mm256_xor_si256
(
c2
[
888
],
_mm256_xor_si256
(
c2
[
970
],
_mm256_xor_si256
(
c2
[
648
],
_mm256_xor_si256
(
c2
[
2488
],
_mm256_xor_si256
(
c2
[
171
],
_mm256_xor_si256
(
c2
[
2408
],
_mm256_xor_si256
(
c2
[
497
],
_mm256_xor_si256
(
c2
[
179
],
_mm256_xor_si256
(
c2
[
1378
],
_mm256_xor_si256
(
c2
[
1616
],
_mm256_xor_si256
(
c2
[
1298
],
_mm256_xor_si256
(
c2
[
1627
],
_mm256_xor_si256
(
c2
[
1305
],
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
2265
],
_mm256_xor_si256
(
c2
[
504
],
_mm256_xor_si256
(
c2
[
186
],
_mm256_xor_si256
(
c2
[
1874
],
_mm256_xor_si256
(
c2
[
1552
],
_mm256_xor_si256
(
c2
[
1152
],
_mm256_xor_si256
(
c2
[
834
],
_mm256_xor_si256
(
c2
[
1713
],
_mm256_xor_si256
(
c2
[
1955
],
_mm256_xor_si256
(
c2
[
1633
],
_mm256_xor_si256
(
c2
[
1882
],
_mm256_xor_si256
(
c2
[
1560
],
_mm256_xor_si256
(
c2
[
2523
],
_mm256_xor_si256
(
c2
[
202
],
_mm256_xor_si256
(
c2
[
2443
],
_mm256_xor_si256
(
c2
[
1888
],
_mm256_xor_si256
(
c2
[
1570
],
_mm256_xor_si256
(
c2
[
2289
],
_mm256_xor_si256
(
c2
[
1971
],
_mm256_xor_si256
(
c2
[
691
],
_mm256_xor_si256
(
c2
[
929
],
_mm256_xor_si256
(
c2
[
611
],
_mm256_xor_si256
(
c2
[
1819
],
_mm256_xor_si256
(
c2
[
1497
],
_mm256_xor_si256
(
c2
[
1098
],
_mm256_xor_si256
(
c2
[
1336
],
_mm256_xor_si256
(
c2
[
1018
],
_mm256_xor_si256
(
c2
[
2145
],
_mm256_xor_si256
(
c2
[
1827
],
_mm256_xor_si256
(
c2
[
866
],
_mm256_xor_si256
(
c2
[
544
],
_mm256_xor_si256
(
c2
[
785
],
_mm256_xor_si256
(
c2
[
1027
],
_mm256_xor_si256
(
c2
[
705
],
_mm256_xor_si256
(
c2
[
633
],
_mm256_xor_si256
(
c2
[
315
],
_mm256_xor_si256
(
c2
[
1834
],
_mm256_xor_si256
(
c2
[
1512
],
_mm256_xor_si256
(
c2
[
1912
],
_mm256_xor_si256
(
c2
[
2154
],
c2
[
1832
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
152
]
=
_mm256_xor_si256
(
c2
[
1201
],
_mm256_xor_si256
(
c2
[
1121
],
_mm256_xor_si256
(
c2
[
962
],
_mm256_xor_si256
(
c2
[
1763
],
_mm256_xor_si256
(
c2
[
2168
],
_mm256_xor_si256
(
c2
[
2088
],
_mm256_xor_si256
(
c2
[
1848
],
_mm256_xor_si256
(
c2
[
1049
],
_mm256_xor_si256
(
c2
[
2488
],
_mm256_xor_si256
(
c2
[
1459
],
_mm256_xor_si256
(
c2
[
1379
],
_mm256_xor_si256
(
c2
[
2498
],
_mm256_xor_si256
(
c2
[
26
],
_mm256_xor_si256
(
c2
[
2505
],
_mm256_xor_si256
(
c2
[
906
],
_mm256_xor_si256
(
c2
[
1386
],
_mm256_xor_si256
(
c2
[
193
],
_mm256_xor_si256
(
c2
[
2034
],
_mm256_xor_si256
(
c2
[
274
],
_mm256_xor_si256
(
c2
[
201
],
_mm256_xor_si256
(
c2
[
1080
],
_mm256_xor_si256
(
c2
[
202
],
_mm256_xor_si256
(
c2
[
291
],
_mm256_xor_si256
(
c2
[
211
],
_mm256_xor_si256
(
c2
[
608
],
_mm256_xor_si256
(
c2
[
1811
],
_mm256_xor_si256
(
c2
[
138
],
_mm256_xor_si256
(
c2
[
2218
],
_mm256_xor_si256
(
c2
[
464
],
_mm256_xor_si256
(
c2
[
1744
],
_mm256_xor_si256
(
c2
[
1905
],
_mm256_xor_si256
(
c2
[
1595
],
_mm256_xor_si256
(
c2
[
1515
],
_mm256_xor_si256
(
c2
[
153
],
c2
[
473
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
156
]
=
_mm256_xor_si256
(
c2
[
881
],
_mm256_xor_si256
(
c2
[
801
],
_mm256_xor_si256
(
c2
[
722
],
_mm256_xor_si256
(
c2
[
642
],
_mm256_xor_si256
(
c2
[
1443
],
_mm256_xor_si256
(
c2
[
1203
],
_mm256_xor_si256
(
c2
[
1848
],
_mm256_xor_si256
(
c2
[
1768
],
_mm256_xor_si256
(
c2
[
1528
],
_mm256_xor_si256
(
c2
[
729
],
_mm256_xor_si256
(
c2
[
1139
],
_mm256_xor_si256
(
c2
[
1059
],
_mm256_xor_si256
(
c2
[
2178
],
_mm256_xor_si256
(
c2
[
2265
],
_mm256_xor_si256
(
c2
[
2185
],
_mm256_xor_si256
(
c2
[
666
],
_mm256_xor_si256
(
c2
[
586
],
_mm256_xor_si256
(
c2
[
1066
],
_mm256_xor_si256
(
c2
[
2512
],
_mm256_xor_si256
(
c2
[
2432
],
_mm256_xor_si256
(
c2
[
1714
],
_mm256_xor_si256
(
c2
[
2513
],
_mm256_xor_si256
(
c2
[
2520
],
_mm256_xor_si256
(
c2
[
2440
],
_mm256_xor_si256
(
c2
[
760
],
_mm256_xor_si256
(
c2
[
2530
],
_mm256_xor_si256
(
c2
[
2450
],
_mm256_xor_si256
(
c2
[
368
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
1491
],
_mm256_xor_si256
(
c2
[
2457
],
_mm256_xor_si256
(
c2
[
2377
],
_mm256_xor_si256
(
c2
[
1898
],
_mm256_xor_si256
(
c2
[
1017
],
_mm256_xor_si256
(
c2
[
224
],
_mm256_xor_si256
(
c2
[
144
],
_mm256_xor_si256
(
c2
[
1424
],
_mm256_xor_si256
(
c2
[
1585
],
_mm256_xor_si256
(
c2
[
1275
],
_mm256_xor_si256
(
c2
[
1195
],
_mm256_xor_si256
(
c2
[
2472
],
_mm256_xor_si256
(
c2
[
2392
],
c2
[
153
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
160
]
=
_mm256_xor_si256
(
c2
[
1522
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
1363
],
_mm256_xor_si256
(
c2
[
2400
],
_mm256_xor_si256
(
c2
[
2160
],
_mm256_xor_si256
(
c2
[
642
],
_mm256_xor_si256
(
c2
[
2489
],
_mm256_xor_si256
(
c2
[
971
],
_mm256_xor_si256
(
c2
[
2249
],
_mm256_xor_si256
(
c2
[
731
],
_mm256_xor_si256
(
c2
[
8
],
_mm256_xor_si256
(
c2
[
1450
],
_mm256_xor_si256
(
c2
[
2491
],
_mm256_xor_si256
(
c2
[
1776
],
_mm256_xor_si256
(
c2
[
258
],
_mm256_xor_si256
(
c2
[
1457
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
1377
],
_mm256_xor_si256
(
c2
[
16
],
_mm256_xor_si256
(
c2
[
347
],
_mm256_xor_si256
(
c2
[
1384
],
_mm256_xor_si256
(
c2
[
1307
],
_mm256_xor_si256
(
c2
[
2344
],
_mm256_xor_si256
(
c2
[
1787
],
_mm256_xor_si256
(
c2
[
265
],
_mm256_xor_si256
(
c2
[
594
],
_mm256_xor_si256
(
c2
[
1635
],
_mm256_xor_si256
(
c2
[
2435
],
_mm256_xor_si256
(
c2
[
913
],
_mm256_xor_si256
(
c2
[
1792
],
_mm256_xor_si256
(
c2
[
675
],
_mm256_xor_si256
(
c2
[
1712
],
_mm256_xor_si256
(
c2
[
602
],
_mm256_xor_si256
(
c2
[
1643
],
_mm256_xor_si256
(
c2
[
43
],
_mm256_xor_si256
(
c2
[
1481
],
_mm256_xor_si256
(
c2
[
2522
],
_mm256_xor_si256
(
c2
[
608
],
_mm256_xor_si256
(
c2
[
1649
],
_mm256_xor_si256
(
c2
[
1009
],
_mm256_xor_si256
(
c2
[
2050
],
_mm256_xor_si256
(
c2
[
770
],
_mm256_xor_si256
(
c2
[
2208
],
_mm256_xor_si256
(
c2
[
690
],
_mm256_xor_si256
(
c2
[
539
],
_mm256_xor_si256
(
c2
[
1576
],
_mm256_xor_si256
(
c2
[
1177
],
_mm256_xor_si256
(
c2
[
56
],
_mm256_xor_si256
(
c2
[
1097
],
_mm256_xor_si256
(
c2
[
865
],
_mm256_xor_si256
(
c2
[
1906
],
_mm256_xor_si256
(
c2
[
2145
],
_mm256_xor_si256
(
c2
[
627
],
_mm256_xor_si256
(
c2
[
864
],
_mm256_xor_si256
(
c2
[
2306
],
_mm256_xor_si256
(
c2
[
784
],
_mm256_xor_si256
(
c2
[
1912
],
_mm256_xor_si256
(
c2
[
394
],
_mm256_xor_si256
(
c2
[
554
],
_mm256_xor_si256
(
c2
[
1595
],
_mm256_xor_si256
(
c2
[
1995
],
_mm256_xor_si256
(
c2
[
874
],
c2
[
1915
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
164
]
=
_mm256_xor_si256
(
c2
[
2483
],
_mm256_xor_si256
(
c2
[
2403
],
_mm256_xor_si256
(
c2
[
2240
],
_mm256_xor_si256
(
c2
[
482
],
_mm256_xor_si256
(
c2
[
891
],
_mm256_xor_si256
(
c2
[
811
],
_mm256_xor_si256
(
c2
[
571
],
_mm256_xor_si256
(
c2
[
2331
],
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
178
],
_mm256_xor_si256
(
c2
[
98
],
_mm256_xor_si256
(
c2
[
1217
],
_mm256_xor_si256
(
c2
[
1304
],
_mm256_xor_si256
(
c2
[
1224
],
_mm256_xor_si256
(
c2
[
2184
],
_mm256_xor_si256
(
c2
[
105
],
_mm256_xor_si256
(
c2
[
1475
],
_mm256_xor_si256
(
c2
[
753
],
_mm256_xor_si256
(
c2
[
1552
],
_mm256_xor_si256
(
c2
[
1483
],
_mm256_xor_si256
(
c2
[
2362
],
_mm256_xor_si256
(
c2
[
443
],
_mm256_xor_si256
(
c2
[
1569
],
_mm256_xor_si256
(
c2
[
1489
],
_mm256_xor_si256
(
c2
[
1890
],
_mm256_xor_si256
(
c2
[
530
],
_mm256_xor_si256
(
c2
[
1416
],
_mm256_xor_si256
(
c2
[
937
],
_mm256_xor_si256
(
c2
[
1746
],
_mm256_xor_si256
(
c2
[
467
],
_mm256_xor_si256
(
c2
[
624
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
234
],
_mm256_xor_si256
(
c2
[
1435
],
c2
[
1755
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc144_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=144, byte encoding
static
inline
void
ldpc_BG2_Zc144_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m128i
*
csimd
=
(
__m128i
*
)
c
,
*
dsimd
=
(
__m128i
*
)
d
;
__m128i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
9
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm_xor_si128
(
c2
[
360
],
_mm_xor_si128
(
c2
[
361
],
_mm_xor_si128
(
c2
[
2525
],
_mm_xor_si128
(
c2
[
1639
],
_mm_xor_si128
(
c2
[
1644
],
_mm_xor_si128
(
c2
[
1285
],
_mm_xor_si128
(
c2
[
759
],
_mm_xor_si128
(
c2
[
1483
],
_mm_xor_si128
(
c2
[
416
],
_mm_xor_si128
(
c2
[
2399
],
_mm_xor_si128
(
c2
[
2039
],
_mm_xor_si128
(
c2
[
1338
],
_mm_xor_si128
(
c2
[
2418
],
_mm_xor_si128
(
c2
[
973
],
_mm_xor_si128
(
c2
[
274
],
_mm_xor_si128
(
c2
[
630
],
_mm_xor_si128
(
c2
[
475
],
_mm_xor_si128
(
c2
[
653
],
_mm_xor_si128
(
c2
[
1552
],
_mm_xor_si128
(
c2
[
312
],
_mm_xor_si128
(
c2
[
129
],
_mm_xor_si128
(
c2
[
868
],
_mm_xor_si128
(
c2
[
2670
],
_mm_xor_si128
(
c2
[
2851
],
_mm_xor_si128
(
c2
[
2689
],
_mm_xor_si128
(
c2
[
345
],
c2
[
2686
]))))))))))))))))))))))))));
//row: 1
d2
[
9
]
=
_mm_xor_si128
(
c2
[
540
],
_mm_xor_si128
(
c2
[
360
],
_mm_xor_si128
(
c2
[
361
],
_mm_xor_si128
(
c2
[
2525
],
_mm_xor_si128
(
c2
[
1819
],
_mm_xor_si128
(
c2
[
1639
],
_mm_xor_si128
(
c2
[
1644
],
_mm_xor_si128
(
c2
[
1285
],
_mm_xor_si128
(
c2
[
939
],
_mm_xor_si128
(
c2
[
759
],
_mm_xor_si128
(
c2
[
1483
],
_mm_xor_si128
(
c2
[
596
],
_mm_xor_si128
(
c2
[
416
],
_mm_xor_si128
(
c2
[
2399
],
_mm_xor_si128
(
c2
[
2039
],
_mm_xor_si128
(
c2
[
1338
],
_mm_xor_si128
(
c2
[
2418
],
_mm_xor_si128
(
c2
[
973
],
_mm_xor_si128
(
c2
[
274
],
_mm_xor_si128
(
c2
[
630
],
_mm_xor_si128
(
c2
[
655
],
_mm_xor_si128
(
c2
[
475
],
_mm_xor_si128
(
c2
[
653
],
_mm_xor_si128
(
c2
[
1552
],
_mm_xor_si128
(
c2
[
312
],
_mm_xor_si128
(
c2
[
129
],
_mm_xor_si128
(
c2
[
868
],
_mm_xor_si128
(
c2
[
2670
],
_mm_xor_si128
(
c2
[
2851
],
_mm_xor_si128
(
c2
[
2869
],
_mm_xor_si128
(
c2
[
2689
],
_mm_xor_si128
(
c2
[
345
],
c2
[
2686
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
18
]
=
_mm_xor_si128
(
c2
[
540
],
_mm_xor_si128
(
c2
[
360
],
_mm_xor_si128
(
c2
[
541
],
_mm_xor_si128
(
c2
[
361
],
_mm_xor_si128
(
c2
[
2525
],
_mm_xor_si128
(
c2
[
1819
],
_mm_xor_si128
(
c2
[
1639
],
_mm_xor_si128
(
c2
[
1644
],
_mm_xor_si128
(
c2
[
1285
],
_mm_xor_si128
(
c2
[
939
],
_mm_xor_si128
(
c2
[
759
],
_mm_xor_si128
(
c2
[
1483
],
_mm_xor_si128
(
c2
[
596
],
_mm_xor_si128
(
c2
[
416
],
_mm_xor_si128
(
c2
[
2579
],
_mm_xor_si128
(
c2
[
2399
],
_mm_xor_si128
(
c2
[
2039
],
_mm_xor_si128
(
c2
[
1518
],
_mm_xor_si128
(
c2
[
1338
],
_mm_xor_si128
(
c2
[
2418
],
_mm_xor_si128
(
c2
[
973
],
_mm_xor_si128
(
c2
[
454
],
_mm_xor_si128
(
c2
[
274
],
_mm_xor_si128
(
c2
[
630
],
_mm_xor_si128
(
c2
[
655
],
_mm_xor_si128
(
c2
[
475
],
_mm_xor_si128
(
c2
[
833
],
_mm_xor_si128
(
c2
[
653
],
_mm_xor_si128
(
c2
[
1552
],
_mm_xor_si128
(
c2
[
492
],
_mm_xor_si128
(
c2
[
312
],
_mm_xor_si128
(
c2
[
129
],
_mm_xor_si128
(
c2
[
1048
],
_mm_xor_si128
(
c2
[
868
],
_mm_xor_si128
(
c2
[
2670
],
_mm_xor_si128
(
c2
[
2851
],
_mm_xor_si128
(
c2
[
2869
],
_mm_xor_si128
(
c2
[
2689
],
_mm_xor_si128
(
c2
[
525
],
_mm_xor_si128
(
c2
[
345
],
c2
[
2686
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
27
]
=
_mm_xor_si128
(
c2
[
360
],
_mm_xor_si128
(
c2
[
361
],
_mm_xor_si128
(
c2
[
2525
],
_mm_xor_si128
(
c2
[
1639
],
_mm_xor_si128
(
c2
[
1644
],
_mm_xor_si128
(
c2
[
1465
],
_mm_xor_si128
(
c2
[
1285
],
_mm_xor_si128
(
c2
[
759
],
_mm_xor_si128
(
c2
[
1663
],
_mm_xor_si128
(
c2
[
1483
],
_mm_xor_si128
(
c2
[
416
],
_mm_xor_si128
(
c2
[
2399
],
_mm_xor_si128
(
c2
[
2039
],
_mm_xor_si128
(
c2
[
1338
],
_mm_xor_si128
(
c2
[
2418
],
_mm_xor_si128
(
c2
[
1153
],
_mm_xor_si128
(
c2
[
973
],
_mm_xor_si128
(
c2
[
274
],
_mm_xor_si128
(
c2
[
810
],
_mm_xor_si128
(
c2
[
630
],
_mm_xor_si128
(
c2
[
475
],
_mm_xor_si128
(
c2
[
653
],
_mm_xor_si128
(
c2
[
1732
],
_mm_xor_si128
(
c2
[
1552
],
_mm_xor_si128
(
c2
[
312
],
_mm_xor_si128
(
c2
[
309
],
_mm_xor_si128
(
c2
[
129
],
_mm_xor_si128
(
c2
[
868
],
_mm_xor_si128
(
c2
[
2670
],
_mm_xor_si128
(
c2
[
152
],
_mm_xor_si128
(
c2
[
2851
],
_mm_xor_si128
(
c2
[
2689
],
_mm_xor_si128
(
c2
[
345
],
_mm_xor_si128
(
c2
[
2866
],
c2
[
2686
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
36
]
=
_mm_xor_si128
(
c2
[
1083
],
_mm_xor_si128
(
c2
[
903
],
_mm_xor_si128
(
c2
[
904
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
1802
],
_mm_xor_si128
(
c2
[
2362
],
_mm_xor_si128
(
c2
[
2182
],
_mm_xor_si128
(
c2
[
2178
],
_mm_xor_si128
(
c2
[
1819
],
_mm_xor_si128
(
c2
[
1459
],
_mm_xor_si128
(
c2
[
1482
],
_mm_xor_si128
(
c2
[
1302
],
_mm_xor_si128
(
c2
[
2017
],
_mm_xor_si128
(
c2
[
1139
],
_mm_xor_si128
(
c2
[
959
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
2582
],
_mm_xor_si128
(
c2
[
1872
],
_mm_xor_si128
(
c2
[
73
],
_mm_xor_si128
(
c2
[
1516
],
_mm_xor_si128
(
c2
[
817
],
_mm_xor_si128
(
c2
[
1173
],
_mm_xor_si128
(
c2
[
1189
],
_mm_xor_si128
(
c2
[
1009
],
_mm_xor_si128
(
c2
[
1196
],
_mm_xor_si128
(
c2
[
2095
],
_mm_xor_si128
(
c2
[
846
],
_mm_xor_si128
(
c2
[
672
],
_mm_xor_si128
(
c2
[
1411
],
_mm_xor_si128
(
c2
[
325
],
_mm_xor_si128
(
c2
[
506
],
_mm_xor_si128
(
c2
[
524
],
_mm_xor_si128
(
c2
[
344
],
_mm_xor_si128
(
c2
[
888
],
c2
[
350
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
45
]
=
_mm_xor_si128
(
c2
[
1804
],
_mm_xor_si128
(
c2
[
1624
],
_mm_xor_si128
(
c2
[
1625
],
_mm_xor_si128
(
c2
[
901
],
_mm_xor_si128
(
c2
[
1442
],
_mm_xor_si128
(
c2
[
204
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
20
],
_mm_xor_si128
(
c2
[
2540
],
_mm_xor_si128
(
c2
[
2186
],
_mm_xor_si128
(
c2
[
2203
],
_mm_xor_si128
(
c2
[
2023
],
_mm_xor_si128
(
c2
[
2738
],
_mm_xor_si128
(
c2
[
1860
],
_mm_xor_si128
(
c2
[
1680
],
_mm_xor_si128
(
c2
[
775
],
_mm_xor_si128
(
c2
[
415
],
_mm_xor_si128
(
c2
[
2593
],
_mm_xor_si128
(
c2
[
794
],
_mm_xor_si128
(
c2
[
2237
],
_mm_xor_si128
(
c2
[
1538
],
_mm_xor_si128
(
c2
[
1894
],
_mm_xor_si128
(
c2
[
815
],
_mm_xor_si128
(
c2
[
1910
],
_mm_xor_si128
(
c2
[
1730
],
_mm_xor_si128
(
c2
[
1908
],
_mm_xor_si128
(
c2
[
2816
],
_mm_xor_si128
(
c2
[
1567
],
_mm_xor_si128
(
c2
[
1393
],
_mm_xor_si128
(
c2
[
1754
],
_mm_xor_si128
(
c2
[
2132
],
_mm_xor_si128
(
c2
[
1046
],
_mm_xor_si128
(
c2
[
1227
],
_mm_xor_si128
(
c2
[
1245
],
_mm_xor_si128
(
c2
[
1065
],
_mm_xor_si128
(
c2
[
1609
],
c2
[
1062
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
54
]
=
_mm_xor_si128
(
c2
[
2528
],
_mm_xor_si128
(
c2
[
2348
],
_mm_xor_si128
(
c2
[
2340
],
_mm_xor_si128
(
c2
[
1625
],
_mm_xor_si128
(
c2
[
2346
],
_mm_xor_si128
(
c2
[
919
],
_mm_xor_si128
(
c2
[
739
],
_mm_xor_si128
(
c2
[
744
],
_mm_xor_si128
(
c2
[
385
],
_mm_xor_si128
(
c2
[
39
],
_mm_xor_si128
(
c2
[
2738
],
_mm_xor_si128
(
c2
[
583
],
_mm_xor_si128
(
c2
[
2575
],
_mm_xor_si128
(
c2
[
2395
],
_mm_xor_si128
(
c2
[
1499
],
_mm_xor_si128
(
c2
[
1139
],
_mm_xor_si128
(
c2
[
438
],
_mm_xor_si128
(
c2
[
1518
],
_mm_xor_si128
(
c2
[
73
],
_mm_xor_si128
(
c2
[
2253
],
_mm_xor_si128
(
c2
[
2618
],
_mm_xor_si128
(
c2
[
1355
],
_mm_xor_si128
(
c2
[
2634
],
_mm_xor_si128
(
c2
[
2454
],
_mm_xor_si128
(
c2
[
2632
],
_mm_xor_si128
(
c2
[
652
],
_mm_xor_si128
(
c2
[
2291
],
_mm_xor_si128
(
c2
[
2108
],
_mm_xor_si128
(
c2
[
2112
],
_mm_xor_si128
(
c2
[
2847
],
_mm_xor_si128
(
c2
[
1770
],
_mm_xor_si128
(
c2
[
1951
],
_mm_xor_si128
(
c2
[
1969
],
_mm_xor_si128
(
c2
[
1789
],
_mm_xor_si128
(
c2
[
2324
],
_mm_xor_si128
(
c2
[
1786
],
c2
[
1070
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
63
]
=
_mm_xor_si128
(
c2
[
2706
],
_mm_xor_si128
(
c2
[
2526
],
_mm_xor_si128
(
c2
[
544
],
_mm_xor_si128
(
c2
[
2527
],
_mm_xor_si128
(
c2
[
545
],
_mm_xor_si128
(
c2
[
1803
],
_mm_xor_si128
(
c2
[
2700
],
_mm_xor_si128
(
c2
[
1106
],
_mm_xor_si128
(
c2
[
926
],
_mm_xor_si128
(
c2
[
1823
],
_mm_xor_si128
(
c2
[
922
],
_mm_xor_si128
(
c2
[
1819
],
_mm_xor_si128
(
c2
[
563
],
_mm_xor_si128
(
c2
[
1640
],
_mm_xor_si128
(
c2
[
1460
],
_mm_xor_si128
(
c2
[
204
],
_mm_xor_si128
(
c2
[
217
],
_mm_xor_si128
(
c2
[
37
],
_mm_xor_si128
(
c2
[
943
],
_mm_xor_si128
(
c2
[
761
],
_mm_xor_si128
(
c2
[
1838
],
_mm_xor_si128
(
c2
[
1658
],
_mm_xor_si128
(
c2
[
2762
],
_mm_xor_si128
(
c2
[
2582
],
_mm_xor_si128
(
c2
[
600
],
_mm_xor_si128
(
c2
[
1677
],
_mm_xor_si128
(
c2
[
2574
],
_mm_xor_si128
(
c2
[
1317
],
_mm_xor_si128
(
c2
[
2214
],
_mm_xor_si128
(
c2
[
616
],
_mm_xor_si128
(
c2
[
1513
],
_mm_xor_si128
(
c2
[
1696
],
_mm_xor_si128
(
c2
[
2593
],
_mm_xor_si128
(
c2
[
260
],
_mm_xor_si128
(
c2
[
1337
],
_mm_xor_si128
(
c2
[
1157
],
_mm_xor_si128
(
c2
[
2431
],
_mm_xor_si128
(
c2
[
458
],
_mm_xor_si128
(
c2
[
2796
],
_mm_xor_si128
(
c2
[
994
],
_mm_xor_si128
(
c2
[
814
],
_mm_xor_si128
(
c2
[
1358
],
_mm_xor_si128
(
c2
[
2812
],
_mm_xor_si128
(
c2
[
2632
],
_mm_xor_si128
(
c2
[
650
],
_mm_xor_si128
(
c2
[
2810
],
_mm_xor_si128
(
c2
[
828
],
_mm_xor_si128
(
c2
[
830
],
_mm_xor_si128
(
c2
[
1916
],
_mm_xor_si128
(
c2
[
1736
],
_mm_xor_si128
(
c2
[
2469
],
_mm_xor_si128
(
c2
[
487
],
_mm_xor_si128
(
c2
[
2286
],
_mm_xor_si128
(
c2
[
493
],
_mm_xor_si128
(
c2
[
313
],
_mm_xor_si128
(
c2
[
668
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
1052
],
_mm_xor_si128
(
c2
[
1948
],
_mm_xor_si128
(
c2
[
2845
],
_mm_xor_si128
(
c2
[
2129
],
_mm_xor_si128
(
c2
[
327
],
_mm_xor_si128
(
c2
[
147
],
_mm_xor_si128
(
c2
[
2147
],
_mm_xor_si128
(
c2
[
1967
],
_mm_xor_si128
(
c2
[
2864
],
_mm_xor_si128
(
c2
[
2502
],
_mm_xor_si128
(
c2
[
529
],
_mm_xor_si128
(
c2
[
1964
],
_mm_xor_si128
(
c2
[
162
],
c2
[
2870
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
72
]
=
_mm_xor_si128
(
c2
[
1985
],
_mm_xor_si128
(
c2
[
1805
],
_mm_xor_si128
(
c2
[
1986
],
_mm_xor_si128
(
c2
[
1806
],
_mm_xor_si128
(
c2
[
1082
],
_mm_xor_si128
(
c2
[
1084
],
_mm_xor_si128
(
c2
[
385
],
_mm_xor_si128
(
c2
[
205
],
_mm_xor_si128
(
c2
[
201
],
_mm_xor_si128
(
c2
[
2721
],
_mm_xor_si128
(
c2
[
922
],
_mm_xor_si128
(
c2
[
2384
],
_mm_xor_si128
(
c2
[
2204
],
_mm_xor_si128
(
c2
[
40
],
_mm_xor_si128
(
c2
[
2041
],
_mm_xor_si128
(
c2
[
1861
],
_mm_xor_si128
(
c2
[
1136
],
_mm_xor_si128
(
c2
[
956
],
_mm_xor_si128
(
c2
[
596
],
_mm_xor_si128
(
c2
[
75
],
_mm_xor_si128
(
c2
[
2774
],
_mm_xor_si128
(
c2
[
975
],
_mm_xor_si128
(
c2
[
2418
],
_mm_xor_si128
(
c2
[
1890
],
_mm_xor_si128
(
c2
[
1710
],
_mm_xor_si128
(
c2
[
2075
],
_mm_xor_si128
(
c2
[
2091
],
_mm_xor_si128
(
c2
[
1911
],
_mm_xor_si128
(
c2
[
2269
],
_mm_xor_si128
(
c2
[
2089
],
_mm_xor_si128
(
c2
[
109
],
_mm_xor_si128
(
c2
[
1928
],
_mm_xor_si128
(
c2
[
1748
],
_mm_xor_si128
(
c2
[
1574
],
_mm_xor_si128
(
c2
[
2484
],
_mm_xor_si128
(
c2
[
2304
],
_mm_xor_si128
(
c2
[
1227
],
_mm_xor_si128
(
c2
[
1408
],
_mm_xor_si128
(
c2
[
1426
],
_mm_xor_si128
(
c2
[
1246
],
_mm_xor_si128
(
c2
[
1970
],
_mm_xor_si128
(
c2
[
1790
],
c2
[
1243
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
81
]
=
_mm_xor_si128
(
c2
[
1801
],
_mm_xor_si128
(
c2
[
723
],
_mm_xor_si128
(
c2
[
543
],
_mm_xor_si128
(
c2
[
1802
],
_mm_xor_si128
(
c2
[
544
],
_mm_xor_si128
(
c2
[
1087
],
_mm_xor_si128
(
c2
[
2708
],
_mm_xor_si128
(
c2
[
201
],
_mm_xor_si128
(
c2
[
2002
],
_mm_xor_si128
(
c2
[
1822
],
_mm_xor_si128
(
c2
[
206
],
_mm_xor_si128
(
c2
[
1818
],
_mm_xor_si128
(
c2
[
2726
],
_mm_xor_si128
(
c2
[
1459
],
_mm_xor_si128
(
c2
[
204
],
_mm_xor_si128
(
c2
[
2200
],
_mm_xor_si128
(
c2
[
1122
],
_mm_xor_si128
(
c2
[
942
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
1657
],
_mm_xor_si128
(
c2
[
1857
],
_mm_xor_si128
(
c2
[
779
],
_mm_xor_si128
(
c2
[
599
],
_mm_xor_si128
(
c2
[
961
],
_mm_xor_si128
(
c2
[
2582
],
_mm_xor_si128
(
c2
[
601
],
_mm_xor_si128
(
c2
[
2222
],
_mm_xor_si128
(
c2
[
2779
],
_mm_xor_si128
(
c2
[
1512
],
_mm_xor_si128
(
c2
[
980
],
_mm_xor_si128
(
c2
[
2592
],
_mm_xor_si128
(
c2
[
2414
],
_mm_xor_si128
(
c2
[
1156
],
_mm_xor_si128
(
c2
[
1715
],
_mm_xor_si128
(
c2
[
457
],
_mm_xor_si128
(
c2
[
2071
],
_mm_xor_si128
(
c2
[
813
],
_mm_xor_si128
(
c2
[
1916
],
_mm_xor_si128
(
c2
[
829
],
_mm_xor_si128
(
c2
[
649
],
_mm_xor_si128
(
c2
[
2094
],
_mm_xor_si128
(
c2
[
836
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
1735
],
_mm_xor_si128
(
c2
[
1753
],
_mm_xor_si128
(
c2
[
486
],
_mm_xor_si128
(
c2
[
1570
],
_mm_xor_si128
(
c2
[
312
],
_mm_xor_si128
(
c2
[
2309
],
_mm_xor_si128
(
c2
[
1051
],
_mm_xor_si128
(
c2
[
1232
],
_mm_xor_si128
(
c2
[
2844
],
_mm_xor_si128
(
c2
[
1404
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
1586
],
_mm_xor_si128
(
c2
[
1242
],
_mm_xor_si128
(
c2
[
164
],
_mm_xor_si128
(
c2
[
2863
],
_mm_xor_si128
(
c2
[
1786
],
_mm_xor_si128
(
c2
[
528
],
_mm_xor_si128
(
c2
[
1248
],
c2
[
2869
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
90
]
=
_mm_xor_si128
(
c2
[
2522
],
_mm_xor_si128
(
c2
[
1640
],
_mm_xor_si128
(
c2
[
1014
],
c2
[
132
])));
//row: 11
d2
[
99
]
=
_mm_xor_si128
(
c2
[
364
],
_mm_xor_si128
(
c2
[
365
],
_mm_xor_si128
(
c2
[
2520
],
_mm_xor_si128
(
c2
[
2161
],
_mm_xor_si128
(
c2
[
1643
],
_mm_xor_si128
(
c2
[
1639
],
_mm_xor_si128
(
c2
[
1460
],
_mm_xor_si128
(
c2
[
1280
],
_mm_xor_si128
(
c2
[
763
],
_mm_xor_si128
(
c2
[
1658
],
_mm_xor_si128
(
c2
[
1478
],
_mm_xor_si128
(
c2
[
420
],
_mm_xor_si128
(
c2
[
2394
],
_mm_xor_si128
(
c2
[
2034
],
_mm_xor_si128
(
c2
[
1333
],
_mm_xor_si128
(
c2
[
2413
],
_mm_xor_si128
(
c2
[
1157
],
_mm_xor_si128
(
c2
[
977
],
_mm_xor_si128
(
c2
[
278
],
_mm_xor_si128
(
c2
[
814
],
_mm_xor_si128
(
c2
[
634
],
_mm_xor_si128
(
c2
[
470
],
_mm_xor_si128
(
c2
[
648
],
_mm_xor_si128
(
c2
[
1736
],
_mm_xor_si128
(
c2
[
1556
],
_mm_xor_si128
(
c2
[
307
],
_mm_xor_si128
(
c2
[
313
],
_mm_xor_si128
(
c2
[
133
],
_mm_xor_si128
(
c2
[
2647
],
_mm_xor_si128
(
c2
[
872
],
_mm_xor_si128
(
c2
[
2665
],
_mm_xor_si128
(
c2
[
147
],
_mm_xor_si128
(
c2
[
2846
],
_mm_xor_si128
(
c2
[
2684
],
_mm_xor_si128
(
c2
[
349
],
_mm_xor_si128
(
c2
[
2870
],
_mm_xor_si128
(
c2
[
2690
],
c2
[
889
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
108
]
=
_mm_xor_si128
(
c2
[
1088
],
_mm_xor_si128
(
c2
[
908
],
_mm_xor_si128
(
c2
[
900
],
_mm_xor_si128
(
c2
[
185
],
_mm_xor_si128
(
c2
[
2358
],
_mm_xor_si128
(
c2
[
2178
],
_mm_xor_si128
(
c2
[
2183
],
_mm_xor_si128
(
c2
[
1824
],
_mm_xor_si128
(
c2
[
200
],
_mm_xor_si128
(
c2
[
1478
],
_mm_xor_si128
(
c2
[
1298
],
_mm_xor_si128
(
c2
[
2022
],
_mm_xor_si128
(
c2
[
1135
],
_mm_xor_si128
(
c2
[
955
],
_mm_xor_si128
(
c2
[
59
],
_mm_xor_si128
(
c2
[
2578
],
_mm_xor_si128
(
c2
[
1861
],
_mm_xor_si128
(
c2
[
1877
],
_mm_xor_si128
(
c2
[
78
],
_mm_xor_si128
(
c2
[
1512
],
_mm_xor_si128
(
c2
[
813
],
_mm_xor_si128
(
c2
[
1178
],
_mm_xor_si128
(
c2
[
1194
],
_mm_xor_si128
(
c2
[
1014
],
_mm_xor_si128
(
c2
[
1192
],
_mm_xor_si128
(
c2
[
2091
],
_mm_xor_si128
(
c2
[
851
],
_mm_xor_si128
(
c2
[
668
],
_mm_xor_si128
(
c2
[
1407
],
_mm_xor_si128
(
c2
[
330
],
_mm_xor_si128
(
c2
[
511
],
_mm_xor_si128
(
c2
[
529
],
_mm_xor_si128
(
c2
[
349
],
_mm_xor_si128
(
c2
[
884
],
c2
[
346
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
117
]
=
_mm_xor_si128
(
c2
[
183
],
_mm_xor_si128
(
c2
[
184
],
_mm_xor_si128
(
c2
[
2348
],
_mm_xor_si128
(
c2
[
2164
],
_mm_xor_si128
(
c2
[
1462
],
_mm_xor_si128
(
c2
[
1458
],
_mm_xor_si128
(
c2
[
1279
],
_mm_xor_si128
(
c2
[
1099
],
_mm_xor_si128
(
c2
[
920
],
_mm_xor_si128
(
c2
[
582
],
_mm_xor_si128
(
c2
[
1477
],
_mm_xor_si128
(
c2
[
1297
],
_mm_xor_si128
(
c2
[
239
],
_mm_xor_si128
(
c2
[
2222
],
_mm_xor_si128
(
c2
[
1862
],
_mm_xor_si128
(
c2
[
1152
],
_mm_xor_si128
(
c2
[
2232
],
_mm_xor_si128
(
c2
[
976
],
_mm_xor_si128
(
c2
[
796
],
_mm_xor_si128
(
c2
[
97
],
_mm_xor_si128
(
c2
[
633
],
_mm_xor_si128
(
c2
[
453
],
_mm_xor_si128
(
c2
[
289
],
_mm_xor_si128
(
c2
[
476
],
_mm_xor_si128
(
c2
[
1555
],
_mm_xor_si128
(
c2
[
1375
],
_mm_xor_si128
(
c2
[
126
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
2831
],
_mm_xor_si128
(
c2
[
691
],
_mm_xor_si128
(
c2
[
2484
],
_mm_xor_si128
(
c2
[
2845
],
_mm_xor_si128
(
c2
[
2665
],
_mm_xor_si128
(
c2
[
2667
],
_mm_xor_si128
(
c2
[
2503
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
2689
],
c2
[
2509
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
126
]
=
_mm_xor_si128
(
c2
[
908
],
_mm_xor_si128
(
c2
[
728
],
_mm_xor_si128
(
c2
[
546
],
_mm_xor_si128
(
c2
[
720
],
_mm_xor_si128
(
c2
[
547
],
_mm_xor_si128
(
c2
[
5
],
_mm_xor_si128
(
c2
[
2702
],
_mm_xor_si128
(
c2
[
2178
],
_mm_xor_si128
(
c2
[
1998
],
_mm_xor_si128
(
c2
[
1825
],
_mm_xor_si128
(
c2
[
2003
],
_mm_xor_si128
(
c2
[
1821
],
_mm_xor_si128
(
c2
[
1644
],
_mm_xor_si128
(
c2
[
1642
],
_mm_xor_si128
(
c2
[
1462
],
_mm_xor_si128
(
c2
[
2726
],
_mm_xor_si128
(
c2
[
1298
],
_mm_xor_si128
(
c2
[
1118
],
_mm_xor_si128
(
c2
[
936
],
_mm_xor_si128
(
c2
[
1842
],
_mm_xor_si128
(
c2
[
1840
],
_mm_xor_si128
(
c2
[
1660
],
_mm_xor_si128
(
c2
[
955
],
_mm_xor_si128
(
c2
[
775
],
_mm_xor_si128
(
c2
[
602
],
_mm_xor_si128
(
c2
[
2758
],
_mm_xor_si128
(
c2
[
2576
],
_mm_xor_si128
(
c2
[
2398
],
_mm_xor_si128
(
c2
[
2216
],
_mm_xor_si128
(
c2
[
1697
],
_mm_xor_si128
(
c2
[
1515
],
_mm_xor_si128
(
c2
[
2777
],
_mm_xor_si128
(
c2
[
2595
],
_mm_xor_si128
(
c2
[
1332
],
_mm_xor_si128
(
c2
[
1339
],
_mm_xor_si128
(
c2
[
1159
],
_mm_xor_si128
(
c2
[
633
],
_mm_xor_si128
(
c2
[
451
],
_mm_xor_si128
(
c2
[
998
],
_mm_xor_si128
(
c2
[
996
],
_mm_xor_si128
(
c2
[
816
],
_mm_xor_si128
(
c2
[
1014
],
_mm_xor_si128
(
c2
[
834
],
_mm_xor_si128
(
c2
[
652
],
_mm_xor_si128
(
c2
[
1012
],
_mm_xor_si128
(
c2
[
830
],
_mm_xor_si128
(
c2
[
1911
],
_mm_xor_si128
(
c2
[
1909
],
_mm_xor_si128
(
c2
[
1729
],
_mm_xor_si128
(
c2
[
651
],
_mm_xor_si128
(
c2
[
671
],
_mm_xor_si128
(
c2
[
489
],
_mm_xor_si128
(
c2
[
488
],
_mm_xor_si128
(
c2
[
486
],
_mm_xor_si128
(
c2
[
306
],
_mm_xor_si128
(
c2
[
1227
],
_mm_xor_si128
(
c2
[
1045
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
2847
],
_mm_xor_si128
(
c2
[
331
],
_mm_xor_si128
(
c2
[
329
],
_mm_xor_si128
(
c2
[
149
],
_mm_xor_si128
(
c2
[
349
],
_mm_xor_si128
(
c2
[
169
],
_mm_xor_si128
(
c2
[
2866
],
_mm_xor_si128
(
c2
[
704
],
_mm_xor_si128
(
c2
[
522
],
_mm_xor_si128
(
c2
[
166
],
_mm_xor_si128
(
c2
[
164
],
c2
[
2863
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
135
]
=
_mm_xor_si128
(
c2
[
366
],
_mm_xor_si128
(
c2
[
548
],
_mm_xor_si128
(
c2
[
368
],
_mm_xor_si128
(
c2
[
367
],
_mm_xor_si128
(
c2
[
360
],
_mm_xor_si128
(
c2
[
2522
],
_mm_xor_si128
(
c2
[
2524
],
_mm_xor_si128
(
c2
[
1988
],
_mm_xor_si128
(
c2
[
1645
],
_mm_xor_si128
(
c2
[
1818
],
_mm_xor_si128
(
c2
[
1638
],
_mm_xor_si128
(
c2
[
1641
],
_mm_xor_si128
(
c2
[
1643
],
_mm_xor_si128
(
c2
[
1282
],
_mm_xor_si128
(
c2
[
1284
],
_mm_xor_si128
(
c2
[
756
],
_mm_xor_si128
(
c2
[
938
],
_mm_xor_si128
(
c2
[
758
],
_mm_xor_si128
(
c2
[
1480
],
_mm_xor_si128
(
c2
[
1482
],
_mm_xor_si128
(
c2
[
422
],
_mm_xor_si128
(
c2
[
595
],
_mm_xor_si128
(
c2
[
415
],
_mm_xor_si128
(
c2
[
2396
],
_mm_xor_si128
(
c2
[
2398
],
_mm_xor_si128
(
c2
[
2036
],
_mm_xor_si128
(
c2
[
2038
],
_mm_xor_si128
(
c2
[
1335
],
_mm_xor_si128
(
c2
[
1337
],
_mm_xor_si128
(
c2
[
2415
],
_mm_xor_si128
(
c2
[
2417
],
_mm_xor_si128
(
c2
[
979
],
_mm_xor_si128
(
c2
[
972
],
_mm_xor_si128
(
c2
[
271
],
_mm_xor_si128
(
c2
[
273
],
_mm_xor_si128
(
c2
[
636
],
_mm_xor_si128
(
c2
[
638
],
_mm_xor_si128
(
c2
[
472
],
_mm_xor_si128
(
c2
[
654
],
_mm_xor_si128
(
c2
[
474
],
_mm_xor_si128
(
c2
[
650
],
_mm_xor_si128
(
c2
[
652
],
_mm_xor_si128
(
c2
[
1549
],
_mm_xor_si128
(
c2
[
1551
],
_mm_xor_si128
(
c2
[
309
],
_mm_xor_si128
(
c2
[
311
],
_mm_xor_si128
(
c2
[
126
],
_mm_xor_si128
(
c2
[
128
],
_mm_xor_si128
(
c2
[
865
],
_mm_xor_si128
(
c2
[
867
],
_mm_xor_si128
(
c2
[
2667
],
_mm_xor_si128
(
c2
[
2669
],
_mm_xor_si128
(
c2
[
2848
],
_mm_xor_si128
(
c2
[
2850
],
_mm_xor_si128
(
c2
[
2686
],
_mm_xor_si128
(
c2
[
2868
],
_mm_xor_si128
(
c2
[
2688
],
_mm_xor_si128
(
c2
[
342
],
_mm_xor_si128
(
c2
[
344
],
_mm_xor_si128
(
c2
[
2683
],
c2
[
2685
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
144
]
=
_mm_xor_si128
(
c2
[
2701
],
_mm_xor_si128
(
c2
[
2521
],
_mm_xor_si128
(
c2
[
1980
],
_mm_xor_si128
(
c2
[
1800
],
_mm_xor_si128
(
c2
[
2522
],
_mm_xor_si128
(
c2
[
1981
],
_mm_xor_si128
(
c2
[
1801
],
_mm_xor_si128
(
c2
[
1807
],
_mm_xor_si128
(
c2
[
1086
],
_mm_xor_si128
(
c2
[
1101
],
_mm_xor_si128
(
c2
[
921
],
_mm_xor_si128
(
c2
[
380
],
_mm_xor_si128
(
c2
[
200
],
_mm_xor_si128
(
c2
[
926
],
_mm_xor_si128
(
c2
[
205
],
_mm_xor_si128
(
c2
[
558
],
_mm_xor_si128
(
c2
[
2725
],
_mm_xor_si128
(
c2
[
21
],
_mm_xor_si128
(
c2
[
221
],
_mm_xor_si128
(
c2
[
41
],
_mm_xor_si128
(
c2
[
2379
],
_mm_xor_si128
(
c2
[
2199
],
_mm_xor_si128
(
c2
[
756
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
2757
],
_mm_xor_si128
(
c2
[
2577
],
_mm_xor_si128
(
c2
[
2036
],
_mm_xor_si128
(
c2
[
1856
],
_mm_xor_si128
(
c2
[
1681
],
_mm_xor_si128
(
c2
[
1140
],
_mm_xor_si128
(
c2
[
960
],
_mm_xor_si128
(
c2
[
1321
],
_mm_xor_si128
(
c2
[
600
],
_mm_xor_si128
(
c2
[
620
],
_mm_xor_si128
(
c2
[
79
],
_mm_xor_si128
(
c2
[
2778
],
_mm_xor_si128
(
c2
[
1700
],
_mm_xor_si128
(
c2
[
979
],
_mm_xor_si128
(
c2
[
255
],
_mm_xor_si128
(
c2
[
2413
],
_mm_xor_si128
(
c2
[
2435
],
_mm_xor_si128
(
c2
[
1894
],
_mm_xor_si128
(
c2
[
1714
],
_mm_xor_si128
(
c2
[
2791
],
_mm_xor_si128
(
c2
[
2070
],
_mm_xor_si128
(
c2
[
2816
],
_mm_xor_si128
(
c2
[
2636
],
_mm_xor_si128
(
c2
[
2095
],
_mm_xor_si128
(
c2
[
1915
],
_mm_xor_si128
(
c2
[
2814
],
_mm_xor_si128
(
c2
[
2273
],
_mm_xor_si128
(
c2
[
2093
],
_mm_xor_si128
(
c2
[
834
],
_mm_xor_si128
(
c2
[
113
],
_mm_xor_si128
(
c2
[
2473
],
_mm_xor_si128
(
c2
[
1932
],
_mm_xor_si128
(
c2
[
1752
],
_mm_xor_si128
(
c2
[
2290
],
_mm_xor_si128
(
c2
[
1569
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
2488
],
_mm_xor_si128
(
c2
[
2308
],
_mm_xor_si128
(
c2
[
1952
],
_mm_xor_si128
(
c2
[
1231
],
_mm_xor_si128
(
c2
[
2124
],
_mm_xor_si128
(
c2
[
1412
],
_mm_xor_si128
(
c2
[
2142
],
_mm_xor_si128
(
c2
[
1962
],
_mm_xor_si128
(
c2
[
1430
],
_mm_xor_si128
(
c2
[
1250
],
_mm_xor_si128
(
c2
[
2506
],
_mm_xor_si128
(
c2
[
1965
],
_mm_xor_si128
(
c2
[
1785
],
_mm_xor_si128
(
c2
[
1968
],
_mm_xor_si128
(
c2
[
1247
],
c2
[
1782
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
153
]
=
_mm_xor_si128
(
c2
[
724
],
_mm_xor_si128
(
c2
[
544
],
_mm_xor_si128
(
c2
[
2342
],
_mm_xor_si128
(
c2
[
2162
],
_mm_xor_si128
(
c2
[
545
],
_mm_xor_si128
(
c2
[
2343
],
_mm_xor_si128
(
c2
[
2163
],
_mm_xor_si128
(
c2
[
2700
],
_mm_xor_si128
(
c2
[
1448
],
_mm_xor_si128
(
c2
[
2003
],
_mm_xor_si128
(
c2
[
1823
],
_mm_xor_si128
(
c2
[
742
],
_mm_xor_si128
(
c2
[
562
],
_mm_xor_si128
(
c2
[
1819
],
_mm_xor_si128
(
c2
[
558
],
_mm_xor_si128
(
c2
[
1460
],
_mm_xor_si128
(
c2
[
199
],
_mm_xor_si128
(
c2
[
1465
],
_mm_xor_si128
(
c2
[
1123
],
_mm_xor_si128
(
c2
[
943
],
_mm_xor_si128
(
c2
[
2741
],
_mm_xor_si128
(
c2
[
2561
],
_mm_xor_si128
(
c2
[
1658
],
_mm_xor_si128
(
c2
[
397
],
_mm_xor_si128
(
c2
[
780
],
_mm_xor_si128
(
c2
[
600
],
_mm_xor_si128
(
c2
[
2398
],
_mm_xor_si128
(
c2
[
2218
],
_mm_xor_si128
(
c2
[
2574
],
_mm_xor_si128
(
c2
[
1502
],
_mm_xor_si128
(
c2
[
1322
],
_mm_xor_si128
(
c2
[
2214
],
_mm_xor_si128
(
c2
[
962
],
_mm_xor_si128
(
c2
[
1513
],
_mm_xor_si128
(
c2
[
432
],
_mm_xor_si128
(
c2
[
252
],
_mm_xor_si128
(
c2
[
2593
],
_mm_xor_si128
(
c2
[
1332
],
_mm_xor_si128
(
c2
[
1157
],
_mm_xor_si128
(
c2
[
2775
],
_mm_xor_si128
(
c2
[
458
],
_mm_xor_si128
(
c2
[
2256
],
_mm_xor_si128
(
c2
[
2076
],
_mm_xor_si128
(
c2
[
814
],
_mm_xor_si128
(
c2
[
2432
],
_mm_xor_si128
(
c2
[
2072
],
_mm_xor_si128
(
c2
[
830
],
_mm_xor_si128
(
c2
[
650
],
_mm_xor_si128
(
c2
[
2448
],
_mm_xor_si128
(
c2
[
2268
],
_mm_xor_si128
(
c2
[
828
],
_mm_xor_si128
(
c2
[
2635
],
_mm_xor_si128
(
c2
[
2455
],
_mm_xor_si128
(
c2
[
1736
],
_mm_xor_si128
(
c2
[
475
],
_mm_xor_si128
(
c2
[
487
],
_mm_xor_si128
(
c2
[
2294
],
_mm_xor_si128
(
c2
[
2114
],
_mm_xor_si128
(
c2
[
313
],
_mm_xor_si128
(
c2
[
1931
],
_mm_xor_si128
(
c2
[
1052
],
_mm_xor_si128
(
c2
[
2850
],
_mm_xor_si128
(
c2
[
2670
],
_mm_xor_si128
(
c2
[
2845
],
_mm_xor_si128
(
c2
[
1584
],
_mm_xor_si128
(
c2
[
147
],
_mm_xor_si128
(
c2
[
1765
],
_mm_xor_si128
(
c2
[
165
],
_mm_xor_si128
(
c2
[
2864
],
_mm_xor_si128
(
c2
[
1783
],
_mm_xor_si128
(
c2
[
1603
],
_mm_xor_si128
(
c2
[
529
],
_mm_xor_si128
(
c2
[
2327
],
_mm_xor_si128
(
c2
[
2147
],
_mm_xor_si128
(
c2
[
2870
],
c2
[
1609
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
162
]
=
_mm_xor_si128
(
c2
[
181
],
_mm_xor_si128
(
c2
[
1914
],
c2
[
2654
]));
//row: 19
d2
[
171
]
=
_mm_xor_si128
(
c2
[
1982
],
_mm_xor_si128
(
c2
[
1983
],
_mm_xor_si128
(
c2
[
1268
],
_mm_xor_si128
(
c2
[
2704
],
_mm_xor_si128
(
c2
[
382
],
_mm_xor_si128
(
c2
[
378
],
_mm_xor_si128
(
c2
[
19
],
_mm_xor_si128
(
c2
[
2179
],
_mm_xor_si128
(
c2
[
2381
],
_mm_xor_si128
(
c2
[
217
],
_mm_xor_si128
(
c2
[
2038
],
_mm_xor_si128
(
c2
[
1142
],
_mm_xor_si128
(
c2
[
782
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
1152
],
_mm_xor_si128
(
c2
[
2595
],
_mm_xor_si128
(
c2
[
1896
],
_mm_xor_si128
(
c2
[
2252
],
_mm_xor_si128
(
c2
[
2088
],
_mm_xor_si128
(
c2
[
2275
],
_mm_xor_si128
(
c2
[
295
],
_mm_xor_si128
(
c2
[
1934
],
_mm_xor_si128
(
c2
[
1751
],
_mm_xor_si128
(
c2
[
2490
],
_mm_xor_si128
(
c2
[
1404
],
_mm_xor_si128
(
c2
[
1585
],
_mm_xor_si128
(
c2
[
1423
],
_mm_xor_si128
(
c2
[
1967
],
c2
[
1429
]))))))))))))))))))))))))))));
//row: 20
d2
[
180
]
=
_mm_xor_si128
(
c2
[
185
],
_mm_xor_si128
(
c2
[
5
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
2161
],
_mm_xor_si128
(
c2
[
1464
],
_mm_xor_si128
(
c2
[
1284
],
_mm_xor_si128
(
c2
[
1280
],
_mm_xor_si128
(
c2
[
921
],
_mm_xor_si128
(
c2
[
378
],
_mm_xor_si128
(
c2
[
584
],
_mm_xor_si128
(
c2
[
404
],
_mm_xor_si128
(
c2
[
1119
],
_mm_xor_si128
(
c2
[
241
],
_mm_xor_si128
(
c2
[
61
],
_mm_xor_si128
(
c2
[
2035
],
_mm_xor_si128
(
c2
[
1675
],
_mm_xor_si128
(
c2
[
974
],
_mm_xor_si128
(
c2
[
2054
],
_mm_xor_si128
(
c2
[
618
],
_mm_xor_si128
(
c2
[
1338
],
_mm_xor_si128
(
c2
[
2798
],
_mm_xor_si128
(
c2
[
275
],
_mm_xor_si128
(
c2
[
291
],
_mm_xor_si128
(
c2
[
111
],
_mm_xor_si128
(
c2
[
289
],
_mm_xor_si128
(
c2
[
1188
],
_mm_xor_si128
(
c2
[
2827
],
_mm_xor_si128
(
c2
[
2653
],
_mm_xor_si128
(
c2
[
504
],
_mm_xor_si128
(
c2
[
2306
],
_mm_xor_si128
(
c2
[
2487
],
_mm_xor_si128
(
c2
[
2505
],
_mm_xor_si128
(
c2
[
2325
],
_mm_xor_si128
(
c2
[
2869
],
c2
[
2322
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
189
]
=
_mm_xor_si128
(
c2
[
545
],
_mm_xor_si128
(
c2
[
546
],
_mm_xor_si128
(
c2
[
2701
],
_mm_xor_si128
(
c2
[
1985
],
_mm_xor_si128
(
c2
[
1824
],
_mm_xor_si128
(
c2
[
1820
],
_mm_xor_si128
(
c2
[
1641
],
_mm_xor_si128
(
c2
[
1461
],
_mm_xor_si128
(
c2
[
944
],
_mm_xor_si128
(
c2
[
1839
],
_mm_xor_si128
(
c2
[
1659
],
_mm_xor_si128
(
c2
[
601
],
_mm_xor_si128
(
c2
[
2575
],
_mm_xor_si128
(
c2
[
2215
],
_mm_xor_si128
(
c2
[
1514
],
_mm_xor_si128
(
c2
[
2594
],
_mm_xor_si128
(
c2
[
1338
],
_mm_xor_si128
(
c2
[
1158
],
_mm_xor_si128
(
c2
[
450
],
_mm_xor_si128
(
c2
[
995
],
_mm_xor_si128
(
c2
[
815
],
_mm_xor_si128
(
c2
[
651
],
_mm_xor_si128
(
c2
[
829
],
_mm_xor_si128
(
c2
[
1908
],
_mm_xor_si128
(
c2
[
1728
],
_mm_xor_si128
(
c2
[
488
],
_mm_xor_si128
(
c2
[
494
],
_mm_xor_si128
(
c2
[
314
],
_mm_xor_si128
(
c2
[
1044
],
_mm_xor_si128
(
c2
[
2846
],
_mm_xor_si128
(
c2
[
328
],
_mm_xor_si128
(
c2
[
148
],
_mm_xor_si128
(
c2
[
2128
],
_mm_xor_si128
(
c2
[
2865
],
_mm_xor_si128
(
c2
[
530
],
_mm_xor_si128
(
c2
[
163
],
c2
[
2862
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
198
]
=
_mm_xor_si128
(
c2
[
1101
],
c2
[
764
]);
//row: 23
d2
[
207
]
=
_mm_xor_si128
(
c2
[
724
],
_mm_xor_si128
(
c2
[
601
],
c2
[
1533
]));
//row: 24
d2
[
216
]
=
_mm_xor_si128
(
c2
[
2539
],
_mm_xor_si128
(
c2
[
1838
],
c2
[
1068
]));
//row: 25
d2
[
225
]
=
_mm_xor_si128
(
c2
[
8
],
c2
[
2793
]);
//row: 26
d2
[
234
]
=
_mm_xor_si128
(
c2
[
1266
],
_mm_xor_si128
(
c2
[
1086
],
_mm_xor_si128
(
c2
[
1268
],
_mm_xor_si128
(
c2
[
1267
],
_mm_xor_si128
(
c2
[
1087
],
_mm_xor_si128
(
c2
[
1260
],
_mm_xor_si128
(
c2
[
363
],
_mm_xor_si128
(
c2
[
545
],
_mm_xor_si128
(
c2
[
2545
],
_mm_xor_si128
(
c2
[
2365
],
_mm_xor_si128
(
c2
[
2538
],
_mm_xor_si128
(
c2
[
2361
],
_mm_xor_si128
(
c2
[
2543
],
_mm_xor_si128
(
c2
[
2002
],
_mm_xor_si128
(
c2
[
2364
],
_mm_xor_si128
(
c2
[
2184
],
_mm_xor_si128
(
c2
[
1656
],
_mm_xor_si128
(
c2
[
1476
],
_mm_xor_si128
(
c2
[
1658
],
_mm_xor_si128
(
c2
[
2200
],
_mm_xor_si128
(
c2
[
2562
],
_mm_xor_si128
(
c2
[
2382
],
_mm_xor_si128
(
c2
[
2564
],
_mm_xor_si128
(
c2
[
1322
],
_mm_xor_si128
(
c2
[
1142
],
_mm_xor_si128
(
c2
[
1315
],
_mm_xor_si128
(
c2
[
417
],
_mm_xor_si128
(
c2
[
237
],
_mm_xor_si128
(
c2
[
419
],
_mm_xor_si128
(
c2
[
2756
],
_mm_xor_si128
(
c2
[
59
],
_mm_xor_si128
(
c2
[
2235
],
_mm_xor_si128
(
c2
[
2055
],
_mm_xor_si128
(
c2
[
2237
],
_mm_xor_si128
(
c2
[
256
],
_mm_xor_si128
(
c2
[
438
],
_mm_xor_si128
(
c2
[
1699
],
_mm_xor_si128
(
c2
[
2052
],
_mm_xor_si128
(
c2
[
1872
],
_mm_xor_si128
(
c2
[
1171
],
_mm_xor_si128
(
c2
[
991
],
_mm_xor_si128
(
c2
[
1173
],
_mm_xor_si128
(
c2
[
1356
],
_mm_xor_si128
(
c2
[
1718
],
_mm_xor_si128
(
c2
[
1538
],
_mm_xor_si128
(
c2
[
1372
],
_mm_xor_si128
(
c2
[
1192
],
_mm_xor_si128
(
c2
[
1374
],
_mm_xor_si128
(
c2
[
1550
],
_mm_xor_si128
(
c2
[
1370
],
_mm_xor_si128
(
c2
[
1552
],
_mm_xor_si128
(
c2
[
2269
],
_mm_xor_si128
(
c2
[
2631
],
_mm_xor_si128
(
c2
[
2451
],
_mm_xor_si128
(
c2
[
1209
],
_mm_xor_si128
(
c2
[
1029
],
_mm_xor_si128
(
c2
[
1211
],
_mm_xor_si128
(
c2
[
846
],
_mm_xor_si128
(
c2
[
1208
],
_mm_xor_si128
(
c2
[
1028
],
_mm_xor_si128
(
c2
[
2287
],
_mm_xor_si128
(
c2
[
1765
],
_mm_xor_si128
(
c2
[
1585
],
_mm_xor_si128
(
c2
[
1767
],
_mm_xor_si128
(
c2
[
508
],
_mm_xor_si128
(
c2
[
690
],
_mm_xor_si128
(
c2
[
689
],
_mm_xor_si128
(
c2
[
1051
],
_mm_xor_si128
(
c2
[
871
],
_mm_xor_si128
(
c2
[
707
],
_mm_xor_si128
(
c2
[
527
],
_mm_xor_si128
(
c2
[
709
],
_mm_xor_si128
(
c2
[
1242
],
_mm_xor_si128
(
c2
[
1062
],
_mm_xor_si128
(
c2
[
1244
],
_mm_xor_si128
(
c2
[
524
],
_mm_xor_si128
(
c2
[
886
],
c2
[
706
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
243
]
=
_mm_xor_si128
(
c2
[
2340
],
c2
[
1908
]);
//row: 28
d2
[
252
]
=
_mm_xor_si128
(
c2
[
1824
],
_mm_xor_si128
(
c2
[
2380
],
c2
[
2072
]));
//row: 29
d2
[
261
]
=
_mm_xor_si128
(
c2
[
908
],
c2
[
1693
]);
//row: 30
d2
[
270
]
=
_mm_xor_si128
(
c2
[
1301
],
_mm_xor_si128
(
c2
[
1533
],
_mm_xor_si128
(
c2
[
1572
],
c2
[
1246
])));
//row: 31
d2
[
279
]
=
_mm_xor_si128
(
c2
[
2348
],
_mm_xor_si128
(
c2
[
2340
],
_mm_xor_si128
(
c2
[
1625
],
_mm_xor_si128
(
c2
[
739
],
_mm_xor_si128
(
c2
[
744
],
_mm_xor_si128
(
c2
[
565
],
_mm_xor_si128
(
c2
[
385
],
_mm_xor_si128
(
c2
[
23
],
_mm_xor_si128
(
c2
[
2738
],
_mm_xor_si128
(
c2
[
763
],
_mm_xor_si128
(
c2
[
583
],
_mm_xor_si128
(
c2
[
2395
],
_mm_xor_si128
(
c2
[
1499
],
_mm_xor_si128
(
c2
[
1139
],
_mm_xor_si128
(
c2
[
438
],
_mm_xor_si128
(
c2
[
1518
],
_mm_xor_si128
(
c2
[
253
],
_mm_xor_si128
(
c2
[
73
],
_mm_xor_si128
(
c2
[
2253
],
_mm_xor_si128
(
c2
[
2798
],
_mm_xor_si128
(
c2
[
2618
],
_mm_xor_si128
(
c2
[
2454
],
_mm_xor_si128
(
c2
[
2632
],
_mm_xor_si128
(
c2
[
832
],
_mm_xor_si128
(
c2
[
652
],
_mm_xor_si128
(
c2
[
2291
],
_mm_xor_si128
(
c2
[
2288
],
_mm_xor_si128
(
c2
[
2108
],
_mm_xor_si128
(
c2
[
2847
],
_mm_xor_si128
(
c2
[
1770
],
_mm_xor_si128
(
c2
[
2131
],
_mm_xor_si128
(
c2
[
1951
],
_mm_xor_si128
(
c2
[
1789
],
_mm_xor_si128
(
c2
[
2324
],
_mm_xor_si128
(
c2
[
1966
],
c2
[
1786
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
288
]
=
_mm_xor_si128
(
c2
[
1804
],
_mm_xor_si128
(
c2
[
1624
],
_mm_xor_si128
(
c2
[
1805
],
_mm_xor_si128
(
c2
[
1625
],
_mm_xor_si128
(
c2
[
901
],
_mm_xor_si128
(
c2
[
2
],
_mm_xor_si128
(
c2
[
204
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
20
],
_mm_xor_si128
(
c2
[
2540
],
_mm_xor_si128
(
c2
[
2203
],
_mm_xor_si128
(
c2
[
2023
],
_mm_xor_si128
(
c2
[
2738
],
_mm_xor_si128
(
c2
[
1860
],
_mm_xor_si128
(
c2
[
1680
],
_mm_xor_si128
(
c2
[
955
],
_mm_xor_si128
(
c2
[
775
],
_mm_xor_si128
(
c2
[
415
],
_mm_xor_si128
(
c2
[
2773
],
_mm_xor_si128
(
c2
[
2593
],
_mm_xor_si128
(
c2
[
794
],
_mm_xor_si128
(
c2
[
2237
],
_mm_xor_si128
(
c2
[
1718
],
_mm_xor_si128
(
c2
[
1538
],
_mm_xor_si128
(
c2
[
1894
],
_mm_xor_si128
(
c2
[
1715
],
_mm_xor_si128
(
c2
[
1910
],
_mm_xor_si128
(
c2
[
1730
],
_mm_xor_si128
(
c2
[
2088
],
_mm_xor_si128
(
c2
[
1908
],
_mm_xor_si128
(
c2
[
2816
],
_mm_xor_si128
(
c2
[
1747
],
_mm_xor_si128
(
c2
[
1567
],
_mm_xor_si128
(
c2
[
1393
],
_mm_xor_si128
(
c2
[
2312
],
_mm_xor_si128
(
c2
[
2132
],
_mm_xor_si128
(
c2
[
1046
],
_mm_xor_si128
(
c2
[
1227
],
_mm_xor_si128
(
c2
[
1245
],
_mm_xor_si128
(
c2
[
1065
],
_mm_xor_si128
(
c2
[
1789
],
_mm_xor_si128
(
c2
[
1609
],
c2
[
1062
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
297
]
=
_mm_xor_si128
(
c2
[
720
],
_mm_xor_si128
(
c2
[
721
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
1999
],
_mm_xor_si128
(
c2
[
2004
],
_mm_xor_si128
(
c2
[
1645
],
_mm_xor_si128
(
c2
[
1119
],
_mm_xor_si128
(
c2
[
1843
],
_mm_xor_si128
(
c2
[
1304
],
_mm_xor_si128
(
c2
[
776
],
_mm_xor_si128
(
c2
[
2759
],
_mm_xor_si128
(
c2
[
2399
],
_mm_xor_si128
(
c2
[
1698
],
_mm_xor_si128
(
c2
[
2778
],
_mm_xor_si128
(
c2
[
1333
],
_mm_xor_si128
(
c2
[
634
],
_mm_xor_si128
(
c2
[
990
],
_mm_xor_si128
(
c2
[
835
],
_mm_xor_si128
(
c2
[
1013
],
_mm_xor_si128
(
c2
[
1912
],
_mm_xor_si128
(
c2
[
672
],
_mm_xor_si128
(
c2
[
489
],
_mm_xor_si128
(
c2
[
1206
],
_mm_xor_si128
(
c2
[
1228
],
_mm_xor_si128
(
c2
[
151
],
_mm_xor_si128
(
c2
[
332
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
705
],
c2
[
167
]))))))))))))))))))))))))))));
//row: 34
d2
[
306
]
=
_mm_xor_si128
(
c2
[
2161
],
_mm_xor_si128
(
c2
[
1981
],
_mm_xor_si128
(
c2
[
727
],
_mm_xor_si128
(
c2
[
2162
],
_mm_xor_si128
(
c2
[
1982
],
_mm_xor_si128
(
c2
[
728
],
_mm_xor_si128
(
c2
[
1267
],
_mm_xor_si128
(
c2
[
4
],
_mm_xor_si128
(
c2
[
902
],
_mm_xor_si128
(
c2
[
561
],
_mm_xor_si128
(
c2
[
381
],
_mm_xor_si128
(
c2
[
2006
],
_mm_xor_si128
(
c2
[
386
],
_mm_xor_si128
(
c2
[
2002
],
_mm_xor_si128
(
c2
[
18
],
_mm_xor_si128
(
c2
[
1823
],
_mm_xor_si128
(
c2
[
1643
],
_mm_xor_si128
(
c2
[
2560
],
_mm_xor_si128
(
c2
[
2380
],
_mm_xor_si128
(
c2
[
1117
],
_mm_xor_si128
(
c2
[
216
],
_mm_xor_si128
(
c2
[
2021
],
_mm_xor_si128
(
c2
[
1841
],
_mm_xor_si128
(
c2
[
2217
],
_mm_xor_si128
(
c2
[
2037
],
_mm_xor_si128
(
c2
[
774
],
_mm_xor_si128
(
c2
[
1321
],
_mm_xor_si128
(
c2
[
1141
],
_mm_xor_si128
(
c2
[
2757
],
_mm_xor_si128
(
c2
[
781
],
_mm_xor_si128
(
c2
[
2397
],
_mm_xor_si128
(
c2
[
260
],
_mm_xor_si128
(
c2
[
80
],
_mm_xor_si128
(
c2
[
1696
],
_mm_xor_si128
(
c2
[
1160
],
_mm_xor_si128
(
c2
[
2776
],
_mm_xor_si128
(
c2
[
2594
],
_mm_xor_si128
(
c2
[
1520
],
_mm_xor_si128
(
c2
[
1340
],
_mm_xor_si128
(
c2
[
2075
],
_mm_xor_si128
(
c2
[
1895
],
_mm_xor_si128
(
c2
[
632
],
_mm_xor_si128
(
c2
[
2251
],
_mm_xor_si128
(
c2
[
1177
],
_mm_xor_si128
(
c2
[
997
],
_mm_xor_si128
(
c2
[
2276
],
_mm_xor_si128
(
c2
[
2096
],
_mm_xor_si128
(
c2
[
833
],
_mm_xor_si128
(
c2
[
2454
],
_mm_xor_si128
(
c2
[
2274
],
_mm_xor_si128
(
c2
[
1011
],
_mm_xor_si128
(
c2
[
294
],
_mm_xor_si128
(
c2
[
2090
],
_mm_xor_si128
(
c2
[
1910
],
_mm_xor_si128
(
c2
[
2113
],
_mm_xor_si128
(
c2
[
1933
],
_mm_xor_si128
(
c2
[
670
],
_mm_xor_si128
(
c2
[
1750
],
_mm_xor_si128
(
c2
[
667
],
_mm_xor_si128
(
c2
[
487
],
_mm_xor_si128
(
c2
[
2669
],
_mm_xor_si128
(
c2
[
2489
],
_mm_xor_si128
(
c2
[
1226
],
_mm_xor_si128
(
c2
[
1412
],
_mm_xor_si128
(
c2
[
149
],
_mm_xor_si128
(
c2
[
1584
],
_mm_xor_si128
(
c2
[
510
],
_mm_xor_si128
(
c2
[
330
],
_mm_xor_si128
(
c2
[
1602
],
_mm_xor_si128
(
c2
[
1422
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
2146
],
_mm_xor_si128
(
c2
[
1966
],
_mm_xor_si128
(
c2
[
703
],
_mm_xor_si128
(
c2
[
1428
],
_mm_xor_si128
(
c2
[
345
],
c2
[
165
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
315
]
=
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
2705
],
_mm_xor_si128
(
c2
[
2706
],
_mm_xor_si128
(
c2
[
1982
],
_mm_xor_si128
(
c2
[
1285
],
_mm_xor_si128
(
c2
[
1105
],
_mm_xor_si128
(
c2
[
1101
],
_mm_xor_si128
(
c2
[
742
],
_mm_xor_si128
(
c2
[
2181
],
_mm_xor_si128
(
c2
[
396
],
_mm_xor_si128
(
c2
[
216
],
_mm_xor_si128
(
c2
[
940
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
2761
],
_mm_xor_si128
(
c2
[
1856
],
_mm_xor_si128
(
c2
[
1496
],
_mm_xor_si128
(
c2
[
795
],
_mm_xor_si128
(
c2
[
1875
],
_mm_xor_si128
(
c2
[
439
],
_mm_xor_si128
(
c2
[
2610
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
1718
],
_mm_xor_si128
(
c2
[
112
],
_mm_xor_si128
(
c2
[
2811
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
1009
],
_mm_xor_si128
(
c2
[
2648
],
_mm_xor_si128
(
c2
[
2474
],
_mm_xor_si128
(
c2
[
325
],
_mm_xor_si128
(
c2
[
2127
],
_mm_xor_si128
(
c2
[
2308
],
_mm_xor_si128
(
c2
[
2326
],
_mm_xor_si128
(
c2
[
2146
],
_mm_xor_si128
(
c2
[
2690
],
c2
[
2143
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
324
]
=
_mm_xor_si128
(
c2
[
1627
],
_mm_xor_si128
(
c2
[
224
],
c2
[
1927
]));
//row: 37
d2
[
333
]
=
_mm_xor_si128
(
c2
[
546
],
_mm_xor_si128
(
c2
[
1803
],
_mm_xor_si128
(
c2
[
547
],
_mm_xor_si128
(
c2
[
1804
],
_mm_xor_si128
(
c2
[
2702
],
_mm_xor_si128
(
c2
[
1080
],
_mm_xor_si128
(
c2
[
1825
],
_mm_xor_si128
(
c2
[
203
],
_mm_xor_si128
(
c2
[
1821
],
_mm_xor_si128
(
c2
[
199
],
_mm_xor_si128
(
c2
[
1462
],
_mm_xor_si128
(
c2
[
20
],
_mm_xor_si128
(
c2
[
2719
],
_mm_xor_si128
(
c2
[
936
],
_mm_xor_si128
(
c2
[
2202
],
_mm_xor_si128
(
c2
[
1660
],
_mm_xor_si128
(
c2
[
218
],
_mm_xor_si128
(
c2
[
38
],
_mm_xor_si128
(
c2
[
602
],
_mm_xor_si128
(
c2
[
1859
],
_mm_xor_si128
(
c2
[
2576
],
_mm_xor_si128
(
c2
[
954
],
_mm_xor_si128
(
c2
[
2216
],
_mm_xor_si128
(
c2
[
594
],
_mm_xor_si128
(
c2
[
1515
],
_mm_xor_si128
(
c2
[
2772
],
_mm_xor_si128
(
c2
[
2595
],
_mm_xor_si128
(
c2
[
973
],
_mm_xor_si128
(
c2
[
1159
],
_mm_xor_si128
(
c2
[
2596
],
_mm_xor_si128
(
c2
[
2416
],
_mm_xor_si128
(
c2
[
451
],
_mm_xor_si128
(
c2
[
1717
],
_mm_xor_si128
(
c2
[
816
],
_mm_xor_si128
(
c2
[
2253
],
_mm_xor_si128
(
c2
[
2073
],
_mm_xor_si128
(
c2
[
652
],
_mm_xor_si128
(
c2
[
1909
],
_mm_xor_si128
(
c2
[
830
],
_mm_xor_si128
(
c2
[
2096
],
_mm_xor_si128
(
c2
[
1729
],
_mm_xor_si128
(
c2
[
296
],
_mm_xor_si128
(
c2
[
116
],
_mm_xor_si128
(
c2
[
489
],
_mm_xor_si128
(
c2
[
1746
],
_mm_xor_si128
(
c2
[
306
],
_mm_xor_si128
(
c2
[
1752
],
_mm_xor_si128
(
c2
[
1572
],
_mm_xor_si128
(
c2
[
1045
],
_mm_xor_si128
(
c2
[
2311
],
_mm_xor_si128
(
c2
[
2847
],
_mm_xor_si128
(
c2
[
1225
],
_mm_xor_si128
(
c2
[
149
],
_mm_xor_si128
(
c2
[
1586
],
_mm_xor_si128
(
c2
[
1406
],
_mm_xor_si128
(
c2
[
2866
],
_mm_xor_si128
(
c2
[
1244
],
_mm_xor_si128
(
c2
[
522
],
_mm_xor_si128
(
c2
[
1788
],
_mm_xor_si128
(
c2
[
2863
],
_mm_xor_si128
(
c2
[
1430
],
c2
[
1250
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
342
]
=
_mm_xor_si128
(
c2
[
720
],
_mm_xor_si128
(
c2
[
540
],
_mm_xor_si128
(
c2
[
541
],
_mm_xor_si128
(
c2
[
2705
],
_mm_xor_si128
(
c2
[
1999
],
_mm_xor_si128
(
c2
[
1819
],
_mm_xor_si128
(
c2
[
1824
],
_mm_xor_si128
(
c2
[
1465
],
_mm_xor_si128
(
c2
[
198
],
_mm_xor_si128
(
c2
[
1119
],
_mm_xor_si128
(
c2
[
939
],
_mm_xor_si128
(
c2
[
1663
],
_mm_xor_si128
(
c2
[
776
],
_mm_xor_si128
(
c2
[
596
],
_mm_xor_si128
(
c2
[
2579
],
_mm_xor_si128
(
c2
[
2219
],
_mm_xor_si128
(
c2
[
1518
],
_mm_xor_si128
(
c2
[
2598
],
_mm_xor_si128
(
c2
[
1153
],
_mm_xor_si128
(
c2
[
454
],
_mm_xor_si128
(
c2
[
810
],
_mm_xor_si128
(
c2
[
1174
],
_mm_xor_si128
(
c2
[
835
],
_mm_xor_si128
(
c2
[
655
],
_mm_xor_si128
(
c2
[
833
],
_mm_xor_si128
(
c2
[
1732
],
_mm_xor_si128
(
c2
[
492
],
_mm_xor_si128
(
c2
[
309
],
_mm_xor_si128
(
c2
[
1048
],
_mm_xor_si128
(
c2
[
2850
],
_mm_xor_si128
(
c2
[
152
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
2869
],
_mm_xor_si128
(
c2
[
525
],
c2
[
2866
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
351
]
=
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
181
],
_mm_xor_si128
(
c2
[
1
],
_mm_xor_si128
(
c2
[
2165
],
_mm_xor_si128
(
c2
[
1267
],
_mm_xor_si128
(
c2
[
1459
],
_mm_xor_si128
(
c2
[
1279
],
_mm_xor_si128
(
c2
[
1284
],
_mm_xor_si128
(
c2
[
925
],
_mm_xor_si128
(
c2
[
579
],
_mm_xor_si128
(
c2
[
399
],
_mm_xor_si128
(
c2
[
1123
],
_mm_xor_si128
(
c2
[
236
],
_mm_xor_si128
(
c2
[
56
],
_mm_xor_si128
(
c2
[
2219
],
_mm_xor_si128
(
c2
[
2039
],
_mm_xor_si128
(
c2
[
1679
],
_mm_xor_si128
(
c2
[
1158
],
_mm_xor_si128
(
c2
[
978
],
_mm_xor_si128
(
c2
[
2058
],
_mm_xor_si128
(
c2
[
613
],
_mm_xor_si128
(
c2
[
94
],
_mm_xor_si128
(
c2
[
2793
],
_mm_xor_si128
(
c2
[
270
],
_mm_xor_si128
(
c2
[
295
],
_mm_xor_si128
(
c2
[
115
],
_mm_xor_si128
(
c2
[
473
],
_mm_xor_si128
(
c2
[
293
],
_mm_xor_si128
(
c2
[
1192
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
2831
],
_mm_xor_si128
(
c2
[
2648
],
_mm_xor_si128
(
c2
[
128
],
_mm_xor_si128
(
c2
[
688
],
_mm_xor_si128
(
c2
[
508
],
_mm_xor_si128
(
c2
[
2310
],
_mm_xor_si128
(
c2
[
2491
],
_mm_xor_si128
(
c2
[
2509
],
_mm_xor_si128
(
c2
[
2329
],
_mm_xor_si128
(
c2
[
165
],
_mm_xor_si128
(
c2
[
2864
],
c2
[
2326
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
360
]
=
_mm_xor_si128
(
c2
[
1984
],
_mm_xor_si128
(
c2
[
1446
],
_mm_xor_si128
(
c2
[
1985
],
_mm_xor_si128
(
c2
[
1447
],
_mm_xor_si128
(
c2
[
1261
],
_mm_xor_si128
(
c2
[
723
],
_mm_xor_si128
(
c2
[
384
],
_mm_xor_si128
(
c2
[
2725
],
_mm_xor_si128
(
c2
[
380
],
_mm_xor_si128
(
c2
[
2721
],
_mm_xor_si128
(
c2
[
21
],
_mm_xor_si128
(
c2
[
2542
],
_mm_xor_si128
(
c2
[
2362
],
_mm_xor_si128
(
c2
[
2383
],
_mm_xor_si128
(
c2
[
1836
],
_mm_xor_si128
(
c2
[
219
],
_mm_xor_si128
(
c2
[
2740
],
_mm_xor_si128
(
c2
[
2560
],
_mm_xor_si128
(
c2
[
1116
],
_mm_xor_si128
(
c2
[
2040
],
_mm_xor_si128
(
c2
[
1502
],
_mm_xor_si128
(
c2
[
1135
],
_mm_xor_si128
(
c2
[
597
],
_mm_xor_si128
(
c2
[
775
],
_mm_xor_si128
(
c2
[
237
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
2415
],
_mm_xor_si128
(
c2
[
1154
],
_mm_xor_si128
(
c2
[
616
],
_mm_xor_si128
(
c2
[
2597
],
_mm_xor_si128
(
c2
[
2239
],
_mm_xor_si128
(
c2
[
2059
],
_mm_xor_si128
(
c2
[
1898
],
_mm_xor_si128
(
c2
[
1351
],
_mm_xor_si128
(
c2
[
2254
],
_mm_xor_si128
(
c2
[
1896
],
_mm_xor_si128
(
c2
[
1716
],
_mm_xor_si128
(
c2
[
2090
],
_mm_xor_si128
(
c2
[
1552
],
_mm_xor_si128
(
c2
[
2268
],
_mm_xor_si128
(
c2
[
1730
],
_mm_xor_si128
(
c2
[
288
],
_mm_xor_si128
(
c2
[
2809
],
_mm_xor_si128
(
c2
[
2629
],
_mm_xor_si128
(
c2
[
1927
],
_mm_xor_si128
(
c2
[
1389
],
_mm_xor_si128
(
c2
[
1753
],
_mm_xor_si128
(
c2
[
1386
],
_mm_xor_si128
(
c2
[
1206
],
_mm_xor_si128
(
c2
[
2492
],
_mm_xor_si128
(
c2
[
1945
],
_mm_xor_si128
(
c2
[
1406
],
_mm_xor_si128
(
c2
[
868
],
_mm_xor_si128
(
c2
[
1587
],
_mm_xor_si128
(
c2
[
1229
],
_mm_xor_si128
(
c2
[
1049
],
_mm_xor_si128
(
c2
[
1425
],
_mm_xor_si128
(
c2
[
887
],
_mm_xor_si128
(
c2
[
1969
],
_mm_xor_si128
(
c2
[
1422
],
_mm_xor_si128
(
c2
[
1422
],
_mm_xor_si128
(
c2
[
1064
],
c2
[
884
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
369
]
=
_mm_xor_si128
(
c2
[
1081
],
_mm_xor_si128
(
c2
[
901
],
_mm_xor_si128
(
c2
[
902
],
_mm_xor_si128
(
c2
[
187
],
_mm_xor_si128
(
c2
[
2360
],
_mm_xor_si128
(
c2
[
2180
],
_mm_xor_si128
(
c2
[
2185
],
_mm_xor_si128
(
c2
[
1826
],
_mm_xor_si128
(
c2
[
21
],
_mm_xor_si128
(
c2
[
1480
],
_mm_xor_si128
(
c2
[
1300
],
_mm_xor_si128
(
c2
[
2024
],
_mm_xor_si128
(
c2
[
1137
],
_mm_xor_si128
(
c2
[
957
],
_mm_xor_si128
(
c2
[
61
],
_mm_xor_si128
(
c2
[
2580
],
_mm_xor_si128
(
c2
[
1879
],
_mm_xor_si128
(
c2
[
80
],
_mm_xor_si128
(
c2
[
1514
],
_mm_xor_si128
(
c2
[
815
],
_mm_xor_si128
(
c2
[
1171
],
_mm_xor_si128
(
c2
[
2792
],
_mm_xor_si128
(
c2
[
1196
],
_mm_xor_si128
(
c2
[
1016
],
_mm_xor_si128
(
c2
[
1194
],
_mm_xor_si128
(
c2
[
2093
],
_mm_xor_si128
(
c2
[
853
],
_mm_xor_si128
(
c2
[
670
],
_mm_xor_si128
(
c2
[
1409
],
_mm_xor_si128
(
c2
[
332
],
_mm_xor_si128
(
c2
[
504
],
_mm_xor_si128
(
c2
[
522
],
_mm_xor_si128
(
c2
[
342
],
_mm_xor_si128
(
c2
[
886
],
c2
[
348
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc160_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=160, byte encoding
static
inline
void
ldpc_BG2_Zc160_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m256i
*
csimd
=
(
__m256i
*
)
c
,
*
dsimd
=
(
__m256i
*
)
d
;
__m256i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
5
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm256_xor_si256
(
c2
[
3104
],
_mm256_xor_si256
(
c2
[
804
],
_mm256_xor_si256
(
c2
[
1900
],
_mm256_xor_si256
(
c2
[
3114
],
_mm256_xor_si256
(
c2
[
2912
],
_mm256_xor_si256
(
c2
[
511
],
_mm256_xor_si256
(
c2
[
3124
],
_mm256_xor_si256
(
c2
[
1420
],
_mm256_xor_si256
(
c2
[
3134
],
_mm256_xor_si256
(
c2
[
2733
],
_mm256_xor_si256
(
c2
[
233
],
_mm256_xor_si256
(
c2
[
3144
],
_mm256_xor_si256
(
c2
[
840
],
_mm256_xor_si256
(
c2
[
543
],
_mm256_xor_si256
(
c2
[
3154
],
_mm256_xor_si256
(
c2
[
1754
],
_mm256_xor_si256
(
c2
[
3164
],
_mm256_xor_si256
(
c2
[
2362
],
_mm256_xor_si256
(
c2
[
1160
],
_mm256_xor_si256
(
c2
[
3174
],
_mm256_xor_si256
(
c2
[
2471
],
_mm256_xor_si256
(
c2
[
3184
],
_mm256_xor_si256
(
c2
[
1183
],
_mm256_xor_si256
(
c2
[
2081
],
_mm256_xor_si256
(
c2
[
3194
],
_mm256_xor_si256
(
c2
[
2291
],
c2
[
1391
]))))))))))))))))))))))))));
//row: 1
d2
[
5
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
3104
],
_mm256_xor_si256
(
c2
[
804
],
_mm256_xor_si256
(
c2
[
1900
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
3114
],
_mm256_xor_si256
(
c2
[
2912
],
_mm256_xor_si256
(
c2
[
511
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
3124
],
_mm256_xor_si256
(
c2
[
1420
],
_mm256_xor_si256
(
c2
[
30
],
_mm256_xor_si256
(
c2
[
3134
],
_mm256_xor_si256
(
c2
[
2733
],
_mm256_xor_si256
(
c2
[
233
],
_mm256_xor_si256
(
c2
[
3144
],
_mm256_xor_si256
(
c2
[
840
],
_mm256_xor_si256
(
c2
[
543
],
_mm256_xor_si256
(
c2
[
3154
],
_mm256_xor_si256
(
c2
[
1754
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
3164
],
_mm256_xor_si256
(
c2
[
2362
],
_mm256_xor_si256
(
c2
[
1160
],
_mm256_xor_si256
(
c2
[
3174
],
_mm256_xor_si256
(
c2
[
2471
],
_mm256_xor_si256
(
c2
[
3184
],
_mm256_xor_si256
(
c2
[
1183
],
_mm256_xor_si256
(
c2
[
2081
],
_mm256_xor_si256
(
c2
[
90
],
_mm256_xor_si256
(
c2
[
3194
],
_mm256_xor_si256
(
c2
[
2291
],
c2
[
1391
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
10
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
3104
],
_mm256_xor_si256
(
c2
[
904
],
_mm256_xor_si256
(
c2
[
804
],
_mm256_xor_si256
(
c2
[
1900
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
3114
],
_mm256_xor_si256
(
c2
[
2912
],
_mm256_xor_si256
(
c2
[
511
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
3124
],
_mm256_xor_si256
(
c2
[
1420
],
_mm256_xor_si256
(
c2
[
30
],
_mm256_xor_si256
(
c2
[
3134
],
_mm256_xor_si256
(
c2
[
2833
],
_mm256_xor_si256
(
c2
[
2733
],
_mm256_xor_si256
(
c2
[
233
],
_mm256_xor_si256
(
c2
[
40
],
_mm256_xor_si256
(
c2
[
3144
],
_mm256_xor_si256
(
c2
[
840
],
_mm256_xor_si256
(
c2
[
543
],
_mm256_xor_si256
(
c2
[
50
],
_mm256_xor_si256
(
c2
[
3154
],
_mm256_xor_si256
(
c2
[
1754
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
3164
],
_mm256_xor_si256
(
c2
[
2462
],
_mm256_xor_si256
(
c2
[
2362
],
_mm256_xor_si256
(
c2
[
1160
],
_mm256_xor_si256
(
c2
[
70
],
_mm256_xor_si256
(
c2
[
3174
],
_mm256_xor_si256
(
c2
[
2471
],
_mm256_xor_si256
(
c2
[
80
],
_mm256_xor_si256
(
c2
[
3184
],
_mm256_xor_si256
(
c2
[
1183
],
_mm256_xor_si256
(
c2
[
2081
],
_mm256_xor_si256
(
c2
[
90
],
_mm256_xor_si256
(
c2
[
3194
],
_mm256_xor_si256
(
c2
[
2391
],
_mm256_xor_si256
(
c2
[
2291
],
c2
[
1391
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
15
]
=
_mm256_xor_si256
(
c2
[
3104
],
_mm256_xor_si256
(
c2
[
804
],
_mm256_xor_si256
(
c2
[
1900
],
_mm256_xor_si256
(
c2
[
3114
],
_mm256_xor_si256
(
c2
[
2912
],
_mm256_xor_si256
(
c2
[
611
],
_mm256_xor_si256
(
c2
[
511
],
_mm256_xor_si256
(
c2
[
3124
],
_mm256_xor_si256
(
c2
[
1520
],
_mm256_xor_si256
(
c2
[
1420
],
_mm256_xor_si256
(
c2
[
3134
],
_mm256_xor_si256
(
c2
[
2733
],
_mm256_xor_si256
(
c2
[
233
],
_mm256_xor_si256
(
c2
[
3144
],
_mm256_xor_si256
(
c2
[
840
],
_mm256_xor_si256
(
c2
[
643
],
_mm256_xor_si256
(
c2
[
543
],
_mm256_xor_si256
(
c2
[
3154
],
_mm256_xor_si256
(
c2
[
1854
],
_mm256_xor_si256
(
c2
[
1754
],
_mm256_xor_si256
(
c2
[
3164
],
_mm256_xor_si256
(
c2
[
2362
],
_mm256_xor_si256
(
c2
[
1260
],
_mm256_xor_si256
(
c2
[
1160
],
_mm256_xor_si256
(
c2
[
3174
],
_mm256_xor_si256
(
c2
[
2571
],
_mm256_xor_si256
(
c2
[
2471
],
_mm256_xor_si256
(
c2
[
3184
],
_mm256_xor_si256
(
c2
[
1183
],
_mm256_xor_si256
(
c2
[
2181
],
_mm256_xor_si256
(
c2
[
2081
],
_mm256_xor_si256
(
c2
[
3194
],
_mm256_xor_si256
(
c2
[
2291
],
_mm256_xor_si256
(
c2
[
1491
],
c2
[
1391
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
20
]
=
_mm256_xor_si256
(
c2
[
2904
],
_mm256_xor_si256
(
c2
[
2804
],
_mm256_xor_si256
(
c2
[
504
],
_mm256_xor_si256
(
c2
[
1600
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
2914
],
_mm256_xor_si256
(
c2
[
2814
],
_mm256_xor_si256
(
c2
[
2612
],
_mm256_xor_si256
(
c2
[
211
],
_mm256_xor_si256
(
c2
[
814
],
_mm256_xor_si256
(
c2
[
2924
],
_mm256_xor_si256
(
c2
[
2824
],
_mm256_xor_si256
(
c2
[
1120
],
_mm256_xor_si256
(
c2
[
2934
],
_mm256_xor_si256
(
c2
[
2834
],
_mm256_xor_si256
(
c2
[
2433
],
_mm256_xor_si256
(
c2
[
3132
],
_mm256_xor_si256
(
c2
[
2844
],
_mm256_xor_si256
(
c2
[
540
],
_mm256_xor_si256
(
c2
[
243
],
_mm256_xor_si256
(
c2
[
2854
],
_mm256_xor_si256
(
c2
[
1454
],
_mm256_xor_si256
(
c2
[
2964
],
_mm256_xor_si256
(
c2
[
2864
],
_mm256_xor_si256
(
c2
[
2062
],
_mm256_xor_si256
(
c2
[
860
],
_mm256_xor_si256
(
c2
[
2874
],
_mm256_xor_si256
(
c2
[
2171
],
_mm256_xor_si256
(
c2
[
2884
],
_mm256_xor_si256
(
c2
[
883
],
_mm256_xor_si256
(
c2
[
1781
],
_mm256_xor_si256
(
c2
[
2994
],
_mm256_xor_si256
(
c2
[
2894
],
_mm256_xor_si256
(
c2
[
1991
],
c2
[
1091
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
25
]
=
_mm256_xor_si256
(
c2
[
2
],
_mm256_xor_si256
(
c2
[
3101
],
_mm256_xor_si256
(
c2
[
801
],
_mm256_xor_si256
(
c2
[
1902
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
12
],
_mm256_xor_si256
(
c2
[
3111
],
_mm256_xor_si256
(
c2
[
2914
],
_mm256_xor_si256
(
c2
[
513
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
22
],
_mm256_xor_si256
(
c2
[
3121
],
_mm256_xor_si256
(
c2
[
1422
],
_mm256_xor_si256
(
c2
[
32
],
_mm256_xor_si256
(
c2
[
3131
],
_mm256_xor_si256
(
c2
[
2730
],
_mm256_xor_si256
(
c2
[
230
],
_mm256_xor_si256
(
c2
[
3141
],
_mm256_xor_si256
(
c2
[
842
],
_mm256_xor_si256
(
c2
[
540
],
_mm256_xor_si256
(
c2
[
3151
],
_mm256_xor_si256
(
c2
[
1751
],
_mm256_xor_si256
(
c2
[
1454
],
_mm256_xor_si256
(
c2
[
62
],
_mm256_xor_si256
(
c2
[
3161
],
_mm256_xor_si256
(
c2
[
2364
],
_mm256_xor_si256
(
c2
[
1162
],
_mm256_xor_si256
(
c2
[
3171
],
_mm256_xor_si256
(
c2
[
2473
],
_mm256_xor_si256
(
c2
[
1374
],
_mm256_xor_si256
(
c2
[
3181
],
_mm256_xor_si256
(
c2
[
1180
],
_mm256_xor_si256
(
c2
[
2083
],
_mm256_xor_si256
(
c2
[
92
],
_mm256_xor_si256
(
c2
[
3191
],
_mm256_xor_si256
(
c2
[
2293
],
c2
[
1393
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
30
]
=
_mm256_xor_si256
(
c2
[
2004
],
_mm256_xor_si256
(
c2
[
1904
],
_mm256_xor_si256
(
c2
[
2803
],
_mm256_xor_si256
(
c2
[
700
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
2014
],
_mm256_xor_si256
(
c2
[
1914
],
_mm256_xor_si256
(
c2
[
1712
],
_mm256_xor_si256
(
c2
[
2510
],
_mm256_xor_si256
(
c2
[
2024
],
_mm256_xor_si256
(
c2
[
1924
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
2034
],
_mm256_xor_si256
(
c2
[
1934
],
_mm256_xor_si256
(
c2
[
1533
],
_mm256_xor_si256
(
c2
[
2232
],
_mm256_xor_si256
(
c2
[
1944
],
_mm256_xor_si256
(
c2
[
2844
],
_mm256_xor_si256
(
c2
[
2542
],
_mm256_xor_si256
(
c2
[
1954
],
_mm256_xor_si256
(
c2
[
554
],
_mm256_xor_si256
(
c2
[
2853
],
_mm256_xor_si256
(
c2
[
2064
],
_mm256_xor_si256
(
c2
[
1964
],
_mm256_xor_si256
(
c2
[
1162
],
_mm256_xor_si256
(
c2
[
3164
],
_mm256_xor_si256
(
c2
[
1974
],
_mm256_xor_si256
(
c2
[
1271
],
_mm256_xor_si256
(
c2
[
373
],
_mm256_xor_si256
(
c2
[
1984
],
_mm256_xor_si256
(
c2
[
3182
],
_mm256_xor_si256
(
c2
[
881
],
_mm256_xor_si256
(
c2
[
2094
],
_mm256_xor_si256
(
c2
[
1994
],
_mm256_xor_si256
(
c2
[
1091
],
_mm256_xor_si256
(
c2
[
191
],
c2
[
1391
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
35
]
=
_mm256_xor_si256
(
c2
[
3
],
_mm256_xor_si256
(
c2
[
3102
],
_mm256_xor_si256
(
c2
[
1302
],
_mm256_xor_si256
(
c2
[
802
],
_mm256_xor_si256
(
c2
[
2201
],
_mm256_xor_si256
(
c2
[
1903
],
_mm256_xor_si256
(
c2
[
103
],
_mm256_xor_si256
(
c2
[
13
],
_mm256_xor_si256
(
c2
[
3112
],
_mm256_xor_si256
(
c2
[
1312
],
_mm256_xor_si256
(
c2
[
2910
],
_mm256_xor_si256
(
c2
[
1110
],
_mm256_xor_si256
(
c2
[
514
],
_mm256_xor_si256
(
c2
[
2013
],
_mm256_xor_si256
(
c2
[
1913
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
23
],
_mm256_xor_si256
(
c2
[
3122
],
_mm256_xor_si256
(
c2
[
1322
],
_mm256_xor_si256
(
c2
[
1423
],
_mm256_xor_si256
(
c2
[
2922
],
_mm256_xor_si256
(
c2
[
2822
],
_mm256_xor_si256
(
c2
[
33
],
_mm256_xor_si256
(
c2
[
3132
],
_mm256_xor_si256
(
c2
[
1332
],
_mm256_xor_si256
(
c2
[
2731
],
_mm256_xor_si256
(
c2
[
931
],
_mm256_xor_si256
(
c2
[
231
],
_mm256_xor_si256
(
c2
[
1630
],
_mm256_xor_si256
(
c2
[
3142
],
_mm256_xor_si256
(
c2
[
1342
],
_mm256_xor_si256
(
c2
[
843
],
_mm256_xor_si256
(
c2
[
2242
],
_mm256_xor_si256
(
c2
[
541
],
_mm256_xor_si256
(
c2
[
2040
],
_mm256_xor_si256
(
c2
[
1940
],
_mm256_xor_si256
(
c2
[
3152
],
_mm256_xor_si256
(
c2
[
1352
],
_mm256_xor_si256
(
c2
[
1752
],
_mm256_xor_si256
(
c2
[
52
],
_mm256_xor_si256
(
c2
[
3151
],
_mm256_xor_si256
(
c2
[
1351
],
_mm256_xor_si256
(
c2
[
63
],
_mm256_xor_si256
(
c2
[
3162
],
_mm256_xor_si256
(
c2
[
1362
],
_mm256_xor_si256
(
c2
[
2360
],
_mm256_xor_si256
(
c2
[
560
],
_mm256_xor_si256
(
c2
[
1163
],
_mm256_xor_si256
(
c2
[
2662
],
_mm256_xor_si256
(
c2
[
2562
],
_mm256_xor_si256
(
c2
[
3172
],
_mm256_xor_si256
(
c2
[
1372
],
_mm256_xor_si256
(
c2
[
2474
],
_mm256_xor_si256
(
c2
[
774
],
_mm256_xor_si256
(
c2
[
674
],
_mm256_xor_si256
(
c2
[
2074
],
_mm256_xor_si256
(
c2
[
3182
],
_mm256_xor_si256
(
c2
[
1382
],
_mm256_xor_si256
(
c2
[
1181
],
_mm256_xor_si256
(
c2
[
2580
],
_mm256_xor_si256
(
c2
[
2084
],
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
284
],
_mm256_xor_si256
(
c2
[
93
],
_mm256_xor_si256
(
c2
[
3192
],
_mm256_xor_si256
(
c2
[
1392
],
_mm256_xor_si256
(
c2
[
2294
],
_mm256_xor_si256
(
c2
[
494
],
_mm256_xor_si256
(
c2
[
1394
],
_mm256_xor_si256
(
c2
[
2893
],
c2
[
2793
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
40
]
=
_mm256_xor_si256
(
c2
[
2302
],
_mm256_xor_si256
(
c2
[
2202
],
_mm256_xor_si256
(
c2
[
2
],
_mm256_xor_si256
(
c2
[
3101
],
_mm256_xor_si256
(
c2
[
1003
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
2312
],
_mm256_xor_si256
(
c2
[
2212
],
_mm256_xor_si256
(
c2
[
2010
],
_mm256_xor_si256
(
c2
[
2813
],
_mm256_xor_si256
(
c2
[
112
],
_mm256_xor_si256
(
c2
[
2322
],
_mm256_xor_si256
(
c2
[
2222
],
_mm256_xor_si256
(
c2
[
523
],
_mm256_xor_si256
(
c2
[
2332
],
_mm256_xor_si256
(
c2
[
2232
],
_mm256_xor_si256
(
c2
[
1931
],
_mm256_xor_si256
(
c2
[
1831
],
_mm256_xor_si256
(
c2
[
2530
],
_mm256_xor_si256
(
c2
[
2342
],
_mm256_xor_si256
(
c2
[
2242
],
_mm256_xor_si256
(
c2
[
3142
],
_mm256_xor_si256
(
c2
[
2840
],
_mm256_xor_si256
(
c2
[
2352
],
_mm256_xor_si256
(
c2
[
2252
],
_mm256_xor_si256
(
c2
[
852
],
_mm256_xor_si256
(
c2
[
2362
],
_mm256_xor_si256
(
c2
[
2262
],
_mm256_xor_si256
(
c2
[
1560
],
_mm256_xor_si256
(
c2
[
1460
],
_mm256_xor_si256
(
c2
[
263
],
_mm256_xor_si256
(
c2
[
2372
],
_mm256_xor_si256
(
c2
[
2272
],
_mm256_xor_si256
(
c2
[
1574
],
_mm256_xor_si256
(
c2
[
2382
],
_mm256_xor_si256
(
c2
[
2282
],
_mm256_xor_si256
(
c2
[
281
],
_mm256_xor_si256
(
c2
[
1184
],
_mm256_xor_si256
(
c2
[
2392
],
_mm256_xor_si256
(
c2
[
2292
],
_mm256_xor_si256
(
c2
[
1494
],
_mm256_xor_si256
(
c2
[
1394
],
c2
[
494
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
45
]
=
_mm256_xor_si256
(
c2
[
1801
],
_mm256_xor_si256
(
c2
[
2102
],
_mm256_xor_si256
(
c2
[
2002
],
_mm256_xor_si256
(
c2
[
2700
],
_mm256_xor_si256
(
c2
[
2901
],
_mm256_xor_si256
(
c2
[
602
],
_mm256_xor_si256
(
c2
[
803
],
_mm256_xor_si256
(
c2
[
1811
],
_mm256_xor_si256
(
c2
[
2112
],
_mm256_xor_si256
(
c2
[
2012
],
_mm256_xor_si256
(
c2
[
1614
],
_mm256_xor_si256
(
c2
[
1810
],
_mm256_xor_si256
(
c2
[
2412
],
_mm256_xor_si256
(
c2
[
2613
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
1821
],
_mm256_xor_si256
(
c2
[
2122
],
_mm256_xor_si256
(
c2
[
2022
],
_mm256_xor_si256
(
c2
[
122
],
_mm256_xor_si256
(
c2
[
323
],
_mm256_xor_si256
(
c2
[
1831
],
_mm256_xor_si256
(
c2
[
2132
],
_mm256_xor_si256
(
c2
[
2032
],
_mm256_xor_si256
(
c2
[
1430
],
_mm256_xor_si256
(
c2
[
1631
],
_mm256_xor_si256
(
c2
[
2134
],
_mm256_xor_si256
(
c2
[
2330
],
_mm256_xor_si256
(
c2
[
1841
],
_mm256_xor_si256
(
c2
[
2042
],
_mm256_xor_si256
(
c2
[
2741
],
_mm256_xor_si256
(
c2
[
2942
],
_mm256_xor_si256
(
c2
[
2444
],
_mm256_xor_si256
(
c2
[
2640
],
_mm256_xor_si256
(
c2
[
1851
],
_mm256_xor_si256
(
c2
[
2052
],
_mm256_xor_si256
(
c2
[
451
],
_mm256_xor_si256
(
c2
[
652
],
_mm256_xor_si256
(
c2
[
1861
],
_mm256_xor_si256
(
c2
[
2162
],
_mm256_xor_si256
(
c2
[
2062
],
_mm256_xor_si256
(
c2
[
1064
],
_mm256_xor_si256
(
c2
[
1260
],
_mm256_xor_si256
(
c2
[
3061
],
_mm256_xor_si256
(
c2
[
63
],
_mm256_xor_si256
(
c2
[
1871
],
_mm256_xor_si256
(
c2
[
2072
],
_mm256_xor_si256
(
c2
[
1173
],
_mm256_xor_si256
(
c2
[
1374
],
_mm256_xor_si256
(
c2
[
1881
],
_mm256_xor_si256
(
c2
[
2082
],
_mm256_xor_si256
(
c2
[
3084
],
_mm256_xor_si256
(
c2
[
81
],
_mm256_xor_si256
(
c2
[
783
],
_mm256_xor_si256
(
c2
[
984
],
_mm256_xor_si256
(
c2
[
183
],
_mm256_xor_si256
(
c2
[
1891
],
_mm256_xor_si256
(
c2
[
2192
],
_mm256_xor_si256
(
c2
[
2092
],
_mm256_xor_si256
(
c2
[
993
],
_mm256_xor_si256
(
c2
[
1194
],
_mm256_xor_si256
(
c2
[
93
],
c2
[
294
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
50
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
1710
],
_mm256_xor_si256
(
c2
[
2864
],
c2
[
2070
])));
//row: 11
d2
[
55
]
=
_mm256_xor_si256
(
c2
[
100
],
_mm256_xor_si256
(
c2
[
1004
],
_mm256_xor_si256
(
c2
[
2100
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
110
],
_mm256_xor_si256
(
c2
[
3112
],
_mm256_xor_si256
(
c2
[
811
],
_mm256_xor_si256
(
c2
[
711
],
_mm256_xor_si256
(
c2
[
120
],
_mm256_xor_si256
(
c2
[
1720
],
_mm256_xor_si256
(
c2
[
1620
],
_mm256_xor_si256
(
c2
[
130
],
_mm256_xor_si256
(
c2
[
2933
],
_mm256_xor_si256
(
c2
[
433
],
_mm256_xor_si256
(
c2
[
140
],
_mm256_xor_si256
(
c2
[
1040
],
_mm256_xor_si256
(
c2
[
843
],
_mm256_xor_si256
(
c2
[
743
],
_mm256_xor_si256
(
c2
[
150
],
_mm256_xor_si256
(
c2
[
2054
],
_mm256_xor_si256
(
c2
[
1954
],
_mm256_xor_si256
(
c2
[
160
],
_mm256_xor_si256
(
c2
[
2562
],
_mm256_xor_si256
(
c2
[
1460
],
_mm256_xor_si256
(
c2
[
1360
],
_mm256_xor_si256
(
c2
[
170
],
_mm256_xor_si256
(
c2
[
2771
],
_mm256_xor_si256
(
c2
[
2671
],
_mm256_xor_si256
(
c2
[
770
],
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
1383
],
_mm256_xor_si256
(
c2
[
2381
],
_mm256_xor_si256
(
c2
[
2281
],
_mm256_xor_si256
(
c2
[
190
],
_mm256_xor_si256
(
c2
[
2491
],
_mm256_xor_si256
(
c2
[
1691
],
_mm256_xor_si256
(
c2
[
1591
],
c2
[
490
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
60
]
=
_mm256_xor_si256
(
c2
[
1601
],
_mm256_xor_si256
(
c2
[
1501
],
_mm256_xor_si256
(
c2
[
2400
],
_mm256_xor_si256
(
c2
[
302
],
_mm256_xor_si256
(
c2
[
1611
],
_mm256_xor_si256
(
c2
[
1511
],
_mm256_xor_si256
(
c2
[
1314
],
_mm256_xor_si256
(
c2
[
2112
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
1621
],
_mm256_xor_si256
(
c2
[
1521
],
_mm256_xor_si256
(
c2
[
3021
],
_mm256_xor_si256
(
c2
[
1631
],
_mm256_xor_si256
(
c2
[
1531
],
_mm256_xor_si256
(
c2
[
1130
],
_mm256_xor_si256
(
c2
[
1834
],
_mm256_xor_si256
(
c2
[
1733
],
_mm256_xor_si256
(
c2
[
1541
],
_mm256_xor_si256
(
c2
[
2441
],
_mm256_xor_si256
(
c2
[
2144
],
_mm256_xor_si256
(
c2
[
1551
],
_mm256_xor_si256
(
c2
[
151
],
_mm256_xor_si256
(
c2
[
1661
],
_mm256_xor_si256
(
c2
[
1561
],
_mm256_xor_si256
(
c2
[
764
],
_mm256_xor_si256
(
c2
[
2761
],
_mm256_xor_si256
(
c2
[
1571
],
_mm256_xor_si256
(
c2
[
873
],
_mm256_xor_si256
(
c2
[
1581
],
_mm256_xor_si256
(
c2
[
2784
],
_mm256_xor_si256
(
c2
[
483
],
_mm256_xor_si256
(
c2
[
1691
],
_mm256_xor_si256
(
c2
[
1591
],
_mm256_xor_si256
(
c2
[
693
],
c2
[
2992
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
65
]
=
_mm256_xor_si256
(
c2
[
2500
],
_mm256_xor_si256
(
c2
[
200
],
_mm256_xor_si256
(
c2
[
1301
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
2510
],
_mm256_xor_si256
(
c2
[
2313
],
_mm256_xor_si256
(
c2
[
12
],
_mm256_xor_si256
(
c2
[
3111
],
_mm256_xor_si256
(
c2
[
1613
],
_mm256_xor_si256
(
c2
[
2520
],
_mm256_xor_si256
(
c2
[
921
],
_mm256_xor_si256
(
c2
[
821
],
_mm256_xor_si256
(
c2
[
2530
],
_mm256_xor_si256
(
c2
[
2134
],
_mm256_xor_si256
(
c2
[
2833
],
_mm256_xor_si256
(
c2
[
2540
],
_mm256_xor_si256
(
c2
[
241
],
_mm256_xor_si256
(
c2
[
44
],
_mm256_xor_si256
(
c2
[
3143
],
_mm256_xor_si256
(
c2
[
2550
],
_mm256_xor_si256
(
c2
[
1250
],
_mm256_xor_si256
(
c2
[
1150
],
_mm256_xor_si256
(
c2
[
2560
],
_mm256_xor_si256
(
c2
[
1763
],
_mm256_xor_si256
(
c2
[
661
],
_mm256_xor_si256
(
c2
[
561
],
_mm256_xor_si256
(
c2
[
2570
],
_mm256_xor_si256
(
c2
[
1972
],
_mm256_xor_si256
(
c2
[
1872
],
_mm256_xor_si256
(
c2
[
2580
],
_mm256_xor_si256
(
c2
[
584
],
_mm256_xor_si256
(
c2
[
1582
],
_mm256_xor_si256
(
c2
[
1482
],
_mm256_xor_si256
(
c2
[
683
],
_mm256_xor_si256
(
c2
[
2590
],
_mm256_xor_si256
(
c2
[
1692
],
_mm256_xor_si256
(
c2
[
892
],
c2
[
792
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
70
]
=
_mm256_xor_si256
(
c2
[
2501
],
_mm256_xor_si256
(
c2
[
2401
],
_mm256_xor_si256
(
c2
[
2600
],
_mm256_xor_si256
(
c2
[
101
],
_mm256_xor_si256
(
c2
[
300
],
_mm256_xor_si256
(
c2
[
1202
],
_mm256_xor_si256
(
c2
[
1401
],
_mm256_xor_si256
(
c2
[
2511
],
_mm256_xor_si256
(
c2
[
2411
],
_mm256_xor_si256
(
c2
[
2610
],
_mm256_xor_si256
(
c2
[
2214
],
_mm256_xor_si256
(
c2
[
2413
],
_mm256_xor_si256
(
c2
[
3012
],
_mm256_xor_si256
(
c2
[
112
],
_mm256_xor_si256
(
c2
[
12
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
2521
],
_mm256_xor_si256
(
c2
[
2421
],
_mm256_xor_si256
(
c2
[
2620
],
_mm256_xor_si256
(
c2
[
722
],
_mm256_xor_si256
(
c2
[
1021
],
_mm256_xor_si256
(
c2
[
921
],
_mm256_xor_si256
(
c2
[
2531
],
_mm256_xor_si256
(
c2
[
2431
],
_mm256_xor_si256
(
c2
[
2630
],
_mm256_xor_si256
(
c2
[
2030
],
_mm256_xor_si256
(
c2
[
2234
],
_mm256_xor_si256
(
c2
[
2734
],
_mm256_xor_si256
(
c2
[
2933
],
_mm256_xor_si256
(
c2
[
2441
],
_mm256_xor_si256
(
c2
[
2640
],
_mm256_xor_si256
(
c2
[
142
],
_mm256_xor_si256
(
c2
[
341
],
_mm256_xor_si256
(
c2
[
3044
],
_mm256_xor_si256
(
c2
[
144
],
_mm256_xor_si256
(
c2
[
44
],
_mm256_xor_si256
(
c2
[
2451
],
_mm256_xor_si256
(
c2
[
2650
],
_mm256_xor_si256
(
c2
[
1051
],
_mm256_xor_si256
(
c2
[
1350
],
_mm256_xor_si256
(
c2
[
1250
],
_mm256_xor_si256
(
c2
[
2561
],
_mm256_xor_si256
(
c2
[
2461
],
_mm256_xor_si256
(
c2
[
2660
],
_mm256_xor_si256
(
c2
[
1664
],
_mm256_xor_si256
(
c2
[
1863
],
_mm256_xor_si256
(
c2
[
462
],
_mm256_xor_si256
(
c2
[
761
],
_mm256_xor_si256
(
c2
[
661
],
_mm256_xor_si256
(
c2
[
1064
],
_mm256_xor_si256
(
c2
[
2471
],
_mm256_xor_si256
(
c2
[
2670
],
_mm256_xor_si256
(
c2
[
1773
],
_mm256_xor_si256
(
c2
[
2072
],
_mm256_xor_si256
(
c2
[
1972
],
_mm256_xor_si256
(
c2
[
2481
],
_mm256_xor_si256
(
c2
[
2680
],
_mm256_xor_si256
(
c2
[
480
],
_mm256_xor_si256
(
c2
[
684
],
_mm256_xor_si256
(
c2
[
1383
],
_mm256_xor_si256
(
c2
[
1682
],
_mm256_xor_si256
(
c2
[
1582
],
_mm256_xor_si256
(
c2
[
2591
],
_mm256_xor_si256
(
c2
[
2491
],
_mm256_xor_si256
(
c2
[
2690
],
_mm256_xor_si256
(
c2
[
1593
],
_mm256_xor_si256
(
c2
[
1792
],
_mm256_xor_si256
(
c2
[
693
],
_mm256_xor_si256
(
c2
[
992
],
c2
[
892
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
75
]
=
_mm256_xor_si256
(
c2
[
802
],
_mm256_xor_si256
(
c2
[
303
],
_mm256_xor_si256
(
c2
[
203
],
_mm256_xor_si256
(
c2
[
1701
],
_mm256_xor_si256
(
c2
[
1102
],
_mm256_xor_si256
(
c2
[
2802
],
_mm256_xor_si256
(
c2
[
2203
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
812
],
_mm256_xor_si256
(
c2
[
313
],
_mm256_xor_si256
(
c2
[
213
],
_mm256_xor_si256
(
c2
[
610
],
_mm256_xor_si256
(
c2
[
11
],
_mm256_xor_si256
(
c2
[
1413
],
_mm256_xor_si256
(
c2
[
814
],
_mm256_xor_si256
(
c2
[
822
],
_mm256_xor_si256
(
c2
[
323
],
_mm256_xor_si256
(
c2
[
223
],
_mm256_xor_si256
(
c2
[
2322
],
_mm256_xor_si256
(
c2
[
1723
],
_mm256_xor_si256
(
c2
[
832
],
_mm256_xor_si256
(
c2
[
333
],
_mm256_xor_si256
(
c2
[
233
],
_mm256_xor_si256
(
c2
[
431
],
_mm256_xor_si256
(
c2
[
3031
],
_mm256_xor_si256
(
c2
[
1130
],
_mm256_xor_si256
(
c2
[
531
],
_mm256_xor_si256
(
c2
[
842
],
_mm256_xor_si256
(
c2
[
243
],
_mm256_xor_si256
(
c2
[
1742
],
_mm256_xor_si256
(
c2
[
1143
],
_mm256_xor_si256
(
c2
[
1440
],
_mm256_xor_si256
(
c2
[
841
],
_mm256_xor_si256
(
c2
[
852
],
_mm256_xor_si256
(
c2
[
253
],
_mm256_xor_si256
(
c2
[
2651
],
_mm256_xor_si256
(
c2
[
2052
],
_mm256_xor_si256
(
c2
[
862
],
_mm256_xor_si256
(
c2
[
363
],
_mm256_xor_si256
(
c2
[
263
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
2660
],
_mm256_xor_si256
(
c2
[
2062
],
_mm256_xor_si256
(
c2
[
1463
],
_mm256_xor_si256
(
c2
[
872
],
_mm256_xor_si256
(
c2
[
273
],
_mm256_xor_si256
(
c2
[
174
],
_mm256_xor_si256
(
c2
[
2774
],
_mm256_xor_si256
(
c2
[
882
],
_mm256_xor_si256
(
c2
[
283
],
_mm256_xor_si256
(
c2
[
2080
],
_mm256_xor_si256
(
c2
[
1481
],
_mm256_xor_si256
(
c2
[
2983
],
_mm256_xor_si256
(
c2
[
2384
],
_mm256_xor_si256
(
c2
[
892
],
_mm256_xor_si256
(
c2
[
393
],
_mm256_xor_si256
(
c2
[
293
],
_mm256_xor_si256
(
c2
[
3193
],
_mm256_xor_si256
(
c2
[
2594
],
_mm256_xor_si256
(
c2
[
2293
],
c2
[
1694
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
80
]
=
_mm256_xor_si256
(
c2
[
1503
],
_mm256_xor_si256
(
c2
[
1403
],
_mm256_xor_si256
(
c2
[
1504
],
_mm256_xor_si256
(
c2
[
1404
],
_mm256_xor_si256
(
c2
[
2302
],
_mm256_xor_si256
(
c2
[
2403
],
_mm256_xor_si256
(
c2
[
2303
],
_mm256_xor_si256
(
c2
[
204
],
_mm256_xor_si256
(
c2
[
200
],
_mm256_xor_si256
(
c2
[
1513
],
_mm256_xor_si256
(
c2
[
1413
],
_mm256_xor_si256
(
c2
[
1514
],
_mm256_xor_si256
(
c2
[
1414
],
_mm256_xor_si256
(
c2
[
1211
],
_mm256_xor_si256
(
c2
[
1212
],
_mm256_xor_si256
(
c2
[
2014
],
_mm256_xor_si256
(
c2
[
2010
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
1523
],
_mm256_xor_si256
(
c2
[
1423
],
_mm256_xor_si256
(
c2
[
1524
],
_mm256_xor_si256
(
c2
[
1424
],
_mm256_xor_si256
(
c2
[
2923
],
_mm256_xor_si256
(
c2
[
2924
],
_mm256_xor_si256
(
c2
[
1533
],
_mm256_xor_si256
(
c2
[
1433
],
_mm256_xor_si256
(
c2
[
1534
],
_mm256_xor_si256
(
c2
[
1434
],
_mm256_xor_si256
(
c2
[
1032
],
_mm256_xor_si256
(
c2
[
1133
],
_mm256_xor_si256
(
c2
[
1033
],
_mm256_xor_si256
(
c2
[
1731
],
_mm256_xor_si256
(
c2
[
1732
],
_mm256_xor_si256
(
c2
[
1443
],
_mm256_xor_si256
(
c2
[
1544
],
_mm256_xor_si256
(
c2
[
1444
],
_mm256_xor_si256
(
c2
[
2343
],
_mm256_xor_si256
(
c2
[
2344
],
_mm256_xor_si256
(
c2
[
2041
],
_mm256_xor_si256
(
c2
[
2042
],
_mm256_xor_si256
(
c2
[
1453
],
_mm256_xor_si256
(
c2
[
1554
],
_mm256_xor_si256
(
c2
[
1454
],
_mm256_xor_si256
(
c2
[
53
],
_mm256_xor_si256
(
c2
[
54
],
_mm256_xor_si256
(
c2
[
1563
],
_mm256_xor_si256
(
c2
[
1463
],
_mm256_xor_si256
(
c2
[
1564
],
_mm256_xor_si256
(
c2
[
1464
],
_mm256_xor_si256
(
c2
[
661
],
_mm256_xor_si256
(
c2
[
762
],
_mm256_xor_si256
(
c2
[
662
],
_mm256_xor_si256
(
c2
[
2663
],
_mm256_xor_si256
(
c2
[
2664
],
_mm256_xor_si256
(
c2
[
1473
],
_mm256_xor_si256
(
c2
[
1574
],
_mm256_xor_si256
(
c2
[
1474
],
_mm256_xor_si256
(
c2
[
770
],
_mm256_xor_si256
(
c2
[
771
],
_mm256_xor_si256
(
c2
[
1483
],
_mm256_xor_si256
(
c2
[
1584
],
_mm256_xor_si256
(
c2
[
1484
],
_mm256_xor_si256
(
c2
[
2681
],
_mm256_xor_si256
(
c2
[
2682
],
_mm256_xor_si256
(
c2
[
380
],
_mm256_xor_si256
(
c2
[
381
],
_mm256_xor_si256
(
c2
[
1593
],
_mm256_xor_si256
(
c2
[
1493
],
_mm256_xor_si256
(
c2
[
1594
],
_mm256_xor_si256
(
c2
[
1494
],
_mm256_xor_si256
(
c2
[
590
],
_mm256_xor_si256
(
c2
[
691
],
_mm256_xor_si256
(
c2
[
591
],
_mm256_xor_si256
(
c2
[
2894
],
_mm256_xor_si256
(
c2
[
2890
],
c2
[
1592
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
85
]
=
_mm256_xor_si256
(
c2
[
1303
],
_mm256_xor_si256
(
c2
[
1203
],
_mm256_xor_si256
(
c2
[
1800
],
_mm256_xor_si256
(
c2
[
1700
],
_mm256_xor_si256
(
c2
[
2102
],
_mm256_xor_si256
(
c2
[
2704
],
_mm256_xor_si256
(
c2
[
2604
],
_mm256_xor_si256
(
c2
[
4
],
_mm256_xor_si256
(
c2
[
501
],
_mm256_xor_si256
(
c2
[
1313
],
_mm256_xor_si256
(
c2
[
1213
],
_mm256_xor_si256
(
c2
[
1810
],
_mm256_xor_si256
(
c2
[
1710
],
_mm256_xor_si256
(
c2
[
1011
],
_mm256_xor_si256
(
c2
[
1513
],
_mm256_xor_si256
(
c2
[
1814
],
_mm256_xor_si256
(
c2
[
2311
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
1323
],
_mm256_xor_si256
(
c2
[
1223
],
_mm256_xor_si256
(
c2
[
1820
],
_mm256_xor_si256
(
c2
[
1720
],
_mm256_xor_si256
(
c2
[
2723
],
_mm256_xor_si256
(
c2
[
21
],
_mm256_xor_si256
(
c2
[
1333
],
_mm256_xor_si256
(
c2
[
1233
],
_mm256_xor_si256
(
c2
[
1830
],
_mm256_xor_si256
(
c2
[
1730
],
_mm256_xor_si256
(
c2
[
832
],
_mm256_xor_si256
(
c2
[
1434
],
_mm256_xor_si256
(
c2
[
1334
],
_mm256_xor_si256
(
c2
[
1531
],
_mm256_xor_si256
(
c2
[
2033
],
_mm256_xor_si256
(
c2
[
1243
],
_mm256_xor_si256
(
c2
[
1840
],
_mm256_xor_si256
(
c2
[
1740
],
_mm256_xor_si256
(
c2
[
2143
],
_mm256_xor_si256
(
c2
[
2640
],
_mm256_xor_si256
(
c2
[
1841
],
_mm256_xor_si256
(
c2
[
2343
],
_mm256_xor_si256
(
c2
[
1253
],
_mm256_xor_si256
(
c2
[
1850
],
_mm256_xor_si256
(
c2
[
1750
],
_mm256_xor_si256
(
c2
[
3052
],
_mm256_xor_si256
(
c2
[
350
],
_mm256_xor_si256
(
c2
[
2450
],
_mm256_xor_si256
(
c2
[
1363
],
_mm256_xor_si256
(
c2
[
1263
],
_mm256_xor_si256
(
c2
[
1860
],
_mm256_xor_si256
(
c2
[
1760
],
_mm256_xor_si256
(
c2
[
461
],
_mm256_xor_si256
(
c2
[
1063
],
_mm256_xor_si256
(
c2
[
963
],
_mm256_xor_si256
(
c2
[
2463
],
_mm256_xor_si256
(
c2
[
2960
],
_mm256_xor_si256
(
c2
[
1273
],
_mm256_xor_si256
(
c2
[
1870
],
_mm256_xor_si256
(
c2
[
1770
],
_mm256_xor_si256
(
c2
[
570
],
_mm256_xor_si256
(
c2
[
1072
],
_mm256_xor_si256
(
c2
[
1283
],
_mm256_xor_si256
(
c2
[
1880
],
_mm256_xor_si256
(
c2
[
1780
],
_mm256_xor_si256
(
c2
[
2481
],
_mm256_xor_si256
(
c2
[
2983
],
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
682
],
_mm256_xor_si256
(
c2
[
1393
],
_mm256_xor_si256
(
c2
[
1293
],
_mm256_xor_si256
(
c2
[
1890
],
_mm256_xor_si256
(
c2
[
1790
],
_mm256_xor_si256
(
c2
[
390
],
_mm256_xor_si256
(
c2
[
992
],
_mm256_xor_si256
(
c2
[
892
],
_mm256_xor_si256
(
c2
[
2694
],
c2
[
3191
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
90
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
1860
],
c2
[
2272
]));
//row: 19
d2
[
95
]
=
_mm256_xor_si256
(
c2
[
2504
],
_mm256_xor_si256
(
c2
[
204
],
_mm256_xor_si256
(
c2
[
1300
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
2514
],
_mm256_xor_si256
(
c2
[
2312
],
_mm256_xor_si256
(
c2
[
3110
],
_mm256_xor_si256
(
c2
[
3014
],
_mm256_xor_si256
(
c2
[
2524
],
_mm256_xor_si256
(
c2
[
820
],
_mm256_xor_si256
(
c2
[
2534
],
_mm256_xor_si256
(
c2
[
2133
],
_mm256_xor_si256
(
c2
[
2832
],
_mm256_xor_si256
(
c2
[
2544
],
_mm256_xor_si256
(
c2
[
240
],
_mm256_xor_si256
(
c2
[
3142
],
_mm256_xor_si256
(
c2
[
2554
],
_mm256_xor_si256
(
c2
[
1154
],
_mm256_xor_si256
(
c2
[
2564
],
_mm256_xor_si256
(
c2
[
1762
],
_mm256_xor_si256
(
c2
[
560
],
_mm256_xor_si256
(
c2
[
2574
],
_mm256_xor_si256
(
c2
[
1871
],
_mm256_xor_si256
(
c2
[
2584
],
_mm256_xor_si256
(
c2
[
583
],
_mm256_xor_si256
(
c2
[
1481
],
_mm256_xor_si256
(
c2
[
2594
],
_mm256_xor_si256
(
c2
[
1691
],
c2
[
791
]))))))))))))))))))))))))))));
//row: 20
d2
[
100
]
=
_mm256_xor_si256
(
c2
[
803
],
_mm256_xor_si256
(
c2
[
703
],
_mm256_xor_si256
(
c2
[
1602
],
_mm256_xor_si256
(
c2
[
2703
],
_mm256_xor_si256
(
c2
[
813
],
_mm256_xor_si256
(
c2
[
713
],
_mm256_xor_si256
(
c2
[
511
],
_mm256_xor_si256
(
c2
[
1314
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
823
],
_mm256_xor_si256
(
c2
[
723
],
_mm256_xor_si256
(
c2
[
2223
],
_mm256_xor_si256
(
c2
[
833
],
_mm256_xor_si256
(
c2
[
733
],
_mm256_xor_si256
(
c2
[
332
],
_mm256_xor_si256
(
c2
[
1031
],
_mm256_xor_si256
(
c2
[
743
],
_mm256_xor_si256
(
c2
[
1643
],
_mm256_xor_si256
(
c2
[
1341
],
_mm256_xor_si256
(
c2
[
2044
],
_mm256_xor_si256
(
c2
[
753
],
_mm256_xor_si256
(
c2
[
2552
],
_mm256_xor_si256
(
c2
[
863
],
_mm256_xor_si256
(
c2
[
763
],
_mm256_xor_si256
(
c2
[
3160
],
_mm256_xor_si256
(
c2
[
1963
],
_mm256_xor_si256
(
c2
[
773
],
_mm256_xor_si256
(
c2
[
70
],
_mm256_xor_si256
(
c2
[
783
],
_mm256_xor_si256
(
c2
[
1981
],
_mm256_xor_si256
(
c2
[
2884
],
_mm256_xor_si256
(
c2
[
893
],
_mm256_xor_si256
(
c2
[
793
],
_mm256_xor_si256
(
c2
[
3094
],
c2
[
2194
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
105
]
=
_mm256_xor_si256
(
c2
[
1
],
_mm256_xor_si256
(
c2
[
900
],
_mm256_xor_si256
(
c2
[
2001
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
11
],
_mm256_xor_si256
(
c2
[
3013
],
_mm256_xor_si256
(
c2
[
712
],
_mm256_xor_si256
(
c2
[
612
],
_mm256_xor_si256
(
c2
[
21
],
_mm256_xor_si256
(
c2
[
1621
],
_mm256_xor_si256
(
c2
[
1521
],
_mm256_xor_si256
(
c2
[
31
],
_mm256_xor_si256
(
c2
[
2834
],
_mm256_xor_si256
(
c2
[
334
],
_mm256_xor_si256
(
c2
[
41
],
_mm256_xor_si256
(
c2
[
941
],
_mm256_xor_si256
(
c2
[
744
],
_mm256_xor_si256
(
c2
[
644
],
_mm256_xor_si256
(
c2
[
51
],
_mm256_xor_si256
(
c2
[
1950
],
_mm256_xor_si256
(
c2
[
1850
],
_mm256_xor_si256
(
c2
[
61
],
_mm256_xor_si256
(
c2
[
2463
],
_mm256_xor_si256
(
c2
[
1361
],
_mm256_xor_si256
(
c2
[
1261
],
_mm256_xor_si256
(
c2
[
71
],
_mm256_xor_si256
(
c2
[
2672
],
_mm256_xor_si256
(
c2
[
2572
],
_mm256_xor_si256
(
c2
[
81
],
_mm256_xor_si256
(
c2
[
1284
],
_mm256_xor_si256
(
c2
[
2282
],
_mm256_xor_si256
(
c2
[
2182
],
_mm256_xor_si256
(
c2
[
1780
],
_mm256_xor_si256
(
c2
[
91
],
_mm256_xor_si256
(
c2
[
2392
],
_mm256_xor_si256
(
c2
[
1592
],
c2
[
1492
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
110
]
=
_mm256_xor_si256
(
c2
[
10
],
c2
[
420
]);
//row: 23
d2
[
115
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
1132
],
c2
[
3054
]));
//row: 24
d2
[
120
]
=
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
522
],
c2
[
2392
]));
//row: 25
d2
[
125
]
=
_mm256_xor_si256
(
c2
[
0
],
c2
[
152
]);
//row: 26
d2
[
130
]
=
_mm256_xor_si256
(
c2
[
1300
],
_mm256_xor_si256
(
c2
[
1200
],
_mm256_xor_si256
(
c2
[
600
],
_mm256_xor_si256
(
c2
[
2204
],
_mm256_xor_si256
(
c2
[
2104
],
_mm256_xor_si256
(
c2
[
1504
],
_mm256_xor_si256
(
c2
[
1
],
_mm256_xor_si256
(
c2
[
2600
],
_mm256_xor_si256
(
c2
[
1310
],
_mm256_xor_si256
(
c2
[
1210
],
_mm256_xor_si256
(
c2
[
610
],
_mm256_xor_si256
(
c2
[
1013
],
_mm256_xor_si256
(
c2
[
413
],
_mm256_xor_si256
(
c2
[
1811
],
_mm256_xor_si256
(
c2
[
1311
],
_mm256_xor_si256
(
c2
[
1211
],
_mm256_xor_si256
(
c2
[
1320
],
_mm256_xor_si256
(
c2
[
1220
],
_mm256_xor_si256
(
c2
[
620
],
_mm256_xor_si256
(
c2
[
2720
],
_mm256_xor_si256
(
c2
[
2220
],
_mm256_xor_si256
(
c2
[
2120
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
1330
],
_mm256_xor_si256
(
c2
[
1230
],
_mm256_xor_si256
(
c2
[
630
],
_mm256_xor_si256
(
c2
[
934
],
_mm256_xor_si256
(
c2
[
834
],
_mm256_xor_si256
(
c2
[
234
],
_mm256_xor_si256
(
c2
[
1533
],
_mm256_xor_si256
(
c2
[
933
],
_mm256_xor_si256
(
c2
[
1340
],
_mm256_xor_si256
(
c2
[
1240
],
_mm256_xor_si256
(
c2
[
640
],
_mm256_xor_si256
(
c2
[
2140
],
_mm256_xor_si256
(
c2
[
1540
],
_mm256_xor_si256
(
c2
[
1843
],
_mm256_xor_si256
(
c2
[
1343
],
_mm256_xor_si256
(
c2
[
1243
],
_mm256_xor_si256
(
c2
[
1350
],
_mm256_xor_si256
(
c2
[
1250
],
_mm256_xor_si256
(
c2
[
650
],
_mm256_xor_si256
(
c2
[
3054
],
_mm256_xor_si256
(
c2
[
2554
],
_mm256_xor_si256
(
c2
[
2454
],
_mm256_xor_si256
(
c2
[
1360
],
_mm256_xor_si256
(
c2
[
1260
],
_mm256_xor_si256
(
c2
[
660
],
_mm256_xor_si256
(
c2
[
563
],
_mm256_xor_si256
(
c2
[
463
],
_mm256_xor_si256
(
c2
[
3062
],
_mm256_xor_si256
(
c2
[
2460
],
_mm256_xor_si256
(
c2
[
1960
],
_mm256_xor_si256
(
c2
[
1860
],
_mm256_xor_si256
(
c2
[
1370
],
_mm256_xor_si256
(
c2
[
1270
],
_mm256_xor_si256
(
c2
[
670
],
_mm256_xor_si256
(
c2
[
572
],
_mm256_xor_si256
(
c2
[
72
],
_mm256_xor_si256
(
c2
[
3171
],
_mm256_xor_si256
(
c2
[
473
],
_mm256_xor_si256
(
c2
[
1380
],
_mm256_xor_si256
(
c2
[
1280
],
_mm256_xor_si256
(
c2
[
680
],
_mm256_xor_si256
(
c2
[
2483
],
_mm256_xor_si256
(
c2
[
1883
],
_mm256_xor_si256
(
c2
[
182
],
_mm256_xor_si256
(
c2
[
2881
],
_mm256_xor_si256
(
c2
[
2781
],
_mm256_xor_si256
(
c2
[
1390
],
_mm256_xor_si256
(
c2
[
1290
],
_mm256_xor_si256
(
c2
[
690
],
_mm256_xor_si256
(
c2
[
492
],
_mm256_xor_si256
(
c2
[
392
],
_mm256_xor_si256
(
c2
[
2991
],
_mm256_xor_si256
(
c2
[
2691
],
_mm256_xor_si256
(
c2
[
2191
],
c2
[
2091
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
135
]
=
_mm256_xor_si256
(
c2
[
0
],
c2
[
61
]);
//row: 28
d2
[
140
]
=
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
3023
],
c2
[
1453
]));
//row: 29
d2
[
145
]
=
_mm256_xor_si256
(
c2
[
0
],
c2
[
2644
]);
//row: 30
d2
[
150
]
=
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
351
],
_mm256_xor_si256
(
c2
[
1971
],
c2
[
694
])));
//row: 31
d2
[
155
]
=
_mm256_xor_si256
(
c2
[
1900
],
_mm256_xor_si256
(
c2
[
2804
],
_mm256_xor_si256
(
c2
[
701
],
_mm256_xor_si256
(
c2
[
1910
],
_mm256_xor_si256
(
c2
[
1713
],
_mm256_xor_si256
(
c2
[
2611
],
_mm256_xor_si256
(
c2
[
2511
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
1920
],
_mm256_xor_si256
(
c2
[
321
],
_mm256_xor_si256
(
c2
[
221
],
_mm256_xor_si256
(
c2
[
1930
],
_mm256_xor_si256
(
c2
[
1534
],
_mm256_xor_si256
(
c2
[
2233
],
_mm256_xor_si256
(
c2
[
1940
],
_mm256_xor_si256
(
c2
[
2840
],
_mm256_xor_si256
(
c2
[
2643
],
_mm256_xor_si256
(
c2
[
2543
],
_mm256_xor_si256
(
c2
[
1950
],
_mm256_xor_si256
(
c2
[
650
],
_mm256_xor_si256
(
c2
[
550
],
_mm256_xor_si256
(
c2
[
1960
],
_mm256_xor_si256
(
c2
[
1163
],
_mm256_xor_si256
(
c2
[
61
],
_mm256_xor_si256
(
c2
[
3160
],
_mm256_xor_si256
(
c2
[
1970
],
_mm256_xor_si256
(
c2
[
1372
],
_mm256_xor_si256
(
c2
[
1272
],
_mm256_xor_si256
(
c2
[
1980
],
_mm256_xor_si256
(
c2
[
3183
],
_mm256_xor_si256
(
c2
[
982
],
_mm256_xor_si256
(
c2
[
882
],
_mm256_xor_si256
(
c2
[
1990
],
_mm256_xor_si256
(
c2
[
1092
],
_mm256_xor_si256
(
c2
[
292
],
c2
[
192
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
160
]
=
_mm256_xor_si256
(
c2
[
2603
],
_mm256_xor_si256
(
c2
[
2503
],
_mm256_xor_si256
(
c2
[
303
],
_mm256_xor_si256
(
c2
[
203
],
_mm256_xor_si256
(
c2
[
1304
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
2613
],
_mm256_xor_si256
(
c2
[
2513
],
_mm256_xor_si256
(
c2
[
2311
],
_mm256_xor_si256
(
c2
[
3114
],
_mm256_xor_si256
(
c2
[
2623
],
_mm256_xor_si256
(
c2
[
2523
],
_mm256_xor_si256
(
c2
[
824
],
_mm256_xor_si256
(
c2
[
2633
],
_mm256_xor_si256
(
c2
[
2533
],
_mm256_xor_si256
(
c2
[
2232
],
_mm256_xor_si256
(
c2
[
2132
],
_mm256_xor_si256
(
c2
[
2831
],
_mm256_xor_si256
(
c2
[
2643
],
_mm256_xor_si256
(
c2
[
2543
],
_mm256_xor_si256
(
c2
[
244
],
_mm256_xor_si256
(
c2
[
3141
],
_mm256_xor_si256
(
c2
[
2653
],
_mm256_xor_si256
(
c2
[
2553
],
_mm256_xor_si256
(
c2
[
1153
],
_mm256_xor_si256
(
c2
[
2050
],
_mm256_xor_si256
(
c2
[
2663
],
_mm256_xor_si256
(
c2
[
2563
],
_mm256_xor_si256
(
c2
[
1861
],
_mm256_xor_si256
(
c2
[
1761
],
_mm256_xor_si256
(
c2
[
564
],
_mm256_xor_si256
(
c2
[
2673
],
_mm256_xor_si256
(
c2
[
2573
],
_mm256_xor_si256
(
c2
[
1870
],
_mm256_xor_si256
(
c2
[
2683
],
_mm256_xor_si256
(
c2
[
2583
],
_mm256_xor_si256
(
c2
[
582
],
_mm256_xor_si256
(
c2
[
1480
],
_mm256_xor_si256
(
c2
[
2693
],
_mm256_xor_si256
(
c2
[
2593
],
_mm256_xor_si256
(
c2
[
1790
],
_mm256_xor_si256
(
c2
[
1690
],
c2
[
790
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
165
]
=
_mm256_xor_si256
(
c2
[
1200
],
_mm256_xor_si256
(
c2
[
2104
],
_mm256_xor_si256
(
c2
[
1
],
_mm256_xor_si256
(
c2
[
1210
],
_mm256_xor_si256
(
c2
[
1013
],
_mm256_xor_si256
(
c2
[
1811
],
_mm256_xor_si256
(
c2
[
1220
],
_mm256_xor_si256
(
c2
[
2720
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
1230
],
_mm256_xor_si256
(
c2
[
834
],
_mm256_xor_si256
(
c2
[
1533
],
_mm256_xor_si256
(
c2
[
1240
],
_mm256_xor_si256
(
c2
[
2140
],
_mm256_xor_si256
(
c2
[
1843
],
_mm256_xor_si256
(
c2
[
1250
],
_mm256_xor_si256
(
c2
[
3054
],
_mm256_xor_si256
(
c2
[
1260
],
_mm256_xor_si256
(
c2
[
463
],
_mm256_xor_si256
(
c2
[
2460
],
_mm256_xor_si256
(
c2
[
1270
],
_mm256_xor_si256
(
c2
[
572
],
_mm256_xor_si256
(
c2
[
2472
],
_mm256_xor_si256
(
c2
[
1280
],
_mm256_xor_si256
(
c2
[
2483
],
_mm256_xor_si256
(
c2
[
182
],
_mm256_xor_si256
(
c2
[
1290
],
_mm256_xor_si256
(
c2
[
392
],
c2
[
2691
]))))))))))))))))))))))))))));
//row: 34
d2
[
170
]
=
_mm256_xor_si256
(
c2
[
1900
],
_mm256_xor_si256
(
c2
[
1800
],
_mm256_xor_si256
(
c2
[
1302
],
_mm256_xor_si256
(
c2
[
2804
],
_mm256_xor_si256
(
c2
[
2704
],
_mm256_xor_si256
(
c2
[
2201
],
_mm256_xor_si256
(
c2
[
601
],
_mm256_xor_si256
(
c2
[
103
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
1910
],
_mm256_xor_si256
(
c2
[
1810
],
_mm256_xor_si256
(
c2
[
1312
],
_mm256_xor_si256
(
c2
[
1613
],
_mm256_xor_si256
(
c2
[
1110
],
_mm256_xor_si256
(
c2
[
2411
],
_mm256_xor_si256
(
c2
[
2013
],
_mm256_xor_si256
(
c2
[
1913
],
_mm256_xor_si256
(
c2
[
1920
],
_mm256_xor_si256
(
c2
[
1820
],
_mm256_xor_si256
(
c2
[
1322
],
_mm256_xor_si256
(
c2
[
121
],
_mm256_xor_si256
(
c2
[
2922
],
_mm256_xor_si256
(
c2
[
2822
],
_mm256_xor_si256
(
c2
[
1930
],
_mm256_xor_si256
(
c2
[
1830
],
_mm256_xor_si256
(
c2
[
1332
],
_mm256_xor_si256
(
c2
[
1534
],
_mm256_xor_si256
(
c2
[
1434
],
_mm256_xor_si256
(
c2
[
931
],
_mm256_xor_si256
(
c2
[
2133
],
_mm256_xor_si256
(
c2
[
1630
],
_mm256_xor_si256
(
c2
[
1940
],
_mm256_xor_si256
(
c2
[
1840
],
_mm256_xor_si256
(
c2
[
1342
],
_mm256_xor_si256
(
c2
[
2740
],
_mm256_xor_si256
(
c2
[
2242
],
_mm256_xor_si256
(
c2
[
2443
],
_mm256_xor_si256
(
c2
[
2040
],
_mm256_xor_si256
(
c2
[
1940
],
_mm256_xor_si256
(
c2
[
1950
],
_mm256_xor_si256
(
c2
[
1850
],
_mm256_xor_si256
(
c2
[
1352
],
_mm256_xor_si256
(
c2
[
450
],
_mm256_xor_si256
(
c2
[
52
],
_mm256_xor_si256
(
c2
[
3151
],
_mm256_xor_si256
(
c2
[
1960
],
_mm256_xor_si256
(
c2
[
1860
],
_mm256_xor_si256
(
c2
[
1362
],
_mm256_xor_si256
(
c2
[
1163
],
_mm256_xor_si256
(
c2
[
1063
],
_mm256_xor_si256
(
c2
[
560
],
_mm256_xor_si256
(
c2
[
3060
],
_mm256_xor_si256
(
c2
[
2662
],
_mm256_xor_si256
(
c2
[
2562
],
_mm256_xor_si256
(
c2
[
1970
],
_mm256_xor_si256
(
c2
[
1870
],
_mm256_xor_si256
(
c2
[
1372
],
_mm256_xor_si256
(
c2
[
1172
],
_mm256_xor_si256
(
c2
[
774
],
_mm256_xor_si256
(
c2
[
674
],
_mm256_xor_si256
(
c2
[
1980
],
_mm256_xor_si256
(
c2
[
1880
],
_mm256_xor_si256
(
c2
[
1382
],
_mm256_xor_si256
(
c2
[
3083
],
_mm256_xor_si256
(
c2
[
2580
],
_mm256_xor_si256
(
c2
[
782
],
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
284
],
_mm256_xor_si256
(
c2
[
1990
],
_mm256_xor_si256
(
c2
[
1890
],
_mm256_xor_si256
(
c2
[
1392
],
_mm256_xor_si256
(
c2
[
1092
],
_mm256_xor_si256
(
c2
[
992
],
_mm256_xor_si256
(
c2
[
494
],
_mm256_xor_si256
(
c2
[
92
],
_mm256_xor_si256
(
c2
[
2893
],
c2
[
2793
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
175
]
=
_mm256_xor_si256
(
c2
[
600
],
_mm256_xor_si256
(
c2
[
500
],
_mm256_xor_si256
(
c2
[
1404
],
_mm256_xor_si256
(
c2
[
2500
],
_mm256_xor_si256
(
c2
[
610
],
_mm256_xor_si256
(
c2
[
510
],
_mm256_xor_si256
(
c2
[
313
],
_mm256_xor_si256
(
c2
[
1111
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
620
],
_mm256_xor_si256
(
c2
[
520
],
_mm256_xor_si256
(
c2
[
2020
],
_mm256_xor_si256
(
c2
[
630
],
_mm256_xor_si256
(
c2
[
530
],
_mm256_xor_si256
(
c2
[
134
],
_mm256_xor_si256
(
c2
[
833
],
_mm256_xor_si256
(
c2
[
540
],
_mm256_xor_si256
(
c2
[
1440
],
_mm256_xor_si256
(
c2
[
1143
],
_mm256_xor_si256
(
c2
[
550
],
_mm256_xor_si256
(
c2
[
2354
],
_mm256_xor_si256
(
c2
[
2954
],
_mm256_xor_si256
(
c2
[
660
],
_mm256_xor_si256
(
c2
[
560
],
_mm256_xor_si256
(
c2
[
2962
],
_mm256_xor_si256
(
c2
[
1760
],
_mm256_xor_si256
(
c2
[
570
],
_mm256_xor_si256
(
c2
[
3071
],
_mm256_xor_si256
(
c2
[
580
],
_mm256_xor_si256
(
c2
[
1783
],
_mm256_xor_si256
(
c2
[
2681
],
_mm256_xor_si256
(
c2
[
690
],
_mm256_xor_si256
(
c2
[
590
],
_mm256_xor_si256
(
c2
[
2891
],
c2
[
1991
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
180
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
3121
],
c2
[
1872
]));
//row: 37
d2
[
185
]
=
_mm256_xor_si256
(
c2
[
3104
],
_mm256_xor_si256
(
c2
[
1504
],
_mm256_xor_si256
(
c2
[
804
],
_mm256_xor_si256
(
c2
[
2403
],
_mm256_xor_si256
(
c2
[
1900
],
_mm256_xor_si256
(
c2
[
300
],
_mm256_xor_si256
(
c2
[
3114
],
_mm256_xor_si256
(
c2
[
1514
],
_mm256_xor_si256
(
c2
[
2912
],
_mm256_xor_si256
(
c2
[
1312
],
_mm256_xor_si256
(
c2
[
511
],
_mm256_xor_si256
(
c2
[
2210
],
_mm256_xor_si256
(
c2
[
2110
],
_mm256_xor_si256
(
c2
[
3124
],
_mm256_xor_si256
(
c2
[
1524
],
_mm256_xor_si256
(
c2
[
1420
],
_mm256_xor_si256
(
c2
[
3124
],
_mm256_xor_si256
(
c2
[
3024
],
_mm256_xor_si256
(
c2
[
3134
],
_mm256_xor_si256
(
c2
[
1534
],
_mm256_xor_si256
(
c2
[
2733
],
_mm256_xor_si256
(
c2
[
1133
],
_mm256_xor_si256
(
c2
[
233
],
_mm256_xor_si256
(
c2
[
1832
],
_mm256_xor_si256
(
c2
[
3144
],
_mm256_xor_si256
(
c2
[
1544
],
_mm256_xor_si256
(
c2
[
840
],
_mm256_xor_si256
(
c2
[
2444
],
_mm256_xor_si256
(
c2
[
543
],
_mm256_xor_si256
(
c2
[
2242
],
_mm256_xor_si256
(
c2
[
2142
],
_mm256_xor_si256
(
c2
[
3154
],
_mm256_xor_si256
(
c2
[
1554
],
_mm256_xor_si256
(
c2
[
1754
],
_mm256_xor_si256
(
c2
[
254
],
_mm256_xor_si256
(
c2
[
154
],
_mm256_xor_si256
(
c2
[
3164
],
_mm256_xor_si256
(
c2
[
1564
],
_mm256_xor_si256
(
c2
[
2362
],
_mm256_xor_si256
(
c2
[
762
],
_mm256_xor_si256
(
c2
[
1160
],
_mm256_xor_si256
(
c2
[
2864
],
_mm256_xor_si256
(
c2
[
2764
],
_mm256_xor_si256
(
c2
[
3174
],
_mm256_xor_si256
(
c2
[
1574
],
_mm256_xor_si256
(
c2
[
2471
],
_mm256_xor_si256
(
c2
[
971
],
_mm256_xor_si256
(
c2
[
871
],
_mm256_xor_si256
(
c2
[
3184
],
_mm256_xor_si256
(
c2
[
1584
],
_mm256_xor_si256
(
c2
[
1183
],
_mm256_xor_si256
(
c2
[
2782
],
_mm256_xor_si256
(
c2
[
2081
],
_mm256_xor_si256
(
c2
[
581
],
_mm256_xor_si256
(
c2
[
481
],
_mm256_xor_si256
(
c2
[
3194
],
_mm256_xor_si256
(
c2
[
1594
],
_mm256_xor_si256
(
c2
[
2291
],
_mm256_xor_si256
(
c2
[
691
],
_mm256_xor_si256
(
c2
[
1391
],
_mm256_xor_si256
(
c2
[
3090
],
c2
[
2990
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
190
]
=
_mm256_xor_si256
(
c2
[
1900
],
_mm256_xor_si256
(
c2
[
1800
],
_mm256_xor_si256
(
c2
[
2704
],
_mm256_xor_si256
(
c2
[
601
],
_mm256_xor_si256
(
c2
[
1910
],
_mm256_xor_si256
(
c2
[
1810
],
_mm256_xor_si256
(
c2
[
1613
],
_mm256_xor_si256
(
c2
[
2411
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
1920
],
_mm256_xor_si256
(
c2
[
1820
],
_mm256_xor_si256
(
c2
[
121
],
_mm256_xor_si256
(
c2
[
1930
],
_mm256_xor_si256
(
c2
[
1830
],
_mm256_xor_si256
(
c2
[
1434
],
_mm256_xor_si256
(
c2
[
2133
],
_mm256_xor_si256
(
c2
[
1840
],
_mm256_xor_si256
(
c2
[
2740
],
_mm256_xor_si256
(
c2
[
2443
],
_mm256_xor_si256
(
c2
[
1850
],
_mm256_xor_si256
(
c2
[
450
],
_mm256_xor_si256
(
c2
[
2952
],
_mm256_xor_si256
(
c2
[
1960
],
_mm256_xor_si256
(
c2
[
1860
],
_mm256_xor_si256
(
c2
[
1063
],
_mm256_xor_si256
(
c2
[
3060
],
_mm256_xor_si256
(
c2
[
1870
],
_mm256_xor_si256
(
c2
[
1172
],
_mm256_xor_si256
(
c2
[
1880
],
_mm256_xor_si256
(
c2
[
3083
],
_mm256_xor_si256
(
c2
[
782
],
_mm256_xor_si256
(
c2
[
1990
],
_mm256_xor_si256
(
c2
[
1890
],
_mm256_xor_si256
(
c2
[
992
],
c2
[
92
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
195
]
=
_mm256_xor_si256
(
c2
[
1004
],
_mm256_xor_si256
(
c2
[
904
],
_mm256_xor_si256
(
c2
[
1903
],
_mm256_xor_si256
(
c2
[
1803
],
_mm256_xor_si256
(
c2
[
2904
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
1014
],
_mm256_xor_si256
(
c2
[
914
],
_mm256_xor_si256
(
c2
[
712
],
_mm256_xor_si256
(
c2
[
1510
],
_mm256_xor_si256
(
c2
[
1024
],
_mm256_xor_si256
(
c2
[
924
],
_mm256_xor_si256
(
c2
[
2424
],
_mm256_xor_si256
(
c2
[
1034
],
_mm256_xor_si256
(
c2
[
934
],
_mm256_xor_si256
(
c2
[
633
],
_mm256_xor_si256
(
c2
[
533
],
_mm256_xor_si256
(
c2
[
1232
],
_mm256_xor_si256
(
c2
[
1044
],
_mm256_xor_si256
(
c2
[
944
],
_mm256_xor_si256
(
c2
[
1844
],
_mm256_xor_si256
(
c2
[
1542
],
_mm256_xor_si256
(
c2
[
1054
],
_mm256_xor_si256
(
c2
[
954
],
_mm256_xor_si256
(
c2
[
2753
],
_mm256_xor_si256
(
c2
[
1064
],
_mm256_xor_si256
(
c2
[
964
],
_mm256_xor_si256
(
c2
[
262
],
_mm256_xor_si256
(
c2
[
162
],
_mm256_xor_si256
(
c2
[
2164
],
_mm256_xor_si256
(
c2
[
1074
],
_mm256_xor_si256
(
c2
[
974
],
_mm256_xor_si256
(
c2
[
271
],
_mm256_xor_si256
(
c2
[
2470
],
_mm256_xor_si256
(
c2
[
1084
],
_mm256_xor_si256
(
c2
[
984
],
_mm256_xor_si256
(
c2
[
2182
],
_mm256_xor_si256
(
c2
[
3080
],
_mm256_xor_si256
(
c2
[
1094
],
_mm256_xor_si256
(
c2
[
994
],
_mm256_xor_si256
(
c2
[
191
],
_mm256_xor_si256
(
c2
[
91
],
c2
[
2390
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
200
]
=
_mm256_xor_si256
(
c2
[
301
],
_mm256_xor_si256
(
c2
[
1404
],
_mm256_xor_si256
(
c2
[
1200
],
_mm256_xor_si256
(
c2
[
2303
],
_mm256_xor_si256
(
c2
[
2301
],
_mm256_xor_si256
(
c2
[
200
],
_mm256_xor_si256
(
c2
[
311
],
_mm256_xor_si256
(
c2
[
1414
],
_mm256_xor_si256
(
c2
[
114
],
_mm256_xor_si256
(
c2
[
1212
],
_mm256_xor_si256
(
c2
[
912
],
_mm256_xor_si256
(
c2
[
2110
],
_mm256_xor_si256
(
c2
[
2010
],
_mm256_xor_si256
(
c2
[
321
],
_mm256_xor_si256
(
c2
[
1424
],
_mm256_xor_si256
(
c2
[
1821
],
_mm256_xor_si256
(
c2
[
3024
],
_mm256_xor_si256
(
c2
[
2924
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
331
],
_mm256_xor_si256
(
c2
[
1434
],
_mm256_xor_si256
(
c2
[
3134
],
_mm256_xor_si256
(
c2
[
1033
],
_mm256_xor_si256
(
c2
[
634
],
_mm256_xor_si256
(
c2
[
1732
],
_mm256_xor_si256
(
c2
[
341
],
_mm256_xor_si256
(
c2
[
1444
],
_mm256_xor_si256
(
c2
[
1241
],
_mm256_xor_si256
(
c2
[
2344
],
_mm256_xor_si256
(
c2
[
944
],
_mm256_xor_si256
(
c2
[
2142
],
_mm256_xor_si256
(
c2
[
2042
],
_mm256_xor_si256
(
c2
[
351
],
_mm256_xor_si256
(
c2
[
1454
],
_mm256_xor_si256
(
c2
[
2150
],
_mm256_xor_si256
(
c2
[
154
],
_mm256_xor_si256
(
c2
[
54
],
_mm256_xor_si256
(
c2
[
361
],
_mm256_xor_si256
(
c2
[
1464
],
_mm256_xor_si256
(
c2
[
2763
],
_mm256_xor_si256
(
c2
[
662
],
_mm256_xor_si256
(
c2
[
1561
],
_mm256_xor_si256
(
c2
[
2764
],
_mm256_xor_si256
(
c2
[
2664
],
_mm256_xor_si256
(
c2
[
371
],
_mm256_xor_si256
(
c2
[
1474
],
_mm256_xor_si256
(
c2
[
2872
],
_mm256_xor_si256
(
c2
[
871
],
_mm256_xor_si256
(
c2
[
771
],
_mm256_xor_si256
(
c2
[
381
],
_mm256_xor_si256
(
c2
[
1484
],
_mm256_xor_si256
(
c2
[
1584
],
_mm256_xor_si256
(
c2
[
2682
],
_mm256_xor_si256
(
c2
[
2482
],
_mm256_xor_si256
(
c2
[
481
],
_mm256_xor_si256
(
c2
[
381
],
_mm256_xor_si256
(
c2
[
391
],
_mm256_xor_si256
(
c2
[
1494
],
_mm256_xor_si256
(
c2
[
2692
],
_mm256_xor_si256
(
c2
[
591
],
_mm256_xor_si256
(
c2
[
1792
],
_mm256_xor_si256
(
c2
[
2990
],
c2
[
2890
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
205
]
=
_mm256_xor_si256
(
c2
[
2301
],
_mm256_xor_si256
(
c2
[
2201
],
_mm256_xor_si256
(
c2
[
3100
],
_mm256_xor_si256
(
c2
[
1002
],
_mm256_xor_si256
(
c2
[
2311
],
_mm256_xor_si256
(
c2
[
2211
],
_mm256_xor_si256
(
c2
[
2014
],
_mm256_xor_si256
(
c2
[
2812
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
2321
],
_mm256_xor_si256
(
c2
[
2221
],
_mm256_xor_si256
(
c2
[
522
],
_mm256_xor_si256
(
c2
[
2331
],
_mm256_xor_si256
(
c2
[
2231
],
_mm256_xor_si256
(
c2
[
1830
],
_mm256_xor_si256
(
c2
[
2534
],
_mm256_xor_si256
(
c2
[
2241
],
_mm256_xor_si256
(
c2
[
3141
],
_mm256_xor_si256
(
c2
[
2844
],
_mm256_xor_si256
(
c2
[
2251
],
_mm256_xor_si256
(
c2
[
851
],
_mm256_xor_si256
(
c2
[
250
],
_mm256_xor_si256
(
c2
[
2361
],
_mm256_xor_si256
(
c2
[
2261
],
_mm256_xor_si256
(
c2
[
1464
],
_mm256_xor_si256
(
c2
[
262
],
_mm256_xor_si256
(
c2
[
2271
],
_mm256_xor_si256
(
c2
[
1573
],
_mm256_xor_si256
(
c2
[
2281
],
_mm256_xor_si256
(
c2
[
280
],
_mm256_xor_si256
(
c2
[
1183
],
_mm256_xor_si256
(
c2
[
2391
],
_mm256_xor_si256
(
c2
[
2291
],
_mm256_xor_si256
(
c2
[
1393
],
c2
[
493
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc16_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=16, byte encoding
static
inline
void
ldpc_BG2_Zc16_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m128i
*
csimd
=
(
__m128i
*
)
c
,
*
dsimd
=
(
__m128i
*
)
d
;
__m128i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
1
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
112
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
66
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
152
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
164
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
94
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
196
],
_mm_xor_si128
(
c2
[
196
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
150
],
c2
[
198
]))))))))))))))))))))))))));
//row: 1
d2
[
1
]
=
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
148
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
112
],
_mm_xor_si128
(
c2
[
126
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
66
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
152
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
164
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
94
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
196
],
_mm_xor_si128
(
c2
[
196
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
174
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
150
],
c2
[
198
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
2
]
=
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
148
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
112
],
_mm_xor_si128
(
c2
[
126
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
78
],
_mm_xor_si128
(
c2
[
66
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
164
],
_mm_xor_si128
(
c2
[
152
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
164
],
_mm_xor_si128
(
c2
[
166
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
94
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
158
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
196
],
_mm_xor_si128
(
c2
[
196
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
174
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
150
],
c2
[
198
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
3
]
=
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
98
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
124
],
_mm_xor_si128
(
c2
[
112
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
66
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
152
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
176
],
_mm_xor_si128
(
c2
[
164
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
106
],
_mm_xor_si128
(
c2
[
94
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
196
],
_mm_xor_si128
(
c2
[
196
],
_mm_xor_si128
(
c2
[
40
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
18
],
c2
[
198
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
4
]
=
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
98
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
40
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
4
],
_mm_xor_si128
(
c2
[
18
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
30
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
128
],
_mm_xor_si128
(
c2
[
56
],
_mm_xor_si128
(
c2
[
46
],
_mm_xor_si128
(
c2
[
178
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
38
],
_mm_xor_si128
(
c2
[
158
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
112
],
_mm_xor_si128
(
c2
[
66
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
42
],
c2
[
90
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
5
]
=
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
98
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
40
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
4
],
_mm_xor_si128
(
c2
[
18
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
30
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
128
],
_mm_xor_si128
(
c2
[
56
],
_mm_xor_si128
(
c2
[
46
],
_mm_xor_si128
(
c2
[
178
],
_mm_xor_si128
(
c2
[
34
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
38
],
_mm_xor_si128
(
c2
[
158
],
_mm_xor_si128
(
c2
[
194
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
112
],
_mm_xor_si128
(
c2
[
66
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
42
],
c2
[
90
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
6
]
=
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
38
],
_mm_xor_si128
(
c2
[
26
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
124
],
_mm_xor_si128
(
c2
[
112
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
102
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
128
],
_mm_xor_si128
(
c2
[
20
],
_mm_xor_si128
(
c2
[
140
],
_mm_xor_si128
(
c2
[
130
],
_mm_xor_si128
(
c2
[
70
],
_mm_xor_si128
(
c2
[
58
],
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
192
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
172
],
_mm_xor_si128
(
c2
[
172
],
_mm_xor_si128
(
c2
[
196
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
126
],
_mm_xor_si128
(
c2
[
174
],
c2
[
162
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
7
]
=
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
120
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
98
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
98
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
184
],
_mm_xor_si128
(
c2
[
172
],
_mm_xor_si128
(
c2
[
184
],
_mm_xor_si128
(
c2
[
172
],
_mm_xor_si128
(
c2
[
148
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
102
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
174
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
188
],
_mm_xor_si128
(
c2
[
8
],
_mm_xor_si128
(
c2
[
80
],
_mm_xor_si128
(
c2
[
92
],
_mm_xor_si128
(
c2
[
32
],
_mm_xor_si128
(
c2
[
8
],
_mm_xor_si128
(
c2
[
20
],
_mm_xor_si128
(
c2
[
190
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
130
],
_mm_xor_si128
(
c2
[
142
],
_mm_xor_si128
(
c2
[
46
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
192
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
194
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
158
],
_mm_xor_si128
(
c2
[
40
],
_mm_xor_si128
(
c2
[
52
],
_mm_xor_si128
(
c2
[
40
],
_mm_xor_si128
(
c2
[
52
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
64
],
_mm_xor_si128
(
c2
[
76
],
_mm_xor_si128
(
c2
[
18
],
_mm_xor_si128
(
c2
[
198
],
_mm_xor_si128
(
c2
[
18
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
198
],
_mm_xor_si128
(
c2
[
66
],
_mm_xor_si128
(
c2
[
42
],
c2
[
54
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
8
]
=
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
158
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
184
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
18
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
32
],
_mm_xor_si128
(
c2
[
116
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
46
],
_mm_xor_si128
(
c2
[
34
],
_mm_xor_si128
(
c2
[
166
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
38
],
_mm_xor_si128
(
c2
[
26
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
76
],
_mm_xor_si128
(
c2
[
76
],
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
30
],
c2
[
78
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
9
]
=
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
98
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
40
],
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
76
],
_mm_xor_si128
(
c2
[
4
],
_mm_xor_si128
(
c2
[
18
],
_mm_xor_si128
(
c2
[
78
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
30
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
102
],
_mm_xor_si128
(
c2
[
30
],
_mm_xor_si128
(
c2
[
116
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
8
],
_mm_xor_si128
(
c2
[
128
],
_mm_xor_si128
(
c2
[
128
],
_mm_xor_si128
(
c2
[
56
],
_mm_xor_si128
(
c2
[
118
],
_mm_xor_si128
(
c2
[
46
],
_mm_xor_si128
(
c2
[
58
],
_mm_xor_si128
(
c2
[
178
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
120
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
38
],
_mm_xor_si128
(
c2
[
38
],
_mm_xor_si128
(
c2
[
158
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
184
],
_mm_xor_si128
(
c2
[
112
],
_mm_xor_si128
(
c2
[
172
],
_mm_xor_si128
(
c2
[
66
],
_mm_xor_si128
(
c2
[
126
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
162
],
c2
[
90
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
10
]
=
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
12
],
c2
[
74
])));
//row: 11
d2
[
11
]
=
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
2
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
40
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
18
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
56
],
_mm_xor_si128
(
c2
[
140
],
_mm_xor_si128
(
c2
[
80
],
_mm_xor_si128
(
c2
[
68
],
_mm_xor_si128
(
c2
[
58
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
190
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
120
],
_mm_xor_si128
(
c2
[
120
],
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
158
],
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
124
],
_mm_xor_si128
(
c2
[
66
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
102
],
c2
[
42
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
12
]
=
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
38
],
_mm_xor_si128
(
c2
[
26
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
124
],
_mm_xor_si128
(
c2
[
112
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
102
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
128
],
_mm_xor_si128
(
c2
[
20
],
_mm_xor_si128
(
c2
[
140
],
_mm_xor_si128
(
c2
[
130
],
_mm_xor_si128
(
c2
[
70
],
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
192
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
172
],
_mm_xor_si128
(
c2
[
172
],
_mm_xor_si128
(
c2
[
196
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
126
],
c2
[
174
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
13
]
=
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
26
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
26
],
_mm_xor_si128
(
c2
[
112
],
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
128
],
_mm_xor_si128
(
c2
[
20
],
_mm_xor_si128
(
c2
[
152
],
_mm_xor_si128
(
c2
[
140
],
_mm_xor_si128
(
c2
[
130
],
_mm_xor_si128
(
c2
[
82
],
_mm_xor_si128
(
c2
[
70
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
192
],
_mm_xor_si128
(
c2
[
192
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
172
],
_mm_xor_si128
(
c2
[
172
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
196
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
126
],
_mm_xor_si128
(
c2
[
186
],
c2
[
174
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
14
]
=
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
98
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
2
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
38
],
_mm_xor_si128
(
c2
[
184
],
_mm_xor_si128
(
c2
[
172
],
_mm_xor_si128
(
c2
[
40
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
148
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
18
],
_mm_xor_si128
(
c2
[
102
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
174
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
188
],
_mm_xor_si128
(
c2
[
56
],
_mm_xor_si128
(
c2
[
80
],
_mm_xor_si128
(
c2
[
140
],
_mm_xor_si128
(
c2
[
80
],
_mm_xor_si128
(
c2
[
8
],
_mm_xor_si128
(
c2
[
68
],
_mm_xor_si128
(
c2
[
190
],
_mm_xor_si128
(
c2
[
58
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
130
],
_mm_xor_si128
(
c2
[
190
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
192
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
120
],
_mm_xor_si128
(
c2
[
120
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
40
],
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
40
],
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
64
],
_mm_xor_si128
(
c2
[
124
],
_mm_xor_si128
(
c2
[
18
],
_mm_xor_si128
(
c2
[
198
],
_mm_xor_si128
(
c2
[
66
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
42
],
c2
[
102
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
15
]
=
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
38
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
2
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
124
],
_mm_xor_si128
(
c2
[
4
],
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
172
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
102
],
_mm_xor_si128
(
c2
[
174
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
126
],
_mm_xor_si128
(
c2
[
126
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
140
],
_mm_xor_si128
(
c2
[
20
],
_mm_xor_si128
(
c2
[
32
],
_mm_xor_si128
(
c2
[
104
],
_mm_xor_si128
(
c2
[
152
],
_mm_xor_si128
(
c2
[
32
],
_mm_xor_si128
(
c2
[
142
],
_mm_xor_si128
(
c2
[
22
],
_mm_xor_si128
(
c2
[
82
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
192
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
184
],
_mm_xor_si128
(
c2
[
64
],
_mm_xor_si128
(
c2
[
184
],
_mm_xor_si128
(
c2
[
64
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
30
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
18
],
_mm_xor_si128
(
c2
[
186
],
c2
[
66
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
16
]
=
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
120
],
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
158
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
38
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
52
],
_mm_xor_si128
(
c2
[
172
],
_mm_xor_si128
(
c2
[
40
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
30
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
18
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
102
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
188
],
_mm_xor_si128
(
c2
[
56
],
_mm_xor_si128
(
c2
[
176
],
_mm_xor_si128
(
c2
[
140
],
_mm_xor_si128
(
c2
[
68
],
_mm_xor_si128
(
c2
[
68
],
_mm_xor_si128
(
c2
[
188
],
_mm_xor_si128
(
c2
[
190
],
_mm_xor_si128
(
c2
[
58
],
_mm_xor_si128
(
c2
[
178
],
_mm_xor_si128
(
c2
[
190
],
_mm_xor_si128
(
c2
[
118
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
192
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
120
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
98
],
_mm_xor_si128
(
c2
[
40
],
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
124
],
_mm_xor_si128
(
c2
[
52
],
_mm_xor_si128
(
c2
[
78
],
_mm_xor_si128
(
c2
[
198
],
_mm_xor_si128
(
c2
[
66
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
174
],
_mm_xor_si128
(
c2
[
102
],
_mm_xor_si128
(
c2
[
30
],
c2
[
186
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
17
]
=
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
120
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
38
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
172
],
_mm_xor_si128
(
c2
[
148
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
112
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
126
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
78
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
66
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
164
],
_mm_xor_si128
(
c2
[
176
],
_mm_xor_si128
(
c2
[
152
],
_mm_xor_si128
(
c2
[
68
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
188
],
_mm_xor_si128
(
c2
[
164
],
_mm_xor_si128
(
c2
[
166
],
_mm_xor_si128
(
c2
[
178
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
118
],
_mm_xor_si128
(
c2
[
94
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
192
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
158
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
98
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
196
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
196
],
_mm_xor_si128
(
c2
[
52
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
198
],
_mm_xor_si128
(
c2
[
174
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
174
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
30
],
c2
[
198
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
18
]
=
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
36
],
c2
[
38
]));
//row: 19
d2
[
19
]
=
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
158
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
2
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
52
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
30
],
_mm_xor_si128
(
c2
[
174
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
68
],
_mm_xor_si128
(
c2
[
152
],
_mm_xor_si128
(
c2
[
80
],
_mm_xor_si128
(
c2
[
70
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
120
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
112
],
_mm_xor_si128
(
c2
[
112
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
78
],
_mm_xor_si128
(
c2
[
66
],
c2
[
114
]))))))))))))))))))))))))))));
//row: 20
d2
[
20
]
=
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
26
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
112
],
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
76
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
78
],
_mm_xor_si128
(
c2
[
30
],
_mm_xor_si128
(
c2
[
102
],
_mm_xor_si128
(
c2
[
116
],
_mm_xor_si128
(
c2
[
8
],
_mm_xor_si128
(
c2
[
128
],
_mm_xor_si128
(
c2
[
116
],
_mm_xor_si128
(
c2
[
118
],
_mm_xor_si128
(
c2
[
58
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
120
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
38
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
184
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
126
],
_mm_xor_si128
(
c2
[
114
],
c2
[
162
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
21
]
=
_mm_xor_si128
(
c2
[
120
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
38
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
148
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
176
],
_mm_xor_si128
(
c2
[
68
],
_mm_xor_si128
(
c2
[
8
],
_mm_xor_si128
(
c2
[
188
],
_mm_xor_si128
(
c2
[
178
],
_mm_xor_si128
(
c2
[
130
],
_mm_xor_si128
(
c2
[
118
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
98
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
64
],
_mm_xor_si128
(
c2
[
52
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
174
],
_mm_xor_si128
(
c2
[
42
],
c2
[
30
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
22
]
=
_mm_xor_si128
(
c2
[
170
],
c2
[
184
]);
//row: 23
d2
[
23
]
=
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
138
],
c2
[
178
]));
//row: 24
d2
[
24
]
=
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
136
],
c2
[
114
]));
//row: 25
d2
[
25
]
=
_mm_xor_si128
(
c2
[
48
],
c2
[
154
]);
//row: 26
d2
[
26
]
=
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
120
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
26
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
148
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
64
],
_mm_xor_si128
(
c2
[
52
],
_mm_xor_si128
(
c2
[
112
],
_mm_xor_si128
(
c2
[
40
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
126
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
78
],
_mm_xor_si128
(
c2
[
66
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
66
],
_mm_xor_si128
(
c2
[
164
],
_mm_xor_si128
(
c2
[
152
],
_mm_xor_si128
(
c2
[
80
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
164
],
_mm_xor_si128
(
c2
[
104
],
_mm_xor_si128
(
c2
[
164
],
_mm_xor_si128
(
c2
[
92
],
_mm_xor_si128
(
c2
[
166
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
82
],
_mm_xor_si128
(
c2
[
34
],
_mm_xor_si128
(
c2
[
94
],
_mm_xor_si128
(
c2
[
22
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
158
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
194
],
_mm_xor_si128
(
c2
[
194
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
196
],
_mm_xor_si128
(
c2
[
124
],
_mm_xor_si128
(
c2
[
196
],
_mm_xor_si128
(
c2
[
124
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
148
],
_mm_xor_si128
(
c2
[
174
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
78
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
198
],
c2
[
126
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
27
]
=
_mm_xor_si128
(
c2
[
96
],
c2
[
96
]);
//row: 28
d2
[
28
]
=
_mm_xor_si128
(
c2
[
26
],
_mm_xor_si128
(
c2
[
64
],
c2
[
94
]));
//row: 29
d2
[
29
]
=
_mm_xor_si128
(
c2
[
24
],
c2
[
152
]);
//row: 30
d2
[
30
]
=
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
122
],
c2
[
66
])));
//row: 31
d2
[
31
]
=
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
26
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
98
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
148
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
124
],
_mm_xor_si128
(
c2
[
126
],
_mm_xor_si128
(
c2
[
78
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
164
],
_mm_xor_si128
(
c2
[
56
],
_mm_xor_si128
(
c2
[
188
],
_mm_xor_si128
(
c2
[
176
],
_mm_xor_si128
(
c2
[
166
],
_mm_xor_si128
(
c2
[
118
],
_mm_xor_si128
(
c2
[
106
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
158
],
_mm_xor_si128
(
c2
[
98
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
52
],
_mm_xor_si128
(
c2
[
40
],
_mm_xor_si128
(
c2
[
174
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
30
],
c2
[
18
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
32
]
=
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
158
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
184
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
18
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
32
],
_mm_xor_si128
(
c2
[
116
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
46
],
_mm_xor_si128
(
c2
[
34
],
_mm_xor_si128
(
c2
[
166
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
38
],
_mm_xor_si128
(
c2
[
26
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
76
],
_mm_xor_si128
(
c2
[
76
],
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
30
],
c2
[
78
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
33
]
=
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
26
],
_mm_xor_si128
(
c2
[
76
],
_mm_xor_si128
(
c2
[
52
],
_mm_xor_si128
(
c2
[
52
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
78
],
_mm_xor_si128
(
c2
[
92
],
_mm_xor_si128
(
c2
[
176
],
_mm_xor_si128
(
c2
[
104
],
_mm_xor_si128
(
c2
[
94
],
_mm_xor_si128
(
c2
[
34
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
102
],
_mm_xor_si128
(
c2
[
90
],
c2
[
138
]))))))))))))))))))))))))))));
//row: 34
d2
[
34
]
=
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
120
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
98
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
4
],
_mm_xor_si128
(
c2
[
184
],
_mm_xor_si128
(
c2
[
172
],
_mm_xor_si128
(
c2
[
172
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
174
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
126
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
32
],
_mm_xor_si128
(
c2
[
20
],
_mm_xor_si128
(
c2
[
8
],
_mm_xor_si128
(
c2
[
104
],
_mm_xor_si128
(
c2
[
92
],
_mm_xor_si128
(
c2
[
32
],
_mm_xor_si128
(
c2
[
32
],
_mm_xor_si128
(
c2
[
20
],
_mm_xor_si128
(
c2
[
34
],
_mm_xor_si128
(
c2
[
22
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
142
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
26
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
194
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
76
],
_mm_xor_si128
(
c2
[
64
],
_mm_xor_si128
(
c2
[
52
],
_mm_xor_si128
(
c2
[
64
],
_mm_xor_si128
(
c2
[
52
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
76
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
30
],
_mm_xor_si128
(
c2
[
18
],
_mm_xor_si128
(
c2
[
30
],
_mm_xor_si128
(
c2
[
18
],
_mm_xor_si128
(
c2
[
198
],
_mm_xor_si128
(
c2
[
66
],
_mm_xor_si128
(
c2
[
66
],
c2
[
54
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
35
]
=
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
38
],
_mm_xor_si128
(
c2
[
2
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
124
],
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
102
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
126
],
_mm_xor_si128
(
c2
[
140
],
_mm_xor_si128
(
c2
[
32
],
_mm_xor_si128
(
c2
[
152
],
_mm_xor_si128
(
c2
[
142
],
_mm_xor_si128
(
c2
[
82
],
_mm_xor_si128
(
c2
[
106
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
192
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
184
],
_mm_xor_si128
(
c2
[
184
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
138
],
c2
[
186
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
36
]
=
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
76
],
c2
[
134
]));
//row: 37
d2
[
37
]
=
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
98
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
26
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
76
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
52
],
_mm_xor_si128
(
c2
[
4
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
78
],
_mm_xor_si128
(
c2
[
30
],
_mm_xor_si128
(
c2
[
92
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
176
],
_mm_xor_si128
(
c2
[
128
],
_mm_xor_si128
(
c2
[
68
],
_mm_xor_si128
(
c2
[
104
],
_mm_xor_si128
(
c2
[
56
],
_mm_xor_si128
(
c2
[
94
],
_mm_xor_si128
(
c2
[
46
],
_mm_xor_si128
(
c2
[
190
],
_mm_xor_si128
(
c2
[
34
],
_mm_xor_si128
(
c2
[
178
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
38
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
158
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
124
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
112
],
_mm_xor_si128
(
c2
[
102
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
102
],
_mm_xor_si128
(
c2
[
138
],
c2
[
90
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
38
]
=
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
158
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
184
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
18
],
_mm_xor_si128
(
c2
[
32
],
_mm_xor_si128
(
c2
[
116
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
34
],
_mm_xor_si128
(
c2
[
166
],
_mm_xor_si128
(
c2
[
34
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
26
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
76
],
_mm_xor_si128
(
c2
[
76
],
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
30
],
c2
[
78
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
39
]
=
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
120
],
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
38
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
172
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
102
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
188
],
_mm_xor_si128
(
c2
[
176
],
_mm_xor_si128
(
c2
[
68
],
_mm_xor_si128
(
c2
[
188
],
_mm_xor_si128
(
c2
[
190
],
_mm_xor_si128
(
c2
[
178
],
_mm_xor_si128
(
c2
[
118
],
_mm_xor_si128
(
c2
[
192
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
98
],
_mm_xor_si128
(
c2
[
158
],
_mm_xor_si128
(
c2
[
40
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
52
],
_mm_xor_si128
(
c2
[
198
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
174
],
c2
[
30
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
40
]
=
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
2
],
_mm_xor_si128
(
c2
[
26
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
76
],
_mm_xor_si128
(
c2
[
40
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
52
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
4
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
18
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
78
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
92
],
_mm_xor_si128
(
c2
[
56
],
_mm_xor_si128
(
c2
[
176
],
_mm_xor_si128
(
c2
[
140
],
_mm_xor_si128
(
c2
[
80
],
_mm_xor_si128
(
c2
[
104
],
_mm_xor_si128
(
c2
[
68
],
_mm_xor_si128
(
c2
[
94
],
_mm_xor_si128
(
c2
[
58
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
34
],
_mm_xor_si128
(
c2
[
190
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
120
],
_mm_xor_si128
(
c2
[
120
],
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
124
],
_mm_xor_si128
(
c2
[
102
],
_mm_xor_si128
(
c2
[
66
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
138
],
c2
[
102
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
41
]
=
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
158
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
16
],
_mm_xor_si128
(
c2
[
184
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
18
],
_mm_xor_si128
(
c2
[
32
],
_mm_xor_si128
(
c2
[
116
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
34
],
_mm_xor_si128
(
c2
[
166
],
_mm_xor_si128
(
c2
[
70
],
_mm_xor_si128
(
c2
[
48
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
84
],
_mm_xor_si128
(
c2
[
26
],
_mm_xor_si128
(
c2
[
146
],
_mm_xor_si128
(
c2
[
76
],
_mm_xor_si128
(
c2
[
76
],
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
30
],
c2
[
78
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc176_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=176, byte encoding
static
inline
void
ldpc_BG2_Zc176_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m128i
*
csimd
=
(
__m128i
*
)
c
,
*
dsimd
=
(
__m128i
*
)
d
;
__m128i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
11
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm_xor_si128
(
c2
[
2429
],
_mm_xor_si128
(
c2
[
1
],
_mm_xor_si128
(
c2
[
226
],
_mm_xor_si128
(
c2
[
3110
],
_mm_xor_si128
(
c2
[
1572
],
_mm_xor_si128
(
c2
[
905
],
_mm_xor_si128
(
c2
[
2904
],
_mm_xor_si128
(
c2
[
2914
],
_mm_xor_si128
(
c2
[
506
],
_mm_xor_si128
(
c2
[
70
],
_mm_xor_si128
(
c2
[
2272
],
_mm_xor_si128
(
c2
[
3171
],
_mm_xor_si128
(
c2
[
313
],
_mm_xor_si128
(
c2
[
2958
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
3197
],
_mm_xor_si128
(
c2
[
1674
],
_mm_xor_si128
(
c2
[
1455
],
_mm_xor_si128
(
c2
[
133
],
_mm_xor_si128
(
c2
[
1036
],
_mm_xor_si128
(
c2
[
1919
],
_mm_xor_si128
(
c2
[
2386
],
_mm_xor_si128
(
c2
[
3044
],
_mm_xor_si128
(
c2
[
177
],
_mm_xor_si128
(
c2
[
2405
],
_mm_xor_si128
(
c2
[
1086
],
c2
[
1964
]))))))))))))))))))))))))));
//row: 1
d2
[
11
]
=
_mm_xor_si128
(
c2
[
2649
],
_mm_xor_si128
(
c2
[
2429
],
_mm_xor_si128
(
c2
[
1
],
_mm_xor_si128
(
c2
[
226
],
_mm_xor_si128
(
c2
[
3330
],
_mm_xor_si128
(
c2
[
3110
],
_mm_xor_si128
(
c2
[
1572
],
_mm_xor_si128
(
c2
[
905
],
_mm_xor_si128
(
c2
[
3124
],
_mm_xor_si128
(
c2
[
2904
],
_mm_xor_si128
(
c2
[
2914
],
_mm_xor_si128
(
c2
[
726
],
_mm_xor_si128
(
c2
[
506
],
_mm_xor_si128
(
c2
[
70
],
_mm_xor_si128
(
c2
[
2272
],
_mm_xor_si128
(
c2
[
3171
],
_mm_xor_si128
(
c2
[
313
],
_mm_xor_si128
(
c2
[
2958
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
3197
],
_mm_xor_si128
(
c2
[
1894
],
_mm_xor_si128
(
c2
[
1674
],
_mm_xor_si128
(
c2
[
1455
],
_mm_xor_si128
(
c2
[
133
],
_mm_xor_si128
(
c2
[
1036
],
_mm_xor_si128
(
c2
[
1919
],
_mm_xor_si128
(
c2
[
2386
],
_mm_xor_si128
(
c2
[
3044
],
_mm_xor_si128
(
c2
[
177
],
_mm_xor_si128
(
c2
[
2625
],
_mm_xor_si128
(
c2
[
2405
],
_mm_xor_si128
(
c2
[
1086
],
c2
[
1964
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
22
]
=
_mm_xor_si128
(
c2
[
2649
],
_mm_xor_si128
(
c2
[
2429
],
_mm_xor_si128
(
c2
[
221
],
_mm_xor_si128
(
c2
[
1
],
_mm_xor_si128
(
c2
[
226
],
_mm_xor_si128
(
c2
[
3330
],
_mm_xor_si128
(
c2
[
3110
],
_mm_xor_si128
(
c2
[
1572
],
_mm_xor_si128
(
c2
[
905
],
_mm_xor_si128
(
c2
[
3124
],
_mm_xor_si128
(
c2
[
2904
],
_mm_xor_si128
(
c2
[
2914
],
_mm_xor_si128
(
c2
[
726
],
_mm_xor_si128
(
c2
[
506
],
_mm_xor_si128
(
c2
[
290
],
_mm_xor_si128
(
c2
[
70
],
_mm_xor_si128
(
c2
[
2272
],
_mm_xor_si128
(
c2
[
3391
],
_mm_xor_si128
(
c2
[
3171
],
_mm_xor_si128
(
c2
[
313
],
_mm_xor_si128
(
c2
[
2958
],
_mm_xor_si128
(
c2
[
330
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
3197
],
_mm_xor_si128
(
c2
[
1894
],
_mm_xor_si128
(
c2
[
1674
],
_mm_xor_si128
(
c2
[
1675
],
_mm_xor_si128
(
c2
[
1455
],
_mm_xor_si128
(
c2
[
133
],
_mm_xor_si128
(
c2
[
1256
],
_mm_xor_si128
(
c2
[
1036
],
_mm_xor_si128
(
c2
[
1919
],
_mm_xor_si128
(
c2
[
2606
],
_mm_xor_si128
(
c2
[
2386
],
_mm_xor_si128
(
c2
[
3044
],
_mm_xor_si128
(
c2
[
177
],
_mm_xor_si128
(
c2
[
2625
],
_mm_xor_si128
(
c2
[
2405
],
_mm_xor_si128
(
c2
[
1306
],
_mm_xor_si128
(
c2
[
1086
],
c2
[
1964
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
33
]
=
_mm_xor_si128
(
c2
[
2429
],
_mm_xor_si128
(
c2
[
1
],
_mm_xor_si128
(
c2
[
226
],
_mm_xor_si128
(
c2
[
3110
],
_mm_xor_si128
(
c2
[
1572
],
_mm_xor_si128
(
c2
[
1125
],
_mm_xor_si128
(
c2
[
905
],
_mm_xor_si128
(
c2
[
2904
],
_mm_xor_si128
(
c2
[
3134
],
_mm_xor_si128
(
c2
[
2914
],
_mm_xor_si128
(
c2
[
506
],
_mm_xor_si128
(
c2
[
70
],
_mm_xor_si128
(
c2
[
2272
],
_mm_xor_si128
(
c2
[
3171
],
_mm_xor_si128
(
c2
[
313
],
_mm_xor_si128
(
c2
[
3178
],
_mm_xor_si128
(
c2
[
2958
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
3417
],
_mm_xor_si128
(
c2
[
3197
],
_mm_xor_si128
(
c2
[
1674
],
_mm_xor_si128
(
c2
[
1455
],
_mm_xor_si128
(
c2
[
353
],
_mm_xor_si128
(
c2
[
133
],
_mm_xor_si128
(
c2
[
1036
],
_mm_xor_si128
(
c2
[
2139
],
_mm_xor_si128
(
c2
[
1919
],
_mm_xor_si128
(
c2
[
2386
],
_mm_xor_si128
(
c2
[
3044
],
_mm_xor_si128
(
c2
[
397
],
_mm_xor_si128
(
c2
[
177
],
_mm_xor_si128
(
c2
[
2405
],
_mm_xor_si128
(
c2
[
1086
],
_mm_xor_si128
(
c2
[
2184
],
c2
[
1964
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
44
]
=
_mm_xor_si128
(
c2
[
3303
],
_mm_xor_si128
(
c2
[
3083
],
_mm_xor_si128
(
c2
[
666
],
_mm_xor_si128
(
c2
[
880
],
_mm_xor_si128
(
c2
[
1325
],
_mm_xor_si128
(
c2
[
465
],
_mm_xor_si128
(
c2
[
245
],
_mm_xor_si128
(
c2
[
2226
],
_mm_xor_si128
(
c2
[
1570
],
_mm_xor_si128
(
c2
[
686
],
_mm_xor_si128
(
c2
[
270
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
49
],
_mm_xor_si128
(
c2
[
1391
],
_mm_xor_si128
(
c2
[
1171
],
_mm_xor_si128
(
c2
[
735
],
_mm_xor_si128
(
c2
[
2926
],
_mm_xor_si128
(
c2
[
317
],
_mm_xor_si128
(
c2
[
978
],
_mm_xor_si128
(
c2
[
93
],
_mm_xor_si128
(
c2
[
775
],
_mm_xor_si128
(
c2
[
332
],
_mm_xor_si128
(
c2
[
2559
],
_mm_xor_si128
(
c2
[
2339
],
_mm_xor_si128
(
c2
[
2120
],
_mm_xor_si128
(
c2
[
798
],
_mm_xor_si128
(
c2
[
1701
],
_mm_xor_si128
(
c2
[
2584
],
_mm_xor_si128
(
c2
[
3040
],
_mm_xor_si128
(
c2
[
179
],
_mm_xor_si128
(
c2
[
842
],
_mm_xor_si128
(
c2
[
3279
],
_mm_xor_si128
(
c2
[
3059
],
_mm_xor_si128
(
c2
[
1740
],
c2
[
2618
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
55
]
=
_mm_xor_si128
(
c2
[
1762
],
_mm_xor_si128
(
c2
[
1542
],
_mm_xor_si128
(
c2
[
2644
],
_mm_xor_si128
(
c2
[
2869
],
_mm_xor_si128
(
c2
[
3304
],
_mm_xor_si128
(
c2
[
2443
],
_mm_xor_si128
(
c2
[
2223
],
_mm_xor_si128
(
c2
[
685
],
_mm_xor_si128
(
c2
[
29
],
_mm_xor_si128
(
c2
[
907
],
_mm_xor_si128
(
c2
[
2248
],
_mm_xor_si128
(
c2
[
2028
],
_mm_xor_si128
(
c2
[
2027
],
_mm_xor_si128
(
c2
[
3369
],
_mm_xor_si128
(
c2
[
3149
],
_mm_xor_si128
(
c2
[
2713
],
_mm_xor_si128
(
c2
[
1396
],
_mm_xor_si128
(
c2
[
2295
],
_mm_xor_si128
(
c2
[
2956
],
_mm_xor_si128
(
c2
[
2071
],
_mm_xor_si128
(
c2
[
2753
],
_mm_xor_si128
(
c2
[
2310
],
_mm_xor_si128
(
c2
[
772
],
_mm_xor_si128
(
c2
[
1018
],
_mm_xor_si128
(
c2
[
798
],
_mm_xor_si128
(
c2
[
579
],
_mm_xor_si128
(
c2
[
2776
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
1043
],
_mm_xor_si128
(
c2
[
1700
],
_mm_xor_si128
(
c2
[
1499
],
_mm_xor_si128
(
c2
[
2157
],
_mm_xor_si128
(
c2
[
2820
],
_mm_xor_si128
(
c2
[
1738
],
_mm_xor_si128
(
c2
[
1518
],
_mm_xor_si128
(
c2
[
199
],
c2
[
1088
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
66
]
=
_mm_xor_si128
(
c2
[
1980
],
_mm_xor_si128
(
c2
[
1760
],
_mm_xor_si128
(
c2
[
2862
],
_mm_xor_si128
(
c2
[
3087
],
_mm_xor_si128
(
c2
[
3302
],
_mm_xor_si128
(
c2
[
2672
],
_mm_xor_si128
(
c2
[
2452
],
_mm_xor_si128
(
c2
[
903
],
_mm_xor_si128
(
c2
[
247
],
_mm_xor_si128
(
c2
[
2466
],
_mm_xor_si128
(
c2
[
2246
],
_mm_xor_si128
(
c2
[
2245
],
_mm_xor_si128
(
c2
[
68
],
_mm_xor_si128
(
c2
[
3367
],
_mm_xor_si128
(
c2
[
2931
],
_mm_xor_si128
(
c2
[
1614
],
_mm_xor_si128
(
c2
[
2513
],
_mm_xor_si128
(
c2
[
3174
],
_mm_xor_si128
(
c2
[
2289
],
_mm_xor_si128
(
c2
[
2971
],
_mm_xor_si128
(
c2
[
2539
],
_mm_xor_si128
(
c2
[
2319
],
_mm_xor_si128
(
c2
[
1236
],
_mm_xor_si128
(
c2
[
1016
],
_mm_xor_si128
(
c2
[
797
],
_mm_xor_si128
(
c2
[
2994
],
_mm_xor_si128
(
c2
[
378
],
_mm_xor_si128
(
c2
[
1261
],
_mm_xor_si128
(
c2
[
2354
],
_mm_xor_si128
(
c2
[
1717
],
_mm_xor_si128
(
c2
[
2386
],
_mm_xor_si128
(
c2
[
3038
],
_mm_xor_si128
(
c2
[
1967
],
_mm_xor_si128
(
c2
[
1747
],
_mm_xor_si128
(
c2
[
428
],
_mm_xor_si128
(
c2
[
1306
],
c2
[
2627
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
77
]
=
_mm_xor_si128
(
c2
[
2421
],
_mm_xor_si128
(
c2
[
2201
],
_mm_xor_si128
(
c2
[
442
],
_mm_xor_si128
(
c2
[
3303
],
_mm_xor_si128
(
c2
[
1544
],
_mm_xor_si128
(
c2
[
9
],
_mm_xor_si128
(
c2
[
1769
],
_mm_xor_si128
(
c2
[
3102
],
_mm_xor_si128
(
c2
[
2882
],
_mm_xor_si128
(
c2
[
1123
],
_mm_xor_si128
(
c2
[
1344
],
_mm_xor_si128
(
c2
[
3104
],
_mm_xor_si128
(
c2
[
688
],
_mm_xor_si128
(
c2
[
2668
],
_mm_xor_si128
(
c2
[
2448
],
_mm_xor_si128
(
c2
[
25
],
_mm_xor_si128
(
c2
[
2907
],
_mm_xor_si128
(
c2
[
2687
],
_mm_xor_si128
(
c2
[
928
],
_mm_xor_si128
(
c2
[
2686
],
_mm_xor_si128
(
c2
[
1147
],
_mm_xor_si128
(
c2
[
927
],
_mm_xor_si128
(
c2
[
509
],
_mm_xor_si128
(
c2
[
289
],
_mm_xor_si128
(
c2
[
2049
],
_mm_xor_si128
(
c2
[
3372
],
_mm_xor_si128
(
c2
[
1613
],
_mm_xor_si128
(
c2
[
2055
],
_mm_xor_si128
(
c2
[
296
],
_mm_xor_si128
(
c2
[
2954
],
_mm_xor_si128
(
c2
[
1195
],
_mm_xor_si128
(
c2
[
96
],
_mm_xor_si128
(
c2
[
1856
],
_mm_xor_si128
(
c2
[
2730
],
_mm_xor_si128
(
c2
[
1191
],
_mm_xor_si128
(
c2
[
971
],
_mm_xor_si128
(
c2
[
3412
],
_mm_xor_si128
(
c2
[
1653
],
_mm_xor_si128
(
c2
[
2980
],
_mm_xor_si128
(
c2
[
1430
],
_mm_xor_si128
(
c2
[
1210
],
_mm_xor_si128
(
c2
[
2977
],
_mm_xor_si128
(
c2
[
1677
],
_mm_xor_si128
(
c2
[
1457
],
_mm_xor_si128
(
c2
[
3217
],
_mm_xor_si128
(
c2
[
1238
],
_mm_xor_si128
(
c2
[
2998
],
_mm_xor_si128
(
c2
[
3435
],
_mm_xor_si128
(
c2
[
1896
],
_mm_xor_si128
(
c2
[
1676
],
_mm_xor_si128
(
c2
[
819
],
_mm_xor_si128
(
c2
[
2579
],
_mm_xor_si128
(
c2
[
1702
],
_mm_xor_si128
(
c2
[
163
],
_mm_xor_si128
(
c2
[
3462
],
_mm_xor_si128
(
c2
[
1915
],
_mm_xor_si128
(
c2
[
2158
],
_mm_xor_si128
(
c2
[
399
],
_mm_xor_si128
(
c2
[
2816
],
_mm_xor_si128
(
c2
[
1057
],
_mm_xor_si128
(
c2
[
3479
],
_mm_xor_si128
(
c2
[
1940
],
_mm_xor_si128
(
c2
[
1720
],
_mm_xor_si128
(
c2
[
2408
],
_mm_xor_si128
(
c2
[
2188
],
_mm_xor_si128
(
c2
[
418
],
_mm_xor_si128
(
c2
[
858
],
_mm_xor_si128
(
c2
[
2618
],
_mm_xor_si128
(
c2
[
1747
],
_mm_xor_si128
(
c2
[
208
],
c2
[
3507
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
88
]
=
_mm_xor_si128
(
c2
[
2868
],
_mm_xor_si128
(
c2
[
2648
],
_mm_xor_si128
(
c2
[
440
],
_mm_xor_si128
(
c2
[
220
],
_mm_xor_si128
(
c2
[
445
],
_mm_xor_si128
(
c2
[
1103
],
_mm_xor_si128
(
c2
[
30
],
_mm_xor_si128
(
c2
[
3329
],
_mm_xor_si128
(
c2
[
1791
],
_mm_xor_si128
(
c2
[
1124
],
_mm_xor_si128
(
c2
[
3323
],
_mm_xor_si128
(
c2
[
3354
],
_mm_xor_si128
(
c2
[
3134
],
_mm_xor_si128
(
c2
[
3133
],
_mm_xor_si128
(
c2
[
956
],
_mm_xor_si128
(
c2
[
736
],
_mm_xor_si128
(
c2
[
509
],
_mm_xor_si128
(
c2
[
289
],
_mm_xor_si128
(
c2
[
2491
],
_mm_xor_si128
(
c2
[
91
],
_mm_xor_si128
(
c2
[
3390
],
_mm_xor_si128
(
c2
[
532
],
_mm_xor_si128
(
c2
[
3177
],
_mm_xor_si128
(
c2
[
560
],
_mm_xor_si128
(
c2
[
340
],
_mm_xor_si128
(
c2
[
3416
],
_mm_xor_si128
(
c2
[
2113
],
_mm_xor_si128
(
c2
[
1893
],
_mm_xor_si128
(
c2
[
1894
],
_mm_xor_si128
(
c2
[
1674
],
_mm_xor_si128
(
c2
[
352
],
_mm_xor_si128
(
c2
[
1475
],
_mm_xor_si128
(
c2
[
1255
],
_mm_xor_si128
(
c2
[
2138
],
_mm_xor_si128
(
c2
[
2825
],
_mm_xor_si128
(
c2
[
2605
],
_mm_xor_si128
(
c2
[
3263
],
_mm_xor_si128
(
c2
[
396
],
_mm_xor_si128
(
c2
[
2844
],
_mm_xor_si128
(
c2
[
2624
],
_mm_xor_si128
(
c2
[
1525
],
_mm_xor_si128
(
c2
[
1305
],
c2
[
2183
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
99
]
=
_mm_xor_si128
(
c2
[
3084
],
_mm_xor_si128
(
c2
[
2642
],
_mm_xor_si128
(
c2
[
2422
],
_mm_xor_si128
(
c2
[
667
],
_mm_xor_si128
(
c2
[
5
],
_mm_xor_si128
(
c2
[
881
],
_mm_xor_si128
(
c2
[
230
],
_mm_xor_si128
(
c2
[
246
],
_mm_xor_si128
(
c2
[
3323
],
_mm_xor_si128
(
c2
[
3103
],
_mm_xor_si128
(
c2
[
2227
],
_mm_xor_si128
(
c2
[
1565
],
_mm_xor_si128
(
c2
[
1571
],
_mm_xor_si128
(
c2
[
909
],
_mm_xor_si128
(
c2
[
1788
],
_mm_xor_si128
(
c2
[
51
],
_mm_xor_si128
(
c2
[
3128
],
_mm_xor_si128
(
c2
[
2908
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
2907
],
_mm_xor_si128
(
c2
[
1172
],
_mm_xor_si128
(
c2
[
730
],
_mm_xor_si128
(
c2
[
510
],
_mm_xor_si128
(
c2
[
736
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
2927
],
_mm_xor_si128
(
c2
[
2276
],
_mm_xor_si128
(
c2
[
318
],
_mm_xor_si128
(
c2
[
3175
],
_mm_xor_si128
(
c2
[
968
],
_mm_xor_si128
(
c2
[
317
],
_mm_xor_si128
(
c2
[
94
],
_mm_xor_si128
(
c2
[
2951
],
_mm_xor_si128
(
c2
[
776
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
333
],
_mm_xor_si128
(
c2
[
3190
],
_mm_xor_si128
(
c2
[
2340
],
_mm_xor_si128
(
c2
[
1898
],
_mm_xor_si128
(
c2
[
1678
],
_mm_xor_si128
(
c2
[
2121
],
_mm_xor_si128
(
c2
[
1459
],
_mm_xor_si128
(
c2
[
799
],
_mm_xor_si128
(
c2
[
137
],
_mm_xor_si128
(
c2
[
1702
],
_mm_xor_si128
(
c2
[
1040
],
_mm_xor_si128
(
c2
[
2574
],
_mm_xor_si128
(
c2
[
1923
],
_mm_xor_si128
(
c2
[
3041
],
_mm_xor_si128
(
c2
[
2379
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
3037
],
_mm_xor_si128
(
c2
[
843
],
_mm_xor_si128
(
c2
[
181
],
_mm_xor_si128
(
c2
[
3264
],
_mm_xor_si128
(
c2
[
3060
],
_mm_xor_si128
(
c2
[
2618
],
_mm_xor_si128
(
c2
[
2398
],
_mm_xor_si128
(
c2
[
1741
],
_mm_xor_si128
(
c2
[
1079
],
_mm_xor_si128
(
c2
[
2619
],
c2
[
1968
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
110
]
=
_mm_xor_si128
(
c2
[
3306
],
_mm_xor_si128
(
c2
[
2003
],
_mm_xor_si128
(
c2
[
3222
],
c2
[
1695
])));
//row: 11
d2
[
121
]
=
_mm_xor_si128
(
c2
[
1767
],
_mm_xor_si128
(
c2
[
2869
],
_mm_xor_si128
(
c2
[
3083
],
_mm_xor_si128
(
c2
[
2425
],
_mm_xor_si128
(
c2
[
2448
],
_mm_xor_si128
(
c2
[
910
],
_mm_xor_si128
(
c2
[
463
],
_mm_xor_si128
(
c2
[
243
],
_mm_xor_si128
(
c2
[
2253
],
_mm_xor_si128
(
c2
[
2472
],
_mm_xor_si128
(
c2
[
2252
],
_mm_xor_si128
(
c2
[
3374
],
_mm_xor_si128
(
c2
[
2927
],
_mm_xor_si128
(
c2
[
1610
],
_mm_xor_si128
(
c2
[
2509
],
_mm_xor_si128
(
c2
[
3170
],
_mm_xor_si128
(
c2
[
2516
],
_mm_xor_si128
(
c2
[
2296
],
_mm_xor_si128
(
c2
[
2978
],
_mm_xor_si128
(
c2
[
2755
],
_mm_xor_si128
(
c2
[
2535
],
_mm_xor_si128
(
c2
[
1012
],
_mm_xor_si128
(
c2
[
793
],
_mm_xor_si128
(
c2
[
3221
],
_mm_xor_si128
(
c2
[
3001
],
_mm_xor_si128
(
c2
[
374
],
_mm_xor_si128
(
c2
[
1477
],
_mm_xor_si128
(
c2
[
1257
],
_mm_xor_si128
(
c2
[
3464
],
_mm_xor_si128
(
c2
[
1724
],
_mm_xor_si128
(
c2
[
2382
],
_mm_xor_si128
(
c2
[
3265
],
_mm_xor_si128
(
c2
[
3045
],
_mm_xor_si128
(
c2
[
1743
],
_mm_xor_si128
(
c2
[
424
],
_mm_xor_si128
(
c2
[
1522
],
_mm_xor_si128
(
c2
[
1302
],
c2
[
1959
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
132
]
=
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
3309
],
_mm_xor_si128
(
c2
[
881
],
_mm_xor_si128
(
c2
[
1106
],
_mm_xor_si128
(
c2
[
691
],
_mm_xor_si128
(
c2
[
471
],
_mm_xor_si128
(
c2
[
2452
],
_mm_xor_si128
(
c2
[
1785
],
_mm_xor_si128
(
c2
[
2229
],
_mm_xor_si128
(
c2
[
485
],
_mm_xor_si128
(
c2
[
265
],
_mm_xor_si128
(
c2
[
264
],
_mm_xor_si128
(
c2
[
1606
],
_mm_xor_si128
(
c2
[
1386
],
_mm_xor_si128
(
c2
[
950
],
_mm_xor_si128
(
c2
[
3152
],
_mm_xor_si128
(
c2
[
2486
],
_mm_xor_si128
(
c2
[
532
],
_mm_xor_si128
(
c2
[
1193
],
_mm_xor_si128
(
c2
[
308
],
_mm_xor_si128
(
c2
[
990
],
_mm_xor_si128
(
c2
[
558
],
_mm_xor_si128
(
c2
[
2774
],
_mm_xor_si128
(
c2
[
2554
],
_mm_xor_si128
(
c2
[
2335
],
_mm_xor_si128
(
c2
[
1013
],
_mm_xor_si128
(
c2
[
1916
],
_mm_xor_si128
(
c2
[
2799
],
_mm_xor_si128
(
c2
[
3266
],
_mm_xor_si128
(
c2
[
405
],
_mm_xor_si128
(
c2
[
1057
],
_mm_xor_si128
(
c2
[
3505
],
_mm_xor_si128
(
c2
[
3285
],
_mm_xor_si128
(
c2
[
1966
],
c2
[
2844
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
143
]
=
_mm_xor_si128
(
c2
[
2206
],
_mm_xor_si128
(
c2
[
3308
],
_mm_xor_si128
(
c2
[
3
],
_mm_xor_si128
(
c2
[
2861
],
_mm_xor_si128
(
c2
[
2887
],
_mm_xor_si128
(
c2
[
1349
],
_mm_xor_si128
(
c2
[
902
],
_mm_xor_si128
(
c2
[
682
],
_mm_xor_si128
(
c2
[
2447
],
_mm_xor_si128
(
c2
[
2692
],
_mm_xor_si128
(
c2
[
2911
],
_mm_xor_si128
(
c2
[
2691
],
_mm_xor_si128
(
c2
[
294
],
_mm_xor_si128
(
c2
[
3366
],
_mm_xor_si128
(
c2
[
2049
],
_mm_xor_si128
(
c2
[
2948
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
2955
],
_mm_xor_si128
(
c2
[
2735
],
_mm_xor_si128
(
c2
[
3417
],
_mm_xor_si128
(
c2
[
3194
],
_mm_xor_si128
(
c2
[
2974
],
_mm_xor_si128
(
c2
[
1462
],
_mm_xor_si128
(
c2
[
1232
],
_mm_xor_si128
(
c2
[
141
],
_mm_xor_si128
(
c2
[
3440
],
_mm_xor_si128
(
c2
[
824
],
_mm_xor_si128
(
c2
[
1916
],
_mm_xor_si128
(
c2
[
1696
],
_mm_xor_si128
(
c2
[
2163
],
_mm_xor_si128
(
c2
[
2821
],
_mm_xor_si128
(
c2
[
185
],
_mm_xor_si128
(
c2
[
3484
],
_mm_xor_si128
(
c2
[
2597
],
_mm_xor_si128
(
c2
[
2182
],
_mm_xor_si128
(
c2
[
863
],
_mm_xor_si128
(
c2
[
1961
],
c2
[
1741
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
154
]
=
_mm_xor_si128
(
c2
[
890
],
_mm_xor_si128
(
c2
[
670
],
_mm_xor_si128
(
c2
[
229
],
_mm_xor_si128
(
c2
[
1761
],
_mm_xor_si128
(
c2
[
1320
],
_mm_xor_si128
(
c2
[
1986
],
_mm_xor_si128
(
c2
[
1545
],
_mm_xor_si128
(
c2
[
1571
],
_mm_xor_si128
(
c2
[
1351
],
_mm_xor_si128
(
c2
[
910
],
_mm_xor_si128
(
c2
[
3332
],
_mm_xor_si128
(
c2
[
2891
],
_mm_xor_si128
(
c2
[
2665
],
_mm_xor_si128
(
c2
[
2444
],
_mm_xor_si128
(
c2
[
2224
],
_mm_xor_si128
(
c2
[
2442
],
_mm_xor_si128
(
c2
[
1365
],
_mm_xor_si128
(
c2
[
1145
],
_mm_xor_si128
(
c2
[
704
],
_mm_xor_si128
(
c2
[
1144
],
_mm_xor_si128
(
c2
[
934
],
_mm_xor_si128
(
c2
[
714
],
_mm_xor_si128
(
c2
[
2486
],
_mm_xor_si128
(
c2
[
2266
],
_mm_xor_si128
(
c2
[
1836
],
_mm_xor_si128
(
c2
[
1830
],
_mm_xor_si128
(
c2
[
1389
],
_mm_xor_si128
(
c2
[
513
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
1412
],
_mm_xor_si128
(
c2
[
971
],
_mm_xor_si128
(
c2
[
2073
],
_mm_xor_si128
(
c2
[
1632
],
_mm_xor_si128
(
c2
[
1188
],
_mm_xor_si128
(
c2
[
978
],
_mm_xor_si128
(
c2
[
758
],
_mm_xor_si128
(
c2
[
1870
],
_mm_xor_si128
(
c2
[
1440
],
_mm_xor_si128
(
c2
[
1438
],
_mm_xor_si128
(
c2
[
1217
],
_mm_xor_si128
(
c2
[
997
],
_mm_xor_si128
(
c2
[
135
],
_mm_xor_si128
(
c2
[
3434
],
_mm_xor_si128
(
c2
[
2993
],
_mm_xor_si128
(
c2
[
3215
],
_mm_xor_si128
(
c2
[
2774
],
_mm_xor_si128
(
c2
[
1893
],
_mm_xor_si128
(
c2
[
1672
],
_mm_xor_si128
(
c2
[
1452
],
_mm_xor_si128
(
c2
[
361
],
_mm_xor_si128
(
c2
[
2796
],
_mm_xor_si128
(
c2
[
2355
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
3458
],
_mm_xor_si128
(
c2
[
3238
],
_mm_xor_si128
(
c2
[
616
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
1285
],
_mm_xor_si128
(
c2
[
844
],
_mm_xor_si128
(
c2
[
1937
],
_mm_xor_si128
(
c2
[
1716
],
_mm_xor_si128
(
c2
[
1496
],
_mm_xor_si128
(
c2
[
866
],
_mm_xor_si128
(
c2
[
646
],
_mm_xor_si128
(
c2
[
205
],
_mm_xor_si128
(
c2
[
2846
],
_mm_xor_si128
(
c2
[
2405
],
_mm_xor_si128
(
c2
[
205
],
_mm_xor_si128
(
c2
[
3503
],
c2
[
3283
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
165
]
=
_mm_xor_si128
(
c2
[
445
],
_mm_xor_si128
(
c2
[
881
],
_mm_xor_si128
(
c2
[
661
],
_mm_xor_si128
(
c2
[
1547
],
_mm_xor_si128
(
c2
[
1763
],
_mm_xor_si128
(
c2
[
1761
],
_mm_xor_si128
(
c2
[
1988
],
_mm_xor_si128
(
c2
[
1988
],
_mm_xor_si128
(
c2
[
1126
],
_mm_xor_si128
(
c2
[
1562
],
_mm_xor_si128
(
c2
[
1342
],
_mm_xor_si128
(
c2
[
3107
],
_mm_xor_si128
(
c2
[
3323
],
_mm_xor_si128
(
c2
[
2451
],
_mm_xor_si128
(
c2
[
2667
],
_mm_xor_si128
(
c2
[
931
],
_mm_xor_si128
(
c2
[
1367
],
_mm_xor_si128
(
c2
[
1147
],
_mm_xor_si128
(
c2
[
930
],
_mm_xor_si128
(
c2
[
1146
],
_mm_xor_si128
(
c2
[
2052
],
_mm_xor_si128
(
c2
[
2488
],
_mm_xor_si128
(
c2
[
2268
],
_mm_xor_si128
(
c2
[
1616
],
_mm_xor_si128
(
c2
[
1832
],
_mm_xor_si128
(
c2
[
288
],
_mm_xor_si128
(
c2
[
515
],
_mm_xor_si128
(
c2
[
1198
],
_mm_xor_si128
(
c2
[
1414
],
_mm_xor_si128
(
c2
[
1848
],
_mm_xor_si128
(
c2
[
2075
],
_mm_xor_si128
(
c2
[
974
],
_mm_xor_si128
(
c2
[
1190
],
_mm_xor_si128
(
c2
[
1656
],
_mm_xor_si128
(
c2
[
1872
],
_mm_xor_si128
(
c2
[
1213
],
_mm_xor_si128
(
c2
[
1440
],
_mm_xor_si128
(
c2
[
3220
],
_mm_xor_si128
(
c2
[
137
],
_mm_xor_si128
(
c2
[
3436
],
_mm_xor_si128
(
c2
[
3001
],
_mm_xor_si128
(
c2
[
3217
],
_mm_xor_si128
(
c2
[
1679
],
_mm_xor_si128
(
c2
[
1895
],
_mm_xor_si128
(
c2
[
2582
],
_mm_xor_si128
(
c2
[
2798
],
_mm_xor_si128
(
c2
[
3454
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
402
],
_mm_xor_si128
(
c2
[
618
],
_mm_xor_si128
(
c2
[
1060
],
_mm_xor_si128
(
c2
[
1276
],
_mm_xor_si128
(
c2
[
1723
],
_mm_xor_si128
(
c2
[
1939
],
_mm_xor_si128
(
c2
[
421
],
_mm_xor_si128
(
c2
[
868
],
_mm_xor_si128
(
c2
[
648
],
_mm_xor_si128
(
c2
[
2621
],
_mm_xor_si128
(
c2
[
2848
],
_mm_xor_si128
(
c2
[
3499
],
c2
[
207
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
176
]
=
_mm_xor_si128
(
c2
[
2870
],
_mm_xor_si128
(
c2
[
2650
],
_mm_xor_si128
(
c2
[
229
],
_mm_xor_si128
(
c2
[
9
],
_mm_xor_si128
(
c2
[
222
],
_mm_xor_si128
(
c2
[
1320
],
_mm_xor_si128
(
c2
[
1100
],
_mm_xor_si128
(
c2
[
447
],
_mm_xor_si128
(
c2
[
1325
],
_mm_xor_si128
(
c2
[
32
],
_mm_xor_si128
(
c2
[
3331
],
_mm_xor_si128
(
c2
[
910
],
_mm_xor_si128
(
c2
[
690
],
_mm_xor_si128
(
c2
[
1782
],
_mm_xor_si128
(
c2
[
2671
],
_mm_xor_si128
(
c2
[
1126
],
_mm_xor_si128
(
c2
[
2004
],
_mm_xor_si128
(
c2
[
3106
],
_mm_xor_si128
(
c2
[
3345
],
_mm_xor_si128
(
c2
[
3125
],
_mm_xor_si128
(
c2
[
704
],
_mm_xor_si128
(
c2
[
484
],
_mm_xor_si128
(
c2
[
3124
],
_mm_xor_si128
(
c2
[
494
],
_mm_xor_si128
(
c2
[
947
],
_mm_xor_si128
(
c2
[
727
],
_mm_xor_si128
(
c2
[
1836
],
_mm_xor_si128
(
c2
[
1616
],
_mm_xor_si128
(
c2
[
291
],
_mm_xor_si128
(
c2
[
1389
],
_mm_xor_si128
(
c2
[
1169
],
_mm_xor_si128
(
c2
[
2493
],
_mm_xor_si128
(
c2
[
3371
],
_mm_xor_si128
(
c2
[
3392
],
_mm_xor_si128
(
c2
[
971
],
_mm_xor_si128
(
c2
[
751
],
_mm_xor_si128
(
c2
[
534
],
_mm_xor_si128
(
c2
[
1412
],
_mm_xor_si128
(
c2
[
3168
],
_mm_xor_si128
(
c2
[
538
],
_mm_xor_si128
(
c2
[
331
],
_mm_xor_si128
(
c2
[
1440
],
_mm_xor_si128
(
c2
[
1220
],
_mm_xor_si128
(
c2
[
3418
],
_mm_xor_si128
(
c2
[
777
],
_mm_xor_si128
(
c2
[
2115
],
_mm_xor_si128
(
c2
[
1895
],
_mm_xor_si128
(
c2
[
2993
],
_mm_xor_si128
(
c2
[
2773
],
_mm_xor_si128
(
c2
[
1676
],
_mm_xor_si128
(
c2
[
2774
],
_mm_xor_si128
(
c2
[
2554
],
_mm_xor_si128
(
c2
[
354
],
_mm_xor_si128
(
c2
[
1232
],
_mm_xor_si128
(
c2
[
1257
],
_mm_xor_si128
(
c2
[
2355
],
_mm_xor_si128
(
c2
[
2135
],
_mm_xor_si128
(
c2
[
2140
],
_mm_xor_si128
(
c2
[
3018
],
_mm_xor_si128
(
c2
[
2596
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
3485
],
_mm_xor_si128
(
c2
[
3265
],
_mm_xor_si128
(
c2
[
624
],
_mm_xor_si128
(
c2
[
398
],
_mm_xor_si128
(
c2
[
1276
],
_mm_xor_si128
(
c2
[
2846
],
_mm_xor_si128
(
c2
[
2626
],
_mm_xor_si128
(
c2
[
205
],
_mm_xor_si128
(
c2
[
3504
],
_mm_xor_si128
(
c2
[
1307
],
_mm_xor_si128
(
c2
[
2405
],
_mm_xor_si128
(
c2
[
2185
],
_mm_xor_si128
(
c2
[
2185
],
_mm_xor_si128
(
c2
[
3063
],
c2
[
3287
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
187
]
=
_mm_xor_si128
(
c2
[
2202
],
_mm_xor_si128
(
c2
[
1982
],
_mm_xor_si128
(
c2
[
3308
],
_mm_xor_si128
(
c2
[
3088
],
_mm_xor_si128
(
c2
[
3084
],
_mm_xor_si128
(
c2
[
880
],
_mm_xor_si128
(
c2
[
660
],
_mm_xor_si128
(
c2
[
3309
],
_mm_xor_si128
(
c2
[
885
],
_mm_xor_si128
(
c2
[
2883
],
_mm_xor_si128
(
c2
[
2663
],
_mm_xor_si128
(
c2
[
470
],
_mm_xor_si128
(
c2
[
250
],
_mm_xor_si128
(
c2
[
1125
],
_mm_xor_si128
(
c2
[
2231
],
_mm_xor_si128
(
c2
[
469
],
_mm_xor_si128
(
c2
[
1564
],
_mm_xor_si128
(
c2
[
1350
],
_mm_xor_si128
(
c2
[
2688
],
_mm_xor_si128
(
c2
[
2468
],
_mm_xor_si128
(
c2
[
264
],
_mm_xor_si128
(
c2
[
44
],
_mm_xor_si128
(
c2
[
2467
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
290
],
_mm_xor_si128
(
c2
[
70
],
_mm_xor_si128
(
c2
[
1396
],
_mm_xor_si128
(
c2
[
1176
],
_mm_xor_si128
(
c2
[
3153
],
_mm_xor_si128
(
c2
[
949
],
_mm_xor_si128
(
c2
[
729
],
_mm_xor_si128
(
c2
[
1836
],
_mm_xor_si128
(
c2
[
2931
],
_mm_xor_si128
(
c2
[
2735
],
_mm_xor_si128
(
c2
[
531
],
_mm_xor_si128
(
c2
[
311
],
_mm_xor_si128
(
c2
[
3396
],
_mm_xor_si128
(
c2
[
972
],
_mm_xor_si128
(
c2
[
2511
],
_mm_xor_si128
(
c2
[
98
],
_mm_xor_si128
(
c2
[
3193
],
_mm_xor_si128
(
c2
[
1000
],
_mm_xor_si128
(
c2
[
780
],
_mm_xor_si128
(
c2
[
2750
],
_mm_xor_si128
(
c2
[
337
],
_mm_xor_si128
(
c2
[
1651
],
_mm_xor_si128
(
c2
[
1458
],
_mm_xor_si128
(
c2
[
1238
],
_mm_xor_si128
(
c2
[
2553
],
_mm_xor_si128
(
c2
[
2333
],
_mm_xor_si128
(
c2
[
1019
],
_mm_xor_si128
(
c2
[
2334
],
_mm_xor_si128
(
c2
[
2114
],
_mm_xor_si128
(
c2
[
3216
],
_mm_xor_si128
(
c2
[
792
],
_mm_xor_si128
(
c2
[
600
],
_mm_xor_si128
(
c2
[
1915
],
_mm_xor_si128
(
c2
[
1695
],
_mm_xor_si128
(
c2
[
1483
],
_mm_xor_si128
(
c2
[
2578
],
_mm_xor_si128
(
c2
[
1939
],
_mm_xor_si128
(
c2
[
3265
],
_mm_xor_si128
(
c2
[
3045
],
_mm_xor_si128
(
c2
[
2597
],
_mm_xor_si128
(
c2
[
184
],
_mm_xor_si128
(
c2
[
3260
],
_mm_xor_si128
(
c2
[
836
],
_mm_xor_si128
(
c2
[
2178
],
_mm_xor_si128
(
c2
[
1958
],
_mm_xor_si128
(
c2
[
3284
],
_mm_xor_si128
(
c2
[
3064
],
_mm_xor_si128
(
c2
[
639
],
_mm_xor_si128
(
c2
[
1965
],
_mm_xor_si128
(
c2
[
1745
],
_mm_xor_si128
(
c2
[
1528
],
c2
[
2623
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
198
]
=
_mm_xor_si128
(
c2
[
2870
],
_mm_xor_si128
(
c2
[
3433
],
c2
[
1475
]));
//row: 19
d2
[
209
]
=
_mm_xor_si128
(
c2
[
2647
],
_mm_xor_si128
(
c2
[
230
],
_mm_xor_si128
(
c2
[
444
],
_mm_xor_si128
(
c2
[
2860
],
_mm_xor_si128
(
c2
[
3328
],
_mm_xor_si128
(
c2
[
1790
],
_mm_xor_si128
(
c2
[
1123
],
_mm_xor_si128
(
c2
[
1570
],
_mm_xor_si128
(
c2
[
3133
],
_mm_xor_si128
(
c2
[
3132
],
_mm_xor_si128
(
c2
[
735
],
_mm_xor_si128
(
c2
[
288
],
_mm_xor_si128
(
c2
[
2490
],
_mm_xor_si128
(
c2
[
3389
],
_mm_xor_si128
(
c2
[
531
],
_mm_xor_si128
(
c2
[
3176
],
_mm_xor_si128
(
c2
[
339
],
_mm_xor_si128
(
c2
[
3415
],
_mm_xor_si128
(
c2
[
1892
],
_mm_xor_si128
(
c2
[
1673
],
_mm_xor_si128
(
c2
[
362
],
_mm_xor_si128
(
c2
[
1254
],
_mm_xor_si128
(
c2
[
2137
],
_mm_xor_si128
(
c2
[
2604
],
_mm_xor_si128
(
c2
[
3262
],
_mm_xor_si128
(
c2
[
406
],
_mm_xor_si128
(
c2
[
2623
],
_mm_xor_si128
(
c2
[
1304
],
c2
[
2182
]))))))))))))))))))))))))))));
//row: 20
d2
[
220
]
=
_mm_xor_si128
(
c2
[
1989
],
_mm_xor_si128
(
c2
[
1769
],
_mm_xor_si128
(
c2
[
2860
],
_mm_xor_si128
(
c2
[
3085
],
_mm_xor_si128
(
c2
[
2670
],
_mm_xor_si128
(
c2
[
2450
],
_mm_xor_si128
(
c2
[
912
],
_mm_xor_si128
(
c2
[
245
],
_mm_xor_si128
(
c2
[
30
],
_mm_xor_si128
(
c2
[
2464
],
_mm_xor_si128
(
c2
[
2244
],
_mm_xor_si128
(
c2
[
2254
],
_mm_xor_si128
(
c2
[
66
],
_mm_xor_si128
(
c2
[
3376
],
_mm_xor_si128
(
c2
[
2929
],
_mm_xor_si128
(
c2
[
1612
],
_mm_xor_si128
(
c2
[
2511
],
_mm_xor_si128
(
c2
[
3172
],
_mm_xor_si128
(
c2
[
2298
],
_mm_xor_si128
(
c2
[
971
],
_mm_xor_si128
(
c2
[
2980
],
_mm_xor_si128
(
c2
[
2537
],
_mm_xor_si128
(
c2
[
1234
],
_mm_xor_si128
(
c2
[
1014
],
_mm_xor_si128
(
c2
[
795
],
_mm_xor_si128
(
c2
[
2992
],
_mm_xor_si128
(
c2
[
376
],
_mm_xor_si128
(
c2
[
1259
],
_mm_xor_si128
(
c2
[
1726
],
_mm_xor_si128
(
c2
[
2384
],
_mm_xor_si128
(
c2
[
3036
],
_mm_xor_si128
(
c2
[
1965
],
_mm_xor_si128
(
c2
[
1745
],
_mm_xor_si128
(
c2
[
426
],
c2
[
1304
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
231
]
=
_mm_xor_si128
(
c2
[
661
],
_mm_xor_si128
(
c2
[
1763
],
_mm_xor_si128
(
c2
[
1988
],
_mm_xor_si128
(
c2
[
2649
],
_mm_xor_si128
(
c2
[
1342
],
_mm_xor_si128
(
c2
[
3323
],
_mm_xor_si128
(
c2
[
2887
],
_mm_xor_si128
(
c2
[
2667
],
_mm_xor_si128
(
c2
[
1147
],
_mm_xor_si128
(
c2
[
1366
],
_mm_xor_si128
(
c2
[
1146
],
_mm_xor_si128
(
c2
[
2268
],
_mm_xor_si128
(
c2
[
1832
],
_mm_xor_si128
(
c2
[
515
],
_mm_xor_si128
(
c2
[
1414
],
_mm_xor_si128
(
c2
[
2075
],
_mm_xor_si128
(
c2
[
1410
],
_mm_xor_si128
(
c2
[
1190
],
_mm_xor_si128
(
c2
[
1872
],
_mm_xor_si128
(
c2
[
1660
],
_mm_xor_si128
(
c2
[
1440
],
_mm_xor_si128
(
c2
[
3436
],
_mm_xor_si128
(
c2
[
3217
],
_mm_xor_si128
(
c2
[
2115
],
_mm_xor_si128
(
c2
[
1895
],
_mm_xor_si128
(
c2
[
2798
],
_mm_xor_si128
(
c2
[
382
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
618
],
_mm_xor_si128
(
c2
[
1276
],
_mm_xor_si128
(
c2
[
2159
],
_mm_xor_si128
(
c2
[
1939
],
_mm_xor_si128
(
c2
[
1506
],
_mm_xor_si128
(
c2
[
648
],
_mm_xor_si128
(
c2
[
2848
],
_mm_xor_si128
(
c2
[
427
],
c2
[
207
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
242
]
=
_mm_xor_si128
(
c2
[
463
],
c2
[
714
]);
//row: 23
d2
[
253
]
=
_mm_xor_si128
(
c2
[
3086
],
_mm_xor_si128
(
c2
[
954
],
c2
[
1439
]));
//row: 24
d2
[
264
]
=
_mm_xor_si128
(
c2
[
249
],
_mm_xor_si128
(
c2
[
2690
],
c2
[
3061
]));
//row: 25
d2
[
275
]
=
_mm_xor_si128
(
c2
[
1764
],
c2
[
1878
]);
//row: 26
d2
[
286
]
=
_mm_xor_si128
(
c2
[
222
],
_mm_xor_si128
(
c2
[
2
],
_mm_xor_si128
(
c2
[
2647
],
_mm_xor_si128
(
c2
[
1324
],
_mm_xor_si128
(
c2
[
1104
],
_mm_xor_si128
(
c2
[
230
],
_mm_xor_si128
(
c2
[
1329
],
_mm_xor_si128
(
c2
[
444
],
_mm_xor_si128
(
c2
[
903
],
_mm_xor_si128
(
c2
[
683
],
_mm_xor_si128
(
c2
[
3328
],
_mm_xor_si128
(
c2
[
2664
],
_mm_xor_si128
(
c2
[
1790
],
_mm_xor_si128
(
c2
[
2008
],
_mm_xor_si128
(
c2
[
1343
],
_mm_xor_si128
(
c2
[
1123
],
_mm_xor_si128
(
c2
[
708
],
_mm_xor_si128
(
c2
[
488
],
_mm_xor_si128
(
c2
[
3133
],
_mm_xor_si128
(
c2
[
487
],
_mm_xor_si128
(
c2
[
3352
],
_mm_xor_si128
(
c2
[
3132
],
_mm_xor_si128
(
c2
[
926
],
_mm_xor_si128
(
c2
[
1829
],
_mm_xor_si128
(
c2
[
1609
],
_mm_xor_si128
(
c2
[
735
],
_mm_xor_si128
(
c2
[
1393
],
_mm_xor_si128
(
c2
[
1173
],
_mm_xor_si128
(
c2
[
288
],
_mm_xor_si128
(
c2
[
3375
],
_mm_xor_si128
(
c2
[
2490
],
_mm_xor_si128
(
c2
[
975
],
_mm_xor_si128
(
c2
[
755
],
_mm_xor_si128
(
c2
[
3389
],
_mm_xor_si128
(
c2
[
1416
],
_mm_xor_si128
(
c2
[
531
],
_mm_xor_si128
(
c2
[
531
],
_mm_xor_si128
(
c2
[
3396
],
_mm_xor_si128
(
c2
[
3176
],
_mm_xor_si128
(
c2
[
1433
],
_mm_xor_si128
(
c2
[
1213
],
_mm_xor_si128
(
c2
[
339
],
_mm_xor_si128
(
c2
[
770
],
_mm_xor_si128
(
c2
[
116
],
_mm_xor_si128
(
c2
[
3415
],
_mm_xor_si128
(
c2
[
2997
],
_mm_xor_si128
(
c2
[
2777
],
_mm_xor_si128
(
c2
[
1892
],
_mm_xor_si128
(
c2
[
2778
],
_mm_xor_si128
(
c2
[
2558
],
_mm_xor_si128
(
c2
[
1673
],
_mm_xor_si128
(
c2
[
1236
],
_mm_xor_si128
(
c2
[
582
],
_mm_xor_si128
(
c2
[
362
],
_mm_xor_si128
(
c2
[
2359
],
_mm_xor_si128
(
c2
[
2139
],
_mm_xor_si128
(
c2
[
1254
],
_mm_xor_si128
(
c2
[
3022
],
_mm_xor_si128
(
c2
[
2357
],
_mm_xor_si128
(
c2
[
2137
],
_mm_xor_si128
(
c2
[
1476
],
_mm_xor_si128
(
c2
[
179
],
_mm_xor_si128
(
c2
[
3478
],
_mm_xor_si128
(
c2
[
2604
],
_mm_xor_si128
(
c2
[
617
],
_mm_xor_si128
(
c2
[
3262
],
_mm_xor_si128
(
c2
[
1280
],
_mm_xor_si128
(
c2
[
626
],
_mm_xor_si128
(
c2
[
406
],
_mm_xor_si128
(
c2
[
198
],
_mm_xor_si128
(
c2
[
3508
],
_mm_xor_si128
(
c2
[
2623
],
_mm_xor_si128
(
c2
[
2398
],
_mm_xor_si128
(
c2
[
2178
],
_mm_xor_si128
(
c2
[
1304
],
_mm_xor_si128
(
c2
[
3067
],
_mm_xor_si128
(
c2
[
2402
],
c2
[
2182
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
297
]
=
_mm_xor_si128
(
c2
[
2202
],
c2
[
1898
]);
//row: 28
d2
[
308
]
=
_mm_xor_si128
(
c2
[
26
],
_mm_xor_si128
(
c2
[
1805
],
c2
[
1219
]));
//row: 29
d2
[
319
]
=
_mm_xor_si128
(
c2
[
2428
],
c2
[
318
]);
//row: 30
d2
[
330
]
=
_mm_xor_si128
(
c2
[
929
],
_mm_xor_si128
(
c2
[
2980
],
_mm_xor_si128
(
c2
[
3019
],
c2
[
3059
])));
//row: 31
d2
[
341
]
=
_mm_xor_si128
(
c2
[
3307
],
_mm_xor_si128
(
c2
[
890
],
_mm_xor_si128
(
c2
[
1104
],
_mm_xor_si128
(
c2
[
469
],
_mm_xor_si128
(
c2
[
2450
],
_mm_xor_si128
(
c2
[
2003
],
_mm_xor_si128
(
c2
[
1783
],
_mm_xor_si128
(
c2
[
1129
],
_mm_xor_si128
(
c2
[
274
],
_mm_xor_si128
(
c2
[
493
],
_mm_xor_si128
(
c2
[
273
],
_mm_xor_si128
(
c2
[
1395
],
_mm_xor_si128
(
c2
[
948
],
_mm_xor_si128
(
c2
[
3150
],
_mm_xor_si128
(
c2
[
530
],
_mm_xor_si128
(
c2
[
1191
],
_mm_xor_si128
(
c2
[
537
],
_mm_xor_si128
(
c2
[
317
],
_mm_xor_si128
(
c2
[
999
],
_mm_xor_si128
(
c2
[
776
],
_mm_xor_si128
(
c2
[
556
],
_mm_xor_si128
(
c2
[
2552
],
_mm_xor_si128
(
c2
[
2333
],
_mm_xor_si128
(
c2
[
1242
],
_mm_xor_si128
(
c2
[
1022
],
_mm_xor_si128
(
c2
[
1914
],
_mm_xor_si128
(
c2
[
3017
],
_mm_xor_si128
(
c2
[
2797
],
_mm_xor_si128
(
c2
[
3264
],
_mm_xor_si128
(
c2
[
403
],
_mm_xor_si128
(
c2
[
1286
],
_mm_xor_si128
(
c2
[
1066
],
_mm_xor_si128
(
c2
[
3283
],
_mm_xor_si128
(
c2
[
1964
],
_mm_xor_si128
(
c2
[
3062
],
c2
[
2842
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
352
]
=
_mm_xor_si128
(
c2
[
2207
],
_mm_xor_si128
(
c2
[
1987
],
_mm_xor_si128
(
c2
[
3309
],
_mm_xor_si128
(
c2
[
3089
],
_mm_xor_si128
(
c2
[
3303
],
_mm_xor_si128
(
c2
[
887
],
_mm_xor_si128
(
c2
[
2888
],
_mm_xor_si128
(
c2
[
2668
],
_mm_xor_si128
(
c2
[
1130
],
_mm_xor_si128
(
c2
[
463
],
_mm_xor_si128
(
c2
[
2693
],
_mm_xor_si128
(
c2
[
2473
],
_mm_xor_si128
(
c2
[
2472
],
_mm_xor_si128
(
c2
[
295
],
_mm_xor_si128
(
c2
[
75
],
_mm_xor_si128
(
c2
[
3367
],
_mm_xor_si128
(
c2
[
3147
],
_mm_xor_si128
(
c2
[
1830
],
_mm_xor_si128
(
c2
[
2949
],
_mm_xor_si128
(
c2
[
2729
],
_mm_xor_si128
(
c2
[
3390
],
_mm_xor_si128
(
c2
[
2516
],
_mm_xor_si128
(
c2
[
3418
],
_mm_xor_si128
(
c2
[
3198
],
_mm_xor_si128
(
c2
[
2755
],
_mm_xor_si128
(
c2
[
2094
],
_mm_xor_si128
(
c2
[
1452
],
_mm_xor_si128
(
c2
[
1232
],
_mm_xor_si128
(
c2
[
1233
],
_mm_xor_si128
(
c2
[
1013
],
_mm_xor_si128
(
c2
[
3221
],
_mm_xor_si128
(
c2
[
814
],
_mm_xor_si128
(
c2
[
594
],
_mm_xor_si128
(
c2
[
1477
],
_mm_xor_si128
(
c2
[
2164
],
_mm_xor_si128
(
c2
[
1944
],
_mm_xor_si128
(
c2
[
2602
],
_mm_xor_si128
(
c2
[
3265
],
_mm_xor_si128
(
c2
[
2183
],
_mm_xor_si128
(
c2
[
1963
],
_mm_xor_si128
(
c2
[
864
],
_mm_xor_si128
(
c2
[
644
],
c2
[
1522
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
363
]
=
_mm_xor_si128
(
c2
[
1760
],
_mm_xor_si128
(
c2
[
2862
],
_mm_xor_si128
(
c2
[
3087
],
_mm_xor_si128
(
c2
[
2452
],
_mm_xor_si128
(
c2
[
903
],
_mm_xor_si128
(
c2
[
247
],
_mm_xor_si128
(
c2
[
2246
],
_mm_xor_si128
(
c2
[
2245
],
_mm_xor_si128
(
c2
[
2030
],
_mm_xor_si128
(
c2
[
3367
],
_mm_xor_si128
(
c2
[
2931
],
_mm_xor_si128
(
c2
[
1614
],
_mm_xor_si128
(
c2
[
2513
],
_mm_xor_si128
(
c2
[
3174
],
_mm_xor_si128
(
c2
[
2289
],
_mm_xor_si128
(
c2
[
2971
],
_mm_xor_si128
(
c2
[
2539
],
_mm_xor_si128
(
c2
[
1016
],
_mm_xor_si128
(
c2
[
797
],
_mm_xor_si128
(
c2
[
2994
],
_mm_xor_si128
(
c2
[
378
],
_mm_xor_si128
(
c2
[
1261
],
_mm_xor_si128
(
c2
[
2142
],
_mm_xor_si128
(
c2
[
1717
],
_mm_xor_si128
(
c2
[
2386
],
_mm_xor_si128
(
c2
[
3038
],
_mm_xor_si128
(
c2
[
1747
],
_mm_xor_si128
(
c2
[
428
],
c2
[
1306
]))))))))))))))))))))))))))));
//row: 34
d2
[
374
]
=
_mm_xor_si128
(
c2
[
1101
],
_mm_xor_si128
(
c2
[
881
],
_mm_xor_si128
(
c2
[
2868
],
_mm_xor_si128
(
c2
[
2203
],
_mm_xor_si128
(
c2
[
1983
],
_mm_xor_si128
(
c2
[
440
],
_mm_xor_si128
(
c2
[
2208
],
_mm_xor_si128
(
c2
[
665
],
_mm_xor_si128
(
c2
[
2420
],
_mm_xor_si128
(
c2
[
1782
],
_mm_xor_si128
(
c2
[
1562
],
_mm_xor_si128
(
c2
[
30
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
2011
],
_mm_xor_si128
(
c2
[
2887
],
_mm_xor_si128
(
c2
[
1564
],
_mm_xor_si128
(
c2
[
1344
],
_mm_xor_si128
(
c2
[
1587
],
_mm_xor_si128
(
c2
[
1367
],
_mm_xor_si128
(
c2
[
3354
],
_mm_xor_si128
(
c2
[
1366
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
3353
],
_mm_xor_si128
(
c2
[
2708
],
_mm_xor_si128
(
c2
[
2488
],
_mm_xor_si128
(
c2
[
956
],
_mm_xor_si128
(
c2
[
2272
],
_mm_xor_si128
(
c2
[
2052
],
_mm_xor_si128
(
c2
[
509
],
_mm_xor_si128
(
c2
[
735
],
_mm_xor_si128
(
c2
[
2711
],
_mm_xor_si128
(
c2
[
1854
],
_mm_xor_si128
(
c2
[
1634
],
_mm_xor_si128
(
c2
[
91
],
_mm_xor_si128
(
c2
[
2295
],
_mm_xor_si128
(
c2
[
752
],
_mm_xor_si128
(
c2
[
1410
],
_mm_xor_si128
(
c2
[
98
],
_mm_xor_si128
(
c2
[
3397
],
_mm_xor_si128
(
c2
[
2312
],
_mm_xor_si128
(
c2
[
2092
],
_mm_xor_si128
(
c2
[
560
],
_mm_xor_si128
(
c2
[
1660
],
_mm_xor_si128
(
c2
[
337
],
_mm_xor_si128
(
c2
[
117
],
_mm_xor_si128
(
c2
[
357
],
_mm_xor_si128
(
c2
[
137
],
_mm_xor_si128
(
c2
[
2113
],
_mm_xor_si128
(
c2
[
138
],
_mm_xor_si128
(
c2
[
3437
],
_mm_xor_si128
(
c2
[
1894
],
_mm_xor_si128
(
c2
[
2115
],
_mm_xor_si128
(
c2
[
792
],
_mm_xor_si128
(
c2
[
572
],
_mm_xor_si128
(
c2
[
3238
],
_mm_xor_si128
(
c2
[
3018
],
_mm_xor_si128
(
c2
[
1475
],
_mm_xor_si128
(
c2
[
382
],
_mm_xor_si128
(
c2
[
2578
],
_mm_xor_si128
(
c2
[
2358
],
_mm_xor_si128
(
c2
[
1058
],
_mm_xor_si128
(
c2
[
838
],
_mm_xor_si128
(
c2
[
2825
],
_mm_xor_si128
(
c2
[
1496
],
_mm_xor_si128
(
c2
[
3483
],
_mm_xor_si128
(
c2
[
2159
],
_mm_xor_si128
(
c2
[
836
],
_mm_xor_si128
(
c2
[
616
],
_mm_xor_si128
(
c2
[
1088
],
_mm_xor_si128
(
c2
[
868
],
_mm_xor_si128
(
c2
[
2844
],
_mm_xor_si128
(
c2
[
3288
],
_mm_xor_si128
(
c2
[
3068
],
_mm_xor_si128
(
c2
[
1525
],
_mm_xor_si128
(
c2
[
427
],
_mm_xor_si128
(
c2
[
2623
],
c2
[
2403
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
385
]
=
_mm_xor_si128
(
c2
[
1769
],
_mm_xor_si128
(
c2
[
1549
],
_mm_xor_si128
(
c2
[
2640
],
_mm_xor_si128
(
c2
[
2865
],
_mm_xor_si128
(
c2
[
2450
],
_mm_xor_si128
(
c2
[
2230
],
_mm_xor_si128
(
c2
[
692
],
_mm_xor_si128
(
c2
[
25
],
_mm_xor_si128
(
c2
[
3109
],
_mm_xor_si128
(
c2
[
2244
],
_mm_xor_si128
(
c2
[
2024
],
_mm_xor_si128
(
c2
[
2034
],
_mm_xor_si128
(
c2
[
3376
],
_mm_xor_si128
(
c2
[
3156
],
_mm_xor_si128
(
c2
[
2709
],
_mm_xor_si128
(
c2
[
1392
],
_mm_xor_si128
(
c2
[
2291
],
_mm_xor_si128
(
c2
[
2952
],
_mm_xor_si128
(
c2
[
2078
],
_mm_xor_si128
(
c2
[
2760
],
_mm_xor_si128
(
c2
[
2317
],
_mm_xor_si128
(
c2
[
1879
],
_mm_xor_si128
(
c2
[
1014
],
_mm_xor_si128
(
c2
[
794
],
_mm_xor_si128
(
c2
[
575
],
_mm_xor_si128
(
c2
[
2772
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
1039
],
_mm_xor_si128
(
c2
[
1506
],
_mm_xor_si128
(
c2
[
2164
],
_mm_xor_si128
(
c2
[
2816
],
_mm_xor_si128
(
c2
[
1745
],
_mm_xor_si128
(
c2
[
1525
],
_mm_xor_si128
(
c2
[
206
],
c2
[
1084
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
396
]
=
_mm_xor_si128
(
c2
[
1984
],
_mm_xor_si128
(
c2
[
2253
],
c2
[
382
]));
//row: 37
d2
[
407
]
=
_mm_xor_si128
(
c2
[
449
],
_mm_xor_si128
(
c2
[
221
],
_mm_xor_si128
(
c2
[
1540
],
_mm_xor_si128
(
c2
[
1323
],
_mm_xor_si128
(
c2
[
1765
],
_mm_xor_si128
(
c2
[
1548
],
_mm_xor_si128
(
c2
[
1130
],
_mm_xor_si128
(
c2
[
902
],
_mm_xor_si128
(
c2
[
3111
],
_mm_xor_si128
(
c2
[
2883
],
_mm_xor_si128
(
c2
[
2444
],
_mm_xor_si128
(
c2
[
2447
],
_mm_xor_si128
(
c2
[
2227
],
_mm_xor_si128
(
c2
[
924
],
_mm_xor_si128
(
c2
[
707
],
_mm_xor_si128
(
c2
[
934
],
_mm_xor_si128
(
c2
[
926
],
_mm_xor_si128
(
c2
[
706
],
_mm_xor_si128
(
c2
[
2056
],
_mm_xor_si128
(
c2
[
1828
],
_mm_xor_si128
(
c2
[
1609
],
_mm_xor_si128
(
c2
[
1392
],
_mm_xor_si128
(
c2
[
292
],
_mm_xor_si128
(
c2
[
75
],
_mm_xor_si128
(
c2
[
1191
],
_mm_xor_si128
(
c2
[
974
],
_mm_xor_si128
(
c2
[
1852
],
_mm_xor_si128
(
c2
[
1635
],
_mm_xor_si128
(
c2
[
978
],
_mm_xor_si128
(
c2
[
970
],
_mm_xor_si128
(
c2
[
750
],
_mm_xor_si128
(
c2
[
1660
],
_mm_xor_si128
(
c2
[
1432
],
_mm_xor_si128
(
c2
[
1217
],
_mm_xor_si128
(
c2
[
1220
],
_mm_xor_si128
(
c2
[
1000
],
_mm_xor_si128
(
c2
[
3213
],
_mm_xor_si128
(
c2
[
2996
],
_mm_xor_si128
(
c2
[
2994
],
_mm_xor_si128
(
c2
[
2777
],
_mm_xor_si128
(
c2
[
1672
],
_mm_xor_si128
(
c2
[
1675
],
_mm_xor_si128
(
c2
[
1455
],
_mm_xor_si128
(
c2
[
2575
],
_mm_xor_si128
(
c2
[
2358
],
_mm_xor_si128
(
c2
[
3458
],
_mm_xor_si128
(
c2
[
3461
],
_mm_xor_si128
(
c2
[
3241
],
_mm_xor_si128
(
c2
[
406
],
_mm_xor_si128
(
c2
[
178
],
_mm_xor_si128
(
c2
[
1064
],
_mm_xor_si128
(
c2
[
836
],
_mm_xor_si128
(
c2
[
1716
],
_mm_xor_si128
(
c2
[
1719
],
_mm_xor_si128
(
c2
[
1499
],
_mm_xor_si128
(
c2
[
425
],
_mm_xor_si128
(
c2
[
208
],
_mm_xor_si128
(
c2
[
2625
],
_mm_xor_si128
(
c2
[
2408
],
_mm_xor_si128
(
c2
[
3503
],
_mm_xor_si128
(
c2
[
3506
],
c2
[
3286
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
418
]
=
_mm_xor_si128
(
c2
[
3310
],
_mm_xor_si128
(
c2
[
3090
],
_mm_xor_si128
(
c2
[
662
],
_mm_xor_si128
(
c2
[
887
],
_mm_xor_si128
(
c2
[
472
],
_mm_xor_si128
(
c2
[
252
],
_mm_xor_si128
(
c2
[
2222
],
_mm_xor_si128
(
c2
[
1566
],
_mm_xor_si128
(
c2
[
29
],
_mm_xor_si128
(
c2
[
266
],
_mm_xor_si128
(
c2
[
46
],
_mm_xor_si128
(
c2
[
45
],
_mm_xor_si128
(
c2
[
1387
],
_mm_xor_si128
(
c2
[
1167
],
_mm_xor_si128
(
c2
[
731
],
_mm_xor_si128
(
c2
[
2933
],
_mm_xor_si128
(
c2
[
313
],
_mm_xor_si128
(
c2
[
974
],
_mm_xor_si128
(
c2
[
89
],
_mm_xor_si128
(
c2
[
771
],
_mm_xor_si128
(
c2
[
339
],
_mm_xor_si128
(
c2
[
1650
],
_mm_xor_si128
(
c2
[
2555
],
_mm_xor_si128
(
c2
[
2335
],
_mm_xor_si128
(
c2
[
2116
],
_mm_xor_si128
(
c2
[
794
],
_mm_xor_si128
(
c2
[
1697
],
_mm_xor_si128
(
c2
[
2580
],
_mm_xor_si128
(
c2
[
3036
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
838
],
_mm_xor_si128
(
c2
[
3286
],
_mm_xor_si128
(
c2
[
3066
],
_mm_xor_si128
(
c2
[
1747
],
c2
[
2625
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
429
]
=
_mm_xor_si128
(
c2
[
1105
],
_mm_xor_si128
(
c2
[
885
],
_mm_xor_si128
(
c2
[
2207
],
_mm_xor_si128
(
c2
[
1987
],
_mm_xor_si128
(
c2
[
2201
],
_mm_xor_si128
(
c2
[
2866
],
_mm_xor_si128
(
c2
[
1786
],
_mm_xor_si128
(
c2
[
1566
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
2891
],
_mm_xor_si128
(
c2
[
1591
],
_mm_xor_si128
(
c2
[
1371
],
_mm_xor_si128
(
c2
[
1370
],
_mm_xor_si128
(
c2
[
2712
],
_mm_xor_si128
(
c2
[
2492
],
_mm_xor_si128
(
c2
[
2276
],
_mm_xor_si128
(
c2
[
2056
],
_mm_xor_si128
(
c2
[
728
],
_mm_xor_si128
(
c2
[
1858
],
_mm_xor_si128
(
c2
[
1638
],
_mm_xor_si128
(
c2
[
2288
],
_mm_xor_si128
(
c2
[
1414
],
_mm_xor_si128
(
c2
[
2316
],
_mm_xor_si128
(
c2
[
2096
],
_mm_xor_si128
(
c2
[
1653
],
_mm_xor_si128
(
c2
[
361
],
_mm_xor_si128
(
c2
[
141
],
_mm_xor_si128
(
c2
[
142
],
_mm_xor_si128
(
c2
[
3441
],
_mm_xor_si128
(
c2
[
2119
],
_mm_xor_si128
(
c2
[
3242
],
_mm_xor_si128
(
c2
[
3022
],
_mm_xor_si128
(
c2
[
375
],
_mm_xor_si128
(
c2
[
1474
],
_mm_xor_si128
(
c2
[
1062
],
_mm_xor_si128
(
c2
[
842
],
_mm_xor_si128
(
c2
[
1500
],
_mm_xor_si128
(
c2
[
2163
],
_mm_xor_si128
(
c2
[
1081
],
_mm_xor_si128
(
c2
[
861
],
_mm_xor_si128
(
c2
[
3281
],
_mm_xor_si128
(
c2
[
3061
],
c2
[
420
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
440
]
=
_mm_xor_si128
(
c2
[
1548
],
_mm_xor_si128
(
c2
[
2863
],
_mm_xor_si128
(
c2
[
2650
],
_mm_xor_si128
(
c2
[
446
],
_mm_xor_si128
(
c2
[
2864
],
_mm_xor_si128
(
c2
[
660
],
_mm_xor_si128
(
c2
[
2229
],
_mm_xor_si128
(
c2
[
25
],
_mm_xor_si128
(
c2
[
691
],
_mm_xor_si128
(
c2
[
2006
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
1570
],
_mm_xor_si128
(
c2
[
1350
],
_mm_xor_si128
(
c2
[
2034
],
_mm_xor_si128
(
c2
[
3349
],
_mm_xor_si128
(
c2
[
2033
],
_mm_xor_si128
(
c2
[
49
],
_mm_xor_si128
(
c2
[
3348
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
3155
],
_mm_xor_si128
(
c2
[
951
],
_mm_xor_si128
(
c2
[
2708
],
_mm_xor_si128
(
c2
[
515
],
_mm_xor_si128
(
c2
[
1391
],
_mm_xor_si128
(
c2
[
2706
],
_mm_xor_si128
(
c2
[
2290
],
_mm_xor_si128
(
c2
[
97
],
_mm_xor_si128
(
c2
[
2951
],
_mm_xor_si128
(
c2
[
758
],
_mm_xor_si128
(
c2
[
2077
],
_mm_xor_si128
(
c2
[
93
],
_mm_xor_si128
(
c2
[
3392
],
_mm_xor_si128
(
c2
[
2759
],
_mm_xor_si128
(
c2
[
555
],
_mm_xor_si128
(
c2
[
2316
],
_mm_xor_si128
(
c2
[
332
],
_mm_xor_si128
(
c2
[
112
],
_mm_xor_si128
(
c2
[
793
],
_mm_xor_si128
(
c2
[
2119
],
_mm_xor_si128
(
c2
[
574
],
_mm_xor_si128
(
c2
[
1900
],
_mm_xor_si128
(
c2
[
2782
],
_mm_xor_si128
(
c2
[
798
],
_mm_xor_si128
(
c2
[
578
],
_mm_xor_si128
(
c2
[
155
],
_mm_xor_si128
(
c2
[
1481
],
_mm_xor_si128
(
c2
[
1038
],
_mm_xor_si128
(
c2
[
2584
],
_mm_xor_si128
(
c2
[
2364
],
_mm_xor_si128
(
c2
[
1505
],
_mm_xor_si128
(
c2
[
2820
],
_mm_xor_si128
(
c2
[
2163
],
_mm_xor_si128
(
c2
[
3478
],
_mm_xor_si128
(
c2
[
2826
],
_mm_xor_si128
(
c2
[
842
],
_mm_xor_si128
(
c2
[
622
],
_mm_xor_si128
(
c2
[
1524
],
_mm_xor_si128
(
c2
[
2839
],
_mm_xor_si128
(
c2
[
205
],
_mm_xor_si128
(
c2
[
1520
],
_mm_xor_si128
(
c2
[
1083
],
_mm_xor_si128
(
c2
[
2618
],
c2
[
2398
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
451
]
=
_mm_xor_si128
(
c2
[
890
],
_mm_xor_si128
(
c2
[
670
],
_mm_xor_si128
(
c2
[
1761
],
_mm_xor_si128
(
c2
[
1986
],
_mm_xor_si128
(
c2
[
1571
],
_mm_xor_si128
(
c2
[
1351
],
_mm_xor_si128
(
c2
[
3332
],
_mm_xor_si128
(
c2
[
2665
],
_mm_xor_si128
(
c2
[
910
],
_mm_xor_si128
(
c2
[
1365
],
_mm_xor_si128
(
c2
[
1145
],
_mm_xor_si128
(
c2
[
1144
],
_mm_xor_si128
(
c2
[
2486
],
_mm_xor_si128
(
c2
[
2266
],
_mm_xor_si128
(
c2
[
1830
],
_mm_xor_si128
(
c2
[
513
],
_mm_xor_si128
(
c2
[
1412
],
_mm_xor_si128
(
c2
[
2073
],
_mm_xor_si128
(
c2
[
1188
],
_mm_xor_si128
(
c2
[
1870
],
_mm_xor_si128
(
c2
[
1438
],
_mm_xor_si128
(
c2
[
1430
],
_mm_xor_si128
(
c2
[
135
],
_mm_xor_si128
(
c2
[
3434
],
_mm_xor_si128
(
c2
[
3215
],
_mm_xor_si128
(
c2
[
1893
],
_mm_xor_si128
(
c2
[
2796
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
616
],
_mm_xor_si128
(
c2
[
1285
],
_mm_xor_si128
(
c2
[
1937
],
_mm_xor_si128
(
c2
[
866
],
_mm_xor_si128
(
c2
[
646
],
_mm_xor_si128
(
c2
[
2846
],
c2
[
205
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc192_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=192, byte encoding
static
inline
void
ldpc_BG2_Zc192_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m256i
*
csimd
=
(
__m256i
*
)
c
,
*
dsimd
=
(
__m256i
*
)
d
;
__m256i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
6
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm256_xor_si256
(
c2
[
1565
],
_mm256_xor_si256
(
c2
[
3120
],
_mm256_xor_si256
(
c2
[
2880
],
_mm256_xor_si256
(
c2
[
15
],
_mm256_xor_si256
(
c2
[
2055
],
_mm256_xor_si256
(
c2
[
856
],
_mm256_xor_si256
(
c2
[
629
],
_mm256_xor_si256
(
c2
[
1709
],
_mm256_xor_si256
(
c2
[
158
],
_mm256_xor_si256
(
c2
[
397
],
_mm256_xor_si256
(
c2
[
2439
],
_mm256_xor_si256
(
c2
[
1849
],
_mm256_xor_si256
(
c2
[
1611
],
_mm256_xor_si256
(
c2
[
1971
],
_mm256_xor_si256
(
c2
[
3302
],
_mm256_xor_si256
(
c2
[
902
],
_mm256_xor_si256
(
c2
[
794
],
_mm256_xor_si256
(
c2
[
3672
],
_mm256_xor_si256
(
c2
[
3195
],
_mm256_xor_si256
(
c2
[
3209
],
_mm256_xor_si256
(
c2
[
2607
],
_mm256_xor_si256
(
c2
[
2981
],
_mm256_xor_si256
(
c2
[
2139
],
_mm256_xor_si256
(
c2
[
3336
],
_mm256_xor_si256
(
c2
[
1433
],
_mm256_xor_si256
(
c2
[
348
],
c2
[
3113
]))))))))))))))))))))))))));
//row: 1
d2
[
6
]
=
_mm256_xor_si256
(
c2
[
1685
],
_mm256_xor_si256
(
c2
[
1565
],
_mm256_xor_si256
(
c2
[
3120
],
_mm256_xor_si256
(
c2
[
2880
],
_mm256_xor_si256
(
c2
[
135
],
_mm256_xor_si256
(
c2
[
15
],
_mm256_xor_si256
(
c2
[
2055
],
_mm256_xor_si256
(
c2
[
856
],
_mm256_xor_si256
(
c2
[
749
],
_mm256_xor_si256
(
c2
[
629
],
_mm256_xor_si256
(
c2
[
1709
],
_mm256_xor_si256
(
c2
[
278
],
_mm256_xor_si256
(
c2
[
158
],
_mm256_xor_si256
(
c2
[
397
],
_mm256_xor_si256
(
c2
[
2439
],
_mm256_xor_si256
(
c2
[
1849
],
_mm256_xor_si256
(
c2
[
1611
],
_mm256_xor_si256
(
c2
[
1971
],
_mm256_xor_si256
(
c2
[
3302
],
_mm256_xor_si256
(
c2
[
902
],
_mm256_xor_si256
(
c2
[
914
],
_mm256_xor_si256
(
c2
[
794
],
_mm256_xor_si256
(
c2
[
3672
],
_mm256_xor_si256
(
c2
[
3195
],
_mm256_xor_si256
(
c2
[
3209
],
_mm256_xor_si256
(
c2
[
2607
],
_mm256_xor_si256
(
c2
[
2981
],
_mm256_xor_si256
(
c2
[
2139
],
_mm256_xor_si256
(
c2
[
3336
],
_mm256_xor_si256
(
c2
[
1553
],
_mm256_xor_si256
(
c2
[
1433
],
_mm256_xor_si256
(
c2
[
348
],
c2
[
3113
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
12
]
=
_mm256_xor_si256
(
c2
[
1685
],
_mm256_xor_si256
(
c2
[
1565
],
_mm256_xor_si256
(
c2
[
3240
],
_mm256_xor_si256
(
c2
[
3120
],
_mm256_xor_si256
(
c2
[
2880
],
_mm256_xor_si256
(
c2
[
135
],
_mm256_xor_si256
(
c2
[
15
],
_mm256_xor_si256
(
c2
[
2055
],
_mm256_xor_si256
(
c2
[
856
],
_mm256_xor_si256
(
c2
[
749
],
_mm256_xor_si256
(
c2
[
629
],
_mm256_xor_si256
(
c2
[
1709
],
_mm256_xor_si256
(
c2
[
278
],
_mm256_xor_si256
(
c2
[
158
],
_mm256_xor_si256
(
c2
[
517
],
_mm256_xor_si256
(
c2
[
397
],
_mm256_xor_si256
(
c2
[
2439
],
_mm256_xor_si256
(
c2
[
1969
],
_mm256_xor_si256
(
c2
[
1849
],
_mm256_xor_si256
(
c2
[
1611
],
_mm256_xor_si256
(
c2
[
1971
],
_mm256_xor_si256
(
c2
[
3422
],
_mm256_xor_si256
(
c2
[
3302
],
_mm256_xor_si256
(
c2
[
902
],
_mm256_xor_si256
(
c2
[
914
],
_mm256_xor_si256
(
c2
[
794
],
_mm256_xor_si256
(
c2
[
3792
],
_mm256_xor_si256
(
c2
[
3672
],
_mm256_xor_si256
(
c2
[
3195
],
_mm256_xor_si256
(
c2
[
3329
],
_mm256_xor_si256
(
c2
[
3209
],
_mm256_xor_si256
(
c2
[
2607
],
_mm256_xor_si256
(
c2
[
3101
],
_mm256_xor_si256
(
c2
[
2981
],
_mm256_xor_si256
(
c2
[
2139
],
_mm256_xor_si256
(
c2
[
3336
],
_mm256_xor_si256
(
c2
[
1553
],
_mm256_xor_si256
(
c2
[
1433
],
_mm256_xor_si256
(
c2
[
468
],
_mm256_xor_si256
(
c2
[
348
],
c2
[
3113
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
18
]
=
_mm256_xor_si256
(
c2
[
1565
],
_mm256_xor_si256
(
c2
[
3120
],
_mm256_xor_si256
(
c2
[
2880
],
_mm256_xor_si256
(
c2
[
15
],
_mm256_xor_si256
(
c2
[
2055
],
_mm256_xor_si256
(
c2
[
976
],
_mm256_xor_si256
(
c2
[
856
],
_mm256_xor_si256
(
c2
[
629
],
_mm256_xor_si256
(
c2
[
1829
],
_mm256_xor_si256
(
c2
[
1709
],
_mm256_xor_si256
(
c2
[
158
],
_mm256_xor_si256
(
c2
[
397
],
_mm256_xor_si256
(
c2
[
2439
],
_mm256_xor_si256
(
c2
[
1849
],
_mm256_xor_si256
(
c2
[
1611
],
_mm256_xor_si256
(
c2
[
2091
],
_mm256_xor_si256
(
c2
[
1971
],
_mm256_xor_si256
(
c2
[
3302
],
_mm256_xor_si256
(
c2
[
1022
],
_mm256_xor_si256
(
c2
[
902
],
_mm256_xor_si256
(
c2
[
794
],
_mm256_xor_si256
(
c2
[
3672
],
_mm256_xor_si256
(
c2
[
3315
],
_mm256_xor_si256
(
c2
[
3195
],
_mm256_xor_si256
(
c2
[
3209
],
_mm256_xor_si256
(
c2
[
2727
],
_mm256_xor_si256
(
c2
[
2607
],
_mm256_xor_si256
(
c2
[
2981
],
_mm256_xor_si256
(
c2
[
2139
],
_mm256_xor_si256
(
c2
[
3456
],
_mm256_xor_si256
(
c2
[
3336
],
_mm256_xor_si256
(
c2
[
1433
],
_mm256_xor_si256
(
c2
[
348
],
_mm256_xor_si256
(
c2
[
3233
],
c2
[
3113
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
24
]
=
_mm256_xor_si256
(
c2
[
1320
],
_mm256_xor_si256
(
c2
[
1200
],
_mm256_xor_si256
(
c2
[
2761
],
_mm256_xor_si256
(
c2
[
2521
],
_mm256_xor_si256
(
c2
[
962
],
_mm256_xor_si256
(
c2
[
3615
],
_mm256_xor_si256
(
c2
[
3495
],
_mm256_xor_si256
(
c2
[
1696
],
_mm256_xor_si256
(
c2
[
497
],
_mm256_xor_si256
(
c2
[
1214
],
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
264
],
_mm256_xor_si256
(
c2
[
1344
],
_mm256_xor_si256
(
c2
[
3758
],
_mm256_xor_si256
(
c2
[
3638
],
_mm256_xor_si256
(
c2
[
38
],
_mm256_xor_si256
(
c2
[
2080
],
_mm256_xor_si256
(
c2
[
1490
],
_mm256_xor_si256
(
c2
[
1252
],
_mm256_xor_si256
(
c2
[
1612
],
_mm256_xor_si256
(
c2
[
2943
],
_mm256_xor_si256
(
c2
[
543
],
_mm256_xor_si256
(
c2
[
555
],
_mm256_xor_si256
(
c2
[
435
],
_mm256_xor_si256
(
c2
[
3313
],
_mm256_xor_si256
(
c2
[
2836
],
_mm256_xor_si256
(
c2
[
2844
],
_mm256_xor_si256
(
c2
[
2248
],
_mm256_xor_si256
(
c2
[
2616
],
_mm256_xor_si256
(
c2
[
1780
],
_mm256_xor_si256
(
c2
[
2977
],
_mm256_xor_si256
(
c2
[
1188
],
_mm256_xor_si256
(
c2
[
1068
],
_mm256_xor_si256
(
c2
[
3828
],
c2
[
2748
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
30
]
=
_mm256_xor_si256
(
c2
[
3600
],
_mm256_xor_si256
(
c2
[
3480
],
_mm256_xor_si256
(
c2
[
1202
],
_mm256_xor_si256
(
c2
[
962
],
_mm256_xor_si256
(
c2
[
1200
],
_mm256_xor_si256
(
c2
[
2056
],
_mm256_xor_si256
(
c2
[
1936
],
_mm256_xor_si256
(
c2
[
137
],
_mm256_xor_si256
(
c2
[
2777
],
_mm256_xor_si256
(
c2
[
1453
],
_mm256_xor_si256
(
c2
[
2664
],
_mm256_xor_si256
(
c2
[
2544
],
_mm256_xor_si256
(
c2
[
3624
],
_mm256_xor_si256
(
c2
[
2199
],
_mm256_xor_si256
(
c2
[
2079
],
_mm256_xor_si256
(
c2
[
2318
],
_mm256_xor_si256
(
c2
[
521
],
_mm256_xor_si256
(
c2
[
3770
],
_mm256_xor_si256
(
c2
[
3532
],
_mm256_xor_si256
(
c2
[
53
],
_mm256_xor_si256
(
c2
[
1384
],
_mm256_xor_si256
(
c2
[
2823
],
_mm256_xor_si256
(
c2
[
3063
],
_mm256_xor_si256
(
c2
[
2835
],
_mm256_xor_si256
(
c2
[
2715
],
_mm256_xor_si256
(
c2
[
1754
],
_mm256_xor_si256
(
c2
[
1277
],
_mm256_xor_si256
(
c2
[
1285
],
_mm256_xor_si256
(
c2
[
689
],
_mm256_xor_si256
(
c2
[
2006
],
_mm256_xor_si256
(
c2
[
1057
],
_mm256_xor_si256
(
c2
[
221
],
_mm256_xor_si256
(
c2
[
1418
],
_mm256_xor_si256
(
c2
[
3468
],
_mm256_xor_si256
(
c2
[
3348
],
_mm256_xor_si256
(
c2
[
2269
],
c2
[
1189
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
36
]
=
_mm256_xor_si256
(
c2
[
725
],
_mm256_xor_si256
(
c2
[
605
],
_mm256_xor_si256
(
c2
[
2160
],
_mm256_xor_si256
(
c2
[
1920
],
_mm256_xor_si256
(
c2
[
124
],
_mm256_xor_si256
(
c2
[
3014
],
_mm256_xor_si256
(
c2
[
2894
],
_mm256_xor_si256
(
c2
[
1095
],
_mm256_xor_si256
(
c2
[
3735
],
_mm256_xor_si256
(
c2
[
3628
],
_mm256_xor_si256
(
c2
[
3508
],
_mm256_xor_si256
(
c2
[
749
],
_mm256_xor_si256
(
c2
[
3157
],
_mm256_xor_si256
(
c2
[
3037
],
_mm256_xor_si256
(
c2
[
3276
],
_mm256_xor_si256
(
c2
[
1479
],
_mm256_xor_si256
(
c2
[
889
],
_mm256_xor_si256
(
c2
[
651
],
_mm256_xor_si256
(
c2
[
1011
],
_mm256_xor_si256
(
c2
[
2342
],
_mm256_xor_si256
(
c2
[
3781
],
_mm256_xor_si256
(
c2
[
3422
],
_mm256_xor_si256
(
c2
[
3793
],
_mm256_xor_si256
(
c2
[
3673
],
_mm256_xor_si256
(
c2
[
2712
],
_mm256_xor_si256
(
c2
[
2235
],
_mm256_xor_si256
(
c2
[
2249
],
_mm256_xor_si256
(
c2
[
1647
],
_mm256_xor_si256
(
c2
[
567
],
_mm256_xor_si256
(
c2
[
2021
],
_mm256_xor_si256
(
c2
[
1179
],
_mm256_xor_si256
(
c2
[
2376
],
_mm256_xor_si256
(
c2
[
593
],
_mm256_xor_si256
(
c2
[
473
],
_mm256_xor_si256
(
c2
[
3233
],
_mm256_xor_si256
(
c2
[
2153
],
c2
[
2149
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
42
]
=
_mm256_xor_si256
(
c2
[
2402
],
_mm256_xor_si256
(
c2
[
2282
],
_mm256_xor_si256
(
c2
[
3363
],
_mm256_xor_si256
(
c2
[
4
],
_mm256_xor_si256
(
c2
[
1085
],
_mm256_xor_si256
(
c2
[
3603
],
_mm256_xor_si256
(
c2
[
845
],
_mm256_xor_si256
(
c2
[
852
],
_mm256_xor_si256
(
c2
[
732
],
_mm256_xor_si256
(
c2
[
1813
],
_mm256_xor_si256
(
c2
[
2772
],
_mm256_xor_si256
(
c2
[
14
],
_mm256_xor_si256
(
c2
[
1573
],
_mm256_xor_si256
(
c2
[
2774
],
_mm256_xor_si256
(
c2
[
2654
],
_mm256_xor_si256
(
c2
[
1934
],
_mm256_xor_si256
(
c2
[
1466
],
_mm256_xor_si256
(
c2
[
1346
],
_mm256_xor_si256
(
c2
[
2427
],
_mm256_xor_si256
(
c2
[
2426
],
_mm256_xor_si256
(
c2
[
3627
],
_mm256_xor_si256
(
c2
[
3507
],
_mm256_xor_si256
(
c2
[
1001
],
_mm256_xor_si256
(
c2
[
881
],
_mm256_xor_si256
(
c2
[
1956
],
_mm256_xor_si256
(
c2
[
1120
],
_mm256_xor_si256
(
c2
[
2201
],
_mm256_xor_si256
(
c2
[
3156
],
_mm256_xor_si256
(
c2
[
398
],
_mm256_xor_si256
(
c2
[
2572
],
_mm256_xor_si256
(
c2
[
3653
],
_mm256_xor_si256
(
c2
[
2328
],
_mm256_xor_si256
(
c2
[
3409
],
_mm256_xor_si256
(
c2
[
2688
],
_mm256_xor_si256
(
c2
[
50
],
_mm256_xor_si256
(
c2
[
3769
],
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
1261
],
_mm256_xor_si256
(
c2
[
1625
],
_mm256_xor_si256
(
c2
[
2820
],
_mm256_xor_si256
(
c2
[
2700
],
_mm256_xor_si256
(
c2
[
3185
],
_mm256_xor_si256
(
c2
[
1637
],
_mm256_xor_si256
(
c2
[
1517
],
_mm256_xor_si256
(
c2
[
2592
],
_mm256_xor_si256
(
c2
[
556
],
_mm256_xor_si256
(
c2
[
1637
],
_mm256_xor_si256
(
c2
[
73
],
_mm256_xor_si256
(
c2
[
1274
],
_mm256_xor_si256
(
c2
[
1154
],
_mm256_xor_si256
(
c2
[
87
],
_mm256_xor_si256
(
c2
[
1168
],
_mm256_xor_si256
(
c2
[
3324
],
_mm256_xor_si256
(
c2
[
686
],
_mm256_xor_si256
(
c2
[
566
],
_mm256_xor_si256
(
c2
[
2004
],
_mm256_xor_si256
(
c2
[
3698
],
_mm256_xor_si256
(
c2
[
940
],
_mm256_xor_si256
(
c2
[
2856
],
_mm256_xor_si256
(
c2
[
98
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
1421
],
_mm256_xor_si256
(
c2
[
1301
],
_mm256_xor_si256
(
c2
[
2270
],
_mm256_xor_si256
(
c2
[
2150
],
_mm256_xor_si256
(
c2
[
3231
],
_mm256_xor_si256
(
c2
[
1071
],
_mm256_xor_si256
(
c2
[
2152
],
_mm256_xor_si256
(
c2
[
3830
],
_mm256_xor_si256
(
c2
[
1192
],
c2
[
1072
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
48
]
=
_mm256_xor_si256
(
c2
[
724
],
_mm256_xor_si256
(
c2
[
604
],
_mm256_xor_si256
(
c2
[
2285
],
_mm256_xor_si256
(
c2
[
2165
],
_mm256_xor_si256
(
c2
[
1925
],
_mm256_xor_si256
(
c2
[
2643
],
_mm256_xor_si256
(
c2
[
3013
],
_mm256_xor_si256
(
c2
[
2893
],
_mm256_xor_si256
(
c2
[
1094
],
_mm256_xor_si256
(
c2
[
3734
],
_mm256_xor_si256
(
c2
[
734
],
_mm256_xor_si256
(
c2
[
3627
],
_mm256_xor_si256
(
c2
[
3507
],
_mm256_xor_si256
(
c2
[
748
],
_mm256_xor_si256
(
c2
[
3156
],
_mm256_xor_si256
(
c2
[
3036
],
_mm256_xor_si256
(
c2
[
3401
],
_mm256_xor_si256
(
c2
[
3281
],
_mm256_xor_si256
(
c2
[
1478
],
_mm256_xor_si256
(
c2
[
1008
],
_mm256_xor_si256
(
c2
[
888
],
_mm256_xor_si256
(
c2
[
650
],
_mm256_xor_si256
(
c2
[
1010
],
_mm256_xor_si256
(
c2
[
2461
],
_mm256_xor_si256
(
c2
[
2341
],
_mm256_xor_si256
(
c2
[
3780
],
_mm256_xor_si256
(
c2
[
3792
],
_mm256_xor_si256
(
c2
[
3672
],
_mm256_xor_si256
(
c2
[
2837
],
_mm256_xor_si256
(
c2
[
2717
],
_mm256_xor_si256
(
c2
[
2234
],
_mm256_xor_si256
(
c2
[
2368
],
_mm256_xor_si256
(
c2
[
2248
],
_mm256_xor_si256
(
c2
[
1646
],
_mm256_xor_si256
(
c2
[
2140
],
_mm256_xor_si256
(
c2
[
2020
],
_mm256_xor_si256
(
c2
[
1178
],
_mm256_xor_si256
(
c2
[
2381
],
_mm256_xor_si256
(
c2
[
592
],
_mm256_xor_si256
(
c2
[
472
],
_mm256_xor_si256
(
c2
[
3352
],
_mm256_xor_si256
(
c2
[
3232
],
c2
[
2152
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
54
]
=
_mm256_xor_si256
(
c2
[
725
],
_mm256_xor_si256
(
c2
[
5
],
_mm256_xor_si256
(
c2
[
3724
],
_mm256_xor_si256
(
c2
[
2280
],
_mm256_xor_si256
(
c2
[
1440
],
_mm256_xor_si256
(
c2
[
2040
],
_mm256_xor_si256
(
c2
[
1200
],
_mm256_xor_si256
(
c2
[
3014
],
_mm256_xor_si256
(
c2
[
2294
],
_mm256_xor_si256
(
c2
[
2174
],
_mm256_xor_si256
(
c2
[
1215
],
_mm256_xor_si256
(
c2
[
375
],
_mm256_xor_si256
(
c2
[
16
],
_mm256_xor_si256
(
c2
[
3015
],
_mm256_xor_si256
(
c2
[
3372
],
_mm256_xor_si256
(
c2
[
3628
],
_mm256_xor_si256
(
c2
[
2908
],
_mm256_xor_si256
(
c2
[
2788
],
_mm256_xor_si256
(
c2
[
869
],
_mm256_xor_si256
(
c2
[
29
],
_mm256_xor_si256
(
c2
[
3157
],
_mm256_xor_si256
(
c2
[
2437
],
_mm256_xor_si256
(
c2
[
2317
],
_mm256_xor_si256
(
c2
[
3396
],
_mm256_xor_si256
(
c2
[
2556
],
_mm256_xor_si256
(
c2
[
1599
],
_mm256_xor_si256
(
c2
[
759
],
_mm256_xor_si256
(
c2
[
1009
],
_mm256_xor_si256
(
c2
[
169
],
_mm256_xor_si256
(
c2
[
771
],
_mm256_xor_si256
(
c2
[
3770
],
_mm256_xor_si256
(
c2
[
1131
],
_mm256_xor_si256
(
c2
[
291
],
_mm256_xor_si256
(
c2
[
2462
],
_mm256_xor_si256
(
c2
[
1622
],
_mm256_xor_si256
(
c2
[
62
],
_mm256_xor_si256
(
c2
[
3061
],
_mm256_xor_si256
(
c2
[
3793
],
_mm256_xor_si256
(
c2
[
3073
],
_mm256_xor_si256
(
c2
[
2953
],
_mm256_xor_si256
(
c2
[
2832
],
_mm256_xor_si256
(
c2
[
1992
],
_mm256_xor_si256
(
c2
[
2355
],
_mm256_xor_si256
(
c2
[
1515
],
_mm256_xor_si256
(
c2
[
2369
],
_mm256_xor_si256
(
c2
[
1529
],
_mm256_xor_si256
(
c2
[
1767
],
_mm256_xor_si256
(
c2
[
927
],
_mm256_xor_si256
(
c2
[
2141
],
_mm256_xor_si256
(
c2
[
1301
],
_mm256_xor_si256
(
c2
[
1299
],
_mm256_xor_si256
(
c2
[
459
],
_mm256_xor_si256
(
c2
[
2496
],
_mm256_xor_si256
(
c2
[
1656
],
_mm256_xor_si256
(
c2
[
580
],
_mm256_xor_si256
(
c2
[
593
],
_mm256_xor_si256
(
c2
[
3712
],
_mm256_xor_si256
(
c2
[
3592
],
_mm256_xor_si256
(
c2
[
3353
],
_mm256_xor_si256
(
c2
[
2513
],
_mm256_xor_si256
(
c2
[
2273
],
c2
[
1433
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
60
]
=
_mm256_xor_si256
(
c2
[
3241
],
_mm256_xor_si256
(
c2
[
975
],
_mm256_xor_si256
(
c2
[
2712
],
c2
[
2485
])));
//row: 11
d2
[
66
]
=
_mm256_xor_si256
(
c2
[
844
],
_mm256_xor_si256
(
c2
[
2405
],
_mm256_xor_si256
(
c2
[
2165
],
_mm256_xor_si256
(
c2
[
1
],
_mm256_xor_si256
(
c2
[
3133
],
_mm256_xor_si256
(
c2
[
1334
],
_mm256_xor_si256
(
c2
[
255
],
_mm256_xor_si256
(
c2
[
135
],
_mm256_xor_si256
(
c2
[
3747
],
_mm256_xor_si256
(
c2
[
1108
],
_mm256_xor_si256
(
c2
[
988
],
_mm256_xor_si256
(
c2
[
3276
],
_mm256_xor_si256
(
c2
[
3521
],
_mm256_xor_si256
(
c2
[
1718
],
_mm256_xor_si256
(
c2
[
1128
],
_mm256_xor_si256
(
c2
[
890
],
_mm256_xor_si256
(
c2
[
1370
],
_mm256_xor_si256
(
c2
[
1250
],
_mm256_xor_si256
(
c2
[
2581
],
_mm256_xor_si256
(
c2
[
301
],
_mm256_xor_si256
(
c2
[
181
],
_mm256_xor_si256
(
c2
[
73
],
_mm256_xor_si256
(
c2
[
2957
],
_mm256_xor_si256
(
c2
[
2594
],
_mm256_xor_si256
(
c2
[
2474
],
_mm256_xor_si256
(
c2
[
2488
],
_mm256_xor_si256
(
c2
[
2006
],
_mm256_xor_si256
(
c2
[
1886
],
_mm256_xor_si256
(
c2
[
3446
],
_mm256_xor_si256
(
c2
[
2260
],
_mm256_xor_si256
(
c2
[
1418
],
_mm256_xor_si256
(
c2
[
2741
],
_mm256_xor_si256
(
c2
[
2621
],
_mm256_xor_si256
(
c2
[
712
],
_mm256_xor_si256
(
c2
[
3472
],
_mm256_xor_si256
(
c2
[
2512
],
_mm256_xor_si256
(
c2
[
2392
],
c2
[
1793
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
72
]
=
_mm256_xor_si256
(
c2
[
3005
],
_mm256_xor_si256
(
c2
[
2885
],
_mm256_xor_si256
(
c2
[
601
],
_mm256_xor_si256
(
c2
[
361
],
_mm256_xor_si256
(
c2
[
1455
],
_mm256_xor_si256
(
c2
[
1335
],
_mm256_xor_si256
(
c2
[
3375
],
_mm256_xor_si256
(
c2
[
2176
],
_mm256_xor_si256
(
c2
[
853
],
_mm256_xor_si256
(
c2
[
2069
],
_mm256_xor_si256
(
c2
[
1949
],
_mm256_xor_si256
(
c2
[
3029
],
_mm256_xor_si256
(
c2
[
1598
],
_mm256_xor_si256
(
c2
[
1478
],
_mm256_xor_si256
(
c2
[
1717
],
_mm256_xor_si256
(
c2
[
3759
],
_mm256_xor_si256
(
c2
[
3518
],
_mm256_xor_si256
(
c2
[
3169
],
_mm256_xor_si256
(
c2
[
2931
],
_mm256_xor_si256
(
c2
[
3291
],
_mm256_xor_si256
(
c2
[
783
],
_mm256_xor_si256
(
c2
[
2222
],
_mm256_xor_si256
(
c2
[
2234
],
_mm256_xor_si256
(
c2
[
2114
],
_mm256_xor_si256
(
c2
[
1153
],
_mm256_xor_si256
(
c2
[
676
],
_mm256_xor_si256
(
c2
[
684
],
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
456
],
_mm256_xor_si256
(
c2
[
3459
],
_mm256_xor_si256
(
c2
[
817
],
_mm256_xor_si256
(
c2
[
2873
],
_mm256_xor_si256
(
c2
[
2753
],
_mm256_xor_si256
(
c2
[
1668
],
c2
[
588
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
78
]
=
_mm256_xor_si256
(
c2
[
2284
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
3605
],
_mm256_xor_si256
(
c2
[
2041
],
_mm256_xor_si256
(
c2
[
734
],
_mm256_xor_si256
(
c2
[
2774
],
_mm256_xor_si256
(
c2
[
1695
],
_mm256_xor_si256
(
c2
[
1575
],
_mm256_xor_si256
(
c2
[
3495
],
_mm256_xor_si256
(
c2
[
1348
],
_mm256_xor_si256
(
c2
[
2548
],
_mm256_xor_si256
(
c2
[
2428
],
_mm256_xor_si256
(
c2
[
877
],
_mm256_xor_si256
(
c2
[
1116
],
_mm256_xor_si256
(
c2
[
3158
],
_mm256_xor_si256
(
c2
[
2568
],
_mm256_xor_si256
(
c2
[
2330
],
_mm256_xor_si256
(
c2
[
2810
],
_mm256_xor_si256
(
c2
[
2690
],
_mm256_xor_si256
(
c2
[
182
],
_mm256_xor_si256
(
c2
[
1741
],
_mm256_xor_si256
(
c2
[
1621
],
_mm256_xor_si256
(
c2
[
1513
],
_mm256_xor_si256
(
c2
[
552
],
_mm256_xor_si256
(
c2
[
195
],
_mm256_xor_si256
(
c2
[
75
],
_mm256_xor_si256
(
c2
[
89
],
_mm256_xor_si256
(
c2
[
3446
],
_mm256_xor_si256
(
c2
[
3326
],
_mm256_xor_si256
(
c2
[
3700
],
_mm256_xor_si256
(
c2
[
2858
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
216
],
_mm256_xor_si256
(
c2
[
457
],
_mm256_xor_si256
(
c2
[
2152
],
_mm256_xor_si256
(
c2
[
1073
],
_mm256_xor_si256
(
c2
[
113
],
c2
[
3832
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
84
]
=
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
240
],
_mm256_xor_si256
(
c2
[
1924
],
_mm256_xor_si256
(
c2
[
1801
],
_mm256_xor_si256
(
c2
[
3485
],
_mm256_xor_si256
(
c2
[
1561
],
_mm256_xor_si256
(
c2
[
3245
],
_mm256_xor_si256
(
c2
[
2655
],
_mm256_xor_si256
(
c2
[
2535
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
736
],
_mm256_xor_si256
(
c2
[
2414
],
_mm256_xor_si256
(
c2
[
3376
],
_mm256_xor_si256
(
c2
[
1335
],
_mm256_xor_si256
(
c2
[
1215
],
_mm256_xor_si256
(
c2
[
2292
],
_mm256_xor_si256
(
c2
[
3269
],
_mm256_xor_si256
(
c2
[
3149
],
_mm256_xor_si256
(
c2
[
988
],
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
2188
],
_mm256_xor_si256
(
c2
[
2068
],
_mm256_xor_si256
(
c2
[
2798
],
_mm256_xor_si256
(
c2
[
2678
],
_mm256_xor_si256
(
c2
[
517
],
_mm256_xor_si256
(
c2
[
2917
],
_mm256_xor_si256
(
c2
[
756
],
_mm256_xor_si256
(
c2
[
1120
],
_mm256_xor_si256
(
c2
[
2798
],
_mm256_xor_si256
(
c2
[
530
],
_mm256_xor_si256
(
c2
[
2208
],
_mm256_xor_si256
(
c2
[
292
],
_mm256_xor_si256
(
c2
[
1970
],
_mm256_xor_si256
(
c2
[
652
],
_mm256_xor_si256
(
c2
[
2450
],
_mm256_xor_si256
(
c2
[
2330
],
_mm256_xor_si256
(
c2
[
1983
],
_mm256_xor_si256
(
c2
[
3661
],
_mm256_xor_si256
(
c2
[
3422
],
_mm256_xor_si256
(
c2
[
1381
],
_mm256_xor_si256
(
c2
[
1261
],
_mm256_xor_si256
(
c2
[
3434
],
_mm256_xor_si256
(
c2
[
3314
],
_mm256_xor_si256
(
c2
[
1153
],
_mm256_xor_si256
(
c2
[
2353
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
1876
],
_mm256_xor_si256
(
c2
[
3674
],
_mm256_xor_si256
(
c2
[
3554
],
_mm256_xor_si256
(
c2
[
2715
],
_mm256_xor_si256
(
c2
[
1884
],
_mm256_xor_si256
(
c2
[
3568
],
_mm256_xor_si256
(
c2
[
1288
],
_mm256_xor_si256
(
c2
[
3086
],
_mm256_xor_si256
(
c2
[
2966
],
_mm256_xor_si256
(
c2
[
1656
],
_mm256_xor_si256
(
c2
[
3340
],
_mm256_xor_si256
(
c2
[
820
],
_mm256_xor_si256
(
c2
[
2498
],
_mm256_xor_si256
(
c2
[
2017
],
_mm256_xor_si256
(
c2
[
3821
],
_mm256_xor_si256
(
c2
[
3701
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
1792
],
_mm256_xor_si256
(
c2
[
2868
],
_mm256_xor_si256
(
c2
[
713
],
_mm256_xor_si256
(
c2
[
1788
],
_mm256_xor_si256
(
c2
[
3592
],
c2
[
3472
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
90
]
=
_mm256_xor_si256
(
c2
[
1441
],
_mm256_xor_si256
(
c2
[
3721
],
_mm256_xor_si256
(
c2
[
3601
],
_mm256_xor_si256
(
c2
[
3002
],
_mm256_xor_si256
(
c2
[
1323
],
_mm256_xor_si256
(
c2
[
2762
],
_mm256_xor_si256
(
c2
[
1083
],
_mm256_xor_si256
(
c2
[
482
],
_mm256_xor_si256
(
c2
[
3736
],
_mm256_xor_si256
(
c2
[
2177
],
_mm256_xor_si256
(
c2
[
2057
],
_mm256_xor_si256
(
c2
[
1937
],
_mm256_xor_si256
(
c2
[
252
],
_mm256_xor_si256
(
c2
[
732
],
_mm256_xor_si256
(
c2
[
2892
],
_mm256_xor_si256
(
c2
[
505
],
_mm256_xor_si256
(
c2
[
2785
],
_mm256_xor_si256
(
c2
[
2665
],
_mm256_xor_si256
(
c2
[
1585
],
_mm256_xor_si256
(
c2
[
3745
],
_mm256_xor_si256
(
c2
[
40
],
_mm256_xor_si256
(
c2
[
2320
],
_mm256_xor_si256
(
c2
[
2200
],
_mm256_xor_si256
(
c2
[
279
],
_mm256_xor_si256
(
c2
[
2439
],
_mm256_xor_si256
(
c2
[
2321
],
_mm256_xor_si256
(
c2
[
636
],
_mm256_xor_si256
(
c2
[
1731
],
_mm256_xor_si256
(
c2
[
52
],
_mm256_xor_si256
(
c2
[
1493
],
_mm256_xor_si256
(
c2
[
3653
],
_mm256_xor_si256
(
c2
[
1853
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
3184
],
_mm256_xor_si256
(
c2
[
1505
],
_mm256_xor_si256
(
c2
[
784
],
_mm256_xor_si256
(
c2
[
2944
],
_mm256_xor_si256
(
c2
[
676
],
_mm256_xor_si256
(
c2
[
2956
],
_mm256_xor_si256
(
c2
[
2836
],
_mm256_xor_si256
(
c2
[
3554
],
_mm256_xor_si256
(
c2
[
1875
],
_mm256_xor_si256
(
c2
[
3077
],
_mm256_xor_si256
(
c2
[
1392
],
_mm256_xor_si256
(
c2
[
3085
],
_mm256_xor_si256
(
c2
[
1406
],
_mm256_xor_si256
(
c2
[
2489
],
_mm256_xor_si256
(
c2
[
804
],
_mm256_xor_si256
(
c2
[
2857
],
_mm256_xor_si256
(
c2
[
1178
],
_mm256_xor_si256
(
c2
[
2021
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
3218
],
_mm256_xor_si256
(
c2
[
1539
],
_mm256_xor_si256
(
c2
[
1309
],
_mm256_xor_si256
(
c2
[
3589
],
_mm256_xor_si256
(
c2
[
3469
],
_mm256_xor_si256
(
c2
[
230
],
_mm256_xor_si256
(
c2
[
2390
],
_mm256_xor_si256
(
c2
[
2989
],
c2
[
1310
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
96
]
=
_mm256_xor_si256
(
c2
[
2523
],
_mm256_xor_si256
(
c2
[
2403
],
_mm256_xor_si256
(
c2
[
1681
],
_mm256_xor_si256
(
c2
[
1561
],
_mm256_xor_si256
(
c2
[
125
],
_mm256_xor_si256
(
c2
[
3242
],
_mm256_xor_si256
(
c2
[
3122
],
_mm256_xor_si256
(
c2
[
3724
],
_mm256_xor_si256
(
c2
[
2882
],
_mm256_xor_si256
(
c2
[
973
],
_mm256_xor_si256
(
c2
[
853
],
_mm256_xor_si256
(
c2
[
137
],
_mm256_xor_si256
(
c2
[
17
],
_mm256_xor_si256
(
c2
[
2893
],
_mm256_xor_si256
(
c2
[
2057
],
_mm256_xor_si256
(
c2
[
1694
],
_mm256_xor_si256
(
c2
[
852
],
_mm256_xor_si256
(
c2
[
2774
],
_mm256_xor_si256
(
c2
[
1587
],
_mm256_xor_si256
(
c2
[
1467
],
_mm256_xor_si256
(
c2
[
745
],
_mm256_xor_si256
(
c2
[
625
],
_mm256_xor_si256
(
c2
[
2547
],
_mm256_xor_si256
(
c2
[
1705
],
_mm256_xor_si256
(
c2
[
1116
],
_mm256_xor_si256
(
c2
[
996
],
_mm256_xor_si256
(
c2
[
280
],
_mm256_xor_si256
(
c2
[
160
],
_mm256_xor_si256
(
c2
[
1241
],
_mm256_xor_si256
(
c2
[
519
],
_mm256_xor_si256
(
c2
[
399
],
_mm256_xor_si256
(
c2
[
3277
],
_mm256_xor_si256
(
c2
[
2441
],
_mm256_xor_si256
(
c2
[
2693
],
_mm256_xor_si256
(
c2
[
1971
],
_mm256_xor_si256
(
c2
[
1851
],
_mm256_xor_si256
(
c2
[
2449
],
_mm256_xor_si256
(
c2
[
1613
],
_mm256_xor_si256
(
c2
[
2809
],
_mm256_xor_si256
(
c2
[
1973
],
_mm256_xor_si256
(
c2
[
301
],
_mm256_xor_si256
(
c2
[
3424
],
_mm256_xor_si256
(
c2
[
3304
],
_mm256_xor_si256
(
c2
[
1740
],
_mm256_xor_si256
(
c2
[
904
],
_mm256_xor_si256
(
c2
[
1752
],
_mm256_xor_si256
(
c2
[
1632
],
_mm256_xor_si256
(
c2
[
916
],
_mm256_xor_si256
(
c2
[
796
],
_mm256_xor_si256
(
c2
[
677
],
_mm256_xor_si256
(
c2
[
3794
],
_mm256_xor_si256
(
c2
[
3674
],
_mm256_xor_si256
(
c2
[
194
],
_mm256_xor_si256
(
c2
[
3197
],
_mm256_xor_si256
(
c2
[
208
],
_mm256_xor_si256
(
c2
[
3325
],
_mm256_xor_si256
(
c2
[
3205
],
_mm256_xor_si256
(
c2
[
3445
],
_mm256_xor_si256
(
c2
[
2609
],
_mm256_xor_si256
(
c2
[
3819
],
_mm256_xor_si256
(
c2
[
3097
],
_mm256_xor_si256
(
c2
[
2977
],
_mm256_xor_si256
(
c2
[
2977
],
_mm256_xor_si256
(
c2
[
2141
],
_mm256_xor_si256
(
c2
[
341
],
_mm256_xor_si256
(
c2
[
3338
],
_mm256_xor_si256
(
c2
[
2391
],
_mm256_xor_si256
(
c2
[
2271
],
_mm256_xor_si256
(
c2
[
1549
],
_mm256_xor_si256
(
c2
[
1429
],
_mm256_xor_si256
(
c2
[
1192
],
_mm256_xor_si256
(
c2
[
470
],
_mm256_xor_si256
(
c2
[
350
],
_mm256_xor_si256
(
c2
[
112
],
_mm256_xor_si256
(
c2
[
3109
],
c2
[
2153
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
102
]
=
_mm256_xor_si256
(
c2
[
2765
],
_mm256_xor_si256
(
c2
[
2645
],
_mm256_xor_si256
(
c2
[
2405
],
_mm256_xor_si256
(
c2
[
2285
],
_mm256_xor_si256
(
c2
[
361
],
_mm256_xor_si256
(
c2
[
121
],
_mm256_xor_si256
(
c2
[
1
],
_mm256_xor_si256
(
c2
[
121
],
_mm256_xor_si256
(
c2
[
3600
],
_mm256_xor_si256
(
c2
[
1215
],
_mm256_xor_si256
(
c2
[
1095
],
_mm256_xor_si256
(
c2
[
855
],
_mm256_xor_si256
(
c2
[
735
],
_mm256_xor_si256
(
c2
[
3135
],
_mm256_xor_si256
(
c2
[
2775
],
_mm256_xor_si256
(
c2
[
1936
],
_mm256_xor_si256
(
c2
[
1576
],
_mm256_xor_si256
(
c2
[
3616
],
_mm256_xor_si256
(
c2
[
1829
],
_mm256_xor_si256
(
c2
[
1709
],
_mm256_xor_si256
(
c2
[
1469
],
_mm256_xor_si256
(
c2
[
1349
],
_mm256_xor_si256
(
c2
[
2789
],
_mm256_xor_si256
(
c2
[
2429
],
_mm256_xor_si256
(
c2
[
1358
],
_mm256_xor_si256
(
c2
[
1238
],
_mm256_xor_si256
(
c2
[
998
],
_mm256_xor_si256
(
c2
[
878
],
_mm256_xor_si256
(
c2
[
1477
],
_mm256_xor_si256
(
c2
[
1237
],
_mm256_xor_si256
(
c2
[
1117
],
_mm256_xor_si256
(
c2
[
3519
],
_mm256_xor_si256
(
c2
[
3159
],
_mm256_xor_si256
(
c2
[
2929
],
_mm256_xor_si256
(
c2
[
2689
],
_mm256_xor_si256
(
c2
[
2569
],
_mm256_xor_si256
(
c2
[
2691
],
_mm256_xor_si256
(
c2
[
2331
],
_mm256_xor_si256
(
c2
[
3051
],
_mm256_xor_si256
(
c2
[
2691
],
_mm256_xor_si256
(
c2
[
543
],
_mm256_xor_si256
(
c2
[
303
],
_mm256_xor_si256
(
c2
[
183
],
_mm256_xor_si256
(
c2
[
1982
],
_mm256_xor_si256
(
c2
[
1622
],
_mm256_xor_si256
(
c2
[
2820
],
_mm256_xor_si256
(
c2
[
1994
],
_mm256_xor_si256
(
c2
[
1874
],
_mm256_xor_si256
(
c2
[
1634
],
_mm256_xor_si256
(
c2
[
1514
],
_mm256_xor_si256
(
c2
[
913
],
_mm256_xor_si256
(
c2
[
673
],
_mm256_xor_si256
(
c2
[
553
],
_mm256_xor_si256
(
c2
[
436
],
_mm256_xor_si256
(
c2
[
76
],
_mm256_xor_si256
(
c2
[
444
],
_mm256_xor_si256
(
c2
[
204
],
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
3687
],
_mm256_xor_si256
(
c2
[
3327
],
_mm256_xor_si256
(
c2
[
216
],
_mm256_xor_si256
(
c2
[
3821
],
_mm256_xor_si256
(
c2
[
3701
],
_mm256_xor_si256
(
c2
[
3219
],
_mm256_xor_si256
(
c2
[
2859
],
_mm256_xor_si256
(
c2
[
577
],
_mm256_xor_si256
(
c2
[
217
],
_mm256_xor_si256
(
c2
[
2633
],
_mm256_xor_si256
(
c2
[
2513
],
_mm256_xor_si256
(
c2
[
2273
],
_mm256_xor_si256
(
c2
[
2153
],
_mm256_xor_si256
(
c2
[
1428
],
_mm256_xor_si256
(
c2
[
1188
],
_mm256_xor_si256
(
c2
[
1068
],
_mm256_xor_si256
(
c2
[
348
],
c2
[
3833
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
108
]
=
_mm256_xor_si256
(
c2
[
3125
],
_mm256_xor_si256
(
c2
[
792
],
c2
[
1765
]));
//row: 19
d2
[
114
]
=
_mm256_xor_si256
(
c2
[
1084
],
_mm256_xor_si256
(
c2
[
2645
],
_mm256_xor_si256
(
c2
[
2405
],
_mm256_xor_si256
(
c2
[
3121
],
_mm256_xor_si256
(
c2
[
3373
],
_mm256_xor_si256
(
c2
[
1574
],
_mm256_xor_si256
(
c2
[
375
],
_mm256_xor_si256
(
c2
[
1213
],
_mm256_xor_si256
(
c2
[
148
],
_mm256_xor_si256
(
c2
[
1228
],
_mm256_xor_si256
(
c2
[
3516
],
_mm256_xor_si256
(
c2
[
3761
],
_mm256_xor_si256
(
c2
[
1958
],
_mm256_xor_si256
(
c2
[
1368
],
_mm256_xor_si256
(
c2
[
1130
],
_mm256_xor_si256
(
c2
[
1490
],
_mm256_xor_si256
(
c2
[
2821
],
_mm256_xor_si256
(
c2
[
421
],
_mm256_xor_si256
(
c2
[
313
],
_mm256_xor_si256
(
c2
[
3197
],
_mm256_xor_si256
(
c2
[
2714
],
_mm256_xor_si256
(
c2
[
2728
],
_mm256_xor_si256
(
c2
[
2126
],
_mm256_xor_si256
(
c2
[
2500
],
_mm256_xor_si256
(
c2
[
1658
],
_mm256_xor_si256
(
c2
[
2861
],
_mm256_xor_si256
(
c2
[
952
],
_mm256_xor_si256
(
c2
[
3712
],
c2
[
2632
]))))))))))))))))))))))))))));
//row: 20
d2
[
120
]
=
_mm256_xor_si256
(
c2
[
844
],
_mm256_xor_si256
(
c2
[
724
],
_mm256_xor_si256
(
c2
[
2285
],
_mm256_xor_si256
(
c2
[
2045
],
_mm256_xor_si256
(
c2
[
3133
],
_mm256_xor_si256
(
c2
[
3013
],
_mm256_xor_si256
(
c2
[
1214
],
_mm256_xor_si256
(
c2
[
15
],
_mm256_xor_si256
(
c2
[
1454
],
_mm256_xor_si256
(
c2
[
3747
],
_mm256_xor_si256
(
c2
[
3627
],
_mm256_xor_si256
(
c2
[
868
],
_mm256_xor_si256
(
c2
[
3276
],
_mm256_xor_si256
(
c2
[
3156
],
_mm256_xor_si256
(
c2
[
3401
],
_mm256_xor_si256
(
c2
[
1598
],
_mm256_xor_si256
(
c2
[
1008
],
_mm256_xor_si256
(
c2
[
770
],
_mm256_xor_si256
(
c2
[
1130
],
_mm256_xor_si256
(
c2
[
3529
],
_mm256_xor_si256
(
c2
[
2461
],
_mm256_xor_si256
(
c2
[
61
],
_mm256_xor_si256
(
c2
[
73
],
_mm256_xor_si256
(
c2
[
3792
],
_mm256_xor_si256
(
c2
[
2837
],
_mm256_xor_si256
(
c2
[
2354
],
_mm256_xor_si256
(
c2
[
2368
],
_mm256_xor_si256
(
c2
[
1766
],
_mm256_xor_si256
(
c2
[
2140
],
_mm256_xor_si256
(
c2
[
1298
],
_mm256_xor_si256
(
c2
[
2501
],
_mm256_xor_si256
(
c2
[
712
],
_mm256_xor_si256
(
c2
[
592
],
_mm256_xor_si256
(
c2
[
3352
],
c2
[
2272
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
126
]
=
_mm256_xor_si256
(
c2
[
1921
],
_mm256_xor_si256
(
c2
[
3482
],
_mm256_xor_si256
(
c2
[
3242
],
_mm256_xor_si256
(
c2
[
3484
],
_mm256_xor_si256
(
c2
[
377
],
_mm256_xor_si256
(
c2
[
2417
],
_mm256_xor_si256
(
c2
[
1332
],
_mm256_xor_si256
(
c2
[
1212
],
_mm256_xor_si256
(
c2
[
985
],
_mm256_xor_si256
(
c2
[
2185
],
_mm256_xor_si256
(
c2
[
2065
],
_mm256_xor_si256
(
c2
[
520
],
_mm256_xor_si256
(
c2
[
759
],
_mm256_xor_si256
(
c2
[
2801
],
_mm256_xor_si256
(
c2
[
2211
],
_mm256_xor_si256
(
c2
[
1973
],
_mm256_xor_si256
(
c2
[
2453
],
_mm256_xor_si256
(
c2
[
2333
],
_mm256_xor_si256
(
c2
[
3664
],
_mm256_xor_si256
(
c2
[
1384
],
_mm256_xor_si256
(
c2
[
1264
],
_mm256_xor_si256
(
c2
[
1156
],
_mm256_xor_si256
(
c2
[
195
],
_mm256_xor_si256
(
c2
[
3677
],
_mm256_xor_si256
(
c2
[
3557
],
_mm256_xor_si256
(
c2
[
3565
],
_mm256_xor_si256
(
c2
[
3089
],
_mm256_xor_si256
(
c2
[
2969
],
_mm256_xor_si256
(
c2
[
3337
],
_mm256_xor_si256
(
c2
[
2501
],
_mm256_xor_si256
(
c2
[
3818
],
_mm256_xor_si256
(
c2
[
3698
],
_mm256_xor_si256
(
c2
[
1901
],
_mm256_xor_si256
(
c2
[
1789
],
_mm256_xor_si256
(
c2
[
710
],
_mm256_xor_si256
(
c2
[
3589
],
c2
[
3469
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
132
]
=
_mm256_xor_si256
(
c2
[
2412
],
c2
[
2425
]);
//row: 23
d2
[
138
]
=
_mm256_xor_si256
(
c2
[
1203
],
_mm256_xor_si256
(
c2
[
2678
],
c2
[
3782
]));
//row: 24
d2
[
144
]
=
_mm256_xor_si256
(
c2
[
2657
],
_mm256_xor_si256
(
c2
[
3028
],
c2
[
110
]));
//row: 25
d2
[
150
]
=
_mm256_xor_si256
(
c2
[
1561
],
c2
[
2580
]);
//row: 26
d2
[
156
]
=
_mm256_xor_si256
(
c2
[
601
],
_mm256_xor_si256
(
c2
[
481
],
_mm256_xor_si256
(
c2
[
242
],
_mm256_xor_si256
(
c2
[
2162
],
_mm256_xor_si256
(
c2
[
2042
],
_mm256_xor_si256
(
c2
[
1803
],
_mm256_xor_si256
(
c2
[
1802
],
_mm256_xor_si256
(
c2
[
1563
],
_mm256_xor_si256
(
c2
[
2896
],
_mm256_xor_si256
(
c2
[
2776
],
_mm256_xor_si256
(
c2
[
2537
],
_mm256_xor_si256
(
c2
[
977
],
_mm256_xor_si256
(
c2
[
732
],
_mm256_xor_si256
(
c2
[
3617
],
_mm256_xor_si256
(
c2
[
3492
],
_mm256_xor_si256
(
c2
[
3372
],
_mm256_xor_si256
(
c2
[
3504
],
_mm256_xor_si256
(
c2
[
3384
],
_mm256_xor_si256
(
c2
[
3145
],
_mm256_xor_si256
(
c2
[
625
],
_mm256_xor_si256
(
c2
[
506
],
_mm256_xor_si256
(
c2
[
386
],
_mm256_xor_si256
(
c2
[
386
],
_mm256_xor_si256
(
c2
[
3039
],
_mm256_xor_si256
(
c2
[
2919
],
_mm256_xor_si256
(
c2
[
2680
],
_mm256_xor_si256
(
c2
[
3278
],
_mm256_xor_si256
(
c2
[
3158
],
_mm256_xor_si256
(
c2
[
2919
],
_mm256_xor_si256
(
c2
[
1361
],
_mm256_xor_si256
(
c2
[
1116
],
_mm256_xor_si256
(
c2
[
891
],
_mm256_xor_si256
(
c2
[
771
],
_mm256_xor_si256
(
c2
[
532
],
_mm256_xor_si256
(
c2
[
533
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
893
],
_mm256_xor_si256
(
c2
[
768
],
_mm256_xor_si256
(
c2
[
648
],
_mm256_xor_si256
(
c2
[
2344
],
_mm256_xor_si256
(
c2
[
2224
],
_mm256_xor_si256
(
c2
[
1985
],
_mm256_xor_si256
(
c2
[
3663
],
_mm256_xor_si256
(
c2
[
3544
],
_mm256_xor_si256
(
c2
[
3424
],
_mm256_xor_si256
(
c2
[
3675
],
_mm256_xor_si256
(
c2
[
3555
],
_mm256_xor_si256
(
c2
[
3316
],
_mm256_xor_si256
(
c2
[
2714
],
_mm256_xor_si256
(
c2
[
2594
],
_mm256_xor_si256
(
c2
[
2355
],
_mm256_xor_si256
(
c2
[
2117
],
_mm256_xor_si256
(
c2
[
1992
],
_mm256_xor_si256
(
c2
[
1872
],
_mm256_xor_si256
(
c2
[
2245
],
_mm256_xor_si256
(
c2
[
2125
],
_mm256_xor_si256
(
c2
[
1886
],
_mm256_xor_si256
(
c2
[
1529
],
_mm256_xor_si256
(
c2
[
1404
],
_mm256_xor_si256
(
c2
[
1284
],
_mm256_xor_si256
(
c2
[
1168
],
_mm256_xor_si256
(
c2
[
2017
],
_mm256_xor_si256
(
c2
[
1897
],
_mm256_xor_si256
(
c2
[
1658
],
_mm256_xor_si256
(
c2
[
1061
],
_mm256_xor_si256
(
c2
[
816
],
_mm256_xor_si256
(
c2
[
2258
],
_mm256_xor_si256
(
c2
[
2139
],
_mm256_xor_si256
(
c2
[
2019
],
_mm256_xor_si256
(
c2
[
469
],
_mm256_xor_si256
(
c2
[
349
],
_mm256_xor_si256
(
c2
[
110
],
_mm256_xor_si256
(
c2
[
3229
],
_mm256_xor_si256
(
c2
[
3109
],
_mm256_xor_si256
(
c2
[
2870
],
_mm256_xor_si256
(
c2
[
2029
],
_mm256_xor_si256
(
c2
[
1910
],
c2
[
1790
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
162
]
=
_mm256_xor_si256
(
c2
[
843
],
c2
[
2233
]);
//row: 28
d2
[
168
]
=
_mm256_xor_si256
(
c2
[
734
],
_mm256_xor_si256
(
c2
[
1827
],
c2
[
1025
]));
//row: 29
d2
[
174
]
=
_mm256_xor_si256
(
c2
[
1683
],
c2
[
2088
]);
//row: 30
d2
[
180
]
=
_mm256_xor_si256
(
c2
[
2907
],
_mm256_xor_si256
(
c2
[
3184
],
_mm256_xor_si256
(
c2
[
2485
],
c2
[
2989
])));
//row: 31
d2
[
186
]
=
_mm256_xor_si256
(
c2
[
2764
],
_mm256_xor_si256
(
c2
[
480
],
_mm256_xor_si256
(
c2
[
240
],
_mm256_xor_si256
(
c2
[
1214
],
_mm256_xor_si256
(
c2
[
3254
],
_mm256_xor_si256
(
c2
[
2175
],
_mm256_xor_si256
(
c2
[
2055
],
_mm256_xor_si256
(
c2
[
372
],
_mm256_xor_si256
(
c2
[
1828
],
_mm256_xor_si256
(
c2
[
3028
],
_mm256_xor_si256
(
c2
[
2908
],
_mm256_xor_si256
(
c2
[
1357
],
_mm256_xor_si256
(
c2
[
1596
],
_mm256_xor_si256
(
c2
[
3638
],
_mm256_xor_si256
(
c2
[
3048
],
_mm256_xor_si256
(
c2
[
2810
],
_mm256_xor_si256
(
c2
[
3290
],
_mm256_xor_si256
(
c2
[
3170
],
_mm256_xor_si256
(
c2
[
662
],
_mm256_xor_si256
(
c2
[
2221
],
_mm256_xor_si256
(
c2
[
2101
],
_mm256_xor_si256
(
c2
[
1993
],
_mm256_xor_si256
(
c2
[
1032
],
_mm256_xor_si256
(
c2
[
675
],
_mm256_xor_si256
(
c2
[
555
],
_mm256_xor_si256
(
c2
[
569
],
_mm256_xor_si256
(
c2
[
87
],
_mm256_xor_si256
(
c2
[
3806
],
_mm256_xor_si256
(
c2
[
341
],
_mm256_xor_si256
(
c2
[
3338
],
_mm256_xor_si256
(
c2
[
816
],
_mm256_xor_si256
(
c2
[
696
],
_mm256_xor_si256
(
c2
[
2632
],
_mm256_xor_si256
(
c2
[
1553
],
_mm256_xor_si256
(
c2
[
593
],
c2
[
473
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
192
]
=
_mm256_xor_si256
(
c2
[
3725
],
_mm256_xor_si256
(
c2
[
3605
],
_mm256_xor_si256
(
c2
[
1441
],
_mm256_xor_si256
(
c2
[
1321
],
_mm256_xor_si256
(
c2
[
1081
],
_mm256_xor_si256
(
c2
[
2402
],
_mm256_xor_si256
(
c2
[
2175
],
_mm256_xor_si256
(
c2
[
2055
],
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
2896
],
_mm256_xor_si256
(
c2
[
2789
],
_mm256_xor_si256
(
c2
[
2669
],
_mm256_xor_si256
(
c2
[
3749
],
_mm256_xor_si256
(
c2
[
2318
],
_mm256_xor_si256
(
c2
[
2198
],
_mm256_xor_si256
(
c2
[
2557
],
_mm256_xor_si256
(
c2
[
2437
],
_mm256_xor_si256
(
c2
[
640
],
_mm256_xor_si256
(
c2
[
170
],
_mm256_xor_si256
(
c2
[
50
],
_mm256_xor_si256
(
c2
[
3651
],
_mm256_xor_si256
(
c2
[
172
],
_mm256_xor_si256
(
c2
[
1623
],
_mm256_xor_si256
(
c2
[
1503
],
_mm256_xor_si256
(
c2
[
2942
],
_mm256_xor_si256
(
c2
[
1020
],
_mm256_xor_si256
(
c2
[
2954
],
_mm256_xor_si256
(
c2
[
2834
],
_mm256_xor_si256
(
c2
[
1993
],
_mm256_xor_si256
(
c2
[
1873
],
_mm256_xor_si256
(
c2
[
1396
],
_mm256_xor_si256
(
c2
[
1524
],
_mm256_xor_si256
(
c2
[
1404
],
_mm256_xor_si256
(
c2
[
808
],
_mm256_xor_si256
(
c2
[
1296
],
_mm256_xor_si256
(
c2
[
1176
],
_mm256_xor_si256
(
c2
[
340
],
_mm256_xor_si256
(
c2
[
1537
],
_mm256_xor_si256
(
c2
[
3593
],
_mm256_xor_si256
(
c2
[
3473
],
_mm256_xor_si256
(
c2
[
2508
],
_mm256_xor_si256
(
c2
[
2388
],
c2
[
1308
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
198
]
=
_mm256_xor_si256
(
c2
[
1083
],
_mm256_xor_si256
(
c2
[
2644
],
_mm256_xor_si256
(
c2
[
2404
],
_mm256_xor_si256
(
c2
[
3372
],
_mm256_xor_si256
(
c2
[
1573
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
147
],
_mm256_xor_si256
(
c2
[
1227
],
_mm256_xor_si256
(
c2
[
629
],
_mm256_xor_si256
(
c2
[
3521
],
_mm256_xor_si256
(
c2
[
3760
],
_mm256_xor_si256
(
c2
[
1957
],
_mm256_xor_si256
(
c2
[
1373
],
_mm256_xor_si256
(
c2
[
1129
],
_mm256_xor_si256
(
c2
[
1489
],
_mm256_xor_si256
(
c2
[
2820
],
_mm256_xor_si256
(
c2
[
420
],
_mm256_xor_si256
(
c2
[
312
],
_mm256_xor_si256
(
c2
[
3196
],
_mm256_xor_si256
(
c2
[
2713
],
_mm256_xor_si256
(
c2
[
2727
],
_mm256_xor_si256
(
c2
[
2125
],
_mm256_xor_si256
(
c2
[
2369
],
_mm256_xor_si256
(
c2
[
2499
],
_mm256_xor_si256
(
c2
[
1657
],
_mm256_xor_si256
(
c2
[
2860
],
_mm256_xor_si256
(
c2
[
951
],
_mm256_xor_si256
(
c2
[
3711
],
c2
[
2631
]))))))))))))))))))))))))))));
//row: 34
d2
[
204
]
=
_mm256_xor_si256
(
c2
[
3724
],
_mm256_xor_si256
(
c2
[
3604
],
_mm256_xor_si256
(
c2
[
3005
],
_mm256_xor_si256
(
c2
[
1440
],
_mm256_xor_si256
(
c2
[
1320
],
_mm256_xor_si256
(
c2
[
721
],
_mm256_xor_si256
(
c2
[
1080
],
_mm256_xor_si256
(
c2
[
481
],
_mm256_xor_si256
(
c2
[
1565
],
_mm256_xor_si256
(
c2
[
2174
],
_mm256_xor_si256
(
c2
[
2054
],
_mm256_xor_si256
(
c2
[
1455
],
_mm256_xor_si256
(
c2
[
255
],
_mm256_xor_si256
(
c2
[
3495
],
_mm256_xor_si256
(
c2
[
2895
],
_mm256_xor_si256
(
c2
[
2416
],
_mm256_xor_si256
(
c2
[
2296
],
_mm256_xor_si256
(
c2
[
2788
],
_mm256_xor_si256
(
c2
[
2668
],
_mm256_xor_si256
(
c2
[
2069
],
_mm256_xor_si256
(
c2
[
3748
],
_mm256_xor_si256
(
c2
[
3269
],
_mm256_xor_si256
(
c2
[
3149
],
_mm256_xor_si256
(
c2
[
2317
],
_mm256_xor_si256
(
c2
[
2197
],
_mm256_xor_si256
(
c2
[
1598
],
_mm256_xor_si256
(
c2
[
2556
],
_mm256_xor_si256
(
c2
[
2436
],
_mm256_xor_si256
(
c2
[
1837
],
_mm256_xor_si256
(
c2
[
639
],
_mm256_xor_si256
(
c2
[
40
],
_mm256_xor_si256
(
c2
[
169
],
_mm256_xor_si256
(
c2
[
49
],
_mm256_xor_si256
(
c2
[
3289
],
_mm256_xor_si256
(
c2
[
3650
],
_mm256_xor_si256
(
c2
[
3051
],
_mm256_xor_si256
(
c2
[
171
],
_mm256_xor_si256
(
c2
[
3531
],
_mm256_xor_si256
(
c2
[
3411
],
_mm256_xor_si256
(
c2
[
1622
],
_mm256_xor_si256
(
c2
[
1502
],
_mm256_xor_si256
(
c2
[
903
],
_mm256_xor_si256
(
c2
[
2941
],
_mm256_xor_si256
(
c2
[
2462
],
_mm256_xor_si256
(
c2
[
2342
],
_mm256_xor_si256
(
c2
[
2953
],
_mm256_xor_si256
(
c2
[
2833
],
_mm256_xor_si256
(
c2
[
2234
],
_mm256_xor_si256
(
c2
[
1992
],
_mm256_xor_si256
(
c2
[
1872
],
_mm256_xor_si256
(
c2
[
1273
],
_mm256_xor_si256
(
c2
[
1395
],
_mm256_xor_si256
(
c2
[
916
],
_mm256_xor_si256
(
c2
[
796
],
_mm256_xor_si256
(
c2
[
1529
],
_mm256_xor_si256
(
c2
[
1409
],
_mm256_xor_si256
(
c2
[
804
],
_mm256_xor_si256
(
c2
[
807
],
_mm256_xor_si256
(
c2
[
328
],
_mm256_xor_si256
(
c2
[
208
],
_mm256_xor_si256
(
c2
[
1301
],
_mm256_xor_si256
(
c2
[
1181
],
_mm256_xor_si256
(
c2
[
576
],
_mm256_xor_si256
(
c2
[
339
],
_mm256_xor_si256
(
c2
[
3579
],
_mm256_xor_si256
(
c2
[
1536
],
_mm256_xor_si256
(
c2
[
1057
],
_mm256_xor_si256
(
c2
[
937
],
_mm256_xor_si256
(
c2
[
3592
],
_mm256_xor_si256
(
c2
[
3472
],
_mm256_xor_si256
(
c2
[
2873
],
_mm256_xor_si256
(
c2
[
2513
],
_mm256_xor_si256
(
c2
[
2393
],
_mm256_xor_si256
(
c2
[
1788
],
_mm256_xor_si256
(
c2
[
1313
],
_mm256_xor_si256
(
c2
[
828
],
c2
[
708
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
210
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
3725
],
_mm256_xor_si256
(
c2
[
1441
],
_mm256_xor_si256
(
c2
[
1201
],
_mm256_xor_si256
(
c2
[
2295
],
_mm256_xor_si256
(
c2
[
2175
],
_mm256_xor_si256
(
c2
[
376
],
_mm256_xor_si256
(
c2
[
3016
],
_mm256_xor_si256
(
c2
[
1574
],
_mm256_xor_si256
(
c2
[
2909
],
_mm256_xor_si256
(
c2
[
2789
],
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
2438
],
_mm256_xor_si256
(
c2
[
2318
],
_mm256_xor_si256
(
c2
[
2557
],
_mm256_xor_si256
(
c2
[
760
],
_mm256_xor_si256
(
c2
[
170
],
_mm256_xor_si256
(
c2
[
3771
],
_mm256_xor_si256
(
c2
[
292
],
_mm256_xor_si256
(
c2
[
1623
],
_mm256_xor_si256
(
c2
[
3062
],
_mm256_xor_si256
(
c2
[
2945
],
_mm256_xor_si256
(
c2
[
3074
],
_mm256_xor_si256
(
c2
[
2954
],
_mm256_xor_si256
(
c2
[
1993
],
_mm256_xor_si256
(
c2
[
1516
],
_mm256_xor_si256
(
c2
[
1524
],
_mm256_xor_si256
(
c2
[
928
],
_mm256_xor_si256
(
c2
[
1296
],
_mm256_xor_si256
(
c2
[
460
],
_mm256_xor_si256
(
c2
[
1657
],
_mm256_xor_si256
(
c2
[
3713
],
_mm256_xor_si256
(
c2
[
3593
],
_mm256_xor_si256
(
c2
[
2508
],
c2
[
1428
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
216
]
=
_mm256_xor_si256
(
c2
[
3000
],
_mm256_xor_si256
(
c2
[
2788
],
c2
[
1289
]));
//row: 37
d2
[
222
]
=
_mm256_xor_si256
(
c2
[
2160
],
_mm256_xor_si256
(
c2
[
1440
],
_mm256_xor_si256
(
c2
[
3721
],
_mm256_xor_si256
(
c2
[
3001
],
_mm256_xor_si256
(
c2
[
3481
],
_mm256_xor_si256
(
c2
[
2761
],
_mm256_xor_si256
(
c2
[
616
],
_mm256_xor_si256
(
c2
[
3735
],
_mm256_xor_si256
(
c2
[
2656
],
_mm256_xor_si256
(
c2
[
1936
],
_mm256_xor_si256
(
c2
[
1457
],
_mm256_xor_si256
(
c2
[
857
],
_mm256_xor_si256
(
c2
[
737
],
_mm256_xor_si256
(
c2
[
1224
],
_mm256_xor_si256
(
c2
[
504
],
_mm256_xor_si256
(
c2
[
2304
],
_mm256_xor_si256
(
c2
[
1704
],
_mm256_xor_si256
(
c2
[
1584
],
_mm256_xor_si256
(
c2
[
759
],
_mm256_xor_si256
(
c2
[
39
],
_mm256_xor_si256
(
c2
[
998
],
_mm256_xor_si256
(
c2
[
278
],
_mm256_xor_si256
(
c2
[
3040
],
_mm256_xor_si256
(
c2
[
2320
],
_mm256_xor_si256
(
c2
[
2450
],
_mm256_xor_si256
(
c2
[
1730
],
_mm256_xor_si256
(
c2
[
2212
],
_mm256_xor_si256
(
c2
[
1492
],
_mm256_xor_si256
(
c2
[
2572
],
_mm256_xor_si256
(
c2
[
1972
],
_mm256_xor_si256
(
c2
[
1852
],
_mm256_xor_si256
(
c2
[
64
],
_mm256_xor_si256
(
c2
[
3183
],
_mm256_xor_si256
(
c2
[
1503
],
_mm256_xor_si256
(
c2
[
903
],
_mm256_xor_si256
(
c2
[
783
],
_mm256_xor_si256
(
c2
[
1395
],
_mm256_xor_si256
(
c2
[
675
],
_mm256_xor_si256
(
c2
[
434
],
_mm256_xor_si256
(
c2
[
3553
],
_mm256_xor_si256
(
c2
[
3796
],
_mm256_xor_si256
(
c2
[
3196
],
_mm256_xor_si256
(
c2
[
3076
],
_mm256_xor_si256
(
c2
[
3804
],
_mm256_xor_si256
(
c2
[
3084
],
_mm256_xor_si256
(
c2
[
3208
],
_mm256_xor_si256
(
c2
[
2608
],
_mm256_xor_si256
(
c2
[
2488
],
_mm256_xor_si256
(
c2
[
3576
],
_mm256_xor_si256
(
c2
[
2856
],
_mm256_xor_si256
(
c2
[
2740
],
_mm256_xor_si256
(
c2
[
2020
],
_mm256_xor_si256
(
c2
[
98
],
_mm256_xor_si256
(
c2
[
3337
],
_mm256_xor_si256
(
c2
[
3217
],
_mm256_xor_si256
(
c2
[
2028
],
_mm256_xor_si256
(
c2
[
1308
],
_mm256_xor_si256
(
c2
[
949
],
_mm256_xor_si256
(
c2
[
229
],
_mm256_xor_si256
(
c2
[
3708
],
_mm256_xor_si256
(
c2
[
3108
],
c2
[
2988
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
228
]
=
_mm256_xor_si256
(
c2
[
1445
],
_mm256_xor_si256
(
c2
[
1325
],
_mm256_xor_si256
(
c2
[
2880
],
_mm256_xor_si256
(
c2
[
2640
],
_mm256_xor_si256
(
c2
[
3734
],
_mm256_xor_si256
(
c2
[
3614
],
_mm256_xor_si256
(
c2
[
1815
],
_mm256_xor_si256
(
c2
[
616
],
_mm256_xor_si256
(
c2
[
2414
],
_mm256_xor_si256
(
c2
[
509
],
_mm256_xor_si256
(
c2
[
389
],
_mm256_xor_si256
(
c2
[
1469
],
_mm256_xor_si256
(
c2
[
38
],
_mm256_xor_si256
(
c2
[
3757
],
_mm256_xor_si256
(
c2
[
157
],
_mm256_xor_si256
(
c2
[
2199
],
_mm256_xor_si256
(
c2
[
1609
],
_mm256_xor_si256
(
c2
[
1371
],
_mm256_xor_si256
(
c2
[
1731
],
_mm256_xor_si256
(
c2
[
3062
],
_mm256_xor_si256
(
c2
[
662
],
_mm256_xor_si256
(
c2
[
2824
],
_mm256_xor_si256
(
c2
[
674
],
_mm256_xor_si256
(
c2
[
554
],
_mm256_xor_si256
(
c2
[
3432
],
_mm256_xor_si256
(
c2
[
2955
],
_mm256_xor_si256
(
c2
[
2969
],
_mm256_xor_si256
(
c2
[
2367
],
_mm256_xor_si256
(
c2
[
2741
],
_mm256_xor_si256
(
c2
[
1899
],
_mm256_xor_si256
(
c2
[
3096
],
_mm256_xor_si256
(
c2
[
1313
],
_mm256_xor_si256
(
c2
[
1193
],
_mm256_xor_si256
(
c2
[
108
],
c2
[
2873
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
234
]
=
_mm256_xor_si256
(
c2
[
841
],
_mm256_xor_si256
(
c2
[
721
],
_mm256_xor_si256
(
c2
[
2402
],
_mm256_xor_si256
(
c2
[
2282
],
_mm256_xor_si256
(
c2
[
2042
],
_mm256_xor_si256
(
c2
[
3482
],
_mm256_xor_si256
(
c2
[
3136
],
_mm256_xor_si256
(
c2
[
3016
],
_mm256_xor_si256
(
c2
[
1217
],
_mm256_xor_si256
(
c2
[
12
],
_mm256_xor_si256
(
c2
[
3744
],
_mm256_xor_si256
(
c2
[
3624
],
_mm256_xor_si256
(
c2
[
865
],
_mm256_xor_si256
(
c2
[
3279
],
_mm256_xor_si256
(
c2
[
3159
],
_mm256_xor_si256
(
c2
[
3518
],
_mm256_xor_si256
(
c2
[
3398
],
_mm256_xor_si256
(
c2
[
1601
],
_mm256_xor_si256
(
c2
[
1131
],
_mm256_xor_si256
(
c2
[
1011
],
_mm256_xor_si256
(
c2
[
773
],
_mm256_xor_si256
(
c2
[
1133
],
_mm256_xor_si256
(
c2
[
2584
],
_mm256_xor_si256
(
c2
[
2464
],
_mm256_xor_si256
(
c2
[
64
],
_mm256_xor_si256
(
c2
[
76
],
_mm256_xor_si256
(
c2
[
3795
],
_mm256_xor_si256
(
c2
[
2954
],
_mm256_xor_si256
(
c2
[
2834
],
_mm256_xor_si256
(
c2
[
2357
],
_mm256_xor_si256
(
c2
[
2485
],
_mm256_xor_si256
(
c2
[
2365
],
_mm256_xor_si256
(
c2
[
1769
],
_mm256_xor_si256
(
c2
[
568
],
_mm256_xor_si256
(
c2
[
2257
],
_mm256_xor_si256
(
c2
[
2137
],
_mm256_xor_si256
(
c2
[
1301
],
_mm256_xor_si256
(
c2
[
2498
],
_mm256_xor_si256
(
c2
[
709
],
_mm256_xor_si256
(
c2
[
589
],
_mm256_xor_si256
(
c2
[
3469
],
_mm256_xor_si256
(
c2
[
3349
],
c2
[
2269
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
240
]
=
_mm256_xor_si256
(
c2
[
2882
],
_mm256_xor_si256
(
c2
[
1924
],
_mm256_xor_si256
(
c2
[
604
],
_mm256_xor_si256
(
c2
[
3485
],
_mm256_xor_si256
(
c2
[
364
],
_mm256_xor_si256
(
c2
[
3245
],
_mm256_xor_si256
(
c2
[
1332
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
3372
],
_mm256_xor_si256
(
c2
[
2414
],
_mm256_xor_si256
(
c2
[
2173
],
_mm256_xor_si256
(
c2
[
1335
],
_mm256_xor_si256
(
c2
[
1215
],
_mm256_xor_si256
(
c2
[
1946
],
_mm256_xor_si256
(
c2
[
988
],
_mm256_xor_si256
(
c2
[
3026
],
_mm256_xor_si256
(
c2
[
2188
],
_mm256_xor_si256
(
c2
[
2068
],
_mm256_xor_si256
(
c2
[
867
],
_mm256_xor_si256
(
c2
[
1481
],
_mm256_xor_si256
(
c2
[
517
],
_mm256_xor_si256
(
c2
[
1720
],
_mm256_xor_si256
(
c2
[
756
],
_mm256_xor_si256
(
c2
[
3756
],
_mm256_xor_si256
(
c2
[
2798
],
_mm256_xor_si256
(
c2
[
3172
],
_mm256_xor_si256
(
c2
[
2208
],
_mm256_xor_si256
(
c2
[
2928
],
_mm256_xor_si256
(
c2
[
1970
],
_mm256_xor_si256
(
c2
[
3288
],
_mm256_xor_si256
(
c2
[
2450
],
_mm256_xor_si256
(
c2
[
2330
],
_mm256_xor_si256
(
c2
[
780
],
_mm256_xor_si256
(
c2
[
3661
],
_mm256_xor_si256
(
c2
[
2225
],
_mm256_xor_si256
(
c2
[
1381
],
_mm256_xor_si256
(
c2
[
1261
],
_mm256_xor_si256
(
c2
[
2117
],
_mm256_xor_si256
(
c2
[
1153
],
_mm256_xor_si256
(
c2
[
1156
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
673
],
_mm256_xor_si256
(
c2
[
3674
],
_mm256_xor_si256
(
c2
[
3554
],
_mm256_xor_si256
(
c2
[
687
],
_mm256_xor_si256
(
c2
[
3568
],
_mm256_xor_si256
(
c2
[
85
],
_mm256_xor_si256
(
c2
[
3086
],
_mm256_xor_si256
(
c2
[
2966
],
_mm256_xor_si256
(
c2
[
459
],
_mm256_xor_si256
(
c2
[
3340
],
_mm256_xor_si256
(
c2
[
3456
],
_mm256_xor_si256
(
c2
[
2498
],
_mm256_xor_si256
(
c2
[
820
],
_mm256_xor_si256
(
c2
[
3821
],
_mm256_xor_si256
(
c2
[
3701
],
_mm256_xor_si256
(
c2
[
2750
],
_mm256_xor_si256
(
c2
[
1792
],
_mm256_xor_si256
(
c2
[
1671
],
_mm256_xor_si256
(
c2
[
713
],
_mm256_xor_si256
(
c2
[
591
],
_mm256_xor_si256
(
c2
[
3592
],
c2
[
3472
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
246
]
=
_mm256_xor_si256
(
c2
[
1201
],
_mm256_xor_si256
(
c2
[
1081
],
_mm256_xor_si256
(
c2
[
2642
],
_mm256_xor_si256
(
c2
[
2402
],
_mm256_xor_si256
(
c2
[
3496
],
_mm256_xor_si256
(
c2
[
3376
],
_mm256_xor_si256
(
c2
[
1577
],
_mm256_xor_si256
(
c2
[
372
],
_mm256_xor_si256
(
c2
[
2296
],
_mm256_xor_si256
(
c2
[
265
],
_mm256_xor_si256
(
c2
[
145
],
_mm256_xor_si256
(
c2
[
1225
],
_mm256_xor_si256
(
c2
[
3639
],
_mm256_xor_si256
(
c2
[
3519
],
_mm256_xor_si256
(
c2
[
3758
],
_mm256_xor_si256
(
c2
[
1961
],
_mm256_xor_si256
(
c2
[
1371
],
_mm256_xor_si256
(
c2
[
1133
],
_mm256_xor_si256
(
c2
[
1493
],
_mm256_xor_si256
(
c2
[
2824
],
_mm256_xor_si256
(
c2
[
424
],
_mm256_xor_si256
(
c2
[
900
],
_mm256_xor_si256
(
c2
[
436
],
_mm256_xor_si256
(
c2
[
316
],
_mm256_xor_si256
(
c2
[
3194
],
_mm256_xor_si256
(
c2
[
2717
],
_mm256_xor_si256
(
c2
[
2725
],
_mm256_xor_si256
(
c2
[
2129
],
_mm256_xor_si256
(
c2
[
2497
],
_mm256_xor_si256
(
c2
[
1661
],
_mm256_xor_si256
(
c2
[
2858
],
_mm256_xor_si256
(
c2
[
1069
],
_mm256_xor_si256
(
c2
[
949
],
_mm256_xor_si256
(
c2
[
3709
],
c2
[
2629
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc208_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=208, byte encoding
static
inline
void
ldpc_BG2_Zc208_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m128i
*
csimd
=
(
__m128i
*
)
c
,
*
dsimd
=
(
__m128i
*
)
d
;
__m128i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
13
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm_xor_si128
(
c2
[
3648
],
_mm_xor_si128
(
c2
[
261
],
_mm_xor_si128
(
c2
[
3387
],
_mm_xor_si128
(
c2
[
547
],
_mm_xor_si128
(
c2
[
556
],
_mm_xor_si128
(
c2
[
808
],
_mm_xor_si128
(
c2
[
3962
],
_mm_xor_si128
(
c2
[
3954
],
_mm_xor_si128
(
c2
[
1128
],
_mm_xor_si128
(
c2
[
2679
],
_mm_xor_si128
(
c2
[
3720
],
_mm_xor_si128
(
c2
[
624
],
_mm_xor_si128
(
c2
[
1675
],
_mm_xor_si128
(
c2
[
365
],
_mm_xor_si128
(
c2
[
1436
],
_mm_xor_si128
(
c2
[
3776
],
_mm_xor_si128
(
c2
[
948
],
_mm_xor_si128
(
c2
[
2247
],
_mm_xor_si128
(
c2
[
2768
],
_mm_xor_si128
(
c2
[
183
],
_mm_xor_si128
(
c2
[
702
],
_mm_xor_si128
(
c2
[
3588
],
_mm_xor_si128
(
c2
[
996
],
_mm_xor_si128
(
c2
[
3859
],
_mm_xor_si128
(
c2
[
3354
],
_mm_xor_si128
(
c2
[
1025
],
c2
[
4143
]))))))))))))))))))))))))));
//row: 1
d2
[
13
]
=
_mm_xor_si128
(
c2
[
3908
],
_mm_xor_si128
(
c2
[
3648
],
_mm_xor_si128
(
c2
[
261
],
_mm_xor_si128
(
c2
[
3387
],
_mm_xor_si128
(
c2
[
807
],
_mm_xor_si128
(
c2
[
547
],
_mm_xor_si128
(
c2
[
556
],
_mm_xor_si128
(
c2
[
808
],
_mm_xor_si128
(
c2
[
63
],
_mm_xor_si128
(
c2
[
3962
],
_mm_xor_si128
(
c2
[
3954
],
_mm_xor_si128
(
c2
[
1388
],
_mm_xor_si128
(
c2
[
1128
],
_mm_xor_si128
(
c2
[
2679
],
_mm_xor_si128
(
c2
[
3720
],
_mm_xor_si128
(
c2
[
624
],
_mm_xor_si128
(
c2
[
1675
],
_mm_xor_si128
(
c2
[
365
],
_mm_xor_si128
(
c2
[
1436
],
_mm_xor_si128
(
c2
[
3776
],
_mm_xor_si128
(
c2
[
1208
],
_mm_xor_si128
(
c2
[
948
],
_mm_xor_si128
(
c2
[
2247
],
_mm_xor_si128
(
c2
[
2768
],
_mm_xor_si128
(
c2
[
183
],
_mm_xor_si128
(
c2
[
702
],
_mm_xor_si128
(
c2
[
3588
],
_mm_xor_si128
(
c2
[
996
],
_mm_xor_si128
(
c2
[
3859
],
_mm_xor_si128
(
c2
[
3614
],
_mm_xor_si128
(
c2
[
3354
],
_mm_xor_si128
(
c2
[
1025
],
c2
[
4143
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
26
]
=
_mm_xor_si128
(
c2
[
3908
],
_mm_xor_si128
(
c2
[
3648
],
_mm_xor_si128
(
c2
[
521
],
_mm_xor_si128
(
c2
[
261
],
_mm_xor_si128
(
c2
[
3387
],
_mm_xor_si128
(
c2
[
807
],
_mm_xor_si128
(
c2
[
547
],
_mm_xor_si128
(
c2
[
556
],
_mm_xor_si128
(
c2
[
808
],
_mm_xor_si128
(
c2
[
63
],
_mm_xor_si128
(
c2
[
3962
],
_mm_xor_si128
(
c2
[
3954
],
_mm_xor_si128
(
c2
[
1388
],
_mm_xor_si128
(
c2
[
1128
],
_mm_xor_si128
(
c2
[
2939
],
_mm_xor_si128
(
c2
[
2679
],
_mm_xor_si128
(
c2
[
3720
],
_mm_xor_si128
(
c2
[
884
],
_mm_xor_si128
(
c2
[
624
],
_mm_xor_si128
(
c2
[
1675
],
_mm_xor_si128
(
c2
[
365
],
_mm_xor_si128
(
c2
[
1696
],
_mm_xor_si128
(
c2
[
1436
],
_mm_xor_si128
(
c2
[
3776
],
_mm_xor_si128
(
c2
[
1208
],
_mm_xor_si128
(
c2
[
948
],
_mm_xor_si128
(
c2
[
2507
],
_mm_xor_si128
(
c2
[
2247
],
_mm_xor_si128
(
c2
[
2768
],
_mm_xor_si128
(
c2
[
443
],
_mm_xor_si128
(
c2
[
183
],
_mm_xor_si128
(
c2
[
702
],
_mm_xor_si128
(
c2
[
3848
],
_mm_xor_si128
(
c2
[
3588
],
_mm_xor_si128
(
c2
[
996
],
_mm_xor_si128
(
c2
[
3859
],
_mm_xor_si128
(
c2
[
3614
],
_mm_xor_si128
(
c2
[
3354
],
_mm_xor_si128
(
c2
[
1285
],
_mm_xor_si128
(
c2
[
1025
],
c2
[
4143
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
39
]
=
_mm_xor_si128
(
c2
[
3648
],
_mm_xor_si128
(
c2
[
261
],
_mm_xor_si128
(
c2
[
3387
],
_mm_xor_si128
(
c2
[
547
],
_mm_xor_si128
(
c2
[
556
],
_mm_xor_si128
(
c2
[
1068
],
_mm_xor_si128
(
c2
[
808
],
_mm_xor_si128
(
c2
[
3962
],
_mm_xor_si128
(
c2
[
55
],
_mm_xor_si128
(
c2
[
3954
],
_mm_xor_si128
(
c2
[
1128
],
_mm_xor_si128
(
c2
[
2679
],
_mm_xor_si128
(
c2
[
3720
],
_mm_xor_si128
(
c2
[
624
],
_mm_xor_si128
(
c2
[
1675
],
_mm_xor_si128
(
c2
[
625
],
_mm_xor_si128
(
c2
[
365
],
_mm_xor_si128
(
c2
[
1436
],
_mm_xor_si128
(
c2
[
4036
],
_mm_xor_si128
(
c2
[
3776
],
_mm_xor_si128
(
c2
[
948
],
_mm_xor_si128
(
c2
[
2247
],
_mm_xor_si128
(
c2
[
3028
],
_mm_xor_si128
(
c2
[
2768
],
_mm_xor_si128
(
c2
[
183
],
_mm_xor_si128
(
c2
[
962
],
_mm_xor_si128
(
c2
[
702
],
_mm_xor_si128
(
c2
[
3588
],
_mm_xor_si128
(
c2
[
996
],
_mm_xor_si128
(
c2
[
4119
],
_mm_xor_si128
(
c2
[
3859
],
_mm_xor_si128
(
c2
[
3354
],
_mm_xor_si128
(
c2
[
1025
],
_mm_xor_si128
(
c2
[
244
],
c2
[
4143
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
52
]
=
_mm_xor_si128
(
c2
[
1043
],
_mm_xor_si128
(
c2
[
783
],
_mm_xor_si128
(
c2
[
1568
],
_mm_xor_si128
(
c2
[
522
],
_mm_xor_si128
(
c2
[
2862
],
_mm_xor_si128
(
c2
[
2114
],
_mm_xor_si128
(
c2
[
1854
],
_mm_xor_si128
(
c2
[
1850
],
_mm_xor_si128
(
c2
[
2115
],
_mm_xor_si128
(
c2
[
2887
],
_mm_xor_si128
(
c2
[
1357
],
_mm_xor_si128
(
c2
[
1097
],
_mm_xor_si128
(
c2
[
1102
],
_mm_xor_si128
(
c2
[
2682
],
_mm_xor_si128
(
c2
[
2422
],
_mm_xor_si128
(
c2
[
3986
],
_mm_xor_si128
(
c2
[
868
],
_mm_xor_si128
(
c2
[
1931
],
_mm_xor_si128
(
c2
[
2969
],
_mm_xor_si128
(
c2
[
1672
],
_mm_xor_si128
(
c2
[
2730
],
_mm_xor_si128
(
c2
[
911
],
_mm_xor_si128
(
c2
[
2502
],
_mm_xor_si128
(
c2
[
2242
],
_mm_xor_si128
(
c2
[
3541
],
_mm_xor_si128
(
c2
[
4062
],
_mm_xor_si128
(
c2
[
1490
],
_mm_xor_si128
(
c2
[
2009
],
_mm_xor_si128
(
c2
[
736
],
_mm_xor_si128
(
c2
[
2290
],
_mm_xor_si128
(
c2
[
994
],
_mm_xor_si128
(
c2
[
762
],
_mm_xor_si128
(
c2
[
502
],
_mm_xor_si128
(
c2
[
2319
],
c2
[
1278
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
65
]
=
_mm_xor_si128
(
c2
[
3392
],
_mm_xor_si128
(
c2
[
3132
],
_mm_xor_si128
(
c2
[
3904
],
_mm_xor_si128
(
c2
[
2871
],
_mm_xor_si128
(
c2
[
2088
],
_mm_xor_si128
(
c2
[
291
],
_mm_xor_si128
(
c2
[
31
],
_mm_xor_si128
(
c2
[
27
],
_mm_xor_si128
(
c2
[
292
],
_mm_xor_si128
(
c2
[
289
],
_mm_xor_si128
(
c2
[
3693
],
_mm_xor_si128
(
c2
[
3433
],
_mm_xor_si128
(
c2
[
3438
],
_mm_xor_si128
(
c2
[
859
],
_mm_xor_si128
(
c2
[
599
],
_mm_xor_si128
(
c2
[
2163
],
_mm_xor_si128
(
c2
[
3204
],
_mm_xor_si128
(
c2
[
108
],
_mm_xor_si128
(
c2
[
1146
],
_mm_xor_si128
(
c2
[
4008
],
_mm_xor_si128
(
c2
[
920
],
_mm_xor_si128
(
c2
[
3260
],
_mm_xor_si128
(
c2
[
1172
],
_mm_xor_si128
(
c2
[
679
],
_mm_xor_si128
(
c2
[
419
],
_mm_xor_si128
(
c2
[
1718
],
_mm_xor_si128
(
c2
[
2239
],
_mm_xor_si128
(
c2
[
3826
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
1230
],
_mm_xor_si128
(
c2
[
3072
],
_mm_xor_si128
(
c2
[
480
],
_mm_xor_si128
(
c2
[
3330
],
_mm_xor_si128
(
c2
[
3098
],
_mm_xor_si128
(
c2
[
2838
],
_mm_xor_si128
(
c2
[
496
],
c2
[
3614
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
78
]
=
_mm_xor_si128
(
c2
[
2869
],
_mm_xor_si128
(
c2
[
2609
],
_mm_xor_si128
(
c2
[
3381
],
_mm_xor_si128
(
c2
[
2348
],
_mm_xor_si128
(
c2
[
1820
],
_mm_xor_si128
(
c2
[
3927
],
_mm_xor_si128
(
c2
[
3667
],
_mm_xor_si128
(
c2
[
3676
],
_mm_xor_si128
(
c2
[
3928
],
_mm_xor_si128
(
c2
[
3183
],
_mm_xor_si128
(
c2
[
2923
],
_mm_xor_si128
(
c2
[
2915
],
_mm_xor_si128
(
c2
[
349
],
_mm_xor_si128
(
c2
[
89
],
_mm_xor_si128
(
c2
[
1640
],
_mm_xor_si128
(
c2
[
2681
],
_mm_xor_si128
(
c2
[
3744
],
_mm_xor_si128
(
c2
[
636
],
_mm_xor_si128
(
c2
[
3485
],
_mm_xor_si128
(
c2
[
397
],
_mm_xor_si128
(
c2
[
2737
],
_mm_xor_si128
(
c2
[
652
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
4068
],
_mm_xor_si128
(
c2
[
1208
],
_mm_xor_si128
(
c2
[
1716
],
_mm_xor_si128
(
c2
[
3303
],
_mm_xor_si128
(
c2
[
3822
],
_mm_xor_si128
(
c2
[
1754
],
_mm_xor_si128
(
c2
[
2549
],
_mm_xor_si128
(
c2
[
4116
],
_mm_xor_si128
(
c2
[
2820
],
_mm_xor_si128
(
c2
[
2575
],
_mm_xor_si128
(
c2
[
2315
],
_mm_xor_si128
(
c2
[
4145
],
_mm_xor_si128
(
c2
[
3104
],
c2
[
2324
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
91
]
=
_mm_xor_si128
(
c2
[
2602
],
_mm_xor_si128
(
c2
[
2342
],
_mm_xor_si128
(
c2
[
2092
],
_mm_xor_si128
(
c2
[
3127
],
_mm_xor_si128
(
c2
[
2864
],
_mm_xor_si128
(
c2
[
2081
],
_mm_xor_si128
(
c2
[
1831
],
_mm_xor_si128
(
c2
[
3673
],
_mm_xor_si128
(
c2
[
3413
],
_mm_xor_si128
(
c2
[
3150
],
_mm_xor_si128
(
c2
[
3409
],
_mm_xor_si128
(
c2
[
3146
],
_mm_xor_si128
(
c2
[
3674
],
_mm_xor_si128
(
c2
[
3671
],
_mm_xor_si128
(
c2
[
3411
],
_mm_xor_si128
(
c2
[
816
],
_mm_xor_si128
(
c2
[
2916
],
_mm_xor_si128
(
c2
[
2656
],
_mm_xor_si128
(
c2
[
2393
],
_mm_xor_si128
(
c2
[
2661
],
_mm_xor_si128
(
c2
[
2658
],
_mm_xor_si128
(
c2
[
2398
],
_mm_xor_si128
(
c2
[
82
],
_mm_xor_si128
(
c2
[
3981
],
_mm_xor_si128
(
c2
[
3718
],
_mm_xor_si128
(
c2
[
1386
],
_mm_xor_si128
(
c2
[
1123
],
_mm_xor_si128
(
c2
[
2427
],
_mm_xor_si128
(
c2
[
2164
],
_mm_xor_si128
(
c2
[
3490
],
_mm_xor_si128
(
c2
[
3227
],
_mm_xor_si128
(
c2
[
369
],
_mm_xor_si128
(
c2
[
106
],
_mm_xor_si128
(
c2
[
3231
],
_mm_xor_si128
(
c2
[
3228
],
_mm_xor_si128
(
c2
[
2968
],
_mm_xor_si128
(
c2
[
130
],
_mm_xor_si128
(
c2
[
4039
],
_mm_xor_si128
(
c2
[
2470
],
_mm_xor_si128
(
c2
[
2480
],
_mm_xor_si128
(
c2
[
2220
],
_mm_xor_si128
(
c2
[
3774
],
_mm_xor_si128
(
c2
[
4061
],
_mm_xor_si128
(
c2
[
3801
],
_mm_xor_si128
(
c2
[
3538
],
_mm_xor_si128
(
c2
[
941
],
_mm_xor_si128
(
c2
[
678
],
_mm_xor_si128
(
c2
[
1462
],
_mm_xor_si128
(
c2
[
1459
],
_mm_xor_si128
(
c2
[
1199
],
_mm_xor_si128
(
c2
[
3049
],
_mm_xor_si128
(
c2
[
2786
],
_mm_xor_si128
(
c2
[
3568
],
_mm_xor_si128
(
c2
[
3565
],
_mm_xor_si128
(
c2
[
3305
],
_mm_xor_si128
(
c2
[
4090
],
_mm_xor_si128
(
c2
[
2295
],
_mm_xor_si128
(
c2
[
2032
],
_mm_xor_si128
(
c2
[
3849
],
_mm_xor_si128
(
c2
[
3599
],
_mm_xor_si128
(
c2
[
2553
],
_mm_xor_si128
(
c2
[
2550
],
_mm_xor_si128
(
c2
[
2290
],
_mm_xor_si128
(
c2
[
2321
],
_mm_xor_si128
(
c2
[
2061
],
_mm_xor_si128
(
c2
[
1798
],
_mm_xor_si128
(
c2
[
3878
],
_mm_xor_si128
(
c2
[
3615
],
_mm_xor_si128
(
c2
[
2837
],
_mm_xor_si128
(
c2
[
2834
],
c2
[
2574
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
104
]
=
_mm_xor_si128
(
c2
[
1310
],
_mm_xor_si128
(
c2
[
1050
],
_mm_xor_si128
(
c2
[
2082
],
_mm_xor_si128
(
c2
[
1822
],
_mm_xor_si128
(
c2
[
789
],
_mm_xor_si128
(
c2
[
1306
],
_mm_xor_si128
(
c2
[
2368
],
_mm_xor_si128
(
c2
[
2108
],
_mm_xor_si128
(
c2
[
2117
],
_mm_xor_si128
(
c2
[
2369
],
_mm_xor_si128
(
c2
[
297
],
_mm_xor_si128
(
c2
[
1624
],
_mm_xor_si128
(
c2
[
1364
],
_mm_xor_si128
(
c2
[
1356
],
_mm_xor_si128
(
c2
[
2949
],
_mm_xor_si128
(
c2
[
2689
],
_mm_xor_si128
(
c2
[
341
],
_mm_xor_si128
(
c2
[
81
],
_mm_xor_si128
(
c2
[
1122
],
_mm_xor_si128
(
c2
[
2445
],
_mm_xor_si128
(
c2
[
2185
],
_mm_xor_si128
(
c2
[
3236
],
_mm_xor_si128
(
c2
[
1926
],
_mm_xor_si128
(
c2
[
3257
],
_mm_xor_si128
(
c2
[
2997
],
_mm_xor_si128
(
c2
[
1178
],
_mm_xor_si128
(
c2
[
2756
],
_mm_xor_si128
(
c2
[
2496
],
_mm_xor_si128
(
c2
[
4068
],
_mm_xor_si128
(
c2
[
3808
],
_mm_xor_si128
(
c2
[
157
],
_mm_xor_si128
(
c2
[
2004
],
_mm_xor_si128
(
c2
[
1744
],
_mm_xor_si128
(
c2
[
2263
],
_mm_xor_si128
(
c2
[
1250
],
_mm_xor_si128
(
c2
[
990
],
_mm_xor_si128
(
c2
[
2557
],
_mm_xor_si128
(
c2
[
1248
],
_mm_xor_si128
(
c2
[
1016
],
_mm_xor_si128
(
c2
[
756
],
_mm_xor_si128
(
c2
[
2846
],
_mm_xor_si128
(
c2
[
2586
],
c2
[
1545
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
117
]
=
_mm_xor_si128
(
c2
[
2868
],
_mm_xor_si128
(
c2
[
1
],
_mm_xor_si128
(
c2
[
3900
],
_mm_xor_si128
(
c2
[
3640
],
_mm_xor_si128
(
c2
[
526
],
_mm_xor_si128
(
c2
[
2607
],
_mm_xor_si128
(
c2
[
3652
],
_mm_xor_si128
(
c2
[
3926
],
_mm_xor_si128
(
c2
[
1072
],
_mm_xor_si128
(
c2
[
812
],
_mm_xor_si128
(
c2
[
3935
],
_mm_xor_si128
(
c2
[
808
],
_mm_xor_si128
(
c2
[
28
],
_mm_xor_si128
(
c2
[
1073
],
_mm_xor_si128
(
c2
[
2637
],
_mm_xor_si128
(
c2
[
3182
],
_mm_xor_si128
(
c2
[
315
],
_mm_xor_si128
(
c2
[
55
],
_mm_xor_si128
(
c2
[
3174
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
348
],
_mm_xor_si128
(
c2
[
1640
],
_mm_xor_si128
(
c2
[
1380
],
_mm_xor_si128
(
c2
[
1899
],
_mm_xor_si128
(
c2
[
2944
],
_mm_xor_si128
(
c2
[
2940
],
_mm_xor_si128
(
c2
[
3985
],
_mm_xor_si128
(
c2
[
4016
],
_mm_xor_si128
(
c2
[
889
],
_mm_xor_si128
(
c2
[
895
],
_mm_xor_si128
(
c2
[
1927
],
_mm_xor_si128
(
c2
[
3744
],
_mm_xor_si128
(
c2
[
630
],
_mm_xor_si128
(
c2
[
656
],
_mm_xor_si128
(
c2
[
1701
],
_mm_xor_si128
(
c2
[
2996
],
_mm_xor_si128
(
c2
[
4041
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
1460
],
_mm_xor_si128
(
c2
[
1200
],
_mm_xor_si128
(
c2
[
1467
],
_mm_xor_si128
(
c2
[
2499
],
_mm_xor_si128
(
c2
[
1988
],
_mm_xor_si128
(
c2
[
3020
],
_mm_xor_si128
(
c2
[
3562
],
_mm_xor_si128
(
c2
[
448
],
_mm_xor_si128
(
c2
[
4094
],
_mm_xor_si128
(
c2
[
967
],
_mm_xor_si128
(
c2
[
2808
],
_mm_xor_si128
(
c2
[
3853
],
_mm_xor_si128
(
c2
[
216
],
_mm_xor_si128
(
c2
[
1248
],
_mm_xor_si128
(
c2
[
3079
],
_mm_xor_si128
(
c2
[
4111
],
_mm_xor_si128
(
c2
[
3069
],
_mm_xor_si128
(
c2
[
2574
],
_mm_xor_si128
(
c2
[
3879
],
_mm_xor_si128
(
c2
[
3619
],
_mm_xor_si128
(
c2
[
245
],
_mm_xor_si128
(
c2
[
1277
],
_mm_xor_si128
(
c2
[
3363
],
c2
[
236
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
130
]
=
_mm_xor_si128
(
c2
[
3387
],
_mm_xor_si128
(
c2
[
3149
],
_mm_xor_si128
(
c2
[
427
],
c2
[
965
])));
//row: 11
d2
[
143
]
=
_mm_xor_si128
(
c2
[
1569
],
_mm_xor_si128
(
c2
[
2341
],
_mm_xor_si128
(
c2
[
1308
],
_mm_xor_si128
(
c2
[
1822
],
_mm_xor_si128
(
c2
[
2627
],
_mm_xor_si128
(
c2
[
2636
],
_mm_xor_si128
(
c2
[
3148
],
_mm_xor_si128
(
c2
[
2888
],
_mm_xor_si128
(
c2
[
1883
],
_mm_xor_si128
(
c2
[
2135
],
_mm_xor_si128
(
c2
[
1875
],
_mm_xor_si128
(
c2
[
3208
],
_mm_xor_si128
(
c2
[
600
],
_mm_xor_si128
(
c2
[
1641
],
_mm_xor_si128
(
c2
[
2704
],
_mm_xor_si128
(
c2
[
3755
],
_mm_xor_si128
(
c2
[
2705
],
_mm_xor_si128
(
c2
[
2445
],
_mm_xor_si128
(
c2
[
3516
],
_mm_xor_si128
(
c2
[
1957
],
_mm_xor_si128
(
c2
[
1697
],
_mm_xor_si128
(
c2
[
3028
],
_mm_xor_si128
(
c2
[
168
],
_mm_xor_si128
(
c2
[
936
],
_mm_xor_si128
(
c2
[
676
],
_mm_xor_si128
(
c2
[
2263
],
_mm_xor_si128
(
c2
[
3042
],
_mm_xor_si128
(
c2
[
2782
],
_mm_xor_si128
(
c2
[
3563
],
_mm_xor_si128
(
c2
[
1509
],
_mm_xor_si128
(
c2
[
3076
],
_mm_xor_si128
(
c2
[
2040
],
_mm_xor_si128
(
c2
[
1780
],
_mm_xor_si128
(
c2
[
1275
],
_mm_xor_si128
(
c2
[
3105
],
_mm_xor_si128
(
c2
[
2324
],
_mm_xor_si128
(
c2
[
2064
],
c2
[
1016
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
156
]
=
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
3911
],
_mm_xor_si128
(
c2
[
524
],
_mm_xor_si128
(
c2
[
3650
],
_mm_xor_si128
(
c2
[
1070
],
_mm_xor_si128
(
c2
[
810
],
_mm_xor_si128
(
c2
[
806
],
_mm_xor_si128
(
c2
[
1071
],
_mm_xor_si128
(
c2
[
547
],
_mm_xor_si128
(
c2
[
313
],
_mm_xor_si128
(
c2
[
53
],
_mm_xor_si128
(
c2
[
58
],
_mm_xor_si128
(
c2
[
1638
],
_mm_xor_si128
(
c2
[
1378
],
_mm_xor_si128
(
c2
[
2942
],
_mm_xor_si128
(
c2
[
3983
],
_mm_xor_si128
(
c2
[
2947
],
_mm_xor_si128
(
c2
[
887
],
_mm_xor_si128
(
c2
[
1925
],
_mm_xor_si128
(
c2
[
628
],
_mm_xor_si128
(
c2
[
1699
],
_mm_xor_si128
(
c2
[
4039
],
_mm_xor_si128
(
c2
[
1458
],
_mm_xor_si128
(
c2
[
1198
],
_mm_xor_si128
(
c2
[
2497
],
_mm_xor_si128
(
c2
[
3018
],
_mm_xor_si128
(
c2
[
446
],
_mm_xor_si128
(
c2
[
965
],
_mm_xor_si128
(
c2
[
3851
],
_mm_xor_si128
(
c2
[
1259
],
_mm_xor_si128
(
c2
[
4109
],
_mm_xor_si128
(
c2
[
3877
],
_mm_xor_si128
(
c2
[
3617
],
_mm_xor_si128
(
c2
[
1275
],
c2
[
234
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
169
]
=
_mm_xor_si128
(
c2
[
2087
],
_mm_xor_si128
(
c2
[
2872
],
_mm_xor_si128
(
c2
[
1826
],
_mm_xor_si128
(
c2
[
2
],
_mm_xor_si128
(
c2
[
3158
],
_mm_xor_si128
(
c2
[
3154
],
_mm_xor_si128
(
c2
[
3666
],
_mm_xor_si128
(
c2
[
3406
],
_mm_xor_si128
(
c2
[
1329
],
_mm_xor_si128
(
c2
[
2401
],
_mm_xor_si128
(
c2
[
2653
],
_mm_xor_si128
(
c2
[
2393
],
_mm_xor_si128
(
c2
[
3726
],
_mm_xor_si128
(
c2
[
1118
],
_mm_xor_si128
(
c2
[
2159
],
_mm_xor_si128
(
c2
[
3235
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
3236
],
_mm_xor_si128
(
c2
[
2976
],
_mm_xor_si128
(
c2
[
4034
],
_mm_xor_si128
(
c2
[
2475
],
_mm_xor_si128
(
c2
[
2215
],
_mm_xor_si128
(
c2
[
3546
],
_mm_xor_si128
(
c2
[
686
],
_mm_xor_si128
(
c2
[
1467
],
_mm_xor_si128
(
c2
[
1207
],
_mm_xor_si128
(
c2
[
2794
],
_mm_xor_si128
(
c2
[
3573
],
_mm_xor_si128
(
c2
[
3313
],
_mm_xor_si128
(
c2
[
2040
],
_mm_xor_si128
(
c2
[
3594
],
_mm_xor_si128
(
c2
[
2558
],
_mm_xor_si128
(
c2
[
2298
],
_mm_xor_si128
(
c2
[
4113
],
_mm_xor_si128
(
c2
[
1806
],
_mm_xor_si128
(
c2
[
3623
],
_mm_xor_si128
(
c2
[
2842
],
c2
[
2582
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
182
]
=
_mm_xor_si128
(
c2
[
792
],
_mm_xor_si128
(
c2
[
532
],
_mm_xor_si128
(
c2
[
2862
],
_mm_xor_si128
(
c2
[
1304
],
_mm_xor_si128
(
c2
[
3647
],
_mm_xor_si128
(
c2
[
271
],
_mm_xor_si128
(
c2
[
2601
],
_mm_xor_si128
(
c2
[
1850
],
_mm_xor_si128
(
c2
[
1590
],
_mm_xor_si128
(
c2
[
3933
],
_mm_xor_si128
(
c2
[
1586
],
_mm_xor_si128
(
c2
[
3929
],
_mm_xor_si128
(
c2
[
1851
],
_mm_xor_si128
(
c2
[
295
],
_mm_xor_si128
(
c2
[
35
],
_mm_xor_si128
(
c2
[
2891
],
_mm_xor_si128
(
c2
[
1093
],
_mm_xor_si128
(
c2
[
833
],
_mm_xor_si128
(
c2
[
3176
],
_mm_xor_si128
(
c2
[
838
],
_mm_xor_si128
(
c2
[
3441
],
_mm_xor_si128
(
c2
[
3181
],
_mm_xor_si128
(
c2
[
2418
],
_mm_xor_si128
(
c2
[
2158
],
_mm_xor_si128
(
c2
[
342
],
_mm_xor_si128
(
c2
[
3722
],
_mm_xor_si128
(
c2
[
1906
],
_mm_xor_si128
(
c2
[
604
],
_mm_xor_si128
(
c2
[
2947
],
_mm_xor_si128
(
c2
[
1667
],
_mm_xor_si128
(
c2
[
4010
],
_mm_xor_si128
(
c2
[
2705
],
_mm_xor_si128
(
c2
[
889
],
_mm_xor_si128
(
c2
[
1408
],
_mm_xor_si128
(
c2
[
4011
],
_mm_xor_si128
(
c2
[
3751
],
_mm_xor_si128
(
c2
[
2479
],
_mm_xor_si128
(
c2
[
650
],
_mm_xor_si128
(
c2
[
660
],
_mm_xor_si128
(
c2
[
3250
],
_mm_xor_si128
(
c2
[
2990
],
_mm_xor_si128
(
c2
[
2238
],
_mm_xor_si128
(
c2
[
1978
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
3277
],
_mm_xor_si128
(
c2
[
1461
],
_mm_xor_si128
(
c2
[
3798
],
_mm_xor_si128
(
c2
[
2242
],
_mm_xor_si128
(
c2
[
1982
],
_mm_xor_si128
(
c2
[
1197
],
_mm_xor_si128
(
c2
[
1226
],
_mm_xor_si128
(
c2
[
3569
],
_mm_xor_si128
(
c2
[
1745
],
_mm_xor_si128
(
c2
[
189
],
_mm_xor_si128
(
c2
[
4088
],
_mm_xor_si128
(
c2
[
472
],
_mm_xor_si128
(
c2
[
2815
],
_mm_xor_si128
(
c2
[
2039
],
_mm_xor_si128
(
c2
[
210
],
_mm_xor_si128
(
c2
[
730
],
_mm_xor_si128
(
c2
[
3333
],
_mm_xor_si128
(
c2
[
3073
],
_mm_xor_si128
(
c2
[
498
],
_mm_xor_si128
(
c2
[
238
],
_mm_xor_si128
(
c2
[
2581
],
_mm_xor_si128
(
c2
[
2055
],
_mm_xor_si128
(
c2
[
239
],
_mm_xor_si128
(
c2
[
1014
],
_mm_xor_si128
(
c2
[
3617
],
c2
[
3357
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
195
]
=
_mm_xor_si128
(
c2
[
2602
],
_mm_xor_si128
(
c2
[
1302
],
_mm_xor_si128
(
c2
[
1042
],
_mm_xor_si128
(
c2
[
3387
],
_mm_xor_si128
(
c2
[
1827
],
_mm_xor_si128
(
c2
[
2341
],
_mm_xor_si128
(
c2
[
781
],
_mm_xor_si128
(
c2
[
3650
],
_mm_xor_si128
(
c2
[
3673
],
_mm_xor_si128
(
c2
[
2373
],
_mm_xor_si128
(
c2
[
2113
],
_mm_xor_si128
(
c2
[
3669
],
_mm_xor_si128
(
c2
[
2109
],
_mm_xor_si128
(
c2
[
3934
],
_mm_xor_si128
(
c2
[
2374
],
_mm_xor_si128
(
c2
[
2916
],
_mm_xor_si128
(
c2
[
1616
],
_mm_xor_si128
(
c2
[
1356
],
_mm_xor_si128
(
c2
[
2921
],
_mm_xor_si128
(
c2
[
1361
],
_mm_xor_si128
(
c2
[
82
],
_mm_xor_si128
(
c2
[
2941
],
_mm_xor_si128
(
c2
[
2681
],
_mm_xor_si128
(
c2
[
1646
],
_mm_xor_si128
(
c2
[
86
],
_mm_xor_si128
(
c2
[
2687
],
_mm_xor_si128
(
c2
[
1127
],
_mm_xor_si128
(
c2
[
3750
],
_mm_xor_si128
(
c2
[
2190
],
_mm_xor_si128
(
c2
[
629
],
_mm_xor_si128
(
c2
[
3228
],
_mm_xor_si128
(
c2
[
3491
],
_mm_xor_si128
(
c2
[
1931
],
_mm_xor_si128
(
c2
[
390
],
_mm_xor_si128
(
c2
[
3002
],
_mm_xor_si128
(
c2
[
2730
],
_mm_xor_si128
(
c2
[
1170
],
_mm_xor_si128
(
c2
[
4061
],
_mm_xor_si128
(
c2
[
2761
],
_mm_xor_si128
(
c2
[
2501
],
_mm_xor_si128
(
c2
[
1201
],
_mm_xor_si128
(
c2
[
3800
],
_mm_xor_si128
(
c2
[
1722
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
3309
],
_mm_xor_si128
(
c2
[
1749
],
_mm_xor_si128
(
c2
[
3828
],
_mm_xor_si128
(
c2
[
2268
],
_mm_xor_si128
(
c2
[
2555
],
_mm_xor_si128
(
c2
[
995
],
_mm_xor_si128
(
c2
[
4109
],
_mm_xor_si128
(
c2
[
2549
],
_mm_xor_si128
(
c2
[
2813
],
_mm_xor_si128
(
c2
[
1253
],
_mm_xor_si128
(
c2
[
2321
],
_mm_xor_si128
(
c2
[
1021
],
_mm_xor_si128
(
c2
[
761
],
_mm_xor_si128
(
c2
[
4138
],
_mm_xor_si128
(
c2
[
2578
],
_mm_xor_si128
(
c2
[
3097
],
c2
[
1537
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
208
]
=
_mm_xor_si128
(
c2
[
1312
],
_mm_xor_si128
(
c2
[
1052
],
_mm_xor_si128
(
c2
[
3906
],
_mm_xor_si128
(
c2
[
3646
],
_mm_xor_si128
(
c2
[
1824
],
_mm_xor_si128
(
c2
[
532
],
_mm_xor_si128
(
c2
[
272
],
_mm_xor_si128
(
c2
[
791
],
_mm_xor_si128
(
c2
[
3385
],
_mm_xor_si128
(
c2
[
2370
],
_mm_xor_si128
(
c2
[
2110
],
_mm_xor_si128
(
c2
[
818
],
_mm_xor_si128
(
c2
[
558
],
_mm_xor_si128
(
c2
[
2106
],
_mm_xor_si128
(
c2
[
554
],
_mm_xor_si128
(
c2
[
2371
],
_mm_xor_si128
(
c2
[
806
],
_mm_xor_si128
(
c2
[
3413
],
_mm_xor_si128
(
c2
[
1613
],
_mm_xor_si128
(
c2
[
1353
],
_mm_xor_si128
(
c2
[
61
],
_mm_xor_si128
(
c2
[
3960
],
_mm_xor_si128
(
c2
[
1358
],
_mm_xor_si128
(
c2
[
3952
],
_mm_xor_si128
(
c2
[
2938
],
_mm_xor_si128
(
c2
[
2678
],
_mm_xor_si128
(
c2
[
1386
],
_mm_xor_si128
(
c2
[
1126
],
_mm_xor_si128
(
c2
[
83
],
_mm_xor_si128
(
c2
[
2950
],
_mm_xor_si128
(
c2
[
2690
],
_mm_xor_si128
(
c2
[
1124
],
_mm_xor_si128
(
c2
[
3718
],
_mm_xor_si128
(
c2
[
2187
],
_mm_xor_si128
(
c2
[
895
],
_mm_xor_si128
(
c2
[
635
],
_mm_xor_si128
(
c2
[
3225
],
_mm_xor_si128
(
c2
[
1673
],
_mm_xor_si128
(
c2
[
1928
],
_mm_xor_si128
(
c2
[
376
],
_mm_xor_si128
(
c2
[
2999
],
_mm_xor_si128
(
c2
[
1694
],
_mm_xor_si128
(
c2
[
1434
],
_mm_xor_si128
(
c2
[
1180
],
_mm_xor_si128
(
c2
[
3774
],
_mm_xor_si128
(
c2
[
2758
],
_mm_xor_si128
(
c2
[
2498
],
_mm_xor_si128
(
c2
[
1206
],
_mm_xor_si128
(
c2
[
946
],
_mm_xor_si128
(
c2
[
3797
],
_mm_xor_si128
(
c2
[
2505
],
_mm_xor_si128
(
c2
[
2245
],
_mm_xor_si128
(
c2
[
159
],
_mm_xor_si128
(
c2
[
2766
],
_mm_xor_si128
(
c2
[
1746
],
_mm_xor_si128
(
c2
[
454
],
_mm_xor_si128
(
c2
[
194
],
_mm_xor_si128
(
c2
[
2265
],
_mm_xor_si128
(
c2
[
713
],
_mm_xor_si128
(
c2
[
992
],
_mm_xor_si128
(
c2
[
3859
],
_mm_xor_si128
(
c2
[
3599
],
_mm_xor_si128
(
c2
[
2559
],
_mm_xor_si128
(
c2
[
994
],
_mm_xor_si128
(
c2
[
1250
],
_mm_xor_si128
(
c2
[
3857
],
_mm_xor_si128
(
c2
[
1018
],
_mm_xor_si128
(
c2
[
758
],
_mm_xor_si128
(
c2
[
3625
],
_mm_xor_si128
(
c2
[
3365
],
_mm_xor_si128
(
c2
[
2575
],
_mm_xor_si128
(
c2
[
1283
],
_mm_xor_si128
(
c2
[
1023
],
_mm_xor_si128
(
c2
[
1534
],
_mm_xor_si128
(
c2
[
4141
],
c2
[
4135
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
221
]
=
_mm_xor_si128
(
c2
[
3384
],
_mm_xor_si128
(
c2
[
3124
],
_mm_xor_si128
(
c2
[
531
],
_mm_xor_si128
(
c2
[
271
],
_mm_xor_si128
(
c2
[
3909
],
_mm_xor_si128
(
c2
[
1303
],
_mm_xor_si128
(
c2
[
1043
],
_mm_xor_si128
(
c2
[
2863
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
296
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
1589
],
_mm_xor_si128
(
c2
[
1329
],
_mm_xor_si128
(
c2
[
32
],
_mm_xor_si128
(
c2
[
1338
],
_mm_xor_si128
(
c2
[
297
],
_mm_xor_si128
(
c2
[
1590
],
_mm_xor_si128
(
c2
[
2369
],
_mm_xor_si128
(
c2
[
3698
],
_mm_xor_si128
(
c2
[
3438
],
_mm_xor_si128
(
c2
[
832
],
_mm_xor_si128
(
c2
[
572
],
_mm_xor_si128
(
c2
[
3443
],
_mm_xor_si128
(
c2
[
577
],
_mm_xor_si128
(
c2
[
864
],
_mm_xor_si128
(
c2
[
604
],
_mm_xor_si128
(
c2
[
2170
],
_mm_xor_si128
(
c2
[
1910
],
_mm_xor_si128
(
c2
[
2168
],
_mm_xor_si128
(
c2
[
3721
],
_mm_xor_si128
(
c2
[
3461
],
_mm_xor_si128
(
c2
[
3209
],
_mm_xor_si128
(
c2
[
343
],
_mm_xor_si128
(
c2
[
113
],
_mm_xor_si128
(
c2
[
1666
],
_mm_xor_si128
(
c2
[
1406
],
_mm_xor_si128
(
c2
[
1151
],
_mm_xor_si128
(
c2
[
2444
],
_mm_xor_si128
(
c2
[
4013
],
_mm_xor_si128
(
c2
[
1147
],
_mm_xor_si128
(
c2
[
912
],
_mm_xor_si128
(
c2
[
2478
],
_mm_xor_si128
(
c2
[
2218
],
_mm_xor_si128
(
c2
[
3252
],
_mm_xor_si128
(
c2
[
399
],
_mm_xor_si128
(
c2
[
2482
],
_mm_xor_si128
(
c2
[
684
],
_mm_xor_si128
(
c2
[
424
],
_mm_xor_si128
(
c2
[
1977
],
_mm_xor_si128
(
c2
[
1717
],
_mm_xor_si128
(
c2
[
1723
],
_mm_xor_si128
(
c2
[
3276
],
_mm_xor_si128
(
c2
[
3016
],
_mm_xor_si128
(
c2
[
2244
],
_mm_xor_si128
(
c2
[
3537
],
_mm_xor_si128
(
c2
[
3831
],
_mm_xor_si128
(
c2
[
1225
],
_mm_xor_si128
(
c2
[
965
],
_mm_xor_si128
(
c2
[
191
],
_mm_xor_si128
(
c2
[
1484
],
_mm_xor_si128
(
c2
[
3077
],
_mm_xor_si128
(
c2
[
471
],
_mm_xor_si128
(
c2
[
211
],
_mm_xor_si128
(
c2
[
472
],
_mm_xor_si128
(
c2
[
1778
],
_mm_xor_si128
(
c2
[
3335
],
_mm_xor_si128
(
c2
[
469
],
_mm_xor_si128
(
c2
[
3103
],
_mm_xor_si128
(
c2
[
2843
],
_mm_xor_si128
(
c2
[
237
],
_mm_xor_si128
(
c2
[
4136
],
_mm_xor_si128
(
c2
[
501
],
_mm_xor_si128
(
c2
[
2054
],
_mm_xor_si128
(
c2
[
1794
],
_mm_xor_si128
(
c2
[
3619
],
c2
[
766
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
234
]
=
_mm_xor_si128
(
c2
[
268
],
_mm_xor_si128
(
c2
[
3028
],
c2
[
3310
]));
//row: 19
d2
[
247
]
=
_mm_xor_si128
(
c2
[
532
],
_mm_xor_si128
(
c2
[
1304
],
_mm_xor_si128
(
c2
[
271
],
_mm_xor_si128
(
c2
[
3646
],
_mm_xor_si128
(
c2
[
1590
],
_mm_xor_si128
(
c2
[
1586
],
_mm_xor_si128
(
c2
[
1851
],
_mm_xor_si128
(
c2
[
3153
],
_mm_xor_si128
(
c2
[
833
],
_mm_xor_si128
(
c2
[
838
],
_mm_xor_si128
(
c2
[
2158
],
_mm_xor_si128
(
c2
[
3722
],
_mm_xor_si128
(
c2
[
604
],
_mm_xor_si128
(
c2
[
1667
],
_mm_xor_si128
(
c2
[
2705
],
_mm_xor_si128
(
c2
[
1408
],
_mm_xor_si128
(
c2
[
2479
],
_mm_xor_si128
(
c2
[
660
],
_mm_xor_si128
(
c2
[
1978
],
_mm_xor_si128
(
c2
[
3277
],
_mm_xor_si128
(
c2
[
3798
],
_mm_xor_si128
(
c2
[
1226
],
_mm_xor_si128
(
c2
[
1745
],
_mm_xor_si128
(
c2
[
472
],
_mm_xor_si128
(
c2
[
2039
],
_mm_xor_si128
(
c2
[
730
],
_mm_xor_si128
(
c2
[
238
],
_mm_xor_si128
(
c2
[
2055
],
c2
[
1014
]))))))))))))))))))))))))))));
//row: 20
d2
[
260
]
=
_mm_xor_si128
(
c2
[
263
],
_mm_xor_si128
(
c2
[
3
],
_mm_xor_si128
(
c2
[
788
],
_mm_xor_si128
(
c2
[
3901
],
_mm_xor_si128
(
c2
[
1334
],
_mm_xor_si128
(
c2
[
1074
],
_mm_xor_si128
(
c2
[
1070
],
_mm_xor_si128
(
c2
[
1335
],
_mm_xor_si128
(
c2
[
1078
],
_mm_xor_si128
(
c2
[
577
],
_mm_xor_si128
(
c2
[
317
],
_mm_xor_si128
(
c2
[
322
],
_mm_xor_si128
(
c2
[
1902
],
_mm_xor_si128
(
c2
[
1642
],
_mm_xor_si128
(
c2
[
3206
],
_mm_xor_si128
(
c2
[
88
],
_mm_xor_si128
(
c2
[
1151
],
_mm_xor_si128
(
c2
[
2189
],
_mm_xor_si128
(
c2
[
892
],
_mm_xor_si128
(
c2
[
886
],
_mm_xor_si128
(
c2
[
1950
],
_mm_xor_si128
(
c2
[
131
],
_mm_xor_si128
(
c2
[
1722
],
_mm_xor_si128
(
c2
[
1462
],
_mm_xor_si128
(
c2
[
2761
],
_mm_xor_si128
(
c2
[
3282
],
_mm_xor_si128
(
c2
[
710
],
_mm_xor_si128
(
c2
[
1229
],
_mm_xor_si128
(
c2
[
4115
],
_mm_xor_si128
(
c2
[
1510
],
_mm_xor_si128
(
c2
[
214
],
_mm_xor_si128
(
c2
[
4141
],
_mm_xor_si128
(
c2
[
3881
],
_mm_xor_si128
(
c2
[
1539
],
c2
[
498
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
273
]
=
_mm_xor_si128
(
c2
[
1310
],
_mm_xor_si128
(
c2
[
2082
],
_mm_xor_si128
(
c2
[
1049
],
_mm_xor_si128
(
c2
[
2600
],
_mm_xor_si128
(
c2
[
2368
],
_mm_xor_si128
(
c2
[
2377
],
_mm_xor_si128
(
c2
[
2889
],
_mm_xor_si128
(
c2
[
2629
],
_mm_xor_si128
(
c2
[
1624
],
_mm_xor_si128
(
c2
[
1876
],
_mm_xor_si128
(
c2
[
1616
],
_mm_xor_si128
(
c2
[
2949
],
_mm_xor_si128
(
c2
[
341
],
_mm_xor_si128
(
c2
[
1382
],
_mm_xor_si128
(
c2
[
2445
],
_mm_xor_si128
(
c2
[
3496
],
_mm_xor_si128
(
c2
[
2446
],
_mm_xor_si128
(
c2
[
2186
],
_mm_xor_si128
(
c2
[
3257
],
_mm_xor_si128
(
c2
[
1698
],
_mm_xor_si128
(
c2
[
1438
],
_mm_xor_si128
(
c2
[
2756
],
_mm_xor_si128
(
c2
[
4068
],
_mm_xor_si128
(
c2
[
677
],
_mm_xor_si128
(
c2
[
417
],
_mm_xor_si128
(
c2
[
2004
],
_mm_xor_si128
(
c2
[
2783
],
_mm_xor_si128
(
c2
[
2523
],
_mm_xor_si128
(
c2
[
1250
],
_mm_xor_si128
(
c2
[
2817
],
_mm_xor_si128
(
c2
[
1768
],
_mm_xor_si128
(
c2
[
1508
],
_mm_xor_si128
(
c2
[
2815
],
_mm_xor_si128
(
c2
[
1016
],
_mm_xor_si128
(
c2
[
2846
],
_mm_xor_si128
(
c2
[
2065
],
c2
[
1805
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
286
]
=
_mm_xor_si128
(
c2
[
2638
],
c2
[
3699
]);
//row: 23
d2
[
299
]
=
_mm_xor_si128
(
c2
[
1043
],
_mm_xor_si128
(
c2
[
2688
],
c2
[
3510
]));
//row: 24
d2
[
312
]
=
_mm_xor_si128
(
c2
[
293
],
_mm_xor_si128
(
c2
[
322
],
c2
[
2319
]));
//row: 25
d2
[
325
]
=
_mm_xor_si128
(
c2
[
1312
],
c2
[
662
]);
//row: 26
d2
[
338
]
=
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
3911
],
_mm_xor_si128
(
c2
[
3905
],
_mm_xor_si128
(
c2
[
784
],
_mm_xor_si128
(
c2
[
524
],
_mm_xor_si128
(
c2
[
531
],
_mm_xor_si128
(
c2
[
3650
],
_mm_xor_si128
(
c2
[
3644
],
_mm_xor_si128
(
c2
[
1070
],
_mm_xor_si128
(
c2
[
810
],
_mm_xor_si128
(
c2
[
817
],
_mm_xor_si128
(
c2
[
806
],
_mm_xor_si128
(
c2
[
813
],
_mm_xor_si128
(
c2
[
1071
],
_mm_xor_si128
(
c2
[
1338
],
_mm_xor_si128
(
c2
[
1078
],
_mm_xor_si128
(
c2
[
313
],
_mm_xor_si128
(
c2
[
53
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
58
],
_mm_xor_si128
(
c2
[
312
],
_mm_xor_si128
(
c2
[
52
],
_mm_xor_si128
(
c2
[
1102
],
_mm_xor_si128
(
c2
[
1638
],
_mm_xor_si128
(
c2
[
1378
],
_mm_xor_si128
(
c2
[
1385
],
_mm_xor_si128
(
c2
[
3202
],
_mm_xor_si128
(
c2
[
2942
],
_mm_xor_si128
(
c2
[
2949
],
_mm_xor_si128
(
c2
[
3983
],
_mm_xor_si128
(
c2
[
3990
],
_mm_xor_si128
(
c2
[
1147
],
_mm_xor_si128
(
c2
[
887
],
_mm_xor_si128
(
c2
[
894
],
_mm_xor_si128
(
c2
[
1925
],
_mm_xor_si128
(
c2
[
1932
],
_mm_xor_si128
(
c2
[
628
],
_mm_xor_si128
(
c2
[
895
],
_mm_xor_si128
(
c2
[
635
],
_mm_xor_si128
(
c2
[
1959
],
_mm_xor_si128
(
c2
[
1699
],
_mm_xor_si128
(
c2
[
1693
],
_mm_xor_si128
(
c2
[
4039
],
_mm_xor_si128
(
c2
[
134
],
_mm_xor_si128
(
c2
[
4033
],
_mm_xor_si128
(
c2
[
1458
],
_mm_xor_si128
(
c2
[
1198
],
_mm_xor_si128
(
c2
[
1205
],
_mm_xor_si128
(
c2
[
2757
],
_mm_xor_si128
(
c2
[
2497
],
_mm_xor_si128
(
c2
[
2504
],
_mm_xor_si128
(
c2
[
3018
],
_mm_xor_si128
(
c2
[
3285
],
_mm_xor_si128
(
c2
[
3025
],
_mm_xor_si128
(
c2
[
706
],
_mm_xor_si128
(
c2
[
446
],
_mm_xor_si128
(
c2
[
453
],
_mm_xor_si128
(
c2
[
965
],
_mm_xor_si128
(
c2
[
1232
],
_mm_xor_si128
(
c2
[
972
],
_mm_xor_si128
(
c2
[
3312
],
_mm_xor_si128
(
c2
[
4111
],
_mm_xor_si128
(
c2
[
3851
],
_mm_xor_si128
(
c2
[
3858
],
_mm_xor_si128
(
c2
[
1259
],
_mm_xor_si128
(
c2
[
1253
],
_mm_xor_si128
(
c2
[
4109
],
_mm_xor_si128
(
c2
[
217
],
_mm_xor_si128
(
c2
[
4116
],
_mm_xor_si128
(
c2
[
3877
],
_mm_xor_si128
(
c2
[
3617
],
_mm_xor_si128
(
c2
[
3624
],
_mm_xor_si128
(
c2
[
1535
],
_mm_xor_si128
(
c2
[
1275
],
_mm_xor_si128
(
c2
[
1282
],
_mm_xor_si128
(
c2
[
234
],
_mm_xor_si128
(
c2
[
501
],
c2
[
241
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
351
]
=
_mm_xor_si128
(
c2
[
2090
],
c2
[
428
]);
//row: 28
d2
[
364
]
=
_mm_xor_si128
(
c2
[
3666
],
_mm_xor_si128
(
c2
[
2663
],
c2
[
3772
]));
//row: 29
d2
[
377
]
=
_mm_xor_si128
(
c2
[
523
],
c2
[
2965
]);
//row: 30
d2
[
390
]
=
_mm_xor_si128
(
c2
[
1616
],
_mm_xor_si128
(
c2
[
391
],
_mm_xor_si128
(
c2
[
705
],
c2
[
1794
])));
//row: 31
d2
[
403
]
=
_mm_xor_si128
(
c2
[
2867
],
_mm_xor_si128
(
c2
[
3652
],
_mm_xor_si128
(
c2
[
2606
],
_mm_xor_si128
(
c2
[
3938
],
_mm_xor_si128
(
c2
[
3934
],
_mm_xor_si128
(
c2
[
287
],
_mm_xor_si128
(
c2
[
27
],
_mm_xor_si128
(
c2
[
813
],
_mm_xor_si128
(
c2
[
3181
],
_mm_xor_si128
(
c2
[
3433
],
_mm_xor_si128
(
c2
[
3173
],
_mm_xor_si128
(
c2
[
347
],
_mm_xor_si128
(
c2
[
1898
],
_mm_xor_si128
(
c2
[
2939
],
_mm_xor_si128
(
c2
[
4015
],
_mm_xor_si128
(
c2
[
894
],
_mm_xor_si128
(
c2
[
4016
],
_mm_xor_si128
(
c2
[
3756
],
_mm_xor_si128
(
c2
[
655
],
_mm_xor_si128
(
c2
[
3255
],
_mm_xor_si128
(
c2
[
2995
],
_mm_xor_si128
(
c2
[
167
],
_mm_xor_si128
(
c2
[
1466
],
_mm_xor_si128
(
c2
[
2247
],
_mm_xor_si128
(
c2
[
1987
],
_mm_xor_si128
(
c2
[
3574
],
_mm_xor_si128
(
c2
[
194
],
_mm_xor_si128
(
c2
[
4093
],
_mm_xor_si128
(
c2
[
2820
],
_mm_xor_si128
(
c2
[
215
],
_mm_xor_si128
(
c2
[
3338
],
_mm_xor_si128
(
c2
[
3078
],
_mm_xor_si128
(
c2
[
2586
],
_mm_xor_si128
(
c2
[
244
],
_mm_xor_si128
(
c2
[
3622
],
c2
[
3362
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
416
]
=
_mm_xor_si128
(
c2
[
526
],
_mm_xor_si128
(
c2
[
266
],
_mm_xor_si128
(
c2
[
1311
],
_mm_xor_si128
(
c2
[
1051
],
_mm_xor_si128
(
c2
[
5
],
_mm_xor_si128
(
c2
[
3646
],
_mm_xor_si128
(
c2
[
1597
],
_mm_xor_si128
(
c2
[
1337
],
_mm_xor_si128
(
c2
[
1333
],
_mm_xor_si128
(
c2
[
1598
],
_mm_xor_si128
(
c2
[
840
],
_mm_xor_si128
(
c2
[
580
],
_mm_xor_si128
(
c2
[
572
],
_mm_xor_si128
(
c2
[
2165
],
_mm_xor_si128
(
c2
[
1905
],
_mm_xor_si128
(
c2
[
3729
],
_mm_xor_si128
(
c2
[
3469
],
_mm_xor_si128
(
c2
[
338
],
_mm_xor_si128
(
c2
[
1674
],
_mm_xor_si128
(
c2
[
1414
],
_mm_xor_si128
(
c2
[
2452
],
_mm_xor_si128
(
c2
[
1155
],
_mm_xor_si128
(
c2
[
2473
],
_mm_xor_si128
(
c2
[
2213
],
_mm_xor_si128
(
c2
[
394
],
_mm_xor_si128
(
c2
[
130
],
_mm_xor_si128
(
c2
[
1985
],
_mm_xor_si128
(
c2
[
1725
],
_mm_xor_si128
(
c2
[
3284
],
_mm_xor_si128
(
c2
[
3024
],
_mm_xor_si128
(
c2
[
3545
],
_mm_xor_si128
(
c2
[
1233
],
_mm_xor_si128
(
c2
[
973
],
_mm_xor_si128
(
c2
[
1492
],
_mm_xor_si128
(
c2
[
479
],
_mm_xor_si128
(
c2
[
219
],
_mm_xor_si128
(
c2
[
1773
],
_mm_xor_si128
(
c2
[
477
],
_mm_xor_si128
(
c2
[
245
],
_mm_xor_si128
(
c2
[
4144
],
_mm_xor_si128
(
c2
[
2062
],
_mm_xor_si128
(
c2
[
1802
],
c2
[
761
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
429
]
=
_mm_xor_si128
(
c2
[
267
],
_mm_xor_si128
(
c2
[
1052
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
1338
],
_mm_xor_si128
(
c2
[
1334
],
_mm_xor_si128
(
c2
[
1586
],
_mm_xor_si128
(
c2
[
581
],
_mm_xor_si128
(
c2
[
573
],
_mm_xor_si128
(
c2
[
842
],
_mm_xor_si128
(
c2
[
1906
],
_mm_xor_si128
(
c2
[
3470
],
_mm_xor_si128
(
c2
[
339
],
_mm_xor_si128
(
c2
[
1415
],
_mm_xor_si128
(
c2
[
2453
],
_mm_xor_si128
(
c2
[
1156
],
_mm_xor_si128
(
c2
[
2214
],
_mm_xor_si128
(
c2
[
395
],
_mm_xor_si128
(
c2
[
1726
],
_mm_xor_si128
(
c2
[
3025
],
_mm_xor_si128
(
c2
[
3546
],
_mm_xor_si128
(
c2
[
974
],
_mm_xor_si128
(
c2
[
1493
],
_mm_xor_si128
(
c2
[
3572
],
_mm_xor_si128
(
c2
[
220
],
_mm_xor_si128
(
c2
[
1774
],
_mm_xor_si128
(
c2
[
478
],
_mm_xor_si128
(
c2
[
4145
],
_mm_xor_si128
(
c2
[
1803
],
c2
[
762
]))))))))))))))))))))))))))));
//row: 34
d2
[
442
]
=
_mm_xor_si128
(
c2
[
3647
],
_mm_xor_si128
(
c2
[
3387
],
_mm_xor_si128
(
c2
[
3907
],
_mm_xor_si128
(
c2
[
260
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
520
],
_mm_xor_si128
(
c2
[
3126
],
_mm_xor_si128
(
c2
[
3646
],
_mm_xor_si128
(
c2
[
1312
],
_mm_xor_si128
(
c2
[
546
],
_mm_xor_si128
(
c2
[
286
],
_mm_xor_si128
(
c2
[
806
],
_mm_xor_si128
(
c2
[
295
],
_mm_xor_si128
(
c2
[
815
],
_mm_xor_si128
(
c2
[
547
],
_mm_xor_si128
(
c2
[
1327
],
_mm_xor_si128
(
c2
[
1067
],
_mm_xor_si128
(
c2
[
3961
],
_mm_xor_si128
(
c2
[
3701
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
3693
],
_mm_xor_si128
(
c2
[
314
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
1127
],
_mm_xor_si128
(
c2
[
867
],
_mm_xor_si128
(
c2
[
1387
],
_mm_xor_si128
(
c2
[
2678
],
_mm_xor_si128
(
c2
[
2418
],
_mm_xor_si128
(
c2
[
2938
],
_mm_xor_si128
(
c2
[
3459
],
_mm_xor_si128
(
c2
[
3979
],
_mm_xor_si128
(
c2
[
636
],
_mm_xor_si128
(
c2
[
376
],
_mm_xor_si128
(
c2
[
896
],
_mm_xor_si128
(
c2
[
1414
],
_mm_xor_si128
(
c2
[
1934
],
_mm_xor_si128
(
c2
[
104
],
_mm_xor_si128
(
c2
[
884
],
_mm_xor_si128
(
c2
[
624
],
_mm_xor_si128
(
c2
[
1435
],
_mm_xor_si128
(
c2
[
1175
],
_mm_xor_si128
(
c2
[
1695
],
_mm_xor_si128
(
c2
[
3515
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
4035
],
_mm_xor_si128
(
c2
[
947
],
_mm_xor_si128
(
c2
[
687
],
_mm_xor_si128
(
c2
[
1207
],
_mm_xor_si128
(
c2
[
2246
],
_mm_xor_si128
(
c2
[
1986
],
_mm_xor_si128
(
c2
[
2506
],
_mm_xor_si128
(
c2
[
2507
],
_mm_xor_si128
(
c2
[
3287
],
_mm_xor_si128
(
c2
[
3027
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
4094
],
_mm_xor_si128
(
c2
[
442
],
_mm_xor_si128
(
c2
[
454
],
_mm_xor_si128
(
c2
[
1234
],
_mm_xor_si128
(
c2
[
974
],
_mm_xor_si128
(
c2
[
3600
],
_mm_xor_si128
(
c2
[
3340
],
_mm_xor_si128
(
c2
[
3860
],
_mm_xor_si128
(
c2
[
735
],
_mm_xor_si128
(
c2
[
1255
],
_mm_xor_si128
(
c2
[
3598
],
_mm_xor_si128
(
c2
[
219
],
_mm_xor_si128
(
c2
[
4118
],
_mm_xor_si128
(
c2
[
3366
],
_mm_xor_si128
(
c2
[
3106
],
_mm_xor_si128
(
c2
[
3626
],
_mm_xor_si128
(
c2
[
1024
],
_mm_xor_si128
(
c2
[
764
],
_mm_xor_si128
(
c2
[
1284
],
_mm_xor_si128
(
c2
[
3882
],
_mm_xor_si128
(
c2
[
503
],
c2
[
243
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
455
]
=
_mm_xor_si128
(
c2
[
1047
],
_mm_xor_si128
(
c2
[
787
],
_mm_xor_si128
(
c2
[
1572
],
_mm_xor_si128
(
c2
[
526
],
_mm_xor_si128
(
c2
[
2118
],
_mm_xor_si128
(
c2
[
1858
],
_mm_xor_si128
(
c2
[
1854
],
_mm_xor_si128
(
c2
[
2106
],
_mm_xor_si128
(
c2
[
3415
],
_mm_xor_si128
(
c2
[
1361
],
_mm_xor_si128
(
c2
[
1101
],
_mm_xor_si128
(
c2
[
1093
],
_mm_xor_si128
(
c2
[
2686
],
_mm_xor_si128
(
c2
[
2426
],
_mm_xor_si128
(
c2
[
3990
],
_mm_xor_si128
(
c2
[
859
],
_mm_xor_si128
(
c2
[
1935
],
_mm_xor_si128
(
c2
[
2973
],
_mm_xor_si128
(
c2
[
1676
],
_mm_xor_si128
(
c2
[
2734
],
_mm_xor_si128
(
c2
[
915
],
_mm_xor_si128
(
c2
[
1960
],
_mm_xor_si128
(
c2
[
2506
],
_mm_xor_si128
(
c2
[
2246
],
_mm_xor_si128
(
c2
[
3545
],
_mm_xor_si128
(
c2
[
4066
],
_mm_xor_si128
(
c2
[
1494
],
_mm_xor_si128
(
c2
[
2013
],
_mm_xor_si128
(
c2
[
740
],
_mm_xor_si128
(
c2
[
2294
],
_mm_xor_si128
(
c2
[
998
],
_mm_xor_si128
(
c2
[
766
],
_mm_xor_si128
(
c2
[
506
],
_mm_xor_si128
(
c2
[
2323
],
c2
[
1282
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
468
]
=
_mm_xor_si128
(
c2
[
1312
],
_mm_xor_si128
(
c2
[
1882
],
c2
[
973
]));
//row: 37
d2
[
481
]
=
_mm_xor_si128
(
c2
[
787
],
_mm_xor_si128
(
c2
[
3907
],
_mm_xor_si128
(
c2
[
1572
],
_mm_xor_si128
(
c2
[
520
],
_mm_xor_si128
(
c2
[
526
],
_mm_xor_si128
(
c2
[
3646
],
_mm_xor_si128
(
c2
[
1858
],
_mm_xor_si128
(
c2
[
806
],
_mm_xor_si128
(
c2
[
1854
],
_mm_xor_si128
(
c2
[
815
],
_mm_xor_si128
(
c2
[
2106
],
_mm_xor_si128
(
c2
[
1327
],
_mm_xor_si128
(
c2
[
1067
],
_mm_xor_si128
(
c2
[
1101
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
1093
],
_mm_xor_si128
(
c2
[
314
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
2426
],
_mm_xor_si128
(
c2
[
1387
],
_mm_xor_si128
(
c2
[
3990
],
_mm_xor_si128
(
c2
[
2938
],
_mm_xor_si128
(
c2
[
859
],
_mm_xor_si128
(
c2
[
3979
],
_mm_xor_si128
(
c2
[
1935
],
_mm_xor_si128
(
c2
[
896
],
_mm_xor_si128
(
c2
[
2973
],
_mm_xor_si128
(
c2
[
1934
],
_mm_xor_si128
(
c2
[
1676
],
_mm_xor_si128
(
c2
[
884
],
_mm_xor_si128
(
c2
[
624
],
_mm_xor_si128
(
c2
[
2734
],
_mm_xor_si128
(
c2
[
1695
],
_mm_xor_si128
(
c2
[
915
],
_mm_xor_si128
(
c2
[
136
],
_mm_xor_si128
(
c2
[
4035
],
_mm_xor_si128
(
c2
[
2246
],
_mm_xor_si128
(
c2
[
1207
],
_mm_xor_si128
(
c2
[
3545
],
_mm_xor_si128
(
c2
[
2506
],
_mm_xor_si128
(
c2
[
4066
],
_mm_xor_si128
(
c2
[
3287
],
_mm_xor_si128
(
c2
[
3027
],
_mm_xor_si128
(
c2
[
1494
],
_mm_xor_si128
(
c2
[
442
],
_mm_xor_si128
(
c2
[
2013
],
_mm_xor_si128
(
c2
[
1234
],
_mm_xor_si128
(
c2
[
974
],
_mm_xor_si128
(
c2
[
740
],
_mm_xor_si128
(
c2
[
3860
],
_mm_xor_si128
(
c2
[
2294
],
_mm_xor_si128
(
c2
[
1255
],
_mm_xor_si128
(
c2
[
998
],
_mm_xor_si128
(
c2
[
219
],
_mm_xor_si128
(
c2
[
4118
],
_mm_xor_si128
(
c2
[
506
],
_mm_xor_si128
(
c2
[
3626
],
_mm_xor_si128
(
c2
[
2323
],
_mm_xor_si128
(
c2
[
1284
],
_mm_xor_si128
(
c2
[
1282
],
_mm_xor_si128
(
c2
[
503
],
c2
[
243
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
494
]
=
_mm_xor_si128
(
c2
[
3647
],
_mm_xor_si128
(
c2
[
3387
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
3126
],
_mm_xor_si128
(
c2
[
546
],
_mm_xor_si128
(
c2
[
286
],
_mm_xor_si128
(
c2
[
295
],
_mm_xor_si128
(
c2
[
547
],
_mm_xor_si128
(
c2
[
3415
],
_mm_xor_si128
(
c2
[
3961
],
_mm_xor_si128
(
c2
[
3701
],
_mm_xor_si128
(
c2
[
3693
],
_mm_xor_si128
(
c2
[
1127
],
_mm_xor_si128
(
c2
[
867
],
_mm_xor_si128
(
c2
[
2418
],
_mm_xor_si128
(
c2
[
3459
],
_mm_xor_si128
(
c2
[
376
],
_mm_xor_si128
(
c2
[
1414
],
_mm_xor_si128
(
c2
[
104
],
_mm_xor_si128
(
c2
[
1175
],
_mm_xor_si128
(
c2
[
3515
],
_mm_xor_si128
(
c2
[
3520
],
_mm_xor_si128
(
c2
[
947
],
_mm_xor_si128
(
c2
[
687
],
_mm_xor_si128
(
c2
[
1986
],
_mm_xor_si128
(
c2
[
2507
],
_mm_xor_si128
(
c2
[
4094
],
_mm_xor_si128
(
c2
[
454
],
_mm_xor_si128
(
c2
[
3340
],
_mm_xor_si128
(
c2
[
735
],
_mm_xor_si128
(
c2
[
3598
],
_mm_xor_si128
(
c2
[
3366
],
_mm_xor_si128
(
c2
[
3106
],
_mm_xor_si128
(
c2
[
764
],
c2
[
3882
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
507
]
=
_mm_xor_si128
(
c2
[
3126
],
_mm_xor_si128
(
c2
[
2866
],
_mm_xor_si128
(
c2
[
3911
],
_mm_xor_si128
(
c2
[
3651
],
_mm_xor_si128
(
c2
[
2605
],
_mm_xor_si128
(
c2
[
1311
],
_mm_xor_si128
(
c2
[
38
],
_mm_xor_si128
(
c2
[
3937
],
_mm_xor_si128
(
c2
[
3933
],
_mm_xor_si128
(
c2
[
26
],
_mm_xor_si128
(
c2
[
3440
],
_mm_xor_si128
(
c2
[
3180
],
_mm_xor_si128
(
c2
[
3172
],
_mm_xor_si128
(
c2
[
606
],
_mm_xor_si128
(
c2
[
346
],
_mm_xor_si128
(
c2
[
2170
],
_mm_xor_si128
(
c2
[
1910
],
_mm_xor_si128
(
c2
[
2938
],
_mm_xor_si128
(
c2
[
115
],
_mm_xor_si128
(
c2
[
4014
],
_mm_xor_si128
(
c2
[
893
],
_mm_xor_si128
(
c2
[
3755
],
_mm_xor_si128
(
c2
[
914
],
_mm_xor_si128
(
c2
[
654
],
_mm_xor_si128
(
c2
[
2994
],
_mm_xor_si128
(
c2
[
426
],
_mm_xor_si128
(
c2
[
166
],
_mm_xor_si128
(
c2
[
1725
],
_mm_xor_si128
(
c2
[
1465
],
_mm_xor_si128
(
c2
[
1986
],
_mm_xor_si128
(
c2
[
3833
],
_mm_xor_si128
(
c2
[
3573
],
_mm_xor_si128
(
c2
[
4092
],
_mm_xor_si128
(
c2
[
3571
],
_mm_xor_si128
(
c2
[
3079
],
_mm_xor_si128
(
c2
[
2819
],
_mm_xor_si128
(
c2
[
214
],
_mm_xor_si128
(
c2
[
3077
],
_mm_xor_si128
(
c2
[
2845
],
_mm_xor_si128
(
c2
[
2585
],
_mm_xor_si128
(
c2
[
503
],
_mm_xor_si128
(
c2
[
243
],
c2
[
3361
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
520
]
=
_mm_xor_si128
(
c2
[
266
],
_mm_xor_si128
(
c2
[
267
],
_mm_xor_si128
(
c2
[
1051
],
_mm_xor_si128
(
c2
[
1052
],
_mm_xor_si128
(
c2
[
5
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
1337
],
_mm_xor_si128
(
c2
[
1338
],
_mm_xor_si128
(
c2
[
1333
],
_mm_xor_si128
(
c2
[
1334
],
_mm_xor_si128
(
c2
[
1598
],
_mm_xor_si128
(
c2
[
1846
],
_mm_xor_si128
(
c2
[
1586
],
_mm_xor_si128
(
c2
[
580
],
_mm_xor_si128
(
c2
[
581
],
_mm_xor_si128
(
c2
[
572
],
_mm_xor_si128
(
c2
[
833
],
_mm_xor_si128
(
c2
[
573
],
_mm_xor_si128
(
c2
[
324
],
_mm_xor_si128
(
c2
[
1905
],
_mm_xor_si128
(
c2
[
1906
],
_mm_xor_si128
(
c2
[
3469
],
_mm_xor_si128
(
c2
[
3470
],
_mm_xor_si128
(
c2
[
338
],
_mm_xor_si128
(
c2
[
339
],
_mm_xor_si128
(
c2
[
1414
],
_mm_xor_si128
(
c2
[
1415
],
_mm_xor_si128
(
c2
[
2452
],
_mm_xor_si128
(
c2
[
2453
],
_mm_xor_si128
(
c2
[
1155
],
_mm_xor_si128
(
c2
[
1416
],
_mm_xor_si128
(
c2
[
1156
],
_mm_xor_si128
(
c2
[
2213
],
_mm_xor_si128
(
c2
[
2214
],
_mm_xor_si128
(
c2
[
394
],
_mm_xor_si128
(
c2
[
655
],
_mm_xor_si128
(
c2
[
395
],
_mm_xor_si128
(
c2
[
1725
],
_mm_xor_si128
(
c2
[
1726
],
_mm_xor_si128
(
c2
[
3024
],
_mm_xor_si128
(
c2
[
3025
],
_mm_xor_si128
(
c2
[
3545
],
_mm_xor_si128
(
c2
[
3806
],
_mm_xor_si128
(
c2
[
3546
],
_mm_xor_si128
(
c2
[
973
],
_mm_xor_si128
(
c2
[
974
],
_mm_xor_si128
(
c2
[
1492
],
_mm_xor_si128
(
c2
[
1753
],
_mm_xor_si128
(
c2
[
1493
],
_mm_xor_si128
(
c2
[
219
],
_mm_xor_si128
(
c2
[
220
],
_mm_xor_si128
(
c2
[
1773
],
_mm_xor_si128
(
c2
[
1774
],
_mm_xor_si128
(
c2
[
477
],
_mm_xor_si128
(
c2
[
738
],
_mm_xor_si128
(
c2
[
478
],
_mm_xor_si128
(
c2
[
4144
],
_mm_xor_si128
(
c2
[
4145
],
_mm_xor_si128
(
c2
[
1802
],
_mm_xor_si128
(
c2
[
1803
],
_mm_xor_si128
(
c2
[
761
],
_mm_xor_si128
(
c2
[
1022
],
c2
[
762
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
533
]
=
_mm_xor_si128
(
c2
[
1566
],
_mm_xor_si128
(
c2
[
1306
],
_mm_xor_si128
(
c2
[
2091
],
_mm_xor_si128
(
c2
[
1045
],
_mm_xor_si128
(
c2
[
2637
],
_mm_xor_si128
(
c2
[
2377
],
_mm_xor_si128
(
c2
[
2373
],
_mm_xor_si128
(
c2
[
2638
],
_mm_xor_si128
(
c2
[
3937
],
_mm_xor_si128
(
c2
[
1880
],
_mm_xor_si128
(
c2
[
1620
],
_mm_xor_si128
(
c2
[
1612
],
_mm_xor_si128
(
c2
[
3205
],
_mm_xor_si128
(
c2
[
2945
],
_mm_xor_si128
(
c2
[
350
],
_mm_xor_si128
(
c2
[
1378
],
_mm_xor_si128
(
c2
[
2454
],
_mm_xor_si128
(
c2
[
3492
],
_mm_xor_si128
(
c2
[
2195
],
_mm_xor_si128
(
c2
[
3253
],
_mm_xor_si128
(
c2
[
1434
],
_mm_xor_si128
(
c2
[
1442
],
_mm_xor_si128
(
c2
[
3025
],
_mm_xor_si128
(
c2
[
2765
],
_mm_xor_si128
(
c2
[
4064
],
_mm_xor_si128
(
c2
[
426
],
_mm_xor_si128
(
c2
[
2013
],
_mm_xor_si128
(
c2
[
2532
],
_mm_xor_si128
(
c2
[
1259
],
_mm_xor_si128
(
c2
[
2813
],
_mm_xor_si128
(
c2
[
1517
],
_mm_xor_si128
(
c2
[
1285
],
_mm_xor_si128
(
c2
[
1025
],
_mm_xor_si128
(
c2
[
2842
],
c2
[
1801
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc224_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=224, byte encoding
static
inline
void
ldpc_BG2_Zc224_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m256i
*
csimd
=
(
__m256i
*
)
c
,
*
dsimd
=
(
__m256i
*
)
d
;
__m256i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
7
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm256_xor_si256
(
c2
[
1122
],
_mm256_xor_si256
(
c2
[
2941
],
_mm256_xor_si256
(
c2
[
3364
],
_mm256_xor_si256
(
c2
[
1977
],
_mm256_xor_si256
(
c2
[
438
],
_mm256_xor_si256
(
c2
[
3519
],
_mm256_xor_si256
(
c2
[
3248
],
_mm256_xor_si256
(
c2
[
868
],
_mm256_xor_si256
(
c2
[
2987
],
_mm256_xor_si256
(
c2
[
3966
],
_mm256_xor_si256
(
c2
[
2003
],
_mm256_xor_si256
(
c2
[
2719
],
_mm256_xor_si256
(
c2
[
4401
],
_mm256_xor_si256
(
c2
[
617
],
_mm256_xor_si256
(
c2
[
3994
],
_mm256_xor_si256
(
c2
[
3993
],
_mm256_xor_si256
(
c2
[
4426
],
_mm256_xor_si256
(
c2
[
2747
],
_mm256_xor_si256
(
c2
[
4007
],
_mm256_xor_si256
(
c2
[
1224
],
_mm256_xor_si256
(
c2
[
2061
],
_mm256_xor_si256
(
c2
[
4172
],
_mm256_xor_si256
(
c2
[
3894
],
_mm256_xor_si256
(
c2
[
4036
],
_mm256_xor_si256
(
c2
[
1246
],
_mm256_xor_si256
(
c2
[
4466
],
c2
[
830
]))))))))))))))))))))))))));
//row: 1
d2
[
7
]
=
_mm256_xor_si256
(
c2
[
1122
],
_mm256_xor_si256
(
c2
[
1262
],
_mm256_xor_si256
(
c2
[
3081
],
_mm256_xor_si256
(
c2
[
3504
],
_mm256_xor_si256
(
c2
[
1977
],
_mm256_xor_si256
(
c2
[
2117
],
_mm256_xor_si256
(
c2
[
578
],
_mm256_xor_si256
(
c2
[
3659
],
_mm256_xor_si256
(
c2
[
3248
],
_mm256_xor_si256
(
c2
[
3388
],
_mm256_xor_si256
(
c2
[
1008
],
_mm256_xor_si256
(
c2
[
2987
],
_mm256_xor_si256
(
c2
[
3127
],
_mm256_xor_si256
(
c2
[
4106
],
_mm256_xor_si256
(
c2
[
2143
],
_mm256_xor_si256
(
c2
[
2859
],
_mm256_xor_si256
(
c2
[
62
],
_mm256_xor_si256
(
c2
[
757
],
_mm256_xor_si256
(
c2
[
4134
],
_mm256_xor_si256
(
c2
[
4133
],
_mm256_xor_si256
(
c2
[
4426
],
_mm256_xor_si256
(
c2
[
87
],
_mm256_xor_si256
(
c2
[
2887
],
_mm256_xor_si256
(
c2
[
4147
],
_mm256_xor_si256
(
c2
[
1364
],
_mm256_xor_si256
(
c2
[
2201
],
_mm256_xor_si256
(
c2
[
4312
],
_mm256_xor_si256
(
c2
[
4034
],
_mm256_xor_si256
(
c2
[
4176
],
_mm256_xor_si256
(
c2
[
1246
],
_mm256_xor_si256
(
c2
[
1386
],
_mm256_xor_si256
(
c2
[
127
],
c2
[
970
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
14
]
=
_mm256_xor_si256
(
c2
[
1122
],
_mm256_xor_si256
(
c2
[
1262
],
_mm256_xor_si256
(
c2
[
2941
],
_mm256_xor_si256
(
c2
[
3081
],
_mm256_xor_si256
(
c2
[
3504
],
_mm256_xor_si256
(
c2
[
1977
],
_mm256_xor_si256
(
c2
[
2117
],
_mm256_xor_si256
(
c2
[
578
],
_mm256_xor_si256
(
c2
[
3659
],
_mm256_xor_si256
(
c2
[
3248
],
_mm256_xor_si256
(
c2
[
3388
],
_mm256_xor_si256
(
c2
[
1008
],
_mm256_xor_si256
(
c2
[
2987
],
_mm256_xor_si256
(
c2
[
3127
],
_mm256_xor_si256
(
c2
[
3966
],
_mm256_xor_si256
(
c2
[
4106
],
_mm256_xor_si256
(
c2
[
2143
],
_mm256_xor_si256
(
c2
[
2719
],
_mm256_xor_si256
(
c2
[
2859
],
_mm256_xor_si256
(
c2
[
62
],
_mm256_xor_si256
(
c2
[
757
],
_mm256_xor_si256
(
c2
[
3994
],
_mm256_xor_si256
(
c2
[
4134
],
_mm256_xor_si256
(
c2
[
4133
],
_mm256_xor_si256
(
c2
[
4426
],
_mm256_xor_si256
(
c2
[
87
],
_mm256_xor_si256
(
c2
[
2747
],
_mm256_xor_si256
(
c2
[
2887
],
_mm256_xor_si256
(
c2
[
4147
],
_mm256_xor_si256
(
c2
[
1224
],
_mm256_xor_si256
(
c2
[
1364
],
_mm256_xor_si256
(
c2
[
2201
],
_mm256_xor_si256
(
c2
[
4172
],
_mm256_xor_si256
(
c2
[
4312
],
_mm256_xor_si256
(
c2
[
4034
],
_mm256_xor_si256
(
c2
[
4176
],
_mm256_xor_si256
(
c2
[
1246
],
_mm256_xor_si256
(
c2
[
1386
],
_mm256_xor_si256
(
c2
[
4466
],
_mm256_xor_si256
(
c2
[
127
],
c2
[
970
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
21
]
=
_mm256_xor_si256
(
c2
[
1262
],
_mm256_xor_si256
(
c2
[
3081
],
_mm256_xor_si256
(
c2
[
3504
],
_mm256_xor_si256
(
c2
[
2117
],
_mm256_xor_si256
(
c2
[
578
],
_mm256_xor_si256
(
c2
[
3519
],
_mm256_xor_si256
(
c2
[
3659
],
_mm256_xor_si256
(
c2
[
3388
],
_mm256_xor_si256
(
c2
[
868
],
_mm256_xor_si256
(
c2
[
1008
],
_mm256_xor_si256
(
c2
[
3127
],
_mm256_xor_si256
(
c2
[
4106
],
_mm256_xor_si256
(
c2
[
2143
],
_mm256_xor_si256
(
c2
[
2859
],
_mm256_xor_si256
(
c2
[
62
],
_mm256_xor_si256
(
c2
[
617
],
_mm256_xor_si256
(
c2
[
757
],
_mm256_xor_si256
(
c2
[
4134
],
_mm256_xor_si256
(
c2
[
3993
],
_mm256_xor_si256
(
c2
[
4133
],
_mm256_xor_si256
(
c2
[
87
],
_mm256_xor_si256
(
c2
[
2887
],
_mm256_xor_si256
(
c2
[
4007
],
_mm256_xor_si256
(
c2
[
4147
],
_mm256_xor_si256
(
c2
[
1364
],
_mm256_xor_si256
(
c2
[
2061
],
_mm256_xor_si256
(
c2
[
2201
],
_mm256_xor_si256
(
c2
[
4312
],
_mm256_xor_si256
(
c2
[
4034
],
_mm256_xor_si256
(
c2
[
4036
],
_mm256_xor_si256
(
c2
[
4176
],
_mm256_xor_si256
(
c2
[
1386
],
_mm256_xor_si256
(
c2
[
127
],
_mm256_xor_si256
(
c2
[
830
],
c2
[
970
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
28
]
=
_mm256_xor_si256
(
c2
[
1825
],
_mm256_xor_si256
(
c2
[
1965
],
_mm256_xor_si256
(
c2
[
3784
],
_mm256_xor_si256
(
c2
[
4200
],
_mm256_xor_si256
(
c2
[
1126
],
_mm256_xor_si256
(
c2
[
2680
],
_mm256_xor_si256
(
c2
[
2820
],
_mm256_xor_si256
(
c2
[
1274
],
_mm256_xor_si256
(
c2
[
4355
],
_mm256_xor_si256
(
c2
[
2254
],
_mm256_xor_si256
(
c2
[
3951
],
_mm256_xor_si256
(
c2
[
4091
],
_mm256_xor_si256
(
c2
[
1711
],
_mm256_xor_si256
(
c2
[
3683
],
_mm256_xor_si256
(
c2
[
3823
],
_mm256_xor_si256
(
c2
[
323
],
_mm256_xor_si256
(
c2
[
2846
],
_mm256_xor_si256
(
c2
[
3562
],
_mm256_xor_si256
(
c2
[
758
],
_mm256_xor_si256
(
c2
[
1460
],
_mm256_xor_si256
(
c2
[
351
],
_mm256_xor_si256
(
c2
[
350
],
_mm256_xor_si256
(
c2
[
650
],
_mm256_xor_si256
(
c2
[
790
],
_mm256_xor_si256
(
c2
[
3590
],
_mm256_xor_si256
(
c2
[
364
],
_mm256_xor_si256
(
c2
[
2060
],
_mm256_xor_si256
(
c2
[
2904
],
_mm256_xor_si256
(
c2
[
536
],
_mm256_xor_si256
(
c2
[
258
],
_mm256_xor_si256
(
c2
[
393
],
_mm256_xor_si256
(
c2
[
1949
],
_mm256_xor_si256
(
c2
[
2089
],
_mm256_xor_si256
(
c2
[
830
],
c2
[
1666
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
35
]
=
_mm256_xor_si256
(
c2
[
1261
],
_mm256_xor_si256
(
c2
[
1401
],
_mm256_xor_si256
(
c2
[
3220
],
_mm256_xor_si256
(
c2
[
3643
],
_mm256_xor_si256
(
c2
[
3505
],
_mm256_xor_si256
(
c2
[
2116
],
_mm256_xor_si256
(
c2
[
2256
],
_mm256_xor_si256
(
c2
[
717
],
_mm256_xor_si256
(
c2
[
3798
],
_mm256_xor_si256
(
c2
[
1418
],
_mm256_xor_si256
(
c2
[
3394
],
_mm256_xor_si256
(
c2
[
3534
],
_mm256_xor_si256
(
c2
[
1154
],
_mm256_xor_si256
(
c2
[
3126
],
_mm256_xor_si256
(
c2
[
3266
],
_mm256_xor_si256
(
c2
[
4245
],
_mm256_xor_si256
(
c2
[
2282
],
_mm256_xor_si256
(
c2
[
2998
],
_mm256_xor_si256
(
c2
[
201
],
_mm256_xor_si256
(
c2
[
896
],
_mm256_xor_si256
(
c2
[
4273
],
_mm256_xor_si256
(
c2
[
4272
],
_mm256_xor_si256
(
c2
[
1475
],
_mm256_xor_si256
(
c2
[
86
],
_mm256_xor_si256
(
c2
[
226
],
_mm256_xor_si256
(
c2
[
3026
],
_mm256_xor_si256
(
c2
[
4286
],
_mm256_xor_si256
(
c2
[
1503
],
_mm256_xor_si256
(
c2
[
2340
],
_mm256_xor_si256
(
c2
[
3884
],
_mm256_xor_si256
(
c2
[
4458
],
_mm256_xor_si256
(
c2
[
4173
],
_mm256_xor_si256
(
c2
[
4315
],
_mm256_xor_si256
(
c2
[
1392
],
_mm256_xor_si256
(
c2
[
1532
],
_mm256_xor_si256
(
c2
[
266
],
c2
[
1109
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
42
]
=
_mm256_xor_si256
(
c2
[
3501
],
_mm256_xor_si256
(
c2
[
3641
],
_mm256_xor_si256
(
c2
[
981
],
_mm256_xor_si256
(
c2
[
1404
],
_mm256_xor_si256
(
c2
[
3783
],
_mm256_xor_si256
(
c2
[
4356
],
_mm256_xor_si256
(
c2
[
17
],
_mm256_xor_si256
(
c2
[
2957
],
_mm256_xor_si256
(
c2
[
1559
],
_mm256_xor_si256
(
c2
[
1148
],
_mm256_xor_si256
(
c2
[
1288
],
_mm256_xor_si256
(
c2
[
3394
],
_mm256_xor_si256
(
c2
[
887
],
_mm256_xor_si256
(
c2
[
1027
],
_mm256_xor_si256
(
c2
[
2006
],
_mm256_xor_si256
(
c2
[
43
],
_mm256_xor_si256
(
c2
[
759
],
_mm256_xor_si256
(
c2
[
2441
],
_mm256_xor_si256
(
c2
[
3136
],
_mm256_xor_si256
(
c2
[
2034
],
_mm256_xor_si256
(
c2
[
2033
],
_mm256_xor_si256
(
c2
[
3291
],
_mm256_xor_si256
(
c2
[
2326
],
_mm256_xor_si256
(
c2
[
2466
],
_mm256_xor_si256
(
c2
[
787
],
_mm256_xor_si256
(
c2
[
2047
],
_mm256_xor_si256
(
c2
[
3743
],
_mm256_xor_si256
(
c2
[
101
],
_mm256_xor_si256
(
c2
[
4438
],
_mm256_xor_si256
(
c2
[
2212
],
_mm256_xor_si256
(
c2
[
1934
],
_mm256_xor_si256
(
c2
[
2076
],
_mm256_xor_si256
(
c2
[
3632
],
_mm256_xor_si256
(
c2
[
3772
],
_mm256_xor_si256
(
c2
[
2506
],
_mm256_xor_si256
(
c2
[
3349
],
c2
[
4332
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
49
]
=
_mm256_xor_si256
(
c2
[
4206
],
_mm256_xor_si256
(
c2
[
4346
],
_mm256_xor_si256
(
c2
[
4200
],
_mm256_xor_si256
(
c2
[
1686
],
_mm256_xor_si256
(
c2
[
1540
],
_mm256_xor_si256
(
c2
[
2102
],
_mm256_xor_si256
(
c2
[
1963
],
_mm256_xor_si256
(
c2
[
575
],
_mm256_xor_si256
(
c2
[
715
],
_mm256_xor_si256
(
c2
[
576
],
_mm256_xor_si256
(
c2
[
3655
],
_mm256_xor_si256
(
c2
[
3516
],
_mm256_xor_si256
(
c2
[
2257
],
_mm256_xor_si256
(
c2
[
1978
],
_mm256_xor_si256
(
c2
[
2118
],
_mm256_xor_si256
(
c2
[
997
],
_mm256_xor_si256
(
c2
[
1853
],
_mm256_xor_si256
(
c2
[
1993
],
_mm256_xor_si256
(
c2
[
1854
],
_mm256_xor_si256
(
c2
[
4092
],
_mm256_xor_si256
(
c2
[
3813
],
_mm256_xor_si256
(
c2
[
3953
],
_mm256_xor_si256
(
c2
[
1585
],
_mm256_xor_si256
(
c2
[
1725
],
_mm256_xor_si256
(
c2
[
1586
],
_mm256_xor_si256
(
c2
[
2704
],
_mm256_xor_si256
(
c2
[
2565
],
_mm256_xor_si256
(
c2
[
748
],
_mm256_xor_si256
(
c2
[
602
],
_mm256_xor_si256
(
c2
[
1457
],
_mm256_xor_si256
(
c2
[
1318
],
_mm256_xor_si256
(
c2
[
3139
],
_mm256_xor_si256
(
c2
[
3000
],
_mm256_xor_si256
(
c2
[
3841
],
_mm256_xor_si256
(
c2
[
3562
],
_mm256_xor_si256
(
c2
[
3702
],
_mm256_xor_si256
(
c2
[
2732
],
_mm256_xor_si256
(
c2
[
2593
],
_mm256_xor_si256
(
c2
[
2731
],
_mm256_xor_si256
(
c2
[
2452
],
_mm256_xor_si256
(
c2
[
2592
],
_mm256_xor_si256
(
c2
[
1890
],
_mm256_xor_si256
(
c2
[
3024
],
_mm256_xor_si256
(
c2
[
3164
],
_mm256_xor_si256
(
c2
[
3025
],
_mm256_xor_si256
(
c2
[
1485
],
_mm256_xor_si256
(
c2
[
1346
],
_mm256_xor_si256
(
c2
[
2745
],
_mm256_xor_si256
(
c2
[
2466
],
_mm256_xor_si256
(
c2
[
2606
],
_mm256_xor_si256
(
c2
[
4441
],
_mm256_xor_si256
(
c2
[
4302
],
_mm256_xor_si256
(
c2
[
799
],
_mm256_xor_si256
(
c2
[
520
],
_mm256_xor_si256
(
c2
[
660
],
_mm256_xor_si256
(
c2
[
1361
],
_mm256_xor_si256
(
c2
[
2917
],
_mm256_xor_si256
(
c2
[
2778
],
_mm256_xor_si256
(
c2
[
2632
],
_mm256_xor_si256
(
c2
[
2493
],
_mm256_xor_si256
(
c2
[
2774
],
_mm256_xor_si256
(
c2
[
2495
],
_mm256_xor_si256
(
c2
[
2635
],
_mm256_xor_si256
(
c2
[
4330
],
_mm256_xor_si256
(
c2
[
4470
],
_mm256_xor_si256
(
c2
[
4331
],
_mm256_xor_si256
(
c2
[
3211
],
_mm256_xor_si256
(
c2
[
3072
],
_mm256_xor_si256
(
c2
[
4047
],
_mm256_xor_si256
(
c2
[
3768
],
c2
[
3908
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
56
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
140
],
_mm256_xor_si256
(
c2
[
1826
],
_mm256_xor_si256
(
c2
[
1966
],
_mm256_xor_si256
(
c2
[
2382
],
_mm256_xor_si256
(
c2
[
2664
],
_mm256_xor_si256
(
c2
[
855
],
_mm256_xor_si256
(
c2
[
995
],
_mm256_xor_si256
(
c2
[
3935
],
_mm256_xor_si256
(
c2
[
2537
],
_mm256_xor_si256
(
c2
[
1555
],
_mm256_xor_si256
(
c2
[
2133
],
_mm256_xor_si256
(
c2
[
2273
],
_mm256_xor_si256
(
c2
[
4372
],
_mm256_xor_si256
(
c2
[
1865
],
_mm256_xor_si256
(
c2
[
2005
],
_mm256_xor_si256
(
c2
[
2844
],
_mm256_xor_si256
(
c2
[
2984
],
_mm256_xor_si256
(
c2
[
1028
],
_mm256_xor_si256
(
c2
[
1597
],
_mm256_xor_si256
(
c2
[
1737
],
_mm256_xor_si256
(
c2
[
3419
],
_mm256_xor_si256
(
c2
[
4121
],
_mm256_xor_si256
(
c2
[
2872
],
_mm256_xor_si256
(
c2
[
3012
],
_mm256_xor_si256
(
c2
[
3011
],
_mm256_xor_si256
(
c2
[
3304
],
_mm256_xor_si256
(
c2
[
3444
],
_mm256_xor_si256
(
c2
[
1625
],
_mm256_xor_si256
(
c2
[
1765
],
_mm256_xor_si256
(
c2
[
3025
],
_mm256_xor_si256
(
c2
[
102
],
_mm256_xor_si256
(
c2
[
242
],
_mm256_xor_si256
(
c2
[
1079
],
_mm256_xor_si256
(
c2
[
3057
],
_mm256_xor_si256
(
c2
[
3197
],
_mm256_xor_si256
(
c2
[
2912
],
_mm256_xor_si256
(
c2
[
3054
],
_mm256_xor_si256
(
c2
[
131
],
_mm256_xor_si256
(
c2
[
271
],
_mm256_xor_si256
(
c2
[
3351
],
_mm256_xor_si256
(
c2
[
3491
],
c2
[
4327
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
63
]
=
_mm256_xor_si256
(
c2
[
1
],
_mm256_xor_si256
(
c2
[
3784
],
_mm256_xor_si256
(
c2
[
3924
],
_mm256_xor_si256
(
c2
[
1820
],
_mm256_xor_si256
(
c2
[
1264
],
_mm256_xor_si256
(
c2
[
2243
],
_mm256_xor_si256
(
c2
[
1680
],
_mm256_xor_si256
(
c2
[
856
],
_mm256_xor_si256
(
c2
[
160
],
_mm256_xor_si256
(
c2
[
300
],
_mm256_xor_si256
(
c2
[
3796
],
_mm256_xor_si256
(
c2
[
3240
],
_mm256_xor_si256
(
c2
[
2398
],
_mm256_xor_si256
(
c2
[
1835
],
_mm256_xor_si256
(
c2
[
294
],
_mm256_xor_si256
(
c2
[
2134
],
_mm256_xor_si256
(
c2
[
1431
],
_mm256_xor_si256
(
c2
[
1571
],
_mm256_xor_si256
(
c2
[
4233
],
_mm256_xor_si256
(
c2
[
3670
],
_mm256_xor_si256
(
c2
[
1866
],
_mm256_xor_si256
(
c2
[
1163
],
_mm256_xor_si256
(
c2
[
1303
],
_mm256_xor_si256
(
c2
[
2845
],
_mm256_xor_si256
(
c2
[
2282
],
_mm256_xor_si256
(
c2
[
882
],
_mm256_xor_si256
(
c2
[
326
],
_mm256_xor_si256
(
c2
[
1598
],
_mm256_xor_si256
(
c2
[
1042
],
_mm256_xor_si256
(
c2
[
3280
],
_mm256_xor_si256
(
c2
[
2717
],
_mm256_xor_si256
(
c2
[
3982
],
_mm256_xor_si256
(
c2
[
3419
],
_mm256_xor_si256
(
c2
[
2873
],
_mm256_xor_si256
(
c2
[
2310
],
_mm256_xor_si256
(
c2
[
2872
],
_mm256_xor_si256
(
c2
[
2316
],
_mm256_xor_si256
(
c2
[
3305
],
_mm256_xor_si256
(
c2
[
2609
],
_mm256_xor_si256
(
c2
[
2749
],
_mm256_xor_si256
(
c2
[
1626
],
_mm256_xor_si256
(
c2
[
1070
],
_mm256_xor_si256
(
c2
[
2886
],
_mm256_xor_si256
(
c2
[
2330
],
_mm256_xor_si256
(
c2
[
103
],
_mm256_xor_si256
(
c2
[
4019
],
_mm256_xor_si256
(
c2
[
940
],
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
3058
],
_mm256_xor_si256
(
c2
[
2495
],
_mm256_xor_si256
(
c2
[
2773
],
_mm256_xor_si256
(
c2
[
2217
],
_mm256_xor_si256
(
c2
[
2915
],
_mm256_xor_si256
(
c2
[
2352
],
_mm256_xor_si256
(
c2
[
4312
],
_mm256_xor_si256
(
c2
[
132
],
_mm256_xor_si256
(
c2
[
3908
],
_mm256_xor_si256
(
c2
[
4048
],
_mm256_xor_si256
(
c2
[
3352
],
_mm256_xor_si256
(
c2
[
2789
],
_mm256_xor_si256
(
c2
[
4188
],
c2
[
3632
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
70
]
=
_mm256_xor_si256
(
c2
[
1965
],
_mm256_xor_si256
(
c2
[
3098
],
_mm256_xor_si256
(
c2
[
1204
],
c2
[
3459
])));
//row: 11
d2
[
77
]
=
_mm256_xor_si256
(
c2
[
1685
],
_mm256_xor_si256
(
c2
[
3504
],
_mm256_xor_si256
(
c2
[
3920
],
_mm256_xor_si256
(
c2
[
423
],
_mm256_xor_si256
(
c2
[
2540
],
_mm256_xor_si256
(
c2
[
994
],
_mm256_xor_si256
(
c2
[
3935
],
_mm256_xor_si256
(
c2
[
4075
],
_mm256_xor_si256
(
c2
[
3811
],
_mm256_xor_si256
(
c2
[
1291
],
_mm256_xor_si256
(
c2
[
1431
],
_mm256_xor_si256
(
c2
[
3543
],
_mm256_xor_si256
(
c2
[
43
],
_mm256_xor_si256
(
c2
[
2566
],
_mm256_xor_si256
(
c2
[
3282
],
_mm256_xor_si256
(
c2
[
478
],
_mm256_xor_si256
(
c2
[
1040
],
_mm256_xor_si256
(
c2
[
1180
],
_mm256_xor_si256
(
c2
[
71
],
_mm256_xor_si256
(
c2
[
4416
],
_mm256_xor_si256
(
c2
[
70
],
_mm256_xor_si256
(
c2
[
510
],
_mm256_xor_si256
(
c2
[
3310
],
_mm256_xor_si256
(
c2
[
4430
],
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
1780
],
_mm256_xor_si256
(
c2
[
2484
],
_mm256_xor_si256
(
c2
[
2624
],
_mm256_xor_si256
(
c2
[
1502
],
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
4457
],
_mm256_xor_si256
(
c2
[
4452
],
_mm256_xor_si256
(
c2
[
113
],
_mm256_xor_si256
(
c2
[
1809
],
_mm256_xor_si256
(
c2
[
550
],
_mm256_xor_si256
(
c2
[
1246
],
_mm256_xor_si256
(
c2
[
1386
],
c2
[
2089
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
84
]
=
_mm256_xor_si256
(
c2
[
2945
],
_mm256_xor_si256
(
c2
[
3085
],
_mm256_xor_si256
(
c2
[
425
],
_mm256_xor_si256
(
c2
[
841
],
_mm256_xor_si256
(
c2
[
3800
],
_mm256_xor_si256
(
c2
[
3940
],
_mm256_xor_si256
(
c2
[
2394
],
_mm256_xor_si256
(
c2
[
996
],
_mm256_xor_si256
(
c2
[
1975
],
_mm256_xor_si256
(
c2
[
592
],
_mm256_xor_si256
(
c2
[
732
],
_mm256_xor_si256
(
c2
[
2831
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
464
],
_mm256_xor_si256
(
c2
[
1443
],
_mm256_xor_si256
(
c2
[
3966
],
_mm256_xor_si256
(
c2
[
3548
],
_mm256_xor_si256
(
c2
[
196
],
_mm256_xor_si256
(
c2
[
1878
],
_mm256_xor_si256
(
c2
[
2580
],
_mm256_xor_si256
(
c2
[
1471
],
_mm256_xor_si256
(
c2
[
1470
],
_mm256_xor_si256
(
c2
[
1770
],
_mm256_xor_si256
(
c2
[
1910
],
_mm256_xor_si256
(
c2
[
224
],
_mm256_xor_si256
(
c2
[
1484
],
_mm256_xor_si256
(
c2
[
3180
],
_mm256_xor_si256
(
c2
[
4024
],
_mm256_xor_si256
(
c2
[
1656
],
_mm256_xor_si256
(
c2
[
1378
],
_mm256_xor_si256
(
c2
[
1513
],
_mm256_xor_si256
(
c2
[
3069
],
_mm256_xor_si256
(
c2
[
3209
],
_mm256_xor_si256
(
c2
[
1950
],
c2
[
2786
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
91
]
=
_mm256_xor_si256
(
c2
[
2946
],
_mm256_xor_si256
(
c2
[
286
],
_mm256_xor_si256
(
c2
[
702
],
_mm256_xor_si256
(
c2
[
701
],
_mm256_xor_si256
(
c2
[
3794
],
_mm256_xor_si256
(
c2
[
2255
],
_mm256_xor_si256
(
c2
[
717
],
_mm256_xor_si256
(
c2
[
857
],
_mm256_xor_si256
(
c2
[
2397
],
_mm256_xor_si256
(
c2
[
593
],
_mm256_xor_si256
(
c2
[
2552
],
_mm256_xor_si256
(
c2
[
2692
],
_mm256_xor_si256
(
c2
[
325
],
_mm256_xor_si256
(
c2
[
1304
],
_mm256_xor_si256
(
c2
[
3827
],
_mm256_xor_si256
(
c2
[
57
],
_mm256_xor_si256
(
c2
[
1739
],
_mm256_xor_si256
(
c2
[
2301
],
_mm256_xor_si256
(
c2
[
2441
],
_mm256_xor_si256
(
c2
[
1332
],
_mm256_xor_si256
(
c2
[
1191
],
_mm256_xor_si256
(
c2
[
1331
],
_mm256_xor_si256
(
c2
[
1764
],
_mm256_xor_si256
(
c2
[
85
],
_mm256_xor_si256
(
c2
[
1205
],
_mm256_xor_si256
(
c2
[
1345
],
_mm256_xor_si256
(
c2
[
3041
],
_mm256_xor_si256
(
c2
[
3738
],
_mm256_xor_si256
(
c2
[
3878
],
_mm256_xor_si256
(
c2
[
1517
],
_mm256_xor_si256
(
c2
[
1232
],
_mm256_xor_si256
(
c2
[
1234
],
_mm256_xor_si256
(
c2
[
1374
],
_mm256_xor_si256
(
c2
[
2216
],
_mm256_xor_si256
(
c2
[
3070
],
_mm256_xor_si256
(
c2
[
1811
],
_mm256_xor_si256
(
c2
[
2507
],
c2
[
2647
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
98
]
=
_mm256_xor_si256
(
c2
[
2243
],
_mm256_xor_si256
(
c2
[
2383
],
_mm256_xor_si256
(
c2
[
4065
],
_mm256_xor_si256
(
c2
[
4202
],
_mm256_xor_si256
(
c2
[
1405
],
_mm256_xor_si256
(
c2
[
146
],
_mm256_xor_si256
(
c2
[
1821
],
_mm256_xor_si256
(
c2
[
3098
],
_mm256_xor_si256
(
c2
[
3238
],
_mm256_xor_si256
(
c2
[
434
],
_mm256_xor_si256
(
c2
[
1699
],
_mm256_xor_si256
(
c2
[
3374
],
_mm256_xor_si256
(
c2
[
294
],
_mm256_xor_si256
(
c2
[
1836
],
_mm256_xor_si256
(
c2
[
1976
],
_mm256_xor_si256
(
c2
[
575
],
_mm256_xor_si256
(
c2
[
4369
],
_mm256_xor_si256
(
c2
[
30
],
_mm256_xor_si256
(
c2
[
1712
],
_mm256_xor_si256
(
c2
[
2129
],
_mm256_xor_si256
(
c2
[
3671
],
_mm256_xor_si256
(
c2
[
3811
],
_mm256_xor_si256
(
c2
[
4108
],
_mm256_xor_si256
(
c2
[
4248
],
_mm256_xor_si256
(
c2
[
1444
],
_mm256_xor_si256
(
c2
[
748
],
_mm256_xor_si256
(
c2
[
2423
],
_mm256_xor_si256
(
c2
[
3264
],
_mm256_xor_si256
(
c2
[
467
],
_mm256_xor_si256
(
c2
[
3980
],
_mm256_xor_si256
(
c2
[
1176
],
_mm256_xor_si256
(
c2
[
1176
],
_mm256_xor_si256
(
c2
[
2858
],
_mm256_xor_si256
(
c2
[
1878
],
_mm256_xor_si256
(
c2
[
3420
],
_mm256_xor_si256
(
c2
[
3560
],
_mm256_xor_si256
(
c2
[
776
],
_mm256_xor_si256
(
c2
[
2451
],
_mm256_xor_si256
(
c2
[
775
],
_mm256_xor_si256
(
c2
[
2310
],
_mm256_xor_si256
(
c2
[
2450
],
_mm256_xor_si256
(
c2
[
1068
],
_mm256_xor_si256
(
c2
[
1208
],
_mm256_xor_si256
(
c2
[
2890
],
_mm256_xor_si256
(
c2
[
4008
],
_mm256_xor_si256
(
c2
[
1204
],
_mm256_xor_si256
(
c2
[
789
],
_mm256_xor_si256
(
c2
[
2324
],
_mm256_xor_si256
(
c2
[
2464
],
_mm256_xor_si256
(
c2
[
4426
],
_mm256_xor_si256
(
c2
[
2478
],
_mm256_xor_si256
(
c2
[
4160
],
_mm256_xor_si256
(
c2
[
3322
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
518
],
_mm256_xor_si256
(
c2
[
954
],
_mm256_xor_si256
(
c2
[
2636
],
_mm256_xor_si256
(
c2
[
676
],
_mm256_xor_si256
(
c2
[
2358
],
_mm256_xor_si256
(
c2
[
818
],
_mm256_xor_si256
(
c2
[
2353
],
_mm256_xor_si256
(
c2
[
2493
],
_mm256_xor_si256
(
c2
[
2367
],
_mm256_xor_si256
(
c2
[
2507
],
_mm256_xor_si256
(
c2
[
4189
],
_mm256_xor_si256
(
c2
[
1248
],
_mm256_xor_si256
(
c2
[
2930
],
_mm256_xor_si256
(
c2
[
2091
],
_mm256_xor_si256
(
c2
[
3626
],
c2
[
3766
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
105
]
=
_mm256_xor_si256
(
c2
[
2241
],
_mm256_xor_si256
(
c2
[
3085
],
_mm256_xor_si256
(
c2
[
3225
],
_mm256_xor_si256
(
c2
[
4060
],
_mm256_xor_si256
(
c2
[
565
],
_mm256_xor_si256
(
c2
[
4
],
_mm256_xor_si256
(
c2
[
981
],
_mm256_xor_si256
(
c2
[
2803
],
_mm256_xor_si256
(
c2
[
3096
],
_mm256_xor_si256
(
c2
[
3940
],
_mm256_xor_si256
(
c2
[
4080
],
_mm256_xor_si256
(
c2
[
1557
],
_mm256_xor_si256
(
c2
[
2534
],
_mm256_xor_si256
(
c2
[
159
],
_mm256_xor_si256
(
c2
[
1136
],
_mm256_xor_si256
(
c2
[
4374
],
_mm256_xor_si256
(
c2
[
732
],
_mm256_xor_si256
(
c2
[
872
],
_mm256_xor_si256
(
c2
[
1994
],
_mm256_xor_si256
(
c2
[
2971
],
_mm256_xor_si256
(
c2
[
4106
],
_mm256_xor_si256
(
c2
[
464
],
_mm256_xor_si256
(
c2
[
604
],
_mm256_xor_si256
(
c2
[
606
],
_mm256_xor_si256
(
c2
[
1583
],
_mm256_xor_si256
(
c2
[
3122
],
_mm256_xor_si256
(
c2
[
4106
],
_mm256_xor_si256
(
c2
[
3838
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
1041
],
_mm256_xor_si256
(
c2
[
2018
],
_mm256_xor_si256
(
c2
[
1736
],
_mm256_xor_si256
(
c2
[
2720
],
_mm256_xor_si256
(
c2
[
634
],
_mm256_xor_si256
(
c2
[
1611
],
_mm256_xor_si256
(
c2
[
633
],
_mm256_xor_si256
(
c2
[
1610
],
_mm256_xor_si256
(
c2
[
1066
],
_mm256_xor_si256
(
c2
[
1910
],
_mm256_xor_si256
(
c2
[
2050
],
_mm256_xor_si256
(
c2
[
3866
],
_mm256_xor_si256
(
c2
[
364
],
_mm256_xor_si256
(
c2
[
647
],
_mm256_xor_si256
(
c2
[
1624
],
_mm256_xor_si256
(
c2
[
2343
],
_mm256_xor_si256
(
c2
[
3320
],
_mm256_xor_si256
(
c2
[
3180
],
_mm256_xor_si256
(
c2
[
4164
],
_mm256_xor_si256
(
c2
[
812
],
_mm256_xor_si256
(
c2
[
1796
],
_mm256_xor_si256
(
c2
[
534
],
_mm256_xor_si256
(
c2
[
1518
],
_mm256_xor_si256
(
c2
[
676
],
_mm256_xor_si256
(
c2
[
1653
],
_mm256_xor_si256
(
c2
[
2372
],
_mm256_xor_si256
(
c2
[
3209
],
_mm256_xor_si256
(
c2
[
3349
],
_mm256_xor_si256
(
c2
[
1106
],
_mm256_xor_si256
(
c2
[
2090
],
_mm256_xor_si256
(
c2
[
1949
],
c2
[
2926
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
112
]
=
_mm256_xor_si256
(
c2
[
1966
],
_mm256_xor_si256
(
c2
[
2106
],
_mm256_xor_si256
(
c2
[
1265
],
_mm256_xor_si256
(
c2
[
1405
],
_mm256_xor_si256
(
c2
[
3925
],
_mm256_xor_si256
(
c2
[
3084
],
_mm256_xor_si256
(
c2
[
3224
],
_mm256_xor_si256
(
c2
[
4341
],
_mm256_xor_si256
(
c2
[
3640
],
_mm256_xor_si256
(
c2
[
2814
],
_mm256_xor_si256
(
c2
[
2954
],
_mm256_xor_si256
(
c2
[
2120
],
_mm256_xor_si256
(
c2
[
2260
],
_mm256_xor_si256
(
c2
[
1415
],
_mm256_xor_si256
(
c2
[
714
],
_mm256_xor_si256
(
c2
[
17
],
_mm256_xor_si256
(
c2
[
3795
],
_mm256_xor_si256
(
c2
[
1556
],
_mm256_xor_si256
(
c2
[
4092
],
_mm256_xor_si256
(
c2
[
4232
],
_mm256_xor_si256
(
c2
[
3391
],
_mm256_xor_si256
(
c2
[
3531
],
_mm256_xor_si256
(
c2
[
1852
],
_mm256_xor_si256
(
c2
[
1151
],
_mm256_xor_si256
(
c2
[
3824
],
_mm256_xor_si256
(
c2
[
3964
],
_mm256_xor_si256
(
c2
[
3123
],
_mm256_xor_si256
(
c2
[
3263
],
_mm256_xor_si256
(
c2
[
464
],
_mm256_xor_si256
(
c2
[
4102
],
_mm256_xor_si256
(
c2
[
4242
],
_mm256_xor_si256
(
c2
[
2987
],
_mm256_xor_si256
(
c2
[
2286
],
_mm256_xor_si256
(
c2
[
3696
],
_mm256_xor_si256
(
c2
[
2862
],
_mm256_xor_si256
(
c2
[
3002
],
_mm256_xor_si256
(
c2
[
899
],
_mm256_xor_si256
(
c2
[
198
],
_mm256_xor_si256
(
c2
[
1601
],
_mm256_xor_si256
(
c2
[
900
],
_mm256_xor_si256
(
c2
[
492
],
_mm256_xor_si256
(
c2
[
4130
],
_mm256_xor_si256
(
c2
[
4270
],
_mm256_xor_si256
(
c2
[
491
],
_mm256_xor_si256
(
c2
[
4276
],
_mm256_xor_si256
(
c2
[
784
],
_mm256_xor_si256
(
c2
[
924
],
_mm256_xor_si256
(
c2
[
90
],
_mm256_xor_si256
(
c2
[
230
],
_mm256_xor_si256
(
c2
[
3724
],
_mm256_xor_si256
(
c2
[
2890
],
_mm256_xor_si256
(
c2
[
3030
],
_mm256_xor_si256
(
c2
[
505
],
_mm256_xor_si256
(
c2
[
4290
],
_mm256_xor_si256
(
c2
[
2201
],
_mm256_xor_si256
(
c2
[
1360
],
_mm256_xor_si256
(
c2
[
1500
],
_mm256_xor_si256
(
c2
[
3038
],
_mm256_xor_si256
(
c2
[
2344
],
_mm256_xor_si256
(
c2
[
677
],
_mm256_xor_si256
(
c2
[
4315
],
_mm256_xor_si256
(
c2
[
4455
],
_mm256_xor_si256
(
c2
[
392
],
_mm256_xor_si256
(
c2
[
4177
],
_mm256_xor_si256
(
c2
[
534
],
_mm256_xor_si256
(
c2
[
4312
],
_mm256_xor_si256
(
c2
[
2090
],
_mm256_xor_si256
(
c2
[
2230
],
_mm256_xor_si256
(
c2
[
1389
],
_mm256_xor_si256
(
c2
[
1529
],
_mm256_xor_si256
(
c2
[
971
],
_mm256_xor_si256
(
c2
[
130
],
_mm256_xor_si256
(
c2
[
270
],
_mm256_xor_si256
(
c2
[
1807
],
_mm256_xor_si256
(
c2
[
1106
],
c2
[
4330
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
119
]
=
_mm256_xor_si256
(
c2
[
3081
],
_mm256_xor_si256
(
c2
[
3221
],
_mm256_xor_si256
(
c2
[
1402
],
_mm256_xor_si256
(
c2
[
1542
],
_mm256_xor_si256
(
c2
[
561
],
_mm256_xor_si256
(
c2
[
3221
],
_mm256_xor_si256
(
c2
[
3361
],
_mm256_xor_si256
(
c2
[
984
],
_mm256_xor_si256
(
c2
[
3784
],
_mm256_xor_si256
(
c2
[
3936
],
_mm256_xor_si256
(
c2
[
4076
],
_mm256_xor_si256
(
c2
[
2257
],
_mm256_xor_si256
(
c2
[
2397
],
_mm256_xor_si256
(
c2
[
2537
],
_mm256_xor_si256
(
c2
[
858
],
_mm256_xor_si256
(
c2
[
1139
],
_mm256_xor_si256
(
c2
[
3939
],
_mm256_xor_si256
(
c2
[
2255
],
_mm256_xor_si256
(
c2
[
728
],
_mm256_xor_si256
(
c2
[
868
],
_mm256_xor_si256
(
c2
[
3528
],
_mm256_xor_si256
(
c2
[
3668
],
_mm256_xor_si256
(
c2
[
2974
],
_mm256_xor_si256
(
c2
[
1288
],
_mm256_xor_si256
(
c2
[
467
],
_mm256_xor_si256
(
c2
[
607
],
_mm256_xor_si256
(
c2
[
3267
],
_mm256_xor_si256
(
c2
[
3407
],
_mm256_xor_si256
(
c2
[
1586
],
_mm256_xor_si256
(
c2
[
4246
],
_mm256_xor_si256
(
c2
[
4386
],
_mm256_xor_si256
(
c2
[
4102
],
_mm256_xor_si256
(
c2
[
2423
],
_mm256_xor_si256
(
c2
[
339
],
_mm256_xor_si256
(
c2
[
2999
],
_mm256_xor_si256
(
c2
[
3139
],
_mm256_xor_si256
(
c2
[
2021
],
_mm256_xor_si256
(
c2
[
342
],
_mm256_xor_si256
(
c2
[
2716
],
_mm256_xor_si256
(
c2
[
1037
],
_mm256_xor_si256
(
c2
[
1614
],
_mm256_xor_si256
(
c2
[
4274
],
_mm256_xor_si256
(
c2
[
4414
],
_mm256_xor_si256
(
c2
[
1613
],
_mm256_xor_si256
(
c2
[
4413
],
_mm256_xor_si256
(
c2
[
634
],
_mm256_xor_si256
(
c2
[
1906
],
_mm256_xor_si256
(
c2
[
2046
],
_mm256_xor_si256
(
c2
[
227
],
_mm256_xor_si256
(
c2
[
367
],
_mm256_xor_si256
(
c2
[
367
],
_mm256_xor_si256
(
c2
[
3027
],
_mm256_xor_si256
(
c2
[
3167
],
_mm256_xor_si256
(
c2
[
1627
],
_mm256_xor_si256
(
c2
[
4427
],
_mm256_xor_si256
(
c2
[
3323
],
_mm256_xor_si256
(
c2
[
1504
],
_mm256_xor_si256
(
c2
[
1644
],
_mm256_xor_si256
(
c2
[
4160
],
_mm256_xor_si256
(
c2
[
2481
],
_mm256_xor_si256
(
c2
[
1792
],
_mm256_xor_si256
(
c2
[
4452
],
_mm256_xor_si256
(
c2
[
113
],
_mm256_xor_si256
(
c2
[
1514
],
_mm256_xor_si256
(
c2
[
4314
],
_mm256_xor_si256
(
c2
[
1656
],
_mm256_xor_si256
(
c2
[
4456
],
_mm256_xor_si256
(
c2
[
3212
],
_mm256_xor_si256
(
c2
[
3352
],
_mm256_xor_si256
(
c2
[
1526
],
_mm256_xor_si256
(
c2
[
1666
],
_mm256_xor_si256
(
c2
[
2086
],
_mm256_xor_si256
(
c2
[
267
],
_mm256_xor_si256
(
c2
[
407
],
_mm256_xor_si256
(
c2
[
2929
],
c2
[
1250
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
126
]
=
_mm256_xor_si256
(
c2
[
562
],
_mm256_xor_si256
(
c2
[
2324
],
c2
[
4022
]));
//row: 19
d2
[
133
]
=
_mm256_xor_si256
(
c2
[
4204
],
_mm256_xor_si256
(
c2
[
1544
],
_mm256_xor_si256
(
c2
[
1960
],
_mm256_xor_si256
(
c2
[
421
],
_mm256_xor_si256
(
c2
[
580
],
_mm256_xor_si256
(
c2
[
3520
],
_mm256_xor_si256
(
c2
[
2115
],
_mm256_xor_si256
(
c2
[
1418
],
_mm256_xor_si256
(
c2
[
1851
],
_mm256_xor_si256
(
c2
[
3950
],
_mm256_xor_si256
(
c2
[
1583
],
_mm256_xor_si256
(
c2
[
2562
],
_mm256_xor_si256
(
c2
[
606
],
_mm256_xor_si256
(
c2
[
1322
],
_mm256_xor_si256
(
c2
[
2997
],
_mm256_xor_si256
(
c2
[
3699
],
_mm256_xor_si256
(
c2
[
2590
],
_mm256_xor_si256
(
c2
[
2596
],
_mm256_xor_si256
(
c2
[
3029
],
_mm256_xor_si256
(
c2
[
1350
],
_mm256_xor_si256
(
c2
[
2610
],
_mm256_xor_si256
(
c2
[
4299
],
_mm256_xor_si256
(
c2
[
664
],
_mm256_xor_si256
(
c2
[
2775
],
_mm256_xor_si256
(
c2
[
2497
],
_mm256_xor_si256
(
c2
[
2632
],
_mm256_xor_si256
(
c2
[
4328
],
_mm256_xor_si256
(
c2
[
3069
],
c2
[
3912
]))))))))))))))))))))))))))));
//row: 20
d2
[
140
]
=
_mm256_xor_si256
(
c2
[
2946
],
_mm256_xor_si256
(
c2
[
3086
],
_mm256_xor_si256
(
c2
[
426
],
_mm256_xor_si256
(
c2
[
842
],
_mm256_xor_si256
(
c2
[
3794
],
_mm256_xor_si256
(
c2
[
3934
],
_mm256_xor_si256
(
c2
[
2395
],
_mm256_xor_si256
(
c2
[
997
],
_mm256_xor_si256
(
c2
[
854
],
_mm256_xor_si256
(
c2
[
593
],
_mm256_xor_si256
(
c2
[
733
],
_mm256_xor_si256
(
c2
[
2832
],
_mm256_xor_si256
(
c2
[
325
],
_mm256_xor_si256
(
c2
[
465
],
_mm256_xor_si256
(
c2
[
1444
],
_mm256_xor_si256
(
c2
[
3967
],
_mm256_xor_si256
(
c2
[
197
],
_mm256_xor_si256
(
c2
[
1879
],
_mm256_xor_si256
(
c2
[
2581
],
_mm256_xor_si256
(
c2
[
2856
],
_mm256_xor_si256
(
c2
[
1472
],
_mm256_xor_si256
(
c2
[
1471
],
_mm256_xor_si256
(
c2
[
1764
],
_mm256_xor_si256
(
c2
[
1904
],
_mm256_xor_si256
(
c2
[
225
],
_mm256_xor_si256
(
c2
[
1485
],
_mm256_xor_si256
(
c2
[
3181
],
_mm256_xor_si256
(
c2
[
4018
],
_mm256_xor_si256
(
c2
[
1657
],
_mm256_xor_si256
(
c2
[
1372
],
_mm256_xor_si256
(
c2
[
1514
],
_mm256_xor_si256
(
c2
[
3070
],
_mm256_xor_si256
(
c2
[
3210
],
_mm256_xor_si256
(
c2
[
1951
],
c2
[
2787
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
147
]
=
_mm256_xor_si256
(
c2
[
3644
],
_mm256_xor_si256
(
c2
[
984
],
_mm256_xor_si256
(
c2
[
1400
],
_mm256_xor_si256
(
c2
[
2242
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
2960
],
_mm256_xor_si256
(
c2
[
1415
],
_mm256_xor_si256
(
c2
[
1555
],
_mm256_xor_si256
(
c2
[
1291
],
_mm256_xor_si256
(
c2
[
3250
],
_mm256_xor_si256
(
c2
[
3390
],
_mm256_xor_si256
(
c2
[
1023
],
_mm256_xor_si256
(
c2
[
2002
],
_mm256_xor_si256
(
c2
[
46
],
_mm256_xor_si256
(
c2
[
762
],
_mm256_xor_si256
(
c2
[
2437
],
_mm256_xor_si256
(
c2
[
2999
],
_mm256_xor_si256
(
c2
[
3139
],
_mm256_xor_si256
(
c2
[
2030
],
_mm256_xor_si256
(
c2
[
1896
],
_mm256_xor_si256
(
c2
[
2036
],
_mm256_xor_si256
(
c2
[
2469
],
_mm256_xor_si256
(
c2
[
790
],
_mm256_xor_si256
(
c2
[
1910
],
_mm256_xor_si256
(
c2
[
2050
],
_mm256_xor_si256
(
c2
[
3739
],
_mm256_xor_si256
(
c2
[
4443
],
_mm256_xor_si256
(
c2
[
104
],
_mm256_xor_si256
(
c2
[
2215
],
_mm256_xor_si256
(
c2
[
1937
],
_mm256_xor_si256
(
c2
[
1932
],
_mm256_xor_si256
(
c2
[
2072
],
_mm256_xor_si256
(
c2
[
1653
],
_mm256_xor_si256
(
c2
[
3768
],
_mm256_xor_si256
(
c2
[
2509
],
_mm256_xor_si256
(
c2
[
3212
],
c2
[
3352
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
154
]
=
_mm256_xor_si256
(
c2
[
2395
],
c2
[
168
]);
//row: 23
d2
[
161
]
=
_mm256_xor_si256
(
c2
[
3924
],
_mm256_xor_si256
(
c2
[
3123
],
c2
[
914
]));
//row: 24
d2
[
168
]
=
_mm256_xor_si256
(
c2
[
3518
],
_mm256_xor_si256
(
c2
[
3390
],
c2
[
4467
]));
//row: 25
d2
[
175
]
=
_mm256_xor_si256
(
c2
[
2666
],
c2
[
4272
]);
//row: 26
d2
[
182
]
=
_mm256_xor_si256
(
c2
[
702
],
_mm256_xor_si256
(
c2
[
842
],
_mm256_xor_si256
(
c2
[
2102
],
_mm256_xor_si256
(
c2
[
2521
],
_mm256_xor_si256
(
c2
[
2661
],
_mm256_xor_si256
(
c2
[
3921
],
_mm256_xor_si256
(
c2
[
3084
],
_mm256_xor_si256
(
c2
[
4344
],
_mm256_xor_si256
(
c2
[
1557
],
_mm256_xor_si256
(
c2
[
1697
],
_mm256_xor_si256
(
c2
[
2957
],
_mm256_xor_si256
(
c2
[
158
],
_mm256_xor_si256
(
c2
[
1418
],
_mm256_xor_si256
(
c2
[
3239
],
_mm256_xor_si256
(
c2
[
4359
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
2828
],
_mm256_xor_si256
(
c2
[
2968
],
_mm256_xor_si256
(
c2
[
4228
],
_mm256_xor_si256
(
c2
[
588
],
_mm256_xor_si256
(
c2
[
1708
],
_mm256_xor_si256
(
c2
[
1848
],
_mm256_xor_si256
(
c2
[
3670
],
_mm256_xor_si256
(
c2
[
2567
],
_mm256_xor_si256
(
c2
[
2707
],
_mm256_xor_si256
(
c2
[
3967
],
_mm256_xor_si256
(
c2
[
3546
],
_mm256_xor_si256
(
c2
[
3686
],
_mm256_xor_si256
(
c2
[
467
],
_mm256_xor_si256
(
c2
[
1723
],
_mm256_xor_si256
(
c2
[
2983
],
_mm256_xor_si256
(
c2
[
2299
],
_mm256_xor_si256
(
c2
[
2439
],
_mm256_xor_si256
(
c2
[
3699
],
_mm256_xor_si256
(
c2
[
4121
],
_mm256_xor_si256
(
c2
[
902
],
_mm256_xor_si256
(
c2
[
337
],
_mm256_xor_si256
(
c2
[
1457
],
_mm256_xor_si256
(
c2
[
1597
],
_mm256_xor_si256
(
c2
[
3574
],
_mm256_xor_si256
(
c2
[
3714
],
_mm256_xor_si256
(
c2
[
495
],
_mm256_xor_si256
(
c2
[
3713
],
_mm256_xor_si256
(
c2
[
354
],
_mm256_xor_si256
(
c2
[
494
],
_mm256_xor_si256
(
c2
[
4006
],
_mm256_xor_si256
(
c2
[
4146
],
_mm256_xor_si256
(
c2
[
927
],
_mm256_xor_si256
(
c2
[
2327
],
_mm256_xor_si256
(
c2
[
2467
],
_mm256_xor_si256
(
c2
[
3727
],
_mm256_xor_si256
(
c2
[
3727
],
_mm256_xor_si256
(
c2
[
368
],
_mm256_xor_si256
(
c2
[
508
],
_mm256_xor_si256
(
c2
[
804
],
_mm256_xor_si256
(
c2
[
944
],
_mm256_xor_si256
(
c2
[
2204
],
_mm256_xor_si256
(
c2
[
1781
],
_mm256_xor_si256
(
c2
[
2901
],
_mm256_xor_si256
(
c2
[
3041
],
_mm256_xor_si256
(
c2
[
938
],
_mm256_xor_si256
(
c2
[
3752
],
_mm256_xor_si256
(
c2
[
3892
],
_mm256_xor_si256
(
c2
[
673
],
_mm256_xor_si256
(
c2
[
3614
],
_mm256_xor_si256
(
c2
[
395
],
_mm256_xor_si256
(
c2
[
3756
],
_mm256_xor_si256
(
c2
[
397
],
_mm256_xor_si256
(
c2
[
537
],
_mm256_xor_si256
(
c2
[
826
],
_mm256_xor_si256
(
c2
[
966
],
_mm256_xor_si256
(
c2
[
2226
],
_mm256_xor_si256
(
c2
[
4046
],
_mm256_xor_si256
(
c2
[
4186
],
_mm256_xor_si256
(
c2
[
967
],
_mm256_xor_si256
(
c2
[
550
],
_mm256_xor_si256
(
c2
[
1670
],
c2
[
1810
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
189
]
=
_mm256_xor_si256
(
c2
[
3780
],
c2
[
3167
]);
//row: 28
d2
[
196
]
=
_mm256_xor_si256
(
c2
[
3380
],
_mm256_xor_si256
(
c2
[
2834
],
c2
[
216
]));
//row: 29
d2
[
203
]
=
_mm256_xor_si256
(
c2
[
1683
],
c2
[
4117
]);
//row: 30
d2
[
210
]
=
_mm256_xor_si256
(
c2
[
1431
],
_mm256_xor_si256
(
c2
[
1751
],
_mm256_xor_si256
(
c2
[
3603
],
c2
[
2371
])));
//row: 31
d2
[
217
]
=
_mm256_xor_si256
(
c2
[
4340
],
_mm256_xor_si256
(
c2
[
1680
],
_mm256_xor_si256
(
c2
[
2103
],
_mm256_xor_si256
(
c2
[
716
],
_mm256_xor_si256
(
c2
[
3656
],
_mm256_xor_si256
(
c2
[
2118
],
_mm256_xor_si256
(
c2
[
2258
],
_mm256_xor_si256
(
c2
[
2678
],
_mm256_xor_si256
(
c2
[
1994
],
_mm256_xor_si256
(
c2
[
3953
],
_mm256_xor_si256
(
c2
[
4093
],
_mm256_xor_si256
(
c2
[
1726
],
_mm256_xor_si256
(
c2
[
2705
],
_mm256_xor_si256
(
c2
[
742
],
_mm256_xor_si256
(
c2
[
1458
],
_mm256_xor_si256
(
c2
[
3140
],
_mm256_xor_si256
(
c2
[
3702
],
_mm256_xor_si256
(
c2
[
3842
],
_mm256_xor_si256
(
c2
[
2733
],
_mm256_xor_si256
(
c2
[
2592
],
_mm256_xor_si256
(
c2
[
2732
],
_mm256_xor_si256
(
c2
[
3165
],
_mm256_xor_si256
(
c2
[
1486
],
_mm256_xor_si256
(
c2
[
2606
],
_mm256_xor_si256
(
c2
[
2746
],
_mm256_xor_si256
(
c2
[
4442
],
_mm256_xor_si256
(
c2
[
660
],
_mm256_xor_si256
(
c2
[
800
],
_mm256_xor_si256
(
c2
[
2918
],
_mm256_xor_si256
(
c2
[
2633
],
_mm256_xor_si256
(
c2
[
2635
],
_mm256_xor_si256
(
c2
[
2775
],
_mm256_xor_si256
(
c2
[
4471
],
_mm256_xor_si256
(
c2
[
3212
],
_mm256_xor_si256
(
c2
[
3908
],
c2
[
4048
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
224
]
=
_mm256_xor_si256
(
c2
[
3085
],
_mm256_xor_si256
(
c2
[
3225
],
_mm256_xor_si256
(
c2
[
425
],
_mm256_xor_si256
(
c2
[
565
],
_mm256_xor_si256
(
c2
[
981
],
_mm256_xor_si256
(
c2
[
1683
],
_mm256_xor_si256
(
c2
[
3940
],
_mm256_xor_si256
(
c2
[
4080
],
_mm256_xor_si256
(
c2
[
2534
],
_mm256_xor_si256
(
c2
[
1136
],
_mm256_xor_si256
(
c2
[
732
],
_mm256_xor_si256
(
c2
[
872
],
_mm256_xor_si256
(
c2
[
2971
],
_mm256_xor_si256
(
c2
[
464
],
_mm256_xor_si256
(
c2
[
604
],
_mm256_xor_si256
(
c2
[
1443
],
_mm256_xor_si256
(
c2
[
1583
],
_mm256_xor_si256
(
c2
[
4106
],
_mm256_xor_si256
(
c2
[
196
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
2018
],
_mm256_xor_si256
(
c2
[
2720
],
_mm256_xor_si256
(
c2
[
1471
],
_mm256_xor_si256
(
c2
[
1611
],
_mm256_xor_si256
(
c2
[
1610
],
_mm256_xor_si256
(
c2
[
3010
],
_mm256_xor_si256
(
c2
[
1910
],
_mm256_xor_si256
(
c2
[
2050
],
_mm256_xor_si256
(
c2
[
224
],
_mm256_xor_si256
(
c2
[
364
],
_mm256_xor_si256
(
c2
[
1624
],
_mm256_xor_si256
(
c2
[
3180
],
_mm256_xor_si256
(
c2
[
3320
],
_mm256_xor_si256
(
c2
[
4164
],
_mm256_xor_si256
(
c2
[
1656
],
_mm256_xor_si256
(
c2
[
1796
],
_mm256_xor_si256
(
c2
[
1518
],
_mm256_xor_si256
(
c2
[
1653
],
_mm256_xor_si256
(
c2
[
3209
],
_mm256_xor_si256
(
c2
[
3349
],
_mm256_xor_si256
(
c2
[
1950
],
_mm256_xor_si256
(
c2
[
2090
],
c2
[
2926
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
231
]
=
_mm256_xor_si256
(
c2
[
2945
],
_mm256_xor_si256
(
c2
[
285
],
_mm256_xor_si256
(
c2
[
701
],
_mm256_xor_si256
(
c2
[
3800
],
_mm256_xor_si256
(
c2
[
2254
],
_mm256_xor_si256
(
c2
[
856
],
_mm256_xor_si256
(
c2
[
592
],
_mm256_xor_si256
(
c2
[
2691
],
_mm256_xor_si256
(
c2
[
1010
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
1303
],
_mm256_xor_si256
(
c2
[
3826
],
_mm256_xor_si256
(
c2
[
56
],
_mm256_xor_si256
(
c2
[
1738
],
_mm256_xor_si256
(
c2
[
2440
],
_mm256_xor_si256
(
c2
[
1331
],
_mm256_xor_si256
(
c2
[
1330
],
_mm256_xor_si256
(
c2
[
1770
],
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
1344
],
_mm256_xor_si256
(
c2
[
3040
],
_mm256_xor_si256
(
c2
[
3884
],
_mm256_xor_si256
(
c2
[
1778
],
_mm256_xor_si256
(
c2
[
1516
],
_mm256_xor_si256
(
c2
[
1238
],
_mm256_xor_si256
(
c2
[
1373
],
_mm256_xor_si256
(
c2
[
3069
],
_mm256_xor_si256
(
c2
[
1810
],
c2
[
2646
]))))))))))))))))))))))))))));
//row: 34
d2
[
238
]
=
_mm256_xor_si256
(
c2
[
2381
],
_mm256_xor_si256
(
c2
[
2521
],
_mm256_xor_si256
(
c2
[
1964
],
_mm256_xor_si256
(
c2
[
4200
],
_mm256_xor_si256
(
c2
[
4340
],
_mm256_xor_si256
(
c2
[
3783
],
_mm256_xor_si256
(
c2
[
284
],
_mm256_xor_si256
(
c2
[
4206
],
_mm256_xor_si256
(
c2
[
4060
],
_mm256_xor_si256
(
c2
[
3236
],
_mm256_xor_si256
(
c2
[
3376
],
_mm256_xor_si256
(
c2
[
2819
],
_mm256_xor_si256
(
c2
[
1837
],
_mm256_xor_si256
(
c2
[
1280
],
_mm256_xor_si256
(
c2
[
439
],
_mm256_xor_si256
(
c2
[
4214
],
_mm256_xor_si256
(
c2
[
4354
],
_mm256_xor_si256
(
c2
[
28
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
4090
],
_mm256_xor_si256
(
c2
[
2274
],
_mm256_xor_si256
(
c2
[
1570
],
_mm256_xor_si256
(
c2
[
1710
],
_mm256_xor_si256
(
c2
[
4246
],
_mm256_xor_si256
(
c2
[
4386
],
_mm256_xor_si256
(
c2
[
3822
],
_mm256_xor_si256
(
c2
[
746
],
_mm256_xor_si256
(
c2
[
886
],
_mm256_xor_si256
(
c2
[
322
],
_mm256_xor_si256
(
c2
[
3402
],
_mm256_xor_si256
(
c2
[
2845
],
_mm256_xor_si256
(
c2
[
3978
],
_mm256_xor_si256
(
c2
[
4118
],
_mm256_xor_si256
(
c2
[
3561
],
_mm256_xor_si256
(
c2
[
1321
],
_mm256_xor_si256
(
c2
[
757
],
_mm256_xor_si256
(
c2
[
2016
],
_mm256_xor_si256
(
c2
[
1319
],
_mm256_xor_si256
(
c2
[
1459
],
_mm256_xor_si256
(
c2
[
774
],
_mm256_xor_si256
(
c2
[
914
],
_mm256_xor_si256
(
c2
[
350
],
_mm256_xor_si256
(
c2
[
913
],
_mm256_xor_si256
(
c2
[
216
],
_mm256_xor_si256
(
c2
[
356
],
_mm256_xor_si256
(
c2
[
1206
],
_mm256_xor_si256
(
c2
[
1346
],
_mm256_xor_si256
(
c2
[
789
],
_mm256_xor_si256
(
c2
[
4006
],
_mm256_xor_si256
(
c2
[
4146
],
_mm256_xor_si256
(
c2
[
3589
],
_mm256_xor_si256
(
c2
[
927
],
_mm256_xor_si256
(
c2
[
230
],
_mm256_xor_si256
(
c2
[
370
],
_mm256_xor_si256
(
c2
[
2483
],
_mm256_xor_si256
(
c2
[
2623
],
_mm256_xor_si256
(
c2
[
2059
],
_mm256_xor_si256
(
c2
[
3460
],
_mm256_xor_si256
(
c2
[
2763
],
_mm256_xor_si256
(
c2
[
2903
],
_mm256_xor_si256
(
c2
[
952
],
_mm256_xor_si256
(
c2
[
1092
],
_mm256_xor_si256
(
c2
[
535
],
_mm256_xor_si256
(
c2
[
814
],
_mm256_xor_si256
(
c2
[
257
],
_mm256_xor_si256
(
c2
[
956
],
_mm256_xor_si256
(
c2
[
252
],
_mm256_xor_si256
(
c2
[
392
],
_mm256_xor_si256
(
c2
[
2512
],
_mm256_xor_si256
(
c2
[
2652
],
_mm256_xor_si256
(
c2
[
2088
],
_mm256_xor_si256
(
c2
[
1246
],
_mm256_xor_si256
(
c2
[
1386
],
_mm256_xor_si256
(
c2
[
829
],
_mm256_xor_si256
(
c2
[
2229
],
_mm256_xor_si256
(
c2
[
1532
],
c2
[
1672
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
245
]
=
_mm256_xor_si256
(
c2
[
4343
],
_mm256_xor_si256
(
c2
[
4
],
_mm256_xor_si256
(
c2
[
1823
],
_mm256_xor_si256
(
c2
[
2246
],
_mm256_xor_si256
(
c2
[
719
],
_mm256_xor_si256
(
c2
[
859
],
_mm256_xor_si256
(
c2
[
3799
],
_mm256_xor_si256
(
c2
[
2394
],
_mm256_xor_si256
(
c2
[
3796
],
_mm256_xor_si256
(
c2
[
1990
],
_mm256_xor_si256
(
c2
[
2130
],
_mm256_xor_si256
(
c2
[
4229
],
_mm256_xor_si256
(
c2
[
1722
],
_mm256_xor_si256
(
c2
[
1862
],
_mm256_xor_si256
(
c2
[
2848
],
_mm256_xor_si256
(
c2
[
885
],
_mm256_xor_si256
(
c2
[
1601
],
_mm256_xor_si256
(
c2
[
3276
],
_mm256_xor_si256
(
c2
[
3978
],
_mm256_xor_si256
(
c2
[
2876
],
_mm256_xor_si256
(
c2
[
2875
],
_mm256_xor_si256
(
c2
[
775
],
_mm256_xor_si256
(
c2
[
3168
],
_mm256_xor_si256
(
c2
[
3308
],
_mm256_xor_si256
(
c2
[
1629
],
_mm256_xor_si256
(
c2
[
2889
],
_mm256_xor_si256
(
c2
[
99
],
_mm256_xor_si256
(
c2
[
943
],
_mm256_xor_si256
(
c2
[
3054
],
_mm256_xor_si256
(
c2
[
2776
],
_mm256_xor_si256
(
c2
[
2918
],
_mm256_xor_si256
(
c2
[
4467
],
_mm256_xor_si256
(
c2
[
128
],
_mm256_xor_si256
(
c2
[
3348
],
c2
[
4191
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
252
]
=
_mm256_xor_si256
(
c2
[
140
],
_mm256_xor_si256
(
c2
[
2133
],
c2
[
2760
]));
//row: 37
d2
[
259
]
=
_mm256_xor_si256
(
c2
[
2243
],
_mm256_xor_si256
(
c2
[
2942
],
_mm256_xor_si256
(
c2
[
4062
],
_mm256_xor_si256
(
c2
[
282
],
_mm256_xor_si256
(
c2
[
6
],
_mm256_xor_si256
(
c2
[
705
],
_mm256_xor_si256
(
c2
[
3098
],
_mm256_xor_si256
(
c2
[
3797
],
_mm256_xor_si256
(
c2
[
1559
],
_mm256_xor_si256
(
c2
[
2258
],
_mm256_xor_si256
(
c2
[
154
],
_mm256_xor_si256
(
c2
[
720
],
_mm256_xor_si256
(
c2
[
860
],
_mm256_xor_si256
(
c2
[
4369
],
_mm256_xor_si256
(
c2
[
589
],
_mm256_xor_si256
(
c2
[
1989
],
_mm256_xor_si256
(
c2
[
2548
],
_mm256_xor_si256
(
c2
[
2688
],
_mm256_xor_si256
(
c2
[
4108
],
_mm256_xor_si256
(
c2
[
328
],
_mm256_xor_si256
(
c2
[
608
],
_mm256_xor_si256
(
c2
[
1307
],
_mm256_xor_si256
(
c2
[
3124
],
_mm256_xor_si256
(
c2
[
3823
],
_mm256_xor_si256
(
c2
[
3840
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
1036
],
_mm256_xor_si256
(
c2
[
1742
],
_mm256_xor_si256
(
c2
[
1738
],
_mm256_xor_si256
(
c2
[
2297
],
_mm256_xor_si256
(
c2
[
2437
],
_mm256_xor_si256
(
c2
[
636
],
_mm256_xor_si256
(
c2
[
1335
],
_mm256_xor_si256
(
c2
[
635
],
_mm256_xor_si256
(
c2
[
1194
],
_mm256_xor_si256
(
c2
[
1334
],
_mm256_xor_si256
(
c2
[
1068
],
_mm256_xor_si256
(
c2
[
1767
],
_mm256_xor_si256
(
c2
[
3868
],
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
649
],
_mm256_xor_si256
(
c2
[
1208
],
_mm256_xor_si256
(
c2
[
1348
],
_mm256_xor_si256
(
c2
[
2338
],
_mm256_xor_si256
(
c2
[
3044
],
_mm256_xor_si256
(
c2
[
3182
],
_mm256_xor_si256
(
c2
[
3741
],
_mm256_xor_si256
(
c2
[
3881
],
_mm256_xor_si256
(
c2
[
814
],
_mm256_xor_si256
(
c2
[
1513
],
_mm256_xor_si256
(
c2
[
536
],
_mm256_xor_si256
(
c2
[
1235
],
_mm256_xor_si256
(
c2
[
678
],
_mm256_xor_si256
(
c2
[
1237
],
_mm256_xor_si256
(
c2
[
1377
],
_mm256_xor_si256
(
c2
[
2367
],
_mm256_xor_si256
(
c2
[
3066
],
_mm256_xor_si256
(
c2
[
1108
],
_mm256_xor_si256
(
c2
[
1807
],
_mm256_xor_si256
(
c2
[
1951
],
_mm256_xor_si256
(
c2
[
2510
],
c2
[
2650
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
266
]
=
_mm256_xor_si256
(
c2
[
3083
],
_mm256_xor_si256
(
c2
[
3223
],
_mm256_xor_si256
(
c2
[
563
],
_mm256_xor_si256
(
c2
[
986
],
_mm256_xor_si256
(
c2
[
3938
],
_mm256_xor_si256
(
c2
[
4078
],
_mm256_xor_si256
(
c2
[
2539
],
_mm256_xor_si256
(
c2
[
1134
],
_mm256_xor_si256
(
c2
[
715
],
_mm256_xor_si256
(
c2
[
730
],
_mm256_xor_si256
(
c2
[
870
],
_mm256_xor_si256
(
c2
[
2969
],
_mm256_xor_si256
(
c2
[
462
],
_mm256_xor_si256
(
c2
[
602
],
_mm256_xor_si256
(
c2
[
1588
],
_mm256_xor_si256
(
c2
[
4104
],
_mm256_xor_si256
(
c2
[
341
],
_mm256_xor_si256
(
c2
[
2016
],
_mm256_xor_si256
(
c2
[
2718
],
_mm256_xor_si256
(
c2
[
1616
],
_mm256_xor_si256
(
c2
[
1615
],
_mm256_xor_si256
(
c2
[
213
],
_mm256_xor_si256
(
c2
[
1908
],
_mm256_xor_si256
(
c2
[
2048
],
_mm256_xor_si256
(
c2
[
369
],
_mm256_xor_si256
(
c2
[
1629
],
_mm256_xor_si256
(
c2
[
3318
],
_mm256_xor_si256
(
c2
[
4162
],
_mm256_xor_si256
(
c2
[
1794
],
_mm256_xor_si256
(
c2
[
1516
],
_mm256_xor_si256
(
c2
[
1658
],
_mm256_xor_si256
(
c2
[
3207
],
_mm256_xor_si256
(
c2
[
3347
],
_mm256_xor_si256
(
c2
[
2088
],
c2
[
2931
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
273
]
=
_mm256_xor_si256
(
c2
[
280
],
_mm256_xor_si256
(
c2
[
420
],
_mm256_xor_si256
(
c2
[
2106
],
_mm256_xor_si256
(
c2
[
2246
],
_mm256_xor_si256
(
c2
[
2662
],
_mm256_xor_si256
(
c2
[
1403
],
_mm256_xor_si256
(
c2
[
1135
],
_mm256_xor_si256
(
c2
[
1275
],
_mm256_xor_si256
(
c2
[
4215
],
_mm256_xor_si256
(
c2
[
2817
],
_mm256_xor_si256
(
c2
[
2413
],
_mm256_xor_si256
(
c2
[
2553
],
_mm256_xor_si256
(
c2
[
173
],
_mm256_xor_si256
(
c2
[
2145
],
_mm256_xor_si256
(
c2
[
2285
],
_mm256_xor_si256
(
c2
[
3124
],
_mm256_xor_si256
(
c2
[
3264
],
_mm256_xor_si256
(
c2
[
1308
],
_mm256_xor_si256
(
c2
[
1877
],
_mm256_xor_si256
(
c2
[
2017
],
_mm256_xor_si256
(
c2
[
3699
],
_mm256_xor_si256
(
c2
[
4401
],
_mm256_xor_si256
(
c2
[
3152
],
_mm256_xor_si256
(
c2
[
3292
],
_mm256_xor_si256
(
c2
[
3291
],
_mm256_xor_si256
(
c2
[
3584
],
_mm256_xor_si256
(
c2
[
3724
],
_mm256_xor_si256
(
c2
[
1905
],
_mm256_xor_si256
(
c2
[
2045
],
_mm256_xor_si256
(
c2
[
3305
],
_mm256_xor_si256
(
c2
[
382
],
_mm256_xor_si256
(
c2
[
522
],
_mm256_xor_si256
(
c2
[
1359
],
_mm256_xor_si256
(
c2
[
3043
],
_mm256_xor_si256
(
c2
[
3337
],
_mm256_xor_si256
(
c2
[
3477
],
_mm256_xor_si256
(
c2
[
3192
],
_mm256_xor_si256
(
c2
[
3334
],
_mm256_xor_si256
(
c2
[
411
],
_mm256_xor_si256
(
c2
[
551
],
_mm256_xor_si256
(
c2
[
3631
],
_mm256_xor_si256
(
c2
[
3771
],
c2
[
128
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
280
]
=
_mm256_xor_si256
(
c2
[
1543
],
_mm256_xor_si256
(
c2
[
1823
],
_mm256_xor_si256
(
c2
[
3362
],
_mm256_xor_si256
(
c2
[
3642
],
_mm256_xor_si256
(
c2
[
3785
],
_mm256_xor_si256
(
c2
[
4065
],
_mm256_xor_si256
(
c2
[
2398
],
_mm256_xor_si256
(
c2
[
2678
],
_mm256_xor_si256
(
c2
[
859
],
_mm256_xor_si256
(
c2
[
1139
],
_mm256_xor_si256
(
c2
[
3940
],
_mm256_xor_si256
(
c2
[
4080
],
_mm256_xor_si256
(
c2
[
4220
],
_mm256_xor_si256
(
c2
[
3669
],
_mm256_xor_si256
(
c2
[
3949
],
_mm256_xor_si256
(
c2
[
1289
],
_mm256_xor_si256
(
c2
[
1429
],
_mm256_xor_si256
(
c2
[
1569
],
_mm256_xor_si256
(
c2
[
311
],
_mm256_xor_si256
(
c2
[
3408
],
_mm256_xor_si256
(
c2
[
3688
],
_mm256_xor_si256
(
c2
[
4387
],
_mm256_xor_si256
(
c2
[
188
],
_mm256_xor_si256
(
c2
[
2424
],
_mm256_xor_si256
(
c2
[
2704
],
_mm256_xor_si256
(
c2
[
3140
],
_mm256_xor_si256
(
c2
[
3420
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
616
],
_mm256_xor_si256
(
c2
[
1038
],
_mm256_xor_si256
(
c2
[
1178
],
_mm256_xor_si256
(
c2
[
1318
],
_mm256_xor_si256
(
c2
[
4415
],
_mm256_xor_si256
(
c2
[
216
],
_mm256_xor_si256
(
c2
[
4414
],
_mm256_xor_si256
(
c2
[
75
],
_mm256_xor_si256
(
c2
[
215
],
_mm256_xor_si256
(
c2
[
368
],
_mm256_xor_si256
(
c2
[
648
],
_mm256_xor_si256
(
c2
[
3168
],
_mm256_xor_si256
(
c2
[
3448
],
_mm256_xor_si256
(
c2
[
4428
],
_mm256_xor_si256
(
c2
[
89
],
_mm256_xor_si256
(
c2
[
229
],
_mm256_xor_si256
(
c2
[
1638
],
_mm256_xor_si256
(
c2
[
1918
],
_mm256_xor_si256
(
c2
[
2482
],
_mm256_xor_si256
(
c2
[
2622
],
_mm256_xor_si256
(
c2
[
2762
],
_mm256_xor_si256
(
c2
[
114
],
_mm256_xor_si256
(
c2
[
394
],
_mm256_xor_si256
(
c2
[
4315
],
_mm256_xor_si256
(
c2
[
116
],
_mm256_xor_si256
(
c2
[
4457
],
_mm256_xor_si256
(
c2
[
118
],
_mm256_xor_si256
(
c2
[
258
],
_mm256_xor_si256
(
c2
[
1667
],
_mm256_xor_si256
(
c2
[
1947
],
_mm256_xor_si256
(
c2
[
408
],
_mm256_xor_si256
(
c2
[
688
],
_mm256_xor_si256
(
c2
[
1251
],
_mm256_xor_si256
(
c2
[
1391
],
c2
[
1531
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
287
]
=
_mm256_xor_si256
(
c2
[
3504
],
_mm256_xor_si256
(
c2
[
3644
],
_mm256_xor_si256
(
c2
[
984
],
_mm256_xor_si256
(
c2
[
1400
],
_mm256_xor_si256
(
c2
[
4359
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
2960
],
_mm256_xor_si256
(
c2
[
1555
],
_mm256_xor_si256
(
c2
[
3377
],
_mm256_xor_si256
(
c2
[
1151
],
_mm256_xor_si256
(
c2
[
1291
],
_mm256_xor_si256
(
c2
[
3390
],
_mm256_xor_si256
(
c2
[
883
],
_mm256_xor_si256
(
c2
[
1023
],
_mm256_xor_si256
(
c2
[
2002
],
_mm256_xor_si256
(
c2
[
46
],
_mm256_xor_si256
(
c2
[
762
],
_mm256_xor_si256
(
c2
[
2437
],
_mm256_xor_si256
(
c2
[
3139
],
_mm256_xor_si256
(
c2
[
2030
],
_mm256_xor_si256
(
c2
[
2036
],
_mm256_xor_si256
(
c2
[
773
],
_mm256_xor_si256
(
c2
[
2329
],
_mm256_xor_si256
(
c2
[
2469
],
_mm256_xor_si256
(
c2
[
790
],
_mm256_xor_si256
(
c2
[
2050
],
_mm256_xor_si256
(
c2
[
3739
],
_mm256_xor_si256
(
c2
[
104
],
_mm256_xor_si256
(
c2
[
2215
],
_mm256_xor_si256
(
c2
[
1937
],
_mm256_xor_si256
(
c2
[
2072
],
_mm256_xor_si256
(
c2
[
3628
],
_mm256_xor_si256
(
c2
[
3768
],
_mm256_xor_si256
(
c2
[
2509
],
c2
[
3352
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc240_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=240, byte encoding
static
inline
void
ldpc_BG2_Zc240_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m128i
*
csimd
=
(
__m128i
*
)
c
,
*
dsimd
=
(
__m128i
*
)
d
;
__m128i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
15
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm_xor_si128
(
c2
[
309
],
_mm_xor_si128
(
c2
[
4208
],
_mm_xor_si128
(
c2
[
3004
],
_mm_xor_si128
(
c2
[
938
],
_mm_xor_si128
(
c2
[
4531
],
_mm_xor_si128
(
c2
[
4544
],
_mm_xor_si128
(
c2
[
2164
],
_mm_xor_si128
(
c2
[
3370
],
_mm_xor_si128
(
c2
[
1591
],
_mm_xor_si128
(
c2
[
4300
],
_mm_xor_si128
(
c2
[
990
],
_mm_xor_si128
(
c2
[
2231
],
_mm_xor_si128
(
c2
[
1623
],
_mm_xor_si128
(
c2
[
4625
],
_mm_xor_si128
(
c2
[
3451
],
_mm_xor_si128
(
c2
[
4356
],
_mm_xor_si128
(
c2
[
2281
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
4689
],
_mm_xor_si128
(
c2
[
2311
],
_mm_xor_si128
(
c2
[
2322
],
_mm_xor_si128
(
c2
[
2940
],
_mm_xor_si128
(
c2
[
3549
],
_mm_xor_si128
(
c2
[
3542
],
_mm_xor_si128
(
c2
[
277
],
_mm_xor_si128
(
c2
[
2380
],
c2
[
3574
]))))))))))))))))))))))))));
//row: 1
d2
[
15
]
=
_mm_xor_si128
(
c2
[
309
],
_mm_xor_si128
(
c2
[
609
],
_mm_xor_si128
(
c2
[
4508
],
_mm_xor_si128
(
c2
[
3304
],
_mm_xor_si128
(
c2
[
938
],
_mm_xor_si128
(
c2
[
1238
],
_mm_xor_si128
(
c2
[
32
],
_mm_xor_si128
(
c2
[
30
],
_mm_xor_si128
(
c2
[
2164
],
_mm_xor_si128
(
c2
[
2464
],
_mm_xor_si128
(
c2
[
3670
],
_mm_xor_si128
(
c2
[
1591
],
_mm_xor_si128
(
c2
[
1891
],
_mm_xor_si128
(
c2
[
4600
],
_mm_xor_si128
(
c2
[
1290
],
_mm_xor_si128
(
c2
[
2531
],
_mm_xor_si128
(
c2
[
1923
],
_mm_xor_si128
(
c2
[
126
],
_mm_xor_si128
(
c2
[
3751
],
_mm_xor_si128
(
c2
[
4656
],
_mm_xor_si128
(
c2
[
2281
],
_mm_xor_si128
(
c2
[
2581
],
_mm_xor_si128
(
c2
[
486
],
_mm_xor_si128
(
c2
[
190
],
_mm_xor_si128
(
c2
[
2611
],
_mm_xor_si128
(
c2
[
2622
],
_mm_xor_si128
(
c2
[
3240
],
_mm_xor_si128
(
c2
[
3849
],
_mm_xor_si128
(
c2
[
3842
],
_mm_xor_si128
(
c2
[
277
],
_mm_xor_si128
(
c2
[
577
],
_mm_xor_si128
(
c2
[
2680
],
c2
[
3874
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
30
]
=
_mm_xor_si128
(
c2
[
309
],
_mm_xor_si128
(
c2
[
609
],
_mm_xor_si128
(
c2
[
4208
],
_mm_xor_si128
(
c2
[
4508
],
_mm_xor_si128
(
c2
[
3304
],
_mm_xor_si128
(
c2
[
938
],
_mm_xor_si128
(
c2
[
1238
],
_mm_xor_si128
(
c2
[
32
],
_mm_xor_si128
(
c2
[
30
],
_mm_xor_si128
(
c2
[
2164
],
_mm_xor_si128
(
c2
[
2464
],
_mm_xor_si128
(
c2
[
3670
],
_mm_xor_si128
(
c2
[
1591
],
_mm_xor_si128
(
c2
[
1891
],
_mm_xor_si128
(
c2
[
4300
],
_mm_xor_si128
(
c2
[
4600
],
_mm_xor_si128
(
c2
[
1290
],
_mm_xor_si128
(
c2
[
2231
],
_mm_xor_si128
(
c2
[
2531
],
_mm_xor_si128
(
c2
[
1923
],
_mm_xor_si128
(
c2
[
126
],
_mm_xor_si128
(
c2
[
3451
],
_mm_xor_si128
(
c2
[
3751
],
_mm_xor_si128
(
c2
[
4656
],
_mm_xor_si128
(
c2
[
2281
],
_mm_xor_si128
(
c2
[
2581
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
486
],
_mm_xor_si128
(
c2
[
190
],
_mm_xor_si128
(
c2
[
2311
],
_mm_xor_si128
(
c2
[
2611
],
_mm_xor_si128
(
c2
[
2622
],
_mm_xor_si128
(
c2
[
2940
],
_mm_xor_si128
(
c2
[
3240
],
_mm_xor_si128
(
c2
[
3849
],
_mm_xor_si128
(
c2
[
3842
],
_mm_xor_si128
(
c2
[
277
],
_mm_xor_si128
(
c2
[
577
],
_mm_xor_si128
(
c2
[
2380
],
_mm_xor_si128
(
c2
[
2680
],
c2
[
3874
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
45
]
=
_mm_xor_si128
(
c2
[
609
],
_mm_xor_si128
(
c2
[
4508
],
_mm_xor_si128
(
c2
[
3304
],
_mm_xor_si128
(
c2
[
1238
],
_mm_xor_si128
(
c2
[
32
],
_mm_xor_si128
(
c2
[
4544
],
_mm_xor_si128
(
c2
[
30
],
_mm_xor_si128
(
c2
[
2464
],
_mm_xor_si128
(
c2
[
3370
],
_mm_xor_si128
(
c2
[
3670
],
_mm_xor_si128
(
c2
[
1891
],
_mm_xor_si128
(
c2
[
4600
],
_mm_xor_si128
(
c2
[
1290
],
_mm_xor_si128
(
c2
[
2531
],
_mm_xor_si128
(
c2
[
1923
],
_mm_xor_si128
(
c2
[
4625
],
_mm_xor_si128
(
c2
[
126
],
_mm_xor_si128
(
c2
[
3751
],
_mm_xor_si128
(
c2
[
4356
],
_mm_xor_si128
(
c2
[
4656
],
_mm_xor_si128
(
c2
[
2581
],
_mm_xor_si128
(
c2
[
486
],
_mm_xor_si128
(
c2
[
4689
],
_mm_xor_si128
(
c2
[
190
],
_mm_xor_si128
(
c2
[
2611
],
_mm_xor_si128
(
c2
[
2322
],
_mm_xor_si128
(
c2
[
2622
],
_mm_xor_si128
(
c2
[
3240
],
_mm_xor_si128
(
c2
[
3849
],
_mm_xor_si128
(
c2
[
3542
],
_mm_xor_si128
(
c2
[
3842
],
_mm_xor_si128
(
c2
[
577
],
_mm_xor_si128
(
c2
[
2680
],
_mm_xor_si128
(
c2
[
3574
],
c2
[
3874
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
60
]
=
_mm_xor_si128
(
c2
[
1505
],
_mm_xor_si128
(
c2
[
1805
],
_mm_xor_si128
(
c2
[
905
],
_mm_xor_si128
(
c2
[
4500
],
_mm_xor_si128
(
c2
[
3901
],
_mm_xor_si128
(
c2
[
2134
],
_mm_xor_si128
(
c2
[
2434
],
_mm_xor_si128
(
c2
[
1243
],
_mm_xor_si128
(
c2
[
1241
],
_mm_xor_si128
(
c2
[
3638
],
_mm_xor_si128
(
c2
[
3360
],
_mm_xor_si128
(
c2
[
3660
],
_mm_xor_si128
(
c2
[
67
],
_mm_xor_si128
(
c2
[
2802
],
_mm_xor_si128
(
c2
[
3102
],
_mm_xor_si128
(
c2
[
997
],
_mm_xor_si128
(
c2
[
2501
],
_mm_xor_si128
(
c2
[
3727
],
_mm_xor_si128
(
c2
[
3134
],
_mm_xor_si128
(
c2
[
1322
],
_mm_xor_si128
(
c2
[
163
],
_mm_xor_si128
(
c2
[
1053
],
_mm_xor_si128
(
c2
[
3492
],
_mm_xor_si128
(
c2
[
3792
],
_mm_xor_si128
(
c2
[
1682
],
_mm_xor_si128
(
c2
[
1386
],
_mm_xor_si128
(
c2
[
3822
],
_mm_xor_si128
(
c2
[
3818
],
_mm_xor_si128
(
c2
[
4451
],
_mm_xor_si128
(
c2
[
246
],
_mm_xor_si128
(
c2
[
254
],
_mm_xor_si128
(
c2
[
1473
],
_mm_xor_si128
(
c2
[
1773
],
_mm_xor_si128
(
c2
[
3876
],
c2
[
271
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
75
]
=
_mm_xor_si128
(
c2
[
7
],
_mm_xor_si128
(
c2
[
307
],
_mm_xor_si128
(
c2
[
4206
],
_mm_xor_si128
(
c2
[
3002
],
_mm_xor_si128
(
c2
[
2707
],
_mm_xor_si128
(
c2
[
636
],
_mm_xor_si128
(
c2
[
936
],
_mm_xor_si128
(
c2
[
4544
],
_mm_xor_si128
(
c2
[
4542
],
_mm_xor_si128
(
c2
[
2732
],
_mm_xor_si128
(
c2
[
1862
],
_mm_xor_si128
(
c2
[
2162
],
_mm_xor_si128
(
c2
[
3368
],
_mm_xor_si128
(
c2
[
1304
],
_mm_xor_si128
(
c2
[
1604
],
_mm_xor_si128
(
c2
[
4298
],
_mm_xor_si128
(
c2
[
1003
],
_mm_xor_si128
(
c2
[
2229
],
_mm_xor_si128
(
c2
[
1621
],
_mm_xor_si128
(
c2
[
4623
],
_mm_xor_si128
(
c2
[
3464
],
_mm_xor_si128
(
c2
[
4354
],
_mm_xor_si128
(
c2
[
2860
],
_mm_xor_si128
(
c2
[
1994
],
_mm_xor_si128
(
c2
[
2294
],
_mm_xor_si128
(
c2
[
184
],
_mm_xor_si128
(
c2
[
4687
],
_mm_xor_si128
(
c2
[
2324
],
_mm_xor_si128
(
c2
[
2320
],
_mm_xor_si128
(
c2
[
2615
],
_mm_xor_si128
(
c2
[
2953
],
_mm_xor_si128
(
c2
[
3547
],
_mm_xor_si128
(
c2
[
3540
],
_mm_xor_si128
(
c2
[
4774
],
_mm_xor_si128
(
c2
[
275
],
_mm_xor_si128
(
c2
[
2378
],
c2
[
3572
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
90
]
=
_mm_xor_si128
(
c2
[
2712
],
_mm_xor_si128
(
c2
[
3012
],
_mm_xor_si128
(
c2
[
2112
],
_mm_xor_si128
(
c2
[
908
],
_mm_xor_si128
(
c2
[
2708
],
_mm_xor_si128
(
c2
[
3341
],
_mm_xor_si128
(
c2
[
3641
],
_mm_xor_si128
(
c2
[
2435
],
_mm_xor_si128
(
c2
[
2433
],
_mm_xor_si128
(
c2
[
4567
],
_mm_xor_si128
(
c2
[
68
],
_mm_xor_si128
(
c2
[
1274
],
_mm_xor_si128
(
c2
[
3994
],
_mm_xor_si128
(
c2
[
4294
],
_mm_xor_si128
(
c2
[
2204
],
_mm_xor_si128
(
c2
[
3693
],
_mm_xor_si128
(
c2
[
120
],
_mm_xor_si128
(
c2
[
4326
],
_mm_xor_si128
(
c2
[
2529
],
_mm_xor_si128
(
c2
[
1355
],
_mm_xor_si128
(
c2
[
2260
],
_mm_xor_si128
(
c2
[
2554
],
_mm_xor_si128
(
c2
[
4684
],
_mm_xor_si128
(
c2
[
185
],
_mm_xor_si128
(
c2
[
2889
],
_mm_xor_si128
(
c2
[
2593
],
_mm_xor_si128
(
c2
[
215
],
_mm_xor_si128
(
c2
[
211
],
_mm_xor_si128
(
c2
[
3820
],
_mm_xor_si128
(
c2
[
844
],
_mm_xor_si128
(
c2
[
1453
],
_mm_xor_si128
(
c2
[
1446
],
_mm_xor_si128
(
c2
[
2680
],
_mm_xor_si128
(
c2
[
2980
],
_mm_xor_si128
(
c2
[
284
],
_mm_xor_si128
(
c2
[
1478
],
c2
[
3877
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
105
]
=
_mm_xor_si128
(
c2
[
3904
],
_mm_xor_si128
(
c2
[
4204
],
_mm_xor_si128
(
c2
[
3603
],
_mm_xor_si128
(
c2
[
3304
],
_mm_xor_si128
(
c2
[
2703
],
_mm_xor_si128
(
c2
[
2100
],
_mm_xor_si128
(
c2
[
1514
],
_mm_xor_si128
(
c2
[
4533
],
_mm_xor_si128
(
c2
[
34
],
_mm_xor_si128
(
c2
[
4232
],
_mm_xor_si128
(
c2
[
3642
],
_mm_xor_si128
(
c2
[
3041
],
_mm_xor_si128
(
c2
[
3640
],
_mm_xor_si128
(
c2
[
2739
],
_mm_xor_si128
(
c2
[
3039
],
_mm_xor_si128
(
c2
[
1835
],
_mm_xor_si128
(
c2
[
960
],
_mm_xor_si128
(
c2
[
1260
],
_mm_xor_si128
(
c2
[
674
],
_mm_xor_si128
(
c2
[
2466
],
_mm_xor_si128
(
c2
[
1565
],
_mm_xor_si128
(
c2
[
1865
],
_mm_xor_si128
(
c2
[
402
],
_mm_xor_si128
(
c2
[
702
],
_mm_xor_si128
(
c2
[
101
],
_mm_xor_si128
(
c2
[
3396
],
_mm_xor_si128
(
c2
[
2795
],
_mm_xor_si128
(
c2
[
101
],
_mm_xor_si128
(
c2
[
4299
],
_mm_xor_si128
(
c2
[
1327
],
_mm_xor_si128
(
c2
[
726
],
_mm_xor_si128
(
c2
[
734
],
_mm_xor_si128
(
c2
[
133
],
_mm_xor_si128
(
c2
[
3721
],
_mm_xor_si128
(
c2
[
2820
],
_mm_xor_si128
(
c2
[
3120
],
_mm_xor_si128
(
c2
[
2562
],
_mm_xor_si128
(
c2
[
1961
],
_mm_xor_si128
(
c2
[
3452
],
_mm_xor_si128
(
c2
[
2551
],
_mm_xor_si128
(
c2
[
2851
],
_mm_xor_si128
(
c2
[
3161
],
_mm_xor_si128
(
c2
[
1092
],
_mm_xor_si128
(
c2
[
1392
],
_mm_xor_si128
(
c2
[
791
],
_mm_xor_si128
(
c2
[
4081
],
_mm_xor_si128
(
c2
[
3480
],
_mm_xor_si128
(
c2
[
3785
],
_mm_xor_si128
(
c2
[
2884
],
_mm_xor_si128
(
c2
[
3184
],
_mm_xor_si128
(
c2
[
1422
],
_mm_xor_si128
(
c2
[
821
],
_mm_xor_si128
(
c2
[
1418
],
_mm_xor_si128
(
c2
[
517
],
_mm_xor_si128
(
c2
[
817
],
_mm_xor_si128
(
c2
[
2315
],
_mm_xor_si128
(
c2
[
2051
],
_mm_xor_si128
(
c2
[
1450
],
_mm_xor_si128
(
c2
[
2645
],
_mm_xor_si128
(
c2
[
2044
],
_mm_xor_si128
(
c2
[
2653
],
_mm_xor_si128
(
c2
[
1752
],
_mm_xor_si128
(
c2
[
2052
],
_mm_xor_si128
(
c2
[
3872
],
_mm_xor_si128
(
c2
[
4172
],
_mm_xor_si128
(
c2
[
3571
],
_mm_xor_si128
(
c2
[
1476
],
_mm_xor_si128
(
c2
[
875
],
_mm_xor_si128
(
c2
[
2670
],
_mm_xor_si128
(
c2
[
1784
],
c2
[
2084
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
120
]
=
_mm_xor_si128
(
c2
[
608
],
_mm_xor_si128
(
c2
[
908
],
_mm_xor_si128
(
c2
[
4507
],
_mm_xor_si128
(
c2
[
8
],
_mm_xor_si128
(
c2
[
3603
],
_mm_xor_si128
(
c2
[
11
],
_mm_xor_si128
(
c2
[
1237
],
_mm_xor_si128
(
c2
[
1537
],
_mm_xor_si128
(
c2
[
331
],
_mm_xor_si128
(
c2
[
344
],
_mm_xor_si128
(
c2
[
2740
],
_mm_xor_si128
(
c2
[
2463
],
_mm_xor_si128
(
c2
[
2763
],
_mm_xor_si128
(
c2
[
3969
],
_mm_xor_si128
(
c2
[
1890
],
_mm_xor_si128
(
c2
[
2190
],
_mm_xor_si128
(
c2
[
4599
],
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
1604
],
_mm_xor_si128
(
c2
[
2530
],
_mm_xor_si128
(
c2
[
2830
],
_mm_xor_si128
(
c2
[
2222
],
_mm_xor_si128
(
c2
[
425
],
_mm_xor_si128
(
c2
[
3750
],
_mm_xor_si128
(
c2
[
4050
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
2580
],
_mm_xor_si128
(
c2
[
2880
],
_mm_xor_si128
(
c2
[
485
],
_mm_xor_si128
(
c2
[
785
],
_mm_xor_si128
(
c2
[
489
],
_mm_xor_si128
(
c2
[
2610
],
_mm_xor_si128
(
c2
[
2910
],
_mm_xor_si128
(
c2
[
2921
],
_mm_xor_si128
(
c2
[
3254
],
_mm_xor_si128
(
c2
[
3554
],
_mm_xor_si128
(
c2
[
4148
],
_mm_xor_si128
(
c2
[
4141
],
_mm_xor_si128
(
c2
[
576
],
_mm_xor_si128
(
c2
[
876
],
_mm_xor_si128
(
c2
[
2679
],
_mm_xor_si128
(
c2
[
2979
],
c2
[
4173
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
135
]
=
_mm_xor_si128
(
c2
[
312
],
_mm_xor_si128
(
c2
[
1513
],
_mm_xor_si128
(
c2
[
1813
],
_mm_xor_si128
(
c2
[
4211
],
_mm_xor_si128
(
c2
[
913
],
_mm_xor_si128
(
c2
[
3007
],
_mm_xor_si128
(
c2
[
4508
],
_mm_xor_si128
(
c2
[
941
],
_mm_xor_si128
(
c2
[
2142
],
_mm_xor_si128
(
c2
[
2442
],
_mm_xor_si128
(
c2
[
4534
],
_mm_xor_si128
(
c2
[
1236
],
_mm_xor_si128
(
c2
[
4532
],
_mm_xor_si128
(
c2
[
1234
],
_mm_xor_si128
(
c2
[
2140
],
_mm_xor_si128
(
c2
[
2167
],
_mm_xor_si128
(
c2
[
3368
],
_mm_xor_si128
(
c2
[
3668
],
_mm_xor_si128
(
c2
[
3373
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
1594
],
_mm_xor_si128
(
c2
[
2795
],
_mm_xor_si128
(
c2
[
3095
],
_mm_xor_si128
(
c2
[
4303
],
_mm_xor_si128
(
c2
[
990
],
_mm_xor_si128
(
c2
[
993
],
_mm_xor_si128
(
c2
[
2494
],
_mm_xor_si128
(
c2
[
2234
],
_mm_xor_si128
(
c2
[
3720
],
_mm_xor_si128
(
c2
[
1626
],
_mm_xor_si128
(
c2
[
3127
],
_mm_xor_si128
(
c2
[
4628
],
_mm_xor_si128
(
c2
[
1330
],
_mm_xor_si128
(
c2
[
3454
],
_mm_xor_si128
(
c2
[
156
],
_mm_xor_si128
(
c2
[
4359
],
_mm_xor_si128
(
c2
[
1061
],
_mm_xor_si128
(
c2
[
2284
],
_mm_xor_si128
(
c2
[
3485
],
_mm_xor_si128
(
c2
[
3785
],
_mm_xor_si128
(
c2
[
189
],
_mm_xor_si128
(
c2
[
1690
],
_mm_xor_si128
(
c2
[
4692
],
_mm_xor_si128
(
c2
[
1394
],
_mm_xor_si128
(
c2
[
2314
],
_mm_xor_si128
(
c2
[
3815
],
_mm_xor_si128
(
c2
[
2310
],
_mm_xor_si128
(
c2
[
3811
],
_mm_xor_si128
(
c2
[
2943
],
_mm_xor_si128
(
c2
[
4444
],
_mm_xor_si128
(
c2
[
3552
],
_mm_xor_si128
(
c2
[
254
],
_mm_xor_si128
(
c2
[
3545
],
_mm_xor_si128
(
c2
[
247
],
_mm_xor_si128
(
c2
[
4454
],
_mm_xor_si128
(
c2
[
280
],
_mm_xor_si128
(
c2
[
1481
],
_mm_xor_si128
(
c2
[
1781
],
_mm_xor_si128
(
c2
[
2383
],
_mm_xor_si128
(
c2
[
3884
],
_mm_xor_si128
(
c2
[
3577
],
c2
[
279
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
150
]
=
_mm_xor_si128
(
c2
[
1802
],
_mm_xor_si128
(
c2
[
2743
],
_mm_xor_si128
(
c2
[
193
],
c2
[
2624
])));
//row: 11
d2
[
165
]
=
_mm_xor_si128
(
c2
[
1512
],
_mm_xor_si128
(
c2
[
612
],
_mm_xor_si128
(
c2
[
4207
],
_mm_xor_si128
(
c2
[
611
],
_mm_xor_si128
(
c2
[
2141
],
_mm_xor_si128
(
c2
[
935
],
_mm_xor_si128
(
c2
[
633
],
_mm_xor_si128
(
c2
[
933
],
_mm_xor_si128
(
c2
[
3367
],
_mm_xor_si128
(
c2
[
4273
],
_mm_xor_si128
(
c2
[
4573
],
_mm_xor_si128
(
c2
[
2794
],
_mm_xor_si128
(
c2
[
704
],
_mm_xor_si128
(
c2
[
2193
],
_mm_xor_si128
(
c2
[
3434
],
_mm_xor_si128
(
c2
[
2826
],
_mm_xor_si128
(
c2
[
729
],
_mm_xor_si128
(
c2
[
1029
],
_mm_xor_si128
(
c2
[
4654
],
_mm_xor_si128
(
c2
[
460
],
_mm_xor_si128
(
c2
[
760
],
_mm_xor_si128
(
c2
[
3484
],
_mm_xor_si128
(
c2
[
1389
],
_mm_xor_si128
(
c2
[
793
],
_mm_xor_si128
(
c2
[
1093
],
_mm_xor_si128
(
c2
[
3514
],
_mm_xor_si128
(
c2
[
3210
],
_mm_xor_si128
(
c2
[
3510
],
_mm_xor_si128
(
c2
[
2023
],
_mm_xor_si128
(
c2
[
4143
],
_mm_xor_si128
(
c2
[
4752
],
_mm_xor_si128
(
c2
[
4445
],
_mm_xor_si128
(
c2
[
4745
],
_mm_xor_si128
(
c2
[
1480
],
_mm_xor_si128
(
c2
[
3583
],
_mm_xor_si128
(
c2
[
4477
],
_mm_xor_si128
(
c2
[
4777
],
c2
[
2680
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
180
]
=
_mm_xor_si128
(
c2
[
2713
],
_mm_xor_si128
(
c2
[
3013
],
_mm_xor_si128
(
c2
[
2113
],
_mm_xor_si128
(
c2
[
909
],
_mm_xor_si128
(
c2
[
3342
],
_mm_xor_si128
(
c2
[
3642
],
_mm_xor_si128
(
c2
[
2436
],
_mm_xor_si128
(
c2
[
2434
],
_mm_xor_si128
(
c2
[
3637
],
_mm_xor_si128
(
c2
[
4568
],
_mm_xor_si128
(
c2
[
69
],
_mm_xor_si128
(
c2
[
1260
],
_mm_xor_si128
(
c2
[
3995
],
_mm_xor_si128
(
c2
[
4295
],
_mm_xor_si128
(
c2
[
2190
],
_mm_xor_si128
(
c2
[
3694
],
_mm_xor_si128
(
c2
[
3097
],
_mm_xor_si128
(
c2
[
121
],
_mm_xor_si128
(
c2
[
4327
],
_mm_xor_si128
(
c2
[
2530
],
_mm_xor_si128
(
c2
[
1356
],
_mm_xor_si128
(
c2
[
2261
],
_mm_xor_si128
(
c2
[
4685
],
_mm_xor_si128
(
c2
[
186
],
_mm_xor_si128
(
c2
[
2890
],
_mm_xor_si128
(
c2
[
2594
],
_mm_xor_si128
(
c2
[
216
],
_mm_xor_si128
(
c2
[
212
],
_mm_xor_si128
(
c2
[
845
],
_mm_xor_si128
(
c2
[
1454
],
_mm_xor_si128
(
c2
[
1447
],
_mm_xor_si128
(
c2
[
2681
],
_mm_xor_si128
(
c2
[
2981
],
_mm_xor_si128
(
c2
[
270
],
c2
[
1479
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
195
]
=
_mm_xor_si128
(
c2
[
3907
],
_mm_xor_si128
(
c2
[
3007
],
_mm_xor_si128
(
c2
[
1803
],
_mm_xor_si128
(
c2
[
3
],
_mm_xor_si128
(
c2
[
4536
],
_mm_xor_si128
(
c2
[
3330
],
_mm_xor_si128
(
c2
[
3043
],
_mm_xor_si128
(
c2
[
3343
],
_mm_xor_si128
(
c2
[
2733
],
_mm_xor_si128
(
c2
[
963
],
_mm_xor_si128
(
c2
[
1869
],
_mm_xor_si128
(
c2
[
2169
],
_mm_xor_si128
(
c2
[
390
],
_mm_xor_si128
(
c2
[
3099
],
_mm_xor_si128
(
c2
[
4603
],
_mm_xor_si128
(
c2
[
1030
],
_mm_xor_si128
(
c2
[
422
],
_mm_xor_si128
(
c2
[
3124
],
_mm_xor_si128
(
c2
[
3424
],
_mm_xor_si128
(
c2
[
2250
],
_mm_xor_si128
(
c2
[
2855
],
_mm_xor_si128
(
c2
[
3155
],
_mm_xor_si128
(
c2
[
1080
],
_mm_xor_si128
(
c2
[
3784
],
_mm_xor_si128
(
c2
[
3188
],
_mm_xor_si128
(
c2
[
3488
],
_mm_xor_si128
(
c2
[
1110
],
_mm_xor_si128
(
c2
[
821
],
_mm_xor_si128
(
c2
[
1121
],
_mm_xor_si128
(
c2
[
1754
],
_mm_xor_si128
(
c2
[
2348
],
_mm_xor_si128
(
c2
[
2041
],
_mm_xor_si128
(
c2
[
2341
],
_mm_xor_si128
(
c2
[
2350
],
_mm_xor_si128
(
c2
[
3875
],
_mm_xor_si128
(
c2
[
1179
],
_mm_xor_si128
(
c2
[
2073
],
c2
[
2373
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
210
]
=
_mm_xor_si128
(
c2
[
3906
],
_mm_xor_si128
(
c2
[
4206
],
_mm_xor_si128
(
c2
[
1204
],
_mm_xor_si128
(
c2
[
3306
],
_mm_xor_si128
(
c2
[
304
],
_mm_xor_si128
(
c2
[
2102
],
_mm_xor_si128
(
c2
[
3914
],
_mm_xor_si128
(
c2
[
4535
],
_mm_xor_si128
(
c2
[
36
],
_mm_xor_si128
(
c2
[
1833
],
_mm_xor_si128
(
c2
[
3644
],
_mm_xor_si128
(
c2
[
642
],
_mm_xor_si128
(
c2
[
3642
],
_mm_xor_si128
(
c2
[
340
],
_mm_xor_si128
(
c2
[
640
],
_mm_xor_si128
(
c2
[
635
],
_mm_xor_si128
(
c2
[
962
],
_mm_xor_si128
(
c2
[
1262
],
_mm_xor_si128
(
c2
[
3074
],
_mm_xor_si128
(
c2
[
2468
],
_mm_xor_si128
(
c2
[
3965
],
_mm_xor_si128
(
c2
[
4265
],
_mm_xor_si128
(
c2
[
404
],
_mm_xor_si128
(
c2
[
704
],
_mm_xor_si128
(
c2
[
2501
],
_mm_xor_si128
(
c2
[
3398
],
_mm_xor_si128
(
c2
[
396
],
_mm_xor_si128
(
c2
[
103
],
_mm_xor_si128
(
c2
[
1900
],
_mm_xor_si128
(
c2
[
1329
],
_mm_xor_si128
(
c2
[
3126
],
_mm_xor_si128
(
c2
[
721
],
_mm_xor_si128
(
c2
[
2533
],
_mm_xor_si128
(
c2
[
3723
],
_mm_xor_si128
(
c2
[
421
],
_mm_xor_si128
(
c2
[
721
],
_mm_xor_si128
(
c2
[
2564
],
_mm_xor_si128
(
c2
[
4361
],
_mm_xor_si128
(
c2
[
3454
],
_mm_xor_si128
(
c2
[
152
],
_mm_xor_si128
(
c2
[
452
],
_mm_xor_si128
(
c2
[
1094
],
_mm_xor_si128
(
c2
[
1394
],
_mm_xor_si128
(
c2
[
3191
],
_mm_xor_si128
(
c2
[
4083
],
_mm_xor_si128
(
c2
[
1081
],
_mm_xor_si128
(
c2
[
3787
],
_mm_xor_si128
(
c2
[
485
],
_mm_xor_si128
(
c2
[
785
],
_mm_xor_si128
(
c2
[
2594
],
_mm_xor_si128
(
c2
[
1424
],
_mm_xor_si128
(
c2
[
3221
],
_mm_xor_si128
(
c2
[
1420
],
_mm_xor_si128
(
c2
[
2917
],
_mm_xor_si128
(
c2
[
3217
],
_mm_xor_si128
(
c2
[
2053
],
_mm_xor_si128
(
c2
[
3850
],
_mm_xor_si128
(
c2
[
2647
],
_mm_xor_si128
(
c2
[
4444
],
_mm_xor_si128
(
c2
[
2640
],
_mm_xor_si128
(
c2
[
4152
],
_mm_xor_si128
(
c2
[
4452
],
_mm_xor_si128
(
c2
[
3874
],
_mm_xor_si128
(
c2
[
4174
],
_mm_xor_si128
(
c2
[
1172
],
_mm_xor_si128
(
c2
[
1478
],
_mm_xor_si128
(
c2
[
3275
],
_mm_xor_si128
(
c2
[
2672
],
_mm_xor_si128
(
c2
[
4184
],
c2
[
4484
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
225
]
=
_mm_xor_si128
(
c2
[
3007
],
_mm_xor_si128
(
c2
[
4203
],
_mm_xor_si128
(
c2
[
4503
],
_mm_xor_si128
(
c2
[
2107
],
_mm_xor_si128
(
c2
[
3603
],
_mm_xor_si128
(
c2
[
903
],
_mm_xor_si128
(
c2
[
2414
],
_mm_xor_si128
(
c2
[
1802
],
_mm_xor_si128
(
c2
[
3636
],
_mm_xor_si128
(
c2
[
33
],
_mm_xor_si128
(
c2
[
333
],
_mm_xor_si128
(
c2
[
2430
],
_mm_xor_si128
(
c2
[
3941
],
_mm_xor_si128
(
c2
[
2443
],
_mm_xor_si128
(
c2
[
3939
],
_mm_xor_si128
(
c2
[
63
],
_mm_xor_si128
(
c2
[
1274
],
_mm_xor_si128
(
c2
[
1574
],
_mm_xor_si128
(
c2
[
1269
],
_mm_xor_si128
(
c2
[
2765
],
_mm_xor_si128
(
c2
[
4304
],
_mm_xor_si128
(
c2
[
701
],
_mm_xor_si128
(
c2
[
1001
],
_mm_xor_si128
(
c2
[
2199
],
_mm_xor_si128
(
c2
[
3695
],
_mm_xor_si128
(
c2
[
3703
],
_mm_xor_si128
(
c2
[
400
],
_mm_xor_si128
(
c2
[
130
],
_mm_xor_si128
(
c2
[
1626
],
_mm_xor_si128
(
c2
[
4321
],
_mm_xor_si128
(
c2
[
1033
],
_mm_xor_si128
(
c2
[
2524
],
_mm_xor_si128
(
c2
[
4020
],
_mm_xor_si128
(
c2
[
1350
],
_mm_xor_si128
(
c2
[
2861
],
_mm_xor_si128
(
c2
[
2255
],
_mm_xor_si128
(
c2
[
3751
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
1391
],
_mm_xor_si128
(
c2
[
1691
],
_mm_xor_si128
(
c2
[
2884
],
_mm_xor_si128
(
c2
[
4380
],
_mm_xor_si128
(
c2
[
2588
],
_mm_xor_si128
(
c2
[
4084
],
_mm_xor_si128
(
c2
[
210
],
_mm_xor_si128
(
c2
[
1721
],
_mm_xor_si128
(
c2
[
221
],
_mm_xor_si128
(
c2
[
1717
],
_mm_xor_si128
(
c2
[
854
],
_mm_xor_si128
(
c2
[
2350
],
_mm_xor_si128
(
c2
[
1448
],
_mm_xor_si128
(
c2
[
2944
],
_mm_xor_si128
(
c2
[
1441
],
_mm_xor_si128
(
c2
[
2952
],
_mm_xor_si128
(
c2
[
2975
],
_mm_xor_si128
(
c2
[
4171
],
_mm_xor_si128
(
c2
[
4471
],
_mm_xor_si128
(
c2
[
279
],
_mm_xor_si128
(
c2
[
1775
],
_mm_xor_si128
(
c2
[
1473
],
c2
[
2984
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
240
]
=
_mm_xor_si128
(
c2
[
5
],
_mm_xor_si128
(
c2
[
305
],
_mm_xor_si128
(
c2
[
3306
],
_mm_xor_si128
(
c2
[
3606
],
_mm_xor_si128
(
c2
[
4204
],
_mm_xor_si128
(
c2
[
2406
],
_mm_xor_si128
(
c2
[
2706
],
_mm_xor_si128
(
c2
[
3000
],
_mm_xor_si128
(
c2
[
1502
],
_mm_xor_si128
(
c2
[
634
],
_mm_xor_si128
(
c2
[
934
],
_mm_xor_si128
(
c2
[
3935
],
_mm_xor_si128
(
c2
[
4235
],
_mm_xor_si128
(
c2
[
4542
],
_mm_xor_si128
(
c2
[
3044
],
_mm_xor_si128
(
c2
[
4540
],
_mm_xor_si128
(
c2
[
3042
],
_mm_xor_si128
(
c2
[
3040
],
_mm_xor_si128
(
c2
[
1860
],
_mm_xor_si128
(
c2
[
2160
],
_mm_xor_si128
(
c2
[
362
],
_mm_xor_si128
(
c2
[
662
],
_mm_xor_si128
(
c2
[
3366
],
_mm_xor_si128
(
c2
[
1868
],
_mm_xor_si128
(
c2
[
1302
],
_mm_xor_si128
(
c2
[
1602
],
_mm_xor_si128
(
c2
[
4603
],
_mm_xor_si128
(
c2
[
104
],
_mm_xor_si128
(
c2
[
4296
],
_mm_xor_si128
(
c2
[
2498
],
_mm_xor_si128
(
c2
[
2798
],
_mm_xor_si128
(
c2
[
1001
],
_mm_xor_si128
(
c2
[
4302
],
_mm_xor_si128
(
c2
[
2227
],
_mm_xor_si128
(
c2
[
429
],
_mm_xor_si128
(
c2
[
729
],
_mm_xor_si128
(
c2
[
1634
],
_mm_xor_si128
(
c2
[
121
],
_mm_xor_si128
(
c2
[
4621
],
_mm_xor_si128
(
c2
[
3123
],
_mm_xor_si128
(
c2
[
3462
],
_mm_xor_si128
(
c2
[
1664
],
_mm_xor_si128
(
c2
[
1964
],
_mm_xor_si128
(
c2
[
4352
],
_mm_xor_si128
(
c2
[
2854
],
_mm_xor_si128
(
c2
[
1992
],
_mm_xor_si128
(
c2
[
2292
],
_mm_xor_si128
(
c2
[
494
],
_mm_xor_si128
(
c2
[
794
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
3183
],
_mm_xor_si128
(
c2
[
3483
],
_mm_xor_si128
(
c2
[
4685
],
_mm_xor_si128
(
c2
[
3187
],
_mm_xor_si128
(
c2
[
2322
],
_mm_xor_si128
(
c2
[
524
],
_mm_xor_si128
(
c2
[
824
],
_mm_xor_si128
(
c2
[
2318
],
_mm_xor_si128
(
c2
[
820
],
_mm_xor_si128
(
c2
[
2951
],
_mm_xor_si128
(
c2
[
1153
],
_mm_xor_si128
(
c2
[
1453
],
_mm_xor_si128
(
c2
[
3545
],
_mm_xor_si128
(
c2
[
2047
],
_mm_xor_si128
(
c2
[
3553
],
_mm_xor_si128
(
c2
[
2040
],
_mm_xor_si128
(
c2
[
4772
],
_mm_xor_si128
(
c2
[
273
],
_mm_xor_si128
(
c2
[
3274
],
_mm_xor_si128
(
c2
[
3574
],
_mm_xor_si128
(
c2
[
2376
],
_mm_xor_si128
(
c2
[
578
],
_mm_xor_si128
(
c2
[
878
],
_mm_xor_si128
(
c2
[
3570
],
_mm_xor_si128
(
c2
[
2072
],
c2
[
2371
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
255
]
=
_mm_xor_si128
(
c2
[
1206
],
_mm_xor_si128
(
c2
[
1506
],
_mm_xor_si128
(
c2
[
3307
],
_mm_xor_si128
(
c2
[
3607
],
_mm_xor_si128
(
c2
[
606
],
_mm_xor_si128
(
c2
[
2407
],
_mm_xor_si128
(
c2
[
2707
],
_mm_xor_si128
(
c2
[
4201
],
_mm_xor_si128
(
c2
[
1503
],
_mm_xor_si128
(
c2
[
1835
],
_mm_xor_si128
(
c2
[
2135
],
_mm_xor_si128
(
c2
[
3936
],
_mm_xor_si128
(
c2
[
4236
],
_mm_xor_si128
(
c2
[
944
],
_mm_xor_si128
(
c2
[
3030
],
_mm_xor_si128
(
c2
[
942
],
_mm_xor_si128
(
c2
[
3043
],
_mm_xor_si128
(
c2
[
1242
],
_mm_xor_si128
(
c2
[
3061
],
_mm_xor_si128
(
c2
[
3361
],
_mm_xor_si128
(
c2
[
363
],
_mm_xor_si128
(
c2
[
663
],
_mm_xor_si128
(
c2
[
4567
],
_mm_xor_si128
(
c2
[
1869
],
_mm_xor_si128
(
c2
[
2503
],
_mm_xor_si128
(
c2
[
2803
],
_mm_xor_si128
(
c2
[
4604
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
698
],
_mm_xor_si128
(
c2
[
2499
],
_mm_xor_si128
(
c2
[
2799
],
_mm_xor_si128
(
c2
[
2202
],
_mm_xor_si128
(
c2
[
4303
],
_mm_xor_si128
(
c2
[
3428
],
_mm_xor_si128
(
c2
[
430
],
_mm_xor_si128
(
c2
[
730
],
_mm_xor_si128
(
c2
[
2820
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
1023
],
_mm_xor_si128
(
c2
[
3124
],
_mm_xor_si128
(
c2
[
4663
],
_mm_xor_si128
(
c2
[
1650
],
_mm_xor_si128
(
c2
[
1950
],
_mm_xor_si128
(
c2
[
754
],
_mm_xor_si128
(
c2
[
2855
],
_mm_xor_si128
(
c2
[
4060
],
_mm_xor_si128
(
c2
[
3193
],
_mm_xor_si128
(
c2
[
3493
],
_mm_xor_si128
(
c2
[
480
],
_mm_xor_si128
(
c2
[
780
],
_mm_xor_si128
(
c2
[
1383
],
_mm_xor_si128
(
c2
[
3184
],
_mm_xor_si128
(
c2
[
3484
],
_mm_xor_si128
(
c2
[
1087
],
_mm_xor_si128
(
c2
[
3188
],
_mm_xor_si128
(
c2
[
3523
],
_mm_xor_si128
(
c2
[
510
],
_mm_xor_si128
(
c2
[
810
],
_mm_xor_si128
(
c2
[
3519
],
_mm_xor_si128
(
c2
[
821
],
_mm_xor_si128
(
c2
[
4152
],
_mm_xor_si128
(
c2
[
1154
],
_mm_xor_si128
(
c2
[
1454
],
_mm_xor_si128
(
c2
[
4746
],
_mm_xor_si128
(
c2
[
2048
],
_mm_xor_si128
(
c2
[
4754
],
_mm_xor_si128
(
c2
[
2041
],
_mm_xor_si128
(
c2
[
1174
],
_mm_xor_si128
(
c2
[
1474
],
_mm_xor_si128
(
c2
[
3275
],
_mm_xor_si128
(
c2
[
3575
],
_mm_xor_si128
(
c2
[
3577
],
_mm_xor_si128
(
c2
[
579
],
_mm_xor_si128
(
c2
[
879
],
_mm_xor_si128
(
c2
[
4771
],
c2
[
2073
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
270
]
=
_mm_xor_si128
(
c2
[
8
],
_mm_xor_si128
(
c2
[
1093
],
c2
[
823
]));
//row: 19
d2
[
285
]
=
_mm_xor_si128
(
c2
[
2714
],
_mm_xor_si128
(
c2
[
1814
],
_mm_xor_si128
(
c2
[
610
],
_mm_xor_si128
(
c2
[
2102
],
_mm_xor_si128
(
c2
[
3343
],
_mm_xor_si128
(
c2
[
2137
],
_mm_xor_si128
(
c2
[
2135
],
_mm_xor_si128
(
c2
[
1235
],
_mm_xor_si128
(
c2
[
4569
],
_mm_xor_si128
(
c2
[
961
],
_mm_xor_si128
(
c2
[
3996
],
_mm_xor_si128
(
c2
[
1891
],
_mm_xor_si128
(
c2
[
3395
],
_mm_xor_si128
(
c2
[
4621
],
_mm_xor_si128
(
c2
[
4028
],
_mm_xor_si128
(
c2
[
2231
],
_mm_xor_si128
(
c2
[
1057
],
_mm_xor_si128
(
c2
[
1962
],
_mm_xor_si128
(
c2
[
4686
],
_mm_xor_si128
(
c2
[
2591
],
_mm_xor_si128
(
c2
[
2280
],
_mm_xor_si128
(
c2
[
4716
],
_mm_xor_si128
(
c2
[
4712
],
_mm_xor_si128
(
c2
[
546
],
_mm_xor_si128
(
c2
[
1140
],
_mm_xor_si128
(
c2
[
1148
],
_mm_xor_si128
(
c2
[
2682
],
_mm_xor_si128
(
c2
[
4770
],
c2
[
1180
]))))))))))))))))))))))))))));
//row: 20
d2
[
300
]
=
_mm_xor_si128
(
c2
[
2109
],
_mm_xor_si128
(
c2
[
2409
],
_mm_xor_si128
(
c2
[
1509
],
_mm_xor_si128
(
c2
[
305
],
_mm_xor_si128
(
c2
[
2738
],
_mm_xor_si128
(
c2
[
3038
],
_mm_xor_si128
(
c2
[
1832
],
_mm_xor_si128
(
c2
[
1830
],
_mm_xor_si128
(
c2
[
1537
],
_mm_xor_si128
(
c2
[
3964
],
_mm_xor_si128
(
c2
[
4264
],
_mm_xor_si128
(
c2
[
671
],
_mm_xor_si128
(
c2
[
3391
],
_mm_xor_si128
(
c2
[
3691
],
_mm_xor_si128
(
c2
[
1601
],
_mm_xor_si128
(
c2
[
3090
],
_mm_xor_si128
(
c2
[
4331
],
_mm_xor_si128
(
c2
[
3723
],
_mm_xor_si128
(
c2
[
1926
],
_mm_xor_si128
(
c2
[
1034
],
_mm_xor_si128
(
c2
[
752
],
_mm_xor_si128
(
c2
[
1657
],
_mm_xor_si128
(
c2
[
4081
],
_mm_xor_si128
(
c2
[
4381
],
_mm_xor_si128
(
c2
[
2286
],
_mm_xor_si128
(
c2
[
1990
],
_mm_xor_si128
(
c2
[
4411
],
_mm_xor_si128
(
c2
[
4422
],
_mm_xor_si128
(
c2
[
241
],
_mm_xor_si128
(
c2
[
850
],
_mm_xor_si128
(
c2
[
843
],
_mm_xor_si128
(
c2
[
2077
],
_mm_xor_si128
(
c2
[
2377
],
_mm_xor_si128
(
c2
[
4480
],
c2
[
875
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
315
]
=
_mm_xor_si128
(
c2
[
3909
],
_mm_xor_si128
(
c2
[
3009
],
_mm_xor_si128
(
c2
[
1805
],
_mm_xor_si128
(
c2
[
4214
],
_mm_xor_si128
(
c2
[
4538
],
_mm_xor_si128
(
c2
[
3332
],
_mm_xor_si128
(
c2
[
3030
],
_mm_xor_si128
(
c2
[
3330
],
_mm_xor_si128
(
c2
[
965
],
_mm_xor_si128
(
c2
[
1871
],
_mm_xor_si128
(
c2
[
2171
],
_mm_xor_si128
(
c2
[
392
],
_mm_xor_si128
(
c2
[
3101
],
_mm_xor_si128
(
c2
[
4590
],
_mm_xor_si128
(
c2
[
1032
],
_mm_xor_si128
(
c2
[
424
],
_mm_xor_si128
(
c2
[
3126
],
_mm_xor_si128
(
c2
[
3426
],
_mm_xor_si128
(
c2
[
2252
],
_mm_xor_si128
(
c2
[
2857
],
_mm_xor_si128
(
c2
[
3157
],
_mm_xor_si128
(
c2
[
1082
],
_mm_xor_si128
(
c2
[
3786
],
_mm_xor_si128
(
c2
[
3190
],
_mm_xor_si128
(
c2
[
3490
],
_mm_xor_si128
(
c2
[
1112
],
_mm_xor_si128
(
c2
[
823
],
_mm_xor_si128
(
c2
[
1123
],
_mm_xor_si128
(
c2
[
1741
],
_mm_xor_si128
(
c2
[
2350
],
_mm_xor_si128
(
c2
[
2043
],
_mm_xor_si128
(
c2
[
2343
],
_mm_xor_si128
(
c2
[
4140
],
_mm_xor_si128
(
c2
[
3877
],
_mm_xor_si128
(
c2
[
1181
],
_mm_xor_si128
(
c2
[
2075
],
c2
[
2375
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
330
]
=
_mm_xor_si128
(
c2
[
942
],
c2
[
3662
]);
//row: 23
d2
[
345
]
=
_mm_xor_si128
(
c2
[
1500
],
_mm_xor_si128
(
c2
[
4295
],
c2
[
4656
]));
//row: 24
d2
[
360
]
=
_mm_xor_si128
(
c2
[
335
],
_mm_xor_si128
(
c2
[
961
],
c2
[
878
]));
//row: 25
d2
[
375
]
=
_mm_xor_si128
(
c2
[
604
],
c2
[
4655
]);
//row: 26
d2
[
390
]
=
_mm_xor_si128
(
c2
[
4505
],
_mm_xor_si128
(
c2
[
6
],
_mm_xor_si128
(
c2
[
2414
],
_mm_xor_si128
(
c2
[
3605
],
_mm_xor_si128
(
c2
[
3905
],
_mm_xor_si128
(
c2
[
1514
],
_mm_xor_si128
(
c2
[
2701
],
_mm_xor_si128
(
c2
[
310
],
_mm_xor_si128
(
c2
[
335
],
_mm_xor_si128
(
c2
[
635
],
_mm_xor_si128
(
c2
[
3043
],
_mm_xor_si128
(
c2
[
4243
],
_mm_xor_si128
(
c2
[
1837
],
_mm_xor_si128
(
c2
[
4241
],
_mm_xor_si128
(
c2
[
1535
],
_mm_xor_si128
(
c2
[
1835
],
_mm_xor_si128
(
c2
[
1561
],
_mm_xor_si128
(
c2
[
1861
],
_mm_xor_si128
(
c2
[
4269
],
_mm_xor_si128
(
c2
[
3067
],
_mm_xor_si128
(
c2
[
361
],
_mm_xor_si128
(
c2
[
661
],
_mm_xor_si128
(
c2
[
669
],
_mm_xor_si128
(
c2
[
1003
],
_mm_xor_si128
(
c2
[
1303
],
_mm_xor_si128
(
c2
[
3696
],
_mm_xor_si128
(
c2
[
3697
],
_mm_xor_si128
(
c2
[
3997
],
_mm_xor_si128
(
c2
[
1591
],
_mm_xor_si128
(
c2
[
702
],
_mm_xor_si128
(
c2
[
3095
],
_mm_xor_si128
(
c2
[
1628
],
_mm_xor_si128
(
c2
[
1928
],
_mm_xor_si128
(
c2
[
4321
],
_mm_xor_si128
(
c2
[
1320
],
_mm_xor_si128
(
c2
[
3728
],
_mm_xor_si128
(
c2
[
4322
],
_mm_xor_si128
(
c2
[
1631
],
_mm_xor_si128
(
c2
[
1931
],
_mm_xor_si128
(
c2
[
2863
],
_mm_xor_si128
(
c2
[
3163
],
_mm_xor_si128
(
c2
[
757
],
_mm_xor_si128
(
c2
[
4053
],
_mm_xor_si128
(
c2
[
1362
],
_mm_xor_si128
(
c2
[
1662
],
_mm_xor_si128
(
c2
[
1693
],
_mm_xor_si128
(
c2
[
1993
],
_mm_xor_si128
(
c2
[
4386
],
_mm_xor_si128
(
c2
[
4382
],
_mm_xor_si128
(
c2
[
4682
],
_mm_xor_si128
(
c2
[
2291
],
_mm_xor_si128
(
c2
[
4386
],
_mm_xor_si128
(
c2
[
1680
],
_mm_xor_si128
(
c2
[
1980
],
_mm_xor_si128
(
c2
[
1723
],
_mm_xor_si128
(
c2
[
2023
],
_mm_xor_si128
(
c2
[
4416
],
_mm_xor_si128
(
c2
[
2019
],
_mm_xor_si128
(
c2
[
4112
],
_mm_xor_si128
(
c2
[
4412
],
_mm_xor_si128
(
c2
[
814
],
_mm_xor_si128
(
c2
[
2352
],
_mm_xor_si128
(
c2
[
2652
],
_mm_xor_si128
(
c2
[
246
],
_mm_xor_si128
(
c2
[
3246
],
_mm_xor_si128
(
c2
[
840
],
_mm_xor_si128
(
c2
[
3254
],
_mm_xor_si128
(
c2
[
548
],
_mm_xor_si128
(
c2
[
848
],
_mm_xor_si128
(
c2
[
4473
],
_mm_xor_si128
(
c2
[
4773
],
_mm_xor_si128
(
c2
[
2382
],
_mm_xor_si128
(
c2
[
1777
],
_mm_xor_si128
(
c2
[
2077
],
_mm_xor_si128
(
c2
[
4470
],
_mm_xor_si128
(
c2
[
3271
],
_mm_xor_si128
(
c2
[
580
],
c2
[
880
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
405
]
=
_mm_xor_si128
(
c2
[
4
],
c2
[
1691
]);
//row: 28
d2
[
420
]
=
_mm_xor_si128
(
c2
[
2130
],
_mm_xor_si128
(
c2
[
69
],
c2
[
151
]));
//row: 29
d2
[
435
]
=
_mm_xor_si128
(
c2
[
2701
],
c2
[
2823
]);
//row: 30
d2
[
450
]
=
_mm_xor_si128
(
c2
[
1562
],
_mm_xor_si128
(
c2
[
3458
],
_mm_xor_si128
(
c2
[
4123
],
c2
[
571
])));
//row: 31
d2
[
465
]
=
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
3911
],
_mm_xor_si128
(
c2
[
2707
],
_mm_xor_si128
(
c2
[
641
],
_mm_xor_si128
(
c2
[
4234
],
_mm_xor_si128
(
c2
[
3932
],
_mm_xor_si128
(
c2
[
4232
],
_mm_xor_si128
(
c2
[
2742
],
_mm_xor_si128
(
c2
[
1867
],
_mm_xor_si128
(
c2
[
2773
],
_mm_xor_si128
(
c2
[
3073
],
_mm_xor_si128
(
c2
[
1294
],
_mm_xor_si128
(
c2
[
4003
],
_mm_xor_si128
(
c2
[
693
],
_mm_xor_si128
(
c2
[
1934
],
_mm_xor_si128
(
c2
[
1326
],
_mm_xor_si128
(
c2
[
4028
],
_mm_xor_si128
(
c2
[
4328
],
_mm_xor_si128
(
c2
[
3154
],
_mm_xor_si128
(
c2
[
3759
],
_mm_xor_si128
(
c2
[
4059
],
_mm_xor_si128
(
c2
[
1984
],
_mm_xor_si128
(
c2
[
4688
],
_mm_xor_si128
(
c2
[
4092
],
_mm_xor_si128
(
c2
[
4392
],
_mm_xor_si128
(
c2
[
2014
],
_mm_xor_si128
(
c2
[
1710
],
_mm_xor_si128
(
c2
[
2010
],
_mm_xor_si128
(
c2
[
2643
],
_mm_xor_si128
(
c2
[
3252
],
_mm_xor_si128
(
c2
[
2945
],
_mm_xor_si128
(
c2
[
3245
],
_mm_xor_si128
(
c2
[
4779
],
_mm_xor_si128
(
c2
[
2083
],
_mm_xor_si128
(
c2
[
2977
],
c2
[
3277
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
480
]
=
_mm_xor_si128
(
c2
[
1501
],
_mm_xor_si128
(
c2
[
1801
],
_mm_xor_si128
(
c2
[
601
],
_mm_xor_si128
(
c2
[
901
],
_mm_xor_si128
(
c2
[
4511
],
_mm_xor_si128
(
c2
[
911
],
_mm_xor_si128
(
c2
[
2130
],
_mm_xor_si128
(
c2
[
2430
],
_mm_xor_si128
(
c2
[
1239
],
_mm_xor_si128
(
c2
[
1237
],
_mm_xor_si128
(
c2
[
3371
],
_mm_xor_si128
(
c2
[
3671
],
_mm_xor_si128
(
c2
[
63
],
_mm_xor_si128
(
c2
[
2798
],
_mm_xor_si128
(
c2
[
3098
],
_mm_xor_si128
(
c2
[
693
],
_mm_xor_si128
(
c2
[
993
],
_mm_xor_si128
(
c2
[
2497
],
_mm_xor_si128
(
c2
[
3423
],
_mm_xor_si128
(
c2
[
3723
],
_mm_xor_si128
(
c2
[
3130
],
_mm_xor_si128
(
c2
[
1333
],
_mm_xor_si128
(
c2
[
4658
],
_mm_xor_si128
(
c2
[
159
],
_mm_xor_si128
(
c2
[
1064
],
_mm_xor_si128
(
c2
[
4350
],
_mm_xor_si128
(
c2
[
3488
],
_mm_xor_si128
(
c2
[
3788
],
_mm_xor_si128
(
c2
[
1393
],
_mm_xor_si128
(
c2
[
1693
],
_mm_xor_si128
(
c2
[
1382
],
_mm_xor_si128
(
c2
[
3518
],
_mm_xor_si128
(
c2
[
3818
],
_mm_xor_si128
(
c2
[
3814
],
_mm_xor_si128
(
c2
[
4147
],
_mm_xor_si128
(
c2
[
4447
],
_mm_xor_si128
(
c2
[
242
],
_mm_xor_si128
(
c2
[
250
],
_mm_xor_si128
(
c2
[
1484
],
_mm_xor_si128
(
c2
[
1784
],
_mm_xor_si128
(
c2
[
3572
],
_mm_xor_si128
(
c2
[
3872
],
c2
[
282
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
495
]
=
_mm_xor_si128
(
c2
[
3300
],
_mm_xor_si128
(
c2
[
2400
],
_mm_xor_si128
(
c2
[
1211
],
_mm_xor_si128
(
c2
[
3944
],
_mm_xor_si128
(
c2
[
2738
],
_mm_xor_si128
(
c2
[
2736
],
_mm_xor_si128
(
c2
[
371
],
_mm_xor_si128
(
c2
[
1562
],
_mm_xor_si128
(
c2
[
4262
],
_mm_xor_si128
(
c2
[
4597
],
_mm_xor_si128
(
c2
[
2492
],
_mm_xor_si128
(
c2
[
3996
],
_mm_xor_si128
(
c2
[
423
],
_mm_xor_si128
(
c2
[
4629
],
_mm_xor_si128
(
c2
[
2832
],
_mm_xor_si128
(
c2
[
1658
],
_mm_xor_si128
(
c2
[
2563
],
_mm_xor_si128
(
c2
[
488
],
_mm_xor_si128
(
c2
[
3192
],
_mm_xor_si128
(
c2
[
2881
],
_mm_xor_si128
(
c2
[
518
],
_mm_xor_si128
(
c2
[
514
],
_mm_xor_si128
(
c2
[
810
],
_mm_xor_si128
(
c2
[
1147
],
_mm_xor_si128
(
c2
[
1741
],
_mm_xor_si128
(
c2
[
1749
],
_mm_xor_si128
(
c2
[
3283
],
_mm_xor_si128
(
c2
[
572
],
c2
[
1781
]))))))))))))))))))))))))))));
//row: 34
d2
[
510
]
=
_mm_xor_si128
(
c2
[
2402
],
_mm_xor_si128
(
c2
[
2702
],
_mm_xor_si128
(
c2
[
4502
],
_mm_xor_si128
(
c2
[
1502
],
_mm_xor_si128
(
c2
[
1802
],
_mm_xor_si128
(
c2
[
3602
],
_mm_xor_si128
(
c2
[
613
],
_mm_xor_si128
(
c2
[
2413
],
_mm_xor_si128
(
c2
[
2411
],
_mm_xor_si128
(
c2
[
3031
],
_mm_xor_si128
(
c2
[
3331
],
_mm_xor_si128
(
c2
[
332
],
_mm_xor_si128
(
c2
[
2140
],
_mm_xor_si128
(
c2
[
3940
],
_mm_xor_si128
(
c2
[
2138
],
_mm_xor_si128
(
c2
[
3638
],
_mm_xor_si128
(
c2
[
3938
],
_mm_xor_si128
(
c2
[
4272
],
_mm_xor_si128
(
c2
[
4572
],
_mm_xor_si128
(
c2
[
1573
],
_mm_xor_si128
(
c2
[
964
],
_mm_xor_si128
(
c2
[
2464
],
_mm_xor_si128
(
c2
[
2764
],
_mm_xor_si128
(
c2
[
3699
],
_mm_xor_si128
(
c2
[
3999
],
_mm_xor_si128
(
c2
[
1000
],
_mm_xor_si128
(
c2
[
1594
],
_mm_xor_si128
(
c2
[
1894
],
_mm_xor_si128
(
c2
[
3694
],
_mm_xor_si128
(
c2
[
3398
],
_mm_xor_si128
(
c2
[
399
],
_mm_xor_si128
(
c2
[
4324
],
_mm_xor_si128
(
c2
[
4624
],
_mm_xor_si128
(
c2
[
1625
],
_mm_xor_si128
(
c2
[
4031
],
_mm_xor_si128
(
c2
[
1032
],
_mm_xor_si128
(
c2
[
2234
],
_mm_xor_si128
(
c2
[
3734
],
_mm_xor_si128
(
c2
[
4034
],
_mm_xor_si128
(
c2
[
760
],
_mm_xor_si128
(
c2
[
1060
],
_mm_xor_si128
(
c2
[
2860
],
_mm_xor_si128
(
c2
[
1950
],
_mm_xor_si128
(
c2
[
3450
],
_mm_xor_si128
(
c2
[
3750
],
_mm_xor_si128
(
c2
[
4389
],
_mm_xor_si128
(
c2
[
4689
],
_mm_xor_si128
(
c2
[
1690
],
_mm_xor_si128
(
c2
[
2294
],
_mm_xor_si128
(
c2
[
2594
],
_mm_xor_si128
(
c2
[
4394
],
_mm_xor_si128
(
c2
[
2283
],
_mm_xor_si128
(
c2
[
3783
],
_mm_xor_si128
(
c2
[
4083
],
_mm_xor_si128
(
c2
[
4419
],
_mm_xor_si128
(
c2
[
4719
],
_mm_xor_si128
(
c2
[
1720
],
_mm_xor_si128
(
c2
[
4715
],
_mm_xor_si128
(
c2
[
1416
],
_mm_xor_si128
(
c2
[
1716
],
_mm_xor_si128
(
c2
[
249
],
_mm_xor_si128
(
c2
[
549
],
_mm_xor_si128
(
c2
[
2349
],
_mm_xor_si128
(
c2
[
1143
],
_mm_xor_si128
(
c2
[
2943
],
_mm_xor_si128
(
c2
[
1151
],
_mm_xor_si128
(
c2
[
2651
],
_mm_xor_si128
(
c2
[
2951
],
_mm_xor_si128
(
c2
[
2370
],
_mm_xor_si128
(
c2
[
2670
],
_mm_xor_si128
(
c2
[
4470
],
_mm_xor_si128
(
c2
[
4473
],
_mm_xor_si128
(
c2
[
4773
],
_mm_xor_si128
(
c2
[
1774
],
_mm_xor_si128
(
c2
[
1183
],
_mm_xor_si128
(
c2
[
2683
],
c2
[
2983
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
525
]
=
_mm_xor_si128
(
c2
[
5
],
_mm_xor_si128
(
c2
[
305
],
_mm_xor_si128
(
c2
[
4204
],
_mm_xor_si128
(
c2
[
3000
],
_mm_xor_si128
(
c2
[
634
],
_mm_xor_si128
(
c2
[
934
],
_mm_xor_si128
(
c2
[
4542
],
_mm_xor_si128
(
c2
[
4540
],
_mm_xor_si128
(
c2
[
1535
],
_mm_xor_si128
(
c2
[
1860
],
_mm_xor_si128
(
c2
[
2160
],
_mm_xor_si128
(
c2
[
3366
],
_mm_xor_si128
(
c2
[
1302
],
_mm_xor_si128
(
c2
[
1602
],
_mm_xor_si128
(
c2
[
4296
],
_mm_xor_si128
(
c2
[
1001
],
_mm_xor_si128
(
c2
[
2227
],
_mm_xor_si128
(
c2
[
1634
],
_mm_xor_si128
(
c2
[
4621
],
_mm_xor_si128
(
c2
[
3462
],
_mm_xor_si128
(
c2
[
4352
],
_mm_xor_si128
(
c2
[
464
],
_mm_xor_si128
(
c2
[
1992
],
_mm_xor_si128
(
c2
[
2292
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
4685
],
_mm_xor_si128
(
c2
[
2322
],
_mm_xor_si128
(
c2
[
2318
],
_mm_xor_si128
(
c2
[
2951
],
_mm_xor_si128
(
c2
[
3545
],
_mm_xor_si128
(
c2
[
3553
],
_mm_xor_si128
(
c2
[
4772
],
_mm_xor_si128
(
c2
[
273
],
_mm_xor_si128
(
c2
[
2376
],
c2
[
3570
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
540
]
=
_mm_xor_si128
(
c2
[
611
],
_mm_xor_si128
(
c2
[
67
],
c2
[
3216
]));
//row: 37
d2
[
555
]
=
_mm_xor_si128
(
c2
[
3303
],
_mm_xor_si128
(
c2
[
1201
],
_mm_xor_si128
(
c2
[
2403
],
_mm_xor_si128
(
c2
[
301
],
_mm_xor_si128
(
c2
[
1214
],
_mm_xor_si128
(
c2
[
3911
],
_mm_xor_si128
(
c2
[
3932
],
_mm_xor_si128
(
c2
[
1830
],
_mm_xor_si128
(
c2
[
2741
],
_mm_xor_si128
(
c2
[
639
],
_mm_xor_si128
(
c2
[
2739
],
_mm_xor_si128
(
c2
[
337
],
_mm_xor_si128
(
c2
[
637
],
_mm_xor_si128
(
c2
[
374
],
_mm_xor_si128
(
c2
[
3071
],
_mm_xor_si128
(
c2
[
1565
],
_mm_xor_si128
(
c2
[
3962
],
_mm_xor_si128
(
c2
[
4262
],
_mm_xor_si128
(
c2
[
4600
],
_mm_xor_si128
(
c2
[
2498
],
_mm_xor_si128
(
c2
[
2495
],
_mm_xor_si128
(
c2
[
393
],
_mm_xor_si128
(
c2
[
3999
],
_mm_xor_si128
(
c2
[
1897
],
_mm_xor_si128
(
c2
[
426
],
_mm_xor_si128
(
c2
[
3123
],
_mm_xor_si128
(
c2
[
4632
],
_mm_xor_si128
(
c2
[
2530
],
_mm_xor_si128
(
c2
[
2820
],
_mm_xor_si128
(
c2
[
433
],
_mm_xor_si128
(
c2
[
733
],
_mm_xor_si128
(
c2
[
1661
],
_mm_xor_si128
(
c2
[
4358
],
_mm_xor_si128
(
c2
[
2551
],
_mm_xor_si128
(
c2
[
164
],
_mm_xor_si128
(
c2
[
464
],
_mm_xor_si128
(
c2
[
491
],
_mm_xor_si128
(
c2
[
3188
],
_mm_xor_si128
(
c2
[
3180
],
_mm_xor_si128
(
c2
[
1093
],
_mm_xor_si128
(
c2
[
2884
],
_mm_xor_si128
(
c2
[
482
],
_mm_xor_si128
(
c2
[
782
],
_mm_xor_si128
(
c2
[
521
],
_mm_xor_si128
(
c2
[
3218
],
_mm_xor_si128
(
c2
[
517
],
_mm_xor_si128
(
c2
[
2914
],
_mm_xor_si128
(
c2
[
3214
],
_mm_xor_si128
(
c2
[
1150
],
_mm_xor_si128
(
c2
[
3847
],
_mm_xor_si128
(
c2
[
1744
],
_mm_xor_si128
(
c2
[
4441
],
_mm_xor_si128
(
c2
[
1752
],
_mm_xor_si128
(
c2
[
4149
],
_mm_xor_si128
(
c2
[
4449
],
_mm_xor_si128
(
c2
[
3271
],
_mm_xor_si128
(
c2
[
1184
],
_mm_xor_si128
(
c2
[
575
],
_mm_xor_si128
(
c2
[
3272
],
_mm_xor_si128
(
c2
[
1784
],
_mm_xor_si128
(
c2
[
4181
],
c2
[
4481
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
570
]
=
_mm_xor_si128
(
c2
[
3000
],
_mm_xor_si128
(
c2
[
3300
],
_mm_xor_si128
(
c2
[
2400
],
_mm_xor_si128
(
c2
[
1211
],
_mm_xor_si128
(
c2
[
3644
],
_mm_xor_si128
(
c2
[
3944
],
_mm_xor_si128
(
c2
[
2738
],
_mm_xor_si128
(
c2
[
2736
],
_mm_xor_si128
(
c2
[
3032
],
_mm_xor_si128
(
c2
[
71
],
_mm_xor_si128
(
c2
[
371
],
_mm_xor_si128
(
c2
[
1562
],
_mm_xor_si128
(
c2
[
4297
],
_mm_xor_si128
(
c2
[
4597
],
_mm_xor_si128
(
c2
[
2492
],
_mm_xor_si128
(
c2
[
3996
],
_mm_xor_si128
(
c2
[
423
],
_mm_xor_si128
(
c2
[
4629
],
_mm_xor_si128
(
c2
[
2832
],
_mm_xor_si128
(
c2
[
1658
],
_mm_xor_si128
(
c2
[
2563
],
_mm_xor_si128
(
c2
[
2852
],
_mm_xor_si128
(
c2
[
188
],
_mm_xor_si128
(
c2
[
488
],
_mm_xor_si128
(
c2
[
3192
],
_mm_xor_si128
(
c2
[
2881
],
_mm_xor_si128
(
c2
[
518
],
_mm_xor_si128
(
c2
[
514
],
_mm_xor_si128
(
c2
[
1147
],
_mm_xor_si128
(
c2
[
1741
],
_mm_xor_si128
(
c2
[
1749
],
_mm_xor_si128
(
c2
[
2983
],
_mm_xor_si128
(
c2
[
3283
],
_mm_xor_si128
(
c2
[
572
],
c2
[
1781
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
585
]
=
_mm_xor_si128
(
c2
[
4205
],
_mm_xor_si128
(
c2
[
4505
],
_mm_xor_si128
(
c2
[
3305
],
_mm_xor_si128
(
c2
[
3605
],
_mm_xor_si128
(
c2
[
2401
],
_mm_xor_si128
(
c2
[
2110
],
_mm_xor_si128
(
c2
[
35
],
_mm_xor_si128
(
c2
[
335
],
_mm_xor_si128
(
c2
[
3943
],
_mm_xor_si128
(
c2
[
3941
],
_mm_xor_si128
(
c2
[
1261
],
_mm_xor_si128
(
c2
[
1561
],
_mm_xor_si128
(
c2
[
2767
],
_mm_xor_si128
(
c2
[
703
],
_mm_xor_si128
(
c2
[
1003
],
_mm_xor_si128
(
c2
[
3397
],
_mm_xor_si128
(
c2
[
3697
],
_mm_xor_si128
(
c2
[
402
],
_mm_xor_si128
(
c2
[
1328
],
_mm_xor_si128
(
c2
[
1628
],
_mm_xor_si128
(
c2
[
1020
],
_mm_xor_si128
(
c2
[
4022
],
_mm_xor_si128
(
c2
[
2563
],
_mm_xor_si128
(
c2
[
2863
],
_mm_xor_si128
(
c2
[
3753
],
_mm_xor_si128
(
c2
[
1393
],
_mm_xor_si128
(
c2
[
1693
],
_mm_xor_si128
(
c2
[
4082
],
_mm_xor_si128
(
c2
[
4382
],
_mm_xor_si128
(
c2
[
4086
],
_mm_xor_si128
(
c2
[
1423
],
_mm_xor_si128
(
c2
[
1723
],
_mm_xor_si128
(
c2
[
1719
],
_mm_xor_si128
(
c2
[
4112
],
_mm_xor_si128
(
c2
[
2052
],
_mm_xor_si128
(
c2
[
2352
],
_mm_xor_si128
(
c2
[
2946
],
_mm_xor_si128
(
c2
[
2954
],
_mm_xor_si128
(
c2
[
4173
],
_mm_xor_si128
(
c2
[
4473
],
_mm_xor_si128
(
c2
[
1477
],
_mm_xor_si128
(
c2
[
1777
],
c2
[
2971
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
600
]
=
_mm_xor_si128
(
c2
[
1213
],
_mm_xor_si128
(
c2
[
1805
],
_mm_xor_si128
(
c2
[
313
],
_mm_xor_si128
(
c2
[
905
],
_mm_xor_si128
(
c2
[
3908
],
_mm_xor_si128
(
c2
[
4500
],
_mm_xor_si128
(
c2
[
1842
],
_mm_xor_si128
(
c2
[
2434
],
_mm_xor_si128
(
c2
[
636
],
_mm_xor_si128
(
c2
[
1243
],
_mm_xor_si128
(
c2
[
634
],
_mm_xor_si128
(
c2
[
941
],
_mm_xor_si128
(
c2
[
1241
],
_mm_xor_si128
(
c2
[
3068
],
_mm_xor_si128
(
c2
[
3660
],
_mm_xor_si128
(
c2
[
4274
],
_mm_xor_si128
(
c2
[
4566
],
_mm_xor_si128
(
c2
[
67
],
_mm_xor_si128
(
c2
[
4264
],
_mm_xor_si128
(
c2
[
2495
],
_mm_xor_si128
(
c2
[
3102
],
_mm_xor_si128
(
c2
[
390
],
_mm_xor_si128
(
c2
[
997
],
_mm_xor_si128
(
c2
[
1894
],
_mm_xor_si128
(
c2
[
2501
],
_mm_xor_si128
(
c2
[
3120
],
_mm_xor_si128
(
c2
[
3727
],
_mm_xor_si128
(
c2
[
2527
],
_mm_xor_si128
(
c2
[
3134
],
_mm_xor_si128
(
c2
[
730
],
_mm_xor_si128
(
c2
[
1022
],
_mm_xor_si128
(
c2
[
1322
],
_mm_xor_si128
(
c2
[
4355
],
_mm_xor_si128
(
c2
[
163
],
_mm_xor_si128
(
c2
[
461
],
_mm_xor_si128
(
c2
[
753
],
_mm_xor_si128
(
c2
[
1053
],
_mm_xor_si128
(
c2
[
3185
],
_mm_xor_si128
(
c2
[
3792
],
_mm_xor_si128
(
c2
[
1090
],
_mm_xor_si128
(
c2
[
1682
],
_mm_xor_si128
(
c2
[
794
],
_mm_xor_si128
(
c2
[
1086
],
_mm_xor_si128
(
c2
[
1386
],
_mm_xor_si128
(
c2
[
3215
],
_mm_xor_si128
(
c2
[
3822
],
_mm_xor_si128
(
c2
[
3211
],
_mm_xor_si128
(
c2
[
3518
],
_mm_xor_si128
(
c2
[
3818
],
_mm_xor_si128
(
c2
[
3844
],
_mm_xor_si128
(
c2
[
4451
],
_mm_xor_si128
(
c2
[
4453
],
_mm_xor_si128
(
c2
[
246
],
_mm_xor_si128
(
c2
[
4446
],
_mm_xor_si128
(
c2
[
4753
],
_mm_xor_si128
(
c2
[
254
],
_mm_xor_si128
(
c2
[
1181
],
_mm_xor_si128
(
c2
[
1773
],
_mm_xor_si128
(
c2
[
3284
],
_mm_xor_si128
(
c2
[
3876
],
_mm_xor_si128
(
c2
[
4478
],
_mm_xor_si128
(
c2
[
4770
],
c2
[
271
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
615
]
=
_mm_xor_si128
(
c2
[
2108
],
_mm_xor_si128
(
c2
[
2408
],
_mm_xor_si128
(
c2
[
1508
],
_mm_xor_si128
(
c2
[
304
],
_mm_xor_si128
(
c2
[
2737
],
_mm_xor_si128
(
c2
[
3037
],
_mm_xor_si128
(
c2
[
1831
],
_mm_xor_si128
(
c2
[
1844
],
_mm_xor_si128
(
c2
[
1533
],
_mm_xor_si128
(
c2
[
3963
],
_mm_xor_si128
(
c2
[
4263
],
_mm_xor_si128
(
c2
[
670
],
_mm_xor_si128
(
c2
[
3390
],
_mm_xor_si128
(
c2
[
3690
],
_mm_xor_si128
(
c2
[
1600
],
_mm_xor_si128
(
c2
[
3104
],
_mm_xor_si128
(
c2
[
4330
],
_mm_xor_si128
(
c2
[
3722
],
_mm_xor_si128
(
c2
[
1925
],
_mm_xor_si128
(
c2
[
751
],
_mm_xor_si128
(
c2
[
1656
],
_mm_xor_si128
(
c2
[
2263
],
_mm_xor_si128
(
c2
[
4080
],
_mm_xor_si128
(
c2
[
4380
],
_mm_xor_si128
(
c2
[
2285
],
_mm_xor_si128
(
c2
[
1989
],
_mm_xor_si128
(
c2
[
4410
],
_mm_xor_si128
(
c2
[
4421
],
_mm_xor_si128
(
c2
[
240
],
_mm_xor_si128
(
c2
[
849
],
_mm_xor_si128
(
c2
[
842
],
_mm_xor_si128
(
c2
[
2076
],
_mm_xor_si128
(
c2
[
2376
],
_mm_xor_si128
(
c2
[
4479
],
c2
[
874
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc256_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=256, byte encoding
static
inline
void
ldpc_BG2_Zc256_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m256i
*
csimd
=
(
__m256i
*
)
c
,
*
dsimd
=
(
__m256i
*
)
d
;
__m256i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
8
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm256_xor_si256
(
c2
[
1280
],
_mm256_xor_si256
(
c2
[
965
],
_mm256_xor_si256
(
c2
[
2562
],
_mm256_xor_si256
(
c2
[
3219
],
_mm256_xor_si256
(
c2
[
2739
],
_mm256_xor_si256
(
c2
[
1136
],
_mm256_xor_si256
(
c2
[
1798
],
_mm256_xor_si256
(
c2
[
4033
],
_mm256_xor_si256
(
c2
[
4048
],
_mm256_xor_si256
(
c2
[
853
],
_mm256_xor_si256
(
c2
[
1809
],
_mm256_xor_si256
(
c2
[
4551
],
_mm256_xor_si256
(
c2
[
3105
],
_mm256_xor_si256
(
c2
[
4708
],
_mm256_xor_si256
(
c2
[
4563
],
_mm256_xor_si256
(
c2
[
1203
],
_mm256_xor_si256
(
c2
[
4581
],
_mm256_xor_si256
(
c2
[
263
],
_mm256_xor_si256
(
c2
[
2662
],
_mm256_xor_si256
(
c2
[
4436
],
_mm256_xor_si256
(
c2
[
3473
],
_mm256_xor_si256
(
c2
[
5094
],
_mm256_xor_si256
(
c2
[
2535
],
_mm256_xor_si256
(
c2
[
2848
],
_mm256_xor_si256
(
c2
[
2070
],
_mm256_xor_si256
(
c2
[
4471
],
c2
[
5107
]))))))))))))))))))))))))));
//row: 1
d2
[
8
]
=
_mm256_xor_si256
(
c2
[
1440
],
_mm256_xor_si256
(
c2
[
1280
],
_mm256_xor_si256
(
c2
[
965
],
_mm256_xor_si256
(
c2
[
2562
],
_mm256_xor_si256
(
c2
[
3379
],
_mm256_xor_si256
(
c2
[
3219
],
_mm256_xor_si256
(
c2
[
2739
],
_mm256_xor_si256
(
c2
[
1136
],
_mm256_xor_si256
(
c2
[
1958
],
_mm256_xor_si256
(
c2
[
1798
],
_mm256_xor_si256
(
c2
[
4033
],
_mm256_xor_si256
(
c2
[
4208
],
_mm256_xor_si256
(
c2
[
4048
],
_mm256_xor_si256
(
c2
[
853
],
_mm256_xor_si256
(
c2
[
1809
],
_mm256_xor_si256
(
c2
[
4551
],
_mm256_xor_si256
(
c2
[
3105
],
_mm256_xor_si256
(
c2
[
4708
],
_mm256_xor_si256
(
c2
[
4563
],
_mm256_xor_si256
(
c2
[
1203
],
_mm256_xor_si256
(
c2
[
4741
],
_mm256_xor_si256
(
c2
[
4581
],
_mm256_xor_si256
(
c2
[
263
],
_mm256_xor_si256
(
c2
[
2662
],
_mm256_xor_si256
(
c2
[
4436
],
_mm256_xor_si256
(
c2
[
3473
],
_mm256_xor_si256
(
c2
[
5094
],
_mm256_xor_si256
(
c2
[
2535
],
_mm256_xor_si256
(
c2
[
2848
],
_mm256_xor_si256
(
c2
[
2230
],
_mm256_xor_si256
(
c2
[
2070
],
_mm256_xor_si256
(
c2
[
4471
],
c2
[
5107
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
16
]
=
_mm256_xor_si256
(
c2
[
1440
],
_mm256_xor_si256
(
c2
[
1280
],
_mm256_xor_si256
(
c2
[
1125
],
_mm256_xor_si256
(
c2
[
965
],
_mm256_xor_si256
(
c2
[
2562
],
_mm256_xor_si256
(
c2
[
3379
],
_mm256_xor_si256
(
c2
[
3219
],
_mm256_xor_si256
(
c2
[
2739
],
_mm256_xor_si256
(
c2
[
1136
],
_mm256_xor_si256
(
c2
[
1958
],
_mm256_xor_si256
(
c2
[
1798
],
_mm256_xor_si256
(
c2
[
4033
],
_mm256_xor_si256
(
c2
[
4208
],
_mm256_xor_si256
(
c2
[
4048
],
_mm256_xor_si256
(
c2
[
1013
],
_mm256_xor_si256
(
c2
[
853
],
_mm256_xor_si256
(
c2
[
1809
],
_mm256_xor_si256
(
c2
[
4711
],
_mm256_xor_si256
(
c2
[
4551
],
_mm256_xor_si256
(
c2
[
3105
],
_mm256_xor_si256
(
c2
[
4708
],
_mm256_xor_si256
(
c2
[
4723
],
_mm256_xor_si256
(
c2
[
4563
],
_mm256_xor_si256
(
c2
[
1203
],
_mm256_xor_si256
(
c2
[
4741
],
_mm256_xor_si256
(
c2
[
4581
],
_mm256_xor_si256
(
c2
[
423
],
_mm256_xor_si256
(
c2
[
263
],
_mm256_xor_si256
(
c2
[
2662
],
_mm256_xor_si256
(
c2
[
4596
],
_mm256_xor_si256
(
c2
[
4436
],
_mm256_xor_si256
(
c2
[
3473
],
_mm256_xor_si256
(
c2
[
135
],
_mm256_xor_si256
(
c2
[
5094
],
_mm256_xor_si256
(
c2
[
2535
],
_mm256_xor_si256
(
c2
[
2848
],
_mm256_xor_si256
(
c2
[
2230
],
_mm256_xor_si256
(
c2
[
2070
],
_mm256_xor_si256
(
c2
[
4631
],
_mm256_xor_si256
(
c2
[
4471
],
c2
[
5107
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
24
]
=
_mm256_xor_si256
(
c2
[
1280
],
_mm256_xor_si256
(
c2
[
965
],
_mm256_xor_si256
(
c2
[
2562
],
_mm256_xor_si256
(
c2
[
3219
],
_mm256_xor_si256
(
c2
[
2739
],
_mm256_xor_si256
(
c2
[
1296
],
_mm256_xor_si256
(
c2
[
1136
],
_mm256_xor_si256
(
c2
[
1798
],
_mm256_xor_si256
(
c2
[
4193
],
_mm256_xor_si256
(
c2
[
4033
],
_mm256_xor_si256
(
c2
[
4048
],
_mm256_xor_si256
(
c2
[
853
],
_mm256_xor_si256
(
c2
[
1809
],
_mm256_xor_si256
(
c2
[
4551
],
_mm256_xor_si256
(
c2
[
3105
],
_mm256_xor_si256
(
c2
[
4868
],
_mm256_xor_si256
(
c2
[
4708
],
_mm256_xor_si256
(
c2
[
4563
],
_mm256_xor_si256
(
c2
[
1363
],
_mm256_xor_si256
(
c2
[
1203
],
_mm256_xor_si256
(
c2
[
4581
],
_mm256_xor_si256
(
c2
[
263
],
_mm256_xor_si256
(
c2
[
2822
],
_mm256_xor_si256
(
c2
[
2662
],
_mm256_xor_si256
(
c2
[
4436
],
_mm256_xor_si256
(
c2
[
3633
],
_mm256_xor_si256
(
c2
[
3473
],
_mm256_xor_si256
(
c2
[
5094
],
_mm256_xor_si256
(
c2
[
2535
],
_mm256_xor_si256
(
c2
[
3008
],
_mm256_xor_si256
(
c2
[
2848
],
_mm256_xor_si256
(
c2
[
2070
],
_mm256_xor_si256
(
c2
[
4471
],
_mm256_xor_si256
(
c2
[
148
],
c2
[
5107
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
32
]
=
_mm256_xor_si256
(
c2
[
2562
],
_mm256_xor_si256
(
c2
[
2402
],
_mm256_xor_si256
(
c2
[
2087
],
_mm256_xor_si256
(
c2
[
3684
],
_mm256_xor_si256
(
c2
[
3045
],
_mm256_xor_si256
(
c2
[
4501
],
_mm256_xor_si256
(
c2
[
4341
],
_mm256_xor_si256
(
c2
[
3861
],
_mm256_xor_si256
(
c2
[
2258
],
_mm256_xor_si256
(
c2
[
3542
],
_mm256_xor_si256
(
c2
[
3072
],
_mm256_xor_si256
(
c2
[
2912
],
_mm256_xor_si256
(
c2
[
36
],
_mm256_xor_si256
(
c2
[
211
],
_mm256_xor_si256
(
c2
[
51
],
_mm256_xor_si256
(
c2
[
1975
],
_mm256_xor_si256
(
c2
[
2931
],
_mm256_xor_si256
(
c2
[
546
],
_mm256_xor_si256
(
c2
[
4227
],
_mm256_xor_si256
(
c2
[
711
],
_mm256_xor_si256
(
c2
[
566
],
_mm256_xor_si256
(
c2
[
2325
],
_mm256_xor_si256
(
c2
[
736
],
_mm256_xor_si256
(
c2
[
576
],
_mm256_xor_si256
(
c2
[
1377
],
_mm256_xor_si256
(
c2
[
3776
],
_mm256_xor_si256
(
c2
[
439
],
_mm256_xor_si256
(
c2
[
4595
],
_mm256_xor_si256
(
c2
[
1089
],
_mm256_xor_si256
(
c2
[
3649
],
_mm256_xor_si256
(
c2
[
3970
],
_mm256_xor_si256
(
c2
[
3344
],
_mm256_xor_si256
(
c2
[
3184
],
_mm256_xor_si256
(
c2
[
466
],
c2
[
1110
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
40
]
=
_mm256_xor_si256
(
c2
[
2563
],
_mm256_xor_si256
(
c2
[
2403
],
_mm256_xor_si256
(
c2
[
2080
],
_mm256_xor_si256
(
c2
[
3685
],
_mm256_xor_si256
(
c2
[
1127
],
_mm256_xor_si256
(
c2
[
4502
],
_mm256_xor_si256
(
c2
[
4342
],
_mm256_xor_si256
(
c2
[
3862
],
_mm256_xor_si256
(
c2
[
2259
],
_mm256_xor_si256
(
c2
[
1457
],
_mm256_xor_si256
(
c2
[
3073
],
_mm256_xor_si256
(
c2
[
2913
],
_mm256_xor_si256
(
c2
[
37
],
_mm256_xor_si256
(
c2
[
212
],
_mm256_xor_si256
(
c2
[
52
],
_mm256_xor_si256
(
c2
[
1968
],
_mm256_xor_si256
(
c2
[
2932
],
_mm256_xor_si256
(
c2
[
547
],
_mm256_xor_si256
(
c2
[
4228
],
_mm256_xor_si256
(
c2
[
704
],
_mm256_xor_si256
(
c2
[
567
],
_mm256_xor_si256
(
c2
[
2326
],
_mm256_xor_si256
(
c2
[
406
],
_mm256_xor_si256
(
c2
[
737
],
_mm256_xor_si256
(
c2
[
577
],
_mm256_xor_si256
(
c2
[
1378
],
_mm256_xor_si256
(
c2
[
3777
],
_mm256_xor_si256
(
c2
[
432
],
_mm256_xor_si256
(
c2
[
4596
],
_mm256_xor_si256
(
c2
[
5076
],
_mm256_xor_si256
(
c2
[
1090
],
_mm256_xor_si256
(
c2
[
3650
],
_mm256_xor_si256
(
c2
[
3971
],
_mm256_xor_si256
(
c2
[
3345
],
_mm256_xor_si256
(
c2
[
3185
],
_mm256_xor_si256
(
c2
[
467
],
c2
[
1111
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
48
]
=
_mm256_xor_si256
(
c2
[
1125
],
_mm256_xor_si256
(
c2
[
965
],
_mm256_xor_si256
(
c2
[
642
],
_mm256_xor_si256
(
c2
[
2247
],
_mm256_xor_si256
(
c2
[
4324
],
_mm256_xor_si256
(
c2
[
3056
],
_mm256_xor_si256
(
c2
[
2896
],
_mm256_xor_si256
(
c2
[
2416
],
_mm256_xor_si256
(
c2
[
821
],
_mm256_xor_si256
(
c2
[
1635
],
_mm256_xor_si256
(
c2
[
1475
],
_mm256_xor_si256
(
c2
[
3718
],
_mm256_xor_si256
(
c2
[
3893
],
_mm256_xor_si256
(
c2
[
3733
],
_mm256_xor_si256
(
c2
[
530
],
_mm256_xor_si256
(
c2
[
1494
],
_mm256_xor_si256
(
c2
[
4228
],
_mm256_xor_si256
(
c2
[
2790
],
_mm256_xor_si256
(
c2
[
4385
],
_mm256_xor_si256
(
c2
[
4240
],
_mm256_xor_si256
(
c2
[
880
],
_mm256_xor_si256
(
c2
[
727
],
_mm256_xor_si256
(
c2
[
4418
],
_mm256_xor_si256
(
c2
[
4258
],
_mm256_xor_si256
(
c2
[
5059
],
_mm256_xor_si256
(
c2
[
2339
],
_mm256_xor_si256
(
c2
[
4113
],
_mm256_xor_si256
(
c2
[
3158
],
_mm256_xor_si256
(
c2
[
2193
],
_mm256_xor_si256
(
c2
[
4771
],
_mm256_xor_si256
(
c2
[
2212
],
_mm256_xor_si256
(
c2
[
2533
],
_mm256_xor_si256
(
c2
[
1907
],
_mm256_xor_si256
(
c2
[
1747
],
_mm256_xor_si256
(
c2
[
4148
],
_mm256_xor_si256
(
c2
[
4784
],
c2
[
4624
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
56
]
=
_mm256_xor_si256
(
c2
[
1920
],
_mm256_xor_si256
(
c2
[
1760
],
_mm256_xor_si256
(
c2
[
4483
],
_mm256_xor_si256
(
c2
[
1445
],
_mm256_xor_si256
(
c2
[
4160
],
_mm256_xor_si256
(
c2
[
3042
],
_mm256_xor_si256
(
c2
[
646
],
_mm256_xor_si256
(
c2
[
3859
],
_mm256_xor_si256
(
c2
[
3699
],
_mm256_xor_si256
(
c2
[
1303
],
_mm256_xor_si256
(
c2
[
3219
],
_mm256_xor_si256
(
c2
[
823
],
_mm256_xor_si256
(
c2
[
4499
],
_mm256_xor_si256
(
c2
[
1616
],
_mm256_xor_si256
(
c2
[
4339
],
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
2438
],
_mm256_xor_si256
(
c2
[
2278
],
_mm256_xor_si256
(
c2
[
4993
],
_mm256_xor_si256
(
c2
[
2277
],
_mm256_xor_si256
(
c2
[
4513
],
_mm256_xor_si256
(
c2
[
2117
],
_mm256_xor_si256
(
c2
[
4688
],
_mm256_xor_si256
(
c2
[
4528
],
_mm256_xor_si256
(
c2
[
2132
],
_mm256_xor_si256
(
c2
[
1333
],
_mm256_xor_si256
(
c2
[
4048
],
_mm256_xor_si256
(
c2
[
2289
],
_mm256_xor_si256
(
c2
[
5012
],
_mm256_xor_si256
(
c2
[
5031
],
_mm256_xor_si256
(
c2
[
2627
],
_mm256_xor_si256
(
c2
[
3585
],
_mm256_xor_si256
(
c2
[
1189
],
_mm256_xor_si256
(
c2
[
2944
],
_mm256_xor_si256
(
c2
[
69
],
_mm256_xor_si256
(
c2
[
2784
],
_mm256_xor_si256
(
c2
[
5043
],
_mm256_xor_si256
(
c2
[
2647
],
_mm256_xor_si256
(
c2
[
4566
],
_mm256_xor_si256
(
c2
[
1683
],
_mm256_xor_si256
(
c2
[
4406
],
_mm256_xor_si256
(
c2
[
3124
],
_mm256_xor_si256
(
c2
[
102
],
_mm256_xor_si256
(
c2
[
5061
],
_mm256_xor_si256
(
c2
[
2657
],
_mm256_xor_si256
(
c2
[
743
],
_mm256_xor_si256
(
c2
[
3458
],
_mm256_xor_si256
(
c2
[
898
],
_mm256_xor_si256
(
c2
[
3142
],
_mm256_xor_si256
(
c2
[
738
],
_mm256_xor_si256
(
c2
[
4916
],
_mm256_xor_si256
(
c2
[
2512
],
_mm256_xor_si256
(
c2
[
1717
],
_mm256_xor_si256
(
c2
[
3953
],
_mm256_xor_si256
(
c2
[
1557
],
_mm256_xor_si256
(
c2
[
2036
],
_mm256_xor_si256
(
c2
[
455
],
_mm256_xor_si256
(
c2
[
3170
],
_mm256_xor_si256
(
c2
[
3015
],
_mm256_xor_si256
(
c2
[
611
],
_mm256_xor_si256
(
c2
[
1092
],
_mm256_xor_si256
(
c2
[
3328
],
_mm256_xor_si256
(
c2
[
932
],
_mm256_xor_si256
(
c2
[
2710
],
_mm256_xor_si256
(
c2
[
2550
],
_mm256_xor_si256
(
c2
[
146
],
_mm256_xor_si256
(
c2
[
4951
],
_mm256_xor_si256
(
c2
[
2547
],
_mm256_xor_si256
(
c2
[
3351
],
_mm256_xor_si256
(
c2
[
468
],
c2
[
3191
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
64
]
=
_mm256_xor_si256
(
c2
[
2407
],
_mm256_xor_si256
(
c2
[
2247
],
_mm256_xor_si256
(
c2
[
2084
],
_mm256_xor_si256
(
c2
[
1924
],
_mm256_xor_si256
(
c2
[
3521
],
_mm256_xor_si256
(
c2
[
2244
],
_mm256_xor_si256
(
c2
[
4338
],
_mm256_xor_si256
(
c2
[
4178
],
_mm256_xor_si256
(
c2
[
3698
],
_mm256_xor_si256
(
c2
[
2103
],
_mm256_xor_si256
(
c2
[
4818
],
_mm256_xor_si256
(
c2
[
2917
],
_mm256_xor_si256
(
c2
[
2757
],
_mm256_xor_si256
(
c2
[
4992
],
_mm256_xor_si256
(
c2
[
48
],
_mm256_xor_si256
(
c2
[
5015
],
_mm256_xor_si256
(
c2
[
1972
],
_mm256_xor_si256
(
c2
[
1812
],
_mm256_xor_si256
(
c2
[
2768
],
_mm256_xor_si256
(
c2
[
551
],
_mm256_xor_si256
(
c2
[
391
],
_mm256_xor_si256
(
c2
[
4064
],
_mm256_xor_si256
(
c2
[
548
],
_mm256_xor_si256
(
c2
[
563
],
_mm256_xor_si256
(
c2
[
403
],
_mm256_xor_si256
(
c2
[
2162
],
_mm256_xor_si256
(
c2
[
581
],
_mm256_xor_si256
(
c2
[
421
],
_mm256_xor_si256
(
c2
[
1382
],
_mm256_xor_si256
(
c2
[
1222
],
_mm256_xor_si256
(
c2
[
3621
],
_mm256_xor_si256
(
c2
[
436
],
_mm256_xor_si256
(
c2
[
276
],
_mm256_xor_si256
(
c2
[
4432
],
_mm256_xor_si256
(
c2
[
1094
],
_mm256_xor_si256
(
c2
[
934
],
_mm256_xor_si256
(
c2
[
3494
],
_mm256_xor_si256
(
c2
[
3815
],
_mm256_xor_si256
(
c2
[
3189
],
_mm256_xor_si256
(
c2
[
3029
],
_mm256_xor_si256
(
c2
[
471
],
_mm256_xor_si256
(
c2
[
311
],
c2
[
947
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
72
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
802
],
_mm256_xor_si256
(
c2
[
4967
],
_mm256_xor_si256
(
c2
[
487
],
_mm256_xor_si256
(
c2
[
4644
],
_mm256_xor_si256
(
c2
[
2084
],
_mm256_xor_si256
(
c2
[
1122
],
_mm256_xor_si256
(
c2
[
1939
],
_mm256_xor_si256
(
c2
[
2741
],
_mm256_xor_si256
(
c2
[
1779
],
_mm256_xor_si256
(
c2
[
2261
],
_mm256_xor_si256
(
c2
[
1299
],
_mm256_xor_si256
(
c2
[
658
],
_mm256_xor_si256
(
c2
[
4823
],
_mm256_xor_si256
(
c2
[
1782
],
_mm256_xor_si256
(
c2
[
518
],
_mm256_xor_si256
(
c2
[
1312
],
_mm256_xor_si256
(
c2
[
358
],
_mm256_xor_si256
(
c2
[
3555
],
_mm256_xor_si256
(
c2
[
2593
],
_mm256_xor_si256
(
c2
[
2768
],
_mm256_xor_si256
(
c2
[
3570
],
_mm256_xor_si256
(
c2
[
2608
],
_mm256_xor_si256
(
c2
[
375
],
_mm256_xor_si256
(
c2
[
4532
],
_mm256_xor_si256
(
c2
[
1331
],
_mm256_xor_si256
(
c2
[
369
],
_mm256_xor_si256
(
c2
[
4065
],
_mm256_xor_si256
(
c2
[
3111
],
_mm256_xor_si256
(
c2
[
2627
],
_mm256_xor_si256
(
c2
[
1665
],
_mm256_xor_si256
(
c2
[
4230
],
_mm256_xor_si256
(
c2
[
3268
],
_mm256_xor_si256
(
c2
[
4085
],
_mm256_xor_si256
(
c2
[
3123
],
_mm256_xor_si256
(
c2
[
725
],
_mm256_xor_si256
(
c2
[
4882
],
_mm256_xor_si256
(
c2
[
3301
],
_mm256_xor_si256
(
c2
[
4103
],
_mm256_xor_si256
(
c2
[
3141
],
_mm256_xor_si256
(
c2
[
4896
],
_mm256_xor_si256
(
c2
[
3942
],
_mm256_xor_si256
(
c2
[
2176
],
_mm256_xor_si256
(
c2
[
1222
],
_mm256_xor_si256
(
c2
[
3958
],
_mm256_xor_si256
(
c2
[
2996
],
_mm256_xor_si256
(
c2
[
2995
],
_mm256_xor_si256
(
c2
[
2033
],
_mm256_xor_si256
(
c2
[
4608
],
_mm256_xor_si256
(
c2
[
3654
],
_mm256_xor_si256
(
c2
[
2049
],
_mm256_xor_si256
(
c2
[
1095
],
_mm256_xor_si256
(
c2
[
2370
],
_mm256_xor_si256
(
c2
[
1408
],
_mm256_xor_si256
(
c2
[
2214
],
_mm256_xor_si256
(
c2
[
790
],
_mm256_xor_si256
(
c2
[
1584
],
_mm256_xor_si256
(
c2
[
630
],
_mm256_xor_si256
(
c2
[
3985
],
_mm256_xor_si256
(
c2
[
3031
],
_mm256_xor_si256
(
c2
[
4629
],
c2
[
3667
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
80
]
=
_mm256_xor_si256
(
c2
[
1760
],
_mm256_xor_si256
(
c2
[
4021
],
_mm256_xor_si256
(
c2
[
96
],
c2
[
3475
])));
//row: 11
d2
[
88
]
=
_mm256_xor_si256
(
c2
[
2
],
_mm256_xor_si256
(
c2
[
4806
],
_mm256_xor_si256
(
c2
[
1284
],
_mm256_xor_si256
(
c2
[
1760
],
_mm256_xor_si256
(
c2
[
1941
],
_mm256_xor_si256
(
c2
[
1461
],
_mm256_xor_si256
(
c2
[
18
],
_mm256_xor_si256
(
c2
[
4977
],
_mm256_xor_si256
(
c2
[
512
],
_mm256_xor_si256
(
c2
[
2915
],
_mm256_xor_si256
(
c2
[
2755
],
_mm256_xor_si256
(
c2
[
2770
],
_mm256_xor_si256
(
c2
[
4694
],
_mm256_xor_si256
(
c2
[
531
],
_mm256_xor_si256
(
c2
[
3265
],
_mm256_xor_si256
(
c2
[
1827
],
_mm256_xor_si256
(
c2
[
3590
],
_mm256_xor_si256
(
c2
[
3430
],
_mm256_xor_si256
(
c2
[
3285
],
_mm256_xor_si256
(
c2
[
85
],
_mm256_xor_si256
(
c2
[
5044
],
_mm256_xor_si256
(
c2
[
3303
],
_mm256_xor_si256
(
c2
[
4096
],
_mm256_xor_si256
(
c2
[
1536
],
_mm256_xor_si256
(
c2
[
1376
],
_mm256_xor_si256
(
c2
[
3158
],
_mm256_xor_si256
(
c2
[
2355
],
_mm256_xor_si256
(
c2
[
2195
],
_mm256_xor_si256
(
c2
[
2039
],
_mm256_xor_si256
(
c2
[
3808
],
_mm256_xor_si256
(
c2
[
1249
],
_mm256_xor_si256
(
c2
[
1730
],
_mm256_xor_si256
(
c2
[
1570
],
_mm256_xor_si256
(
c2
[
784
],
_mm256_xor_si256
(
c2
[
3185
],
_mm256_xor_si256
(
c2
[
3989
],
_mm256_xor_si256
(
c2
[
3829
],
c2
[
3030
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
96
]
=
_mm256_xor_si256
(
c2
[
3680
],
_mm256_xor_si256
(
c2
[
3520
],
_mm256_xor_si256
(
c2
[
3205
],
_mm256_xor_si256
(
c2
[
4802
],
_mm256_xor_si256
(
c2
[
500
],
_mm256_xor_si256
(
c2
[
340
],
_mm256_xor_si256
(
c2
[
4979
],
_mm256_xor_si256
(
c2
[
3376
],
_mm256_xor_si256
(
c2
[
4977
],
_mm256_xor_si256
(
c2
[
4198
],
_mm256_xor_si256
(
c2
[
4038
],
_mm256_xor_si256
(
c2
[
1154
],
_mm256_xor_si256
(
c2
[
1329
],
_mm256_xor_si256
(
c2
[
1169
],
_mm256_xor_si256
(
c2
[
3093
],
_mm256_xor_si256
(
c2
[
4049
],
_mm256_xor_si256
(
c2
[
2451
],
_mm256_xor_si256
(
c2
[
1664
],
_mm256_xor_si256
(
c2
[
226
],
_mm256_xor_si256
(
c2
[
1829
],
_mm256_xor_si256
(
c2
[
1684
],
_mm256_xor_si256
(
c2
[
3443
],
_mm256_xor_si256
(
c2
[
1862
],
_mm256_xor_si256
(
c2
[
1702
],
_mm256_xor_si256
(
c2
[
2503
],
_mm256_xor_si256
(
c2
[
4902
],
_mm256_xor_si256
(
c2
[
1557
],
_mm256_xor_si256
(
c2
[
594
],
_mm256_xor_si256
(
c2
[
2215
],
_mm256_xor_si256
(
c2
[
4775
],
_mm256_xor_si256
(
c2
[
5088
],
_mm256_xor_si256
(
c2
[
4470
],
_mm256_xor_si256
(
c2
[
4310
],
_mm256_xor_si256
(
c2
[
1584
],
c2
[
2228
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
104
]
=
_mm256_xor_si256
(
c2
[
967
],
_mm256_xor_si256
(
c2
[
644
],
_mm256_xor_si256
(
c2
[
2241
],
_mm256_xor_si256
(
c2
[
3042
],
_mm256_xor_si256
(
c2
[
2898
],
_mm256_xor_si256
(
c2
[
2418
],
_mm256_xor_si256
(
c2
[
983
],
_mm256_xor_si256
(
c2
[
823
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
1477
],
_mm256_xor_si256
(
c2
[
3872
],
_mm256_xor_si256
(
c2
[
3712
],
_mm256_xor_si256
(
c2
[
3735
],
_mm256_xor_si256
(
c2
[
532
],
_mm256_xor_si256
(
c2
[
1488
],
_mm256_xor_si256
(
c2
[
4230
],
_mm256_xor_si256
(
c2
[
2784
],
_mm256_xor_si256
(
c2
[
4547
],
_mm256_xor_si256
(
c2
[
4387
],
_mm256_xor_si256
(
c2
[
4242
],
_mm256_xor_si256
(
c2
[
1042
],
_mm256_xor_si256
(
c2
[
882
],
_mm256_xor_si256
(
c2
[
4260
],
_mm256_xor_si256
(
c2
[
5061
],
_mm256_xor_si256
(
c2
[
2501
],
_mm256_xor_si256
(
c2
[
2341
],
_mm256_xor_si256
(
c2
[
4115
],
_mm256_xor_si256
(
c2
[
3312
],
_mm256_xor_si256
(
c2
[
3152
],
_mm256_xor_si256
(
c2
[
4773
],
_mm256_xor_si256
(
c2
[
2214
],
_mm256_xor_si256
(
c2
[
2695
],
_mm256_xor_si256
(
c2
[
2535
],
_mm256_xor_si256
(
c2
[
1089
],
_mm256_xor_si256
(
c2
[
1749
],
_mm256_xor_si256
(
c2
[
4150
],
_mm256_xor_si256
(
c2
[
4946
],
c2
[
4786
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
112
]
=
_mm256_xor_si256
(
c2
[
1920
],
_mm256_xor_si256
(
c2
[
1760
],
_mm256_xor_si256
(
c2
[
2567
],
_mm256_xor_si256
(
c2
[
1445
],
_mm256_xor_si256
(
c2
[
2244
],
_mm256_xor_si256
(
c2
[
3042
],
_mm256_xor_si256
(
c2
[
3841
],
_mm256_xor_si256
(
c2
[
3859
],
_mm256_xor_si256
(
c2
[
3699
],
_mm256_xor_si256
(
c2
[
4498
],
_mm256_xor_si256
(
c2
[
3219
],
_mm256_xor_si256
(
c2
[
4018
],
_mm256_xor_si256
(
c2
[
2583
],
_mm256_xor_si256
(
c2
[
1616
],
_mm256_xor_si256
(
c2
[
2423
],
_mm256_xor_si256
(
c2
[
3059
],
_mm256_xor_si256
(
c2
[
2438
],
_mm256_xor_si256
(
c2
[
2278
],
_mm256_xor_si256
(
c2
[
3077
],
_mm256_xor_si256
(
c2
[
353
],
_mm256_xor_si256
(
c2
[
4513
],
_mm256_xor_si256
(
c2
[
193
],
_mm256_xor_si256
(
c2
[
4688
],
_mm256_xor_si256
(
c2
[
4528
],
_mm256_xor_si256
(
c2
[
208
],
_mm256_xor_si256
(
c2
[
1333
],
_mm256_xor_si256
(
c2
[
2132
],
_mm256_xor_si256
(
c2
[
2289
],
_mm256_xor_si256
(
c2
[
3088
],
_mm256_xor_si256
(
c2
[
5031
],
_mm256_xor_si256
(
c2
[
711
],
_mm256_xor_si256
(
c2
[
3585
],
_mm256_xor_si256
(
c2
[
4384
],
_mm256_xor_si256
(
c2
[
1028
],
_mm256_xor_si256
(
c2
[
69
],
_mm256_xor_si256
(
c2
[
868
],
_mm256_xor_si256
(
c2
[
5043
],
_mm256_xor_si256
(
c2
[
723
],
_mm256_xor_si256
(
c2
[
2642
],
_mm256_xor_si256
(
c2
[
1683
],
_mm256_xor_si256
(
c2
[
2482
],
_mm256_xor_si256
(
c2
[
102
],
_mm256_xor_si256
(
c2
[
5061
],
_mm256_xor_si256
(
c2
[
741
],
_mm256_xor_si256
(
c2
[
743
],
_mm256_xor_si256
(
c2
[
1542
],
_mm256_xor_si256
(
c2
[
4101
],
_mm256_xor_si256
(
c2
[
3142
],
_mm256_xor_si256
(
c2
[
3941
],
_mm256_xor_si256
(
c2
[
2820
],
_mm256_xor_si256
(
c2
[
4916
],
_mm256_xor_si256
(
c2
[
596
],
_mm256_xor_si256
(
c2
[
4912
],
_mm256_xor_si256
(
c2
[
3953
],
_mm256_xor_si256
(
c2
[
4752
],
_mm256_xor_si256
(
c2
[
455
],
_mm256_xor_si256
(
c2
[
1254
],
_mm256_xor_si256
(
c2
[
3015
],
_mm256_xor_si256
(
c2
[
3814
],
_mm256_xor_si256
(
c2
[
4295
],
_mm256_xor_si256
(
c2
[
3328
],
_mm256_xor_si256
(
c2
[
4135
],
_mm256_xor_si256
(
c2
[
2710
],
_mm256_xor_si256
(
c2
[
2550
],
_mm256_xor_si256
(
c2
[
3349
],
_mm256_xor_si256
(
c2
[
4951
],
_mm256_xor_si256
(
c2
[
631
],
_mm256_xor_si256
(
c2
[
1427
],
_mm256_xor_si256
(
c2
[
468
],
c2
[
1267
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
120
]
=
_mm256_xor_si256
(
c2
[
4806
],
_mm256_xor_si256
(
c2
[
3685
],
_mm256_xor_si256
(
c2
[
4646
],
_mm256_xor_si256
(
c2
[
3362
],
_mm256_xor_si256
(
c2
[
4323
],
_mm256_xor_si256
(
c2
[
4967
],
_mm256_xor_si256
(
c2
[
801
],
_mm256_xor_si256
(
c2
[
3041
],
_mm256_xor_si256
(
c2
[
1618
],
_mm256_xor_si256
(
c2
[
497
],
_mm256_xor_si256
(
c2
[
1458
],
_mm256_xor_si256
(
c2
[
17
],
_mm256_xor_si256
(
c2
[
978
],
_mm256_xor_si256
(
c2
[
3541
],
_mm256_xor_si256
(
c2
[
4502
],
_mm256_xor_si256
(
c2
[
197
],
_mm256_xor_si256
(
c2
[
4195
],
_mm256_xor_si256
(
c2
[
37
],
_mm256_xor_si256
(
c2
[
1319
],
_mm256_xor_si256
(
c2
[
2272
],
_mm256_xor_si256
(
c2
[
2455
],
_mm256_xor_si256
(
c2
[
1334
],
_mm256_xor_si256
(
c2
[
2295
],
_mm256_xor_si256
(
c2
[
3250
],
_mm256_xor_si256
(
c2
[
4211
],
_mm256_xor_si256
(
c2
[
4214
],
_mm256_xor_si256
(
c2
[
48
],
_mm256_xor_si256
(
c2
[
1829
],
_mm256_xor_si256
(
c2
[
2790
],
_mm256_xor_si256
(
c2
[
391
],
_mm256_xor_si256
(
c2
[
1344
],
_mm256_xor_si256
(
c2
[
1986
],
_mm256_xor_si256
(
c2
[
2947
],
_mm256_xor_si256
(
c2
[
1841
],
_mm256_xor_si256
(
c2
[
2802
],
_mm256_xor_si256
(
c2
[
3600
],
_mm256_xor_si256
(
c2
[
4561
],
_mm256_xor_si256
(
c2
[
2980
],
_mm256_xor_si256
(
c2
[
1859
],
_mm256_xor_si256
(
c2
[
2820
],
_mm256_xor_si256
(
c2
[
2660
],
_mm256_xor_si256
(
c2
[
3621
],
_mm256_xor_si256
(
c2
[
5059
],
_mm256_xor_si256
(
c2
[
901
],
_mm256_xor_si256
(
c2
[
1714
],
_mm256_xor_si256
(
c2
[
2675
],
_mm256_xor_si256
(
c2
[
759
],
_mm256_xor_si256
(
c2
[
1712
],
_mm256_xor_si256
(
c2
[
2372
],
_mm256_xor_si256
(
c2
[
3333
],
_mm256_xor_si256
(
c2
[
4932
],
_mm256_xor_si256
(
c2
[
774
],
_mm256_xor_si256
(
c2
[
134
],
_mm256_xor_si256
(
c2
[
1095
],
_mm256_xor_si256
(
c2
[
469
],
_mm256_xor_si256
(
c2
[
4467
],
_mm256_xor_si256
(
c2
[
309
],
_mm256_xor_si256
(
c2
[
1749
],
_mm256_xor_si256
(
c2
[
2710
],
_mm256_xor_si256
(
c2
[
2385
],
c2
[
3346
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
128
]
=
_mm256_xor_si256
(
c2
[
2720
],
_mm256_xor_si256
(
c2
[
4327
],
_mm256_xor_si256
(
c2
[
2560
],
_mm256_xor_si256
(
c2
[
4167
],
_mm256_xor_si256
(
c2
[
4004
],
_mm256_xor_si256
(
c2
[
2245
],
_mm256_xor_si256
(
c2
[
3844
],
_mm256_xor_si256
(
c2
[
3842
],
_mm256_xor_si256
(
c2
[
322
],
_mm256_xor_si256
(
c2
[
4659
],
_mm256_xor_si256
(
c2
[
1139
],
_mm256_xor_si256
(
c2
[
4499
],
_mm256_xor_si256
(
c2
[
979
],
_mm256_xor_si256
(
c2
[
4019
],
_mm256_xor_si256
(
c2
[
499
],
_mm256_xor_si256
(
c2
[
2416
],
_mm256_xor_si256
(
c2
[
4023
],
_mm256_xor_si256
(
c2
[
1782
],
_mm256_xor_si256
(
c2
[
3238
],
_mm256_xor_si256
(
c2
[
4837
],
_mm256_xor_si256
(
c2
[
3078
],
_mm256_xor_si256
(
c2
[
4677
],
_mm256_xor_si256
(
c2
[
194
],
_mm256_xor_si256
(
c2
[
1793
],
_mm256_xor_si256
(
c2
[
369
],
_mm256_xor_si256
(
c2
[
1968
],
_mm256_xor_si256
(
c2
[
209
],
_mm256_xor_si256
(
c2
[
1808
],
_mm256_xor_si256
(
c2
[
3892
],
_mm256_xor_si256
(
c2
[
2133
],
_mm256_xor_si256
(
c2
[
3732
],
_mm256_xor_si256
(
c2
[
3089
],
_mm256_xor_si256
(
c2
[
4688
],
_mm256_xor_si256
(
c2
[
2471
],
_mm256_xor_si256
(
c2
[
704
],
_mm256_xor_si256
(
c2
[
2311
],
_mm256_xor_si256
(
c2
[
4385
],
_mm256_xor_si256
(
c2
[
865
],
_mm256_xor_si256
(
c2
[
869
],
_mm256_xor_si256
(
c2
[
2468
],
_mm256_xor_si256
(
c2
[
2483
],
_mm256_xor_si256
(
c2
[
724
],
_mm256_xor_si256
(
c2
[
2323
],
_mm256_xor_si256
(
c2
[
2483
],
_mm256_xor_si256
(
c2
[
4082
],
_mm256_xor_si256
(
c2
[
902
],
_mm256_xor_si256
(
c2
[
2501
],
_mm256_xor_si256
(
c2
[
742
],
_mm256_xor_si256
(
c2
[
2341
],
_mm256_xor_si256
(
c2
[
3302
],
_mm256_xor_si256
(
c2
[
1543
],
_mm256_xor_si256
(
c2
[
3142
],
_mm256_xor_si256
(
c2
[
3942
],
_mm256_xor_si256
(
c2
[
422
],
_mm256_xor_si256
(
c2
[
2356
],
_mm256_xor_si256
(
c2
[
597
],
_mm256_xor_si256
(
c2
[
2196
],
_mm256_xor_si256
(
c2
[
4753
],
_mm256_xor_si256
(
c2
[
1233
],
_mm256_xor_si256
(
c2
[
3014
],
_mm256_xor_si256
(
c2
[
1255
],
_mm256_xor_si256
(
c2
[
2854
],
_mm256_xor_si256
(
c2
[
3815
],
_mm256_xor_si256
(
c2
[
295
],
_mm256_xor_si256
(
c2
[
4128
],
_mm256_xor_si256
(
c2
[
608
],
_mm256_xor_si256
(
c2
[
3510
],
_mm256_xor_si256
(
c2
[
5109
],
_mm256_xor_si256
(
c2
[
3350
],
_mm256_xor_si256
(
c2
[
4949
],
_mm256_xor_si256
(
c2
[
2391
],
_mm256_xor_si256
(
c2
[
624
],
_mm256_xor_si256
(
c2
[
2231
],
_mm256_xor_si256
(
c2
[
1268
],
_mm256_xor_si256
(
c2
[
2867
],
c2
[
2388
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
136
]
=
_mm256_xor_si256
(
c2
[
4323
],
_mm256_xor_si256
(
c2
[
1442
],
_mm256_xor_si256
(
c2
[
4163
],
_mm256_xor_si256
(
c2
[
1282
],
_mm256_xor_si256
(
c2
[
1127
],
_mm256_xor_si256
(
c2
[
3840
],
_mm256_xor_si256
(
c2
[
967
],
_mm256_xor_si256
(
c2
[
326
],
_mm256_xor_si256
(
c2
[
2564
],
_mm256_xor_si256
(
c2
[
1143
],
_mm256_xor_si256
(
c2
[
3381
],
_mm256_xor_si256
(
c2
[
983
],
_mm256_xor_si256
(
c2
[
3221
],
_mm256_xor_si256
(
c2
[
503
],
_mm256_xor_si256
(
c2
[
2741
],
_mm256_xor_si256
(
c2
[
4019
],
_mm256_xor_si256
(
c2
[
1138
],
_mm256_xor_si256
(
c2
[
4823
],
_mm256_xor_si256
(
c2
[
4833
],
_mm256_xor_si256
(
c2
[
1952
],
_mm256_xor_si256
(
c2
[
4673
],
_mm256_xor_si256
(
c2
[
1792
],
_mm256_xor_si256
(
c2
[
1797
],
_mm256_xor_si256
(
c2
[
4035
],
_mm256_xor_si256
(
c2
[
1972
],
_mm256_xor_si256
(
c2
[
4210
],
_mm256_xor_si256
(
c2
[
1812
],
_mm256_xor_si256
(
c2
[
4050
],
_mm256_xor_si256
(
c2
[
1015
],
_mm256_xor_si256
(
c2
[
3728
],
_mm256_xor_si256
(
c2
[
855
],
_mm256_xor_si256
(
c2
[
4692
],
_mm256_xor_si256
(
c2
[
1811
],
_mm256_xor_si256
(
c2
[
4705
],
_mm256_xor_si256
(
c2
[
2307
],
_mm256_xor_si256
(
c2
[
4545
],
_mm256_xor_si256
(
c2
[
869
],
_mm256_xor_si256
(
c2
[
3107
],
_mm256_xor_si256
(
c2
[
2464
],
_mm256_xor_si256
(
c2
[
4710
],
_mm256_xor_si256
(
c2
[
4725
],
_mm256_xor_si256
(
c2
[
2327
],
_mm256_xor_si256
(
c2
[
4565
],
_mm256_xor_si256
(
c2
[
4086
],
_mm256_xor_si256
(
c2
[
1205
],
_mm256_xor_si256
(
c2
[
4563
],
_mm256_xor_si256
(
c2
[
2497
],
_mm256_xor_si256
(
c2
[
4743
],
_mm256_xor_si256
(
c2
[
2337
],
_mm256_xor_si256
(
c2
[
4583
],
_mm256_xor_si256
(
c2
[
417
],
_mm256_xor_si256
(
c2
[
3138
],
_mm256_xor_si256
(
c2
[
257
],
_mm256_xor_si256
(
c2
[
418
],
_mm256_xor_si256
(
c2
[
2656
],
_mm256_xor_si256
(
c2
[
4598
],
_mm256_xor_si256
(
c2
[
2192
],
_mm256_xor_si256
(
c2
[
4438
],
_mm256_xor_si256
(
c2
[
1237
],
_mm256_xor_si256
(
c2
[
3475
],
_mm256_xor_si256
(
c2
[
129
],
_mm256_xor_si256
(
c2
[
2850
],
_mm256_xor_si256
(
c2
[
5088
],
_mm256_xor_si256
(
c2
[
291
],
_mm256_xor_si256
(
c2
[
2529
],
_mm256_xor_si256
(
c2
[
612
],
_mm256_xor_si256
(
c2
[
2850
],
_mm256_xor_si256
(
c2
[
5105
],
_mm256_xor_si256
(
c2
[
2224
],
_mm256_xor_si256
(
c2
[
4945
],
_mm256_xor_si256
(
c2
[
2064
],
_mm256_xor_si256
(
c2
[
4625
],
_mm256_xor_si256
(
c2
[
2227
],
_mm256_xor_si256
(
c2
[
4465
],
_mm256_xor_si256
(
c2
[
2871
],
c2
[
5109
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
144
]
=
_mm256_xor_si256
(
c2
[
4486
],
_mm256_xor_si256
(
c2
[
422
],
c2
[
2993
]));
//row: 19
d2
[
152
]
=
_mm256_xor_si256
(
c2
[
166
],
_mm256_xor_si256
(
c2
[
4962
],
_mm256_xor_si256
(
c2
[
1440
],
_mm256_xor_si256
(
c2
[
3682
],
_mm256_xor_si256
(
c2
[
2097
],
_mm256_xor_si256
(
c2
[
1617
],
_mm256_xor_si256
(
c2
[
22
],
_mm256_xor_si256
(
c2
[
3216
],
_mm256_xor_si256
(
c2
[
676
],
_mm256_xor_si256
(
c2
[
2919
],
_mm256_xor_si256
(
c2
[
2934
],
_mm256_xor_si256
(
c2
[
4850
],
_mm256_xor_si256
(
c2
[
695
],
_mm256_xor_si256
(
c2
[
3429
],
_mm256_xor_si256
(
c2
[
1991
],
_mm256_xor_si256
(
c2
[
3586
],
_mm256_xor_si256
(
c2
[
3441
],
_mm256_xor_si256
(
c2
[
81
],
_mm256_xor_si256
(
c2
[
3459
],
_mm256_xor_si256
(
c2
[
4260
],
_mm256_xor_si256
(
c2
[
1540
],
_mm256_xor_si256
(
c2
[
3314
],
_mm256_xor_si256
(
c2
[
2359
],
_mm256_xor_si256
(
c2
[
3972
],
_mm256_xor_si256
(
c2
[
1413
],
_mm256_xor_si256
(
c2
[
1734
],
_mm256_xor_si256
(
c2
[
948
],
_mm256_xor_si256
(
c2
[
3349
],
c2
[
3985
]))))))))))))))))))))))))))));
//row: 20
d2
[
160
]
=
_mm256_xor_si256
(
c2
[
961
],
_mm256_xor_si256
(
c2
[
801
],
_mm256_xor_si256
(
c2
[
486
],
_mm256_xor_si256
(
c2
[
2083
],
_mm256_xor_si256
(
c2
[
2900
],
_mm256_xor_si256
(
c2
[
2740
],
_mm256_xor_si256
(
c2
[
2260
],
_mm256_xor_si256
(
c2
[
657
],
_mm256_xor_si256
(
c2
[
4176
],
_mm256_xor_si256
(
c2
[
1479
],
_mm256_xor_si256
(
c2
[
1319
],
_mm256_xor_si256
(
c2
[
3554
],
_mm256_xor_si256
(
c2
[
3729
],
_mm256_xor_si256
(
c2
[
3569
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
1330
],
_mm256_xor_si256
(
c2
[
4064
],
_mm256_xor_si256
(
c2
[
2626
],
_mm256_xor_si256
(
c2
[
4229
],
_mm256_xor_si256
(
c2
[
1507
],
_mm256_xor_si256
(
c2
[
4084
],
_mm256_xor_si256
(
c2
[
724
],
_mm256_xor_si256
(
c2
[
4262
],
_mm256_xor_si256
(
c2
[
4102
],
_mm256_xor_si256
(
c2
[
4903
],
_mm256_xor_si256
(
c2
[
2183
],
_mm256_xor_si256
(
c2
[
3957
],
_mm256_xor_si256
(
c2
[
2994
],
_mm256_xor_si256
(
c2
[
4615
],
_mm256_xor_si256
(
c2
[
2048
],
_mm256_xor_si256
(
c2
[
2369
],
_mm256_xor_si256
(
c2
[
1751
],
_mm256_xor_si256
(
c2
[
1591
],
_mm256_xor_si256
(
c2
[
3984
],
c2
[
4628
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
168
]
=
_mm256_xor_si256
(
c2
[
4166
],
_mm256_xor_si256
(
c2
[
3843
],
_mm256_xor_si256
(
c2
[
321
],
_mm256_xor_si256
(
c2
[
1922
],
_mm256_xor_si256
(
c2
[
978
],
_mm256_xor_si256
(
c2
[
498
],
_mm256_xor_si256
(
c2
[
4182
],
_mm256_xor_si256
(
c2
[
4022
],
_mm256_xor_si256
(
c2
[
4676
],
_mm256_xor_si256
(
c2
[
1952
],
_mm256_xor_si256
(
c2
[
1792
],
_mm256_xor_si256
(
c2
[
1815
],
_mm256_xor_si256
(
c2
[
3731
],
_mm256_xor_si256
(
c2
[
4695
],
_mm256_xor_si256
(
c2
[
2310
],
_mm256_xor_si256
(
c2
[
864
],
_mm256_xor_si256
(
c2
[
2627
],
_mm256_xor_si256
(
c2
[
2467
],
_mm256_xor_si256
(
c2
[
2322
],
_mm256_xor_si256
(
c2
[
4241
],
_mm256_xor_si256
(
c2
[
4081
],
_mm256_xor_si256
(
c2
[
2340
],
_mm256_xor_si256
(
c2
[
3141
],
_mm256_xor_si256
(
c2
[
581
],
_mm256_xor_si256
(
c2
[
421
],
_mm256_xor_si256
(
c2
[
2195
],
_mm256_xor_si256
(
c2
[
1392
],
_mm256_xor_si256
(
c2
[
1232
],
_mm256_xor_si256
(
c2
[
2853
],
_mm256_xor_si256
(
c2
[
294
],
_mm256_xor_si256
(
c2
[
775
],
_mm256_xor_si256
(
c2
[
615
],
_mm256_xor_si256
(
c2
[
1729
],
_mm256_xor_si256
(
c2
[
4948
],
_mm256_xor_si256
(
c2
[
2230
],
_mm256_xor_si256
(
c2
[
3026
],
c2
[
2866
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
176
]
=
_mm256_xor_si256
(
c2
[
4822
],
c2
[
4993
]);
//row: 23
d2
[
184
]
=
_mm256_xor_si256
(
c2
[
3680
],
_mm256_xor_si256
(
c2
[
1815
],
c2
[
2327
]));
//row: 24
d2
[
192
]
=
_mm256_xor_si256
(
c2
[
2257
],
_mm256_xor_si256
(
c2
[
1796
],
c2
[
1424
]));
//row: 25
d2
[
200
]
=
_mm256_xor_si256
(
c2
[
647
],
c2
[
4564
]);
//row: 26
d2
[
208
]
=
_mm256_xor_si256
(
c2
[
1445
],
_mm256_xor_si256
(
c2
[
1285
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
1122
],
_mm256_xor_si256
(
c2
[
962
],
_mm256_xor_si256
(
c2
[
1
],
_mm256_xor_si256
(
c2
[
2567
],
_mm256_xor_si256
(
c2
[
1606
],
_mm256_xor_si256
(
c2
[
3376
],
_mm256_xor_si256
(
c2
[
3216
],
_mm256_xor_si256
(
c2
[
2263
],
_mm256_xor_si256
(
c2
[
2736
],
_mm256_xor_si256
(
c2
[
1783
],
_mm256_xor_si256
(
c2
[
340
],
_mm256_xor_si256
(
c2
[
1141
],
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
1955
],
_mm256_xor_si256
(
c2
[
1795
],
_mm256_xor_si256
(
c2
[
834
],
_mm256_xor_si256
(
c2
[
3237
],
_mm256_xor_si256
(
c2
[
4038
],
_mm256_xor_si256
(
c2
[
3077
],
_mm256_xor_si256
(
c2
[
4672
],
_mm256_xor_si256
(
c2
[
4213
],
_mm256_xor_si256
(
c2
[
4053
],
_mm256_xor_si256
(
c2
[
3092
],
_mm256_xor_si256
(
c2
[
1010
],
_mm256_xor_si256
(
c2
[
850
],
_mm256_xor_si256
(
c2
[
5008
],
_mm256_xor_si256
(
c2
[
1814
],
_mm256_xor_si256
(
c2
[
853
],
_mm256_xor_si256
(
c2
[
4708
],
_mm256_xor_si256
(
c2
[
4548
],
_mm256_xor_si256
(
c2
[
3587
],
_mm256_xor_si256
(
c2
[
3110
],
_mm256_xor_si256
(
c2
[
2149
],
_mm256_xor_si256
(
c2
[
3904
],
_mm256_xor_si256
(
c2
[
4705
],
_mm256_xor_si256
(
c2
[
3744
],
_mm256_xor_si256
(
c2
[
4720
],
_mm256_xor_si256
(
c2
[
4560
],
_mm256_xor_si256
(
c2
[
3607
],
_mm256_xor_si256
(
c2
[
407
],
_mm256_xor_si256
(
c2
[
1200
],
_mm256_xor_si256
(
c2
[
247
],
_mm256_xor_si256
(
c2
[
4738
],
_mm256_xor_si256
(
c2
[
4578
],
_mm256_xor_si256
(
c2
[
3617
],
_mm256_xor_si256
(
c2
[
420
],
_mm256_xor_si256
(
c2
[
260
],
_mm256_xor_si256
(
c2
[
4418
],
_mm256_xor_si256
(
c2
[
1858
],
_mm256_xor_si256
(
c2
[
2659
],
_mm256_xor_si256
(
c2
[
1698
],
_mm256_xor_si256
(
c2
[
4593
],
_mm256_xor_si256
(
c2
[
4433
],
_mm256_xor_si256
(
c2
[
3472
],
_mm256_xor_si256
(
c2
[
2677
],
_mm256_xor_si256
(
c2
[
3478
],
_mm256_xor_si256
(
c2
[
2517
],
_mm256_xor_si256
(
c2
[
2516
],
_mm256_xor_si256
(
c2
[
132
],
_mm256_xor_si256
(
c2
[
5091
],
_mm256_xor_si256
(
c2
[
4130
],
_mm256_xor_si256
(
c2
[
2532
],
_mm256_xor_si256
(
c2
[
1571
],
_mm256_xor_si256
(
c2
[
2052
],
_mm256_xor_si256
(
c2
[
2853
],
_mm256_xor_si256
(
c2
[
1892
],
_mm256_xor_si256
(
c2
[
2227
],
_mm256_xor_si256
(
c2
[
2067
],
_mm256_xor_si256
(
c2
[
1106
],
_mm256_xor_si256
(
c2
[
4628
],
_mm256_xor_si256
(
c2
[
4468
],
_mm256_xor_si256
(
c2
[
3507
],
_mm256_xor_si256
(
c2
[
4311
],
_mm256_xor_si256
(
c2
[
5104
],
c2
[
4151
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
216
]
=
_mm256_xor_si256
(
c2
[
1280
],
c2
[
3780
]);
//row: 28
d2
[
224
]
=
_mm256_xor_si256
(
c2
[
339
],
_mm256_xor_si256
(
c2
[
835
],
c2
[
1204
]));
//row: 29
d2
[
232
]
=
_mm256_xor_si256
(
c2
[
2880
],
c2
[
4544
]);
//row: 30
d2
[
240
]
=
_mm256_xor_si256
(
c2
[
1154
],
_mm256_xor_si256
(
c2
[
2647
],
_mm256_xor_si256
(
c2
[
1552
],
c2
[
3346
])));
//row: 31
d2
[
248
]
=
_mm256_xor_si256
(
c2
[
1440
],
_mm256_xor_si256
(
c2
[
1125
],
_mm256_xor_si256
(
c2
[
2722
],
_mm256_xor_si256
(
c2
[
3379
],
_mm256_xor_si256
(
c2
[
2899
],
_mm256_xor_si256
(
c2
[
1456
],
_mm256_xor_si256
(
c2
[
1296
],
_mm256_xor_si256
(
c2
[
1619
],
_mm256_xor_si256
(
c2
[
1958
],
_mm256_xor_si256
(
c2
[
4353
],
_mm256_xor_si256
(
c2
[
4193
],
_mm256_xor_si256
(
c2
[
4208
],
_mm256_xor_si256
(
c2
[
1013
],
_mm256_xor_si256
(
c2
[
1969
],
_mm256_xor_si256
(
c2
[
4711
],
_mm256_xor_si256
(
c2
[
3265
],
_mm256_xor_si256
(
c2
[
5028
],
_mm256_xor_si256
(
c2
[
4868
],
_mm256_xor_si256
(
c2
[
4723
],
_mm256_xor_si256
(
c2
[
1523
],
_mm256_xor_si256
(
c2
[
1363
],
_mm256_xor_si256
(
c2
[
4741
],
_mm256_xor_si256
(
c2
[
423
],
_mm256_xor_si256
(
c2
[
2982
],
_mm256_xor_si256
(
c2
[
2822
],
_mm256_xor_si256
(
c2
[
4596
],
_mm256_xor_si256
(
c2
[
3793
],
_mm256_xor_si256
(
c2
[
3633
],
_mm256_xor_si256
(
c2
[
135
],
_mm256_xor_si256
(
c2
[
2695
],
_mm256_xor_si256
(
c2
[
3168
],
_mm256_xor_si256
(
c2
[
3008
],
_mm256_xor_si256
(
c2
[
2230
],
_mm256_xor_si256
(
c2
[
4631
],
_mm256_xor_si256
(
c2
[
308
],
c2
[
148
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
256
]
=
_mm256_xor_si256
(
c2
[
2405
],
_mm256_xor_si256
(
c2
[
2245
],
_mm256_xor_si256
(
c2
[
2082
],
_mm256_xor_si256
(
c2
[
1922
],
_mm256_xor_si256
(
c2
[
3527
],
_mm256_xor_si256
(
c2
[
2887
],
_mm256_xor_si256
(
c2
[
4336
],
_mm256_xor_si256
(
c2
[
4176
],
_mm256_xor_si256
(
c2
[
3696
],
_mm256_xor_si256
(
c2
[
2101
],
_mm256_xor_si256
(
c2
[
2915
],
_mm256_xor_si256
(
c2
[
2755
],
_mm256_xor_si256
(
c2
[
4998
],
_mm256_xor_si256
(
c2
[
54
],
_mm256_xor_si256
(
c2
[
5013
],
_mm256_xor_si256
(
c2
[
1970
],
_mm256_xor_si256
(
c2
[
1810
],
_mm256_xor_si256
(
c2
[
2774
],
_mm256_xor_si256
(
c2
[
549
],
_mm256_xor_si256
(
c2
[
389
],
_mm256_xor_si256
(
c2
[
4070
],
_mm256_xor_si256
(
c2
[
546
],
_mm256_xor_si256
(
c2
[
561
],
_mm256_xor_si256
(
c2
[
401
],
_mm256_xor_si256
(
c2
[
2160
],
_mm256_xor_si256
(
c2
[
2001
],
_mm256_xor_si256
(
c2
[
579
],
_mm256_xor_si256
(
c2
[
419
],
_mm256_xor_si256
(
c2
[
1380
],
_mm256_xor_si256
(
c2
[
1220
],
_mm256_xor_si256
(
c2
[
3619
],
_mm256_xor_si256
(
c2
[
434
],
_mm256_xor_si256
(
c2
[
274
],
_mm256_xor_si256
(
c2
[
4438
],
_mm256_xor_si256
(
c2
[
1092
],
_mm256_xor_si256
(
c2
[
932
],
_mm256_xor_si256
(
c2
[
3492
],
_mm256_xor_si256
(
c2
[
3813
],
_mm256_xor_si256
(
c2
[
3187
],
_mm256_xor_si256
(
c2
[
3027
],
_mm256_xor_si256
(
c2
[
469
],
_mm256_xor_si256
(
c2
[
309
],
c2
[
945
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
264
]
=
_mm256_xor_si256
(
c2
[
3047
],
_mm256_xor_si256
(
c2
[
2724
],
_mm256_xor_si256
(
c2
[
4321
],
_mm256_xor_si256
(
c2
[
4978
],
_mm256_xor_si256
(
c2
[
4498
],
_mm256_xor_si256
(
c2
[
2903
],
_mm256_xor_si256
(
c2
[
3557
],
_mm256_xor_si256
(
c2
[
673
],
_mm256_xor_si256
(
c2
[
676
],
_mm256_xor_si256
(
c2
[
688
],
_mm256_xor_si256
(
c2
[
2612
],
_mm256_xor_si256
(
c2
[
3568
],
_mm256_xor_si256
(
c2
[
1191
],
_mm256_xor_si256
(
c2
[
4864
],
_mm256_xor_si256
(
c2
[
1348
],
_mm256_xor_si256
(
c2
[
1203
],
_mm256_xor_si256
(
c2
[
2962
],
_mm256_xor_si256
(
c2
[
1221
],
_mm256_xor_si256
(
c2
[
2022
],
_mm256_xor_si256
(
c2
[
4421
],
_mm256_xor_si256
(
c2
[
1076
],
_mm256_xor_si256
(
c2
[
113
],
_mm256_xor_si256
(
c2
[
757
],
_mm256_xor_si256
(
c2
[
1734
],
_mm256_xor_si256
(
c2
[
4294
],
_mm256_xor_si256
(
c2
[
4615
],
_mm256_xor_si256
(
c2
[
3829
],
_mm256_xor_si256
(
c2
[
1111
],
c2
[
1747
]))))))))))))))))))))))))))));
//row: 34
d2
[
272
]
=
_mm256_xor_si256
(
c2
[
4802
],
_mm256_xor_si256
(
c2
[
4642
],
_mm256_xor_si256
(
c2
[
1921
],
_mm256_xor_si256
(
c2
[
4487
],
_mm256_xor_si256
(
c2
[
4327
],
_mm256_xor_si256
(
c2
[
1606
],
_mm256_xor_si256
(
c2
[
805
],
_mm256_xor_si256
(
c2
[
3203
],
_mm256_xor_si256
(
c2
[
3044
],
_mm256_xor_si256
(
c2
[
1622
],
_mm256_xor_si256
(
c2
[
1462
],
_mm256_xor_si256
(
c2
[
3860
],
_mm256_xor_si256
(
c2
[
982
],
_mm256_xor_si256
(
c2
[
3380
],
_mm256_xor_si256
(
c2
[
1937
],
_mm256_xor_si256
(
c2
[
4498
],
_mm256_xor_si256
(
c2
[
1777
],
_mm256_xor_si256
(
c2
[
193
],
_mm256_xor_si256
(
c2
[
33
],
_mm256_xor_si256
(
c2
[
2439
],
_mm256_xor_si256
(
c2
[
4834
],
_mm256_xor_si256
(
c2
[
2276
],
_mm256_xor_si256
(
c2
[
4674
],
_mm256_xor_si256
(
c2
[
2451
],
_mm256_xor_si256
(
c2
[
2291
],
_mm256_xor_si256
(
c2
[
4689
],
_mm256_xor_si256
(
c2
[
4375
],
_mm256_xor_si256
(
c2
[
4215
],
_mm256_xor_si256
(
c2
[
1494
],
_mm256_xor_si256
(
c2
[
52
],
_mm256_xor_si256
(
c2
[
2450
],
_mm256_xor_si256
(
c2
[
2946
],
_mm256_xor_si256
(
c2
[
2786
],
_mm256_xor_si256
(
c2
[
65
],
_mm256_xor_si256
(
c2
[
1348
],
_mm256_xor_si256
(
c2
[
3746
],
_mm256_xor_si256
(
c2
[
390
],
_mm256_xor_si256
(
c2
[
2951
],
_mm256_xor_si256
(
c2
[
230
],
_mm256_xor_si256
(
c2
[
2966
],
_mm256_xor_si256
(
c2
[
2806
],
_mm256_xor_si256
(
c2
[
85
],
_mm256_xor_si256
(
c2
[
2004
],
_mm256_xor_si256
(
c2
[
4565
],
_mm256_xor_si256
(
c2
[
1844
],
_mm256_xor_si256
(
c2
[
2976
],
_mm256_xor_si256
(
c2
[
2816
],
_mm256_xor_si256
(
c2
[
103
],
_mm256_xor_si256
(
c2
[
3777
],
_mm256_xor_si256
(
c2
[
3617
],
_mm256_xor_si256
(
c2
[
896
],
_mm256_xor_si256
(
c2
[
3463
],
_mm256_xor_si256
(
c2
[
897
],
_mm256_xor_si256
(
c2
[
3303
],
_mm256_xor_si256
(
c2
[
2839
],
_mm256_xor_si256
(
c2
[
2679
],
_mm256_xor_si256
(
c2
[
5077
],
_mm256_xor_si256
(
c2
[
4274
],
_mm256_xor_si256
(
c2
[
1716
],
_mm256_xor_si256
(
c2
[
4114
],
_mm256_xor_si256
(
c2
[
3489
],
_mm256_xor_si256
(
c2
[
3329
],
_mm256_xor_si256
(
c2
[
608
],
_mm256_xor_si256
(
c2
[
770
],
_mm256_xor_si256
(
c2
[
3168
],
_mm256_xor_si256
(
c2
[
3649
],
_mm256_xor_si256
(
c2
[
1091
],
_mm256_xor_si256
(
c2
[
3489
],
_mm256_xor_si256
(
c2
[
465
],
_mm256_xor_si256
(
c2
[
305
],
_mm256_xor_si256
(
c2
[
2711
],
_mm256_xor_si256
(
c2
[
2866
],
_mm256_xor_si256
(
c2
[
2706
],
_mm256_xor_si256
(
c2
[
5104
],
_mm256_xor_si256
(
c2
[
789
],
_mm256_xor_si256
(
c2
[
3350
],
c2
[
629
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
280
]
=
_mm256_xor_si256
(
c2
[
1282
],
_mm256_xor_si256
(
c2
[
1122
],
_mm256_xor_si256
(
c2
[
807
],
_mm256_xor_si256
(
c2
[
2404
],
_mm256_xor_si256
(
c2
[
3221
],
_mm256_xor_si256
(
c2
[
3061
],
_mm256_xor_si256
(
c2
[
2581
],
_mm256_xor_si256
(
c2
[
978
],
_mm256_xor_si256
(
c2
[
4017
],
_mm256_xor_si256
(
c2
[
1792
],
_mm256_xor_si256
(
c2
[
1632
],
_mm256_xor_si256
(
c2
[
3875
],
_mm256_xor_si256
(
c2
[
4050
],
_mm256_xor_si256
(
c2
[
3890
],
_mm256_xor_si256
(
c2
[
695
],
_mm256_xor_si256
(
c2
[
1651
],
_mm256_xor_si256
(
c2
[
4385
],
_mm256_xor_si256
(
c2
[
2947
],
_mm256_xor_si256
(
c2
[
4550
],
_mm256_xor_si256
(
c2
[
4405
],
_mm256_xor_si256
(
c2
[
1045
],
_mm256_xor_si256
(
c2
[
1361
],
_mm256_xor_si256
(
c2
[
4583
],
_mm256_xor_si256
(
c2
[
4423
],
_mm256_xor_si256
(
c2
[
97
],
_mm256_xor_si256
(
c2
[
2496
],
_mm256_xor_si256
(
c2
[
4278
],
_mm256_xor_si256
(
c2
[
3315
],
_mm256_xor_si256
(
c2
[
4928
],
_mm256_xor_si256
(
c2
[
2369
],
_mm256_xor_si256
(
c2
[
2690
],
_mm256_xor_si256
(
c2
[
2064
],
_mm256_xor_si256
(
c2
[
1904
],
_mm256_xor_si256
(
c2
[
4305
],
c2
[
4949
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
288
]
=
_mm256_xor_si256
(
c2
[
1924
],
_mm256_xor_si256
(
c2
[
993
],
c2
[
4276
]));
//row: 37
d2
[
296
]
=
_mm256_xor_si256
(
c2
[
487
],
_mm256_xor_si256
(
c2
[
4964
],
_mm256_xor_si256
(
c2
[
164
],
_mm256_xor_si256
(
c2
[
4641
],
_mm256_xor_si256
(
c2
[
1761
],
_mm256_xor_si256
(
c2
[
1127
],
_mm256_xor_si256
(
c2
[
2418
],
_mm256_xor_si256
(
c2
[
1776
],
_mm256_xor_si256
(
c2
[
1938
],
_mm256_xor_si256
(
c2
[
1296
],
_mm256_xor_si256
(
c2
[
4980
],
_mm256_xor_si256
(
c2
[
343
],
_mm256_xor_si256
(
c2
[
4820
],
_mm256_xor_si256
(
c2
[
997
],
_mm256_xor_si256
(
c2
[
355
],
_mm256_xor_si256
(
c2
[
2758
],
_mm256_xor_si256
(
c2
[
3232
],
_mm256_xor_si256
(
c2
[
2598
],
_mm256_xor_si256
(
c2
[
3255
],
_mm256_xor_si256
(
c2
[
2613
],
_mm256_xor_si256
(
c2
[
52
],
_mm256_xor_si256
(
c2
[
4529
],
_mm256_xor_si256
(
c2
[
1008
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
3750
],
_mm256_xor_si256
(
c2
[
3108
],
_mm256_xor_si256
(
c2
[
2304
],
_mm256_xor_si256
(
c2
[
1670
],
_mm256_xor_si256
(
c2
[
3425
],
_mm256_xor_si256
(
c2
[
3907
],
_mm256_xor_si256
(
c2
[
3265
],
_mm256_xor_si256
(
c2
[
3762
],
_mm256_xor_si256
(
c2
[
3120
],
_mm256_xor_si256
(
c2
[
5047
],
_mm256_xor_si256
(
c2
[
402
],
_mm256_xor_si256
(
c2
[
4887
],
_mm256_xor_si256
(
c2
[
3780
],
_mm256_xor_si256
(
c2
[
3138
],
_mm256_xor_si256
(
c2
[
4581
],
_mm256_xor_si256
(
c2
[
3939
],
_mm256_xor_si256
(
c2
[
1379
],
_mm256_xor_si256
(
c2
[
1861
],
_mm256_xor_si256
(
c2
[
1219
],
_mm256_xor_si256
(
c2
[
3635
],
_mm256_xor_si256
(
c2
[
2993
],
_mm256_xor_si256
(
c2
[
2198
],
_mm256_xor_si256
(
c2
[
2672
],
_mm256_xor_si256
(
c2
[
2038
],
_mm256_xor_si256
(
c2
[
4293
],
_mm256_xor_si256
(
c2
[
3651
],
_mm256_xor_si256
(
c2
[
1734
],
_mm256_xor_si256
(
c2
[
1092
],
_mm256_xor_si256
(
c2
[
1573
],
_mm256_xor_si256
(
c2
[
2055
],
_mm256_xor_si256
(
c2
[
1413
],
_mm256_xor_si256
(
c2
[
1269
],
_mm256_xor_si256
(
c2
[
627
],
_mm256_xor_si256
(
c2
[
3670
],
_mm256_xor_si256
(
c2
[
3028
],
_mm256_xor_si256
(
c2
[
3824
],
_mm256_xor_si256
(
c2
[
4306
],
c2
[
3664
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
304
]
=
_mm256_xor_si256
(
c2
[
2401
],
_mm256_xor_si256
(
c2
[
2241
],
_mm256_xor_si256
(
c2
[
1926
],
_mm256_xor_si256
(
c2
[
3523
],
_mm256_xor_si256
(
c2
[
4340
],
_mm256_xor_si256
(
c2
[
4180
],
_mm256_xor_si256
(
c2
[
3700
],
_mm256_xor_si256
(
c2
[
2097
],
_mm256_xor_si256
(
c2
[
4976
],
_mm256_xor_si256
(
c2
[
2919
],
_mm256_xor_si256
(
c2
[
2759
],
_mm256_xor_si256
(
c2
[
4994
],
_mm256_xor_si256
(
c2
[
50
],
_mm256_xor_si256
(
c2
[
5009
],
_mm256_xor_si256
(
c2
[
1814
],
_mm256_xor_si256
(
c2
[
2770
],
_mm256_xor_si256
(
c2
[
385
],
_mm256_xor_si256
(
c2
[
4066
],
_mm256_xor_si256
(
c2
[
550
],
_mm256_xor_si256
(
c2
[
405
],
_mm256_xor_si256
(
c2
[
2164
],
_mm256_xor_si256
(
c2
[
402
],
_mm256_xor_si256
(
c2
[
583
],
_mm256_xor_si256
(
c2
[
423
],
_mm256_xor_si256
(
c2
[
1216
],
_mm256_xor_si256
(
c2
[
3623
],
_mm256_xor_si256
(
c2
[
278
],
_mm256_xor_si256
(
c2
[
4434
],
_mm256_xor_si256
(
c2
[
928
],
_mm256_xor_si256
(
c2
[
3488
],
_mm256_xor_si256
(
c2
[
3809
],
_mm256_xor_si256
(
c2
[
3191
],
_mm256_xor_si256
(
c2
[
3031
],
_mm256_xor_si256
(
c2
[
305
],
c2
[
949
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
312
]
=
_mm256_xor_si256
(
c2
[
1761
],
_mm256_xor_si256
(
c2
[
1601
],
_mm256_xor_si256
(
c2
[
1446
],
_mm256_xor_si256
(
c2
[
1286
],
_mm256_xor_si256
(
c2
[
2883
],
_mm256_xor_si256
(
c2
[
2407
],
_mm256_xor_si256
(
c2
[
3700
],
_mm256_xor_si256
(
c2
[
3540
],
_mm256_xor_si256
(
c2
[
3060
],
_mm256_xor_si256
(
c2
[
1457
],
_mm256_xor_si256
(
c2
[
2279
],
_mm256_xor_si256
(
c2
[
2119
],
_mm256_xor_si256
(
c2
[
4354
],
_mm256_xor_si256
(
c2
[
4529
],
_mm256_xor_si256
(
c2
[
4369
],
_mm256_xor_si256
(
c2
[
1334
],
_mm256_xor_si256
(
c2
[
1174
],
_mm256_xor_si256
(
c2
[
2130
],
_mm256_xor_si256
(
c2
[
5024
],
_mm256_xor_si256
(
c2
[
4864
],
_mm256_xor_si256
(
c2
[
3426
],
_mm256_xor_si256
(
c2
[
5029
],
_mm256_xor_si256
(
c2
[
5044
],
_mm256_xor_si256
(
c2
[
4884
],
_mm256_xor_si256
(
c2
[
1524
],
_mm256_xor_si256
(
c2
[
5062
],
_mm256_xor_si256
(
c2
[
4902
],
_mm256_xor_si256
(
c2
[
736
],
_mm256_xor_si256
(
c2
[
576
],
_mm256_xor_si256
(
c2
[
2983
],
_mm256_xor_si256
(
c2
[
4917
],
_mm256_xor_si256
(
c2
[
4757
],
_mm256_xor_si256
(
c2
[
3794
],
_mm256_xor_si256
(
c2
[
2037
],
_mm256_xor_si256
(
c2
[
448
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
2848
],
_mm256_xor_si256
(
c2
[
3169
],
_mm256_xor_si256
(
c2
[
2551
],
_mm256_xor_si256
(
c2
[
2391
],
_mm256_xor_si256
(
c2
[
4944
],
_mm256_xor_si256
(
c2
[
4784
],
c2
[
309
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
320
]
=
_mm256_xor_si256
(
c2
[
3042
],
_mm256_xor_si256
(
c2
[
4
],
_mm256_xor_si256
(
c2
[
2727
],
_mm256_xor_si256
(
c2
[
4800
],
_mm256_xor_si256
(
c2
[
4324
],
_mm256_xor_si256
(
c2
[
1286
],
_mm256_xor_si256
(
c2
[
4981
],
_mm256_xor_si256
(
c2
[
1943
],
_mm256_xor_si256
(
c2
[
4501
],
_mm256_xor_si256
(
c2
[
1463
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
2898
],
_mm256_xor_si256
(
c2
[
4979
],
_mm256_xor_si256
(
c2
[
3552
],
_mm256_xor_si256
(
c2
[
514
],
_mm256_xor_si256
(
c2
[
2917
],
_mm256_xor_si256
(
c2
[
676
],
_mm256_xor_si256
(
c2
[
2757
],
_mm256_xor_si256
(
c2
[
32
],
_mm256_xor_si256
(
c2
[
691
],
_mm256_xor_si256
(
c2
[
2772
],
_mm256_xor_si256
(
c2
[
2615
],
_mm256_xor_si256
(
c2
[
4688
],
_mm256_xor_si256
(
c2
[
3571
],
_mm256_xor_si256
(
c2
[
533
],
_mm256_xor_si256
(
c2
[
1186
],
_mm256_xor_si256
(
c2
[
3267
],
_mm256_xor_si256
(
c2
[
4867
],
_mm256_xor_si256
(
c2
[
1829
],
_mm256_xor_si256
(
c2
[
3584
],
_mm256_xor_si256
(
c2
[
1351
],
_mm256_xor_si256
(
c2
[
3424
],
_mm256_xor_si256
(
c2
[
1206
],
_mm256_xor_si256
(
c2
[
3287
],
_mm256_xor_si256
(
c2
[
87
],
_mm256_xor_si256
(
c2
[
2965
],
_mm256_xor_si256
(
c2
[
5046
],
_mm256_xor_si256
(
c2
[
1216
],
_mm256_xor_si256
(
c2
[
3297
],
_mm256_xor_si256
(
c2
[
2017
],
_mm256_xor_si256
(
c2
[
4098
],
_mm256_xor_si256
(
c2
[
1538
],
_mm256_xor_si256
(
c2
[
4416
],
_mm256_xor_si256
(
c2
[
1378
],
_mm256_xor_si256
(
c2
[
1079
],
_mm256_xor_si256
(
c2
[
3152
],
_mm256_xor_si256
(
c2
[
2357
],
_mm256_xor_si256
(
c2
[
116
],
_mm256_xor_si256
(
c2
[
2197
],
_mm256_xor_si256
(
c2
[
1729
],
_mm256_xor_si256
(
c2
[
3810
],
_mm256_xor_si256
(
c2
[
4289
],
_mm256_xor_si256
(
c2
[
1251
],
_mm256_xor_si256
(
c2
[
1732
],
_mm256_xor_si256
(
c2
[
4610
],
_mm256_xor_si256
(
c2
[
1572
],
_mm256_xor_si256
(
c2
[
3824
],
_mm256_xor_si256
(
c2
[
786
],
_mm256_xor_si256
(
c2
[
1106
],
_mm256_xor_si256
(
c2
[
3187
],
_mm256_xor_si256
(
c2
[
3991
],
_mm256_xor_si256
(
c2
[
1750
],
c2
[
3831
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
328
]
=
_mm256_xor_si256
(
c2
[
4963
],
_mm256_xor_si256
(
c2
[
4803
],
_mm256_xor_si256
(
c2
[
4480
],
_mm256_xor_si256
(
c2
[
966
],
_mm256_xor_si256
(
c2
[
1783
],
_mm256_xor_si256
(
c2
[
1623
],
_mm256_xor_si256
(
c2
[
1143
],
_mm256_xor_si256
(
c2
[
4659
],
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
354
],
_mm256_xor_si256
(
c2
[
194
],
_mm256_xor_si256
(
c2
[
2437
],
_mm256_xor_si256
(
c2
[
2612
],
_mm256_xor_si256
(
c2
[
2452
],
_mm256_xor_si256
(
c2
[
4368
],
_mm256_xor_si256
(
c2
[
213
],
_mm256_xor_si256
(
c2
[
2947
],
_mm256_xor_si256
(
c2
[
1509
],
_mm256_xor_si256
(
c2
[
3104
],
_mm256_xor_si256
(
c2
[
2967
],
_mm256_xor_si256
(
c2
[
4726
],
_mm256_xor_si256
(
c2
[
887
],
_mm256_xor_si256
(
c2
[
3137
],
_mm256_xor_si256
(
c2
[
2977
],
_mm256_xor_si256
(
c2
[
3778
],
_mm256_xor_si256
(
c2
[
1058
],
_mm256_xor_si256
(
c2
[
2832
],
_mm256_xor_si256
(
c2
[
1877
],
_mm256_xor_si256
(
c2
[
3490
],
_mm256_xor_si256
(
c2
[
931
],
_mm256_xor_si256
(
c2
[
1252
],
_mm256_xor_si256
(
c2
[
626
],
_mm256_xor_si256
(
c2
[
466
],
_mm256_xor_si256
(
c2
[
2867
],
c2
[
3511
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc288_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=288, byte encoding
static
inline
void
ldpc_BG2_Zc288_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m256i
*
csimd
=
(
__m256i
*
)
c
,
*
dsimd
=
(
__m256i
*
)
d
;
__m256i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
9
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
3240
],
_mm256_xor_si256
(
c2
[
5402
],
_mm256_xor_si256
(
c2
[
4518
],
_mm256_xor_si256
(
c2
[
1641
],
_mm256_xor_si256
(
c2
[
4161
],
_mm256_xor_si256
(
c2
[
3637
],
_mm256_xor_si256
(
c2
[
4359
],
_mm256_xor_si256
(
c2
[
415
],
_mm256_xor_si256
(
c2
[
5276
],
_mm256_xor_si256
(
c2
[
4916
],
_mm256_xor_si256
(
c2
[
1335
],
_mm256_xor_si256
(
c2
[
2415
],
_mm256_xor_si256
(
c2
[
3852
],
_mm256_xor_si256
(
c2
[
272
],
_mm256_xor_si256
(
c2
[
630
],
_mm256_xor_si256
(
c2
[
3351
],
_mm256_xor_si256
(
c2
[
3530
],
_mm256_xor_si256
(
c2
[
1550
],
_mm256_xor_si256
(
c2
[
309
],
_mm256_xor_si256
(
c2
[
3007
],
_mm256_xor_si256
(
c2
[
866
],
_mm256_xor_si256
(
c2
[
2667
],
_mm256_xor_si256
(
c2
[
5727
],
_mm256_xor_si256
(
c2
[
5565
],
_mm256_xor_si256
(
c2
[
3223
],
c2
[
2684
]))))))))))))))))))))))))));
//row: 1
d2
[
9
]
=
_mm256_xor_si256
(
c2
[
540
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
3240
],
_mm256_xor_si256
(
c2
[
5402
],
_mm256_xor_si256
(
c2
[
4698
],
_mm256_xor_si256
(
c2
[
4518
],
_mm256_xor_si256
(
c2
[
1641
],
_mm256_xor_si256
(
c2
[
4161
],
_mm256_xor_si256
(
c2
[
3817
],
_mm256_xor_si256
(
c2
[
3637
],
_mm256_xor_si256
(
c2
[
4359
],
_mm256_xor_si256
(
c2
[
595
],
_mm256_xor_si256
(
c2
[
415
],
_mm256_xor_si256
(
c2
[
5276
],
_mm256_xor_si256
(
c2
[
4916
],
_mm256_xor_si256
(
c2
[
1335
],
_mm256_xor_si256
(
c2
[
2415
],
_mm256_xor_si256
(
c2
[
3852
],
_mm256_xor_si256
(
c2
[
272
],
_mm256_xor_si256
(
c2
[
630
],
_mm256_xor_si256
(
c2
[
3531
],
_mm256_xor_si256
(
c2
[
3351
],
_mm256_xor_si256
(
c2
[
3530
],
_mm256_xor_si256
(
c2
[
1550
],
_mm256_xor_si256
(
c2
[
309
],
_mm256_xor_si256
(
c2
[
3007
],
_mm256_xor_si256
(
c2
[
866
],
_mm256_xor_si256
(
c2
[
2667
],
_mm256_xor_si256
(
c2
[
5727
],
_mm256_xor_si256
(
c2
[
5745
],
_mm256_xor_si256
(
c2
[
5565
],
_mm256_xor_si256
(
c2
[
3223
],
c2
[
2684
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
18
]
=
_mm256_xor_si256
(
c2
[
540
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
3420
],
_mm256_xor_si256
(
c2
[
3240
],
_mm256_xor_si256
(
c2
[
5402
],
_mm256_xor_si256
(
c2
[
4698
],
_mm256_xor_si256
(
c2
[
4518
],
_mm256_xor_si256
(
c2
[
1641
],
_mm256_xor_si256
(
c2
[
4161
],
_mm256_xor_si256
(
c2
[
3817
],
_mm256_xor_si256
(
c2
[
3637
],
_mm256_xor_si256
(
c2
[
4359
],
_mm256_xor_si256
(
c2
[
595
],
_mm256_xor_si256
(
c2
[
415
],
_mm256_xor_si256
(
c2
[
5456
],
_mm256_xor_si256
(
c2
[
5276
],
_mm256_xor_si256
(
c2
[
4916
],
_mm256_xor_si256
(
c2
[
1515
],
_mm256_xor_si256
(
c2
[
1335
],
_mm256_xor_si256
(
c2
[
2415
],
_mm256_xor_si256
(
c2
[
3852
],
_mm256_xor_si256
(
c2
[
452
],
_mm256_xor_si256
(
c2
[
272
],
_mm256_xor_si256
(
c2
[
630
],
_mm256_xor_si256
(
c2
[
3531
],
_mm256_xor_si256
(
c2
[
3351
],
_mm256_xor_si256
(
c2
[
3710
],
_mm256_xor_si256
(
c2
[
3530
],
_mm256_xor_si256
(
c2
[
1550
],
_mm256_xor_si256
(
c2
[
489
],
_mm256_xor_si256
(
c2
[
309
],
_mm256_xor_si256
(
c2
[
3007
],
_mm256_xor_si256
(
c2
[
1046
],
_mm256_xor_si256
(
c2
[
866
],
_mm256_xor_si256
(
c2
[
2667
],
_mm256_xor_si256
(
c2
[
5727
],
_mm256_xor_si256
(
c2
[
5745
],
_mm256_xor_si256
(
c2
[
5565
],
_mm256_xor_si256
(
c2
[
3403
],
_mm256_xor_si256
(
c2
[
3223
],
c2
[
2684
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
27
]
=
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
3240
],
_mm256_xor_si256
(
c2
[
5402
],
_mm256_xor_si256
(
c2
[
4518
],
_mm256_xor_si256
(
c2
[
1641
],
_mm256_xor_si256
(
c2
[
4341
],
_mm256_xor_si256
(
c2
[
4161
],
_mm256_xor_si256
(
c2
[
3637
],
_mm256_xor_si256
(
c2
[
4539
],
_mm256_xor_si256
(
c2
[
4359
],
_mm256_xor_si256
(
c2
[
415
],
_mm256_xor_si256
(
c2
[
5276
],
_mm256_xor_si256
(
c2
[
4916
],
_mm256_xor_si256
(
c2
[
1335
],
_mm256_xor_si256
(
c2
[
2415
],
_mm256_xor_si256
(
c2
[
4032
],
_mm256_xor_si256
(
c2
[
3852
],
_mm256_xor_si256
(
c2
[
272
],
_mm256_xor_si256
(
c2
[
810
],
_mm256_xor_si256
(
c2
[
630
],
_mm256_xor_si256
(
c2
[
3351
],
_mm256_xor_si256
(
c2
[
3530
],
_mm256_xor_si256
(
c2
[
1730
],
_mm256_xor_si256
(
c2
[
1550
],
_mm256_xor_si256
(
c2
[
309
],
_mm256_xor_si256
(
c2
[
3187
],
_mm256_xor_si256
(
c2
[
3007
],
_mm256_xor_si256
(
c2
[
866
],
_mm256_xor_si256
(
c2
[
2667
],
_mm256_xor_si256
(
c2
[
148
],
_mm256_xor_si256
(
c2
[
5727
],
_mm256_xor_si256
(
c2
[
5565
],
_mm256_xor_si256
(
c2
[
3223
],
_mm256_xor_si256
(
c2
[
2864
],
c2
[
2684
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
36
]
=
_mm256_xor_si256
(
c2
[
3961
],
_mm256_xor_si256
(
c2
[
3781
],
_mm256_xor_si256
(
c2
[
902
],
_mm256_xor_si256
(
c2
[
3064
],
_mm256_xor_si256
(
c2
[
1801
],
_mm256_xor_si256
(
c2
[
2360
],
_mm256_xor_si256
(
c2
[
2180
],
_mm256_xor_si256
(
c2
[
5062
],
_mm256_xor_si256
(
c2
[
1823
],
_mm256_xor_si256
(
c2
[
4338
],
_mm256_xor_si256
(
c2
[
1479
],
_mm256_xor_si256
(
c2
[
1299
],
_mm256_xor_si256
(
c2
[
2021
],
_mm256_xor_si256
(
c2
[
4016
],
_mm256_xor_si256
(
c2
[
3836
],
_mm256_xor_si256
(
c2
[
2938
],
_mm256_xor_si256
(
c2
[
2578
],
_mm256_xor_si256
(
c2
[
4756
],
_mm256_xor_si256
(
c2
[
77
],
_mm256_xor_si256
(
c2
[
1514
],
_mm256_xor_si256
(
c2
[
3693
],
_mm256_xor_si256
(
c2
[
4051
],
_mm256_xor_si256
(
c2
[
1193
],
_mm256_xor_si256
(
c2
[
1013
],
_mm256_xor_si256
(
c2
[
1192
],
_mm256_xor_si256
(
c2
[
4971
],
_mm256_xor_si256
(
c2
[
3730
],
_mm256_xor_si256
(
c2
[
669
],
_mm256_xor_si256
(
c2
[
4287
],
_mm256_xor_si256
(
c2
[
329
],
_mm256_xor_si256
(
c2
[
3389
],
_mm256_xor_si256
(
c2
[
3407
],
_mm256_xor_si256
(
c2
[
3227
],
_mm256_xor_si256
(
c2
[
885
],
c2
[
346
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
45
]
=
_mm256_xor_si256
(
c2
[
1802
],
_mm256_xor_si256
(
c2
[
1622
],
_mm256_xor_si256
(
c2
[
4502
],
_mm256_xor_si256
(
c2
[
905
],
_mm256_xor_si256
(
c2
[
1441
],
_mm256_xor_si256
(
c2
[
201
],
_mm256_xor_si256
(
c2
[
21
],
_mm256_xor_si256
(
c2
[
2903
],
_mm256_xor_si256
(
c2
[
5423
],
_mm256_xor_si256
(
c2
[
2182
],
_mm256_xor_si256
(
c2
[
5079
],
_mm256_xor_si256
(
c2
[
4899
],
_mm256_xor_si256
(
c2
[
5621
],
_mm256_xor_si256
(
c2
[
1857
],
_mm256_xor_si256
(
c2
[
1677
],
_mm256_xor_si256
(
c2
[
779
],
_mm256_xor_si256
(
c2
[
419
],
_mm256_xor_si256
(
c2
[
2597
],
_mm256_xor_si256
(
c2
[
3677
],
_mm256_xor_si256
(
c2
[
5114
],
_mm256_xor_si256
(
c2
[
1534
],
_mm256_xor_si256
(
c2
[
1892
],
_mm256_xor_si256
(
c2
[
3692
],
_mm256_xor_si256
(
c2
[
4793
],
_mm256_xor_si256
(
c2
[
4613
],
_mm256_xor_si256
(
c2
[
4792
],
_mm256_xor_si256
(
c2
[
2812
],
_mm256_xor_si256
(
c2
[
1571
],
_mm256_xor_si256
(
c2
[
4269
],
_mm256_xor_si256
(
c2
[
1750
],
_mm256_xor_si256
(
c2
[
2128
],
_mm256_xor_si256
(
c2
[
3929
],
_mm256_xor_si256
(
c2
[
1230
],
_mm256_xor_si256
(
c2
[
1248
],
_mm256_xor_si256
(
c2
[
1068
],
_mm256_xor_si256
(
c2
[
4485
],
c2
[
3946
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
54
]
=
_mm256_xor_si256
(
c2
[
2524
],
_mm256_xor_si256
(
c2
[
2344
],
_mm256_xor_si256
(
c2
[
5224
],
_mm256_xor_si256
(
c2
[
1627
],
_mm256_xor_si256
(
c2
[
2343
],
_mm256_xor_si256
(
c2
[
923
],
_mm256_xor_si256
(
c2
[
743
],
_mm256_xor_si256
(
c2
[
3625
],
_mm256_xor_si256
(
c2
[
386
],
_mm256_xor_si256
(
c2
[
42
],
_mm256_xor_si256
(
c2
[
5621
],
_mm256_xor_si256
(
c2
[
584
],
_mm256_xor_si256
(
c2
[
2579
],
_mm256_xor_si256
(
c2
[
2399
],
_mm256_xor_si256
(
c2
[
1501
],
_mm256_xor_si256
(
c2
[
1141
],
_mm256_xor_si256
(
c2
[
3319
],
_mm256_xor_si256
(
c2
[
4399
],
_mm256_xor_si256
(
c2
[
77
],
_mm256_xor_si256
(
c2
[
2256
],
_mm256_xor_si256
(
c2
[
2614
],
_mm256_xor_si256
(
c2
[
4232
],
_mm256_xor_si256
(
c2
[
5515
],
_mm256_xor_si256
(
c2
[
5335
],
_mm256_xor_si256
(
c2
[
5514
],
_mm256_xor_si256
(
c2
[
3534
],
_mm256_xor_si256
(
c2
[
2293
],
_mm256_xor_si256
(
c2
[
4991
],
_mm256_xor_si256
(
c2
[
2109
],
_mm256_xor_si256
(
c2
[
2850
],
_mm256_xor_si256
(
c2
[
4651
],
_mm256_xor_si256
(
c2
[
1952
],
_mm256_xor_si256
(
c2
[
1970
],
_mm256_xor_si256
(
c2
[
1790
],
_mm256_xor_si256
(
c2
[
5207
],
_mm256_xor_si256
(
c2
[
4668
],
c2
[
1066
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
63
]
=
_mm256_xor_si256
(
c2
[
2703
],
_mm256_xor_si256
(
c2
[
2523
],
_mm256_xor_si256
(
c2
[
542
],
_mm256_xor_si256
(
c2
[
5403
],
_mm256_xor_si256
(
c2
[
3422
],
_mm256_xor_si256
(
c2
[
1806
],
_mm256_xor_si256
(
c2
[
5584
],
_mm256_xor_si256
(
c2
[
1102
],
_mm256_xor_si256
(
c2
[
922
],
_mm256_xor_si256
(
c2
[
4700
],
_mm256_xor_si256
(
c2
[
3804
],
_mm256_xor_si256
(
c2
[
1823
],
_mm256_xor_si256
(
c2
[
565
],
_mm256_xor_si256
(
c2
[
4523
],
_mm256_xor_si256
(
c2
[
4343
],
_mm256_xor_si256
(
c2
[
201
],
_mm256_xor_si256
(
c2
[
221
],
_mm256_xor_si256
(
c2
[
41
],
_mm256_xor_si256
(
c2
[
3819
],
_mm256_xor_si256
(
c2
[
763
],
_mm256_xor_si256
(
c2
[
4721
],
_mm256_xor_si256
(
c2
[
4541
],
_mm256_xor_si256
(
c2
[
2758
],
_mm256_xor_si256
(
c2
[
2578
],
_mm256_xor_si256
(
c2
[
597
],
_mm256_xor_si256
(
c2
[
1680
],
_mm256_xor_si256
(
c2
[
5458
],
_mm256_xor_si256
(
c2
[
1320
],
_mm256_xor_si256
(
c2
[
5098
],
_mm256_xor_si256
(
c2
[
3498
],
_mm256_xor_si256
(
c2
[
1517
],
_mm256_xor_si256
(
c2
[
4578
],
_mm256_xor_si256
(
c2
[
2597
],
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
4214
],
_mm256_xor_si256
(
c2
[
4034
],
_mm256_xor_si256
(
c2
[
2435
],
_mm256_xor_si256
(
c2
[
454
],
_mm256_xor_si256
(
c2
[
2793
],
_mm256_xor_si256
(
c2
[
992
],
_mm256_xor_si256
(
c2
[
812
],
_mm256_xor_si256
(
c2
[
1354
],
_mm256_xor_si256
(
c2
[
5694
],
_mm256_xor_si256
(
c2
[
5514
],
_mm256_xor_si256
(
c2
[
3533
],
_mm256_xor_si256
(
c2
[
5693
],
_mm256_xor_si256
(
c2
[
3712
],
_mm256_xor_si256
(
c2
[
3713
],
_mm256_xor_si256
(
c2
[
1912
],
_mm256_xor_si256
(
c2
[
1732
],
_mm256_xor_si256
(
c2
[
2472
],
_mm256_xor_si256
(
c2
[
491
],
_mm256_xor_si256
(
c2
[
5170
],
_mm256_xor_si256
(
c2
[
3369
],
_mm256_xor_si256
(
c2
[
3189
],
_mm256_xor_si256
(
c2
[
667
],
_mm256_xor_si256
(
c2
[
3029
],
_mm256_xor_si256
(
c2
[
1048
],
_mm256_xor_si256
(
c2
[
4830
],
_mm256_xor_si256
(
c2
[
2849
],
_mm256_xor_si256
(
c2
[
2131
],
_mm256_xor_si256
(
c2
[
330
],
_mm256_xor_si256
(
c2
[
150
],
_mm256_xor_si256
(
c2
[
2149
],
_mm256_xor_si256
(
c2
[
1969
],
_mm256_xor_si256
(
c2
[
5747
],
_mm256_xor_si256
(
c2
[
5386
],
_mm256_xor_si256
(
c2
[
3405
],
_mm256_xor_si256
(
c2
[
4847
],
_mm256_xor_si256
(
c2
[
3046
],
c2
[
2866
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
72
]
=
_mm256_xor_si256
(
c2
[
4862
],
_mm256_xor_si256
(
c2
[
4682
],
_mm256_xor_si256
(
c2
[
1983
],
_mm256_xor_si256
(
c2
[
1803
],
_mm256_xor_si256
(
c2
[
3965
],
_mm256_xor_si256
(
c2
[
1082
],
_mm256_xor_si256
(
c2
[
3261
],
_mm256_xor_si256
(
c2
[
3081
],
_mm256_xor_si256
(
c2
[
204
],
_mm256_xor_si256
(
c2
[
2724
],
_mm256_xor_si256
(
c2
[
920
],
_mm256_xor_si256
(
c2
[
2380
],
_mm256_xor_si256
(
c2
[
2200
],
_mm256_xor_si256
(
c2
[
2922
],
_mm256_xor_si256
(
c2
[
4917
],
_mm256_xor_si256
(
c2
[
4737
],
_mm256_xor_si256
(
c2
[
4019
],
_mm256_xor_si256
(
c2
[
3839
],
_mm256_xor_si256
(
c2
[
3479
],
_mm256_xor_si256
(
c2
[
78
],
_mm256_xor_si256
(
c2
[
5657
],
_mm256_xor_si256
(
c2
[
978
],
_mm256_xor_si256
(
c2
[
2415
],
_mm256_xor_si256
(
c2
[
4774
],
_mm256_xor_si256
(
c2
[
4594
],
_mm256_xor_si256
(
c2
[
4952
],
_mm256_xor_si256
(
c2
[
2094
],
_mm256_xor_si256
(
c2
[
1914
],
_mm256_xor_si256
(
c2
[
2273
],
_mm256_xor_si256
(
c2
[
2093
],
_mm256_xor_si256
(
c2
[
113
],
_mm256_xor_si256
(
c2
[
4811
],
_mm256_xor_si256
(
c2
[
4631
],
_mm256_xor_si256
(
c2
[
1570
],
_mm256_xor_si256
(
c2
[
5368
],
_mm256_xor_si256
(
c2
[
5188
],
_mm256_xor_si256
(
c2
[
1230
],
_mm256_xor_si256
(
c2
[
4290
],
_mm256_xor_si256
(
c2
[
4308
],
_mm256_xor_si256
(
c2
[
4128
],
_mm256_xor_si256
(
c2
[
1966
],
_mm256_xor_si256
(
c2
[
1786
],
c2
[
1247
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
81
]
=
_mm256_xor_si256
(
c2
[
4680
],
_mm256_xor_si256
(
c2
[
3601
],
_mm256_xor_si256
(
c2
[
3421
],
_mm256_xor_si256
(
c2
[
1801
],
_mm256_xor_si256
(
c2
[
542
],
_mm256_xor_si256
(
c2
[
3963
],
_mm256_xor_si256
(
c2
[
2704
],
_mm256_xor_si256
(
c2
[
3079
],
_mm256_xor_si256
(
c2
[
2000
],
_mm256_xor_si256
(
c2
[
1820
],
_mm256_xor_si256
(
c2
[
202
],
_mm256_xor_si256
(
c2
[
4702
],
_mm256_xor_si256
(
c2
[
2722
],
_mm256_xor_si256
(
c2
[
1463
],
_mm256_xor_si256
(
c2
[
201
],
_mm256_xor_si256
(
c2
[
2198
],
_mm256_xor_si256
(
c2
[
1119
],
_mm256_xor_si256
(
c2
[
939
],
_mm256_xor_si256
(
c2
[
2920
],
_mm256_xor_si256
(
c2
[
1661
],
_mm256_xor_si256
(
c2
[
4735
],
_mm256_xor_si256
(
c2
[
3656
],
_mm256_xor_si256
(
c2
[
3476
],
_mm256_xor_si256
(
c2
[
3837
],
_mm256_xor_si256
(
c2
[
2578
],
_mm256_xor_si256
(
c2
[
3477
],
_mm256_xor_si256
(
c2
[
2218
],
_mm256_xor_si256
(
c2
[
5655
],
_mm256_xor_si256
(
c2
[
4396
],
_mm256_xor_si256
(
c2
[
976
],
_mm256_xor_si256
(
c2
[
5476
],
_mm256_xor_si256
(
c2
[
2413
],
_mm256_xor_si256
(
c2
[
1154
],
_mm256_xor_si256
(
c2
[
4592
],
_mm256_xor_si256
(
c2
[
3333
],
_mm256_xor_si256
(
c2
[
4950
],
_mm256_xor_si256
(
c2
[
3691
],
_mm256_xor_si256
(
c2
[
1912
],
_mm256_xor_si256
(
c2
[
833
],
_mm256_xor_si256
(
c2
[
653
],
_mm256_xor_si256
(
c2
[
2091
],
_mm256_xor_si256
(
c2
[
832
],
_mm256_xor_si256
(
c2
[
111
],
_mm256_xor_si256
(
c2
[
4611
],
_mm256_xor_si256
(
c2
[
4629
],
_mm256_xor_si256
(
c2
[
3370
],
_mm256_xor_si256
(
c2
[
1568
],
_mm256_xor_si256
(
c2
[
309
],
_mm256_xor_si256
(
c2
[
5186
],
_mm256_xor_si256
(
c2
[
3927
],
_mm256_xor_si256
(
c2
[
1228
],
_mm256_xor_si256
(
c2
[
5728
],
_mm256_xor_si256
(
c2
[
4288
],
_mm256_xor_si256
(
c2
[
3029
],
_mm256_xor_si256
(
c2
[
1585
],
_mm256_xor_si256
(
c2
[
4126
],
_mm256_xor_si256
(
c2
[
3047
],
_mm256_xor_si256
(
c2
[
2867
],
_mm256_xor_si256
(
c2
[
1784
],
_mm256_xor_si256
(
c2
[
525
],
_mm256_xor_si256
(
c2
[
1245
],
c2
[
5745
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
90
]
=
_mm256_xor_si256
(
c2
[
2521
],
_mm256_xor_si256
(
c2
[
1639
],
_mm256_xor_si256
(
c2
[
1011
],
c2
[
129
])));
//row: 11
d2
[
99
]
=
_mm256_xor_si256
(
c2
[
362
],
_mm256_xor_si256
(
c2
[
3242
],
_mm256_xor_si256
(
c2
[
5404
],
_mm256_xor_si256
(
c2
[
5040
],
_mm256_xor_si256
(
c2
[
4520
],
_mm256_xor_si256
(
c2
[
1643
],
_mm256_xor_si256
(
c2
[
4343
],
_mm256_xor_si256
(
c2
[
4163
],
_mm256_xor_si256
(
c2
[
3639
],
_mm256_xor_si256
(
c2
[
4541
],
_mm256_xor_si256
(
c2
[
4361
],
_mm256_xor_si256
(
c2
[
417
],
_mm256_xor_si256
(
c2
[
5278
],
_mm256_xor_si256
(
c2
[
4918
],
_mm256_xor_si256
(
c2
[
1337
],
_mm256_xor_si256
(
c2
[
2417
],
_mm256_xor_si256
(
c2
[
4034
],
_mm256_xor_si256
(
c2
[
3854
],
_mm256_xor_si256
(
c2
[
274
],
_mm256_xor_si256
(
c2
[
812
],
_mm256_xor_si256
(
c2
[
632
],
_mm256_xor_si256
(
c2
[
3353
],
_mm256_xor_si256
(
c2
[
3532
],
_mm256_xor_si256
(
c2
[
1732
],
_mm256_xor_si256
(
c2
[
1552
],
_mm256_xor_si256
(
c2
[
311
],
_mm256_xor_si256
(
c2
[
3189
],
_mm256_xor_si256
(
c2
[
3009
],
_mm256_xor_si256
(
c2
[
5526
],
_mm256_xor_si256
(
c2
[
868
],
_mm256_xor_si256
(
c2
[
2669
],
_mm256_xor_si256
(
c2
[
150
],
_mm256_xor_si256
(
c2
[
5729
],
_mm256_xor_si256
(
c2
[
5567
],
_mm256_xor_si256
(
c2
[
3225
],
_mm256_xor_si256
(
c2
[
2866
],
_mm256_xor_si256
(
c2
[
2686
],
c2
[
3765
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
108
]
=
_mm256_xor_si256
(
c2
[
1084
],
_mm256_xor_si256
(
c2
[
904
],
_mm256_xor_si256
(
c2
[
3784
],
_mm256_xor_si256
(
c2
[
187
],
_mm256_xor_si256
(
c2
[
5242
],
_mm256_xor_si256
(
c2
[
5062
],
_mm256_xor_si256
(
c2
[
2185
],
_mm256_xor_si256
(
c2
[
4705
],
_mm256_xor_si256
(
c2
[
199
],
_mm256_xor_si256
(
c2
[
4361
],
_mm256_xor_si256
(
c2
[
4181
],
_mm256_xor_si256
(
c2
[
4903
],
_mm256_xor_si256
(
c2
[
1139
],
_mm256_xor_si256
(
c2
[
959
],
_mm256_xor_si256
(
c2
[
61
],
_mm256_xor_si256
(
c2
[
5460
],
_mm256_xor_si256
(
c2
[
4737
],
_mm256_xor_si256
(
c2
[
1879
],
_mm256_xor_si256
(
c2
[
2959
],
_mm256_xor_si256
(
c2
[
4396
],
_mm256_xor_si256
(
c2
[
816
],
_mm256_xor_si256
(
c2
[
1174
],
_mm256_xor_si256
(
c2
[
4075
],
_mm256_xor_si256
(
c2
[
3895
],
_mm256_xor_si256
(
c2
[
4074
],
_mm256_xor_si256
(
c2
[
2094
],
_mm256_xor_si256
(
c2
[
853
],
_mm256_xor_si256
(
c2
[
3551
],
_mm256_xor_si256
(
c2
[
1410
],
_mm256_xor_si256
(
c2
[
3211
],
_mm256_xor_si256
(
c2
[
512
],
_mm256_xor_si256
(
c2
[
530
],
_mm256_xor_si256
(
c2
[
350
],
_mm256_xor_si256
(
c2
[
3767
],
c2
[
3228
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
117
]
=
_mm256_xor_si256
(
c2
[
3061
],
_mm256_xor_si256
(
c2
[
182
],
_mm256_xor_si256
(
c2
[
2344
],
_mm256_xor_si256
(
c2
[
2162
],
_mm256_xor_si256
(
c2
[
1460
],
_mm256_xor_si256
(
c2
[
4342
],
_mm256_xor_si256
(
c2
[
1283
],
_mm256_xor_si256
(
c2
[
1103
],
_mm256_xor_si256
(
c2
[
919
],
_mm256_xor_si256
(
c2
[
579
],
_mm256_xor_si256
(
c2
[
1481
],
_mm256_xor_si256
(
c2
[
1301
],
_mm256_xor_si256
(
c2
[
3116
],
_mm256_xor_si256
(
c2
[
2218
],
_mm256_xor_si256
(
c2
[
1858
],
_mm256_xor_si256
(
c2
[
4036
],
_mm256_xor_si256
(
c2
[
5116
],
_mm256_xor_si256
(
c2
[
974
],
_mm256_xor_si256
(
c2
[
794
],
_mm256_xor_si256
(
c2
[
2973
],
_mm256_xor_si256
(
c2
[
3511
],
_mm256_xor_si256
(
c2
[
3331
],
_mm256_xor_si256
(
c2
[
293
],
_mm256_xor_si256
(
c2
[
472
],
_mm256_xor_si256
(
c2
[
4431
],
_mm256_xor_si256
(
c2
[
4251
],
_mm256_xor_si256
(
c2
[
3010
],
_mm256_xor_si256
(
c2
[
129
],
_mm256_xor_si256
(
c2
[
5708
],
_mm256_xor_si256
(
c2
[
3567
],
_mm256_xor_si256
(
c2
[
5368
],
_mm256_xor_si256
(
c2
[
2849
],
_mm256_xor_si256
(
c2
[
2669
],
_mm256_xor_si256
(
c2
[
5545
],
_mm256_xor_si256
(
c2
[
2507
],
_mm256_xor_si256
(
c2
[
165
],
_mm256_xor_si256
(
c2
[
5565
],
c2
[
5385
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
126
]
=
_mm256_xor_si256
(
c2
[
904
],
_mm256_xor_si256
(
c2
[
724
],
_mm256_xor_si256
(
c2
[
543
],
_mm256_xor_si256
(
c2
[
3604
],
_mm256_xor_si256
(
c2
[
3423
],
_mm256_xor_si256
(
c2
[
7
],
_mm256_xor_si256
(
c2
[
5585
],
_mm256_xor_si256
(
c2
[
5062
],
_mm256_xor_si256
(
c2
[
4882
],
_mm256_xor_si256
(
c2
[
4701
],
_mm256_xor_si256
(
c2
[
2005
],
_mm256_xor_si256
(
c2
[
1824
],
_mm256_xor_si256
(
c2
[
4525
],
_mm256_xor_si256
(
c2
[
4524
],
_mm256_xor_si256
(
c2
[
4344
],
_mm256_xor_si256
(
c2
[
2722
],
_mm256_xor_si256
(
c2
[
4181
],
_mm256_xor_si256
(
c2
[
4001
],
_mm256_xor_si256
(
c2
[
3820
],
_mm256_xor_si256
(
c2
[
4723
],
_mm256_xor_si256
(
c2
[
4722
],
_mm256_xor_si256
(
c2
[
4542
],
_mm256_xor_si256
(
c2
[
959
],
_mm256_xor_si256
(
c2
[
779
],
_mm256_xor_si256
(
c2
[
598
],
_mm256_xor_si256
(
c2
[
5640
],
_mm256_xor_si256
(
c2
[
5459
],
_mm256_xor_si256
(
c2
[
5280
],
_mm256_xor_si256
(
c2
[
5099
],
_mm256_xor_si256
(
c2
[
1699
],
_mm256_xor_si256
(
c2
[
1518
],
_mm256_xor_si256
(
c2
[
2779
],
_mm256_xor_si256
(
c2
[
2598
],
_mm256_xor_si256
(
c2
[
4216
],
_mm256_xor_si256
(
c2
[
4215
],
_mm256_xor_si256
(
c2
[
4035
],
_mm256_xor_si256
(
c2
[
636
],
_mm256_xor_si256
(
c2
[
455
],
_mm256_xor_si256
(
c2
[
994
],
_mm256_xor_si256
(
c2
[
993
],
_mm256_xor_si256
(
c2
[
813
],
_mm256_xor_si256
(
c2
[
3895
],
_mm256_xor_si256
(
c2
[
3715
],
_mm256_xor_si256
(
c2
[
3534
],
_mm256_xor_si256
(
c2
[
3894
],
_mm256_xor_si256
(
c2
[
3713
],
_mm256_xor_si256
(
c2
[
1914
],
_mm256_xor_si256
(
c2
[
1913
],
_mm256_xor_si256
(
c2
[
1733
],
_mm256_xor_si256
(
c2
[
3529
],
_mm256_xor_si256
(
c2
[
673
],
_mm256_xor_si256
(
c2
[
492
],
_mm256_xor_si256
(
c2
[
3371
],
_mm256_xor_si256
(
c2
[
3370
],
_mm256_xor_si256
(
c2
[
3190
],
_mm256_xor_si256
(
c2
[
1230
],
_mm256_xor_si256
(
c2
[
1049
],
_mm256_xor_si256
(
c2
[
3031
],
_mm256_xor_si256
(
c2
[
2850
],
_mm256_xor_si256
(
c2
[
332
],
_mm256_xor_si256
(
c2
[
331
],
_mm256_xor_si256
(
c2
[
151
],
_mm256_xor_si256
(
c2
[
350
],
_mm256_xor_si256
(
c2
[
170
],
_mm256_xor_si256
(
c2
[
5748
],
_mm256_xor_si256
(
c2
[
3587
],
_mm256_xor_si256
(
c2
[
3406
],
_mm256_xor_si256
(
c2
[
3048
],
_mm256_xor_si256
(
c2
[
3047
],
c2
[
2867
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
135
]
=
_mm256_xor_si256
(
c2
[
363
],
_mm256_xor_si256
(
c2
[
544
],
_mm256_xor_si256
(
c2
[
364
],
_mm256_xor_si256
(
c2
[
3243
],
_mm256_xor_si256
(
c2
[
3244
],
_mm256_xor_si256
(
c2
[
5405
],
_mm256_xor_si256
(
c2
[
5406
],
_mm256_xor_si256
(
c2
[
1984
],
_mm256_xor_si256
(
c2
[
4521
],
_mm256_xor_si256
(
c2
[
4702
],
_mm256_xor_si256
(
c2
[
4522
],
_mm256_xor_si256
(
c2
[
1644
],
_mm256_xor_si256
(
c2
[
1645
],
_mm256_xor_si256
(
c2
[
4164
],
_mm256_xor_si256
(
c2
[
4165
],
_mm256_xor_si256
(
c2
[
3640
],
_mm256_xor_si256
(
c2
[
3821
],
_mm256_xor_si256
(
c2
[
3641
],
_mm256_xor_si256
(
c2
[
4362
],
_mm256_xor_si256
(
c2
[
4363
],
_mm256_xor_si256
(
c2
[
418
],
_mm256_xor_si256
(
c2
[
599
],
_mm256_xor_si256
(
c2
[
419
],
_mm256_xor_si256
(
c2
[
5279
],
_mm256_xor_si256
(
c2
[
5280
],
_mm256_xor_si256
(
c2
[
4919
],
_mm256_xor_si256
(
c2
[
4920
],
_mm256_xor_si256
(
c2
[
1338
],
_mm256_xor_si256
(
c2
[
1339
],
_mm256_xor_si256
(
c2
[
2418
],
_mm256_xor_si256
(
c2
[
2419
],
_mm256_xor_si256
(
c2
[
3855
],
_mm256_xor_si256
(
c2
[
3856
],
_mm256_xor_si256
(
c2
[
275
],
_mm256_xor_si256
(
c2
[
276
],
_mm256_xor_si256
(
c2
[
633
],
_mm256_xor_si256
(
c2
[
634
],
_mm256_xor_si256
(
c2
[
3354
],
_mm256_xor_si256
(
c2
[
3535
],
_mm256_xor_si256
(
c2
[
3355
],
_mm256_xor_si256
(
c2
[
3533
],
_mm256_xor_si256
(
c2
[
3534
],
_mm256_xor_si256
(
c2
[
1553
],
_mm256_xor_si256
(
c2
[
1554
],
_mm256_xor_si256
(
c2
[
312
],
_mm256_xor_si256
(
c2
[
313
],
_mm256_xor_si256
(
c2
[
3010
],
_mm256_xor_si256
(
c2
[
3011
],
_mm256_xor_si256
(
c2
[
869
],
_mm256_xor_si256
(
c2
[
870
],
_mm256_xor_si256
(
c2
[
2670
],
_mm256_xor_si256
(
c2
[
2671
],
_mm256_xor_si256
(
c2
[
5730
],
_mm256_xor_si256
(
c2
[
5731
],
_mm256_xor_si256
(
c2
[
5568
],
_mm256_xor_si256
(
c2
[
5749
],
_mm256_xor_si256
(
c2
[
5569
],
_mm256_xor_si256
(
c2
[
3226
],
_mm256_xor_si256
(
c2
[
3227
],
_mm256_xor_si256
(
c2
[
2687
],
c2
[
2688
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
144
]
=
_mm256_xor_si256
(
c2
[
5580
],
_mm256_xor_si256
(
c2
[
5400
],
_mm256_xor_si256
(
c2
[
1980
],
_mm256_xor_si256
(
c2
[
1800
],
_mm256_xor_si256
(
c2
[
2521
],
_mm256_xor_si256
(
c2
[
4860
],
_mm256_xor_si256
(
c2
[
4680
],
_mm256_xor_si256
(
c2
[
4683
],
_mm256_xor_si256
(
c2
[
1083
],
_mm256_xor_si256
(
c2
[
3979
],
_mm256_xor_si256
(
c2
[
3799
],
_mm256_xor_si256
(
c2
[
379
],
_mm256_xor_si256
(
c2
[
199
],
_mm256_xor_si256
(
c2
[
922
],
_mm256_xor_si256
(
c2
[
3081
],
_mm256_xor_si256
(
c2
[
3442
],
_mm256_xor_si256
(
c2
[
5601
],
_mm256_xor_si256
(
c2
[
2899
],
_mm256_xor_si256
(
c2
[
3098
],
_mm256_xor_si256
(
c2
[
2918
],
_mm256_xor_si256
(
c2
[
5257
],
_mm256_xor_si256
(
c2
[
5077
],
_mm256_xor_si256
(
c2
[
3640
],
_mm256_xor_si256
(
c2
[
40
],
_mm256_xor_si256
(
c2
[
5635
],
_mm256_xor_si256
(
c2
[
5455
],
_mm256_xor_si256
(
c2
[
2035
],
_mm256_xor_si256
(
c2
[
1855
],
_mm256_xor_si256
(
c2
[
4557
],
_mm256_xor_si256
(
c2
[
1137
],
_mm256_xor_si256
(
c2
[
957
],
_mm256_xor_si256
(
c2
[
4197
],
_mm256_xor_si256
(
c2
[
597
],
_mm256_xor_si256
(
c2
[
616
],
_mm256_xor_si256
(
c2
[
2955
],
_mm256_xor_si256
(
c2
[
2775
],
_mm256_xor_si256
(
c2
[
1696
],
_mm256_xor_si256
(
c2
[
3855
],
_mm256_xor_si256
(
c2
[
3133
],
_mm256_xor_si256
(
c2
[
5292
],
_mm256_xor_si256
(
c2
[
5312
],
_mm256_xor_si256
(
c2
[
1892
],
_mm256_xor_si256
(
c2
[
1712
],
_mm256_xor_si256
(
c2
[
5670
],
_mm256_xor_si256
(
c2
[
2070
],
_mm256_xor_si256
(
c2
[
2812
],
_mm256_xor_si256
(
c2
[
2632
],
_mm256_xor_si256
(
c2
[
4971
],
_mm256_xor_si256
(
c2
[
4791
],
_mm256_xor_si256
(
c2
[
2811
],
_mm256_xor_si256
(
c2
[
5150
],
_mm256_xor_si256
(
c2
[
4970
],
_mm256_xor_si256
(
c2
[
831
],
_mm256_xor_si256
(
c2
[
2990
],
_mm256_xor_si256
(
c2
[
5349
],
_mm256_xor_si256
(
c2
[
1929
],
_mm256_xor_si256
(
c2
[
1749
],
_mm256_xor_si256
(
c2
[
2288
],
_mm256_xor_si256
(
c2
[
4447
],
_mm256_xor_si256
(
c2
[
147
],
_mm256_xor_si256
(
c2
[
2486
],
_mm256_xor_si256
(
c2
[
2306
],
_mm256_xor_si256
(
c2
[
1948
],
_mm256_xor_si256
(
c2
[
4107
],
_mm256_xor_si256
(
c2
[
5008
],
_mm256_xor_si256
(
c2
[
1408
],
_mm256_xor_si256
(
c2
[
5026
],
_mm256_xor_si256
(
c2
[
4846
],
_mm256_xor_si256
(
c2
[
1426
],
_mm256_xor_si256
(
c2
[
1246
],
_mm256_xor_si256
(
c2
[
2504
],
_mm256_xor_si256
(
c2
[
4843
],
_mm256_xor_si256
(
c2
[
4663
],
_mm256_xor_si256
(
c2
[
1965
],
_mm256_xor_si256
(
c2
[
4124
],
c2
[
1782
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
153
]
=
_mm256_xor_si256
(
c2
[
722
],
_mm256_xor_si256
(
c2
[
542
],
_mm256_xor_si256
(
c2
[
2341
],
_mm256_xor_si256
(
c2
[
2161
],
_mm256_xor_si256
(
c2
[
3422
],
_mm256_xor_si256
(
c2
[
5221
],
_mm256_xor_si256
(
c2
[
5041
],
_mm256_xor_si256
(
c2
[
5584
],
_mm256_xor_si256
(
c2
[
1444
],
_mm256_xor_si256
(
c2
[
4880
],
_mm256_xor_si256
(
c2
[
4700
],
_mm256_xor_si256
(
c2
[
740
],
_mm256_xor_si256
(
c2
[
560
],
_mm256_xor_si256
(
c2
[
1823
],
_mm256_xor_si256
(
c2
[
3442
],
_mm256_xor_si256
(
c2
[
4343
],
_mm256_xor_si256
(
c2
[
203
],
_mm256_xor_si256
(
c2
[
4341
],
_mm256_xor_si256
(
c2
[
3999
],
_mm256_xor_si256
(
c2
[
3819
],
_mm256_xor_si256
(
c2
[
5618
],
_mm256_xor_si256
(
c2
[
5438
],
_mm256_xor_si256
(
c2
[
4541
],
_mm256_xor_si256
(
c2
[
401
],
_mm256_xor_si256
(
c2
[
777
],
_mm256_xor_si256
(
c2
[
597
],
_mm256_xor_si256
(
c2
[
2396
],
_mm256_xor_si256
(
c2
[
2216
],
_mm256_xor_si256
(
c2
[
5458
],
_mm256_xor_si256
(
c2
[
1498
],
_mm256_xor_si256
(
c2
[
1318
],
_mm256_xor_si256
(
c2
[
5098
],
_mm256_xor_si256
(
c2
[
958
],
_mm256_xor_si256
(
c2
[
1517
],
_mm256_xor_si256
(
c2
[
3316
],
_mm256_xor_si256
(
c2
[
3136
],
_mm256_xor_si256
(
c2
[
2597
],
_mm256_xor_si256
(
c2
[
4216
],
_mm256_xor_si256
(
c2
[
4034
],
_mm256_xor_si256
(
c2
[
5653
],
_mm256_xor_si256
(
c2
[
454
],
_mm256_xor_si256
(
c2
[
2253
],
_mm256_xor_si256
(
c2
[
2073
],
_mm256_xor_si256
(
c2
[
812
],
_mm256_xor_si256
(
c2
[
2431
],
_mm256_xor_si256
(
c2
[
2071
],
_mm256_xor_si256
(
c2
[
3713
],
_mm256_xor_si256
(
c2
[
3533
],
_mm256_xor_si256
(
c2
[
5332
],
_mm256_xor_si256
(
c2
[
5152
],
_mm256_xor_si256
(
c2
[
3712
],
_mm256_xor_si256
(
c2
[
5511
],
_mm256_xor_si256
(
c2
[
5331
],
_mm256_xor_si256
(
c2
[
1732
],
_mm256_xor_si256
(
c2
[
3351
],
_mm256_xor_si256
(
c2
[
491
],
_mm256_xor_si256
(
c2
[
2290
],
_mm256_xor_si256
(
c2
[
2110
],
_mm256_xor_si256
(
c2
[
3189
],
_mm256_xor_si256
(
c2
[
4808
],
_mm256_xor_si256
(
c2
[
1048
],
_mm256_xor_si256
(
c2
[
2847
],
_mm256_xor_si256
(
c2
[
2667
],
_mm256_xor_si256
(
c2
[
2849
],
_mm256_xor_si256
(
c2
[
4468
],
_mm256_xor_si256
(
c2
[
150
],
_mm256_xor_si256
(
c2
[
1769
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
5747
],
_mm256_xor_si256
(
c2
[
1787
],
_mm256_xor_si256
(
c2
[
1607
],
_mm256_xor_si256
(
c2
[
3405
],
_mm256_xor_si256
(
c2
[
5204
],
_mm256_xor_si256
(
c2
[
5024
],
_mm256_xor_si256
(
c2
[
2866
],
c2
[
4485
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
162
]
=
_mm256_xor_si256
(
c2
[
3060
],
_mm256_xor_si256
(
c2
[
1911
],
c2
[
2650
]));
//row: 19
d2
[
171
]
=
_mm256_xor_si256
(
c2
[
1981
],
_mm256_xor_si256
(
c2
[
4861
],
_mm256_xor_si256
(
c2
[
1264
],
_mm256_xor_si256
(
c2
[
2702
],
_mm256_xor_si256
(
c2
[
380
],
_mm256_xor_si256
(
c2
[
3262
],
_mm256_xor_si256
(
c2
[
23
],
_mm256_xor_si256
(
c2
[
5058
],
_mm256_xor_si256
(
c2
[
5258
],
_mm256_xor_si256
(
c2
[
221
],
_mm256_xor_si256
(
c2
[
2036
],
_mm256_xor_si256
(
c2
[
1138
],
_mm256_xor_si256
(
c2
[
778
],
_mm256_xor_si256
(
c2
[
2956
],
_mm256_xor_si256
(
c2
[
4036
],
_mm256_xor_si256
(
c2
[
5473
],
_mm256_xor_si256
(
c2
[
1893
],
_mm256_xor_si256
(
c2
[
2251
],
_mm256_xor_si256
(
c2
[
4972
],
_mm256_xor_si256
(
c2
[
5151
],
_mm256_xor_si256
(
c2
[
3171
],
_mm256_xor_si256
(
c2
[
1930
],
_mm256_xor_si256
(
c2
[
4628
],
_mm256_xor_si256
(
c2
[
2487
],
_mm256_xor_si256
(
c2
[
4288
],
_mm256_xor_si256
(
c2
[
1589
],
_mm256_xor_si256
(
c2
[
1427
],
_mm256_xor_si256
(
c2
[
4844
],
c2
[
4305
]))))))))))))))))))))))))))));
//row: 20
d2
[
180
]
=
_mm256_xor_si256
(
c2
[
3062
],
_mm256_xor_si256
(
c2
[
2882
],
_mm256_xor_si256
(
c2
[
3
],
_mm256_xor_si256
(
c2
[
2165
],
_mm256_xor_si256
(
c2
[
1461
],
_mm256_xor_si256
(
c2
[
1281
],
_mm256_xor_si256
(
c2
[
4163
],
_mm256_xor_si256
(
c2
[
924
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
580
],
_mm256_xor_si256
(
c2
[
400
],
_mm256_xor_si256
(
c2
[
1122
],
_mm256_xor_si256
(
c2
[
3117
],
_mm256_xor_si256
(
c2
[
2937
],
_mm256_xor_si256
(
c2
[
2039
],
_mm256_xor_si256
(
c2
[
1679
],
_mm256_xor_si256
(
c2
[
3857
],
_mm256_xor_si256
(
c2
[
4937
],
_mm256_xor_si256
(
c2
[
615
],
_mm256_xor_si256
(
c2
[
1335
],
_mm256_xor_si256
(
c2
[
2794
],
_mm256_xor_si256
(
c2
[
3152
],
_mm256_xor_si256
(
c2
[
294
],
_mm256_xor_si256
(
c2
[
114
],
_mm256_xor_si256
(
c2
[
293
],
_mm256_xor_si256
(
c2
[
4072
],
_mm256_xor_si256
(
c2
[
2831
],
_mm256_xor_si256
(
c2
[
5529
],
_mm256_xor_si256
(
c2
[
3388
],
_mm256_xor_si256
(
c2
[
5189
],
_mm256_xor_si256
(
c2
[
2490
],
_mm256_xor_si256
(
c2
[
2508
],
_mm256_xor_si256
(
c2
[
2328
],
_mm256_xor_si256
(
c2
[
5745
],
c2
[
5206
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
189
]
=
_mm256_xor_si256
(
c2
[
3422
],
_mm256_xor_si256
(
c2
[
543
],
_mm256_xor_si256
(
c2
[
2705
],
_mm256_xor_si256
(
c2
[
4862
],
_mm256_xor_si256
(
c2
[
1821
],
_mm256_xor_si256
(
c2
[
4703
],
_mm256_xor_si256
(
c2
[
1644
],
_mm256_xor_si256
(
c2
[
1464
],
_mm256_xor_si256
(
c2
[
940
],
_mm256_xor_si256
(
c2
[
1842
],
_mm256_xor_si256
(
c2
[
1662
],
_mm256_xor_si256
(
c2
[
3477
],
_mm256_xor_si256
(
c2
[
2579
],
_mm256_xor_si256
(
c2
[
2219
],
_mm256_xor_si256
(
c2
[
4397
],
_mm256_xor_si256
(
c2
[
5477
],
_mm256_xor_si256
(
c2
[
1335
],
_mm256_xor_si256
(
c2
[
1155
],
_mm256_xor_si256
(
c2
[
3334
],
_mm256_xor_si256
(
c2
[
3872
],
_mm256_xor_si256
(
c2
[
3692
],
_mm256_xor_si256
(
c2
[
654
],
_mm256_xor_si256
(
c2
[
833
],
_mm256_xor_si256
(
c2
[
4792
],
_mm256_xor_si256
(
c2
[
4612
],
_mm256_xor_si256
(
c2
[
3371
],
_mm256_xor_si256
(
c2
[
490
],
_mm256_xor_si256
(
c2
[
310
],
_mm256_xor_si256
(
c2
[
3928
],
_mm256_xor_si256
(
c2
[
5729
],
_mm256_xor_si256
(
c2
[
3210
],
_mm256_xor_si256
(
c2
[
3030
],
_mm256_xor_si256
(
c2
[
2126
],
_mm256_xor_si256
(
c2
[
2868
],
_mm256_xor_si256
(
c2
[
526
],
_mm256_xor_si256
(
c2
[
167
],
c2
[
5746
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
198
]
=
_mm256_xor_si256
(
c2
[
3979
],
c2
[
760
]);
//row: 23
d2
[
207
]
=
_mm256_xor_si256
(
c2
[
722
],
_mm256_xor_si256
(
c2
[
3477
],
c2
[
4411
]));
//row: 24
d2
[
216
]
=
_mm256_xor_si256
(
c2
[
5418
],
_mm256_xor_si256
(
c2
[
1837
],
c2
[
1065
]));
//row: 25
d2
[
225
]
=
_mm256_xor_si256
(
c2
[
4
],
c2
[
5671
]);
//row: 26
d2
[
234
]
=
_mm256_xor_si256
(
c2
[
1263
],
_mm256_xor_si256
(
c2
[
1083
],
_mm256_xor_si256
(
c2
[
1264
],
_mm256_xor_si256
(
c2
[
4143
],
_mm256_xor_si256
(
c2
[
3963
],
_mm256_xor_si256
(
c2
[
4144
],
_mm256_xor_si256
(
c2
[
366
],
_mm256_xor_si256
(
c2
[
547
],
_mm256_xor_si256
(
c2
[
5421
],
_mm256_xor_si256
(
c2
[
5241
],
_mm256_xor_si256
(
c2
[
5422
],
_mm256_xor_si256
(
c2
[
2364
],
_mm256_xor_si256
(
c2
[
2545
],
_mm256_xor_si256
(
c2
[
4884
],
_mm256_xor_si256
(
c2
[
5245
],
_mm256_xor_si256
(
c2
[
5065
],
_mm256_xor_si256
(
c2
[
4540
],
_mm256_xor_si256
(
c2
[
4360
],
_mm256_xor_si256
(
c2
[
4541
],
_mm256_xor_si256
(
c2
[
5082
],
_mm256_xor_si256
(
c2
[
5443
],
_mm256_xor_si256
(
c2
[
5263
],
_mm256_xor_si256
(
c2
[
2560
],
_mm256_xor_si256
(
c2
[
1318
],
_mm256_xor_si256
(
c2
[
1138
],
_mm256_xor_si256
(
c2
[
1319
],
_mm256_xor_si256
(
c2
[
420
],
_mm256_xor_si256
(
c2
[
240
],
_mm256_xor_si256
(
c2
[
421
],
_mm256_xor_si256
(
c2
[
5639
],
_mm256_xor_si256
(
c2
[
61
],
_mm256_xor_si256
(
c2
[
2238
],
_mm256_xor_si256
(
c2
[
2058
],
_mm256_xor_si256
(
c2
[
2239
],
_mm256_xor_si256
(
c2
[
3138
],
_mm256_xor_si256
(
c2
[
3319
],
_mm256_xor_si256
(
c2
[
4575
],
_mm256_xor_si256
(
c2
[
4936
],
_mm256_xor_si256
(
c2
[
4756
],
_mm256_xor_si256
(
c2
[
1175
],
_mm256_xor_si256
(
c2
[
995
],
_mm256_xor_si256
(
c2
[
1176
],
_mm256_xor_si256
(
c2
[
1353
],
_mm256_xor_si256
(
c2
[
1714
],
_mm256_xor_si256
(
c2
[
1534
],
_mm256_xor_si256
(
c2
[
4254
],
_mm256_xor_si256
(
c2
[
4074
],
_mm256_xor_si256
(
c2
[
4255
],
_mm256_xor_si256
(
c2
[
4433
],
_mm256_xor_si256
(
c2
[
4253
],
_mm256_xor_si256
(
c2
[
4434
],
_mm256_xor_si256
(
c2
[
2273
],
_mm256_xor_si256
(
c2
[
2634
],
_mm256_xor_si256
(
c2
[
2454
],
_mm256_xor_si256
(
c2
[
1212
],
_mm256_xor_si256
(
c2
[
1032
],
_mm256_xor_si256
(
c2
[
1213
],
_mm256_xor_si256
(
c2
[
3730
],
_mm256_xor_si256
(
c2
[
4091
],
_mm256_xor_si256
(
c2
[
3911
],
_mm256_xor_si256
(
c2
[
5166
],
_mm256_xor_si256
(
c2
[
1769
],
_mm256_xor_si256
(
c2
[
1589
],
_mm256_xor_si256
(
c2
[
1770
],
_mm256_xor_si256
(
c2
[
3390
],
_mm256_xor_si256
(
c2
[
3571
],
_mm256_xor_si256
(
c2
[
691
],
_mm256_xor_si256
(
c2
[
1052
],
_mm256_xor_si256
(
c2
[
872
],
_mm256_xor_si256
(
c2
[
709
],
_mm256_xor_si256
(
c2
[
529
],
_mm256_xor_si256
(
c2
[
710
],
_mm256_xor_si256
(
c2
[
4126
],
_mm256_xor_si256
(
c2
[
3946
],
_mm256_xor_si256
(
c2
[
4127
],
_mm256_xor_si256
(
c2
[
3407
],
_mm256_xor_si256
(
c2
[
3768
],
c2
[
3588
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
243
]
=
_mm256_xor_si256
(
c2
[
2340
],
c2
[
1908
]);
//row: 28
d2
[
252
]
=
_mm256_xor_si256
(
c2
[
1821
],
_mm256_xor_si256
(
c2
[
2378
],
c2
[
2071
]));
//row: 29
d2
[
261
]
=
_mm256_xor_si256
(
c2
[
904
],
c2
[
4572
]);
//row: 30
d2
[
270
]
=
_mm256_xor_si256
(
c2
[
4178
],
_mm256_xor_si256
(
c2
[
4411
],
_mm256_xor_si256
(
c2
[
1569
],
c2
[
1244
])));
//row: 31
d2
[
279
]
=
_mm256_xor_si256
(
c2
[
2344
],
_mm256_xor_si256
(
c2
[
5224
],
_mm256_xor_si256
(
c2
[
1627
],
_mm256_xor_si256
(
c2
[
743
],
_mm256_xor_si256
(
c2
[
3625
],
_mm256_xor_si256
(
c2
[
566
],
_mm256_xor_si256
(
c2
[
386
],
_mm256_xor_si256
(
c2
[
2900
],
_mm256_xor_si256
(
c2
[
5621
],
_mm256_xor_si256
(
c2
[
764
],
_mm256_xor_si256
(
c2
[
584
],
_mm256_xor_si256
(
c2
[
2399
],
_mm256_xor_si256
(
c2
[
1501
],
_mm256_xor_si256
(
c2
[
1141
],
_mm256_xor_si256
(
c2
[
3319
],
_mm256_xor_si256
(
c2
[
4399
],
_mm256_xor_si256
(
c2
[
257
],
_mm256_xor_si256
(
c2
[
77
],
_mm256_xor_si256
(
c2
[
2256
],
_mm256_xor_si256
(
c2
[
2794
],
_mm256_xor_si256
(
c2
[
2614
],
_mm256_xor_si256
(
c2
[
5335
],
_mm256_xor_si256
(
c2
[
5514
],
_mm256_xor_si256
(
c2
[
3714
],
_mm256_xor_si256
(
c2
[
3534
],
_mm256_xor_si256
(
c2
[
2293
],
_mm256_xor_si256
(
c2
[
5171
],
_mm256_xor_si256
(
c2
[
4991
],
_mm256_xor_si256
(
c2
[
2850
],
_mm256_xor_si256
(
c2
[
4651
],
_mm256_xor_si256
(
c2
[
2132
],
_mm256_xor_si256
(
c2
[
1952
],
_mm256_xor_si256
(
c2
[
1790
],
_mm256_xor_si256
(
c2
[
5207
],
_mm256_xor_si256
(
c2
[
4848
],
c2
[
4668
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
288
]
=
_mm256_xor_si256
(
c2
[
1802
],
_mm256_xor_si256
(
c2
[
1622
],
_mm256_xor_si256
(
c2
[
4682
],
_mm256_xor_si256
(
c2
[
4502
],
_mm256_xor_si256
(
c2
[
905
],
_mm256_xor_si256
(
c2
[
1
],
_mm256_xor_si256
(
c2
[
201
],
_mm256_xor_si256
(
c2
[
21
],
_mm256_xor_si256
(
c2
[
2903
],
_mm256_xor_si256
(
c2
[
5423
],
_mm256_xor_si256
(
c2
[
5079
],
_mm256_xor_si256
(
c2
[
4899
],
_mm256_xor_si256
(
c2
[
5621
],
_mm256_xor_si256
(
c2
[
1857
],
_mm256_xor_si256
(
c2
[
1677
],
_mm256_xor_si256
(
c2
[
959
],
_mm256_xor_si256
(
c2
[
779
],
_mm256_xor_si256
(
c2
[
419
],
_mm256_xor_si256
(
c2
[
2777
],
_mm256_xor_si256
(
c2
[
2597
],
_mm256_xor_si256
(
c2
[
3677
],
_mm256_xor_si256
(
c2
[
5114
],
_mm256_xor_si256
(
c2
[
1714
],
_mm256_xor_si256
(
c2
[
1534
],
_mm256_xor_si256
(
c2
[
1892
],
_mm256_xor_si256
(
c2
[
4592
],
_mm256_xor_si256
(
c2
[
4793
],
_mm256_xor_si256
(
c2
[
4613
],
_mm256_xor_si256
(
c2
[
4972
],
_mm256_xor_si256
(
c2
[
4792
],
_mm256_xor_si256
(
c2
[
2812
],
_mm256_xor_si256
(
c2
[
1751
],
_mm256_xor_si256
(
c2
[
1571
],
_mm256_xor_si256
(
c2
[
4269
],
_mm256_xor_si256
(
c2
[
2308
],
_mm256_xor_si256
(
c2
[
2128
],
_mm256_xor_si256
(
c2
[
3929
],
_mm256_xor_si256
(
c2
[
1230
],
_mm256_xor_si256
(
c2
[
1248
],
_mm256_xor_si256
(
c2
[
1068
],
_mm256_xor_si256
(
c2
[
4665
],
_mm256_xor_si256
(
c2
[
4485
],
c2
[
3946
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
297
]
=
_mm256_xor_si256
(
c2
[
720
],
_mm256_xor_si256
(
c2
[
3600
],
_mm256_xor_si256
(
c2
[
3
],
_mm256_xor_si256
(
c2
[
4878
],
_mm256_xor_si256
(
c2
[
2001
],
_mm256_xor_si256
(
c2
[
4521
],
_mm256_xor_si256
(
c2
[
3997
],
_mm256_xor_si256
(
c2
[
4719
],
_mm256_xor_si256
(
c2
[
1300
],
_mm256_xor_si256
(
c2
[
775
],
_mm256_xor_si256
(
c2
[
5636
],
_mm256_xor_si256
(
c2
[
5276
],
_mm256_xor_si256
(
c2
[
1695
],
_mm256_xor_si256
(
c2
[
2775
],
_mm256_xor_si256
(
c2
[
4212
],
_mm256_xor_si256
(
c2
[
632
],
_mm256_xor_si256
(
c2
[
990
],
_mm256_xor_si256
(
c2
[
3711
],
_mm256_xor_si256
(
c2
[
3890
],
_mm256_xor_si256
(
c2
[
1910
],
_mm256_xor_si256
(
c2
[
669
],
_mm256_xor_si256
(
c2
[
3367
],
_mm256_xor_si256
(
c2
[
1206
],
_mm256_xor_si256
(
c2
[
1226
],
_mm256_xor_si256
(
c2
[
3027
],
_mm256_xor_si256
(
c2
[
328
],
_mm256_xor_si256
(
c2
[
166
],
_mm256_xor_si256
(
c2
[
3583
],
c2
[
3044
]))))))))))))))))))))))))))));
//row: 34
d2
[
306
]
=
_mm256_xor_si256
(
c2
[
5040
],
_mm256_xor_si256
(
c2
[
4860
],
_mm256_xor_si256
(
c2
[
3603
],
_mm256_xor_si256
(
c2
[
2161
],
_mm256_xor_si256
(
c2
[
1981
],
_mm256_xor_si256
(
c2
[
724
],
_mm256_xor_si256
(
c2
[
4143
],
_mm256_xor_si256
(
c2
[
2886
],
_mm256_xor_si256
(
c2
[
901
],
_mm256_xor_si256
(
c2
[
3439
],
_mm256_xor_si256
(
c2
[
3259
],
_mm256_xor_si256
(
c2
[
2002
],
_mm256_xor_si256
(
c2
[
382
],
_mm256_xor_si256
(
c2
[
4884
],
_mm256_xor_si256
(
c2
[
2902
],
_mm256_xor_si256
(
c2
[
1825
],
_mm256_xor_si256
(
c2
[
1645
],
_mm256_xor_si256
(
c2
[
2558
],
_mm256_xor_si256
(
c2
[
2378
],
_mm256_xor_si256
(
c2
[
1121
],
_mm256_xor_si256
(
c2
[
3100
],
_mm256_xor_si256
(
c2
[
2023
],
_mm256_xor_si256
(
c2
[
1843
],
_mm256_xor_si256
(
c2
[
5095
],
_mm256_xor_si256
(
c2
[
4915
],
_mm256_xor_si256
(
c2
[
3658
],
_mm256_xor_si256
(
c2
[
4197
],
_mm256_xor_si256
(
c2
[
4017
],
_mm256_xor_si256
(
c2
[
2760
],
_mm256_xor_si256
(
c2
[
3657
],
_mm256_xor_si256
(
c2
[
2400
],
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
76
],
_mm256_xor_si256
(
c2
[
4578
],
_mm256_xor_si256
(
c2
[
1156
],
_mm256_xor_si256
(
c2
[
5658
],
_mm256_xor_si256
(
c2
[
2593
],
_mm256_xor_si256
(
c2
[
1516
],
_mm256_xor_si256
(
c2
[
1336
],
_mm256_xor_si256
(
c2
[
4952
],
_mm256_xor_si256
(
c2
[
4772
],
_mm256_xor_si256
(
c2
[
3515
],
_mm256_xor_si256
(
c2
[
5130
],
_mm256_xor_si256
(
c2
[
4053
],
_mm256_xor_si256
(
c2
[
3873
],
_mm256_xor_si256
(
c2
[
2272
],
_mm256_xor_si256
(
c2
[
2092
],
_mm256_xor_si256
(
c2
[
835
],
_mm256_xor_si256
(
c2
[
2451
],
_mm256_xor_si256
(
c2
[
2271
],
_mm256_xor_si256
(
c2
[
1014
],
_mm256_xor_si256
(
c2
[
291
],
_mm256_xor_si256
(
c2
[
4973
],
_mm256_xor_si256
(
c2
[
4793
],
_mm256_xor_si256
(
c2
[
4989
],
_mm256_xor_si256
(
c2
[
4809
],
_mm256_xor_si256
(
c2
[
3552
],
_mm256_xor_si256
(
c2
[
1748
],
_mm256_xor_si256
(
c2
[
671
],
_mm256_xor_si256
(
c2
[
491
],
_mm256_xor_si256
(
c2
[
5546
],
_mm256_xor_si256
(
c2
[
5366
],
_mm256_xor_si256
(
c2
[
4109
],
_mm256_xor_si256
(
c2
[
1408
],
_mm256_xor_si256
(
c2
[
151
],
_mm256_xor_si256
(
c2
[
4468
],
_mm256_xor_si256
(
c2
[
3391
],
_mm256_xor_si256
(
c2
[
3211
],
_mm256_xor_si256
(
c2
[
4486
],
_mm256_xor_si256
(
c2
[
4306
],
_mm256_xor_si256
(
c2
[
3049
],
_mm256_xor_si256
(
c2
[
2144
],
_mm256_xor_si256
(
c2
[
1964
],
_mm256_xor_si256
(
c2
[
707
],
_mm256_xor_si256
(
c2
[
1425
],
_mm256_xor_si256
(
c2
[
348
],
c2
[
168
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
315
]
=
_mm256_xor_si256
(
c2
[
3
],
_mm256_xor_si256
(
c2
[
5582
],
_mm256_xor_si256
(
c2
[
2703
],
_mm256_xor_si256
(
c2
[
4865
],
_mm256_xor_si256
(
c2
[
4161
],
_mm256_xor_si256
(
c2
[
3981
],
_mm256_xor_si256
(
c2
[
1104
],
_mm256_xor_si256
(
c2
[
3624
],
_mm256_xor_si256
(
c2
[
5059
],
_mm256_xor_si256
(
c2
[
3280
],
_mm256_xor_si256
(
c2
[
3100
],
_mm256_xor_si256
(
c2
[
3822
],
_mm256_xor_si256
(
c2
[
58
],
_mm256_xor_si256
(
c2
[
5637
],
_mm256_xor_si256
(
c2
[
4739
],
_mm256_xor_si256
(
c2
[
4379
],
_mm256_xor_si256
(
c2
[
798
],
_mm256_xor_si256
(
c2
[
1878
],
_mm256_xor_si256
(
c2
[
3315
],
_mm256_xor_si256
(
c2
[
5494
],
_mm256_xor_si256
(
c2
[
93
],
_mm256_xor_si256
(
c2
[
1714
],
_mm256_xor_si256
(
c2
[
2994
],
_mm256_xor_si256
(
c2
[
2814
],
_mm256_xor_si256
(
c2
[
2993
],
_mm256_xor_si256
(
c2
[
1013
],
_mm256_xor_si256
(
c2
[
5531
],
_mm256_xor_si256
(
c2
[
2470
],
_mm256_xor_si256
(
c2
[
329
],
_mm256_xor_si256
(
c2
[
2130
],
_mm256_xor_si256
(
c2
[
5190
],
_mm256_xor_si256
(
c2
[
5208
],
_mm256_xor_si256
(
c2
[
5028
],
_mm256_xor_si256
(
c2
[
2686
],
c2
[
2147
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
324
]
=
_mm256_xor_si256
(
c2
[
4503
],
_mm256_xor_si256
(
c2
[
220
],
c2
[
4806
]));
//row: 37
d2
[
333
]
=
_mm256_xor_si256
(
c2
[
543
],
_mm256_xor_si256
(
c2
[
4681
],
_mm256_xor_si256
(
c2
[
3423
],
_mm256_xor_si256
(
c2
[
1802
],
_mm256_xor_si256
(
c2
[
5585
],
_mm256_xor_si256
(
c2
[
3964
],
_mm256_xor_si256
(
c2
[
4701
],
_mm256_xor_si256
(
c2
[
3080
],
_mm256_xor_si256
(
c2
[
1824
],
_mm256_xor_si256
(
c2
[
203
],
_mm256_xor_si256
(
c2
[
4344
],
_mm256_xor_si256
(
c2
[
2903
],
_mm256_xor_si256
(
c2
[
2723
],
_mm256_xor_si256
(
c2
[
3820
],
_mm256_xor_si256
(
c2
[
2199
],
_mm256_xor_si256
(
c2
[
4542
],
_mm256_xor_si256
(
c2
[
3101
],
_mm256_xor_si256
(
c2
[
2921
],
_mm256_xor_si256
(
c2
[
598
],
_mm256_xor_si256
(
c2
[
4736
],
_mm256_xor_si256
(
c2
[
5459
],
_mm256_xor_si256
(
c2
[
3838
],
_mm256_xor_si256
(
c2
[
5099
],
_mm256_xor_si256
(
c2
[
3478
],
_mm256_xor_si256
(
c2
[
1518
],
_mm256_xor_si256
(
c2
[
5656
],
_mm256_xor_si256
(
c2
[
2598
],
_mm256_xor_si256
(
c2
[
977
],
_mm256_xor_si256
(
c2
[
4035
],
_mm256_xor_si256
(
c2
[
2594
],
_mm256_xor_si256
(
c2
[
2414
],
_mm256_xor_si256
(
c2
[
455
],
_mm256_xor_si256
(
c2
[
4593
],
_mm256_xor_si256
(
c2
[
813
],
_mm256_xor_si256
(
c2
[
5131
],
_mm256_xor_si256
(
c2
[
4951
],
_mm256_xor_si256
(
c2
[
3534
],
_mm256_xor_si256
(
c2
[
1913
],
_mm256_xor_si256
(
c2
[
3713
],
_mm256_xor_si256
(
c2
[
2092
],
_mm256_xor_si256
(
c2
[
1733
],
_mm256_xor_si256
(
c2
[
292
],
_mm256_xor_si256
(
c2
[
112
],
_mm256_xor_si256
(
c2
[
492
],
_mm256_xor_si256
(
c2
[
4630
],
_mm256_xor_si256
(
c2
[
3190
],
_mm256_xor_si256
(
c2
[
1749
],
_mm256_xor_si256
(
c2
[
1569
],
_mm256_xor_si256
(
c2
[
1049
],
_mm256_xor_si256
(
c2
[
5187
],
_mm256_xor_si256
(
c2
[
2850
],
_mm256_xor_si256
(
c2
[
1229
],
_mm256_xor_si256
(
c2
[
151
],
_mm256_xor_si256
(
c2
[
4469
],
_mm256_xor_si256
(
c2
[
4289
],
_mm256_xor_si256
(
c2
[
5748
],
_mm256_xor_si256
(
c2
[
4127
],
_mm256_xor_si256
(
c2
[
3406
],
_mm256_xor_si256
(
c2
[
1785
],
_mm256_xor_si256
(
c2
[
2867
],
_mm256_xor_si256
(
c2
[
1426
],
c2
[
1246
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
342
]
=
_mm256_xor_si256
(
c2
[
720
],
_mm256_xor_si256
(
c2
[
540
],
_mm256_xor_si256
(
c2
[
3420
],
_mm256_xor_si256
(
c2
[
5582
],
_mm256_xor_si256
(
c2
[
4878
],
_mm256_xor_si256
(
c2
[
4698
],
_mm256_xor_si256
(
c2
[
1821
],
_mm256_xor_si256
(
c2
[
4341
],
_mm256_xor_si256
(
c2
[
198
],
_mm256_xor_si256
(
c2
[
3997
],
_mm256_xor_si256
(
c2
[
3817
],
_mm256_xor_si256
(
c2
[
4539
],
_mm256_xor_si256
(
c2
[
775
],
_mm256_xor_si256
(
c2
[
595
],
_mm256_xor_si256
(
c2
[
5456
],
_mm256_xor_si256
(
c2
[
5096
],
_mm256_xor_si256
(
c2
[
1515
],
_mm256_xor_si256
(
c2
[
2595
],
_mm256_xor_si256
(
c2
[
4032
],
_mm256_xor_si256
(
c2
[
452
],
_mm256_xor_si256
(
c2
[
810
],
_mm256_xor_si256
(
c2
[
1172
],
_mm256_xor_si256
(
c2
[
3711
],
_mm256_xor_si256
(
c2
[
3531
],
_mm256_xor_si256
(
c2
[
3710
],
_mm256_xor_si256
(
c2
[
1730
],
_mm256_xor_si256
(
c2
[
489
],
_mm256_xor_si256
(
c2
[
3187
],
_mm256_xor_si256
(
c2
[
1046
],
_mm256_xor_si256
(
c2
[
2847
],
_mm256_xor_si256
(
c2
[
148
],
_mm256_xor_si256
(
c2
[
166
],
_mm256_xor_si256
(
c2
[
5745
],
_mm256_xor_si256
(
c2
[
3403
],
c2
[
2864
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
351
]
=
_mm256_xor_si256
(
c2
[
3064
],
_mm256_xor_si256
(
c2
[
2884
],
_mm256_xor_si256
(
c2
[
185
],
_mm256_xor_si256
(
c2
[
5
],
_mm256_xor_si256
(
c2
[
2167
],
_mm256_xor_si256
(
c2
[
4143
],
_mm256_xor_si256
(
c2
[
1463
],
_mm256_xor_si256
(
c2
[
1283
],
_mm256_xor_si256
(
c2
[
4165
],
_mm256_xor_si256
(
c2
[
926
],
_mm256_xor_si256
(
c2
[
582
],
_mm256_xor_si256
(
c2
[
402
],
_mm256_xor_si256
(
c2
[
1124
],
_mm256_xor_si256
(
c2
[
3119
],
_mm256_xor_si256
(
c2
[
2939
],
_mm256_xor_si256
(
c2
[
2221
],
_mm256_xor_si256
(
c2
[
2041
],
_mm256_xor_si256
(
c2
[
1681
],
_mm256_xor_si256
(
c2
[
4039
],
_mm256_xor_si256
(
c2
[
3859
],
_mm256_xor_si256
(
c2
[
4939
],
_mm256_xor_si256
(
c2
[
617
],
_mm256_xor_si256
(
c2
[
2976
],
_mm256_xor_si256
(
c2
[
2796
],
_mm256_xor_si256
(
c2
[
3154
],
_mm256_xor_si256
(
c2
[
296
],
_mm256_xor_si256
(
c2
[
116
],
_mm256_xor_si256
(
c2
[
475
],
_mm256_xor_si256
(
c2
[
295
],
_mm256_xor_si256
(
c2
[
4074
],
_mm256_xor_si256
(
c2
[
3013
],
_mm256_xor_si256
(
c2
[
2833
],
_mm256_xor_si256
(
c2
[
5531
],
_mm256_xor_si256
(
c2
[
127
],
_mm256_xor_si256
(
c2
[
3570
],
_mm256_xor_si256
(
c2
[
3390
],
_mm256_xor_si256
(
c2
[
5191
],
_mm256_xor_si256
(
c2
[
2492
],
_mm256_xor_si256
(
c2
[
2510
],
_mm256_xor_si256
(
c2
[
2330
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
5747
],
c2
[
5208
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
360
]
=
_mm256_xor_si256
(
c2
[
1982
],
_mm256_xor_si256
(
c2
[
1443
],
_mm256_xor_si256
(
c2
[
4862
],
_mm256_xor_si256
(
c2
[
4323
],
_mm256_xor_si256
(
c2
[
1265
],
_mm256_xor_si256
(
c2
[
726
],
_mm256_xor_si256
(
c2
[
381
],
_mm256_xor_si256
(
c2
[
5601
],
_mm256_xor_si256
(
c2
[
3263
],
_mm256_xor_si256
(
c2
[
2724
],
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
5424
],
_mm256_xor_si256
(
c2
[
5244
],
_mm256_xor_si256
(
c2
[
5259
],
_mm256_xor_si256
(
c2
[
4720
],
_mm256_xor_si256
(
c2
[
222
],
_mm256_xor_si256
(
c2
[
5622
],
_mm256_xor_si256
(
c2
[
5442
],
_mm256_xor_si256
(
c2
[
1116
],
_mm256_xor_si256
(
c2
[
2037
],
_mm256_xor_si256
(
c2
[
1498
],
_mm256_xor_si256
(
c2
[
1139
],
_mm256_xor_si256
(
c2
[
600
],
_mm256_xor_si256
(
c2
[
779
],
_mm256_xor_si256
(
c2
[
240
],
_mm256_xor_si256
(
c2
[
2957
],
_mm256_xor_si256
(
c2
[
2418
],
_mm256_xor_si256
(
c2
[
4037
],
_mm256_xor_si256
(
c2
[
3498
],
_mm256_xor_si256
(
c2
[
5474
],
_mm256_xor_si256
(
c2
[
5115
],
_mm256_xor_si256
(
c2
[
4935
],
_mm256_xor_si256
(
c2
[
1894
],
_mm256_xor_si256
(
c2
[
1355
],
_mm256_xor_si256
(
c2
[
2252
],
_mm256_xor_si256
(
c2
[
1893
],
_mm256_xor_si256
(
c2
[
1713
],
_mm256_xor_si256
(
c2
[
4973
],
_mm256_xor_si256
(
c2
[
4434
],
_mm256_xor_si256
(
c2
[
5152
],
_mm256_xor_si256
(
c2
[
4613
],
_mm256_xor_si256
(
c2
[
3172
],
_mm256_xor_si256
(
c2
[
2813
],
_mm256_xor_si256
(
c2
[
2633
],
_mm256_xor_si256
(
c2
[
1931
],
_mm256_xor_si256
(
c2
[
1392
],
_mm256_xor_si256
(
c2
[
4629
],
_mm256_xor_si256
(
c2
[
4270
],
_mm256_xor_si256
(
c2
[
4090
],
_mm256_xor_si256
(
c2
[
2488
],
_mm256_xor_si256
(
c2
[
1949
],
_mm256_xor_si256
(
c2
[
4289
],
_mm256_xor_si256
(
c2
[
3750
],
_mm256_xor_si256
(
c2
[
1590
],
_mm256_xor_si256
(
c2
[
1231
],
_mm256_xor_si256
(
c2
[
1051
],
_mm256_xor_si256
(
c2
[
1428
],
_mm256_xor_si256
(
c2
[
889
],
_mm256_xor_si256
(
c2
[
4845
],
_mm256_xor_si256
(
c2
[
4306
],
_mm256_xor_si256
(
c2
[
4306
],
_mm256_xor_si256
(
c2
[
3947
],
c2
[
3767
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
369
]
=
_mm256_xor_si256
(
c2
[
3960
],
_mm256_xor_si256
(
c2
[
3780
],
_mm256_xor_si256
(
c2
[
901
],
_mm256_xor_si256
(
c2
[
3063
],
_mm256_xor_si256
(
c2
[
2359
],
_mm256_xor_si256
(
c2
[
2179
],
_mm256_xor_si256
(
c2
[
5061
],
_mm256_xor_si256
(
c2
[
1822
],
_mm256_xor_si256
(
c2
[
2899
],
_mm256_xor_si256
(
c2
[
1478
],
_mm256_xor_si256
(
c2
[
1298
],
_mm256_xor_si256
(
c2
[
2020
],
_mm256_xor_si256
(
c2
[
4015
],
_mm256_xor_si256
(
c2
[
3835
],
_mm256_xor_si256
(
c2
[
2937
],
_mm256_xor_si256
(
c2
[
2577
],
_mm256_xor_si256
(
c2
[
4755
],
_mm256_xor_si256
(
c2
[
76
],
_mm256_xor_si256
(
c2
[
1513
],
_mm256_xor_si256
(
c2
[
3692
],
_mm256_xor_si256
(
c2
[
4050
],
_mm256_xor_si256
(
c2
[
2791
],
_mm256_xor_si256
(
c2
[
1192
],
_mm256_xor_si256
(
c2
[
1012
],
_mm256_xor_si256
(
c2
[
1191
],
_mm256_xor_si256
(
c2
[
4970
],
_mm256_xor_si256
(
c2
[
3729
],
_mm256_xor_si256
(
c2
[
668
],
_mm256_xor_si256
(
c2
[
4286
],
_mm256_xor_si256
(
c2
[
328
],
_mm256_xor_si256
(
c2
[
3388
],
_mm256_xor_si256
(
c2
[
3406
],
_mm256_xor_si256
(
c2
[
3226
],
_mm256_xor_si256
(
c2
[
884
],
c2
[
345
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc2_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
#define scalar_xor(a,b) ((a)^(b))
// generated code for Zc=2, byte encoding
static
inline
void
ldpc_BG2_Zc2_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
uint8_t
*
csimd
=
(
uint8_t
*
)
c
,
*
dsimd
=
(
uint8_t
*
)
d
;
uint8_t
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
2
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
c2
[
37
]))))))))))))))))))))))))));
//row: 1
d2
[
2
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
c2
[
37
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
4
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
c2
[
37
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
6
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
c2
[
37
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
8
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
c2
[
36
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
10
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
c2
[
36
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
12
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
37
],
c2
[
36
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
14
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
c2
[
37
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
16
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
c2
[
37
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
18
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
c2
[
36
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
20
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
24
],
c2
[
29
])));
//row: 11
d2
[
22
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
c2
[
36
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
24
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
c2
[
37
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
26
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
c2
[
37
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
28
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
c2
[
37
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
30
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
c2
[
36
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
32
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
37
],
c2
[
36
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
34
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
37
],
c2
[
37
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
36
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
24
],
c2
[
28
]));
//row: 19
d2
[
38
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
c2
[
36
]))))))))))))))))))))))))))));
//row: 20
d2
[
40
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
c2
[
36
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
42
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
c2
[
37
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
44
]
=
scalar_xor
(
c2
[
4
],
c2
[
9
]);
//row: 23
d2
[
46
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
13
],
c2
[
20
]));
//row: 24
d2
[
48
]
=
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
9
],
c2
[
36
]));
//row: 25
d2
[
50
]
=
scalar_xor
(
c2
[
0
],
c2
[
20
]);
//row: 26
d2
[
52
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
c2
[
37
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
54
]
=
scalar_xor
(
c2
[
0
],
c2
[
25
]);
//row: 28
d2
[
56
]
=
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
9
],
c2
[
21
]));
//row: 29
d2
[
58
]
=
scalar_xor
(
c2
[
0
],
c2
[
16
]);
//row: 30
d2
[
60
]
=
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
29
],
c2
[
36
])));
//row: 31
d2
[
62
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
c2
[
36
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
64
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
c2
[
37
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
66
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
c2
[
36
]))))))))))))))))))))))))))));
//row: 34
d2
[
68
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
c2
[
37
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
70
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
c2
[
36
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
72
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
8
],
c2
[
28
]));
//row: 37
d2
[
74
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
c2
[
36
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
76
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
c2
[
37
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
78
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
c2
[
37
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
80
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
28
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
36
],
c2
[
37
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
82
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
4
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
5
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
12
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
13
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
20
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
21
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
29
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
37
],
scalar_xor
(
c2
[
36
],
scalar_xor
(
c2
[
37
],
c2
[
37
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc320_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=320, byte encoding
static
inline
void
ldpc_BG2_Zc320_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m256i
*
csimd
=
(
__m256i
*
)
c
,
*
dsimd
=
(
__m256i
*
)
d
;
__m256i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
10
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm256_xor_si256
(
c2
[
6209
],
_mm256_xor_si256
(
c2
[
1604
],
_mm256_xor_si256
(
c2
[
3800
],
_mm256_xor_si256
(
c2
[
6229
],
_mm256_xor_si256
(
c2
[
5822
],
_mm256_xor_si256
(
c2
[
1021
],
_mm256_xor_si256
(
c2
[
6249
],
_mm256_xor_si256
(
c2
[
2840
],
_mm256_xor_si256
(
c2
[
6269
],
_mm256_xor_si256
(
c2
[
5463
],
_mm256_xor_si256
(
c2
[
463
],
_mm256_xor_si256
(
c2
[
6289
],
_mm256_xor_si256
(
c2
[
1680
],
_mm256_xor_si256
(
c2
[
1083
],
_mm256_xor_si256
(
c2
[
6309
],
_mm256_xor_si256
(
c2
[
3504
],
_mm256_xor_si256
(
c2
[
6329
],
_mm256_xor_si256
(
c2
[
4722
],
_mm256_xor_si256
(
c2
[
2320
],
_mm256_xor_si256
(
c2
[
6349
],
_mm256_xor_si256
(
c2
[
4941
],
_mm256_xor_si256
(
c2
[
6369
],
_mm256_xor_si256
(
c2
[
2363
],
_mm256_xor_si256
(
c2
[
4161
],
_mm256_xor_si256
(
c2
[
6389
],
_mm256_xor_si256
(
c2
[
4581
],
c2
[
2781
]))))))))))))))))))))))))));
//row: 1
d2
[
10
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
6209
],
_mm256_xor_si256
(
c2
[
1604
],
_mm256_xor_si256
(
c2
[
3800
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
6229
],
_mm256_xor_si256
(
c2
[
5822
],
_mm256_xor_si256
(
c2
[
1021
],
_mm256_xor_si256
(
c2
[
40
],
_mm256_xor_si256
(
c2
[
6249
],
_mm256_xor_si256
(
c2
[
2840
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
6269
],
_mm256_xor_si256
(
c2
[
5463
],
_mm256_xor_si256
(
c2
[
463
],
_mm256_xor_si256
(
c2
[
6289
],
_mm256_xor_si256
(
c2
[
1680
],
_mm256_xor_si256
(
c2
[
1083
],
_mm256_xor_si256
(
c2
[
6309
],
_mm256_xor_si256
(
c2
[
3504
],
_mm256_xor_si256
(
c2
[
120
],
_mm256_xor_si256
(
c2
[
6329
],
_mm256_xor_si256
(
c2
[
4722
],
_mm256_xor_si256
(
c2
[
2320
],
_mm256_xor_si256
(
c2
[
6349
],
_mm256_xor_si256
(
c2
[
4941
],
_mm256_xor_si256
(
c2
[
6369
],
_mm256_xor_si256
(
c2
[
2363
],
_mm256_xor_si256
(
c2
[
4161
],
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
6389
],
_mm256_xor_si256
(
c2
[
4581
],
c2
[
2781
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
20
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
6209
],
_mm256_xor_si256
(
c2
[
1804
],
_mm256_xor_si256
(
c2
[
1604
],
_mm256_xor_si256
(
c2
[
3800
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
6229
],
_mm256_xor_si256
(
c2
[
5822
],
_mm256_xor_si256
(
c2
[
1021
],
_mm256_xor_si256
(
c2
[
40
],
_mm256_xor_si256
(
c2
[
6249
],
_mm256_xor_si256
(
c2
[
2840
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
6269
],
_mm256_xor_si256
(
c2
[
5663
],
_mm256_xor_si256
(
c2
[
5463
],
_mm256_xor_si256
(
c2
[
463
],
_mm256_xor_si256
(
c2
[
80
],
_mm256_xor_si256
(
c2
[
6289
],
_mm256_xor_si256
(
c2
[
1680
],
_mm256_xor_si256
(
c2
[
1083
],
_mm256_xor_si256
(
c2
[
100
],
_mm256_xor_si256
(
c2
[
6309
],
_mm256_xor_si256
(
c2
[
3504
],
_mm256_xor_si256
(
c2
[
120
],
_mm256_xor_si256
(
c2
[
6329
],
_mm256_xor_si256
(
c2
[
4922
],
_mm256_xor_si256
(
c2
[
4722
],
_mm256_xor_si256
(
c2
[
2320
],
_mm256_xor_si256
(
c2
[
140
],
_mm256_xor_si256
(
c2
[
6349
],
_mm256_xor_si256
(
c2
[
4941
],
_mm256_xor_si256
(
c2
[
160
],
_mm256_xor_si256
(
c2
[
6369
],
_mm256_xor_si256
(
c2
[
2363
],
_mm256_xor_si256
(
c2
[
4161
],
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
6389
],
_mm256_xor_si256
(
c2
[
4781
],
_mm256_xor_si256
(
c2
[
4581
],
c2
[
2781
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
30
]
=
_mm256_xor_si256
(
c2
[
6209
],
_mm256_xor_si256
(
c2
[
1604
],
_mm256_xor_si256
(
c2
[
3800
],
_mm256_xor_si256
(
c2
[
6229
],
_mm256_xor_si256
(
c2
[
5822
],
_mm256_xor_si256
(
c2
[
1221
],
_mm256_xor_si256
(
c2
[
1021
],
_mm256_xor_si256
(
c2
[
6249
],
_mm256_xor_si256
(
c2
[
3040
],
_mm256_xor_si256
(
c2
[
2840
],
_mm256_xor_si256
(
c2
[
6269
],
_mm256_xor_si256
(
c2
[
5463
],
_mm256_xor_si256
(
c2
[
463
],
_mm256_xor_si256
(
c2
[
6289
],
_mm256_xor_si256
(
c2
[
1680
],
_mm256_xor_si256
(
c2
[
1283
],
_mm256_xor_si256
(
c2
[
1083
],
_mm256_xor_si256
(
c2
[
6309
],
_mm256_xor_si256
(
c2
[
3704
],
_mm256_xor_si256
(
c2
[
3504
],
_mm256_xor_si256
(
c2
[
6329
],
_mm256_xor_si256
(
c2
[
4722
],
_mm256_xor_si256
(
c2
[
2520
],
_mm256_xor_si256
(
c2
[
2320
],
_mm256_xor_si256
(
c2
[
6349
],
_mm256_xor_si256
(
c2
[
5141
],
_mm256_xor_si256
(
c2
[
4941
],
_mm256_xor_si256
(
c2
[
6369
],
_mm256_xor_si256
(
c2
[
2363
],
_mm256_xor_si256
(
c2
[
4361
],
_mm256_xor_si256
(
c2
[
4161
],
_mm256_xor_si256
(
c2
[
6389
],
_mm256_xor_si256
(
c2
[
4581
],
_mm256_xor_si256
(
c2
[
2981
],
c2
[
2781
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
40
]
=
_mm256_xor_si256
(
c2
[
5804
],
_mm256_xor_si256
(
c2
[
5604
],
_mm256_xor_si256
(
c2
[
1009
],
_mm256_xor_si256
(
c2
[
3205
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
5824
],
_mm256_xor_si256
(
c2
[
5624
],
_mm256_xor_si256
(
c2
[
5227
],
_mm256_xor_si256
(
c2
[
426
],
_mm256_xor_si256
(
c2
[
1624
],
_mm256_xor_si256
(
c2
[
5844
],
_mm256_xor_si256
(
c2
[
5644
],
_mm256_xor_si256
(
c2
[
2245
],
_mm256_xor_si256
(
c2
[
5864
],
_mm256_xor_si256
(
c2
[
5664
],
_mm256_xor_si256
(
c2
[
4868
],
_mm256_xor_si256
(
c2
[
6267
],
_mm256_xor_si256
(
c2
[
5684
],
_mm256_xor_si256
(
c2
[
1085
],
_mm256_xor_si256
(
c2
[
488
],
_mm256_xor_si256
(
c2
[
5704
],
_mm256_xor_si256
(
c2
[
2909
],
_mm256_xor_si256
(
c2
[
5924
],
_mm256_xor_si256
(
c2
[
5724
],
_mm256_xor_si256
(
c2
[
4127
],
_mm256_xor_si256
(
c2
[
1725
],
_mm256_xor_si256
(
c2
[
5744
],
_mm256_xor_si256
(
c2
[
4346
],
_mm256_xor_si256
(
c2
[
5764
],
_mm256_xor_si256
(
c2
[
1768
],
_mm256_xor_si256
(
c2
[
3566
],
_mm256_xor_si256
(
c2
[
5984
],
_mm256_xor_si256
(
c2
[
5784
],
_mm256_xor_si256
(
c2
[
3986
],
c2
[
2186
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
50
]
=
_mm256_xor_si256
(
c2
[
2
],
_mm256_xor_si256
(
c2
[
6201
],
_mm256_xor_si256
(
c2
[
1606
],
_mm256_xor_si256
(
c2
[
3802
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
22
],
_mm256_xor_si256
(
c2
[
6221
],
_mm256_xor_si256
(
c2
[
5824
],
_mm256_xor_si256
(
c2
[
1023
],
_mm256_xor_si256
(
c2
[
624
],
_mm256_xor_si256
(
c2
[
42
],
_mm256_xor_si256
(
c2
[
6241
],
_mm256_xor_si256
(
c2
[
2842
],
_mm256_xor_si256
(
c2
[
62
],
_mm256_xor_si256
(
c2
[
6261
],
_mm256_xor_si256
(
c2
[
5465
],
_mm256_xor_si256
(
c2
[
465
],
_mm256_xor_si256
(
c2
[
6281
],
_mm256_xor_si256
(
c2
[
1682
],
_mm256_xor_si256
(
c2
[
1085
],
_mm256_xor_si256
(
c2
[
6301
],
_mm256_xor_si256
(
c2
[
3506
],
_mm256_xor_si256
(
c2
[
2904
],
_mm256_xor_si256
(
c2
[
122
],
_mm256_xor_si256
(
c2
[
6321
],
_mm256_xor_si256
(
c2
[
4724
],
_mm256_xor_si256
(
c2
[
2322
],
_mm256_xor_si256
(
c2
[
6341
],
_mm256_xor_si256
(
c2
[
4943
],
_mm256_xor_si256
(
c2
[
2744
],
_mm256_xor_si256
(
c2
[
6361
],
_mm256_xor_si256
(
c2
[
2365
],
_mm256_xor_si256
(
c2
[
4163
],
_mm256_xor_si256
(
c2
[
182
],
_mm256_xor_si256
(
c2
[
6381
],
_mm256_xor_si256
(
c2
[
4583
],
c2
[
2783
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
60
]
=
_mm256_xor_si256
(
c2
[
4004
],
_mm256_xor_si256
(
c2
[
3804
],
_mm256_xor_si256
(
c2
[
5608
],
_mm256_xor_si256
(
c2
[
1405
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
4024
],
_mm256_xor_si256
(
c2
[
3824
],
_mm256_xor_si256
(
c2
[
3427
],
_mm256_xor_si256
(
c2
[
5025
],
_mm256_xor_si256
(
c2
[
4044
],
_mm256_xor_si256
(
c2
[
3844
],
_mm256_xor_si256
(
c2
[
445
],
_mm256_xor_si256
(
c2
[
4064
],
_mm256_xor_si256
(
c2
[
3864
],
_mm256_xor_si256
(
c2
[
3068
],
_mm256_xor_si256
(
c2
[
4467
],
_mm256_xor_si256
(
c2
[
3884
],
_mm256_xor_si256
(
c2
[
5684
],
_mm256_xor_si256
(
c2
[
5087
],
_mm256_xor_si256
(
c2
[
3904
],
_mm256_xor_si256
(
c2
[
1109
],
_mm256_xor_si256
(
c2
[
5703
],
_mm256_xor_si256
(
c2
[
4124
],
_mm256_xor_si256
(
c2
[
3924
],
_mm256_xor_si256
(
c2
[
2327
],
_mm256_xor_si256
(
c2
[
6324
],
_mm256_xor_si256
(
c2
[
3944
],
_mm256_xor_si256
(
c2
[
2546
],
_mm256_xor_si256
(
c2
[
743
],
_mm256_xor_si256
(
c2
[
3964
],
_mm256_xor_si256
(
c2
[
6367
],
_mm256_xor_si256
(
c2
[
1766
],
_mm256_xor_si256
(
c2
[
4184
],
_mm256_xor_si256
(
c2
[
3984
],
_mm256_xor_si256
(
c2
[
2186
],
_mm256_xor_si256
(
c2
[
386
],
c2
[
2781
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
70
]
=
_mm256_xor_si256
(
c2
[
3
],
_mm256_xor_si256
(
c2
[
6202
],
_mm256_xor_si256
(
c2
[
2602
],
_mm256_xor_si256
(
c2
[
1607
],
_mm256_xor_si256
(
c2
[
4406
],
_mm256_xor_si256
(
c2
[
3803
],
_mm256_xor_si256
(
c2
[
203
],
_mm256_xor_si256
(
c2
[
23
],
_mm256_xor_si256
(
c2
[
6222
],
_mm256_xor_si256
(
c2
[
2622
],
_mm256_xor_si256
(
c2
[
5825
],
_mm256_xor_si256
(
c2
[
2225
],
_mm256_xor_si256
(
c2
[
1024
],
_mm256_xor_si256
(
c2
[
4023
],
_mm256_xor_si256
(
c2
[
3823
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
43
],
_mm256_xor_si256
(
c2
[
6242
],
_mm256_xor_si256
(
c2
[
2642
],
_mm256_xor_si256
(
c2
[
2843
],
_mm256_xor_si256
(
c2
[
5842
],
_mm256_xor_si256
(
c2
[
5642
],
_mm256_xor_si256
(
c2
[
63
],
_mm256_xor_si256
(
c2
[
6262
],
_mm256_xor_si256
(
c2
[
2662
],
_mm256_xor_si256
(
c2
[
5466
],
_mm256_xor_si256
(
c2
[
1866
],
_mm256_xor_si256
(
c2
[
466
],
_mm256_xor_si256
(
c2
[
3265
],
_mm256_xor_si256
(
c2
[
6282
],
_mm256_xor_si256
(
c2
[
2682
],
_mm256_xor_si256
(
c2
[
1683
],
_mm256_xor_si256
(
c2
[
4482
],
_mm256_xor_si256
(
c2
[
1086
],
_mm256_xor_si256
(
c2
[
4085
],
_mm256_xor_si256
(
c2
[
3885
],
_mm256_xor_si256
(
c2
[
6302
],
_mm256_xor_si256
(
c2
[
2702
],
_mm256_xor_si256
(
c2
[
3507
],
_mm256_xor_si256
(
c2
[
107
],
_mm256_xor_si256
(
c2
[
6306
],
_mm256_xor_si256
(
c2
[
2701
],
_mm256_xor_si256
(
c2
[
123
],
_mm256_xor_si256
(
c2
[
6322
],
_mm256_xor_si256
(
c2
[
2722
],
_mm256_xor_si256
(
c2
[
4725
],
_mm256_xor_si256
(
c2
[
1125
],
_mm256_xor_si256
(
c2
[
2323
],
_mm256_xor_si256
(
c2
[
5322
],
_mm256_xor_si256
(
c2
[
5122
],
_mm256_xor_si256
(
c2
[
6342
],
_mm256_xor_si256
(
c2
[
2742
],
_mm256_xor_si256
(
c2
[
4944
],
_mm256_xor_si256
(
c2
[
1544
],
_mm256_xor_si256
(
c2
[
1344
],
_mm256_xor_si256
(
c2
[
4144
],
_mm256_xor_si256
(
c2
[
6362
],
_mm256_xor_si256
(
c2
[
2762
],
_mm256_xor_si256
(
c2
[
2366
],
_mm256_xor_si256
(
c2
[
5165
],
_mm256_xor_si256
(
c2
[
4164
],
_mm256_xor_si256
(
c2
[
764
],
_mm256_xor_si256
(
c2
[
564
],
_mm256_xor_si256
(
c2
[
183
],
_mm256_xor_si256
(
c2
[
6382
],
_mm256_xor_si256
(
c2
[
2782
],
_mm256_xor_si256
(
c2
[
4584
],
_mm256_xor_si256
(
c2
[
984
],
_mm256_xor_si256
(
c2
[
2784
],
_mm256_xor_si256
(
c2
[
5783
],
c2
[
5583
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
80
]
=
_mm256_xor_si256
(
c2
[
4602
],
_mm256_xor_si256
(
c2
[
4402
],
_mm256_xor_si256
(
c2
[
7
],
_mm256_xor_si256
(
c2
[
6206
],
_mm256_xor_si256
(
c2
[
2003
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
4622
],
_mm256_xor_si256
(
c2
[
4422
],
_mm256_xor_si256
(
c2
[
4025
],
_mm256_xor_si256
(
c2
[
5623
],
_mm256_xor_si256
(
c2
[
222
],
_mm256_xor_si256
(
c2
[
4642
],
_mm256_xor_si256
(
c2
[
4442
],
_mm256_xor_si256
(
c2
[
1043
],
_mm256_xor_si256
(
c2
[
4662
],
_mm256_xor_si256
(
c2
[
4462
],
_mm256_xor_si256
(
c2
[
3866
],
_mm256_xor_si256
(
c2
[
3666
],
_mm256_xor_si256
(
c2
[
5065
],
_mm256_xor_si256
(
c2
[
4682
],
_mm256_xor_si256
(
c2
[
4482
],
_mm256_xor_si256
(
c2
[
6282
],
_mm256_xor_si256
(
c2
[
5685
],
_mm256_xor_si256
(
c2
[
4702
],
_mm256_xor_si256
(
c2
[
4502
],
_mm256_xor_si256
(
c2
[
1707
],
_mm256_xor_si256
(
c2
[
4722
],
_mm256_xor_si256
(
c2
[
4522
],
_mm256_xor_si256
(
c2
[
3125
],
_mm256_xor_si256
(
c2
[
2925
],
_mm256_xor_si256
(
c2
[
523
],
_mm256_xor_si256
(
c2
[
4742
],
_mm256_xor_si256
(
c2
[
4542
],
_mm256_xor_si256
(
c2
[
3144
],
_mm256_xor_si256
(
c2
[
4762
],
_mm256_xor_si256
(
c2
[
4562
],
_mm256_xor_si256
(
c2
[
566
],
_mm256_xor_si256
(
c2
[
2364
],
_mm256_xor_si256
(
c2
[
4782
],
_mm256_xor_si256
(
c2
[
4582
],
_mm256_xor_si256
(
c2
[
2984
],
_mm256_xor_si256
(
c2
[
2784
],
c2
[
984
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
90
]
=
_mm256_xor_si256
(
c2
[
3601
],
_mm256_xor_si256
(
c2
[
4202
],
_mm256_xor_si256
(
c2
[
4002
],
_mm256_xor_si256
(
c2
[
5405
],
_mm256_xor_si256
(
c2
[
5806
],
_mm256_xor_si256
(
c2
[
1202
],
_mm256_xor_si256
(
c2
[
1603
],
_mm256_xor_si256
(
c2
[
3621
],
_mm256_xor_si256
(
c2
[
4222
],
_mm256_xor_si256
(
c2
[
4022
],
_mm256_xor_si256
(
c2
[
3224
],
_mm256_xor_si256
(
c2
[
3625
],
_mm256_xor_si256
(
c2
[
4822
],
_mm256_xor_si256
(
c2
[
5223
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
3641
],
_mm256_xor_si256
(
c2
[
4242
],
_mm256_xor_si256
(
c2
[
4042
],
_mm256_xor_si256
(
c2
[
242
],
_mm256_xor_si256
(
c2
[
643
],
_mm256_xor_si256
(
c2
[
3661
],
_mm256_xor_si256
(
c2
[
4262
],
_mm256_xor_si256
(
c2
[
4062
],
_mm256_xor_si256
(
c2
[
2865
],
_mm256_xor_si256
(
c2
[
3266
],
_mm256_xor_si256
(
c2
[
4264
],
_mm256_xor_si256
(
c2
[
4665
],
_mm256_xor_si256
(
c2
[
3681
],
_mm256_xor_si256
(
c2
[
4082
],
_mm256_xor_si256
(
c2
[
5481
],
_mm256_xor_si256
(
c2
[
5882
],
_mm256_xor_si256
(
c2
[
4884
],
_mm256_xor_si256
(
c2
[
5285
],
_mm256_xor_si256
(
c2
[
3701
],
_mm256_xor_si256
(
c2
[
4102
],
_mm256_xor_si256
(
c2
[
906
],
_mm256_xor_si256
(
c2
[
1307
],
_mm256_xor_si256
(
c2
[
3721
],
_mm256_xor_si256
(
c2
[
4322
],
_mm256_xor_si256
(
c2
[
4122
],
_mm256_xor_si256
(
c2
[
2124
],
_mm256_xor_si256
(
c2
[
2525
],
_mm256_xor_si256
(
c2
[
6121
],
_mm256_xor_si256
(
c2
[
123
],
_mm256_xor_si256
(
c2
[
3741
],
_mm256_xor_si256
(
c2
[
4142
],
_mm256_xor_si256
(
c2
[
2343
],
_mm256_xor_si256
(
c2
[
2744
],
_mm256_xor_si256
(
c2
[
3761
],
_mm256_xor_si256
(
c2
[
4162
],
_mm256_xor_si256
(
c2
[
6164
],
_mm256_xor_si256
(
c2
[
166
],
_mm256_xor_si256
(
c2
[
1563
],
_mm256_xor_si256
(
c2
[
1964
],
_mm256_xor_si256
(
c2
[
363
],
_mm256_xor_si256
(
c2
[
3781
],
_mm256_xor_si256
(
c2
[
4382
],
_mm256_xor_si256
(
c2
[
4182
],
_mm256_xor_si256
(
c2
[
1983
],
_mm256_xor_si256
(
c2
[
2384
],
_mm256_xor_si256
(
c2
[
183
],
c2
[
584
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
100
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
3420
],
_mm256_xor_si256
(
c2
[
5724
],
c2
[
4140
])));
//row: 11
d2
[
110
]
=
_mm256_xor_si256
(
c2
[
200
],
_mm256_xor_si256
(
c2
[
2004
],
_mm256_xor_si256
(
c2
[
4200
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
6222
],
_mm256_xor_si256
(
c2
[
1621
],
_mm256_xor_si256
(
c2
[
1421
],
_mm256_xor_si256
(
c2
[
240
],
_mm256_xor_si256
(
c2
[
3440
],
_mm256_xor_si256
(
c2
[
3240
],
_mm256_xor_si256
(
c2
[
260
],
_mm256_xor_si256
(
c2
[
5863
],
_mm256_xor_si256
(
c2
[
863
],
_mm256_xor_si256
(
c2
[
280
],
_mm256_xor_si256
(
c2
[
2080
],
_mm256_xor_si256
(
c2
[
1683
],
_mm256_xor_si256
(
c2
[
1483
],
_mm256_xor_si256
(
c2
[
300
],
_mm256_xor_si256
(
c2
[
4104
],
_mm256_xor_si256
(
c2
[
3904
],
_mm256_xor_si256
(
c2
[
320
],
_mm256_xor_si256
(
c2
[
5122
],
_mm256_xor_si256
(
c2
[
2920
],
_mm256_xor_si256
(
c2
[
2720
],
_mm256_xor_si256
(
c2
[
340
],
_mm256_xor_si256
(
c2
[
5541
],
_mm256_xor_si256
(
c2
[
5341
],
_mm256_xor_si256
(
c2
[
1540
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
2763
],
_mm256_xor_si256
(
c2
[
4761
],
_mm256_xor_si256
(
c2
[
4561
],
_mm256_xor_si256
(
c2
[
380
],
_mm256_xor_si256
(
c2
[
4981
],
_mm256_xor_si256
(
c2
[
3381
],
_mm256_xor_si256
(
c2
[
3181
],
c2
[
980
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
120
]
=
_mm256_xor_si256
(
c2
[
3201
],
_mm256_xor_si256
(
c2
[
3001
],
_mm256_xor_si256
(
c2
[
4805
],
_mm256_xor_si256
(
c2
[
602
],
_mm256_xor_si256
(
c2
[
3221
],
_mm256_xor_si256
(
c2
[
3021
],
_mm256_xor_si256
(
c2
[
2624
],
_mm256_xor_si256
(
c2
[
4222
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
3241
],
_mm256_xor_si256
(
c2
[
3041
],
_mm256_xor_si256
(
c2
[
6041
],
_mm256_xor_si256
(
c2
[
3261
],
_mm256_xor_si256
(
c2
[
3061
],
_mm256_xor_si256
(
c2
[
2265
],
_mm256_xor_si256
(
c2
[
3664
],
_mm256_xor_si256
(
c2
[
3463
],
_mm256_xor_si256
(
c2
[
3081
],
_mm256_xor_si256
(
c2
[
4881
],
_mm256_xor_si256
(
c2
[
4284
],
_mm256_xor_si256
(
c2
[
3101
],
_mm256_xor_si256
(
c2
[
306
],
_mm256_xor_si256
(
c2
[
3321
],
_mm256_xor_si256
(
c2
[
3121
],
_mm256_xor_si256
(
c2
[
1524
],
_mm256_xor_si256
(
c2
[
5521
],
_mm256_xor_si256
(
c2
[
3141
],
_mm256_xor_si256
(
c2
[
1743
],
_mm256_xor_si256
(
c2
[
3161
],
_mm256_xor_si256
(
c2
[
5564
],
_mm256_xor_si256
(
c2
[
963
],
_mm256_xor_si256
(
c2
[
3381
],
_mm256_xor_si256
(
c2
[
3181
],
_mm256_xor_si256
(
c2
[
1383
],
c2
[
5982
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
130
]
=
_mm256_xor_si256
(
c2
[
5000
],
_mm256_xor_si256
(
c2
[
405
],
_mm256_xor_si256
(
c2
[
2601
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
5020
],
_mm256_xor_si256
(
c2
[
4623
],
_mm256_xor_si256
(
c2
[
22
],
_mm256_xor_si256
(
c2
[
6221
],
_mm256_xor_si256
(
c2
[
3223
],
_mm256_xor_si256
(
c2
[
5040
],
_mm256_xor_si256
(
c2
[
1841
],
_mm256_xor_si256
(
c2
[
1641
],
_mm256_xor_si256
(
c2
[
5060
],
_mm256_xor_si256
(
c2
[
4264
],
_mm256_xor_si256
(
c2
[
5663
],
_mm256_xor_si256
(
c2
[
5080
],
_mm256_xor_si256
(
c2
[
481
],
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
6283
],
_mm256_xor_si256
(
c2
[
5100
],
_mm256_xor_si256
(
c2
[
2505
],
_mm256_xor_si256
(
c2
[
2305
],
_mm256_xor_si256
(
c2
[
5120
],
_mm256_xor_si256
(
c2
[
3523
],
_mm256_xor_si256
(
c2
[
1321
],
_mm256_xor_si256
(
c2
[
1121
],
_mm256_xor_si256
(
c2
[
5140
],
_mm256_xor_si256
(
c2
[
3942
],
_mm256_xor_si256
(
c2
[
3742
],
_mm256_xor_si256
(
c2
[
5160
],
_mm256_xor_si256
(
c2
[
1164
],
_mm256_xor_si256
(
c2
[
3162
],
_mm256_xor_si256
(
c2
[
2962
],
_mm256_xor_si256
(
c2
[
1363
],
_mm256_xor_si256
(
c2
[
5180
],
_mm256_xor_si256
(
c2
[
3382
],
_mm256_xor_si256
(
c2
[
1782
],
c2
[
1582
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
140
]
=
_mm256_xor_si256
(
c2
[
5001
],
_mm256_xor_si256
(
c2
[
4801
],
_mm256_xor_si256
(
c2
[
5200
],
_mm256_xor_si256
(
c2
[
206
],
_mm256_xor_si256
(
c2
[
605
],
_mm256_xor_si256
(
c2
[
2402
],
_mm256_xor_si256
(
c2
[
2801
],
_mm256_xor_si256
(
c2
[
5021
],
_mm256_xor_si256
(
c2
[
4821
],
_mm256_xor_si256
(
c2
[
5220
],
_mm256_xor_si256
(
c2
[
4424
],
_mm256_xor_si256
(
c2
[
4823
],
_mm256_xor_si256
(
c2
[
6022
],
_mm256_xor_si256
(
c2
[
222
],
_mm256_xor_si256
(
c2
[
22
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
5041
],
_mm256_xor_si256
(
c2
[
4841
],
_mm256_xor_si256
(
c2
[
5240
],
_mm256_xor_si256
(
c2
[
1442
],
_mm256_xor_si256
(
c2
[
2041
],
_mm256_xor_si256
(
c2
[
1841
],
_mm256_xor_si256
(
c2
[
5061
],
_mm256_xor_si256
(
c2
[
4861
],
_mm256_xor_si256
(
c2
[
5260
],
_mm256_xor_si256
(
c2
[
4065
],
_mm256_xor_si256
(
c2
[
4464
],
_mm256_xor_si256
(
c2
[
5464
],
_mm256_xor_si256
(
c2
[
5863
],
_mm256_xor_si256
(
c2
[
4881
],
_mm256_xor_si256
(
c2
[
5280
],
_mm256_xor_si256
(
c2
[
282
],
_mm256_xor_si256
(
c2
[
681
],
_mm256_xor_si256
(
c2
[
6084
],
_mm256_xor_si256
(
c2
[
284
],
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
4901
],
_mm256_xor_si256
(
c2
[
5300
],
_mm256_xor_si256
(
c2
[
2106
],
_mm256_xor_si256
(
c2
[
2705
],
_mm256_xor_si256
(
c2
[
2505
],
_mm256_xor_si256
(
c2
[
5121
],
_mm256_xor_si256
(
c2
[
4921
],
_mm256_xor_si256
(
c2
[
5320
],
_mm256_xor_si256
(
c2
[
3324
],
_mm256_xor_si256
(
c2
[
3723
],
_mm256_xor_si256
(
c2
[
922
],
_mm256_xor_si256
(
c2
[
1521
],
_mm256_xor_si256
(
c2
[
1321
],
_mm256_xor_si256
(
c2
[
2124
],
_mm256_xor_si256
(
c2
[
4941
],
_mm256_xor_si256
(
c2
[
5340
],
_mm256_xor_si256
(
c2
[
3543
],
_mm256_xor_si256
(
c2
[
4142
],
_mm256_xor_si256
(
c2
[
3942
],
_mm256_xor_si256
(
c2
[
4961
],
_mm256_xor_si256
(
c2
[
5360
],
_mm256_xor_si256
(
c2
[
965
],
_mm256_xor_si256
(
c2
[
1364
],
_mm256_xor_si256
(
c2
[
2763
],
_mm256_xor_si256
(
c2
[
3362
],
_mm256_xor_si256
(
c2
[
3162
],
_mm256_xor_si256
(
c2
[
5181
],
_mm256_xor_si256
(
c2
[
4981
],
_mm256_xor_si256
(
c2
[
5380
],
_mm256_xor_si256
(
c2
[
3183
],
_mm256_xor_si256
(
c2
[
3582
],
_mm256_xor_si256
(
c2
[
1383
],
_mm256_xor_si256
(
c2
[
1982
],
c2
[
1782
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
150
]
=
_mm256_xor_si256
(
c2
[
1602
],
_mm256_xor_si256
(
c2
[
603
],
_mm256_xor_si256
(
c2
[
403
],
_mm256_xor_si256
(
c2
[
3406
],
_mm256_xor_si256
(
c2
[
2207
],
_mm256_xor_si256
(
c2
[
5602
],
_mm256_xor_si256
(
c2
[
4403
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
1622
],
_mm256_xor_si256
(
c2
[
623
],
_mm256_xor_si256
(
c2
[
423
],
_mm256_xor_si256
(
c2
[
1225
],
_mm256_xor_si256
(
c2
[
26
],
_mm256_xor_si256
(
c2
[
2823
],
_mm256_xor_si256
(
c2
[
1624
],
_mm256_xor_si256
(
c2
[
1642
],
_mm256_xor_si256
(
c2
[
643
],
_mm256_xor_si256
(
c2
[
443
],
_mm256_xor_si256
(
c2
[
4642
],
_mm256_xor_si256
(
c2
[
3443
],
_mm256_xor_si256
(
c2
[
1662
],
_mm256_xor_si256
(
c2
[
663
],
_mm256_xor_si256
(
c2
[
463
],
_mm256_xor_si256
(
c2
[
866
],
_mm256_xor_si256
(
c2
[
6066
],
_mm256_xor_si256
(
c2
[
2265
],
_mm256_xor_si256
(
c2
[
1066
],
_mm256_xor_si256
(
c2
[
1682
],
_mm256_xor_si256
(
c2
[
483
],
_mm256_xor_si256
(
c2
[
3482
],
_mm256_xor_si256
(
c2
[
2283
],
_mm256_xor_si256
(
c2
[
2885
],
_mm256_xor_si256
(
c2
[
1686
],
_mm256_xor_si256
(
c2
[
1702
],
_mm256_xor_si256
(
c2
[
503
],
_mm256_xor_si256
(
c2
[
5306
],
_mm256_xor_si256
(
c2
[
4107
],
_mm256_xor_si256
(
c2
[
1722
],
_mm256_xor_si256
(
c2
[
723
],
_mm256_xor_si256
(
c2
[
523
],
_mm256_xor_si256
(
c2
[
125
],
_mm256_xor_si256
(
c2
[
5325
],
_mm256_xor_si256
(
c2
[
4122
],
_mm256_xor_si256
(
c2
[
2923
],
_mm256_xor_si256
(
c2
[
1742
],
_mm256_xor_si256
(
c2
[
543
],
_mm256_xor_si256
(
c2
[
344
],
_mm256_xor_si256
(
c2
[
5544
],
_mm256_xor_si256
(
c2
[
1762
],
_mm256_xor_si256
(
c2
[
563
],
_mm256_xor_si256
(
c2
[
4165
],
_mm256_xor_si256
(
c2
[
2966
],
_mm256_xor_si256
(
c2
[
5963
],
_mm256_xor_si256
(
c2
[
4764
],
_mm256_xor_si256
(
c2
[
1782
],
_mm256_xor_si256
(
c2
[
783
],
_mm256_xor_si256
(
c2
[
583
],
_mm256_xor_si256
(
c2
[
6383
],
_mm256_xor_si256
(
c2
[
5184
],
_mm256_xor_si256
(
c2
[
4583
],
c2
[
3384
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
160
]
=
_mm256_xor_si256
(
c2
[
3003
],
_mm256_xor_si256
(
c2
[
2803
],
_mm256_xor_si256
(
c2
[
3004
],
_mm256_xor_si256
(
c2
[
2804
],
_mm256_xor_si256
(
c2
[
4607
],
_mm256_xor_si256
(
c2
[
4808
],
_mm256_xor_si256
(
c2
[
4608
],
_mm256_xor_si256
(
c2
[
404
],
_mm256_xor_si256
(
c2
[
405
],
_mm256_xor_si256
(
c2
[
3023
],
_mm256_xor_si256
(
c2
[
2823
],
_mm256_xor_si256
(
c2
[
3024
],
_mm256_xor_si256
(
c2
[
2824
],
_mm256_xor_si256
(
c2
[
2426
],
_mm256_xor_si256
(
c2
[
2427
],
_mm256_xor_si256
(
c2
[
4024
],
_mm256_xor_si256
(
c2
[
4025
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
3043
],
_mm256_xor_si256
(
c2
[
2843
],
_mm256_xor_si256
(
c2
[
3044
],
_mm256_xor_si256
(
c2
[
2844
],
_mm256_xor_si256
(
c2
[
5843
],
_mm256_xor_si256
(
c2
[
5844
],
_mm256_xor_si256
(
c2
[
3063
],
_mm256_xor_si256
(
c2
[
2863
],
_mm256_xor_si256
(
c2
[
3064
],
_mm256_xor_si256
(
c2
[
2864
],
_mm256_xor_si256
(
c2
[
2067
],
_mm256_xor_si256
(
c2
[
2268
],
_mm256_xor_si256
(
c2
[
2068
],
_mm256_xor_si256
(
c2
[
3466
],
_mm256_xor_si256
(
c2
[
3467
],
_mm256_xor_si256
(
c2
[
2883
],
_mm256_xor_si256
(
c2
[
3084
],
_mm256_xor_si256
(
c2
[
2884
],
_mm256_xor_si256
(
c2
[
4683
],
_mm256_xor_si256
(
c2
[
4684
],
_mm256_xor_si256
(
c2
[
4086
],
_mm256_xor_si256
(
c2
[
4087
],
_mm256_xor_si256
(
c2
[
2903
],
_mm256_xor_si256
(
c2
[
3104
],
_mm256_xor_si256
(
c2
[
2904
],
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
109
],
_mm256_xor_si256
(
c2
[
3123
],
_mm256_xor_si256
(
c2
[
2923
],
_mm256_xor_si256
(
c2
[
3124
],
_mm256_xor_si256
(
c2
[
2924
],
_mm256_xor_si256
(
c2
[
1326
],
_mm256_xor_si256
(
c2
[
1527
],
_mm256_xor_si256
(
c2
[
1327
],
_mm256_xor_si256
(
c2
[
5323
],
_mm256_xor_si256
(
c2
[
5324
],
_mm256_xor_si256
(
c2
[
2943
],
_mm256_xor_si256
(
c2
[
3144
],
_mm256_xor_si256
(
c2
[
2944
],
_mm256_xor_si256
(
c2
[
1545
],
_mm256_xor_si256
(
c2
[
1546
],
_mm256_xor_si256
(
c2
[
2963
],
_mm256_xor_si256
(
c2
[
3164
],
_mm256_xor_si256
(
c2
[
2964
],
_mm256_xor_si256
(
c2
[
5366
],
_mm256_xor_si256
(
c2
[
5367
],
_mm256_xor_si256
(
c2
[
765
],
_mm256_xor_si256
(
c2
[
766
],
_mm256_xor_si256
(
c2
[
3183
],
_mm256_xor_si256
(
c2
[
2983
],
_mm256_xor_si256
(
c2
[
3184
],
_mm256_xor_si256
(
c2
[
2984
],
_mm256_xor_si256
(
c2
[
1185
],
_mm256_xor_si256
(
c2
[
1386
],
_mm256_xor_si256
(
c2
[
1186
],
_mm256_xor_si256
(
c2
[
5784
],
_mm256_xor_si256
(
c2
[
5785
],
c2
[
3182
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
170
]
=
_mm256_xor_si256
(
c2
[
2603
],
_mm256_xor_si256
(
c2
[
2403
],
_mm256_xor_si256
(
c2
[
3600
],
_mm256_xor_si256
(
c2
[
3400
],
_mm256_xor_si256
(
c2
[
4207
],
_mm256_xor_si256
(
c2
[
5404
],
_mm256_xor_si256
(
c2
[
5204
],
_mm256_xor_si256
(
c2
[
4
],
_mm256_xor_si256
(
c2
[
1001
],
_mm256_xor_si256
(
c2
[
2623
],
_mm256_xor_si256
(
c2
[
2423
],
_mm256_xor_si256
(
c2
[
3620
],
_mm256_xor_si256
(
c2
[
3420
],
_mm256_xor_si256
(
c2
[
2026
],
_mm256_xor_si256
(
c2
[
3023
],
_mm256_xor_si256
(
c2
[
3624
],
_mm256_xor_si256
(
c2
[
4621
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
2643
],
_mm256_xor_si256
(
c2
[
2443
],
_mm256_xor_si256
(
c2
[
3640
],
_mm256_xor_si256
(
c2
[
3440
],
_mm256_xor_si256
(
c2
[
5443
],
_mm256_xor_si256
(
c2
[
41
],
_mm256_xor_si256
(
c2
[
2663
],
_mm256_xor_si256
(
c2
[
2463
],
_mm256_xor_si256
(
c2
[
3660
],
_mm256_xor_si256
(
c2
[
3460
],
_mm256_xor_si256
(
c2
[
1667
],
_mm256_xor_si256
(
c2
[
2864
],
_mm256_xor_si256
(
c2
[
2664
],
_mm256_xor_si256
(
c2
[
3066
],
_mm256_xor_si256
(
c2
[
4063
],
_mm256_xor_si256
(
c2
[
2483
],
_mm256_xor_si256
(
c2
[
3680
],
_mm256_xor_si256
(
c2
[
3480
],
_mm256_xor_si256
(
c2
[
4283
],
_mm256_xor_si256
(
c2
[
5280
],
_mm256_xor_si256
(
c2
[
3686
],
_mm256_xor_si256
(
c2
[
4683
],
_mm256_xor_si256
(
c2
[
2503
],
_mm256_xor_si256
(
c2
[
3700
],
_mm256_xor_si256
(
c2
[
3500
],
_mm256_xor_si256
(
c2
[
6107
],
_mm256_xor_si256
(
c2
[
705
],
_mm256_xor_si256
(
c2
[
4900
],
_mm256_xor_si256
(
c2
[
2723
],
_mm256_xor_si256
(
c2
[
2523
],
_mm256_xor_si256
(
c2
[
3720
],
_mm256_xor_si256
(
c2
[
3520
],
_mm256_xor_si256
(
c2
[
926
],
_mm256_xor_si256
(
c2
[
2123
],
_mm256_xor_si256
(
c2
[
1923
],
_mm256_xor_si256
(
c2
[
4923
],
_mm256_xor_si256
(
c2
[
5920
],
_mm256_xor_si256
(
c2
[
2543
],
_mm256_xor_si256
(
c2
[
3740
],
_mm256_xor_si256
(
c2
[
3540
],
_mm256_xor_si256
(
c2
[
1145
],
_mm256_xor_si256
(
c2
[
2142
],
_mm256_xor_si256
(
c2
[
2563
],
_mm256_xor_si256
(
c2
[
3760
],
_mm256_xor_si256
(
c2
[
3560
],
_mm256_xor_si256
(
c2
[
4966
],
_mm256_xor_si256
(
c2
[
5963
],
_mm256_xor_si256
(
c2
[
365
],
_mm256_xor_si256
(
c2
[
1362
],
_mm256_xor_si256
(
c2
[
2783
],
_mm256_xor_si256
(
c2
[
2583
],
_mm256_xor_si256
(
c2
[
3780
],
_mm256_xor_si256
(
c2
[
3580
],
_mm256_xor_si256
(
c2
[
785
],
_mm256_xor_si256
(
c2
[
1982
],
_mm256_xor_si256
(
c2
[
1782
],
_mm256_xor_si256
(
c2
[
5384
],
c2
[
6381
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
180
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
3720
],
c2
[
4542
]));
//row: 19
d2
[
190
]
=
_mm256_xor_si256
(
c2
[
5004
],
_mm256_xor_si256
(
c2
[
409
],
_mm256_xor_si256
(
c2
[
2605
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
5024
],
_mm256_xor_si256
(
c2
[
4627
],
_mm256_xor_si256
(
c2
[
6225
],
_mm256_xor_si256
(
c2
[
6024
],
_mm256_xor_si256
(
c2
[
5044
],
_mm256_xor_si256
(
c2
[
1645
],
_mm256_xor_si256
(
c2
[
5064
],
_mm256_xor_si256
(
c2
[
4268
],
_mm256_xor_si256
(
c2
[
5667
],
_mm256_xor_si256
(
c2
[
5084
],
_mm256_xor_si256
(
c2
[
485
],
_mm256_xor_si256
(
c2
[
6287
],
_mm256_xor_si256
(
c2
[
5104
],
_mm256_xor_si256
(
c2
[
2309
],
_mm256_xor_si256
(
c2
[
5124
],
_mm256_xor_si256
(
c2
[
3527
],
_mm256_xor_si256
(
c2
[
1125
],
_mm256_xor_si256
(
c2
[
5144
],
_mm256_xor_si256
(
c2
[
3746
],
_mm256_xor_si256
(
c2
[
5164
],
_mm256_xor_si256
(
c2
[
1168
],
_mm256_xor_si256
(
c2
[
2966
],
_mm256_xor_si256
(
c2
[
5184
],
_mm256_xor_si256
(
c2
[
3386
],
c2
[
1586
]))))))))))))))))))))))))))));
//row: 20
d2
[
200
]
=
_mm256_xor_si256
(
c2
[
1603
],
_mm256_xor_si256
(
c2
[
1403
],
_mm256_xor_si256
(
c2
[
3207
],
_mm256_xor_si256
(
c2
[
5403
],
_mm256_xor_si256
(
c2
[
1623
],
_mm256_xor_si256
(
c2
[
1423
],
_mm256_xor_si256
(
c2
[
1026
],
_mm256_xor_si256
(
c2
[
2624
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
1643
],
_mm256_xor_si256
(
c2
[
1443
],
_mm256_xor_si256
(
c2
[
4443
],
_mm256_xor_si256
(
c2
[
1663
],
_mm256_xor_si256
(
c2
[
1463
],
_mm256_xor_si256
(
c2
[
667
],
_mm256_xor_si256
(
c2
[
2066
],
_mm256_xor_si256
(
c2
[
1483
],
_mm256_xor_si256
(
c2
[
3283
],
_mm256_xor_si256
(
c2
[
2686
],
_mm256_xor_si256
(
c2
[
4084
],
_mm256_xor_si256
(
c2
[
1503
],
_mm256_xor_si256
(
c2
[
5107
],
_mm256_xor_si256
(
c2
[
1723
],
_mm256_xor_si256
(
c2
[
1523
],
_mm256_xor_si256
(
c2
[
6325
],
_mm256_xor_si256
(
c2
[
3923
],
_mm256_xor_si256
(
c2
[
1543
],
_mm256_xor_si256
(
c2
[
145
],
_mm256_xor_si256
(
c2
[
1563
],
_mm256_xor_si256
(
c2
[
3966
],
_mm256_xor_si256
(
c2
[
5764
],
_mm256_xor_si256
(
c2
[
1783
],
_mm256_xor_si256
(
c2
[
1583
],
_mm256_xor_si256
(
c2
[
6184
],
c2
[
4384
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
210
]
=
_mm256_xor_si256
(
c2
[
1
],
_mm256_xor_si256
(
c2
[
1805
],
_mm256_xor_si256
(
c2
[
4001
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
21
],
_mm256_xor_si256
(
c2
[
6023
],
_mm256_xor_si256
(
c2
[
1422
],
_mm256_xor_si256
(
c2
[
1222
],
_mm256_xor_si256
(
c2
[
41
],
_mm256_xor_si256
(
c2
[
3241
],
_mm256_xor_si256
(
c2
[
3041
],
_mm256_xor_si256
(
c2
[
61
],
_mm256_xor_si256
(
c2
[
5664
],
_mm256_xor_si256
(
c2
[
664
],
_mm256_xor_si256
(
c2
[
81
],
_mm256_xor_si256
(
c2
[
1881
],
_mm256_xor_si256
(
c2
[
1484
],
_mm256_xor_si256
(
c2
[
1284
],
_mm256_xor_si256
(
c2
[
101
],
_mm256_xor_si256
(
c2
[
3905
],
_mm256_xor_si256
(
c2
[
3705
],
_mm256_xor_si256
(
c2
[
121
],
_mm256_xor_si256
(
c2
[
4923
],
_mm256_xor_si256
(
c2
[
2721
],
_mm256_xor_si256
(
c2
[
2521
],
_mm256_xor_si256
(
c2
[
141
],
_mm256_xor_si256
(
c2
[
5342
],
_mm256_xor_si256
(
c2
[
5142
],
_mm256_xor_si256
(
c2
[
161
],
_mm256_xor_si256
(
c2
[
2564
],
_mm256_xor_si256
(
c2
[
4562
],
_mm256_xor_si256
(
c2
[
4362
],
_mm256_xor_si256
(
c2
[
3560
],
_mm256_xor_si256
(
c2
[
181
],
_mm256_xor_si256
(
c2
[
4782
],
_mm256_xor_si256
(
c2
[
3182
],
c2
[
2982
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
220
]
=
_mm256_xor_si256
(
c2
[
20
],
c2
[
840
]);
//row: 23
d2
[
230
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
2262
],
c2
[
6104
]));
//row: 24
d2
[
240
]
=
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
1042
],
c2
[
4782
]));
//row: 25
d2
[
250
]
=
_mm256_xor_si256
(
c2
[
0
],
c2
[
302
]);
//row: 26
d2
[
260
]
=
_mm256_xor_si256
(
c2
[
2600
],
_mm256_xor_si256
(
c2
[
2400
],
_mm256_xor_si256
(
c2
[
1200
],
_mm256_xor_si256
(
c2
[
4404
],
_mm256_xor_si256
(
c2
[
4204
],
_mm256_xor_si256
(
c2
[
3004
],
_mm256_xor_si256
(
c2
[
1
],
_mm256_xor_si256
(
c2
[
5200
],
_mm256_xor_si256
(
c2
[
2620
],
_mm256_xor_si256
(
c2
[
2420
],
_mm256_xor_si256
(
c2
[
1220
],
_mm256_xor_si256
(
c2
[
2023
],
_mm256_xor_si256
(
c2
[
823
],
_mm256_xor_si256
(
c2
[
3621
],
_mm256_xor_si256
(
c2
[
2621
],
_mm256_xor_si256
(
c2
[
2421
],
_mm256_xor_si256
(
c2
[
2640
],
_mm256_xor_si256
(
c2
[
2440
],
_mm256_xor_si256
(
c2
[
1240
],
_mm256_xor_si256
(
c2
[
5440
],
_mm256_xor_si256
(
c2
[
4440
],
_mm256_xor_si256
(
c2
[
4240
],
_mm256_xor_si256
(
c2
[
40
],
_mm256_xor_si256
(
c2
[
2660
],
_mm256_xor_si256
(
c2
[
2460
],
_mm256_xor_si256
(
c2
[
1260
],
_mm256_xor_si256
(
c2
[
1864
],
_mm256_xor_si256
(
c2
[
1664
],
_mm256_xor_si256
(
c2
[
464
],
_mm256_xor_si256
(
c2
[
3063
],
_mm256_xor_si256
(
c2
[
1863
],
_mm256_xor_si256
(
c2
[
2680
],
_mm256_xor_si256
(
c2
[
2480
],
_mm256_xor_si256
(
c2
[
1280
],
_mm256_xor_si256
(
c2
[
4280
],
_mm256_xor_si256
(
c2
[
3080
],
_mm256_xor_si256
(
c2
[
3683
],
_mm256_xor_si256
(
c2
[
2683
],
_mm256_xor_si256
(
c2
[
2483
],
_mm256_xor_si256
(
c2
[
2700
],
_mm256_xor_si256
(
c2
[
2500
],
_mm256_xor_si256
(
c2
[
1300
],
_mm256_xor_si256
(
c2
[
6104
],
_mm256_xor_si256
(
c2
[
5104
],
_mm256_xor_si256
(
c2
[
4904
],
_mm256_xor_si256
(
c2
[
2720
],
_mm256_xor_si256
(
c2
[
2520
],
_mm256_xor_si256
(
c2
[
1320
],
_mm256_xor_si256
(
c2
[
1123
],
_mm256_xor_si256
(
c2
[
923
],
_mm256_xor_si256
(
c2
[
6122
],
_mm256_xor_si256
(
c2
[
4920
],
_mm256_xor_si256
(
c2
[
3920
],
_mm256_xor_si256
(
c2
[
3720
],
_mm256_xor_si256
(
c2
[
2740
],
_mm256_xor_si256
(
c2
[
2540
],
_mm256_xor_si256
(
c2
[
1340
],
_mm256_xor_si256
(
c2
[
1142
],
_mm256_xor_si256
(
c2
[
142
],
_mm256_xor_si256
(
c2
[
6341
],
_mm256_xor_si256
(
c2
[
943
],
_mm256_xor_si256
(
c2
[
2760
],
_mm256_xor_si256
(
c2
[
2560
],
_mm256_xor_si256
(
c2
[
1360
],
_mm256_xor_si256
(
c2
[
4963
],
_mm256_xor_si256
(
c2
[
3763
],
_mm256_xor_si256
(
c2
[
362
],
_mm256_xor_si256
(
c2
[
5761
],
_mm256_xor_si256
(
c2
[
5561
],
_mm256_xor_si256
(
c2
[
2780
],
_mm256_xor_si256
(
c2
[
2580
],
_mm256_xor_si256
(
c2
[
1380
],
_mm256_xor_si256
(
c2
[
982
],
_mm256_xor_si256
(
c2
[
782
],
_mm256_xor_si256
(
c2
[
5981
],
_mm256_xor_si256
(
c2
[
5381
],
_mm256_xor_si256
(
c2
[
4381
],
c2
[
4181
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
270
]
=
_mm256_xor_si256
(
c2
[
0
],
c2
[
121
]);
//row: 28
d2
[
280
]
=
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
6043
],
c2
[
2903
]));
//row: 29
d2
[
290
]
=
_mm256_xor_si256
(
c2
[
0
],
c2
[
5284
]);
//row: 30
d2
[
300
]
=
_mm256_xor_si256
(
c2
[
40
],
_mm256_xor_si256
(
c2
[
701
],
_mm256_xor_si256
(
c2
[
3941
],
c2
[
1384
])));
//row: 31
d2
[
310
]
=
_mm256_xor_si256
(
c2
[
3800
],
_mm256_xor_si256
(
c2
[
5604
],
_mm256_xor_si256
(
c2
[
1401
],
_mm256_xor_si256
(
c2
[
3820
],
_mm256_xor_si256
(
c2
[
3423
],
_mm256_xor_si256
(
c2
[
5221
],
_mm256_xor_si256
(
c2
[
5021
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
3840
],
_mm256_xor_si256
(
c2
[
641
],
_mm256_xor_si256
(
c2
[
441
],
_mm256_xor_si256
(
c2
[
3860
],
_mm256_xor_si256
(
c2
[
3064
],
_mm256_xor_si256
(
c2
[
4463
],
_mm256_xor_si256
(
c2
[
3880
],
_mm256_xor_si256
(
c2
[
5680
],
_mm256_xor_si256
(
c2
[
5283
],
_mm256_xor_si256
(
c2
[
5083
],
_mm256_xor_si256
(
c2
[
3900
],
_mm256_xor_si256
(
c2
[
1305
],
_mm256_xor_si256
(
c2
[
1105
],
_mm256_xor_si256
(
c2
[
3920
],
_mm256_xor_si256
(
c2
[
2323
],
_mm256_xor_si256
(
c2
[
121
],
_mm256_xor_si256
(
c2
[
6320
],
_mm256_xor_si256
(
c2
[
3940
],
_mm256_xor_si256
(
c2
[
2742
],
_mm256_xor_si256
(
c2
[
2542
],
_mm256_xor_si256
(
c2
[
3960
],
_mm256_xor_si256
(
c2
[
6363
],
_mm256_xor_si256
(
c2
[
1962
],
_mm256_xor_si256
(
c2
[
1762
],
_mm256_xor_si256
(
c2
[
3980
],
_mm256_xor_si256
(
c2
[
2182
],
_mm256_xor_si256
(
c2
[
582
],
c2
[
382
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
320
]
=
_mm256_xor_si256
(
c2
[
5203
],
_mm256_xor_si256
(
c2
[
5003
],
_mm256_xor_si256
(
c2
[
608
],
_mm256_xor_si256
(
c2
[
408
],
_mm256_xor_si256
(
c2
[
2604
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
5223
],
_mm256_xor_si256
(
c2
[
5023
],
_mm256_xor_si256
(
c2
[
4626
],
_mm256_xor_si256
(
c2
[
6224
],
_mm256_xor_si256
(
c2
[
5243
],
_mm256_xor_si256
(
c2
[
5043
],
_mm256_xor_si256
(
c2
[
1644
],
_mm256_xor_si256
(
c2
[
5263
],
_mm256_xor_si256
(
c2
[
5063
],
_mm256_xor_si256
(
c2
[
4467
],
_mm256_xor_si256
(
c2
[
4267
],
_mm256_xor_si256
(
c2
[
5666
],
_mm256_xor_si256
(
c2
[
5283
],
_mm256_xor_si256
(
c2
[
5083
],
_mm256_xor_si256
(
c2
[
484
],
_mm256_xor_si256
(
c2
[
6286
],
_mm256_xor_si256
(
c2
[
5303
],
_mm256_xor_si256
(
c2
[
5103
],
_mm256_xor_si256
(
c2
[
2308
],
_mm256_xor_si256
(
c2
[
4100
],
_mm256_xor_si256
(
c2
[
5323
],
_mm256_xor_si256
(
c2
[
5123
],
_mm256_xor_si256
(
c2
[
3726
],
_mm256_xor_si256
(
c2
[
3526
],
_mm256_xor_si256
(
c2
[
1124
],
_mm256_xor_si256
(
c2
[
5343
],
_mm256_xor_si256
(
c2
[
5143
],
_mm256_xor_si256
(
c2
[
3745
],
_mm256_xor_si256
(
c2
[
5363
],
_mm256_xor_si256
(
c2
[
5163
],
_mm256_xor_si256
(
c2
[
1167
],
_mm256_xor_si256
(
c2
[
2965
],
_mm256_xor_si256
(
c2
[
5383
],
_mm256_xor_si256
(
c2
[
5183
],
_mm256_xor_si256
(
c2
[
3585
],
_mm256_xor_si256
(
c2
[
3385
],
c2
[
1585
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
330
]
=
_mm256_xor_si256
(
c2
[
2400
],
_mm256_xor_si256
(
c2
[
4204
],
_mm256_xor_si256
(
c2
[
1
],
_mm256_xor_si256
(
c2
[
2420
],
_mm256_xor_si256
(
c2
[
2023
],
_mm256_xor_si256
(
c2
[
3621
],
_mm256_xor_si256
(
c2
[
2440
],
_mm256_xor_si256
(
c2
[
5440
],
_mm256_xor_si256
(
c2
[
40
],
_mm256_xor_si256
(
c2
[
2460
],
_mm256_xor_si256
(
c2
[
1664
],
_mm256_xor_si256
(
c2
[
3063
],
_mm256_xor_si256
(
c2
[
2480
],
_mm256_xor_si256
(
c2
[
4280
],
_mm256_xor_si256
(
c2
[
3683
],
_mm256_xor_si256
(
c2
[
2500
],
_mm256_xor_si256
(
c2
[
6104
],
_mm256_xor_si256
(
c2
[
2520
],
_mm256_xor_si256
(
c2
[
923
],
_mm256_xor_si256
(
c2
[
4920
],
_mm256_xor_si256
(
c2
[
2540
],
_mm256_xor_si256
(
c2
[
1142
],
_mm256_xor_si256
(
c2
[
4942
],
_mm256_xor_si256
(
c2
[
2560
],
_mm256_xor_si256
(
c2
[
4963
],
_mm256_xor_si256
(
c2
[
362
],
_mm256_xor_si256
(
c2
[
2580
],
_mm256_xor_si256
(
c2
[
782
],
c2
[
5381
]))))))))))))))))))))))))))));
//row: 34
d2
[
340
]
=
_mm256_xor_si256
(
c2
[
3800
],
_mm256_xor_si256
(
c2
[
3600
],
_mm256_xor_si256
(
c2
[
2602
],
_mm256_xor_si256
(
c2
[
5604
],
_mm256_xor_si256
(
c2
[
5404
],
_mm256_xor_si256
(
c2
[
4406
],
_mm256_xor_si256
(
c2
[
1201
],
_mm256_xor_si256
(
c2
[
203
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
3820
],
_mm256_xor_si256
(
c2
[
3620
],
_mm256_xor_si256
(
c2
[
2622
],
_mm256_xor_si256
(
c2
[
3223
],
_mm256_xor_si256
(
c2
[
2225
],
_mm256_xor_si256
(
c2
[
4821
],
_mm256_xor_si256
(
c2
[
4023
],
_mm256_xor_si256
(
c2
[
3823
],
_mm256_xor_si256
(
c2
[
3840
],
_mm256_xor_si256
(
c2
[
3640
],
_mm256_xor_si256
(
c2
[
2642
],
_mm256_xor_si256
(
c2
[
241
],
_mm256_xor_si256
(
c2
[
5842
],
_mm256_xor_si256
(
c2
[
5642
],
_mm256_xor_si256
(
c2
[
3860
],
_mm256_xor_si256
(
c2
[
3660
],
_mm256_xor_si256
(
c2
[
2662
],
_mm256_xor_si256
(
c2
[
3064
],
_mm256_xor_si256
(
c2
[
2864
],
_mm256_xor_si256
(
c2
[
1866
],
_mm256_xor_si256
(
c2
[
4263
],
_mm256_xor_si256
(
c2
[
3265
],
_mm256_xor_si256
(
c2
[
3880
],
_mm256_xor_si256
(
c2
[
3680
],
_mm256_xor_si256
(
c2
[
2682
],
_mm256_xor_si256
(
c2
[
5480
],
_mm256_xor_si256
(
c2
[
4482
],
_mm256_xor_si256
(
c2
[
4883
],
_mm256_xor_si256
(
c2
[
4085
],
_mm256_xor_si256
(
c2
[
3885
],
_mm256_xor_si256
(
c2
[
3900
],
_mm256_xor_si256
(
c2
[
3700
],
_mm256_xor_si256
(
c2
[
2702
],
_mm256_xor_si256
(
c2
[
905
],
_mm256_xor_si256
(
c2
[
107
],
_mm256_xor_si256
(
c2
[
6306
],
_mm256_xor_si256
(
c2
[
3920
],
_mm256_xor_si256
(
c2
[
3720
],
_mm256_xor_si256
(
c2
[
2722
],
_mm256_xor_si256
(
c2
[
2323
],
_mm256_xor_si256
(
c2
[
2123
],
_mm256_xor_si256
(
c2
[
1125
],
_mm256_xor_si256
(
c2
[
6120
],
_mm256_xor_si256
(
c2
[
5322
],
_mm256_xor_si256
(
c2
[
5122
],
_mm256_xor_si256
(
c2
[
3940
],
_mm256_xor_si256
(
c2
[
3740
],
_mm256_xor_si256
(
c2
[
2742
],
_mm256_xor_si256
(
c2
[
2342
],
_mm256_xor_si256
(
c2
[
1544
],
_mm256_xor_si256
(
c2
[
1344
],
_mm256_xor_si256
(
c2
[
3960
],
_mm256_xor_si256
(
c2
[
3760
],
_mm256_xor_si256
(
c2
[
2762
],
_mm256_xor_si256
(
c2
[
6163
],
_mm256_xor_si256
(
c2
[
5165
],
_mm256_xor_si256
(
c2
[
1562
],
_mm256_xor_si256
(
c2
[
764
],
_mm256_xor_si256
(
c2
[
564
],
_mm256_xor_si256
(
c2
[
3980
],
_mm256_xor_si256
(
c2
[
3780
],
_mm256_xor_si256
(
c2
[
2782
],
_mm256_xor_si256
(
c2
[
2182
],
_mm256_xor_si256
(
c2
[
1982
],
_mm256_xor_si256
(
c2
[
984
],
_mm256_xor_si256
(
c2
[
182
],
_mm256_xor_si256
(
c2
[
5783
],
c2
[
5583
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
350
]
=
_mm256_xor_si256
(
c2
[
1200
],
_mm256_xor_si256
(
c2
[
1000
],
_mm256_xor_si256
(
c2
[
2804
],
_mm256_xor_si256
(
c2
[
5000
],
_mm256_xor_si256
(
c2
[
1220
],
_mm256_xor_si256
(
c2
[
1020
],
_mm256_xor_si256
(
c2
[
623
],
_mm256_xor_si256
(
c2
[
2221
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
1240
],
_mm256_xor_si256
(
c2
[
1040
],
_mm256_xor_si256
(
c2
[
4040
],
_mm256_xor_si256
(
c2
[
1260
],
_mm256_xor_si256
(
c2
[
1060
],
_mm256_xor_si256
(
c2
[
264
],
_mm256_xor_si256
(
c2
[
1663
],
_mm256_xor_si256
(
c2
[
1080
],
_mm256_xor_si256
(
c2
[
2880
],
_mm256_xor_si256
(
c2
[
2283
],
_mm256_xor_si256
(
c2
[
1100
],
_mm256_xor_si256
(
c2
[
4704
],
_mm256_xor_si256
(
c2
[
5904
],
_mm256_xor_si256
(
c2
[
1320
],
_mm256_xor_si256
(
c2
[
1120
],
_mm256_xor_si256
(
c2
[
5922
],
_mm256_xor_si256
(
c2
[
3520
],
_mm256_xor_si256
(
c2
[
1140
],
_mm256_xor_si256
(
c2
[
6141
],
_mm256_xor_si256
(
c2
[
1160
],
_mm256_xor_si256
(
c2
[
3563
],
_mm256_xor_si256
(
c2
[
5361
],
_mm256_xor_si256
(
c2
[
1380
],
_mm256_xor_si256
(
c2
[
1180
],
_mm256_xor_si256
(
c2
[
5781
],
c2
[
3981
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
360
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
6241
],
c2
[
3742
]));
//row: 37
d2
[
370
]
=
_mm256_xor_si256
(
c2
[
6209
],
_mm256_xor_si256
(
c2
[
3004
],
_mm256_xor_si256
(
c2
[
1604
],
_mm256_xor_si256
(
c2
[
4808
],
_mm256_xor_si256
(
c2
[
3800
],
_mm256_xor_si256
(
c2
[
605
],
_mm256_xor_si256
(
c2
[
6229
],
_mm256_xor_si256
(
c2
[
3024
],
_mm256_xor_si256
(
c2
[
5822
],
_mm256_xor_si256
(
c2
[
2627
],
_mm256_xor_si256
(
c2
[
1021
],
_mm256_xor_si256
(
c2
[
4425
],
_mm256_xor_si256
(
c2
[
4225
],
_mm256_xor_si256
(
c2
[
6249
],
_mm256_xor_si256
(
c2
[
3044
],
_mm256_xor_si256
(
c2
[
2840
],
_mm256_xor_si256
(
c2
[
6244
],
_mm256_xor_si256
(
c2
[
6044
],
_mm256_xor_si256
(
c2
[
6269
],
_mm256_xor_si256
(
c2
[
3064
],
_mm256_xor_si256
(
c2
[
5463
],
_mm256_xor_si256
(
c2
[
2268
],
_mm256_xor_si256
(
c2
[
463
],
_mm256_xor_si256
(
c2
[
3667
],
_mm256_xor_si256
(
c2
[
6289
],
_mm256_xor_si256
(
c2
[
3084
],
_mm256_xor_si256
(
c2
[
1680
],
_mm256_xor_si256
(
c2
[
4884
],
_mm256_xor_si256
(
c2
[
1083
],
_mm256_xor_si256
(
c2
[
4487
],
_mm256_xor_si256
(
c2
[
4287
],
_mm256_xor_si256
(
c2
[
6309
],
_mm256_xor_si256
(
c2
[
3104
],
_mm256_xor_si256
(
c2
[
3504
],
_mm256_xor_si256
(
c2
[
509
],
_mm256_xor_si256
(
c2
[
309
],
_mm256_xor_si256
(
c2
[
6329
],
_mm256_xor_si256
(
c2
[
3124
],
_mm256_xor_si256
(
c2
[
4722
],
_mm256_xor_si256
(
c2
[
1527
],
_mm256_xor_si256
(
c2
[
2320
],
_mm256_xor_si256
(
c2
[
5724
],
_mm256_xor_si256
(
c2
[
5524
],
_mm256_xor_si256
(
c2
[
6349
],
_mm256_xor_si256
(
c2
[
3144
],
_mm256_xor_si256
(
c2
[
4941
],
_mm256_xor_si256
(
c2
[
1946
],
_mm256_xor_si256
(
c2
[
1746
],
_mm256_xor_si256
(
c2
[
6369
],
_mm256_xor_si256
(
c2
[
3164
],
_mm256_xor_si256
(
c2
[
2363
],
_mm256_xor_si256
(
c2
[
5567
],
_mm256_xor_si256
(
c2
[
4161
],
_mm256_xor_si256
(
c2
[
1166
],
_mm256_xor_si256
(
c2
[
966
],
_mm256_xor_si256
(
c2
[
6389
],
_mm256_xor_si256
(
c2
[
3184
],
_mm256_xor_si256
(
c2
[
4581
],
_mm256_xor_si256
(
c2
[
1386
],
_mm256_xor_si256
(
c2
[
2781
],
_mm256_xor_si256
(
c2
[
6185
],
c2
[
5985
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
380
]
=
_mm256_xor_si256
(
c2
[
3800
],
_mm256_xor_si256
(
c2
[
3600
],
_mm256_xor_si256
(
c2
[
5404
],
_mm256_xor_si256
(
c2
[
1201
],
_mm256_xor_si256
(
c2
[
3820
],
_mm256_xor_si256
(
c2
[
3620
],
_mm256_xor_si256
(
c2
[
3223
],
_mm256_xor_si256
(
c2
[
4821
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
3840
],
_mm256_xor_si256
(
c2
[
3640
],
_mm256_xor_si256
(
c2
[
241
],
_mm256_xor_si256
(
c2
[
3860
],
_mm256_xor_si256
(
c2
[
3660
],
_mm256_xor_si256
(
c2
[
2864
],
_mm256_xor_si256
(
c2
[
4263
],
_mm256_xor_si256
(
c2
[
3680
],
_mm256_xor_si256
(
c2
[
5480
],
_mm256_xor_si256
(
c2
[
4883
],
_mm256_xor_si256
(
c2
[
3700
],
_mm256_xor_si256
(
c2
[
905
],
_mm256_xor_si256
(
c2
[
5902
],
_mm256_xor_si256
(
c2
[
3920
],
_mm256_xor_si256
(
c2
[
3720
],
_mm256_xor_si256
(
c2
[
2123
],
_mm256_xor_si256
(
c2
[
6120
],
_mm256_xor_si256
(
c2
[
3740
],
_mm256_xor_si256
(
c2
[
2342
],
_mm256_xor_si256
(
c2
[
3760
],
_mm256_xor_si256
(
c2
[
6163
],
_mm256_xor_si256
(
c2
[
1562
],
_mm256_xor_si256
(
c2
[
3980
],
_mm256_xor_si256
(
c2
[
3780
],
_mm256_xor_si256
(
c2
[
1982
],
c2
[
182
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
390
]
=
_mm256_xor_si256
(
c2
[
2004
],
_mm256_xor_si256
(
c2
[
1804
],
_mm256_xor_si256
(
c2
[
3808
],
_mm256_xor_si256
(
c2
[
3608
],
_mm256_xor_si256
(
c2
[
5804
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
2024
],
_mm256_xor_si256
(
c2
[
1824
],
_mm256_xor_si256
(
c2
[
1427
],
_mm256_xor_si256
(
c2
[
3025
],
_mm256_xor_si256
(
c2
[
2044
],
_mm256_xor_si256
(
c2
[
1844
],
_mm256_xor_si256
(
c2
[
4844
],
_mm256_xor_si256
(
c2
[
2064
],
_mm256_xor_si256
(
c2
[
1864
],
_mm256_xor_si256
(
c2
[
1268
],
_mm256_xor_si256
(
c2
[
1068
],
_mm256_xor_si256
(
c2
[
2467
],
_mm256_xor_si256
(
c2
[
2084
],
_mm256_xor_si256
(
c2
[
1884
],
_mm256_xor_si256
(
c2
[
3684
],
_mm256_xor_si256
(
c2
[
3087
],
_mm256_xor_si256
(
c2
[
2104
],
_mm256_xor_si256
(
c2
[
1904
],
_mm256_xor_si256
(
c2
[
5508
],
_mm256_xor_si256
(
c2
[
2124
],
_mm256_xor_si256
(
c2
[
1924
],
_mm256_xor_si256
(
c2
[
527
],
_mm256_xor_si256
(
c2
[
327
],
_mm256_xor_si256
(
c2
[
4324
],
_mm256_xor_si256
(
c2
[
2144
],
_mm256_xor_si256
(
c2
[
1944
],
_mm256_xor_si256
(
c2
[
546
],
_mm256_xor_si256
(
c2
[
4940
],
_mm256_xor_si256
(
c2
[
2164
],
_mm256_xor_si256
(
c2
[
1964
],
_mm256_xor_si256
(
c2
[
4367
],
_mm256_xor_si256
(
c2
[
6165
],
_mm256_xor_si256
(
c2
[
2184
],
_mm256_xor_si256
(
c2
[
1984
],
_mm256_xor_si256
(
c2
[
386
],
_mm256_xor_si256
(
c2
[
186
],
c2
[
4785
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
400
]
=
_mm256_xor_si256
(
c2
[
601
],
_mm256_xor_si256
(
c2
[
2804
],
_mm256_xor_si256
(
c2
[
2405
],
_mm256_xor_si256
(
c2
[
4608
],
_mm256_xor_si256
(
c2
[
4601
],
_mm256_xor_si256
(
c2
[
405
],
_mm256_xor_si256
(
c2
[
621
],
_mm256_xor_si256
(
c2
[
2824
],
_mm256_xor_si256
(
c2
[
224
],
_mm256_xor_si256
(
c2
[
2427
],
_mm256_xor_si256
(
c2
[
1822
],
_mm256_xor_si256
(
c2
[
4225
],
_mm256_xor_si256
(
c2
[
4025
],
_mm256_xor_si256
(
c2
[
641
],
_mm256_xor_si256
(
c2
[
2844
],
_mm256_xor_si256
(
c2
[
3641
],
_mm256_xor_si256
(
c2
[
6044
],
_mm256_xor_si256
(
c2
[
5844
],
_mm256_xor_si256
(
c2
[
40
],
_mm256_xor_si256
(
c2
[
661
],
_mm256_xor_si256
(
c2
[
2864
],
_mm256_xor_si256
(
c2
[
6264
],
_mm256_xor_si256
(
c2
[
2068
],
_mm256_xor_si256
(
c2
[
1264
],
_mm256_xor_si256
(
c2
[
3467
],
_mm256_xor_si256
(
c2
[
681
],
_mm256_xor_si256
(
c2
[
2884
],
_mm256_xor_si256
(
c2
[
2481
],
_mm256_xor_si256
(
c2
[
4684
],
_mm256_xor_si256
(
c2
[
1884
],
_mm256_xor_si256
(
c2
[
4287
],
_mm256_xor_si256
(
c2
[
4087
],
_mm256_xor_si256
(
c2
[
701
],
_mm256_xor_si256
(
c2
[
2904
],
_mm256_xor_si256
(
c2
[
4305
],
_mm256_xor_si256
(
c2
[
309
],
_mm256_xor_si256
(
c2
[
109
],
_mm256_xor_si256
(
c2
[
721
],
_mm256_xor_si256
(
c2
[
2924
],
_mm256_xor_si256
(
c2
[
5523
],
_mm256_xor_si256
(
c2
[
1327
],
_mm256_xor_si256
(
c2
[
3121
],
_mm256_xor_si256
(
c2
[
5524
],
_mm256_xor_si256
(
c2
[
5324
],
_mm256_xor_si256
(
c2
[
741
],
_mm256_xor_si256
(
c2
[
2944
],
_mm256_xor_si256
(
c2
[
5742
],
_mm256_xor_si256
(
c2
[
1746
],
_mm256_xor_si256
(
c2
[
1546
],
_mm256_xor_si256
(
c2
[
761
],
_mm256_xor_si256
(
c2
[
2964
],
_mm256_xor_si256
(
c2
[
3164
],
_mm256_xor_si256
(
c2
[
5367
],
_mm256_xor_si256
(
c2
[
4962
],
_mm256_xor_si256
(
c2
[
966
],
_mm256_xor_si256
(
c2
[
766
],
_mm256_xor_si256
(
c2
[
781
],
_mm256_xor_si256
(
c2
[
2984
],
_mm256_xor_si256
(
c2
[
5382
],
_mm256_xor_si256
(
c2
[
1186
],
_mm256_xor_si256
(
c2
[
3582
],
_mm256_xor_si256
(
c2
[
5985
],
c2
[
5785
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
410
]
=
_mm256_xor_si256
(
c2
[
4601
],
_mm256_xor_si256
(
c2
[
4401
],
_mm256_xor_si256
(
c2
[
6205
],
_mm256_xor_si256
(
c2
[
2002
],
_mm256_xor_si256
(
c2
[
4621
],
_mm256_xor_si256
(
c2
[
4421
],
_mm256_xor_si256
(
c2
[
4024
],
_mm256_xor_si256
(
c2
[
5622
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
4641
],
_mm256_xor_si256
(
c2
[
4441
],
_mm256_xor_si256
(
c2
[
1042
],
_mm256_xor_si256
(
c2
[
4661
],
_mm256_xor_si256
(
c2
[
4461
],
_mm256_xor_si256
(
c2
[
3665
],
_mm256_xor_si256
(
c2
[
5064
],
_mm256_xor_si256
(
c2
[
4481
],
_mm256_xor_si256
(
c2
[
6281
],
_mm256_xor_si256
(
c2
[
5684
],
_mm256_xor_si256
(
c2
[
4501
],
_mm256_xor_si256
(
c2
[
1706
],
_mm256_xor_si256
(
c2
[
500
],
_mm256_xor_si256
(
c2
[
4721
],
_mm256_xor_si256
(
c2
[
4521
],
_mm256_xor_si256
(
c2
[
2924
],
_mm256_xor_si256
(
c2
[
522
],
_mm256_xor_si256
(
c2
[
4541
],
_mm256_xor_si256
(
c2
[
3143
],
_mm256_xor_si256
(
c2
[
4561
],
_mm256_xor_si256
(
c2
[
565
],
_mm256_xor_si256
(
c2
[
2363
],
_mm256_xor_si256
(
c2
[
4781
],
_mm256_xor_si256
(
c2
[
4581
],
_mm256_xor_si256
(
c2
[
2783
],
c2
[
983
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc32_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=32, byte encoding
static
inline
void
ldpc_BG2_Zc32_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m256i
*
csimd
=
(
__m256i
*
)
c
,
*
dsimd
=
(
__m256i
*
)
d
;
__m256i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
1
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
72
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
242
],
_mm256_xor_si256
(
c2
[
206
],
_mm256_xor_si256
(
c2
[
86
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
304
],
_mm256_xor_si256
(
c2
[
306
],
_mm256_xor_si256
(
c2
[
66
],
_mm256_xor_si256
(
c2
[
138
],
_mm256_xor_si256
(
c2
[
344
],
_mm256_xor_si256
(
c2
[
236
],
_mm256_xor_si256
(
c2
[
356
],
_mm256_xor_si256
(
c2
[
346
],
_mm256_xor_si256
(
c2
[
94
],
_mm256_xor_si256
(
c2
[
348
],
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
204
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
266
],
_mm256_xor_si256
(
c2
[
388
],
_mm256_xor_si256
(
c2
[
196
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
162
],
_mm256_xor_si256
(
c2
[
342
],
c2
[
390
]))))))))))))))))))))))))));
//row: 1
d2
[
1
]
=
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
72
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
254
],
_mm256_xor_si256
(
c2
[
242
],
_mm256_xor_si256
(
c2
[
206
],
_mm256_xor_si256
(
c2
[
86
],
_mm256_xor_si256
(
c2
[
148
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
304
],
_mm256_xor_si256
(
c2
[
318
],
_mm256_xor_si256
(
c2
[
306
],
_mm256_xor_si256
(
c2
[
66
],
_mm256_xor_si256
(
c2
[
138
],
_mm256_xor_si256
(
c2
[
344
],
_mm256_xor_si256
(
c2
[
236
],
_mm256_xor_si256
(
c2
[
356
],
_mm256_xor_si256
(
c2
[
346
],
_mm256_xor_si256
(
c2
[
94
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
348
],
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
204
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
266
],
_mm256_xor_si256
(
c2
[
388
],
_mm256_xor_si256
(
c2
[
196
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
174
],
_mm256_xor_si256
(
c2
[
162
],
_mm256_xor_si256
(
c2
[
342
],
c2
[
390
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
2
]
=
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
72
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
254
],
_mm256_xor_si256
(
c2
[
242
],
_mm256_xor_si256
(
c2
[
206
],
_mm256_xor_si256
(
c2
[
86
],
_mm256_xor_si256
(
c2
[
148
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
304
],
_mm256_xor_si256
(
c2
[
318
],
_mm256_xor_si256
(
c2
[
306
],
_mm256_xor_si256
(
c2
[
78
],
_mm256_xor_si256
(
c2
[
66
],
_mm256_xor_si256
(
c2
[
138
],
_mm256_xor_si256
(
c2
[
356
],
_mm256_xor_si256
(
c2
[
344
],
_mm256_xor_si256
(
c2
[
236
],
_mm256_xor_si256
(
c2
[
356
],
_mm256_xor_si256
(
c2
[
358
],
_mm256_xor_si256
(
c2
[
346
],
_mm256_xor_si256
(
c2
[
94
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
348
],
_mm256_xor_si256
(
c2
[
36
],
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
204
],
_mm256_xor_si256
(
c2
[
350
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
266
],
_mm256_xor_si256
(
c2
[
16
],
_mm256_xor_si256
(
c2
[
388
],
_mm256_xor_si256
(
c2
[
196
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
174
],
_mm256_xor_si256
(
c2
[
162
],
_mm256_xor_si256
(
c2
[
354
],
_mm256_xor_si256
(
c2
[
342
],
c2
[
390
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
3
]
=
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
72
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
242
],
_mm256_xor_si256
(
c2
[
206
],
_mm256_xor_si256
(
c2
[
98
],
_mm256_xor_si256
(
c2
[
86
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
316
],
_mm256_xor_si256
(
c2
[
304
],
_mm256_xor_si256
(
c2
[
306
],
_mm256_xor_si256
(
c2
[
66
],
_mm256_xor_si256
(
c2
[
138
],
_mm256_xor_si256
(
c2
[
344
],
_mm256_xor_si256
(
c2
[
236
],
_mm256_xor_si256
(
c2
[
368
],
_mm256_xor_si256
(
c2
[
356
],
_mm256_xor_si256
(
c2
[
346
],
_mm256_xor_si256
(
c2
[
106
],
_mm256_xor_si256
(
c2
[
94
],
_mm256_xor_si256
(
c2
[
348
],
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
216
],
_mm256_xor_si256
(
c2
[
204
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
278
],
_mm256_xor_si256
(
c2
[
266
],
_mm256_xor_si256
(
c2
[
388
],
_mm256_xor_si256
(
c2
[
196
],
_mm256_xor_si256
(
c2
[
232
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
162
],
_mm256_xor_si256
(
c2
[
342
],
_mm256_xor_si256
(
c2
[
18
],
c2
[
390
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
4
]
=
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
156
],
_mm256_xor_si256
(
c2
[
276
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
326
],
_mm256_xor_si256
(
c2
[
290
],
_mm256_xor_si256
(
c2
[
170
],
_mm256_xor_si256
(
c2
[
266
],
_mm256_xor_si256
(
c2
[
232
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
4
],
_mm256_xor_si256
(
c2
[
18
],
_mm256_xor_si256
(
c2
[
6
],
_mm256_xor_si256
(
c2
[
150
],
_mm256_xor_si256
(
c2
[
222
],
_mm256_xor_si256
(
c2
[
44
],
_mm256_xor_si256
(
c2
[
320
],
_mm256_xor_si256
(
c2
[
56
],
_mm256_xor_si256
(
c2
[
46
],
_mm256_xor_si256
(
c2
[
178
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
48
],
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
38
],
_mm256_xor_si256
(
c2
[
350
],
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
280
],
_mm256_xor_si256
(
c2
[
304
],
_mm256_xor_si256
(
c2
[
258
],
_mm256_xor_si256
(
c2
[
246
],
_mm256_xor_si256
(
c2
[
42
],
c2
[
90
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
5
]
=
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
156
],
_mm256_xor_si256
(
c2
[
276
],
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
326
],
_mm256_xor_si256
(
c2
[
290
],
_mm256_xor_si256
(
c2
[
170
],
_mm256_xor_si256
(
c2
[
110
],
_mm256_xor_si256
(
c2
[
232
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
4
],
_mm256_xor_si256
(
c2
[
18
],
_mm256_xor_si256
(
c2
[
6
],
_mm256_xor_si256
(
c2
[
150
],
_mm256_xor_si256
(
c2
[
222
],
_mm256_xor_si256
(
c2
[
44
],
_mm256_xor_si256
(
c2
[
320
],
_mm256_xor_si256
(
c2
[
56
],
_mm256_xor_si256
(
c2
[
46
],
_mm256_xor_si256
(
c2
[
178
],
_mm256_xor_si256
(
c2
[
34
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
48
],
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
38
],
_mm256_xor_si256
(
c2
[
350
],
_mm256_xor_si256
(
c2
[
386
],
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
280
],
_mm256_xor_si256
(
c2
[
304
],
_mm256_xor_si256
(
c2
[
258
],
_mm256_xor_si256
(
c2
[
246
],
_mm256_xor_si256
(
c2
[
42
],
c2
[
90
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
6
]
=
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
72
],
_mm256_xor_si256
(
c2
[
48
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
230
],
_mm256_xor_si256
(
c2
[
218
],
_mm256_xor_si256
(
c2
[
182
],
_mm256_xor_si256
(
c2
[
62
],
_mm256_xor_si256
(
c2
[
124
],
_mm256_xor_si256
(
c2
[
112
],
_mm256_xor_si256
(
c2
[
280
],
_mm256_xor_si256
(
c2
[
294
],
_mm256_xor_si256
(
c2
[
282
],
_mm256_xor_si256
(
c2
[
42
],
_mm256_xor_si256
(
c2
[
114
],
_mm256_xor_si256
(
c2
[
320
],
_mm256_xor_si256
(
c2
[
212
],
_mm256_xor_si256
(
c2
[
332
],
_mm256_xor_si256
(
c2
[
322
],
_mm256_xor_si256
(
c2
[
70
],
_mm256_xor_si256
(
c2
[
58
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
242
],
_mm256_xor_si256
(
c2
[
170
],
_mm256_xor_si256
(
c2
[
364
],
_mm256_xor_si256
(
c2
[
172
],
_mm256_xor_si256
(
c2
[
196
],
_mm256_xor_si256
(
c2
[
150
],
_mm256_xor_si256
(
c2
[
138
],
_mm256_xor_si256
(
c2
[
318
],
_mm256_xor_si256
(
c2
[
366
],
c2
[
354
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
7
]
=
_mm256_xor_si256
(
c2
[
144
],
_mm256_xor_si256
(
c2
[
132
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
312
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
48
],
_mm256_xor_si256
(
c2
[
290
],
_mm256_xor_si256
(
c2
[
278
],
_mm256_xor_si256
(
c2
[
98
],
_mm256_xor_si256
(
c2
[
242
],
_mm256_xor_si256
(
c2
[
62
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
122
],
_mm256_xor_si256
(
c2
[
326
],
_mm256_xor_si256
(
c2
[
14
],
_mm256_xor_si256
(
c2
[
184
],
_mm256_xor_si256
(
c2
[
172
],
_mm256_xor_si256
(
c2
[
376
],
_mm256_xor_si256
(
c2
[
172
],
_mm256_xor_si256
(
c2
[
340
],
_mm256_xor_si256
(
c2
[
160
],
_mm256_xor_si256
(
c2
[
354
],
_mm256_xor_si256
(
c2
[
342
],
_mm256_xor_si256
(
c2
[
162
],
_mm256_xor_si256
(
c2
[
102
],
_mm256_xor_si256
(
c2
[
306
],
_mm256_xor_si256
(
c2
[
174
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
380
],
_mm256_xor_si256
(
c2
[
200
],
_mm256_xor_si256
(
c2
[
272
],
_mm256_xor_si256
(
c2
[
92
],
_mm256_xor_si256
(
c2
[
224
],
_mm256_xor_si256
(
c2
[
8
],
_mm256_xor_si256
(
c2
[
212
],
_mm256_xor_si256
(
c2
[
382
],
_mm256_xor_si256
(
c2
[
202
],
_mm256_xor_si256
(
c2
[
346
],
_mm256_xor_si256
(
c2
[
130
],
_mm256_xor_si256
(
c2
[
334
],
_mm256_xor_si256
(
c2
[
238
],
_mm256_xor_si256
(
c2
[
12
],
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
204
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
264
],
_mm256_xor_si256
(
c2
[
72
],
_mm256_xor_si256
(
c2
[
240
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
194
],
_mm256_xor_si256
(
c2
[
134
],
_mm256_xor_si256
(
c2
[
302
],
_mm256_xor_si256
(
c2
[
122
],
_mm256_xor_si256
(
c2
[
158
],
_mm256_xor_si256
(
c2
[
40
],
_mm256_xor_si256
(
c2
[
244
],
_mm256_xor_si256
(
c2
[
232
],
_mm256_xor_si256
(
c2
[
52
],
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
76
],
_mm256_xor_si256
(
c2
[
210
],
_mm256_xor_si256
(
c2
[
198
],
_mm256_xor_si256
(
c2
[
18
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
198
],
_mm256_xor_si256
(
c2
[
258
],
_mm256_xor_si256
(
c2
[
42
],
c2
[
246
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
8
]
=
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
156
],
_mm256_xor_si256
(
c2
[
144
],
_mm256_xor_si256
(
c2
[
264
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
326
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
278
],
_mm256_xor_si256
(
c2
[
158
],
_mm256_xor_si256
(
c2
[
362
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
208
],
_mm256_xor_si256
(
c2
[
376
],
_mm256_xor_si256
(
c2
[
6
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
150
],
_mm256_xor_si256
(
c2
[
138
],
_mm256_xor_si256
(
c2
[
210
],
_mm256_xor_si256
(
c2
[
44
],
_mm256_xor_si256
(
c2
[
32
],
_mm256_xor_si256
(
c2
[
308
],
_mm256_xor_si256
(
c2
[
44
],
_mm256_xor_si256
(
c2
[
46
],
_mm256_xor_si256
(
c2
[
34
],
_mm256_xor_si256
(
c2
[
166
],
_mm256_xor_si256
(
c2
[
48
],
_mm256_xor_si256
(
c2
[
36
],
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
276
],
_mm256_xor_si256
(
c2
[
38
],
_mm256_xor_si256
(
c2
[
26
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
76
],
_mm256_xor_si256
(
c2
[
268
],
_mm256_xor_si256
(
c2
[
292
],
_mm256_xor_si256
(
c2
[
246
],
_mm256_xor_si256
(
c2
[
234
],
_mm256_xor_si256
(
c2
[
42
],
_mm256_xor_si256
(
c2
[
30
],
c2
[
78
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
9
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
372
],
_mm256_xor_si256
(
c2
[
36
],
_mm256_xor_si256
(
c2
[
348
],
_mm256_xor_si256
(
c2
[
156
],
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
146
],
_mm256_xor_si256
(
c2
[
206
],
_mm256_xor_si256
(
c2
[
134
],
_mm256_xor_si256
(
c2
[
170
],
_mm256_xor_si256
(
c2
[
98
],
_mm256_xor_si256
(
c2
[
50
],
_mm256_xor_si256
(
c2
[
362
],
_mm256_xor_si256
(
c2
[
134
],
_mm256_xor_si256
(
c2
[
40
],
_mm256_xor_si256
(
c2
[
100
],
_mm256_xor_si256
(
c2
[
28
],
_mm256_xor_si256
(
c2
[
268
],
_mm256_xor_si256
(
c2
[
196
],
_mm256_xor_si256
(
c2
[
210
],
_mm256_xor_si256
(
c2
[
270
],
_mm256_xor_si256
(
c2
[
198
],
_mm256_xor_si256
(
c2
[
30
],
_mm256_xor_si256
(
c2
[
342
],
_mm256_xor_si256
(
c2
[
102
],
_mm256_xor_si256
(
c2
[
30
],
_mm256_xor_si256
(
c2
[
308
],
_mm256_xor_si256
(
c2
[
236
],
_mm256_xor_si256
(
c2
[
200
],
_mm256_xor_si256
(
c2
[
128
],
_mm256_xor_si256
(
c2
[
320
],
_mm256_xor_si256
(
c2
[
248
],
_mm256_xor_si256
(
c2
[
310
],
_mm256_xor_si256
(
c2
[
238
],
_mm256_xor_si256
(
c2
[
58
],
_mm256_xor_si256
(
c2
[
370
],
_mm256_xor_si256
(
c2
[
252
],
_mm256_xor_si256
(
c2
[
312
],
_mm256_xor_si256
(
c2
[
240
],
_mm256_xor_si256
(
c2
[
372
],
_mm256_xor_si256
(
c2
[
300
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
302
],
_mm256_xor_si256
(
c2
[
230
],
_mm256_xor_si256
(
c2
[
230
],
_mm256_xor_si256
(
c2
[
158
],
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
280
],
_mm256_xor_si256
(
c2
[
160
],
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
184
],
_mm256_xor_si256
(
c2
[
112
],
_mm256_xor_si256
(
c2
[
172
],
_mm256_xor_si256
(
c2
[
66
],
_mm256_xor_si256
(
c2
[
126
],
_mm256_xor_si256
(
c2
[
54
],
_mm256_xor_si256
(
c2
[
306
],
_mm256_xor_si256
(
c2
[
234
],
_mm256_xor_si256
(
c2
[
354
],
c2
[
282
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
10
]
=
_mm256_xor_si256
(
c2
[
132
],
_mm256_xor_si256
(
c2
[
302
],
_mm256_xor_si256
(
c2
[
12
],
c2
[
266
])));
//row: 11
d2
[
11
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
132
],
_mm256_xor_si256
(
c2
[
146
],
_mm256_xor_si256
(
c2
[
110
],
_mm256_xor_si256
(
c2
[
2
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
40
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
208
],
_mm256_xor_si256
(
c2
[
210
],
_mm256_xor_si256
(
c2
[
354
],
_mm256_xor_si256
(
c2
[
42
],
_mm256_xor_si256
(
c2
[
248
],
_mm256_xor_si256
(
c2
[
140
],
_mm256_xor_si256
(
c2
[
272
],
_mm256_xor_si256
(
c2
[
260
],
_mm256_xor_si256
(
c2
[
250
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
382
],
_mm256_xor_si256
(
c2
[
252
],
_mm256_xor_si256
(
c2
[
312
],
_mm256_xor_si256
(
c2
[
120
],
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
242
],
_mm256_xor_si256
(
c2
[
182
],
_mm256_xor_si256
(
c2
[
170
],
_mm256_xor_si256
(
c2
[
158
],
_mm256_xor_si256
(
c2
[
292
],
_mm256_xor_si256
(
c2
[
100
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
124
],
_mm256_xor_si256
(
c2
[
66
],
_mm256_xor_si256
(
c2
[
246
],
_mm256_xor_si256
(
c2
[
306
],
_mm256_xor_si256
(
c2
[
294
],
c2
[
234
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
12
]
=
_mm256_xor_si256
(
c2
[
276
],
_mm256_xor_si256
(
c2
[
264
],
_mm256_xor_si256
(
c2
[
240
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
38
],
_mm256_xor_si256
(
c2
[
26
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
254
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
316
],
_mm256_xor_si256
(
c2
[
304
],
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
102
],
_mm256_xor_si256
(
c2
[
90
],
_mm256_xor_si256
(
c2
[
234
],
_mm256_xor_si256
(
c2
[
306
],
_mm256_xor_si256
(
c2
[
186
],
_mm256_xor_si256
(
c2
[
128
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
140
],
_mm256_xor_si256
(
c2
[
130
],
_mm256_xor_si256
(
c2
[
262
],
_mm256_xor_si256
(
c2
[
144
],
_mm256_xor_si256
(
c2
[
132
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
372
],
_mm256_xor_si256
(
c2
[
122
],
_mm256_xor_si256
(
c2
[
50
],
_mm256_xor_si256
(
c2
[
172
],
_mm256_xor_si256
(
c2
[
364
],
_mm256_xor_si256
(
c2
[
388
],
_mm256_xor_si256
(
c2
[
342
],
_mm256_xor_si256
(
c2
[
330
],
_mm256_xor_si256
(
c2
[
126
],
c2
[
174
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
13
]
=
_mm256_xor_si256
(
c2
[
72
],
_mm256_xor_si256
(
c2
[
48
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
218
],
_mm256_xor_si256
(
c2
[
182
],
_mm256_xor_si256
(
c2
[
74
],
_mm256_xor_si256
(
c2
[
62
],
_mm256_xor_si256
(
c2
[
26
],
_mm256_xor_si256
(
c2
[
112
],
_mm256_xor_si256
(
c2
[
292
],
_mm256_xor_si256
(
c2
[
280
],
_mm256_xor_si256
(
c2
[
282
],
_mm256_xor_si256
(
c2
[
42
],
_mm256_xor_si256
(
c2
[
114
],
_mm256_xor_si256
(
c2
[
320
],
_mm256_xor_si256
(
c2
[
212
],
_mm256_xor_si256
(
c2
[
344
],
_mm256_xor_si256
(
c2
[
332
],
_mm256_xor_si256
(
c2
[
322
],
_mm256_xor_si256
(
c2
[
82
],
_mm256_xor_si256
(
c2
[
70
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
254
],
_mm256_xor_si256
(
c2
[
242
],
_mm256_xor_si256
(
c2
[
364
],
_mm256_xor_si256
(
c2
[
172
],
_mm256_xor_si256
(
c2
[
208
],
_mm256_xor_si256
(
c2
[
196
],
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
138
],
_mm256_xor_si256
(
c2
[
318
],
_mm256_xor_si256
(
c2
[
378
],
c2
[
366
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
14
]
=
_mm256_xor_si256
(
c2
[
144
],
_mm256_xor_si256
(
c2
[
132
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
290
],
_mm256_xor_si256
(
c2
[
278
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
242
],
_mm256_xor_si256
(
c2
[
302
],
_mm256_xor_si256
(
c2
[
194
],
_mm256_xor_si256
(
c2
[
122
],
_mm256_xor_si256
(
c2
[
182
],
_mm256_xor_si256
(
c2
[
230
],
_mm256_xor_si256
(
c2
[
184
],
_mm256_xor_si256
(
c2
[
172
],
_mm256_xor_si256
(
c2
[
232
],
_mm256_xor_si256
(
c2
[
28
],
_mm256_xor_si256
(
c2
[
340
],
_mm256_xor_si256
(
c2
[
16
],
_mm256_xor_si256
(
c2
[
354
],
_mm256_xor_si256
(
c2
[
342
],
_mm256_xor_si256
(
c2
[
18
],
_mm256_xor_si256
(
c2
[
102
],
_mm256_xor_si256
(
c2
[
162
],
_mm256_xor_si256
(
c2
[
174
],
_mm256_xor_si256
(
c2
[
234
],
_mm256_xor_si256
(
c2
[
380
],
_mm256_xor_si256
(
c2
[
56
],
_mm256_xor_si256
(
c2
[
272
],
_mm256_xor_si256
(
c2
[
332
],
_mm256_xor_si256
(
c2
[
80
],
_mm256_xor_si256
(
c2
[
8
],
_mm256_xor_si256
(
c2
[
68
],
_mm256_xor_si256
(
c2
[
382
],
_mm256_xor_si256
(
c2
[
58
],
_mm256_xor_si256
(
c2
[
202
],
_mm256_xor_si256
(
c2
[
130
],
_mm256_xor_si256
(
c2
[
190
],
_mm256_xor_si256
(
c2
[
12
],
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
120
],
_mm256_xor_si256
(
c2
[
312
],
_mm256_xor_si256
(
c2
[
240
],
_mm256_xor_si256
(
c2
[
300
],
_mm256_xor_si256
(
c2
[
216
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
50
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
302
],
_mm256_xor_si256
(
c2
[
362
],
_mm256_xor_si256
(
c2
[
40
],
_mm256_xor_si256
(
c2
[
100
],
_mm256_xor_si256
(
c2
[
232
],
_mm256_xor_si256
(
c2
[
292
],
_mm256_xor_si256
(
c2
[
328
],
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
316
],
_mm256_xor_si256
(
c2
[
210
],
_mm256_xor_si256
(
c2
[
198
],
_mm256_xor_si256
(
c2
[
258
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
54
],
_mm256_xor_si256
(
c2
[
114
],
_mm256_xor_si256
(
c2
[
42
],
c2
[
102
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
15
]
=
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
276
],
_mm256_xor_si256
(
c2
[
348
],
_mm256_xor_si256
(
c2
[
252
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
372
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
122
],
_mm256_xor_si256
(
c2
[
38
],
_mm256_xor_si256
(
c2
[
110
],
_mm256_xor_si256
(
c2
[
2
],
_mm256_xor_si256
(
c2
[
74
],
_mm256_xor_si256
(
c2
[
266
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
16
],
_mm256_xor_si256
(
c2
[
316
],
_mm256_xor_si256
(
c2
[
4
],
_mm256_xor_si256
(
c2
[
100
],
_mm256_xor_si256
(
c2
[
172
],
_mm256_xor_si256
(
c2
[
186
],
_mm256_xor_si256
(
c2
[
102
],
_mm256_xor_si256
(
c2
[
174
],
_mm256_xor_si256
(
c2
[
246
],
_mm256_xor_si256
(
c2
[
318
],
_mm256_xor_si256
(
c2
[
318
],
_mm256_xor_si256
(
c2
[
6
],
_mm256_xor_si256
(
c2
[
140
],
_mm256_xor_si256
(
c2
[
212
],
_mm256_xor_si256
(
c2
[
32
],
_mm256_xor_si256
(
c2
[
104
],
_mm256_xor_si256
(
c2
[
152
],
_mm256_xor_si256
(
c2
[
224
],
_mm256_xor_si256
(
c2
[
142
],
_mm256_xor_si256
(
c2
[
214
],
_mm256_xor_si256
(
c2
[
274
],
_mm256_xor_si256
(
c2
[
346
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
144
],
_mm256_xor_si256
(
c2
[
216
],
_mm256_xor_si256
(
c2
[
204
],
_mm256_xor_si256
(
c2
[
276
],
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
72
],
_mm256_xor_si256
(
c2
[
134
],
_mm256_xor_si256
(
c2
[
206
],
_mm256_xor_si256
(
c2
[
62
],
_mm256_xor_si256
(
c2
[
134
],
_mm256_xor_si256
(
c2
[
184
],
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
376
],
_mm256_xor_si256
(
c2
[
64
],
_mm256_xor_si256
(
c2
[
16
],
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
42
],
_mm256_xor_si256
(
c2
[
342
],
_mm256_xor_si256
(
c2
[
30
],
_mm256_xor_si256
(
c2
[
138
],
_mm256_xor_si256
(
c2
[
210
],
_mm256_xor_si256
(
c2
[
186
],
c2
[
258
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
16
]
=
_mm256_xor_si256
(
c2
[
204
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
312
],
_mm256_xor_si256
(
c2
[
300
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
350
],
_mm256_xor_si256
(
c2
[
86
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
74
],
_mm256_xor_si256
(
c2
[
302
],
_mm256_xor_si256
(
c2
[
38
],
_mm256_xor_si256
(
c2
[
182
],
_mm256_xor_si256
(
c2
[
302
],
_mm256_xor_si256
(
c2
[
134
],
_mm256_xor_si256
(
c2
[
244
],
_mm256_xor_si256
(
c2
[
364
],
_mm256_xor_si256
(
c2
[
232
],
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
16
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
30
],
_mm256_xor_si256
(
c2
[
150
],
_mm256_xor_si256
(
c2
[
18
],
_mm256_xor_si256
(
c2
[
138
],
_mm256_xor_si256
(
c2
[
294
],
_mm256_xor_si256
(
c2
[
162
],
_mm256_xor_si256
(
c2
[
282
],
_mm256_xor_si256
(
c2
[
234
],
_mm256_xor_si256
(
c2
[
354
],
_mm256_xor_si256
(
c2
[
188
],
_mm256_xor_si256
(
c2
[
56
],
_mm256_xor_si256
(
c2
[
176
],
_mm256_xor_si256
(
c2
[
332
],
_mm256_xor_si256
(
c2
[
68
],
_mm256_xor_si256
(
c2
[
68
],
_mm256_xor_si256
(
c2
[
188
],
_mm256_xor_si256
(
c2
[
190
],
_mm256_xor_si256
(
c2
[
58
],
_mm256_xor_si256
(
c2
[
178
],
_mm256_xor_si256
(
c2
[
190
],
_mm256_xor_si256
(
c2
[
310
],
_mm256_xor_si256
(
c2
[
72
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
252
],
_mm256_xor_si256
(
c2
[
120
],
_mm256_xor_si256
(
c2
[
240
],
_mm256_xor_si256
(
c2
[
300
],
_mm256_xor_si256
(
c2
[
36
],
_mm256_xor_si256
(
c2
[
182
],
_mm256_xor_si256
(
c2
[
50
],
_mm256_xor_si256
(
c2
[
170
],
_mm256_xor_si256
(
c2
[
362
],
_mm256_xor_si256
(
c2
[
98
],
_mm256_xor_si256
(
c2
[
232
],
_mm256_xor_si256
(
c2
[
100
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
292
],
_mm256_xor_si256
(
c2
[
28
],
_mm256_xor_si256
(
c2
[
316
],
_mm256_xor_si256
(
c2
[
52
],
_mm256_xor_si256
(
c2
[
270
],
_mm256_xor_si256
(
c2
[
390
],
_mm256_xor_si256
(
c2
[
258
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
186
],
_mm256_xor_si256
(
c2
[
54
],
_mm256_xor_si256
(
c2
[
174
],
_mm256_xor_si256
(
c2
[
102
],
_mm256_xor_si256
(
c2
[
222
],
c2
[
186
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
17
]
=
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
312
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
72
],
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
86
],
_mm256_xor_si256
(
c2
[
254
],
_mm256_xor_si256
(
c2
[
74
],
_mm256_xor_si256
(
c2
[
242
],
_mm256_xor_si256
(
c2
[
38
],
_mm256_xor_si256
(
c2
[
206
],
_mm256_xor_si256
(
c2
[
302
],
_mm256_xor_si256
(
c2
[
86
],
_mm256_xor_si256
(
c2
[
362
],
_mm256_xor_si256
(
c2
[
364
],
_mm256_xor_si256
(
c2
[
148
],
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
304
],
_mm256_xor_si256
(
c2
[
150
],
_mm256_xor_si256
(
c2
[
318
],
_mm256_xor_si256
(
c2
[
138
],
_mm256_xor_si256
(
c2
[
306
],
_mm256_xor_si256
(
c2
[
78
],
_mm256_xor_si256
(
c2
[
282
],
_mm256_xor_si256
(
c2
[
66
],
_mm256_xor_si256
(
c2
[
354
],
_mm256_xor_si256
(
c2
[
138
],
_mm256_xor_si256
(
c2
[
356
],
_mm256_xor_si256
(
c2
[
176
],
_mm256_xor_si256
(
c2
[
344
],
_mm256_xor_si256
(
c2
[
68
],
_mm256_xor_si256
(
c2
[
236
],
_mm256_xor_si256
(
c2
[
188
],
_mm256_xor_si256
(
c2
[
356
],
_mm256_xor_si256
(
c2
[
358
],
_mm256_xor_si256
(
c2
[
178
],
_mm256_xor_si256
(
c2
[
346
],
_mm256_xor_si256
(
c2
[
310
],
_mm256_xor_si256
(
c2
[
94
],
_mm256_xor_si256
(
c2
[
346
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
348
],
_mm256_xor_si256
(
c2
[
36
],
_mm256_xor_si256
(
c2
[
240
],
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
36
],
_mm256_xor_si256
(
c2
[
204
],
_mm256_xor_si256
(
c2
[
350
],
_mm256_xor_si256
(
c2
[
170
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
98
],
_mm256_xor_si256
(
c2
[
266
],
_mm256_xor_si256
(
c2
[
16
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
388
],
_mm256_xor_si256
(
c2
[
28
],
_mm256_xor_si256
(
c2
[
196
],
_mm256_xor_si256
(
c2
[
52
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
390
],
_mm256_xor_si256
(
c2
[
174
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
162
],
_mm256_xor_si256
(
c2
[
354
],
_mm256_xor_si256
(
c2
[
174
],
_mm256_xor_si256
(
c2
[
342
],
_mm256_xor_si256
(
c2
[
222
],
c2
[
390
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
18
]
=
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
36
],
c2
[
230
]));
//row: 19
d2
[
19
]
=
_mm256_xor_si256
(
c2
[
12
],
_mm256_xor_si256
(
c2
[
372
],
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
276
],
_mm256_xor_si256
(
c2
[
158
],
_mm256_xor_si256
(
c2
[
122
],
_mm256_xor_si256
(
c2
[
2
],
_mm256_xor_si256
(
c2
[
242
],
_mm256_xor_si256
(
c2
[
52
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
222
],
_mm256_xor_si256
(
c2
[
366
],
_mm256_xor_si256
(
c2
[
54
],
_mm256_xor_si256
(
c2
[
260
],
_mm256_xor_si256
(
c2
[
152
],
_mm256_xor_si256
(
c2
[
272
],
_mm256_xor_si256
(
c2
[
262
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
264
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
120
],
_mm256_xor_si256
(
c2
[
254
],
_mm256_xor_si256
(
c2
[
182
],
_mm256_xor_si256
(
c2
[
304
],
_mm256_xor_si256
(
c2
[
112
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
78
],
_mm256_xor_si256
(
c2
[
258
],
c2
[
306
]))))))))))))))))))))))))))));
//row: 20
d2
[
20
]
=
_mm256_xor_si256
(
c2
[
72
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
36
],
_mm256_xor_si256
(
c2
[
156
],
_mm256_xor_si256
(
c2
[
218
],
_mm256_xor_si256
(
c2
[
206
],
_mm256_xor_si256
(
c2
[
170
],
_mm256_xor_si256
(
c2
[
50
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
112
],
_mm256_xor_si256
(
c2
[
100
],
_mm256_xor_si256
(
c2
[
268
],
_mm256_xor_si256
(
c2
[
282
],
_mm256_xor_si256
(
c2
[
270
],
_mm256_xor_si256
(
c2
[
30
],
_mm256_xor_si256
(
c2
[
102
],
_mm256_xor_si256
(
c2
[
308
],
_mm256_xor_si256
(
c2
[
200
],
_mm256_xor_si256
(
c2
[
320
],
_mm256_xor_si256
(
c2
[
116
],
_mm256_xor_si256
(
c2
[
310
],
_mm256_xor_si256
(
c2
[
58
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
312
],
_mm256_xor_si256
(
c2
[
372
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
302
],
_mm256_xor_si256
(
c2
[
230
],
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
160
],
_mm256_xor_si256
(
c2
[
184
],
_mm256_xor_si256
(
c2
[
138
],
_mm256_xor_si256
(
c2
[
126
],
_mm256_xor_si256
(
c2
[
306
],
c2
[
354
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
21
]
=
_mm256_xor_si256
(
c2
[
312
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
144
],
_mm256_xor_si256
(
c2
[
74
],
_mm256_xor_si256
(
c2
[
38
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
302
],
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
148
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
138
],
_mm256_xor_si256
(
c2
[
282
],
_mm256_xor_si256
(
c2
[
354
],
_mm256_xor_si256
(
c2
[
176
],
_mm256_xor_si256
(
c2
[
68
],
_mm256_xor_si256
(
c2
[
200
],
_mm256_xor_si256
(
c2
[
188
],
_mm256_xor_si256
(
c2
[
178
],
_mm256_xor_si256
(
c2
[
322
],
_mm256_xor_si256
(
c2
[
310
],
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
240
],
_mm256_xor_si256
(
c2
[
48
],
_mm256_xor_si256
(
c2
[
36
],
_mm256_xor_si256
(
c2
[
170
],
_mm256_xor_si256
(
c2
[
110
],
_mm256_xor_si256
(
c2
[
98
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
28
],
_mm256_xor_si256
(
c2
[
64
],
_mm256_xor_si256
(
c2
[
52
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
174
],
_mm256_xor_si256
(
c2
[
234
],
c2
[
222
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
22
]
=
_mm256_xor_si256
(
c2
[
362
],
c2
[
376
]);
//row: 23
d2
[
23
]
=
_mm256_xor_si256
(
c2
[
276
],
_mm256_xor_si256
(
c2
[
138
],
c2
[
178
]));
//row: 24
d2
[
24
]
=
_mm256_xor_si256
(
c2
[
170
],
_mm256_xor_si256
(
c2
[
136
],
c2
[
114
]));
//row: 25
d2
[
25
]
=
_mm256_xor_si256
(
c2
[
48
],
c2
[
346
]);
//row: 26
d2
[
26
]
=
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
72
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
120
],
_mm256_xor_si256
(
c2
[
254
],
_mm256_xor_si256
(
c2
[
242
],
_mm256_xor_si256
(
c2
[
170
],
_mm256_xor_si256
(
c2
[
206
],
_mm256_xor_si256
(
c2
[
134
],
_mm256_xor_si256
(
c2
[
26
],
_mm256_xor_si256
(
c2
[
86
],
_mm256_xor_si256
(
c2
[
14
],
_mm256_xor_si256
(
c2
[
148
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
64
],
_mm256_xor_si256
(
c2
[
244
],
_mm256_xor_si256
(
c2
[
304
],
_mm256_xor_si256
(
c2
[
232
],
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
318
],
_mm256_xor_si256
(
c2
[
306
],
_mm256_xor_si256
(
c2
[
234
],
_mm256_xor_si256
(
c2
[
78
],
_mm256_xor_si256
(
c2
[
66
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
138
],
_mm256_xor_si256
(
c2
[
66
],
_mm256_xor_si256
(
c2
[
356
],
_mm256_xor_si256
(
c2
[
344
],
_mm256_xor_si256
(
c2
[
272
],
_mm256_xor_si256
(
c2
[
236
],
_mm256_xor_si256
(
c2
[
164
],
_mm256_xor_si256
(
c2
[
296
],
_mm256_xor_si256
(
c2
[
356
],
_mm256_xor_si256
(
c2
[
284
],
_mm256_xor_si256
(
c2
[
358
],
_mm256_xor_si256
(
c2
[
346
],
_mm256_xor_si256
(
c2
[
274
],
_mm256_xor_si256
(
c2
[
34
],
_mm256_xor_si256
(
c2
[
94
],
_mm256_xor_si256
(
c2
[
22
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
348
],
_mm256_xor_si256
(
c2
[
276
],
_mm256_xor_si256
(
c2
[
36
],
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
144
],
_mm256_xor_si256
(
c2
[
204
],
_mm256_xor_si256
(
c2
[
132
],
_mm256_xor_si256
(
c2
[
350
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
266
],
_mm256_xor_si256
(
c2
[
206
],
_mm256_xor_si256
(
c2
[
266
],
_mm256_xor_si256
(
c2
[
194
],
_mm256_xor_si256
(
c2
[
194
],
_mm256_xor_si256
(
c2
[
16
],
_mm256_xor_si256
(
c2
[
388
],
_mm256_xor_si256
(
c2
[
316
],
_mm256_xor_si256
(
c2
[
196
],
_mm256_xor_si256
(
c2
[
124
],
_mm256_xor_si256
(
c2
[
160
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
148
],
_mm256_xor_si256
(
c2
[
174
],
_mm256_xor_si256
(
c2
[
162
],
_mm256_xor_si256
(
c2
[
90
],
_mm256_xor_si256
(
c2
[
354
],
_mm256_xor_si256
(
c2
[
342
],
_mm256_xor_si256
(
c2
[
270
],
_mm256_xor_si256
(
c2
[
330
],
_mm256_xor_si256
(
c2
[
390
],
c2
[
318
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
27
]
=
_mm256_xor_si256
(
c2
[
96
],
c2
[
288
]);
//row: 28
d2
[
28
]
=
_mm256_xor_si256
(
c2
[
26
],
_mm256_xor_si256
(
c2
[
64
],
c2
[
94
]));
//row: 29
d2
[
29
]
=
_mm256_xor_si256
(
c2
[
216
],
c2
[
344
]);
//row: 30
d2
[
30
]
=
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
202
],
_mm256_xor_si256
(
c2
[
122
],
c2
[
258
])));
//row: 31
d2
[
31
]
=
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
204
],
_mm256_xor_si256
(
c2
[
254
],
_mm256_xor_si256
(
c2
[
218
],
_mm256_xor_si256
(
c2
[
110
],
_mm256_xor_si256
(
c2
[
98
],
_mm256_xor_si256
(
c2
[
122
],
_mm256_xor_si256
(
c2
[
148
],
_mm256_xor_si256
(
c2
[
328
],
_mm256_xor_si256
(
c2
[
316
],
_mm256_xor_si256
(
c2
[
318
],
_mm256_xor_si256
(
c2
[
78
],
_mm256_xor_si256
(
c2
[
150
],
_mm256_xor_si256
(
c2
[
356
],
_mm256_xor_si256
(
c2
[
248
],
_mm256_xor_si256
(
c2
[
380
],
_mm256_xor_si256
(
c2
[
368
],
_mm256_xor_si256
(
c2
[
358
],
_mm256_xor_si256
(
c2
[
118
],
_mm256_xor_si256
(
c2
[
106
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
36
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
216
],
_mm256_xor_si256
(
c2
[
350
],
_mm256_xor_si256
(
c2
[
290
],
_mm256_xor_si256
(
c2
[
278
],
_mm256_xor_si256
(
c2
[
16
],
_mm256_xor_si256
(
c2
[
208
],
_mm256_xor_si256
(
c2
[
244
],
_mm256_xor_si256
(
c2
[
232
],
_mm256_xor_si256
(
c2
[
174
],
_mm256_xor_si256
(
c2
[
354
],
_mm256_xor_si256
(
c2
[
30
],
c2
[
18
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
32
]
=
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
156
],
_mm256_xor_si256
(
c2
[
144
],
_mm256_xor_si256
(
c2
[
264
],
_mm256_xor_si256
(
c2
[
216
],
_mm256_xor_si256
(
c2
[
326
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
278
],
_mm256_xor_si256
(
c2
[
158
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
208
],
_mm256_xor_si256
(
c2
[
376
],
_mm256_xor_si256
(
c2
[
6
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
150
],
_mm256_xor_si256
(
c2
[
138
],
_mm256_xor_si256
(
c2
[
210
],
_mm256_xor_si256
(
c2
[
44
],
_mm256_xor_si256
(
c2
[
32
],
_mm256_xor_si256
(
c2
[
308
],
_mm256_xor_si256
(
c2
[
44
],
_mm256_xor_si256
(
c2
[
46
],
_mm256_xor_si256
(
c2
[
34
],
_mm256_xor_si256
(
c2
[
166
],
_mm256_xor_si256
(
c2
[
154
],
_mm256_xor_si256
(
c2
[
48
],
_mm256_xor_si256
(
c2
[
36
],
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
276
],
_mm256_xor_si256
(
c2
[
38
],
_mm256_xor_si256
(
c2
[
26
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
76
],
_mm256_xor_si256
(
c2
[
268
],
_mm256_xor_si256
(
c2
[
292
],
_mm256_xor_si256
(
c2
[
246
],
_mm256_xor_si256
(
c2
[
234
],
_mm256_xor_si256
(
c2
[
42
],
_mm256_xor_si256
(
c2
[
30
],
c2
[
78
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
33
]
=
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
204
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
218
],
_mm256_xor_si256
(
c2
[
268
],
_mm256_xor_si256
(
c2
[
52
],
_mm256_xor_si256
(
c2
[
52
],
_mm256_xor_si256
(
c2
[
54
],
_mm256_xor_si256
(
c2
[
198
],
_mm256_xor_si256
(
c2
[
270
],
_mm256_xor_si256
(
c2
[
92
],
_mm256_xor_si256
(
c2
[
368
],
_mm256_xor_si256
(
c2
[
104
],
_mm256_xor_si256
(
c2
[
94
],
_mm256_xor_si256
(
c2
[
226
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
156
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
86
],
_mm256_xor_si256
(
c2
[
14
],
_mm256_xor_si256
(
c2
[
62
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
328
],
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
294
],
_mm256_xor_si256
(
c2
[
90
],
c2
[
138
]))))))))))))))))))))))))))));
//row: 34
d2
[
34
]
=
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
348
],
_mm256_xor_si256
(
c2
[
144
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
120
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
240
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
122
],
_mm256_xor_si256
(
c2
[
110
],
_mm256_xor_si256
(
c2
[
290
],
_mm256_xor_si256
(
c2
[
74
],
_mm256_xor_si256
(
c2
[
254
],
_mm256_xor_si256
(
c2
[
146
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
134
],
_mm256_xor_si256
(
c2
[
16
],
_mm256_xor_si256
(
c2
[
4
],
_mm256_xor_si256
(
c2
[
184
],
_mm256_xor_si256
(
c2
[
364
],
_mm256_xor_si256
(
c2
[
172
],
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
186
],
_mm256_xor_si256
(
c2
[
174
],
_mm256_xor_si256
(
c2
[
354
],
_mm256_xor_si256
(
c2
[
330
],
_mm256_xor_si256
(
c2
[
318
],
_mm256_xor_si256
(
c2
[
114
],
_mm256_xor_si256
(
c2
[
6
],
_mm256_xor_si256
(
c2
[
186
],
_mm256_xor_si256
(
c2
[
224
],
_mm256_xor_si256
(
c2
[
212
],
_mm256_xor_si256
(
c2
[
8
],
_mm256_xor_si256
(
c2
[
104
],
_mm256_xor_si256
(
c2
[
284
],
_mm256_xor_si256
(
c2
[
32
],
_mm256_xor_si256
(
c2
[
224
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
226
],
_mm256_xor_si256
(
c2
[
214
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
154
],
_mm256_xor_si256
(
c2
[
346
],
_mm256_xor_si256
(
c2
[
142
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
216
],
_mm256_xor_si256
(
c2
[
12
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
276
],
_mm256_xor_si256
(
c2
[
72
],
_mm256_xor_si256
(
c2
[
264
],
_mm256_xor_si256
(
c2
[
72
],
_mm256_xor_si256
(
c2
[
252
],
_mm256_xor_si256
(
c2
[
218
],
_mm256_xor_si256
(
c2
[
206
],
_mm256_xor_si256
(
c2
[
386
],
_mm256_xor_si256
(
c2
[
326
],
_mm256_xor_si256
(
c2
[
134
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
268
],
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
52
],
_mm256_xor_si256
(
c2
[
64
],
_mm256_xor_si256
(
c2
[
244
],
_mm256_xor_si256
(
c2
[
280
],
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
268
],
_mm256_xor_si256
(
c2
[
42
],
_mm256_xor_si256
(
c2
[
30
],
_mm256_xor_si256
(
c2
[
210
],
_mm256_xor_si256
(
c2
[
222
],
_mm256_xor_si256
(
c2
[
210
],
_mm256_xor_si256
(
c2
[
390
],
_mm256_xor_si256
(
c2
[
66
],
_mm256_xor_si256
(
c2
[
258
],
c2
[
54
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
35
]
=
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
242
],
_mm256_xor_si256
(
c2
[
230
],
_mm256_xor_si256
(
c2
[
194
],
_mm256_xor_si256
(
c2
[
74
],
_mm256_xor_si256
(
c2
[
302
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
124
],
_mm256_xor_si256
(
c2
[
292
],
_mm256_xor_si256
(
c2
[
306
],
_mm256_xor_si256
(
c2
[
294
],
_mm256_xor_si256
(
c2
[
54
],
_mm256_xor_si256
(
c2
[
126
],
_mm256_xor_si256
(
c2
[
332
],
_mm256_xor_si256
(
c2
[
224
],
_mm256_xor_si256
(
c2
[
344
],
_mm256_xor_si256
(
c2
[
334
],
_mm256_xor_si256
(
c2
[
82
],
_mm256_xor_si256
(
c2
[
106
],
_mm256_xor_si256
(
c2
[
348
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
12
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
326
],
_mm256_xor_si256
(
c2
[
254
],
_mm256_xor_si256
(
c2
[
376
],
_mm256_xor_si256
(
c2
[
184
],
_mm256_xor_si256
(
c2
[
208
],
_mm256_xor_si256
(
c2
[
162
],
_mm256_xor_si256
(
c2
[
150
],
_mm256_xor_si256
(
c2
[
330
],
c2
[
378
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
36
]
=
_mm256_xor_si256
(
c2
[
144
],
_mm256_xor_si256
(
c2
[
76
],
c2
[
326
]));
//row: 37
d2
[
37
]
=
_mm256_xor_si256
(
c2
[
36
],
_mm256_xor_si256
(
c2
[
372
],
_mm256_xor_si256
(
c2
[
12
],
_mm256_xor_si256
(
c2
[
348
],
_mm256_xor_si256
(
c2
[
132
],
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
182
],
_mm256_xor_si256
(
c2
[
134
],
_mm256_xor_si256
(
c2
[
146
],
_mm256_xor_si256
(
c2
[
98
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
26
],
_mm256_xor_si256
(
c2
[
362
],
_mm256_xor_si256
(
c2
[
76
],
_mm256_xor_si256
(
c2
[
28
],
_mm256_xor_si256
(
c2
[
208
],
_mm256_xor_si256
(
c2
[
244
],
_mm256_xor_si256
(
c2
[
196
],
_mm256_xor_si256
(
c2
[
246
],
_mm256_xor_si256
(
c2
[
198
],
_mm256_xor_si256
(
c2
[
6
],
_mm256_xor_si256
(
c2
[
342
],
_mm256_xor_si256
(
c2
[
78
],
_mm256_xor_si256
(
c2
[
30
],
_mm256_xor_si256
(
c2
[
284
],
_mm256_xor_si256
(
c2
[
236
],
_mm256_xor_si256
(
c2
[
176
],
_mm256_xor_si256
(
c2
[
128
],
_mm256_xor_si256
(
c2
[
260
],
_mm256_xor_si256
(
c2
[
296
],
_mm256_xor_si256
(
c2
[
248
],
_mm256_xor_si256
(
c2
[
286
],
_mm256_xor_si256
(
c2
[
238
],
_mm256_xor_si256
(
c2
[
382
],
_mm256_xor_si256
(
c2
[
34
],
_mm256_xor_si256
(
c2
[
370
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
240
],
_mm256_xor_si256
(
c2
[
348
],
_mm256_xor_si256
(
c2
[
300
],
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
144
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
278
],
_mm256_xor_si256
(
c2
[
230
],
_mm256_xor_si256
(
c2
[
170
],
_mm256_xor_si256
(
c2
[
206
],
_mm256_xor_si256
(
c2
[
158
],
_mm256_xor_si256
(
c2
[
328
],
_mm256_xor_si256
(
c2
[
280
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
124
],
_mm256_xor_si256
(
c2
[
160
],
_mm256_xor_si256
(
c2
[
112
],
_mm256_xor_si256
(
c2
[
102
],
_mm256_xor_si256
(
c2
[
54
],
_mm256_xor_si256
(
c2
[
282
],
_mm256_xor_si256
(
c2
[
234
],
_mm256_xor_si256
(
c2
[
294
],
_mm256_xor_si256
(
c2
[
330
],
c2
[
282
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
38
]
=
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
144
],
_mm256_xor_si256
(
c2
[
264
],
_mm256_xor_si256
(
c2
[
326
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
278
],
_mm256_xor_si256
(
c2
[
158
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
208
],
_mm256_xor_si256
(
c2
[
376
],
_mm256_xor_si256
(
c2
[
6
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
138
],
_mm256_xor_si256
(
c2
[
210
],
_mm256_xor_si256
(
c2
[
32
],
_mm256_xor_si256
(
c2
[
308
],
_mm256_xor_si256
(
c2
[
44
],
_mm256_xor_si256
(
c2
[
34
],
_mm256_xor_si256
(
c2
[
166
],
_mm256_xor_si256
(
c2
[
34
],
_mm256_xor_si256
(
c2
[
48
],
_mm256_xor_si256
(
c2
[
36
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
276
],
_mm256_xor_si256
(
c2
[
26
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
76
],
_mm256_xor_si256
(
c2
[
268
],
_mm256_xor_si256
(
c2
[
292
],
_mm256_xor_si256
(
c2
[
246
],
_mm256_xor_si256
(
c2
[
234
],
_mm256_xor_si256
(
c2
[
30
],
c2
[
78
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
39
]
=
_mm256_xor_si256
(
c2
[
132
],
_mm256_xor_si256
(
c2
[
120
],
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
216
],
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
278
],
_mm256_xor_si256
(
c2
[
266
],
_mm256_xor_si256
(
c2
[
230
],
_mm256_xor_si256
(
c2
[
110
],
_mm256_xor_si256
(
c2
[
172
],
_mm256_xor_si256
(
c2
[
160
],
_mm256_xor_si256
(
c2
[
328
],
_mm256_xor_si256
(
c2
[
342
],
_mm256_xor_si256
(
c2
[
330
],
_mm256_xor_si256
(
c2
[
102
],
_mm256_xor_si256
(
c2
[
90
],
_mm256_xor_si256
(
c2
[
162
],
_mm256_xor_si256
(
c2
[
380
],
_mm256_xor_si256
(
c2
[
368
],
_mm256_xor_si256
(
c2
[
260
],
_mm256_xor_si256
(
c2
[
380
],
_mm256_xor_si256
(
c2
[
382
],
_mm256_xor_si256
(
c2
[
370
],
_mm256_xor_si256
(
c2
[
118
],
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
372
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
48
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
362
],
_mm256_xor_si256
(
c2
[
290
],
_mm256_xor_si256
(
c2
[
158
],
_mm256_xor_si256
(
c2
[
40
],
_mm256_xor_si256
(
c2
[
28
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
244
],
_mm256_xor_si256
(
c2
[
198
],
_mm256_xor_si256
(
c2
[
186
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
366
],
c2
[
30
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
40
]
=
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
204
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
146
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
110
],
_mm256_xor_si256
(
c2
[
2
],
_mm256_xor_si256
(
c2
[
218
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
268
],
_mm256_xor_si256
(
c2
[
40
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
52
],
_mm256_xor_si256
(
c2
[
208
],
_mm256_xor_si256
(
c2
[
4
],
_mm256_xor_si256
(
c2
[
54
],
_mm256_xor_si256
(
c2
[
210
],
_mm256_xor_si256
(
c2
[
198
],
_mm256_xor_si256
(
c2
[
354
],
_mm256_xor_si256
(
c2
[
270
],
_mm256_xor_si256
(
c2
[
42
],
_mm256_xor_si256
(
c2
[
92
],
_mm256_xor_si256
(
c2
[
248
],
_mm256_xor_si256
(
c2
[
368
],
_mm256_xor_si256
(
c2
[
140
],
_mm256_xor_si256
(
c2
[
272
],
_mm256_xor_si256
(
c2
[
104
],
_mm256_xor_si256
(
c2
[
260
],
_mm256_xor_si256
(
c2
[
94
],
_mm256_xor_si256
(
c2
[
250
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
226
],
_mm256_xor_si256
(
c2
[
382
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
252
],
_mm256_xor_si256
(
c2
[
156
],
_mm256_xor_si256
(
c2
[
312
],
_mm256_xor_si256
(
c2
[
120
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
86
],
_mm256_xor_si256
(
c2
[
242
],
_mm256_xor_si256
(
c2
[
182
],
_mm256_xor_si256
(
c2
[
14
],
_mm256_xor_si256
(
c2
[
170
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
292
],
_mm256_xor_si256
(
c2
[
328
],
_mm256_xor_si256
(
c2
[
100
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
124
],
_mm256_xor_si256
(
c2
[
294
],
_mm256_xor_si256
(
c2
[
66
],
_mm256_xor_si256
(
c2
[
90
],
_mm256_xor_si256
(
c2
[
246
],
_mm256_xor_si256
(
c2
[
306
],
_mm256_xor_si256
(
c2
[
138
],
c2
[
294
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
41
]
=
_mm256_xor_si256
(
c2
[
372
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
72
],
_mm256_xor_si256
(
c2
[
134
],
_mm256_xor_si256
(
c2
[
122
],
_mm256_xor_si256
(
c2
[
86
],
_mm256_xor_si256
(
c2
[
350
],
_mm256_xor_si256
(
c2
[
14
],
_mm256_xor_si256
(
c2
[
28
],
_mm256_xor_si256
(
c2
[
16
],
_mm256_xor_si256
(
c2
[
184
],
_mm256_xor_si256
(
c2
[
198
],
_mm256_xor_si256
(
c2
[
186
],
_mm256_xor_si256
(
c2
[
330
],
_mm256_xor_si256
(
c2
[
18
],
_mm256_xor_si256
(
c2
[
224
],
_mm256_xor_si256
(
c2
[
116
],
_mm256_xor_si256
(
c2
[
236
],
_mm256_xor_si256
(
c2
[
226
],
_mm256_xor_si256
(
c2
[
358
],
_mm256_xor_si256
(
c2
[
70
],
_mm256_xor_si256
(
c2
[
240
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
218
],
_mm256_xor_si256
(
c2
[
146
],
_mm256_xor_si256
(
c2
[
268
],
_mm256_xor_si256
(
c2
[
76
],
_mm256_xor_si256
(
c2
[
100
],
_mm256_xor_si256
(
c2
[
54
],
_mm256_xor_si256
(
c2
[
42
],
_mm256_xor_si256
(
c2
[
222
],
c2
[
270
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc352_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=352, byte encoding
static
inline
void
ldpc_BG2_Zc352_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m256i
*
csimd
=
(
__m256i
*
)
c
,
*
dsimd
=
(
__m256i
*
)
d
;
__m256i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
11
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm256_xor_si256
(
c2
[
5944
],
_mm256_xor_si256
(
c2
[
3520
],
_mm256_xor_si256
(
c2
[
223
],
_mm256_xor_si256
(
c2
[
3106
],
_mm256_xor_si256
(
c2
[
1567
],
_mm256_xor_si256
(
c2
[
4423
],
_mm256_xor_si256
(
c2
[
2904
],
_mm256_xor_si256
(
c2
[
2909
],
_mm256_xor_si256
(
c2
[
506
],
_mm256_xor_si256
(
c2
[
68
],
_mm256_xor_si256
(
c2
[
2269
],
_mm256_xor_si256
(
c2
[
6689
],
_mm256_xor_si256
(
c2
[
3830
],
_mm256_xor_si256
(
c2
[
2953
],
_mm256_xor_si256
(
c2
[
110
],
_mm256_xor_si256
(
c2
[
6713
],
_mm256_xor_si256
(
c2
[
1673
],
_mm256_xor_si256
(
c2
[
4973
],
_mm256_xor_si256
(
c2
[
3652
],
_mm256_xor_si256
(
c2
[
1035
],
_mm256_xor_si256
(
c2
[
5436
],
_mm256_xor_si256
(
c2
[
2381
],
_mm256_xor_si256
(
c2
[
3040
],
_mm256_xor_si256
(
c2
[
3696
],
_mm256_xor_si256
(
c2
[
5921
],
_mm256_xor_si256
(
c2
[
1082
],
c2
[
1961
]))))))))))))))))))))))))));
//row: 1
d2
[
11
]
=
_mm256_xor_si256
(
c2
[
6164
],
_mm256_xor_si256
(
c2
[
5944
],
_mm256_xor_si256
(
c2
[
3520
],
_mm256_xor_si256
(
c2
[
223
],
_mm256_xor_si256
(
c2
[
3326
],
_mm256_xor_si256
(
c2
[
3106
],
_mm256_xor_si256
(
c2
[
1567
],
_mm256_xor_si256
(
c2
[
4423
],
_mm256_xor_si256
(
c2
[
3124
],
_mm256_xor_si256
(
c2
[
2904
],
_mm256_xor_si256
(
c2
[
2909
],
_mm256_xor_si256
(
c2
[
726
],
_mm256_xor_si256
(
c2
[
506
],
_mm256_xor_si256
(
c2
[
68
],
_mm256_xor_si256
(
c2
[
2269
],
_mm256_xor_si256
(
c2
[
6689
],
_mm256_xor_si256
(
c2
[
3830
],
_mm256_xor_si256
(
c2
[
2953
],
_mm256_xor_si256
(
c2
[
110
],
_mm256_xor_si256
(
c2
[
6713
],
_mm256_xor_si256
(
c2
[
1893
],
_mm256_xor_si256
(
c2
[
1673
],
_mm256_xor_si256
(
c2
[
4973
],
_mm256_xor_si256
(
c2
[
3652
],
_mm256_xor_si256
(
c2
[
1035
],
_mm256_xor_si256
(
c2
[
5436
],
_mm256_xor_si256
(
c2
[
2381
],
_mm256_xor_si256
(
c2
[
3040
],
_mm256_xor_si256
(
c2
[
3696
],
_mm256_xor_si256
(
c2
[
6141
],
_mm256_xor_si256
(
c2
[
5921
],
_mm256_xor_si256
(
c2
[
1082
],
c2
[
1961
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
22
]
=
_mm256_xor_si256
(
c2
[
6164
],
_mm256_xor_si256
(
c2
[
5944
],
_mm256_xor_si256
(
c2
[
3740
],
_mm256_xor_si256
(
c2
[
3520
],
_mm256_xor_si256
(
c2
[
223
],
_mm256_xor_si256
(
c2
[
3326
],
_mm256_xor_si256
(
c2
[
3106
],
_mm256_xor_si256
(
c2
[
1567
],
_mm256_xor_si256
(
c2
[
4423
],
_mm256_xor_si256
(
c2
[
3124
],
_mm256_xor_si256
(
c2
[
2904
],
_mm256_xor_si256
(
c2
[
2909
],
_mm256_xor_si256
(
c2
[
726
],
_mm256_xor_si256
(
c2
[
506
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
68
],
_mm256_xor_si256
(
c2
[
2269
],
_mm256_xor_si256
(
c2
[
6909
],
_mm256_xor_si256
(
c2
[
6689
],
_mm256_xor_si256
(
c2
[
3830
],
_mm256_xor_si256
(
c2
[
2953
],
_mm256_xor_si256
(
c2
[
330
],
_mm256_xor_si256
(
c2
[
110
],
_mm256_xor_si256
(
c2
[
6713
],
_mm256_xor_si256
(
c2
[
1893
],
_mm256_xor_si256
(
c2
[
1673
],
_mm256_xor_si256
(
c2
[
5193
],
_mm256_xor_si256
(
c2
[
4973
],
_mm256_xor_si256
(
c2
[
3652
],
_mm256_xor_si256
(
c2
[
1255
],
_mm256_xor_si256
(
c2
[
1035
],
_mm256_xor_si256
(
c2
[
5436
],
_mm256_xor_si256
(
c2
[
2601
],
_mm256_xor_si256
(
c2
[
2381
],
_mm256_xor_si256
(
c2
[
3040
],
_mm256_xor_si256
(
c2
[
3696
],
_mm256_xor_si256
(
c2
[
6141
],
_mm256_xor_si256
(
c2
[
5921
],
_mm256_xor_si256
(
c2
[
1302
],
_mm256_xor_si256
(
c2
[
1082
],
c2
[
1961
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
33
]
=
_mm256_xor_si256
(
c2
[
5944
],
_mm256_xor_si256
(
c2
[
3520
],
_mm256_xor_si256
(
c2
[
223
],
_mm256_xor_si256
(
c2
[
3106
],
_mm256_xor_si256
(
c2
[
1567
],
_mm256_xor_si256
(
c2
[
4643
],
_mm256_xor_si256
(
c2
[
4423
],
_mm256_xor_si256
(
c2
[
2904
],
_mm256_xor_si256
(
c2
[
3129
],
_mm256_xor_si256
(
c2
[
2909
],
_mm256_xor_si256
(
c2
[
506
],
_mm256_xor_si256
(
c2
[
68
],
_mm256_xor_si256
(
c2
[
2269
],
_mm256_xor_si256
(
c2
[
6689
],
_mm256_xor_si256
(
c2
[
3830
],
_mm256_xor_si256
(
c2
[
3173
],
_mm256_xor_si256
(
c2
[
2953
],
_mm256_xor_si256
(
c2
[
110
],
_mm256_xor_si256
(
c2
[
6933
],
_mm256_xor_si256
(
c2
[
6713
],
_mm256_xor_si256
(
c2
[
1673
],
_mm256_xor_si256
(
c2
[
4973
],
_mm256_xor_si256
(
c2
[
3872
],
_mm256_xor_si256
(
c2
[
3652
],
_mm256_xor_si256
(
c2
[
1035
],
_mm256_xor_si256
(
c2
[
5656
],
_mm256_xor_si256
(
c2
[
5436
],
_mm256_xor_si256
(
c2
[
2381
],
_mm256_xor_si256
(
c2
[
3040
],
_mm256_xor_si256
(
c2
[
3916
],
_mm256_xor_si256
(
c2
[
3696
],
_mm256_xor_si256
(
c2
[
5921
],
_mm256_xor_si256
(
c2
[
1082
],
_mm256_xor_si256
(
c2
[
2181
],
c2
[
1961
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
44
]
=
_mm256_xor_si256
(
c2
[
3307
],
_mm256_xor_si256
(
c2
[
3087
],
_mm256_xor_si256
(
c2
[
663
],
_mm256_xor_si256
(
c2
[
4405
],
_mm256_xor_si256
(
c2
[
4842
],
_mm256_xor_si256
(
c2
[
469
],
_mm256_xor_si256
(
c2
[
249
],
_mm256_xor_si256
(
c2
[
5749
],
_mm256_xor_si256
(
c2
[
1566
],
_mm256_xor_si256
(
c2
[
684
],
_mm256_xor_si256
(
c2
[
267
],
_mm256_xor_si256
(
c2
[
47
],
_mm256_xor_si256
(
c2
[
52
],
_mm256_xor_si256
(
c2
[
4908
],
_mm256_xor_si256
(
c2
[
4688
],
_mm256_xor_si256
(
c2
[
4250
],
_mm256_xor_si256
(
c2
[
6451
],
_mm256_xor_si256
(
c2
[
3832
],
_mm256_xor_si256
(
c2
[
973
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
4292
],
_mm256_xor_si256
(
c2
[
3856
],
_mm256_xor_si256
(
c2
[
6075
],
_mm256_xor_si256
(
c2
[
5855
],
_mm256_xor_si256
(
c2
[
2116
],
_mm256_xor_si256
(
c2
[
795
],
_mm256_xor_si256
(
c2
[
5217
],
_mm256_xor_si256
(
c2
[
2579
],
_mm256_xor_si256
(
c2
[
6563
],
_mm256_xor_si256
(
c2
[
183
],
_mm256_xor_si256
(
c2
[
839
],
_mm256_xor_si256
(
c2
[
3284
],
_mm256_xor_si256
(
c2
[
3064
],
_mm256_xor_si256
(
c2
[
5264
],
c2
[
6143
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
55
]
=
_mm256_xor_si256
(
c2
[
5286
],
_mm256_xor_si256
(
c2
[
5066
],
_mm256_xor_si256
(
c2
[
2642
],
_mm256_xor_si256
(
c2
[
6384
],
_mm256_xor_si256
(
c2
[
3302
],
_mm256_xor_si256
(
c2
[
2448
],
_mm256_xor_si256
(
c2
[
2228
],
_mm256_xor_si256
(
c2
[
689
],
_mm256_xor_si256
(
c2
[
3545
],
_mm256_xor_si256
(
c2
[
4424
],
_mm256_xor_si256
(
c2
[
2246
],
_mm256_xor_si256
(
c2
[
2026
],
_mm256_xor_si256
(
c2
[
2031
],
_mm256_xor_si256
(
c2
[
6887
],
_mm256_xor_si256
(
c2
[
6667
],
_mm256_xor_si256
(
c2
[
6229
],
_mm256_xor_si256
(
c2
[
1391
],
_mm256_xor_si256
(
c2
[
5811
],
_mm256_xor_si256
(
c2
[
2952
],
_mm256_xor_si256
(
c2
[
2075
],
_mm256_xor_si256
(
c2
[
6271
],
_mm256_xor_si256
(
c2
[
5835
],
_mm256_xor_si256
(
c2
[
771
],
_mm256_xor_si256
(
c2
[
1015
],
_mm256_xor_si256
(
c2
[
795
],
_mm256_xor_si256
(
c2
[
4095
],
_mm256_xor_si256
(
c2
[
2774
],
_mm256_xor_si256
(
c2
[
157
],
_mm256_xor_si256
(
c2
[
4558
],
_mm256_xor_si256
(
c2
[
1697
],
_mm256_xor_si256
(
c2
[
1503
],
_mm256_xor_si256
(
c2
[
2162
],
_mm256_xor_si256
(
c2
[
2818
],
_mm256_xor_si256
(
c2
[
5263
],
_mm256_xor_si256
(
c2
[
5043
],
_mm256_xor_si256
(
c2
[
204
],
c2
[
1083
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
66
]
=
_mm256_xor_si256
(
c2
[
5505
],
_mm256_xor_si256
(
c2
[
5285
],
_mm256_xor_si256
(
c2
[
2861
],
_mm256_xor_si256
(
c2
[
6603
],
_mm256_xor_si256
(
c2
[
3301
],
_mm256_xor_si256
(
c2
[
2667
],
_mm256_xor_si256
(
c2
[
2447
],
_mm256_xor_si256
(
c2
[
908
],
_mm256_xor_si256
(
c2
[
3764
],
_mm256_xor_si256
(
c2
[
2465
],
_mm256_xor_si256
(
c2
[
2245
],
_mm256_xor_si256
(
c2
[
2250
],
_mm256_xor_si256
(
c2
[
67
],
_mm256_xor_si256
(
c2
[
6886
],
_mm256_xor_si256
(
c2
[
6448
],
_mm256_xor_si256
(
c2
[
1610
],
_mm256_xor_si256
(
c2
[
6030
],
_mm256_xor_si256
(
c2
[
3171
],
_mm256_xor_si256
(
c2
[
2294
],
_mm256_xor_si256
(
c2
[
6490
],
_mm256_xor_si256
(
c2
[
6054
],
_mm256_xor_si256
(
c2
[
5834
],
_mm256_xor_si256
(
c2
[
1234
],
_mm256_xor_si256
(
c2
[
1014
],
_mm256_xor_si256
(
c2
[
4314
],
_mm256_xor_si256
(
c2
[
2993
],
_mm256_xor_si256
(
c2
[
376
],
_mm256_xor_si256
(
c2
[
4777
],
_mm256_xor_si256
(
c2
[
2354
],
_mm256_xor_si256
(
c2
[
1722
],
_mm256_xor_si256
(
c2
[
2381
],
_mm256_xor_si256
(
c2
[
3037
],
_mm256_xor_si256
(
c2
[
5482
],
_mm256_xor_si256
(
c2
[
5262
],
_mm256_xor_si256
(
c2
[
423
],
_mm256_xor_si256
(
c2
[
1302
],
c2
[
6142
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
77
]
=
_mm256_xor_si256
(
c2
[
2426
],
_mm256_xor_si256
(
c2
[
2206
],
_mm256_xor_si256
(
c2
[
3966
],
_mm256_xor_si256
(
c2
[
6821
],
_mm256_xor_si256
(
c2
[
1542
],
_mm256_xor_si256
(
c2
[
3524
],
_mm256_xor_si256
(
c2
[
5284
],
_mm256_xor_si256
(
c2
[
6627
],
_mm256_xor_si256
(
c2
[
6407
],
_mm256_xor_si256
(
c2
[
1128
],
_mm256_xor_si256
(
c2
[
4868
],
_mm256_xor_si256
(
c2
[
6628
],
_mm256_xor_si256
(
c2
[
685
],
_mm256_xor_si256
(
c2
[
2665
],
_mm256_xor_si256
(
c2
[
2445
],
_mm256_xor_si256
(
c2
[
3543
],
_mm256_xor_si256
(
c2
[
6425
],
_mm256_xor_si256
(
c2
[
6205
],
_mm256_xor_si256
(
c2
[
926
],
_mm256_xor_si256
(
c2
[
6210
],
_mm256_xor_si256
(
c2
[
1151
],
_mm256_xor_si256
(
c2
[
931
],
_mm256_xor_si256
(
c2
[
4027
],
_mm256_xor_si256
(
c2
[
3807
],
_mm256_xor_si256
(
c2
[
5567
],
_mm256_xor_si256
(
c2
[
3369
],
_mm256_xor_si256
(
c2
[
5129
],
_mm256_xor_si256
(
c2
[
5570
],
_mm256_xor_si256
(
c2
[
291
],
_mm256_xor_si256
(
c2
[
2951
],
_mm256_xor_si256
(
c2
[
4711
],
_mm256_xor_si256
(
c2
[
92
],
_mm256_xor_si256
(
c2
[
1852
],
_mm256_xor_si256
(
c2
[
6254
],
_mm256_xor_si256
(
c2
[
1195
],
_mm256_xor_si256
(
c2
[
975
],
_mm256_xor_si256
(
c2
[
3411
],
_mm256_xor_si256
(
c2
[
5171
],
_mm256_xor_si256
(
c2
[
2975
],
_mm256_xor_si256
(
c2
[
4955
],
_mm256_xor_si256
(
c2
[
4735
],
_mm256_xor_si256
(
c2
[
6493
],
_mm256_xor_si256
(
c2
[
5194
],
_mm256_xor_si256
(
c2
[
4974
],
_mm256_xor_si256
(
c2
[
6734
],
_mm256_xor_si256
(
c2
[
1235
],
_mm256_xor_si256
(
c2
[
2995
],
_mm256_xor_si256
(
c2
[
6953
],
_mm256_xor_si256
(
c2
[
1894
],
_mm256_xor_si256
(
c2
[
1674
],
_mm256_xor_si256
(
c2
[
4336
],
_mm256_xor_si256
(
c2
[
6096
],
_mm256_xor_si256
(
c2
[
1698
],
_mm256_xor_si256
(
c2
[
3678
],
_mm256_xor_si256
(
c2
[
3458
],
_mm256_xor_si256
(
c2
[
5434
],
_mm256_xor_si256
(
c2
[
5682
],
_mm256_xor_si256
(
c2
[
403
],
_mm256_xor_si256
(
c2
[
6341
],
_mm256_xor_si256
(
c2
[
1062
],
_mm256_xor_si256
(
c2
[
6997
],
_mm256_xor_si256
(
c2
[
1938
],
_mm256_xor_si256
(
c2
[
1718
],
_mm256_xor_si256
(
c2
[
2403
],
_mm256_xor_si256
(
c2
[
2183
],
_mm256_xor_si256
(
c2
[
3943
],
_mm256_xor_si256
(
c2
[
4383
],
_mm256_xor_si256
(
c2
[
6143
],
_mm256_xor_si256
(
c2
[
5262
],
_mm256_xor_si256
(
c2
[
203
],
c2
[
7022
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
88
]
=
_mm256_xor_si256
(
c2
[
6389
],
_mm256_xor_si256
(
c2
[
6169
],
_mm256_xor_si256
(
c2
[
3965
],
_mm256_xor_si256
(
c2
[
3745
],
_mm256_xor_si256
(
c2
[
448
],
_mm256_xor_si256
(
c2
[
4621
],
_mm256_xor_si256
(
c2
[
3551
],
_mm256_xor_si256
(
c2
[
3331
],
_mm256_xor_si256
(
c2
[
1792
],
_mm256_xor_si256
(
c2
[
4648
],
_mm256_xor_si256
(
c2
[
6842
],
_mm256_xor_si256
(
c2
[
3349
],
_mm256_xor_si256
(
c2
[
3129
],
_mm256_xor_si256
(
c2
[
3134
],
_mm256_xor_si256
(
c2
[
951
],
_mm256_xor_si256
(
c2
[
731
],
_mm256_xor_si256
(
c2
[
513
],
_mm256_xor_si256
(
c2
[
293
],
_mm256_xor_si256
(
c2
[
2494
],
_mm256_xor_si256
(
c2
[
95
],
_mm256_xor_si256
(
c2
[
6914
],
_mm256_xor_si256
(
c2
[
4055
],
_mm256_xor_si256
(
c2
[
3178
],
_mm256_xor_si256
(
c2
[
555
],
_mm256_xor_si256
(
c2
[
335
],
_mm256_xor_si256
(
c2
[
6938
],
_mm256_xor_si256
(
c2
[
2118
],
_mm256_xor_si256
(
c2
[
1898
],
_mm256_xor_si256
(
c2
[
5418
],
_mm256_xor_si256
(
c2
[
5198
],
_mm256_xor_si256
(
c2
[
3877
],
_mm256_xor_si256
(
c2
[
1480
],
_mm256_xor_si256
(
c2
[
1260
],
_mm256_xor_si256
(
c2
[
5661
],
_mm256_xor_si256
(
c2
[
2826
],
_mm256_xor_si256
(
c2
[
2606
],
_mm256_xor_si256
(
c2
[
3265
],
_mm256_xor_si256
(
c2
[
3921
],
_mm256_xor_si256
(
c2
[
6366
],
_mm256_xor_si256
(
c2
[
6146
],
_mm256_xor_si256
(
c2
[
1527
],
_mm256_xor_si256
(
c2
[
1307
],
c2
[
2186
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
99
]
=
_mm256_xor_si256
(
c2
[
6607
],
_mm256_xor_si256
(
c2
[
6166
],
_mm256_xor_si256
(
c2
[
5946
],
_mm256_xor_si256
(
c2
[
4183
],
_mm256_xor_si256
(
c2
[
3522
],
_mm256_xor_si256
(
c2
[
886
],
_mm256_xor_si256
(
c2
[
225
],
_mm256_xor_si256
(
c2
[
3769
],
_mm256_xor_si256
(
c2
[
3328
],
_mm256_xor_si256
(
c2
[
3108
],
_mm256_xor_si256
(
c2
[
2230
],
_mm256_xor_si256
(
c2
[
1569
],
_mm256_xor_si256
(
c2
[
5086
],
_mm256_xor_si256
(
c2
[
4425
],
_mm256_xor_si256
(
c2
[
1785
],
_mm256_xor_si256
(
c2
[
3567
],
_mm256_xor_si256
(
c2
[
3126
],
_mm256_xor_si256
(
c2
[
2906
],
_mm256_xor_si256
(
c2
[
3572
],
_mm256_xor_si256
(
c2
[
2911
],
_mm256_xor_si256
(
c2
[
1169
],
_mm256_xor_si256
(
c2
[
728
],
_mm256_xor_si256
(
c2
[
508
],
_mm256_xor_si256
(
c2
[
731
],
_mm256_xor_si256
(
c2
[
70
],
_mm256_xor_si256
(
c2
[
2932
],
_mm256_xor_si256
(
c2
[
2271
],
_mm256_xor_si256
(
c2
[
313
],
_mm256_xor_si256
(
c2
[
6691
],
_mm256_xor_si256
(
c2
[
4493
],
_mm256_xor_si256
(
c2
[
3832
],
_mm256_xor_si256
(
c2
[
3616
],
_mm256_xor_si256
(
c2
[
2955
],
_mm256_xor_si256
(
c2
[
773
],
_mm256_xor_si256
(
c2
[
112
],
_mm256_xor_si256
(
c2
[
337
],
_mm256_xor_si256
(
c2
[
6715
],
_mm256_xor_si256
(
c2
[
2336
],
_mm256_xor_si256
(
c2
[
1895
],
_mm256_xor_si256
(
c2
[
1675
],
_mm256_xor_si256
(
c2
[
5636
],
_mm256_xor_si256
(
c2
[
4975
],
_mm256_xor_si256
(
c2
[
4315
],
_mm256_xor_si256
(
c2
[
3654
],
_mm256_xor_si256
(
c2
[
1698
],
_mm256_xor_si256
(
c2
[
1037
],
_mm256_xor_si256
(
c2
[
6099
],
_mm256_xor_si256
(
c2
[
5438
],
_mm256_xor_si256
(
c2
[
3044
],
_mm256_xor_si256
(
c2
[
2383
],
_mm256_xor_si256
(
c2
[
3703
],
_mm256_xor_si256
(
c2
[
3042
],
_mm256_xor_si256
(
c2
[
4359
],
_mm256_xor_si256
(
c2
[
3698
],
_mm256_xor_si256
(
c2
[
3260
],
_mm256_xor_si256
(
c2
[
6584
],
_mm256_xor_si256
(
c2
[
6143
],
_mm256_xor_si256
(
c2
[
5923
],
_mm256_xor_si256
(
c2
[
1745
],
_mm256_xor_si256
(
c2
[
1084
],
_mm256_xor_si256
(
c2
[
2624
],
c2
[
1963
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
110
]
=
_mm256_xor_si256
(
c2
[
3303
],
_mm256_xor_si256
(
c2
[
5522
],
_mm256_xor_si256
(
c2
[
3217
],
c2
[
5214
])));
//row: 11
d2
[
121
]
=
_mm256_xor_si256
(
c2
[
1769
],
_mm256_xor_si256
(
c2
[
6384
],
_mm256_xor_si256
(
c2
[
3087
],
_mm256_xor_si256
(
c2
[
5942
],
_mm256_xor_si256
(
c2
[
5970
],
_mm256_xor_si256
(
c2
[
4431
],
_mm256_xor_si256
(
c2
[
468
],
_mm256_xor_si256
(
c2
[
248
],
_mm256_xor_si256
(
c2
[
5768
],
_mm256_xor_si256
(
c2
[
5993
],
_mm256_xor_si256
(
c2
[
5773
],
_mm256_xor_si256
(
c2
[
3370
],
_mm256_xor_si256
(
c2
[
2932
],
_mm256_xor_si256
(
c2
[
5133
],
_mm256_xor_si256
(
c2
[
2514
],
_mm256_xor_si256
(
c2
[
6694
],
_mm256_xor_si256
(
c2
[
6037
],
_mm256_xor_si256
(
c2
[
5817
],
_mm256_xor_si256
(
c2
[
2974
],
_mm256_xor_si256
(
c2
[
2758
],
_mm256_xor_si256
(
c2
[
2538
],
_mm256_xor_si256
(
c2
[
4537
],
_mm256_xor_si256
(
c2
[
798
],
_mm256_xor_si256
(
c2
[
6736
],
_mm256_xor_si256
(
c2
[
6516
],
_mm256_xor_si256
(
c2
[
3899
],
_mm256_xor_si256
(
c2
[
1481
],
_mm256_xor_si256
(
c2
[
1261
],
_mm256_xor_si256
(
c2
[
3459
],
_mm256_xor_si256
(
c2
[
5245
],
_mm256_xor_si256
(
c2
[
5904
],
_mm256_xor_si256
(
c2
[
6780
],
_mm256_xor_si256
(
c2
[
6560
],
_mm256_xor_si256
(
c2
[
1746
],
_mm256_xor_si256
(
c2
[
3946
],
_mm256_xor_si256
(
c2
[
5045
],
_mm256_xor_si256
(
c2
[
4825
],
c2
[
5478
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
132
]
=
_mm256_xor_si256
(
c2
[
5
],
_mm256_xor_si256
(
c2
[
6824
],
_mm256_xor_si256
(
c2
[
4400
],
_mm256_xor_si256
(
c2
[
1103
],
_mm256_xor_si256
(
c2
[
4206
],
_mm256_xor_si256
(
c2
[
3986
],
_mm256_xor_si256
(
c2
[
2447
],
_mm256_xor_si256
(
c2
[
5303
],
_mm256_xor_si256
(
c2
[
5745
],
_mm256_xor_si256
(
c2
[
4004
],
_mm256_xor_si256
(
c2
[
3784
],
_mm256_xor_si256
(
c2
[
3789
],
_mm256_xor_si256
(
c2
[
1606
],
_mm256_xor_si256
(
c2
[
1386
],
_mm256_xor_si256
(
c2
[
948
],
_mm256_xor_si256
(
c2
[
3149
],
_mm256_xor_si256
(
c2
[
2486
],
_mm256_xor_si256
(
c2
[
530
],
_mm256_xor_si256
(
c2
[
4710
],
_mm256_xor_si256
(
c2
[
3833
],
_mm256_xor_si256
(
c2
[
990
],
_mm256_xor_si256
(
c2
[
554
],
_mm256_xor_si256
(
c2
[
2773
],
_mm256_xor_si256
(
c2
[
2553
],
_mm256_xor_si256
(
c2
[
5853
],
_mm256_xor_si256
(
c2
[
4532
],
_mm256_xor_si256
(
c2
[
1915
],
_mm256_xor_si256
(
c2
[
6316
],
_mm256_xor_si256
(
c2
[
3261
],
_mm256_xor_si256
(
c2
[
3920
],
_mm256_xor_si256
(
c2
[
4576
],
_mm256_xor_si256
(
c2
[
7021
],
_mm256_xor_si256
(
c2
[
6801
],
_mm256_xor_si256
(
c2
[
1962
],
c2
[
2841
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
143
]
=
_mm256_xor_si256
(
c2
[
5728
],
_mm256_xor_si256
(
c2
[
3304
],
_mm256_xor_si256
(
c2
[
7
],
_mm256_xor_si256
(
c2
[
6380
],
_mm256_xor_si256
(
c2
[
2890
],
_mm256_xor_si256
(
c2
[
1351
],
_mm256_xor_si256
(
c2
[
4427
],
_mm256_xor_si256
(
c2
[
4207
],
_mm256_xor_si256
(
c2
[
5964
],
_mm256_xor_si256
(
c2
[
2688
],
_mm256_xor_si256
(
c2
[
2913
],
_mm256_xor_si256
(
c2
[
2693
],
_mm256_xor_si256
(
c2
[
290
],
_mm256_xor_si256
(
c2
[
6891
],
_mm256_xor_si256
(
c2
[
2053
],
_mm256_xor_si256
(
c2
[
6473
],
_mm256_xor_si256
(
c2
[
3614
],
_mm256_xor_si256
(
c2
[
2957
],
_mm256_xor_si256
(
c2
[
2737
],
_mm256_xor_si256
(
c2
[
6933
],
_mm256_xor_si256
(
c2
[
6717
],
_mm256_xor_si256
(
c2
[
6497
],
_mm256_xor_si256
(
c2
[
1457
],
_mm256_xor_si256
(
c2
[
4757
],
_mm256_xor_si256
(
c2
[
3656
],
_mm256_xor_si256
(
c2
[
3436
],
_mm256_xor_si256
(
c2
[
819
],
_mm256_xor_si256
(
c2
[
5440
],
_mm256_xor_si256
(
c2
[
5220
],
_mm256_xor_si256
(
c2
[
2165
],
_mm256_xor_si256
(
c2
[
2824
],
_mm256_xor_si256
(
c2
[
3700
],
_mm256_xor_si256
(
c2
[
3480
],
_mm256_xor_si256
(
c2
[
6116
],
_mm256_xor_si256
(
c2
[
5705
],
_mm256_xor_si256
(
c2
[
866
],
_mm256_xor_si256
(
c2
[
1965
],
c2
[
1745
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
154
]
=
_mm256_xor_si256
(
c2
[
885
],
_mm256_xor_si256
(
c2
[
665
],
_mm256_xor_si256
(
c2
[
230
],
_mm256_xor_si256
(
c2
[
5280
],
_mm256_xor_si256
(
c2
[
4845
],
_mm256_xor_si256
(
c2
[
1983
],
_mm256_xor_si256
(
c2
[
1548
],
_mm256_xor_si256
(
c2
[
5086
],
_mm256_xor_si256
(
c2
[
4866
],
_mm256_xor_si256
(
c2
[
4431
],
_mm256_xor_si256
(
c2
[
3327
],
_mm256_xor_si256
(
c2
[
2892
],
_mm256_xor_si256
(
c2
[
6183
],
_mm256_xor_si256
(
c2
[
5968
],
_mm256_xor_si256
(
c2
[
5748
],
_mm256_xor_si256
(
c2
[
2442
],
_mm256_xor_si256
(
c2
[
4884
],
_mm256_xor_si256
(
c2
[
4664
],
_mm256_xor_si256
(
c2
[
4229
],
_mm256_xor_si256
(
c2
[
4669
],
_mm256_xor_si256
(
c2
[
4454
],
_mm256_xor_si256
(
c2
[
4234
],
_mm256_xor_si256
(
c2
[
2486
],
_mm256_xor_si256
(
c2
[
2266
],
_mm256_xor_si256
(
c2
[
1831
],
_mm256_xor_si256
(
c2
[
1828
],
_mm256_xor_si256
(
c2
[
1393
],
_mm256_xor_si256
(
c2
[
4029
],
_mm256_xor_si256
(
c2
[
3594
],
_mm256_xor_si256
(
c2
[
1410
],
_mm256_xor_si256
(
c2
[
975
],
_mm256_xor_si256
(
c2
[
5590
],
_mm256_xor_si256
(
c2
[
5155
],
_mm256_xor_si256
(
c2
[
4713
],
_mm256_xor_si256
(
c2
[
4498
],
_mm256_xor_si256
(
c2
[
4278
],
_mm256_xor_si256
(
c2
[
1870
],
_mm256_xor_si256
(
c2
[
1435
],
_mm256_xor_si256
(
c2
[
1434
],
_mm256_xor_si256
(
c2
[
1219
],
_mm256_xor_si256
(
c2
[
999
],
_mm256_xor_si256
(
c2
[
3653
],
_mm256_xor_si256
(
c2
[
3433
],
_mm256_xor_si256
(
c2
[
2998
],
_mm256_xor_si256
(
c2
[
6733
],
_mm256_xor_si256
(
c2
[
6298
],
_mm256_xor_si256
(
c2
[
5412
],
_mm256_xor_si256
(
c2
[
5197
],
_mm256_xor_si256
(
c2
[
4977
],
_mm256_xor_si256
(
c2
[
3876
],
_mm256_xor_si256
(
c2
[
2795
],
_mm256_xor_si256
(
c2
[
2360
],
_mm256_xor_si256
(
c2
[
157
],
_mm256_xor_si256
(
c2
[
6981
],
_mm256_xor_si256
(
c2
[
6761
],
_mm256_xor_si256
(
c2
[
4141
],
_mm256_xor_si256
(
c2
[
3706
],
_mm256_xor_si256
(
c2
[
4800
],
_mm256_xor_si256
(
c2
[
4365
],
_mm256_xor_si256
(
c2
[
5456
],
_mm256_xor_si256
(
c2
[
5241
],
_mm256_xor_si256
(
c2
[
5021
],
_mm256_xor_si256
(
c2
[
862
],
_mm256_xor_si256
(
c2
[
642
],
_mm256_xor_si256
(
c2
[
207
],
_mm256_xor_si256
(
c2
[
2842
],
_mm256_xor_si256
(
c2
[
2407
],
_mm256_xor_si256
(
c2
[
3721
],
_mm256_xor_si256
(
c2
[
3506
],
c2
[
3286
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
165
]
=
_mm256_xor_si256
(
c2
[
448
],
_mm256_xor_si256
(
c2
[
886
],
_mm256_xor_si256
(
c2
[
666
],
_mm256_xor_si256
(
c2
[
5063
],
_mm256_xor_si256
(
c2
[
5281
],
_mm256_xor_si256
(
c2
[
1766
],
_mm256_xor_si256
(
c2
[
1984
],
_mm256_xor_si256
(
c2
[
1984
],
_mm256_xor_si256
(
c2
[
4649
],
_mm256_xor_si256
(
c2
[
5087
],
_mm256_xor_si256
(
c2
[
4867
],
_mm256_xor_si256
(
c2
[
3110
],
_mm256_xor_si256
(
c2
[
3328
],
_mm256_xor_si256
(
c2
[
5966
],
_mm256_xor_si256
(
c2
[
6184
],
_mm256_xor_si256
(
c2
[
4447
],
_mm256_xor_si256
(
c2
[
4885
],
_mm256_xor_si256
(
c2
[
4665
],
_mm256_xor_si256
(
c2
[
4452
],
_mm256_xor_si256
(
c2
[
4670
],
_mm256_xor_si256
(
c2
[
2049
],
_mm256_xor_si256
(
c2
[
2487
],
_mm256_xor_si256
(
c2
[
2267
],
_mm256_xor_si256
(
c2
[
1611
],
_mm256_xor_si256
(
c2
[
1829
],
_mm256_xor_si256
(
c2
[
3812
],
_mm256_xor_si256
(
c2
[
4030
],
_mm256_xor_si256
(
c2
[
1193
],
_mm256_xor_si256
(
c2
[
1411
],
_mm256_xor_si256
(
c2
[
5373
],
_mm256_xor_si256
(
c2
[
5591
],
_mm256_xor_si256
(
c2
[
4496
],
_mm256_xor_si256
(
c2
[
4714
],
_mm256_xor_si256
(
c2
[
1653
],
_mm256_xor_si256
(
c2
[
1871
],
_mm256_xor_si256
(
c2
[
1217
],
_mm256_xor_si256
(
c2
[
1435
],
_mm256_xor_si256
(
c2
[
3216
],
_mm256_xor_si256
(
c2
[
3654
],
_mm256_xor_si256
(
c2
[
3434
],
_mm256_xor_si256
(
c2
[
6516
],
_mm256_xor_si256
(
c2
[
6734
],
_mm256_xor_si256
(
c2
[
5195
],
_mm256_xor_si256
(
c2
[
5413
],
_mm256_xor_si256
(
c2
[
2578
],
_mm256_xor_si256
(
c2
[
2796
],
_mm256_xor_si256
(
c2
[
6979
],
_mm256_xor_si256
(
c2
[
158
],
_mm256_xor_si256
(
c2
[
3924
],
_mm256_xor_si256
(
c2
[
4142
],
_mm256_xor_si256
(
c2
[
4583
],
_mm256_xor_si256
(
c2
[
4801
],
_mm256_xor_si256
(
c2
[
5239
],
_mm256_xor_si256
(
c2
[
5457
],
_mm256_xor_si256
(
c2
[
425
],
_mm256_xor_si256
(
c2
[
863
],
_mm256_xor_si256
(
c2
[
643
],
_mm256_xor_si256
(
c2
[
2625
],
_mm256_xor_si256
(
c2
[
2843
],
_mm256_xor_si256
(
c2
[
3504
],
c2
[
3722
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
176
]
=
_mm256_xor_si256
(
c2
[
2865
],
_mm256_xor_si256
(
c2
[
2645
],
_mm256_xor_si256
(
c2
[
230
],
_mm256_xor_si256
(
c2
[
10
],
_mm256_xor_si256
(
c2
[
221
],
_mm256_xor_si256
(
c2
[
4845
],
_mm256_xor_si256
(
c2
[
4625
],
_mm256_xor_si256
(
c2
[
3963
],
_mm256_xor_si256
(
c2
[
1328
],
_mm256_xor_si256
(
c2
[
27
],
_mm256_xor_si256
(
c2
[
6846
],
_mm256_xor_si256
(
c2
[
4431
],
_mm256_xor_si256
(
c2
[
4211
],
_mm256_xor_si256
(
c2
[
5307
],
_mm256_xor_si256
(
c2
[
2672
],
_mm256_xor_si256
(
c2
[
1124
],
_mm256_xor_si256
(
c2
[
5528
],
_mm256_xor_si256
(
c2
[
3104
],
_mm256_xor_si256
(
c2
[
6864
],
_mm256_xor_si256
(
c2
[
6644
],
_mm256_xor_si256
(
c2
[
4229
],
_mm256_xor_si256
(
c2
[
4009
],
_mm256_xor_si256
(
c2
[
6649
],
_mm256_xor_si256
(
c2
[
4014
],
_mm256_xor_si256
(
c2
[
4466
],
_mm256_xor_si256
(
c2
[
4246
],
_mm256_xor_si256
(
c2
[
1831
],
_mm256_xor_si256
(
c2
[
1611
],
_mm256_xor_si256
(
c2
[
3808
],
_mm256_xor_si256
(
c2
[
1393
],
_mm256_xor_si256
(
c2
[
1173
],
_mm256_xor_si256
(
c2
[
6009
],
_mm256_xor_si256
(
c2
[
3374
],
_mm256_xor_si256
(
c2
[
3390
],
_mm256_xor_si256
(
c2
[
975
],
_mm256_xor_si256
(
c2
[
755
],
_mm256_xor_si256
(
c2
[
531
],
_mm256_xor_si256
(
c2
[
4935
],
_mm256_xor_si256
(
c2
[
6693
],
_mm256_xor_si256
(
c2
[
4058
],
_mm256_xor_si256
(
c2
[
3850
],
_mm256_xor_si256
(
c2
[
1435
],
_mm256_xor_si256
(
c2
[
1215
],
_mm256_xor_si256
(
c2
[
3414
],
_mm256_xor_si256
(
c2
[
779
],
_mm256_xor_si256
(
c2
[
5633
],
_mm256_xor_si256
(
c2
[
5413
],
_mm256_xor_si256
(
c2
[
2998
],
_mm256_xor_si256
(
c2
[
2778
],
_mm256_xor_si256
(
c2
[
1674
],
_mm256_xor_si256
(
c2
[
6298
],
_mm256_xor_si256
(
c2
[
6078
],
_mm256_xor_si256
(
c2
[
353
],
_mm256_xor_si256
(
c2
[
4757
],
_mm256_xor_si256
(
c2
[
4775
],
_mm256_xor_si256
(
c2
[
2360
],
_mm256_xor_si256
(
c2
[
2140
],
_mm256_xor_si256
(
c2
[
2137
],
_mm256_xor_si256
(
c2
[
6541
],
_mm256_xor_si256
(
c2
[
6121
],
_mm256_xor_si256
(
c2
[
3706
],
_mm256_xor_si256
(
c2
[
3486
],
_mm256_xor_si256
(
c2
[
6780
],
_mm256_xor_si256
(
c2
[
4145
],
_mm256_xor_si256
(
c2
[
397
],
_mm256_xor_si256
(
c2
[
4801
],
_mm256_xor_si256
(
c2
[
2842
],
_mm256_xor_si256
(
c2
[
2622
],
_mm256_xor_si256
(
c2
[
207
],
_mm256_xor_si256
(
c2
[
7026
],
_mm256_xor_si256
(
c2
[
4822
],
_mm256_xor_si256
(
c2
[
2407
],
_mm256_xor_si256
(
c2
[
2187
],
_mm256_xor_si256
(
c2
[
5701
],
_mm256_xor_si256
(
c2
[
3066
],
c2
[
6802
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
187
]
=
_mm256_xor_si256
(
c2
[
5726
],
_mm256_xor_si256
(
c2
[
5506
],
_mm256_xor_si256
(
c2
[
6829
],
_mm256_xor_si256
(
c2
[
6609
],
_mm256_xor_si256
(
c2
[
3082
],
_mm256_xor_si256
(
c2
[
4405
],
_mm256_xor_si256
(
c2
[
4185
],
_mm256_xor_si256
(
c2
[
6824
],
_mm256_xor_si256
(
c2
[
888
],
_mm256_xor_si256
(
c2
[
2888
],
_mm256_xor_si256
(
c2
[
2668
],
_mm256_xor_si256
(
c2
[
3991
],
_mm256_xor_si256
(
c2
[
3771
],
_mm256_xor_si256
(
c2
[
1129
],
_mm256_xor_si256
(
c2
[
2232
],
_mm256_xor_si256
(
c2
[
3985
],
_mm256_xor_si256
(
c2
[
5088
],
_mm256_xor_si256
(
c2
[
1346
],
_mm256_xor_si256
(
c2
[
2686
],
_mm256_xor_si256
(
c2
[
2466
],
_mm256_xor_si256
(
c2
[
3789
],
_mm256_xor_si256
(
c2
[
3569
],
_mm256_xor_si256
(
c2
[
2471
],
_mm256_xor_si256
(
c2
[
3574
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
68
],
_mm256_xor_si256
(
c2
[
1391
],
_mm256_xor_si256
(
c2
[
1171
],
_mm256_xor_si256
(
c2
[
6669
],
_mm256_xor_si256
(
c2
[
953
],
_mm256_xor_si256
(
c2
[
733
],
_mm256_xor_si256
(
c2
[
1831
],
_mm256_xor_si256
(
c2
[
2934
],
_mm256_xor_si256
(
c2
[
6251
],
_mm256_xor_si256
(
c2
[
535
],
_mm256_xor_si256
(
c2
[
315
],
_mm256_xor_si256
(
c2
[
3392
],
_mm256_xor_si256
(
c2
[
4495
],
_mm256_xor_si256
(
c2
[
2515
],
_mm256_xor_si256
(
c2
[
3618
],
_mm256_xor_si256
(
c2
[
6711
],
_mm256_xor_si256
(
c2
[
995
],
_mm256_xor_si256
(
c2
[
775
],
_mm256_xor_si256
(
c2
[
6275
],
_mm256_xor_si256
(
c2
[
339
],
_mm256_xor_si256
(
c2
[
5170
],
_mm256_xor_si256
(
c2
[
1455
],
_mm256_xor_si256
(
c2
[
1235
],
_mm256_xor_si256
(
c2
[
2558
],
_mm256_xor_si256
(
c2
[
2338
],
_mm256_xor_si256
(
c2
[
4535
],
_mm256_xor_si256
(
c2
[
5858
],
_mm256_xor_si256
(
c2
[
5638
],
_mm256_xor_si256
(
c2
[
3214
],
_mm256_xor_si256
(
c2
[
4317
],
_mm256_xor_si256
(
c2
[
597
],
_mm256_xor_si256
(
c2
[
1920
],
_mm256_xor_si256
(
c2
[
1700
],
_mm256_xor_si256
(
c2
[
4998
],
_mm256_xor_si256
(
c2
[
6101
],
_mm256_xor_si256
(
c2
[
1943
],
_mm256_xor_si256
(
c2
[
3266
],
_mm256_xor_si256
(
c2
[
3046
],
_mm256_xor_si256
(
c2
[
2602
],
_mm256_xor_si256
(
c2
[
3705
],
_mm256_xor_si256
(
c2
[
3258
],
_mm256_xor_si256
(
c2
[
4361
],
_mm256_xor_si256
(
c2
[
5703
],
_mm256_xor_si256
(
c2
[
5483
],
_mm256_xor_si256
(
c2
[
6806
],
_mm256_xor_si256
(
c2
[
6586
],
_mm256_xor_si256
(
c2
[
644
],
_mm256_xor_si256
(
c2
[
1967
],
_mm256_xor_si256
(
c2
[
1747
],
_mm256_xor_si256
(
c2
[
1523
],
c2
[
2626
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
198
]
=
_mm256_xor_si256
(
c2
[
2865
],
_mm256_xor_si256
(
c2
[
6952
],
c2
[
4994
]));
//row: 19
d2
[
209
]
=
_mm256_xor_si256
(
c2
[
2649
],
_mm256_xor_si256
(
c2
[
225
],
_mm256_xor_si256
(
c2
[
3967
],
_mm256_xor_si256
(
c2
[
2860
],
_mm256_xor_si256
(
c2
[
6850
],
_mm256_xor_si256
(
c2
[
5311
],
_mm256_xor_si256
(
c2
[
1128
],
_mm256_xor_si256
(
c2
[
1566
],
_mm256_xor_si256
(
c2
[
6648
],
_mm256_xor_si256
(
c2
[
6653
],
_mm256_xor_si256
(
c2
[
4250
],
_mm256_xor_si256
(
c2
[
3812
],
_mm256_xor_si256
(
c2
[
6013
],
_mm256_xor_si256
(
c2
[
3394
],
_mm256_xor_si256
(
c2
[
535
],
_mm256_xor_si256
(
c2
[
6697
],
_mm256_xor_si256
(
c2
[
3854
],
_mm256_xor_si256
(
c2
[
3418
],
_mm256_xor_si256
(
c2
[
5417
],
_mm256_xor_si256
(
c2
[
1678
],
_mm256_xor_si256
(
c2
[
357
],
_mm256_xor_si256
(
c2
[
4779
],
_mm256_xor_si256
(
c2
[
2141
],
_mm256_xor_si256
(
c2
[
6125
],
_mm256_xor_si256
(
c2
[
6784
],
_mm256_xor_si256
(
c2
[
401
],
_mm256_xor_si256
(
c2
[
2626
],
_mm256_xor_si256
(
c2
[
4826
],
c2
[
5705
]))))))))))))))))))))))))))));
//row: 20
d2
[
220
]
=
_mm256_xor_si256
(
c2
[
1990
],
_mm256_xor_si256
(
c2
[
1770
],
_mm256_xor_si256
(
c2
[
6385
],
_mm256_xor_si256
(
c2
[
3088
],
_mm256_xor_si256
(
c2
[
6191
],
_mm256_xor_si256
(
c2
[
5971
],
_mm256_xor_si256
(
c2
[
4432
],
_mm256_xor_si256
(
c2
[
249
],
_mm256_xor_si256
(
c2
[
26
],
_mm256_xor_si256
(
c2
[
5989
],
_mm256_xor_si256
(
c2
[
5769
],
_mm256_xor_si256
(
c2
[
5774
],
_mm256_xor_si256
(
c2
[
3591
],
_mm256_xor_si256
(
c2
[
3371
],
_mm256_xor_si256
(
c2
[
2933
],
_mm256_xor_si256
(
c2
[
5134
],
_mm256_xor_si256
(
c2
[
2515
],
_mm256_xor_si256
(
c2
[
6695
],
_mm256_xor_si256
(
c2
[
5818
],
_mm256_xor_si256
(
c2
[
4489
],
_mm256_xor_si256
(
c2
[
2975
],
_mm256_xor_si256
(
c2
[
2539
],
_mm256_xor_si256
(
c2
[
4758
],
_mm256_xor_si256
(
c2
[
4538
],
_mm256_xor_si256
(
c2
[
799
],
_mm256_xor_si256
(
c2
[
6517
],
_mm256_xor_si256
(
c2
[
3900
],
_mm256_xor_si256
(
c2
[
1262
],
_mm256_xor_si256
(
c2
[
5246
],
_mm256_xor_si256
(
c2
[
5905
],
_mm256_xor_si256
(
c2
[
6561
],
_mm256_xor_si256
(
c2
[
1967
],
_mm256_xor_si256
(
c2
[
1747
],
_mm256_xor_si256
(
c2
[
3947
],
c2
[
4826
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
231
]
=
_mm256_xor_si256
(
c2
[
666
],
_mm256_xor_si256
(
c2
[
5281
],
_mm256_xor_si256
(
c2
[
1984
],
_mm256_xor_si256
(
c2
[
6164
],
_mm256_xor_si256
(
c2
[
4867
],
_mm256_xor_si256
(
c2
[
3328
],
_mm256_xor_si256
(
c2
[
6404
],
_mm256_xor_si256
(
c2
[
6184
],
_mm256_xor_si256
(
c2
[
4665
],
_mm256_xor_si256
(
c2
[
4890
],
_mm256_xor_si256
(
c2
[
4670
],
_mm256_xor_si256
(
c2
[
2267
],
_mm256_xor_si256
(
c2
[
1829
],
_mm256_xor_si256
(
c2
[
4030
],
_mm256_xor_si256
(
c2
[
1411
],
_mm256_xor_si256
(
c2
[
5591
],
_mm256_xor_si256
(
c2
[
4934
],
_mm256_xor_si256
(
c2
[
4714
],
_mm256_xor_si256
(
c2
[
1871
],
_mm256_xor_si256
(
c2
[
1655
],
_mm256_xor_si256
(
c2
[
1435
],
_mm256_xor_si256
(
c2
[
3434
],
_mm256_xor_si256
(
c2
[
6734
],
_mm256_xor_si256
(
c2
[
5633
],
_mm256_xor_si256
(
c2
[
5413
],
_mm256_xor_si256
(
c2
[
2796
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
158
],
_mm256_xor_si256
(
c2
[
4142
],
_mm256_xor_si256
(
c2
[
4801
],
_mm256_xor_si256
(
c2
[
5677
],
_mm256_xor_si256
(
c2
[
5457
],
_mm256_xor_si256
(
c2
[
1501
],
_mm256_xor_si256
(
c2
[
643
],
_mm256_xor_si256
(
c2
[
2843
],
_mm256_xor_si256
(
c2
[
3942
],
c2
[
3722
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
242
]
=
_mm256_xor_si256
(
c2
[
3982
],
c2
[
709
]);
//row: 23
d2
[
253
]
=
_mm256_xor_si256
(
c2
[
3083
],
_mm256_xor_si256
(
c2
[
950
],
c2
[
4954
]));
//row: 24
d2
[
264
]
=
_mm256_xor_si256
(
c2
[
3765
],
_mm256_xor_si256
(
c2
[
2687
],
c2
[
6579
]));
//row: 25
d2
[
275
]
=
_mm256_xor_si256
(
c2
[
1762
],
c2
[
1874
]);
//row: 26
d2
[
286
]
=
_mm256_xor_si256
(
c2
[
3746
],
_mm256_xor_si256
(
c2
[
3526
],
_mm256_xor_si256
(
c2
[
2649
],
_mm256_xor_si256
(
c2
[
1322
],
_mm256_xor_si256
(
c2
[
1102
],
_mm256_xor_si256
(
c2
[
225
],
_mm256_xor_si256
(
c2
[
4844
],
_mm256_xor_si256
(
c2
[
3967
],
_mm256_xor_si256
(
c2
[
908
],
_mm256_xor_si256
(
c2
[
688
],
_mm256_xor_si256
(
c2
[
6850
],
_mm256_xor_si256
(
c2
[
6188
],
_mm256_xor_si256
(
c2
[
5311
],
_mm256_xor_si256
(
c2
[
2005
],
_mm256_xor_si256
(
c2
[
1348
],
_mm256_xor_si256
(
c2
[
1128
],
_mm256_xor_si256
(
c2
[
706
],
_mm256_xor_si256
(
c2
[
486
],
_mm256_xor_si256
(
c2
[
6648
],
_mm256_xor_si256
(
c2
[
491
],
_mm256_xor_si256
(
c2
[
6873
],
_mm256_xor_si256
(
c2
[
6653
],
_mm256_xor_si256
(
c2
[
925
],
_mm256_xor_si256
(
c2
[
5347
],
_mm256_xor_si256
(
c2
[
5127
],
_mm256_xor_si256
(
c2
[
4250
],
_mm256_xor_si256
(
c2
[
4909
],
_mm256_xor_si256
(
c2
[
4689
],
_mm256_xor_si256
(
c2
[
3812
],
_mm256_xor_si256
(
c2
[
6890
],
_mm256_xor_si256
(
c2
[
6013
],
_mm256_xor_si256
(
c2
[
4491
],
_mm256_xor_si256
(
c2
[
4271
],
_mm256_xor_si256
(
c2
[
3394
],
_mm256_xor_si256
(
c2
[
1412
],
_mm256_xor_si256
(
c2
[
535
],
_mm256_xor_si256
(
c2
[
535
],
_mm256_xor_si256
(
c2
[
6917
],
_mm256_xor_si256
(
c2
[
6697
],
_mm256_xor_si256
(
c2
[
4951
],
_mm256_xor_si256
(
c2
[
4731
],
_mm256_xor_si256
(
c2
[
3854
],
_mm256_xor_si256
(
c2
[
4295
],
_mm256_xor_si256
(
c2
[
3638
],
_mm256_xor_si256
(
c2
[
3418
],
_mm256_xor_si256
(
c2
[
6514
],
_mm256_xor_si256
(
c2
[
6294
],
_mm256_xor_si256
(
c2
[
5417
],
_mm256_xor_si256
(
c2
[
2775
],
_mm256_xor_si256
(
c2
[
2555
],
_mm256_xor_si256
(
c2
[
1678
],
_mm256_xor_si256
(
c2
[
1234
],
_mm256_xor_si256
(
c2
[
577
],
_mm256_xor_si256
(
c2
[
357
],
_mm256_xor_si256
(
c2
[
5876
],
_mm256_xor_si256
(
c2
[
5656
],
_mm256_xor_si256
(
c2
[
4779
],
_mm256_xor_si256
(
c2
[
3018
],
_mm256_xor_si256
(
c2
[
2361
],
_mm256_xor_si256
(
c2
[
2141
],
_mm256_xor_si256
(
c2
[
1475
],
_mm256_xor_si256
(
c2
[
183
],
_mm256_xor_si256
(
c2
[
7002
],
_mm256_xor_si256
(
c2
[
6125
],
_mm256_xor_si256
(
c2
[
622
],
_mm256_xor_si256
(
c2
[
6784
],
_mm256_xor_si256
(
c2
[
1278
],
_mm256_xor_si256
(
c2
[
621
],
_mm256_xor_si256
(
c2
[
401
],
_mm256_xor_si256
(
c2
[
3723
],
_mm256_xor_si256
(
c2
[
3503
],
_mm256_xor_si256
(
c2
[
2626
],
_mm256_xor_si256
(
c2
[
5923
],
_mm256_xor_si256
(
c2
[
5703
],
_mm256_xor_si256
(
c2
[
4826
],
_mm256_xor_si256
(
c2
[
6582
],
_mm256_xor_si256
(
c2
[
5925
],
c2
[
5705
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
297
]
=
_mm256_xor_si256
(
c2
[
2201
],
c2
[
1895
]);
//row: 28
d2
[
308
]
=
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
5324
],
c2
[
4734
]));
//row: 29
d2
[
319
]
=
_mm256_xor_si256
(
c2
[
2424
],
c2
[
313
]);
//row: 30
d2
[
330
]
=
_mm256_xor_si256
(
c2
[
4446
],
_mm256_xor_si256
(
c2
[
2975
],
_mm256_xor_si256
(
c2
[
6536
],
c2
[
6578
])));
//row: 31
d2
[
341
]
=
_mm256_xor_si256
(
c2
[
3309
],
_mm256_xor_si256
(
c2
[
885
],
_mm256_xor_si256
(
c2
[
4627
],
_mm256_xor_si256
(
c2
[
471
],
_mm256_xor_si256
(
c2
[
5971
],
_mm256_xor_si256
(
c2
[
2008
],
_mm256_xor_si256
(
c2
[
1788
],
_mm256_xor_si256
(
c2
[
4645
],
_mm256_xor_si256
(
c2
[
269
],
_mm256_xor_si256
(
c2
[
494
],
_mm256_xor_si256
(
c2
[
274
],
_mm256_xor_si256
(
c2
[
4910
],
_mm256_xor_si256
(
c2
[
4472
],
_mm256_xor_si256
(
c2
[
6673
],
_mm256_xor_si256
(
c2
[
4054
],
_mm256_xor_si256
(
c2
[
1195
],
_mm256_xor_si256
(
c2
[
538
],
_mm256_xor_si256
(
c2
[
318
],
_mm256_xor_si256
(
c2
[
4514
],
_mm256_xor_si256
(
c2
[
4298
],
_mm256_xor_si256
(
c2
[
4078
],
_mm256_xor_si256
(
c2
[
6077
],
_mm256_xor_si256
(
c2
[
2338
],
_mm256_xor_si256
(
c2
[
1237
],
_mm256_xor_si256
(
c2
[
1017
],
_mm256_xor_si256
(
c2
[
5439
],
_mm256_xor_si256
(
c2
[
3021
],
_mm256_xor_si256
(
c2
[
2801
],
_mm256_xor_si256
(
c2
[
6785
],
_mm256_xor_si256
(
c2
[
405
],
_mm256_xor_si256
(
c2
[
1281
],
_mm256_xor_si256
(
c2
[
1061
],
_mm256_xor_si256
(
c2
[
3286
],
_mm256_xor_si256
(
c2
[
5486
],
_mm256_xor_si256
(
c2
[
6585
],
c2
[
6365
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
352
]
=
_mm256_xor_si256
(
c2
[
2209
],
_mm256_xor_si256
(
c2
[
1989
],
_mm256_xor_si256
(
c2
[
6824
],
_mm256_xor_si256
(
c2
[
6604
],
_mm256_xor_si256
(
c2
[
3307
],
_mm256_xor_si256
(
c2
[
4403
],
_mm256_xor_si256
(
c2
[
6410
],
_mm256_xor_si256
(
c2
[
6190
],
_mm256_xor_si256
(
c2
[
4651
],
_mm256_xor_si256
(
c2
[
468
],
_mm256_xor_si256
(
c2
[
6208
],
_mm256_xor_si256
(
c2
[
5988
],
_mm256_xor_si256
(
c2
[
5993
],
_mm256_xor_si256
(
c2
[
3810
],
_mm256_xor_si256
(
c2
[
3590
],
_mm256_xor_si256
(
c2
[
3372
],
_mm256_xor_si256
(
c2
[
3152
],
_mm256_xor_si256
(
c2
[
5353
],
_mm256_xor_si256
(
c2
[
2954
],
_mm256_xor_si256
(
c2
[
2734
],
_mm256_xor_si256
(
c2
[
6914
],
_mm256_xor_si256
(
c2
[
6037
],
_mm256_xor_si256
(
c2
[
3414
],
_mm256_xor_si256
(
c2
[
3194
],
_mm256_xor_si256
(
c2
[
2758
],
_mm256_xor_si256
(
c2
[
2092
],
_mm256_xor_si256
(
c2
[
4977
],
_mm256_xor_si256
(
c2
[
4757
],
_mm256_xor_si256
(
c2
[
1238
],
_mm256_xor_si256
(
c2
[
1018
],
_mm256_xor_si256
(
c2
[
6736
],
_mm256_xor_si256
(
c2
[
4339
],
_mm256_xor_si256
(
c2
[
4119
],
_mm256_xor_si256
(
c2
[
1481
],
_mm256_xor_si256
(
c2
[
5685
],
_mm256_xor_si256
(
c2
[
5465
],
_mm256_xor_si256
(
c2
[
6124
],
_mm256_xor_si256
(
c2
[
6780
],
_mm256_xor_si256
(
c2
[
2186
],
_mm256_xor_si256
(
c2
[
1966
],
_mm256_xor_si256
(
c2
[
4386
],
_mm256_xor_si256
(
c2
[
4166
],
c2
[
5045
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
363
]
=
_mm256_xor_si256
(
c2
[
5285
],
_mm256_xor_si256
(
c2
[
2861
],
_mm256_xor_si256
(
c2
[
6603
],
_mm256_xor_si256
(
c2
[
2447
],
_mm256_xor_si256
(
c2
[
908
],
_mm256_xor_si256
(
c2
[
3764
],
_mm256_xor_si256
(
c2
[
2245
],
_mm256_xor_si256
(
c2
[
2250
],
_mm256_xor_si256
(
c2
[
2027
],
_mm256_xor_si256
(
c2
[
6886
],
_mm256_xor_si256
(
c2
[
6448
],
_mm256_xor_si256
(
c2
[
1610
],
_mm256_xor_si256
(
c2
[
6030
],
_mm256_xor_si256
(
c2
[
3171
],
_mm256_xor_si256
(
c2
[
2294
],
_mm256_xor_si256
(
c2
[
6490
],
_mm256_xor_si256
(
c2
[
6054
],
_mm256_xor_si256
(
c2
[
1014
],
_mm256_xor_si256
(
c2
[
4314
],
_mm256_xor_si256
(
c2
[
2993
],
_mm256_xor_si256
(
c2
[
376
],
_mm256_xor_si256
(
c2
[
4777
],
_mm256_xor_si256
(
c2
[
2138
],
_mm256_xor_si256
(
c2
[
1722
],
_mm256_xor_si256
(
c2
[
2381
],
_mm256_xor_si256
(
c2
[
3037
],
_mm256_xor_si256
(
c2
[
5262
],
_mm256_xor_si256
(
c2
[
423
],
c2
[
1302
]))))))))))))))))))))))))))));
//row: 34
d2
[
374
]
=
_mm256_xor_si256
(
c2
[
1106
],
_mm256_xor_si256
(
c2
[
886
],
_mm256_xor_si256
(
c2
[
6389
],
_mm256_xor_si256
(
c2
[
5721
],
_mm256_xor_si256
(
c2
[
5501
],
_mm256_xor_si256
(
c2
[
3965
],
_mm256_xor_si256
(
c2
[
2204
],
_mm256_xor_si256
(
c2
[
668
],
_mm256_xor_si256
(
c2
[
2420
],
_mm256_xor_si256
(
c2
[
5307
],
_mm256_xor_si256
(
c2
[
5087
],
_mm256_xor_si256
(
c2
[
3551
],
_mm256_xor_si256
(
c2
[
3548
],
_mm256_xor_si256
(
c2
[
2012
],
_mm256_xor_si256
(
c2
[
6404
],
_mm256_xor_si256
(
c2
[
5088
],
_mm256_xor_si256
(
c2
[
4868
],
_mm256_xor_si256
(
c2
[
5105
],
_mm256_xor_si256
(
c2
[
4885
],
_mm256_xor_si256
(
c2
[
3349
],
_mm256_xor_si256
(
c2
[
4890
],
_mm256_xor_si256
(
c2
[
3574
],
_mm256_xor_si256
(
c2
[
3354
],
_mm256_xor_si256
(
c2
[
2707
],
_mm256_xor_si256
(
c2
[
2487
],
_mm256_xor_si256
(
c2
[
951
],
_mm256_xor_si256
(
c2
[
2269
],
_mm256_xor_si256
(
c2
[
2049
],
_mm256_xor_si256
(
c2
[
513
],
_mm256_xor_si256
(
c2
[
4250
],
_mm256_xor_si256
(
c2
[
2714
],
_mm256_xor_si256
(
c2
[
1851
],
_mm256_xor_si256
(
c2
[
1631
],
_mm256_xor_si256
(
c2
[
95
],
_mm256_xor_si256
(
c2
[
5811
],
_mm256_xor_si256
(
c2
[
4275
],
_mm256_xor_si256
(
c2
[
4934
],
_mm256_xor_si256
(
c2
[
3618
],
_mm256_xor_si256
(
c2
[
3398
],
_mm256_xor_si256
(
c2
[
2311
],
_mm256_xor_si256
(
c2
[
2091
],
_mm256_xor_si256
(
c2
[
555
],
_mm256_xor_si256
(
c2
[
1655
],
_mm256_xor_si256
(
c2
[
339
],
_mm256_xor_si256
(
c2
[
119
],
_mm256_xor_si256
(
c2
[
3874
],
_mm256_xor_si256
(
c2
[
3654
],
_mm256_xor_si256
(
c2
[
2118
],
_mm256_xor_si256
(
c2
[
135
],
_mm256_xor_si256
(
c2
[
6954
],
_mm256_xor_si256
(
c2
[
5418
],
_mm256_xor_si256
(
c2
[
5633
],
_mm256_xor_si256
(
c2
[
4317
],
_mm256_xor_si256
(
c2
[
4097
],
_mm256_xor_si256
(
c2
[
3236
],
_mm256_xor_si256
(
c2
[
3016
],
_mm256_xor_si256
(
c2
[
1480
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
6101
],
_mm256_xor_si256
(
c2
[
5881
],
_mm256_xor_si256
(
c2
[
4582
],
_mm256_xor_si256
(
c2
[
4362
],
_mm256_xor_si256
(
c2
[
2826
],
_mm256_xor_si256
(
c2
[
5021
],
_mm256_xor_si256
(
c2
[
3485
],
_mm256_xor_si256
(
c2
[
5677
],
_mm256_xor_si256
(
c2
[
4361
],
_mm256_xor_si256
(
c2
[
4141
],
_mm256_xor_si256
(
c2
[
1083
],
_mm256_xor_si256
(
c2
[
863
],
_mm256_xor_si256
(
c2
[
6366
],
_mm256_xor_si256
(
c2
[
3283
],
_mm256_xor_si256
(
c2
[
3063
],
_mm256_xor_si256
(
c2
[
1527
],
_mm256_xor_si256
(
c2
[
3942
],
_mm256_xor_si256
(
c2
[
2626
],
c2
[
2406
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
385
]
=
_mm256_xor_si256
(
c2
[
1770
],
_mm256_xor_si256
(
c2
[
1550
],
_mm256_xor_si256
(
c2
[
6165
],
_mm256_xor_si256
(
c2
[
2868
],
_mm256_xor_si256
(
c2
[
5971
],
_mm256_xor_si256
(
c2
[
5751
],
_mm256_xor_si256
(
c2
[
4212
],
_mm256_xor_si256
(
c2
[
29
],
_mm256_xor_si256
(
c2
[
6625
],
_mm256_xor_si256
(
c2
[
5769
],
_mm256_xor_si256
(
c2
[
5549
],
_mm256_xor_si256
(
c2
[
5554
],
_mm256_xor_si256
(
c2
[
3371
],
_mm256_xor_si256
(
c2
[
3151
],
_mm256_xor_si256
(
c2
[
2713
],
_mm256_xor_si256
(
c2
[
4914
],
_mm256_xor_si256
(
c2
[
2295
],
_mm256_xor_si256
(
c2
[
6475
],
_mm256_xor_si256
(
c2
[
5598
],
_mm256_xor_si256
(
c2
[
2755
],
_mm256_xor_si256
(
c2
[
2319
],
_mm256_xor_si256
(
c2
[
5394
],
_mm256_xor_si256
(
c2
[
4538
],
_mm256_xor_si256
(
c2
[
4318
],
_mm256_xor_si256
(
c2
[
579
],
_mm256_xor_si256
(
c2
[
6297
],
_mm256_xor_si256
(
c2
[
3680
],
_mm256_xor_si256
(
c2
[
1042
],
_mm256_xor_si256
(
c2
[
5026
],
_mm256_xor_si256
(
c2
[
5685
],
_mm256_xor_si256
(
c2
[
6341
],
_mm256_xor_si256
(
c2
[
1747
],
_mm256_xor_si256
(
c2
[
1527
],
_mm256_xor_si256
(
c2
[
3727
],
c2
[
4606
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
396
]
=
_mm256_xor_si256
(
c2
[
1982
],
_mm256_xor_si256
(
c2
[
5768
],
c2
[
378
]));
//row: 37
d2
[
407
]
=
_mm256_xor_si256
(
c2
[
450
],
_mm256_xor_si256
(
c2
[
226
],
_mm256_xor_si256
(
c2
[
5065
],
_mm256_xor_si256
(
c2
[
4841
],
_mm256_xor_si256
(
c2
[
1768
],
_mm256_xor_si256
(
c2
[
1544
],
_mm256_xor_si256
(
c2
[
4651
],
_mm256_xor_si256
(
c2
[
4427
],
_mm256_xor_si256
(
c2
[
3112
],
_mm256_xor_si256
(
c2
[
2888
],
_mm256_xor_si256
(
c2
[
5968
],
_mm256_xor_si256
(
c2
[
5964
],
_mm256_xor_si256
(
c2
[
5744
],
_mm256_xor_si256
(
c2
[
4449
],
_mm256_xor_si256
(
c2
[
4225
],
_mm256_xor_si256
(
c2
[
4454
],
_mm256_xor_si256
(
c2
[
4450
],
_mm256_xor_si256
(
c2
[
4230
],
_mm256_xor_si256
(
c2
[
2051
],
_mm256_xor_si256
(
c2
[
1827
],
_mm256_xor_si256
(
c2
[
1613
],
_mm256_xor_si256
(
c2
[
1389
],
_mm256_xor_si256
(
c2
[
3814
],
_mm256_xor_si256
(
c2
[
3590
],
_mm256_xor_si256
(
c2
[
1195
],
_mm256_xor_si256
(
c2
[
971
],
_mm256_xor_si256
(
c2
[
5375
],
_mm256_xor_si256
(
c2
[
5151
],
_mm256_xor_si256
(
c2
[
4498
],
_mm256_xor_si256
(
c2
[
4494
],
_mm256_xor_si256
(
c2
[
4274
],
_mm256_xor_si256
(
c2
[
1655
],
_mm256_xor_si256
(
c2
[
1431
],
_mm256_xor_si256
(
c2
[
1219
],
_mm256_xor_si256
(
c2
[
1215
],
_mm256_xor_si256
(
c2
[
995
],
_mm256_xor_si256
(
c2
[
3218
],
_mm256_xor_si256
(
c2
[
2994
],
_mm256_xor_si256
(
c2
[
6518
],
_mm256_xor_si256
(
c2
[
6294
],
_mm256_xor_si256
(
c2
[
5197
],
_mm256_xor_si256
(
c2
[
5193
],
_mm256_xor_si256
(
c2
[
4973
],
_mm256_xor_si256
(
c2
[
2580
],
_mm256_xor_si256
(
c2
[
2356
],
_mm256_xor_si256
(
c2
[
6981
],
_mm256_xor_si256
(
c2
[
6977
],
_mm256_xor_si256
(
c2
[
6757
],
_mm256_xor_si256
(
c2
[
3926
],
_mm256_xor_si256
(
c2
[
3702
],
_mm256_xor_si256
(
c2
[
4585
],
_mm256_xor_si256
(
c2
[
4361
],
_mm256_xor_si256
(
c2
[
5241
],
_mm256_xor_si256
(
c2
[
5237
],
_mm256_xor_si256
(
c2
[
5017
],
_mm256_xor_si256
(
c2
[
427
],
_mm256_xor_si256
(
c2
[
203
],
_mm256_xor_si256
(
c2
[
2627
],
_mm256_xor_si256
(
c2
[
2403
],
_mm256_xor_si256
(
c2
[
3506
],
_mm256_xor_si256
(
c2
[
3502
],
c2
[
3282
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
418
]
=
_mm256_xor_si256
(
c2
[
3305
],
_mm256_xor_si256
(
c2
[
3085
],
_mm256_xor_si256
(
c2
[
661
],
_mm256_xor_si256
(
c2
[
4403
],
_mm256_xor_si256
(
c2
[
467
],
_mm256_xor_si256
(
c2
[
247
],
_mm256_xor_si256
(
c2
[
5747
],
_mm256_xor_si256
(
c2
[
1564
],
_mm256_xor_si256
(
c2
[
3545
],
_mm256_xor_si256
(
c2
[
265
],
_mm256_xor_si256
(
c2
[
45
],
_mm256_xor_si256
(
c2
[
50
],
_mm256_xor_si256
(
c2
[
4906
],
_mm256_xor_si256
(
c2
[
4686
],
_mm256_xor_si256
(
c2
[
4248
],
_mm256_xor_si256
(
c2
[
6449
],
_mm256_xor_si256
(
c2
[
3830
],
_mm256_xor_si256
(
c2
[
971
],
_mm256_xor_si256
(
c2
[
94
],
_mm256_xor_si256
(
c2
[
4290
],
_mm256_xor_si256
(
c2
[
3854
],
_mm256_xor_si256
(
c2
[
1650
],
_mm256_xor_si256
(
c2
[
6073
],
_mm256_xor_si256
(
c2
[
5853
],
_mm256_xor_si256
(
c2
[
2114
],
_mm256_xor_si256
(
c2
[
793
],
_mm256_xor_si256
(
c2
[
5215
],
_mm256_xor_si256
(
c2
[
2577
],
_mm256_xor_si256
(
c2
[
6561
],
_mm256_xor_si256
(
c2
[
181
],
_mm256_xor_si256
(
c2
[
837
],
_mm256_xor_si256
(
c2
[
3282
],
_mm256_xor_si256
(
c2
[
3062
],
_mm256_xor_si256
(
c2
[
5262
],
c2
[
6141
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
429
]
=
_mm256_xor_si256
(
c2
[
1108
],
_mm256_xor_si256
(
c2
[
888
],
_mm256_xor_si256
(
c2
[
5723
],
_mm256_xor_si256
(
c2
[
5503
],
_mm256_xor_si256
(
c2
[
2206
],
_mm256_xor_si256
(
c2
[
2863
],
_mm256_xor_si256
(
c2
[
5309
],
_mm256_xor_si256
(
c2
[
5089
],
_mm256_xor_si256
(
c2
[
3550
],
_mm256_xor_si256
(
c2
[
6406
],
_mm256_xor_si256
(
c2
[
5107
],
_mm256_xor_si256
(
c2
[
4887
],
_mm256_xor_si256
(
c2
[
4892
],
_mm256_xor_si256
(
c2
[
2709
],
_mm256_xor_si256
(
c2
[
2489
],
_mm256_xor_si256
(
c2
[
2271
],
_mm256_xor_si256
(
c2
[
2051
],
_mm256_xor_si256
(
c2
[
4252
],
_mm256_xor_si256
(
c2
[
1853
],
_mm256_xor_si256
(
c2
[
1633
],
_mm256_xor_si256
(
c2
[
5813
],
_mm256_xor_si256
(
c2
[
4936
],
_mm256_xor_si256
(
c2
[
2313
],
_mm256_xor_si256
(
c2
[
2093
],
_mm256_xor_si256
(
c2
[
1657
],
_mm256_xor_si256
(
c2
[
3876
],
_mm256_xor_si256
(
c2
[
3656
],
_mm256_xor_si256
(
c2
[
137
],
_mm256_xor_si256
(
c2
[
6956
],
_mm256_xor_si256
(
c2
[
5635
],
_mm256_xor_si256
(
c2
[
3238
],
_mm256_xor_si256
(
c2
[
3018
],
_mm256_xor_si256
(
c2
[
380
],
_mm256_xor_si256
(
c2
[
1474
],
_mm256_xor_si256
(
c2
[
4584
],
_mm256_xor_si256
(
c2
[
4364
],
_mm256_xor_si256
(
c2
[
5023
],
_mm256_xor_si256
(
c2
[
5679
],
_mm256_xor_si256
(
c2
[
1085
],
_mm256_xor_si256
(
c2
[
865
],
_mm256_xor_si256
(
c2
[
3285
],
_mm256_xor_si256
(
c2
[
3065
],
c2
[
3944
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
440
]
=
_mm256_xor_si256
(
c2
[
5069
],
_mm256_xor_si256
(
c2
[
2867
],
_mm256_xor_si256
(
c2
[
2645
],
_mm256_xor_si256
(
c2
[
443
],
_mm256_xor_si256
(
c2
[
6387
],
_mm256_xor_si256
(
c2
[
4185
],
_mm256_xor_si256
(
c2
[
2231
],
_mm256_xor_si256
(
c2
[
29
],
_mm256_xor_si256
(
c2
[
692
],
_mm256_xor_si256
(
c2
[
5529
],
_mm256_xor_si256
(
c2
[
3548
],
_mm256_xor_si256
(
c2
[
1566
],
_mm256_xor_si256
(
c2
[
1346
],
_mm256_xor_si256
(
c2
[
2029
],
_mm256_xor_si256
(
c2
[
6866
],
_mm256_xor_si256
(
c2
[
2034
],
_mm256_xor_si256
(
c2
[
52
],
_mm256_xor_si256
(
c2
[
6871
],
_mm256_xor_si256
(
c2
[
49
],
_mm256_xor_si256
(
c2
[
6670
],
_mm256_xor_si256
(
c2
[
4468
],
_mm256_xor_si256
(
c2
[
6232
],
_mm256_xor_si256
(
c2
[
4030
],
_mm256_xor_si256
(
c2
[
1394
],
_mm256_xor_si256
(
c2
[
6231
],
_mm256_xor_si256
(
c2
[
5814
],
_mm256_xor_si256
(
c2
[
3612
],
_mm256_xor_si256
(
c2
[
2955
],
_mm256_xor_si256
(
c2
[
753
],
_mm256_xor_si256
(
c2
[
2078
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
6915
],
_mm256_xor_si256
(
c2
[
6274
],
_mm256_xor_si256
(
c2
[
4072
],
_mm256_xor_si256
(
c2
[
5838
],
_mm256_xor_si256
(
c2
[
3856
],
_mm256_xor_si256
(
c2
[
3636
],
_mm256_xor_si256
(
c2
[
798
],
_mm256_xor_si256
(
c2
[
5635
],
_mm256_xor_si256
(
c2
[
4098
],
_mm256_xor_si256
(
c2
[
1896
],
_mm256_xor_si256
(
c2
[
2777
],
_mm256_xor_si256
(
c2
[
795
],
_mm256_xor_si256
(
c2
[
575
],
_mm256_xor_si256
(
c2
[
160
],
_mm256_xor_si256
(
c2
[
4997
],
_mm256_xor_si256
(
c2
[
4561
],
_mm256_xor_si256
(
c2
[
2579
],
_mm256_xor_si256
(
c2
[
2359
],
_mm256_xor_si256
(
c2
[
1506
],
_mm256_xor_si256
(
c2
[
6343
],
_mm256_xor_si256
(
c2
[
2165
],
_mm256_xor_si256
(
c2
[
7002
],
_mm256_xor_si256
(
c2
[
2821
],
_mm256_xor_si256
(
c2
[
839
],
_mm256_xor_si256
(
c2
[
619
],
_mm256_xor_si256
(
c2
[
5046
],
_mm256_xor_si256
(
c2
[
2844
],
_mm256_xor_si256
(
c2
[
207
],
_mm256_xor_si256
(
c2
[
5044
],
_mm256_xor_si256
(
c2
[
1086
],
_mm256_xor_si256
(
c2
[
6143
],
c2
[
5923
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
451
]
=
_mm256_xor_si256
(
c2
[
885
],
_mm256_xor_si256
(
c2
[
665
],
_mm256_xor_si256
(
c2
[
5280
],
_mm256_xor_si256
(
c2
[
1983
],
_mm256_xor_si256
(
c2
[
5086
],
_mm256_xor_si256
(
c2
[
4866
],
_mm256_xor_si256
(
c2
[
3327
],
_mm256_xor_si256
(
c2
[
6183
],
_mm256_xor_si256
(
c2
[
906
],
_mm256_xor_si256
(
c2
[
4884
],
_mm256_xor_si256
(
c2
[
4664
],
_mm256_xor_si256
(
c2
[
4669
],
_mm256_xor_si256
(
c2
[
2486
],
_mm256_xor_si256
(
c2
[
2266
],
_mm256_xor_si256
(
c2
[
1828
],
_mm256_xor_si256
(
c2
[
4029
],
_mm256_xor_si256
(
c2
[
1410
],
_mm256_xor_si256
(
c2
[
5590
],
_mm256_xor_si256
(
c2
[
4713
],
_mm256_xor_si256
(
c2
[
1870
],
_mm256_xor_si256
(
c2
[
1434
],
_mm256_xor_si256
(
c2
[
1430
],
_mm256_xor_si256
(
c2
[
3653
],
_mm256_xor_si256
(
c2
[
3433
],
_mm256_xor_si256
(
c2
[
6733
],
_mm256_xor_si256
(
c2
[
5412
],
_mm256_xor_si256
(
c2
[
2795
],
_mm256_xor_si256
(
c2
[
157
],
_mm256_xor_si256
(
c2
[
4141
],
_mm256_xor_si256
(
c2
[
4800
],
_mm256_xor_si256
(
c2
[
5456
],
_mm256_xor_si256
(
c2
[
862
],
_mm256_xor_si256
(
c2
[
642
],
_mm256_xor_si256
(
c2
[
2842
],
c2
[
3721
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc384_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=384, byte encoding
static
inline
void
ldpc_BG2_Zc384_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m256i
*
csimd
=
(
__m256i
*
)
c
,
*
dsimd
=
(
__m256i
*
)
d
;
__m256i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
12
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm256_xor_si256
(
c2
[
3125
],
_mm256_xor_si256
(
c2
[
6240
],
_mm256_xor_si256
(
c2
[
5760
],
_mm256_xor_si256
(
c2
[
27
],
_mm256_xor_si256
(
c2
[
4107
],
_mm256_xor_si256
(
c2
[
1708
],
_mm256_xor_si256
(
c2
[
1253
],
_mm256_xor_si256
(
c2
[
3413
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
793
],
_mm256_xor_si256
(
c2
[
4875
],
_mm256_xor_si256
(
c2
[
3697
],
_mm256_xor_si256
(
c2
[
3219
],
_mm256_xor_si256
(
c2
[
3939
],
_mm256_xor_si256
(
c2
[
6602
],
_mm256_xor_si256
(
c2
[
1802
],
_mm256_xor_si256
(
c2
[
1586
],
_mm256_xor_si256
(
c2
[
7344
],
_mm256_xor_si256
(
c2
[
6387
],
_mm256_xor_si256
(
c2
[
6413
],
_mm256_xor_si256
(
c2
[
5211
],
_mm256_xor_si256
(
c2
[
5957
],
_mm256_xor_si256
(
c2
[
4275
],
_mm256_xor_si256
(
c2
[
6672
],
_mm256_xor_si256
(
c2
[
2861
],
_mm256_xor_si256
(
c2
[
696
],
c2
[
6221
]))))))))))))))))))))))))));
//row: 1
d2
[
12
]
=
_mm256_xor_si256
(
c2
[
3365
],
_mm256_xor_si256
(
c2
[
3125
],
_mm256_xor_si256
(
c2
[
6240
],
_mm256_xor_si256
(
c2
[
5760
],
_mm256_xor_si256
(
c2
[
267
],
_mm256_xor_si256
(
c2
[
27
],
_mm256_xor_si256
(
c2
[
4107
],
_mm256_xor_si256
(
c2
[
1708
],
_mm256_xor_si256
(
c2
[
1493
],
_mm256_xor_si256
(
c2
[
1253
],
_mm256_xor_si256
(
c2
[
3413
],
_mm256_xor_si256
(
c2
[
554
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
793
],
_mm256_xor_si256
(
c2
[
4875
],
_mm256_xor_si256
(
c2
[
3697
],
_mm256_xor_si256
(
c2
[
3219
],
_mm256_xor_si256
(
c2
[
3939
],
_mm256_xor_si256
(
c2
[
6602
],
_mm256_xor_si256
(
c2
[
1802
],
_mm256_xor_si256
(
c2
[
1826
],
_mm256_xor_si256
(
c2
[
1586
],
_mm256_xor_si256
(
c2
[
7344
],
_mm256_xor_si256
(
c2
[
6387
],
_mm256_xor_si256
(
c2
[
6413
],
_mm256_xor_si256
(
c2
[
5211
],
_mm256_xor_si256
(
c2
[
5957
],
_mm256_xor_si256
(
c2
[
4275
],
_mm256_xor_si256
(
c2
[
6672
],
_mm256_xor_si256
(
c2
[
3101
],
_mm256_xor_si256
(
c2
[
2861
],
_mm256_xor_si256
(
c2
[
696
],
c2
[
6221
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
24
]
=
_mm256_xor_si256
(
c2
[
3365
],
_mm256_xor_si256
(
c2
[
3125
],
_mm256_xor_si256
(
c2
[
6480
],
_mm256_xor_si256
(
c2
[
6240
],
_mm256_xor_si256
(
c2
[
5760
],
_mm256_xor_si256
(
c2
[
267
],
_mm256_xor_si256
(
c2
[
27
],
_mm256_xor_si256
(
c2
[
4107
],
_mm256_xor_si256
(
c2
[
1708
],
_mm256_xor_si256
(
c2
[
1493
],
_mm256_xor_si256
(
c2
[
1253
],
_mm256_xor_si256
(
c2
[
3413
],
_mm256_xor_si256
(
c2
[
554
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
1033
],
_mm256_xor_si256
(
c2
[
793
],
_mm256_xor_si256
(
c2
[
4875
],
_mm256_xor_si256
(
c2
[
3937
],
_mm256_xor_si256
(
c2
[
3697
],
_mm256_xor_si256
(
c2
[
3219
],
_mm256_xor_si256
(
c2
[
3939
],
_mm256_xor_si256
(
c2
[
6842
],
_mm256_xor_si256
(
c2
[
6602
],
_mm256_xor_si256
(
c2
[
1802
],
_mm256_xor_si256
(
c2
[
1826
],
_mm256_xor_si256
(
c2
[
1586
],
_mm256_xor_si256
(
c2
[
7584
],
_mm256_xor_si256
(
c2
[
7344
],
_mm256_xor_si256
(
c2
[
6387
],
_mm256_xor_si256
(
c2
[
6653
],
_mm256_xor_si256
(
c2
[
6413
],
_mm256_xor_si256
(
c2
[
5211
],
_mm256_xor_si256
(
c2
[
6197
],
_mm256_xor_si256
(
c2
[
5957
],
_mm256_xor_si256
(
c2
[
4275
],
_mm256_xor_si256
(
c2
[
6672
],
_mm256_xor_si256
(
c2
[
3101
],
_mm256_xor_si256
(
c2
[
2861
],
_mm256_xor_si256
(
c2
[
936
],
_mm256_xor_si256
(
c2
[
696
],
c2
[
6221
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
36
]
=
_mm256_xor_si256
(
c2
[
3125
],
_mm256_xor_si256
(
c2
[
6240
],
_mm256_xor_si256
(
c2
[
5760
],
_mm256_xor_si256
(
c2
[
27
],
_mm256_xor_si256
(
c2
[
4107
],
_mm256_xor_si256
(
c2
[
1948
],
_mm256_xor_si256
(
c2
[
1708
],
_mm256_xor_si256
(
c2
[
1253
],
_mm256_xor_si256
(
c2
[
3653
],
_mm256_xor_si256
(
c2
[
3413
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
793
],
_mm256_xor_si256
(
c2
[
4875
],
_mm256_xor_si256
(
c2
[
3697
],
_mm256_xor_si256
(
c2
[
3219
],
_mm256_xor_si256
(
c2
[
4179
],
_mm256_xor_si256
(
c2
[
3939
],
_mm256_xor_si256
(
c2
[
6602
],
_mm256_xor_si256
(
c2
[
2042
],
_mm256_xor_si256
(
c2
[
1802
],
_mm256_xor_si256
(
c2
[
1586
],
_mm256_xor_si256
(
c2
[
7344
],
_mm256_xor_si256
(
c2
[
6627
],
_mm256_xor_si256
(
c2
[
6387
],
_mm256_xor_si256
(
c2
[
6413
],
_mm256_xor_si256
(
c2
[
5451
],
_mm256_xor_si256
(
c2
[
5211
],
_mm256_xor_si256
(
c2
[
5957
],
_mm256_xor_si256
(
c2
[
4275
],
_mm256_xor_si256
(
c2
[
6912
],
_mm256_xor_si256
(
c2
[
6672
],
_mm256_xor_si256
(
c2
[
2861
],
_mm256_xor_si256
(
c2
[
696
],
_mm256_xor_si256
(
c2
[
6461
],
c2
[
6221
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
48
]
=
_mm256_xor_si256
(
c2
[
2646
],
_mm256_xor_si256
(
c2
[
2406
],
_mm256_xor_si256
(
c2
[
5521
],
_mm256_xor_si256
(
c2
[
5041
],
_mm256_xor_si256
(
c2
[
1922
],
_mm256_xor_si256
(
c2
[
7227
],
_mm256_xor_si256
(
c2
[
6987
],
_mm256_xor_si256
(
c2
[
3388
],
_mm256_xor_si256
(
c2
[
989
],
_mm256_xor_si256
(
c2
[
2426
],
_mm256_xor_si256
(
c2
[
774
],
_mm256_xor_si256
(
c2
[
534
],
_mm256_xor_si256
(
c2
[
2694
],
_mm256_xor_si256
(
c2
[
7514
],
_mm256_xor_si256
(
c2
[
7274
],
_mm256_xor_si256
(
c2
[
74
],
_mm256_xor_si256
(
c2
[
4156
],
_mm256_xor_si256
(
c2
[
2978
],
_mm256_xor_si256
(
c2
[
2500
],
_mm256_xor_si256
(
c2
[
3220
],
_mm256_xor_si256
(
c2
[
5883
],
_mm256_xor_si256
(
c2
[
1083
],
_mm256_xor_si256
(
c2
[
1107
],
_mm256_xor_si256
(
c2
[
867
],
_mm256_xor_si256
(
c2
[
6625
],
_mm256_xor_si256
(
c2
[
5668
],
_mm256_xor_si256
(
c2
[
5694
],
_mm256_xor_si256
(
c2
[
4492
],
_mm256_xor_si256
(
c2
[
5238
],
_mm256_xor_si256
(
c2
[
3556
],
_mm256_xor_si256
(
c2
[
5953
],
_mm256_xor_si256
(
c2
[
2382
],
_mm256_xor_si256
(
c2
[
2142
],
_mm256_xor_si256
(
c2
[
7656
],
c2
[
5502
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
60
]
=
_mm256_xor_si256
(
c2
[
7206
],
_mm256_xor_si256
(
c2
[
6966
],
_mm256_xor_si256
(
c2
[
2402
],
_mm256_xor_si256
(
c2
[
1922
],
_mm256_xor_si256
(
c2
[
2400
],
_mm256_xor_si256
(
c2
[
4108
],
_mm256_xor_si256
(
c2
[
3868
],
_mm256_xor_si256
(
c2
[
269
],
_mm256_xor_si256
(
c2
[
5549
],
_mm256_xor_si256
(
c2
[
2905
],
_mm256_xor_si256
(
c2
[
5334
],
_mm256_xor_si256
(
c2
[
5094
],
_mm256_xor_si256
(
c2
[
7254
],
_mm256_xor_si256
(
c2
[
4395
],
_mm256_xor_si256
(
c2
[
4155
],
_mm256_xor_si256
(
c2
[
4634
],
_mm256_xor_si256
(
c2
[
1037
],
_mm256_xor_si256
(
c2
[
7538
],
_mm256_xor_si256
(
c2
[
7060
],
_mm256_xor_si256
(
c2
[
101
],
_mm256_xor_si256
(
c2
[
2764
],
_mm256_xor_si256
(
c2
[
5643
],
_mm256_xor_si256
(
c2
[
6123
],
_mm256_xor_si256
(
c2
[
5667
],
_mm256_xor_si256
(
c2
[
5427
],
_mm256_xor_si256
(
c2
[
3506
],
_mm256_xor_si256
(
c2
[
2549
],
_mm256_xor_si256
(
c2
[
2575
],
_mm256_xor_si256
(
c2
[
1373
],
_mm256_xor_si256
(
c2
[
4010
],
_mm256_xor_si256
(
c2
[
2119
],
_mm256_xor_si256
(
c2
[
437
],
_mm256_xor_si256
(
c2
[
2834
],
_mm256_xor_si256
(
c2
[
6942
],
_mm256_xor_si256
(
c2
[
6702
],
_mm256_xor_si256
(
c2
[
4537
],
c2
[
2383
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
72
]
=
_mm256_xor_si256
(
c2
[
1451
],
_mm256_xor_si256
(
c2
[
1211
],
_mm256_xor_si256
(
c2
[
4326
],
_mm256_xor_si256
(
c2
[
3846
],
_mm256_xor_si256
(
c2
[
244
],
_mm256_xor_si256
(
c2
[
6032
],
_mm256_xor_si256
(
c2
[
5792
],
_mm256_xor_si256
(
c2
[
2193
],
_mm256_xor_si256
(
c2
[
7473
],
_mm256_xor_si256
(
c2
[
7258
],
_mm256_xor_si256
(
c2
[
7018
],
_mm256_xor_si256
(
c2
[
1499
],
_mm256_xor_si256
(
c2
[
6319
],
_mm256_xor_si256
(
c2
[
6079
],
_mm256_xor_si256
(
c2
[
6558
],
_mm256_xor_si256
(
c2
[
2961
],
_mm256_xor_si256
(
c2
[
1783
],
_mm256_xor_si256
(
c2
[
1305
],
_mm256_xor_si256
(
c2
[
2025
],
_mm256_xor_si256
(
c2
[
4688
],
_mm256_xor_si256
(
c2
[
7567
],
_mm256_xor_si256
(
c2
[
6842
],
_mm256_xor_si256
(
c2
[
7591
],
_mm256_xor_si256
(
c2
[
7351
],
_mm256_xor_si256
(
c2
[
5430
],
_mm256_xor_si256
(
c2
[
4473
],
_mm256_xor_si256
(
c2
[
4499
],
_mm256_xor_si256
(
c2
[
3297
],
_mm256_xor_si256
(
c2
[
1131
],
_mm256_xor_si256
(
c2
[
4043
],
_mm256_xor_si256
(
c2
[
2361
],
_mm256_xor_si256
(
c2
[
4758
],
_mm256_xor_si256
(
c2
[
1187
],
_mm256_xor_si256
(
c2
[
947
],
_mm256_xor_si256
(
c2
[
6461
],
_mm256_xor_si256
(
c2
[
4307
],
c2
[
4297
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
84
]
=
_mm256_xor_si256
(
c2
[
4808
],
_mm256_xor_si256
(
c2
[
4568
],
_mm256_xor_si256
(
c2
[
6729
],
_mm256_xor_si256
(
c2
[
4
],
_mm256_xor_si256
(
c2
[
2165
],
_mm256_xor_si256
(
c2
[
7203
],
_mm256_xor_si256
(
c2
[
1685
],
_mm256_xor_si256
(
c2
[
1710
],
_mm256_xor_si256
(
c2
[
1470
],
_mm256_xor_si256
(
c2
[
3631
],
_mm256_xor_si256
(
c2
[
5550
],
_mm256_xor_si256
(
c2
[
32
],
_mm256_xor_si256
(
c2
[
3151
],
_mm256_xor_si256
(
c2
[
5552
],
_mm256_xor_si256
(
c2
[
5312
],
_mm256_xor_si256
(
c2
[
3866
],
_mm256_xor_si256
(
c2
[
2936
],
_mm256_xor_si256
(
c2
[
2696
],
_mm256_xor_si256
(
c2
[
4857
],
_mm256_xor_si256
(
c2
[
4856
],
_mm256_xor_si256
(
c2
[
7257
],
_mm256_xor_si256
(
c2
[
7017
],
_mm256_xor_si256
(
c2
[
1997
],
_mm256_xor_si256
(
c2
[
1757
],
_mm256_xor_si256
(
c2
[
3918
],
_mm256_xor_si256
(
c2
[
2236
],
_mm256_xor_si256
(
c2
[
4397
],
_mm256_xor_si256
(
c2
[
6318
],
_mm256_xor_si256
(
c2
[
800
],
_mm256_xor_si256
(
c2
[
5140
],
_mm256_xor_si256
(
c2
[
7301
],
_mm256_xor_si256
(
c2
[
4662
],
_mm256_xor_si256
(
c2
[
6823
],
_mm256_xor_si256
(
c2
[
5382
],
_mm256_xor_si256
(
c2
[
104
],
_mm256_xor_si256
(
c2
[
7543
],
_mm256_xor_si256
(
c2
[
366
],
_mm256_xor_si256
(
c2
[
2527
],
_mm256_xor_si256
(
c2
[
3245
],
_mm256_xor_si256
(
c2
[
5646
],
_mm256_xor_si256
(
c2
[
5406
],
_mm256_xor_si256
(
c2
[
6365
],
_mm256_xor_si256
(
c2
[
3269
],
_mm256_xor_si256
(
c2
[
3029
],
_mm256_xor_si256
(
c2
[
5190
],
_mm256_xor_si256
(
c2
[
1108
],
_mm256_xor_si256
(
c2
[
3269
],
_mm256_xor_si256
(
c2
[
151
],
_mm256_xor_si256
(
c2
[
2552
],
_mm256_xor_si256
(
c2
[
2312
],
_mm256_xor_si256
(
c2
[
177
],
_mm256_xor_si256
(
c2
[
2338
],
_mm256_xor_si256
(
c2
[
6654
],
_mm256_xor_si256
(
c2
[
1376
],
_mm256_xor_si256
(
c2
[
1136
],
_mm256_xor_si256
(
c2
[
4008
],
_mm256_xor_si256
(
c2
[
7400
],
_mm256_xor_si256
(
c2
[
1882
],
_mm256_xor_si256
(
c2
[
5718
],
_mm256_xor_si256
(
c2
[
200
],
_mm256_xor_si256
(
c2
[
436
],
_mm256_xor_si256
(
c2
[
2837
],
_mm256_xor_si256
(
c2
[
2597
],
_mm256_xor_si256
(
c2
[
4544
],
_mm256_xor_si256
(
c2
[
4304
],
_mm256_xor_si256
(
c2
[
6465
],
_mm256_xor_si256
(
c2
[
2139
],
_mm256_xor_si256
(
c2
[
4300
],
_mm256_xor_si256
(
c2
[
7664
],
_mm256_xor_si256
(
c2
[
2386
],
c2
[
2146
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
96
]
=
_mm256_xor_si256
(
c2
[
1450
],
_mm256_xor_si256
(
c2
[
1210
],
_mm256_xor_si256
(
c2
[
4565
],
_mm256_xor_si256
(
c2
[
4325
],
_mm256_xor_si256
(
c2
[
3845
],
_mm256_xor_si256
(
c2
[
5283
],
_mm256_xor_si256
(
c2
[
6031
],
_mm256_xor_si256
(
c2
[
5791
],
_mm256_xor_si256
(
c2
[
2192
],
_mm256_xor_si256
(
c2
[
7472
],
_mm256_xor_si256
(
c2
[
1466
],
_mm256_xor_si256
(
c2
[
7257
],
_mm256_xor_si256
(
c2
[
7017
],
_mm256_xor_si256
(
c2
[
1498
],
_mm256_xor_si256
(
c2
[
6318
],
_mm256_xor_si256
(
c2
[
6078
],
_mm256_xor_si256
(
c2
[
6797
],
_mm256_xor_si256
(
c2
[
6557
],
_mm256_xor_si256
(
c2
[
2960
],
_mm256_xor_si256
(
c2
[
2022
],
_mm256_xor_si256
(
c2
[
1782
],
_mm256_xor_si256
(
c2
[
1304
],
_mm256_xor_si256
(
c2
[
2024
],
_mm256_xor_si256
(
c2
[
4927
],
_mm256_xor_si256
(
c2
[
4687
],
_mm256_xor_si256
(
c2
[
7566
],
_mm256_xor_si256
(
c2
[
7590
],
_mm256_xor_si256
(
c2
[
7350
],
_mm256_xor_si256
(
c2
[
5669
],
_mm256_xor_si256
(
c2
[
5429
],
_mm256_xor_si256
(
c2
[
4472
],
_mm256_xor_si256
(
c2
[
4738
],
_mm256_xor_si256
(
c2
[
4498
],
_mm256_xor_si256
(
c2
[
3296
],
_mm256_xor_si256
(
c2
[
4282
],
_mm256_xor_si256
(
c2
[
4042
],
_mm256_xor_si256
(
c2
[
2360
],
_mm256_xor_si256
(
c2
[
4757
],
_mm256_xor_si256
(
c2
[
1186
],
_mm256_xor_si256
(
c2
[
946
],
_mm256_xor_si256
(
c2
[
6700
],
_mm256_xor_si256
(
c2
[
6460
],
c2
[
4306
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
108
]
=
_mm256_xor_si256
(
c2
[
1451
],
_mm256_xor_si256
(
c2
[
11
],
_mm256_xor_si256
(
c2
[
7450
],
_mm256_xor_si256
(
c2
[
4566
],
_mm256_xor_si256
(
c2
[
2886
],
_mm256_xor_si256
(
c2
[
4086
],
_mm256_xor_si256
(
c2
[
2406
],
_mm256_xor_si256
(
c2
[
6032
],
_mm256_xor_si256
(
c2
[
4592
],
_mm256_xor_si256
(
c2
[
4352
],
_mm256_xor_si256
(
c2
[
2433
],
_mm256_xor_si256
(
c2
[
753
],
_mm256_xor_si256
(
c2
[
34
],
_mm256_xor_si256
(
c2
[
6033
],
_mm256_xor_si256
(
c2
[
6744
],
_mm256_xor_si256
(
c2
[
7258
],
_mm256_xor_si256
(
c2
[
5818
],
_mm256_xor_si256
(
c2
[
5578
],
_mm256_xor_si256
(
c2
[
1739
],
_mm256_xor_si256
(
c2
[
59
],
_mm256_xor_si256
(
c2
[
6319
],
_mm256_xor_si256
(
c2
[
4879
],
_mm256_xor_si256
(
c2
[
4639
],
_mm256_xor_si256
(
c2
[
6798
],
_mm256_xor_si256
(
c2
[
5118
],
_mm256_xor_si256
(
c2
[
3201
],
_mm256_xor_si256
(
c2
[
1521
],
_mm256_xor_si256
(
c2
[
2023
],
_mm256_xor_si256
(
c2
[
343
],
_mm256_xor_si256
(
c2
[
1545
],
_mm256_xor_si256
(
c2
[
7544
],
_mm256_xor_si256
(
c2
[
2265
],
_mm256_xor_si256
(
c2
[
585
],
_mm256_xor_si256
(
c2
[
4928
],
_mm256_xor_si256
(
c2
[
3248
],
_mm256_xor_si256
(
c2
[
128
],
_mm256_xor_si256
(
c2
[
6127
],
_mm256_xor_si256
(
c2
[
7591
],
_mm256_xor_si256
(
c2
[
6151
],
_mm256_xor_si256
(
c2
[
5911
],
_mm256_xor_si256
(
c2
[
5670
],
_mm256_xor_si256
(
c2
[
3990
],
_mm256_xor_si256
(
c2
[
4713
],
_mm256_xor_si256
(
c2
[
3033
],
_mm256_xor_si256
(
c2
[
4739
],
_mm256_xor_si256
(
c2
[
3059
],
_mm256_xor_si256
(
c2
[
3537
],
_mm256_xor_si256
(
c2
[
1857
],
_mm256_xor_si256
(
c2
[
4283
],
_mm256_xor_si256
(
c2
[
2603
],
_mm256_xor_si256
(
c2
[
2601
],
_mm256_xor_si256
(
c2
[
921
],
_mm256_xor_si256
(
c2
[
4998
],
_mm256_xor_si256
(
c2
[
3318
],
_mm256_xor_si256
(
c2
[
1156
],
_mm256_xor_si256
(
c2
[
1187
],
_mm256_xor_si256
(
c2
[
7426
],
_mm256_xor_si256
(
c2
[
7186
],
_mm256_xor_si256
(
c2
[
6701
],
_mm256_xor_si256
(
c2
[
5021
],
_mm256_xor_si256
(
c2
[
4547
],
c2
[
2867
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
120
]
=
_mm256_xor_si256
(
c2
[
6481
],
_mm256_xor_si256
(
c2
[
1947
],
_mm256_xor_si256
(
c2
[
5424
],
c2
[
4969
])));
//row: 11
d2
[
132
]
=
_mm256_xor_si256
(
c2
[
1690
],
_mm256_xor_si256
(
c2
[
4805
],
_mm256_xor_si256
(
c2
[
4325
],
_mm256_xor_si256
(
c2
[
1
],
_mm256_xor_si256
(
c2
[
6271
],
_mm256_xor_si256
(
c2
[
2672
],
_mm256_xor_si256
(
c2
[
513
],
_mm256_xor_si256
(
c2
[
273
],
_mm256_xor_si256
(
c2
[
7497
],
_mm256_xor_si256
(
c2
[
2218
],
_mm256_xor_si256
(
c2
[
1978
],
_mm256_xor_si256
(
c2
[
6558
],
_mm256_xor_si256
(
c2
[
7037
],
_mm256_xor_si256
(
c2
[
3440
],
_mm256_xor_si256
(
c2
[
2262
],
_mm256_xor_si256
(
c2
[
1784
],
_mm256_xor_si256
(
c2
[
2744
],
_mm256_xor_si256
(
c2
[
2504
],
_mm256_xor_si256
(
c2
[
5167
],
_mm256_xor_si256
(
c2
[
607
],
_mm256_xor_si256
(
c2
[
367
],
_mm256_xor_si256
(
c2
[
151
],
_mm256_xor_si256
(
c2
[
5909
],
_mm256_xor_si256
(
c2
[
5192
],
_mm256_xor_si256
(
c2
[
4952
],
_mm256_xor_si256
(
c2
[
4978
],
_mm256_xor_si256
(
c2
[
4016
],
_mm256_xor_si256
(
c2
[
3776
],
_mm256_xor_si256
(
c2
[
6890
],
_mm256_xor_si256
(
c2
[
4522
],
_mm256_xor_si256
(
c2
[
2840
],
_mm256_xor_si256
(
c2
[
5477
],
_mm256_xor_si256
(
c2
[
5237
],
_mm256_xor_si256
(
c2
[
1426
],
_mm256_xor_si256
(
c2
[
6940
],
_mm256_xor_si256
(
c2
[
5026
],
_mm256_xor_si256
(
c2
[
4786
],
c2
[
3581
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
144
]
=
_mm256_xor_si256
(
c2
[
6005
],
_mm256_xor_si256
(
c2
[
5765
],
_mm256_xor_si256
(
c2
[
1201
],
_mm256_xor_si256
(
c2
[
721
],
_mm256_xor_si256
(
c2
[
2907
],
_mm256_xor_si256
(
c2
[
2667
],
_mm256_xor_si256
(
c2
[
6747
],
_mm256_xor_si256
(
c2
[
4348
],
_mm256_xor_si256
(
c2
[
1705
],
_mm256_xor_si256
(
c2
[
4133
],
_mm256_xor_si256
(
c2
[
3893
],
_mm256_xor_si256
(
c2
[
6053
],
_mm256_xor_si256
(
c2
[
3194
],
_mm256_xor_si256
(
c2
[
2954
],
_mm256_xor_si256
(
c2
[
3433
],
_mm256_xor_si256
(
c2
[
7515
],
_mm256_xor_si256
(
c2
[
7034
],
_mm256_xor_si256
(
c2
[
6337
],
_mm256_xor_si256
(
c2
[
5859
],
_mm256_xor_si256
(
c2
[
6579
],
_mm256_xor_si256
(
c2
[
1563
],
_mm256_xor_si256
(
c2
[
4442
],
_mm256_xor_si256
(
c2
[
4466
],
_mm256_xor_si256
(
c2
[
4226
],
_mm256_xor_si256
(
c2
[
2305
],
_mm256_xor_si256
(
c2
[
1348
],
_mm256_xor_si256
(
c2
[
1374
],
_mm256_xor_si256
(
c2
[
172
],
_mm256_xor_si256
(
c2
[
918
],
_mm256_xor_si256
(
c2
[
6915
],
_mm256_xor_si256
(
c2
[
1633
],
_mm256_xor_si256
(
c2
[
5741
],
_mm256_xor_si256
(
c2
[
5501
],
_mm256_xor_si256
(
c2
[
3336
],
c2
[
1182
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
156
]
=
_mm256_xor_si256
(
c2
[
4570
],
_mm256_xor_si256
(
c2
[
6
],
_mm256_xor_si256
(
c2
[
7205
],
_mm256_xor_si256
(
c2
[
4081
],
_mm256_xor_si256
(
c2
[
1472
],
_mm256_xor_si256
(
c2
[
5552
],
_mm256_xor_si256
(
c2
[
3393
],
_mm256_xor_si256
(
c2
[
3153
],
_mm256_xor_si256
(
c2
[
6987
],
_mm256_xor_si256
(
c2
[
2698
],
_mm256_xor_si256
(
c2
[
5098
],
_mm256_xor_si256
(
c2
[
4858
],
_mm256_xor_si256
(
c2
[
1759
],
_mm256_xor_si256
(
c2
[
2238
],
_mm256_xor_si256
(
c2
[
6320
],
_mm256_xor_si256
(
c2
[
5142
],
_mm256_xor_si256
(
c2
[
4664
],
_mm256_xor_si256
(
c2
[
5624
],
_mm256_xor_si256
(
c2
[
5384
],
_mm256_xor_si256
(
c2
[
368
],
_mm256_xor_si256
(
c2
[
3487
],
_mm256_xor_si256
(
c2
[
3247
],
_mm256_xor_si256
(
c2
[
3031
],
_mm256_xor_si256
(
c2
[
1110
],
_mm256_xor_si256
(
c2
[
393
],
_mm256_xor_si256
(
c2
[
153
],
_mm256_xor_si256
(
c2
[
179
],
_mm256_xor_si256
(
c2
[
6896
],
_mm256_xor_si256
(
c2
[
6656
],
_mm256_xor_si256
(
c2
[
7402
],
_mm256_xor_si256
(
c2
[
5720
],
_mm256_xor_si256
(
c2
[
678
],
_mm256_xor_si256
(
c2
[
438
],
_mm256_xor_si256
(
c2
[
913
],
_mm256_xor_si256
(
c2
[
4306
],
_mm256_xor_si256
(
c2
[
2141
],
_mm256_xor_si256
(
c2
[
227
],
c2
[
7666
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
168
]
=
_mm256_xor_si256
(
c2
[
726
],
_mm256_xor_si256
(
c2
[
486
],
_mm256_xor_si256
(
c2
[
3850
],
_mm256_xor_si256
(
c2
[
3601
],
_mm256_xor_si256
(
c2
[
6965
],
_mm256_xor_si256
(
c2
[
3121
],
_mm256_xor_si256
(
c2
[
6485
],
_mm256_xor_si256
(
c2
[
5307
],
_mm256_xor_si256
(
c2
[
5067
],
_mm256_xor_si256
(
c2
[
752
],
_mm256_xor_si256
(
c2
[
1468
],
_mm256_xor_si256
(
c2
[
4832
],
_mm256_xor_si256
(
c2
[
6748
],
_mm256_xor_si256
(
c2
[
2673
],
_mm256_xor_si256
(
c2
[
2433
],
_mm256_xor_si256
(
c2
[
4584
],
_mm256_xor_si256
(
c2
[
6533
],
_mm256_xor_si256
(
c2
[
6293
],
_mm256_xor_si256
(
c2
[
1978
],
_mm256_xor_si256
(
c2
[
774
],
_mm256_xor_si256
(
c2
[
4378
],
_mm256_xor_si256
(
c2
[
4138
],
_mm256_xor_si256
(
c2
[
5594
],
_mm256_xor_si256
(
c2
[
5354
],
_mm256_xor_si256
(
c2
[
1039
],
_mm256_xor_si256
(
c2
[
5833
],
_mm256_xor_si256
(
c2
[
1518
],
_mm256_xor_si256
(
c2
[
2236
],
_mm256_xor_si256
(
c2
[
5600
],
_mm256_xor_si256
(
c2
[
1058
],
_mm256_xor_si256
(
c2
[
4422
],
_mm256_xor_si256
(
c2
[
580
],
_mm256_xor_si256
(
c2
[
3944
],
_mm256_xor_si256
(
c2
[
1300
],
_mm256_xor_si256
(
c2
[
4904
],
_mm256_xor_si256
(
c2
[
4664
],
_mm256_xor_si256
(
c2
[
3963
],
_mm256_xor_si256
(
c2
[
7327
],
_mm256_xor_si256
(
c2
[
6842
],
_mm256_xor_si256
(
c2
[
2767
],
_mm256_xor_si256
(
c2
[
2527
],
_mm256_xor_si256
(
c2
[
6866
],
_mm256_xor_si256
(
c2
[
6626
],
_mm256_xor_si256
(
c2
[
2311
],
_mm256_xor_si256
(
c2
[
4705
],
_mm256_xor_si256
(
c2
[
390
],
_mm256_xor_si256
(
c2
[
3748
],
_mm256_xor_si256
(
c2
[
7352
],
_mm256_xor_si256
(
c2
[
7112
],
_mm256_xor_si256
(
c2
[
5427
],
_mm256_xor_si256
(
c2
[
3774
],
_mm256_xor_si256
(
c2
[
7138
],
_mm256_xor_si256
(
c2
[
2572
],
_mm256_xor_si256
(
c2
[
6176
],
_mm256_xor_si256
(
c2
[
5936
],
_mm256_xor_si256
(
c2
[
3318
],
_mm256_xor_si256
(
c2
[
6682
],
_mm256_xor_si256
(
c2
[
1636
],
_mm256_xor_si256
(
c2
[
5000
],
_mm256_xor_si256
(
c2
[
4033
],
_mm256_xor_si256
(
c2
[
7637
],
_mm256_xor_si256
(
c2
[
7397
],
_mm256_xor_si256
(
c2
[
462
],
_mm256_xor_si256
(
c2
[
222
],
_mm256_xor_si256
(
c2
[
3586
],
_mm256_xor_si256
(
c2
[
5736
],
_mm256_xor_si256
(
c2
[
1421
],
_mm256_xor_si256
(
c2
[
3582
],
_mm256_xor_si256
(
c2
[
7186
],
c2
[
6946
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
180
]
=
_mm256_xor_si256
(
c2
[
2887
],
_mm256_xor_si256
(
c2
[
7447
],
_mm256_xor_si256
(
c2
[
7207
],
_mm256_xor_si256
(
c2
[
6002
],
_mm256_xor_si256
(
c2
[
2643
],
_mm256_xor_si256
(
c2
[
5522
],
_mm256_xor_si256
(
c2
[
2163
],
_mm256_xor_si256
(
c2
[
962
],
_mm256_xor_si256
(
c2
[
7468
],
_mm256_xor_si256
(
c2
[
4349
],
_mm256_xor_si256
(
c2
[
4109
],
_mm256_xor_si256
(
c2
[
3869
],
_mm256_xor_si256
(
c2
[
510
],
_mm256_xor_si256
(
c2
[
1470
],
_mm256_xor_si256
(
c2
[
5790
],
_mm256_xor_si256
(
c2
[
1015
],
_mm256_xor_si256
(
c2
[
5575
],
_mm256_xor_si256
(
c2
[
5335
],
_mm256_xor_si256
(
c2
[
3175
],
_mm256_xor_si256
(
c2
[
7495
],
_mm256_xor_si256
(
c2
[
76
],
_mm256_xor_si256
(
c2
[
4636
],
_mm256_xor_si256
(
c2
[
4396
],
_mm256_xor_si256
(
c2
[
555
],
_mm256_xor_si256
(
c2
[
4875
],
_mm256_xor_si256
(
c2
[
4637
],
_mm256_xor_si256
(
c2
[
1278
],
_mm256_xor_si256
(
c2
[
3459
],
_mm256_xor_si256
(
c2
[
100
],
_mm256_xor_si256
(
c2
[
2981
],
_mm256_xor_si256
(
c2
[
7301
],
_mm256_xor_si256
(
c2
[
3701
],
_mm256_xor_si256
(
c2
[
342
],
_mm256_xor_si256
(
c2
[
6364
],
_mm256_xor_si256
(
c2
[
3005
],
_mm256_xor_si256
(
c2
[
1564
],
_mm256_xor_si256
(
c2
[
5884
],
_mm256_xor_si256
(
c2
[
1348
],
_mm256_xor_si256
(
c2
[
5908
],
_mm256_xor_si256
(
c2
[
5668
],
_mm256_xor_si256
(
c2
[
7106
],
_mm256_xor_si256
(
c2
[
3747
],
_mm256_xor_si256
(
c2
[
6149
],
_mm256_xor_si256
(
c2
[
2790
],
_mm256_xor_si256
(
c2
[
6175
],
_mm256_xor_si256
(
c2
[
2816
],
_mm256_xor_si256
(
c2
[
4973
],
_mm256_xor_si256
(
c2
[
1614
],
_mm256_xor_si256
(
c2
[
5719
],
_mm256_xor_si256
(
c2
[
2360
],
_mm256_xor_si256
(
c2
[
4037
],
_mm256_xor_si256
(
c2
[
678
],
_mm256_xor_si256
(
c2
[
6434
],
_mm256_xor_si256
(
c2
[
3075
],
_mm256_xor_si256
(
c2
[
2623
],
_mm256_xor_si256
(
c2
[
7183
],
_mm256_xor_si256
(
c2
[
6943
],
_mm256_xor_si256
(
c2
[
458
],
_mm256_xor_si256
(
c2
[
4778
],
_mm256_xor_si256
(
c2
[
5983
],
c2
[
2624
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
192
]
=
_mm256_xor_si256
(
c2
[
5049
],
_mm256_xor_si256
(
c2
[
4809
],
_mm256_xor_si256
(
c2
[
3367
],
_mm256_xor_si256
(
c2
[
3127
],
_mm256_xor_si256
(
c2
[
245
],
_mm256_xor_si256
(
c2
[
6482
],
_mm256_xor_si256
(
c2
[
6242
],
_mm256_xor_si256
(
c2
[
7444
],
_mm256_xor_si256
(
c2
[
5762
],
_mm256_xor_si256
(
c2
[
1951
],
_mm256_xor_si256
(
c2
[
1711
],
_mm256_xor_si256
(
c2
[
269
],
_mm256_xor_si256
(
c2
[
29
],
_mm256_xor_si256
(
c2
[
5791
],
_mm256_xor_si256
(
c2
[
4109
],
_mm256_xor_si256
(
c2
[
3392
],
_mm256_xor_si256
(
c2
[
1710
],
_mm256_xor_si256
(
c2
[
5546
],
_mm256_xor_si256
(
c2
[
3177
],
_mm256_xor_si256
(
c2
[
2937
],
_mm256_xor_si256
(
c2
[
1495
],
_mm256_xor_si256
(
c2
[
1255
],
_mm256_xor_si256
(
c2
[
5097
],
_mm256_xor_si256
(
c2
[
3415
],
_mm256_xor_si256
(
c2
[
2238
],
_mm256_xor_si256
(
c2
[
1998
],
_mm256_xor_si256
(
c2
[
556
],
_mm256_xor_si256
(
c2
[
316
],
_mm256_xor_si256
(
c2
[
2477
],
_mm256_xor_si256
(
c2
[
1035
],
_mm256_xor_si256
(
c2
[
795
],
_mm256_xor_si256
(
c2
[
6559
],
_mm256_xor_si256
(
c2
[
4877
],
_mm256_xor_si256
(
c2
[
5381
],
_mm256_xor_si256
(
c2
[
3939
],
_mm256_xor_si256
(
c2
[
3699
],
_mm256_xor_si256
(
c2
[
4903
],
_mm256_xor_si256
(
c2
[
3221
],
_mm256_xor_si256
(
c2
[
5623
],
_mm256_xor_si256
(
c2
[
3941
],
_mm256_xor_si256
(
c2
[
607
],
_mm256_xor_si256
(
c2
[
6844
],
_mm256_xor_si256
(
c2
[
6604
],
_mm256_xor_si256
(
c2
[
3486
],
_mm256_xor_si256
(
c2
[
1804
],
_mm256_xor_si256
(
c2
[
3510
],
_mm256_xor_si256
(
c2
[
3270
],
_mm256_xor_si256
(
c2
[
1828
],
_mm256_xor_si256
(
c2
[
1588
],
_mm256_xor_si256
(
c2
[
1349
],
_mm256_xor_si256
(
c2
[
7586
],
_mm256_xor_si256
(
c2
[
7346
],
_mm256_xor_si256
(
c2
[
392
],
_mm256_xor_si256
(
c2
[
6389
],
_mm256_xor_si256
(
c2
[
418
],
_mm256_xor_si256
(
c2
[
6655
],
_mm256_xor_si256
(
c2
[
6415
],
_mm256_xor_si256
(
c2
[
6895
],
_mm256_xor_si256
(
c2
[
5213
],
_mm256_xor_si256
(
c2
[
7641
],
_mm256_xor_si256
(
c2
[
6199
],
_mm256_xor_si256
(
c2
[
5959
],
_mm256_xor_si256
(
c2
[
5959
],
_mm256_xor_si256
(
c2
[
4277
],
_mm256_xor_si256
(
c2
[
677
],
_mm256_xor_si256
(
c2
[
6674
],
_mm256_xor_si256
(
c2
[
4785
],
_mm256_xor_si256
(
c2
[
4545
],
_mm256_xor_si256
(
c2
[
3103
],
_mm256_xor_si256
(
c2
[
2863
],
_mm256_xor_si256
(
c2
[
2380
],
_mm256_xor_si256
(
c2
[
938
],
_mm256_xor_si256
(
c2
[
698
],
_mm256_xor_si256
(
c2
[
226
],
_mm256_xor_si256
(
c2
[
6223
],
c2
[
4301
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
204
]
=
_mm256_xor_si256
(
c2
[
5525
],
_mm256_xor_si256
(
c2
[
5285
],
_mm256_xor_si256
(
c2
[
4805
],
_mm256_xor_si256
(
c2
[
4565
],
_mm256_xor_si256
(
c2
[
721
],
_mm256_xor_si256
(
c2
[
241
],
_mm256_xor_si256
(
c2
[
1
],
_mm256_xor_si256
(
c2
[
241
],
_mm256_xor_si256
(
c2
[
7200
],
_mm256_xor_si256
(
c2
[
2427
],
_mm256_xor_si256
(
c2
[
2187
],
_mm256_xor_si256
(
c2
[
1707
],
_mm256_xor_si256
(
c2
[
1467
],
_mm256_xor_si256
(
c2
[
6267
],
_mm256_xor_si256
(
c2
[
5547
],
_mm256_xor_si256
(
c2
[
3868
],
_mm256_xor_si256
(
c2
[
3148
],
_mm256_xor_si256
(
c2
[
7228
],
_mm256_xor_si256
(
c2
[
3653
],
_mm256_xor_si256
(
c2
[
3413
],
_mm256_xor_si256
(
c2
[
2933
],
_mm256_xor_si256
(
c2
[
2693
],
_mm256_xor_si256
(
c2
[
5573
],
_mm256_xor_si256
(
c2
[
4853
],
_mm256_xor_si256
(
c2
[
2714
],
_mm256_xor_si256
(
c2
[
2474
],
_mm256_xor_si256
(
c2
[
1994
],
_mm256_xor_si256
(
c2
[
1754
],
_mm256_xor_si256
(
c2
[
2953
],
_mm256_xor_si256
(
c2
[
2473
],
_mm256_xor_si256
(
c2
[
2233
],
_mm256_xor_si256
(
c2
[
7035
],
_mm256_xor_si256
(
c2
[
6315
],
_mm256_xor_si256
(
c2
[
5857
],
_mm256_xor_si256
(
c2
[
5377
],
_mm256_xor_si256
(
c2
[
5137
],
_mm256_xor_si256
(
c2
[
5379
],
_mm256_xor_si256
(
c2
[
4659
],
_mm256_xor_si256
(
c2
[
6099
],
_mm256_xor_si256
(
c2
[
5379
],
_mm256_xor_si256
(
c2
[
1083
],
_mm256_xor_si256
(
c2
[
603
],
_mm256_xor_si256
(
c2
[
363
],
_mm256_xor_si256
(
c2
[
3962
],
_mm256_xor_si256
(
c2
[
3242
],
_mm256_xor_si256
(
c2
[
5640
],
_mm256_xor_si256
(
c2
[
3986
],
_mm256_xor_si256
(
c2
[
3746
],
_mm256_xor_si256
(
c2
[
3266
],
_mm256_xor_si256
(
c2
[
3026
],
_mm256_xor_si256
(
c2
[
1825
],
_mm256_xor_si256
(
c2
[
1345
],
_mm256_xor_si256
(
c2
[
1105
],
_mm256_xor_si256
(
c2
[
868
],
_mm256_xor_si256
(
c2
[
148
],
_mm256_xor_si256
(
c2
[
894
],
_mm256_xor_si256
(
c2
[
414
],
_mm256_xor_si256
(
c2
[
174
],
_mm256_xor_si256
(
c2
[
7371
],
_mm256_xor_si256
(
c2
[
6651
],
_mm256_xor_si256
(
c2
[
438
],
_mm256_xor_si256
(
c2
[
7637
],
_mm256_xor_si256
(
c2
[
7397
],
_mm256_xor_si256
(
c2
[
6435
],
_mm256_xor_si256
(
c2
[
5715
],
_mm256_xor_si256
(
c2
[
1153
],
_mm256_xor_si256
(
c2
[
433
],
_mm256_xor_si256
(
c2
[
5261
],
_mm256_xor_si256
(
c2
[
5021
],
_mm256_xor_si256
(
c2
[
4541
],
_mm256_xor_si256
(
c2
[
4301
],
_mm256_xor_si256
(
c2
[
2856
],
_mm256_xor_si256
(
c2
[
2376
],
_mm256_xor_si256
(
c2
[
2136
],
_mm256_xor_si256
(
c2
[
702
],
c2
[
7661
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
216
]
=
_mm256_xor_si256
(
c2
[
6245
],
_mm256_xor_si256
(
c2
[
1584
],
c2
[
3529
]));
//row: 19
d2
[
228
]
=
_mm256_xor_si256
(
c2
[
2170
],
_mm256_xor_si256
(
c2
[
5285
],
_mm256_xor_si256
(
c2
[
4805
],
_mm256_xor_si256
(
c2
[
6241
],
_mm256_xor_si256
(
c2
[
6751
],
_mm256_xor_si256
(
c2
[
3152
],
_mm256_xor_si256
(
c2
[
753
],
_mm256_xor_si256
(
c2
[
2425
],
_mm256_xor_si256
(
c2
[
298
],
_mm256_xor_si256
(
c2
[
2458
],
_mm256_xor_si256
(
c2
[
7038
],
_mm256_xor_si256
(
c2
[
7517
],
_mm256_xor_si256
(
c2
[
3920
],
_mm256_xor_si256
(
c2
[
2742
],
_mm256_xor_si256
(
c2
[
2264
],
_mm256_xor_si256
(
c2
[
2984
],
_mm256_xor_si256
(
c2
[
5647
],
_mm256_xor_si256
(
c2
[
847
],
_mm256_xor_si256
(
c2
[
631
],
_mm256_xor_si256
(
c2
[
6389
],
_mm256_xor_si256
(
c2
[
5432
],
_mm256_xor_si256
(
c2
[
5458
],
_mm256_xor_si256
(
c2
[
4256
],
_mm256_xor_si256
(
c2
[
5002
],
_mm256_xor_si256
(
c2
[
3320
],
_mm256_xor_si256
(
c2
[
5717
],
_mm256_xor_si256
(
c2
[
1906
],
_mm256_xor_si256
(
c2
[
7420
],
c2
[
5266
]))))))))))))))))))))))))))));
//row: 20
d2
[
240
]
=
_mm256_xor_si256
(
c2
[
1690
],
_mm256_xor_si256
(
c2
[
1450
],
_mm256_xor_si256
(
c2
[
4565
],
_mm256_xor_si256
(
c2
[
4085
],
_mm256_xor_si256
(
c2
[
6271
],
_mm256_xor_si256
(
c2
[
6031
],
_mm256_xor_si256
(
c2
[
2432
],
_mm256_xor_si256
(
c2
[
33
],
_mm256_xor_si256
(
c2
[
2906
],
_mm256_xor_si256
(
c2
[
7497
],
_mm256_xor_si256
(
c2
[
7257
],
_mm256_xor_si256
(
c2
[
1738
],
_mm256_xor_si256
(
c2
[
6558
],
_mm256_xor_si256
(
c2
[
6318
],
_mm256_xor_si256
(
c2
[
6797
],
_mm256_xor_si256
(
c2
[
3200
],
_mm256_xor_si256
(
c2
[
2022
],
_mm256_xor_si256
(
c2
[
1544
],
_mm256_xor_si256
(
c2
[
2264
],
_mm256_xor_si256
(
c2
[
7057
],
_mm256_xor_si256
(
c2
[
4927
],
_mm256_xor_si256
(
c2
[
127
],
_mm256_xor_si256
(
c2
[
151
],
_mm256_xor_si256
(
c2
[
7590
],
_mm256_xor_si256
(
c2
[
5669
],
_mm256_xor_si256
(
c2
[
4712
],
_mm256_xor_si256
(
c2
[
4738
],
_mm256_xor_si256
(
c2
[
3536
],
_mm256_xor_si256
(
c2
[
4282
],
_mm256_xor_si256
(
c2
[
2600
],
_mm256_xor_si256
(
c2
[
4997
],
_mm256_xor_si256
(
c2
[
1426
],
_mm256_xor_si256
(
c2
[
1186
],
_mm256_xor_si256
(
c2
[
6700
],
c2
[
4546
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
252
]
=
_mm256_xor_si256
(
c2
[
3847
],
_mm256_xor_si256
(
c2
[
6962
],
_mm256_xor_si256
(
c2
[
6482
],
_mm256_xor_si256
(
c2
[
6964
],
_mm256_xor_si256
(
c2
[
749
],
_mm256_xor_si256
(
c2
[
4829
],
_mm256_xor_si256
(
c2
[
2670
],
_mm256_xor_si256
(
c2
[
2430
],
_mm256_xor_si256
(
c2
[
1975
],
_mm256_xor_si256
(
c2
[
4375
],
_mm256_xor_si256
(
c2
[
4135
],
_mm256_xor_si256
(
c2
[
1036
],
_mm256_xor_si256
(
c2
[
1515
],
_mm256_xor_si256
(
c2
[
5597
],
_mm256_xor_si256
(
c2
[
4419
],
_mm256_xor_si256
(
c2
[
3941
],
_mm256_xor_si256
(
c2
[
4901
],
_mm256_xor_si256
(
c2
[
4661
],
_mm256_xor_si256
(
c2
[
7324
],
_mm256_xor_si256
(
c2
[
2764
],
_mm256_xor_si256
(
c2
[
2524
],
_mm256_xor_si256
(
c2
[
2308
],
_mm256_xor_si256
(
c2
[
387
],
_mm256_xor_si256
(
c2
[
7349
],
_mm256_xor_si256
(
c2
[
7109
],
_mm256_xor_si256
(
c2
[
7135
],
_mm256_xor_si256
(
c2
[
6173
],
_mm256_xor_si256
(
c2
[
5933
],
_mm256_xor_si256
(
c2
[
6679
],
_mm256_xor_si256
(
c2
[
4997
],
_mm256_xor_si256
(
c2
[
7634
],
_mm256_xor_si256
(
c2
[
7394
],
_mm256_xor_si256
(
c2
[
3797
],
_mm256_xor_si256
(
c2
[
3583
],
_mm256_xor_si256
(
c2
[
1418
],
_mm256_xor_si256
(
c2
[
7183
],
c2
[
6943
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
264
]
=
_mm256_xor_si256
(
c2
[
4824
],
c2
[
4849
]);
//row: 23
d2
[
276
]
=
_mm256_xor_si256
(
c2
[
2403
],
_mm256_xor_si256
(
c2
[
5354
],
c2
[
7562
]));
//row: 24
d2
[
288
]
=
_mm256_xor_si256
(
c2
[
5309
],
_mm256_xor_si256
(
c2
[
6052
],
c2
[
218
]));
//row: 25
d2
[
300
]
=
_mm256_xor_si256
(
c2
[
3121
],
c2
[
5160
]);
//row: 26
d2
[
312
]
=
_mm256_xor_si256
(
c2
[
1207
],
_mm256_xor_si256
(
c2
[
967
],
_mm256_xor_si256
(
c2
[
488
],
_mm256_xor_si256
(
c2
[
4322
],
_mm256_xor_si256
(
c2
[
4082
],
_mm256_xor_si256
(
c2
[
3603
],
_mm256_xor_si256
(
c2
[
3602
],
_mm256_xor_si256
(
c2
[
3123
],
_mm256_xor_si256
(
c2
[
5788
],
_mm256_xor_si256
(
c2
[
5548
],
_mm256_xor_si256
(
c2
[
5069
],
_mm256_xor_si256
(
c2
[
1949
],
_mm256_xor_si256
(
c2
[
1470
],
_mm256_xor_si256
(
c2
[
7229
],
_mm256_xor_si256
(
c2
[
6990
],
_mm256_xor_si256
(
c2
[
6750
],
_mm256_xor_si256
(
c2
[
7014
],
_mm256_xor_si256
(
c2
[
6774
],
_mm256_xor_si256
(
c2
[
6295
],
_mm256_xor_si256
(
c2
[
1255
],
_mm256_xor_si256
(
c2
[
1016
],
_mm256_xor_si256
(
c2
[
776
],
_mm256_xor_si256
(
c2
[
770
],
_mm256_xor_si256
(
c2
[
6075
],
_mm256_xor_si256
(
c2
[
5835
],
_mm256_xor_si256
(
c2
[
5356
],
_mm256_xor_si256
(
c2
[
6554
],
_mm256_xor_si256
(
c2
[
6314
],
_mm256_xor_si256
(
c2
[
5835
],
_mm256_xor_si256
(
c2
[
2717
],
_mm256_xor_si256
(
c2
[
2238
],
_mm256_xor_si256
(
c2
[
1779
],
_mm256_xor_si256
(
c2
[
1539
],
_mm256_xor_si256
(
c2
[
1060
],
_mm256_xor_si256
(
c2
[
1061
],
_mm256_xor_si256
(
c2
[
582
],
_mm256_xor_si256
(
c2
[
1781
],
_mm256_xor_si256
(
c2
[
1542
],
_mm256_xor_si256
(
c2
[
1302
],
_mm256_xor_si256
(
c2
[
4684
],
_mm256_xor_si256
(
c2
[
4444
],
_mm256_xor_si256
(
c2
[
3965
],
_mm256_xor_si256
(
c2
[
7323
],
_mm256_xor_si256
(
c2
[
7084
],
_mm256_xor_si256
(
c2
[
6844
],
_mm256_xor_si256
(
c2
[
7347
],
_mm256_xor_si256
(
c2
[
7107
],
_mm256_xor_si256
(
c2
[
6628
],
_mm256_xor_si256
(
c2
[
5426
],
_mm256_xor_si256
(
c2
[
5186
],
_mm256_xor_si256
(
c2
[
4707
],
_mm256_xor_si256
(
c2
[
4229
],
_mm256_xor_si256
(
c2
[
3990
],
_mm256_xor_si256
(
c2
[
3750
],
_mm256_xor_si256
(
c2
[
4495
],
_mm256_xor_si256
(
c2
[
4255
],
_mm256_xor_si256
(
c2
[
3776
],
_mm256_xor_si256
(
c2
[
3053
],
_mm256_xor_si256
(
c2
[
2814
],
_mm256_xor_si256
(
c2
[
2574
],
_mm256_xor_si256
(
c2
[
2332
],
_mm256_xor_si256
(
c2
[
4039
],
_mm256_xor_si256
(
c2
[
3799
],
_mm256_xor_si256
(
c2
[
3320
],
_mm256_xor_si256
(
c2
[
2117
],
_mm256_xor_si256
(
c2
[
1638
],
_mm256_xor_si256
(
c2
[
4514
],
_mm256_xor_si256
(
c2
[
4275
],
_mm256_xor_si256
(
c2
[
4035
],
_mm256_xor_si256
(
c2
[
943
],
_mm256_xor_si256
(
c2
[
703
],
_mm256_xor_si256
(
c2
[
224
],
_mm256_xor_si256
(
c2
[
6457
],
_mm256_xor_si256
(
c2
[
6217
],
_mm256_xor_si256
(
c2
[
5738
],
_mm256_xor_si256
(
c2
[
4063
],
_mm256_xor_si256
(
c2
[
3824
],
c2
[
3584
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
324
]
=
_mm256_xor_si256
(
c2
[
1683
],
c2
[
4465
]);
//row: 28
d2
[
336
]
=
_mm256_xor_si256
(
c2
[
1466
],
_mm256_xor_si256
(
c2
[
3651
],
c2
[
2045
]));
//row: 29
d2
[
348
]
=
_mm256_xor_si256
(
c2
[
3363
],
c2
[
4176
]);
//row: 30
d2
[
360
]
=
_mm256_xor_si256
(
c2
[
5811
],
_mm256_xor_si256
(
c2
[
6364
],
_mm256_xor_si256
(
c2
[
4969
],
c2
[
5977
])));
//row: 31
d2
[
372
]
=
_mm256_xor_si256
(
c2
[
5530
],
_mm256_xor_si256
(
c2
[
966
],
_mm256_xor_si256
(
c2
[
486
],
_mm256_xor_si256
(
c2
[
2432
],
_mm256_xor_si256
(
c2
[
6512
],
_mm256_xor_si256
(
c2
[
4353
],
_mm256_xor_si256
(
c2
[
4113
],
_mm256_xor_si256
(
c2
[
744
],
_mm256_xor_si256
(
c2
[
3658
],
_mm256_xor_si256
(
c2
[
6058
],
_mm256_xor_si256
(
c2
[
5818
],
_mm256_xor_si256
(
c2
[
2719
],
_mm256_xor_si256
(
c2
[
3198
],
_mm256_xor_si256
(
c2
[
7280
],
_mm256_xor_si256
(
c2
[
6102
],
_mm256_xor_si256
(
c2
[
5624
],
_mm256_xor_si256
(
c2
[
6584
],
_mm256_xor_si256
(
c2
[
6344
],
_mm256_xor_si256
(
c2
[
1328
],
_mm256_xor_si256
(
c2
[
4447
],
_mm256_xor_si256
(
c2
[
4207
],
_mm256_xor_si256
(
c2
[
3991
],
_mm256_xor_si256
(
c2
[
2070
],
_mm256_xor_si256
(
c2
[
1353
],
_mm256_xor_si256
(
c2
[
1113
],
_mm256_xor_si256
(
c2
[
1139
],
_mm256_xor_si256
(
c2
[
177
],
_mm256_xor_si256
(
c2
[
7616
],
_mm256_xor_si256
(
c2
[
683
],
_mm256_xor_si256
(
c2
[
6680
],
_mm256_xor_si256
(
c2
[
1638
],
_mm256_xor_si256
(
c2
[
1398
],
_mm256_xor_si256
(
c2
[
5266
],
_mm256_xor_si256
(
c2
[
3101
],
_mm256_xor_si256
(
c2
[
1187
],
c2
[
947
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
384
]
=
_mm256_xor_si256
(
c2
[
7445
],
_mm256_xor_si256
(
c2
[
7205
],
_mm256_xor_si256
(
c2
[
2881
],
_mm256_xor_si256
(
c2
[
2641
],
_mm256_xor_si256
(
c2
[
2161
],
_mm256_xor_si256
(
c2
[
4802
],
_mm256_xor_si256
(
c2
[
4347
],
_mm256_xor_si256
(
c2
[
4107
],
_mm256_xor_si256
(
c2
[
508
],
_mm256_xor_si256
(
c2
[
5788
],
_mm256_xor_si256
(
c2
[
5573
],
_mm256_xor_si256
(
c2
[
5333
],
_mm256_xor_si256
(
c2
[
7493
],
_mm256_xor_si256
(
c2
[
4634
],
_mm256_xor_si256
(
c2
[
4394
],
_mm256_xor_si256
(
c2
[
5113
],
_mm256_xor_si256
(
c2
[
4873
],
_mm256_xor_si256
(
c2
[
1276
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
98
],
_mm256_xor_si256
(
c2
[
7299
],
_mm256_xor_si256
(
c2
[
340
],
_mm256_xor_si256
(
c2
[
3243
],
_mm256_xor_si256
(
c2
[
3003
],
_mm256_xor_si256
(
c2
[
5882
],
_mm256_xor_si256
(
c2
[
2040
],
_mm256_xor_si256
(
c2
[
5906
],
_mm256_xor_si256
(
c2
[
5666
],
_mm256_xor_si256
(
c2
[
3985
],
_mm256_xor_si256
(
c2
[
3745
],
_mm256_xor_si256
(
c2
[
2788
],
_mm256_xor_si256
(
c2
[
3054
],
_mm256_xor_si256
(
c2
[
2814
],
_mm256_xor_si256
(
c2
[
1612
],
_mm256_xor_si256
(
c2
[
2598
],
_mm256_xor_si256
(
c2
[
2358
],
_mm256_xor_si256
(
c2
[
676
],
_mm256_xor_si256
(
c2
[
3073
],
_mm256_xor_si256
(
c2
[
7181
],
_mm256_xor_si256
(
c2
[
6941
],
_mm256_xor_si256
(
c2
[
5016
],
_mm256_xor_si256
(
c2
[
4776
],
c2
[
2622
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
396
]
=
_mm256_xor_si256
(
c2
[
2169
],
_mm256_xor_si256
(
c2
[
5284
],
_mm256_xor_si256
(
c2
[
4804
],
_mm256_xor_si256
(
c2
[
6750
],
_mm256_xor_si256
(
c2
[
3151
],
_mm256_xor_si256
(
c2
[
752
],
_mm256_xor_si256
(
c2
[
297
],
_mm256_xor_si256
(
c2
[
2457
],
_mm256_xor_si256
(
c2
[
1253
],
_mm256_xor_si256
(
c2
[
7037
],
_mm256_xor_si256
(
c2
[
7516
],
_mm256_xor_si256
(
c2
[
3919
],
_mm256_xor_si256
(
c2
[
2741
],
_mm256_xor_si256
(
c2
[
2263
],
_mm256_xor_si256
(
c2
[
2983
],
_mm256_xor_si256
(
c2
[
5646
],
_mm256_xor_si256
(
c2
[
846
],
_mm256_xor_si256
(
c2
[
630
],
_mm256_xor_si256
(
c2
[
6388
],
_mm256_xor_si256
(
c2
[
5431
],
_mm256_xor_si256
(
c2
[
5457
],
_mm256_xor_si256
(
c2
[
4255
],
_mm256_xor_si256
(
c2
[
4733
],
_mm256_xor_si256
(
c2
[
5001
],
_mm256_xor_si256
(
c2
[
3319
],
_mm256_xor_si256
(
c2
[
5716
],
_mm256_xor_si256
(
c2
[
1905
],
_mm256_xor_si256
(
c2
[
7419
],
c2
[
5265
]))))))))))))))))))))))))))));
//row: 34
d2
[
408
]
=
_mm256_xor_si256
(
c2
[
7450
],
_mm256_xor_si256
(
c2
[
7210
],
_mm256_xor_si256
(
c2
[
6005
],
_mm256_xor_si256
(
c2
[
2886
],
_mm256_xor_si256
(
c2
[
2646
],
_mm256_xor_si256
(
c2
[
1441
],
_mm256_xor_si256
(
c2
[
2166
],
_mm256_xor_si256
(
c2
[
961
],
_mm256_xor_si256
(
c2
[
3125
],
_mm256_xor_si256
(
c2
[
4352
],
_mm256_xor_si256
(
c2
[
4112
],
_mm256_xor_si256
(
c2
[
2907
],
_mm256_xor_si256
(
c2
[
513
],
_mm256_xor_si256
(
c2
[
6987
],
_mm256_xor_si256
(
c2
[
5793
],
_mm256_xor_si256
(
c2
[
4828
],
_mm256_xor_si256
(
c2
[
4588
],
_mm256_xor_si256
(
c2
[
5578
],
_mm256_xor_si256
(
c2
[
5338
],
_mm256_xor_si256
(
c2
[
4133
],
_mm256_xor_si256
(
c2
[
7498
],
_mm256_xor_si256
(
c2
[
6533
],
_mm256_xor_si256
(
c2
[
6293
],
_mm256_xor_si256
(
c2
[
4639
],
_mm256_xor_si256
(
c2
[
4399
],
_mm256_xor_si256
(
c2
[
3194
],
_mm256_xor_si256
(
c2
[
5118
],
_mm256_xor_si256
(
c2
[
4878
],
_mm256_xor_si256
(
c2
[
3673
],
_mm256_xor_si256
(
c2
[
1281
],
_mm256_xor_si256
(
c2
[
76
],
_mm256_xor_si256
(
c2
[
343
],
_mm256_xor_si256
(
c2
[
103
],
_mm256_xor_si256
(
c2
[
6577
],
_mm256_xor_si256
(
c2
[
7304
],
_mm256_xor_si256
(
c2
[
6099
],
_mm256_xor_si256
(
c2
[
345
],
_mm256_xor_si256
(
c2
[
7059
],
_mm256_xor_si256
(
c2
[
6819
],
_mm256_xor_si256
(
c2
[
3248
],
_mm256_xor_si256
(
c2
[
3008
],
_mm256_xor_si256
(
c2
[
1803
],
_mm256_xor_si256
(
c2
[
5887
],
_mm256_xor_si256
(
c2
[
4922
],
_mm256_xor_si256
(
c2
[
4682
],
_mm256_xor_si256
(
c2
[
5911
],
_mm256_xor_si256
(
c2
[
5671
],
_mm256_xor_si256
(
c2
[
4466
],
_mm256_xor_si256
(
c2
[
3990
],
_mm256_xor_si256
(
c2
[
3750
],
_mm256_xor_si256
(
c2
[
2545
],
_mm256_xor_si256
(
c2
[
2793
],
_mm256_xor_si256
(
c2
[
1828
],
_mm256_xor_si256
(
c2
[
1588
],
_mm256_xor_si256
(
c2
[
3059
],
_mm256_xor_si256
(
c2
[
2819
],
_mm256_xor_si256
(
c2
[
1614
],
_mm256_xor_si256
(
c2
[
1617
],
_mm256_xor_si256
(
c2
[
652
],
_mm256_xor_si256
(
c2
[
412
],
_mm256_xor_si256
(
c2
[
2603
],
_mm256_xor_si256
(
c2
[
2363
],
_mm256_xor_si256
(
c2
[
1158
],
_mm256_xor_si256
(
c2
[
681
],
_mm256_xor_si256
(
c2
[
7155
],
_mm256_xor_si256
(
c2
[
3078
],
_mm256_xor_si256
(
c2
[
2113
],
_mm256_xor_si256
(
c2
[
1873
],
_mm256_xor_si256
(
c2
[
7186
],
_mm256_xor_si256
(
c2
[
6946
],
_mm256_xor_si256
(
c2
[
5741
],
_mm256_xor_si256
(
c2
[
5021
],
_mm256_xor_si256
(
c2
[
4781
],
_mm256_xor_si256
(
c2
[
3576
],
_mm256_xor_si256
(
c2
[
2627
],
_mm256_xor_si256
(
c2
[
1662
],
c2
[
1422
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
420
]
=
_mm256_xor_si256
(
c2
[
6
],
_mm256_xor_si256
(
c2
[
7445
],
_mm256_xor_si256
(
c2
[
2881
],
_mm256_xor_si256
(
c2
[
2401
],
_mm256_xor_si256
(
c2
[
4587
],
_mm256_xor_si256
(
c2
[
4347
],
_mm256_xor_si256
(
c2
[
748
],
_mm256_xor_si256
(
c2
[
6028
],
_mm256_xor_si256
(
c2
[
3146
],
_mm256_xor_si256
(
c2
[
5813
],
_mm256_xor_si256
(
c2
[
5573
],
_mm256_xor_si256
(
c2
[
54
],
_mm256_xor_si256
(
c2
[
4874
],
_mm256_xor_si256
(
c2
[
4634
],
_mm256_xor_si256
(
c2
[
5113
],
_mm256_xor_si256
(
c2
[
1516
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
7539
],
_mm256_xor_si256
(
c2
[
580
],
_mm256_xor_si256
(
c2
[
3243
],
_mm256_xor_si256
(
c2
[
6122
],
_mm256_xor_si256
(
c2
[
5885
],
_mm256_xor_si256
(
c2
[
6146
],
_mm256_xor_si256
(
c2
[
5906
],
_mm256_xor_si256
(
c2
[
3985
],
_mm256_xor_si256
(
c2
[
3028
],
_mm256_xor_si256
(
c2
[
3054
],
_mm256_xor_si256
(
c2
[
1852
],
_mm256_xor_si256
(
c2
[
2598
],
_mm256_xor_si256
(
c2
[
916
],
_mm256_xor_si256
(
c2
[
3313
],
_mm256_xor_si256
(
c2
[
7421
],
_mm256_xor_si256
(
c2
[
7181
],
_mm256_xor_si256
(
c2
[
5016
],
c2
[
2862
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
432
]
=
_mm256_xor_si256
(
c2
[
6000
],
_mm256_xor_si256
(
c2
[
5572
],
c2
[
2573
]));
//row: 37
d2
[
444
]
=
_mm256_xor_si256
(
c2
[
4326
],
_mm256_xor_si256
(
c2
[
2886
],
_mm256_xor_si256
(
c2
[
7441
],
_mm256_xor_si256
(
c2
[
6001
],
_mm256_xor_si256
(
c2
[
6961
],
_mm256_xor_si256
(
c2
[
5521
],
_mm256_xor_si256
(
c2
[
1228
],
_mm256_xor_si256
(
c2
[
7467
],
_mm256_xor_si256
(
c2
[
5308
],
_mm256_xor_si256
(
c2
[
3868
],
_mm256_xor_si256
(
c2
[
2909
],
_mm256_xor_si256
(
c2
[
1709
],
_mm256_xor_si256
(
c2
[
1469
],
_mm256_xor_si256
(
c2
[
2454
],
_mm256_xor_si256
(
c2
[
1014
],
_mm256_xor_si256
(
c2
[
4614
],
_mm256_xor_si256
(
c2
[
3414
],
_mm256_xor_si256
(
c2
[
3174
],
_mm256_xor_si256
(
c2
[
1515
],
_mm256_xor_si256
(
c2
[
75
],
_mm256_xor_si256
(
c2
[
1994
],
_mm256_xor_si256
(
c2
[
554
],
_mm256_xor_si256
(
c2
[
6076
],
_mm256_xor_si256
(
c2
[
4636
],
_mm256_xor_si256
(
c2
[
4898
],
_mm256_xor_si256
(
c2
[
3458
],
_mm256_xor_si256
(
c2
[
4420
],
_mm256_xor_si256
(
c2
[
2980
],
_mm256_xor_si256
(
c2
[
5140
],
_mm256_xor_si256
(
c2
[
3940
],
_mm256_xor_si256
(
c2
[
3700
],
_mm256_xor_si256
(
c2
[
124
],
_mm256_xor_si256
(
c2
[
6363
],
_mm256_xor_si256
(
c2
[
3003
],
_mm256_xor_si256
(
c2
[
1803
],
_mm256_xor_si256
(
c2
[
1563
],
_mm256_xor_si256
(
c2
[
2787
],
_mm256_xor_si256
(
c2
[
1347
],
_mm256_xor_si256
(
c2
[
866
],
_mm256_xor_si256
(
c2
[
7105
],
_mm256_xor_si256
(
c2
[
7588
],
_mm256_xor_si256
(
c2
[
6388
],
_mm256_xor_si256
(
c2
[
6148
],
_mm256_xor_si256
(
c2
[
7614
],
_mm256_xor_si256
(
c2
[
6174
],
_mm256_xor_si256
(
c2
[
6412
],
_mm256_xor_si256
(
c2
[
5212
],
_mm256_xor_si256
(
c2
[
4972
],
_mm256_xor_si256
(
c2
[
7158
],
_mm256_xor_si256
(
c2
[
5718
],
_mm256_xor_si256
(
c2
[
5476
],
_mm256_xor_si256
(
c2
[
4036
],
_mm256_xor_si256
(
c2
[
194
],
_mm256_xor_si256
(
c2
[
6673
],
_mm256_xor_si256
(
c2
[
6433
],
_mm256_xor_si256
(
c2
[
4062
],
_mm256_xor_si256
(
c2
[
2622
],
_mm256_xor_si256
(
c2
[
1897
],
_mm256_xor_si256
(
c2
[
457
],
_mm256_xor_si256
(
c2
[
7422
],
_mm256_xor_si256
(
c2
[
6222
],
c2
[
5982
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
456
]
=
_mm256_xor_si256
(
c2
[
2891
],
_mm256_xor_si256
(
c2
[
2651
],
_mm256_xor_si256
(
c2
[
5766
],
_mm256_xor_si256
(
c2
[
5286
],
_mm256_xor_si256
(
c2
[
7472
],
_mm256_xor_si256
(
c2
[
7232
],
_mm256_xor_si256
(
c2
[
3633
],
_mm256_xor_si256
(
c2
[
1234
],
_mm256_xor_si256
(
c2
[
4826
],
_mm256_xor_si256
(
c2
[
1019
],
_mm256_xor_si256
(
c2
[
779
],
_mm256_xor_si256
(
c2
[
2939
],
_mm256_xor_si256
(
c2
[
80
],
_mm256_xor_si256
(
c2
[
7519
],
_mm256_xor_si256
(
c2
[
319
],
_mm256_xor_si256
(
c2
[
4401
],
_mm256_xor_si256
(
c2
[
3223
],
_mm256_xor_si256
(
c2
[
2745
],
_mm256_xor_si256
(
c2
[
3465
],
_mm256_xor_si256
(
c2
[
6128
],
_mm256_xor_si256
(
c2
[
1328
],
_mm256_xor_si256
(
c2
[
5644
],
_mm256_xor_si256
(
c2
[
1352
],
_mm256_xor_si256
(
c2
[
1112
],
_mm256_xor_si256
(
c2
[
6870
],
_mm256_xor_si256
(
c2
[
5913
],
_mm256_xor_si256
(
c2
[
5939
],
_mm256_xor_si256
(
c2
[
4737
],
_mm256_xor_si256
(
c2
[
5483
],
_mm256_xor_si256
(
c2
[
3801
],
_mm256_xor_si256
(
c2
[
6198
],
_mm256_xor_si256
(
c2
[
2627
],
_mm256_xor_si256
(
c2
[
2387
],
_mm256_xor_si256
(
c2
[
222
],
c2
[
5747
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
468
]
=
_mm256_xor_si256
(
c2
[
1687
],
_mm256_xor_si256
(
c2
[
1447
],
_mm256_xor_si256
(
c2
[
4802
],
_mm256_xor_si256
(
c2
[
4562
],
_mm256_xor_si256
(
c2
[
4082
],
_mm256_xor_si256
(
c2
[
6962
],
_mm256_xor_si256
(
c2
[
6268
],
_mm256_xor_si256
(
c2
[
6028
],
_mm256_xor_si256
(
c2
[
2429
],
_mm256_xor_si256
(
c2
[
30
],
_mm256_xor_si256
(
c2
[
7494
],
_mm256_xor_si256
(
c2
[
7254
],
_mm256_xor_si256
(
c2
[
1735
],
_mm256_xor_si256
(
c2
[
6555
],
_mm256_xor_si256
(
c2
[
6315
],
_mm256_xor_si256
(
c2
[
7034
],
_mm256_xor_si256
(
c2
[
6794
],
_mm256_xor_si256
(
c2
[
3197
],
_mm256_xor_si256
(
c2
[
2259
],
_mm256_xor_si256
(
c2
[
2019
],
_mm256_xor_si256
(
c2
[
1541
],
_mm256_xor_si256
(
c2
[
2261
],
_mm256_xor_si256
(
c2
[
5164
],
_mm256_xor_si256
(
c2
[
4924
],
_mm256_xor_si256
(
c2
[
124
],
_mm256_xor_si256
(
c2
[
148
],
_mm256_xor_si256
(
c2
[
7587
],
_mm256_xor_si256
(
c2
[
5906
],
_mm256_xor_si256
(
c2
[
5666
],
_mm256_xor_si256
(
c2
[
4709
],
_mm256_xor_si256
(
c2
[
4975
],
_mm256_xor_si256
(
c2
[
4735
],
_mm256_xor_si256
(
c2
[
3533
],
_mm256_xor_si256
(
c2
[
1132
],
_mm256_xor_si256
(
c2
[
4519
],
_mm256_xor_si256
(
c2
[
4279
],
_mm256_xor_si256
(
c2
[
2597
],
_mm256_xor_si256
(
c2
[
4994
],
_mm256_xor_si256
(
c2
[
1423
],
_mm256_xor_si256
(
c2
[
1183
],
_mm256_xor_si256
(
c2
[
6937
],
_mm256_xor_si256
(
c2
[
6697
],
c2
[
4543
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
480
]
=
_mm256_xor_si256
(
c2
[
5768
],
_mm256_xor_si256
(
c2
[
3850
],
_mm256_xor_si256
(
c2
[
1204
],
_mm256_xor_si256
(
c2
[
6965
],
_mm256_xor_si256
(
c2
[
724
],
_mm256_xor_si256
(
c2
[
6485
],
_mm256_xor_si256
(
c2
[
2670
],
_mm256_xor_si256
(
c2
[
752
],
_mm256_xor_si256
(
c2
[
6750
],
_mm256_xor_si256
(
c2
[
4832
],
_mm256_xor_si256
(
c2
[
4351
],
_mm256_xor_si256
(
c2
[
2673
],
_mm256_xor_si256
(
c2
[
2433
],
_mm256_xor_si256
(
c2
[
3896
],
_mm256_xor_si256
(
c2
[
1978
],
_mm256_xor_si256
(
c2
[
6056
],
_mm256_xor_si256
(
c2
[
4378
],
_mm256_xor_si256
(
c2
[
4138
],
_mm256_xor_si256
(
c2
[
1731
],
_mm256_xor_si256
(
c2
[
2957
],
_mm256_xor_si256
(
c2
[
1039
],
_mm256_xor_si256
(
c2
[
3436
],
_mm256_xor_si256
(
c2
[
1518
],
_mm256_xor_si256
(
c2
[
7518
],
_mm256_xor_si256
(
c2
[
5600
],
_mm256_xor_si256
(
c2
[
6340
],
_mm256_xor_si256
(
c2
[
4422
],
_mm256_xor_si256
(
c2
[
5862
],
_mm256_xor_si256
(
c2
[
3944
],
_mm256_xor_si256
(
c2
[
6582
],
_mm256_xor_si256
(
c2
[
4904
],
_mm256_xor_si256
(
c2
[
4664
],
_mm256_xor_si256
(
c2
[
1566
],
_mm256_xor_si256
(
c2
[
7327
],
_mm256_xor_si256
(
c2
[
4445
],
_mm256_xor_si256
(
c2
[
2767
],
_mm256_xor_si256
(
c2
[
2527
],
_mm256_xor_si256
(
c2
[
4229
],
_mm256_xor_si256
(
c2
[
2311
],
_mm256_xor_si256
(
c2
[
2308
],
_mm256_xor_si256
(
c2
[
390
],
_mm256_xor_si256
(
c2
[
1351
],
_mm256_xor_si256
(
c2
[
7352
],
_mm256_xor_si256
(
c2
[
7112
],
_mm256_xor_si256
(
c2
[
1377
],
_mm256_xor_si256
(
c2
[
7138
],
_mm256_xor_si256
(
c2
[
175
],
_mm256_xor_si256
(
c2
[
6176
],
_mm256_xor_si256
(
c2
[
5936
],
_mm256_xor_si256
(
c2
[
921
],
_mm256_xor_si256
(
c2
[
6682
],
_mm256_xor_si256
(
c2
[
6918
],
_mm256_xor_si256
(
c2
[
5000
],
_mm256_xor_si256
(
c2
[
1636
],
_mm256_xor_si256
(
c2
[
7637
],
_mm256_xor_si256
(
c2
[
7397
],
_mm256_xor_si256
(
c2
[
5504
],
_mm256_xor_si256
(
c2
[
3586
],
_mm256_xor_si256
(
c2
[
3339
],
_mm256_xor_si256
(
c2
[
1421
],
_mm256_xor_si256
(
c2
[
1185
],
_mm256_xor_si256
(
c2
[
7186
],
c2
[
6946
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
492
]
=
_mm256_xor_si256
(
c2
[
2407
],
_mm256_xor_si256
(
c2
[
2167
],
_mm256_xor_si256
(
c2
[
5282
],
_mm256_xor_si256
(
c2
[
4802
],
_mm256_xor_si256
(
c2
[
6988
],
_mm256_xor_si256
(
c2
[
6748
],
_mm256_xor_si256
(
c2
[
3149
],
_mm256_xor_si256
(
c2
[
750
],
_mm256_xor_si256
(
c2
[
4588
],
_mm256_xor_si256
(
c2
[
535
],
_mm256_xor_si256
(
c2
[
295
],
_mm256_xor_si256
(
c2
[
2455
],
_mm256_xor_si256
(
c2
[
7275
],
_mm256_xor_si256
(
c2
[
7035
],
_mm256_xor_si256
(
c2
[
7514
],
_mm256_xor_si256
(
c2
[
3917
],
_mm256_xor_si256
(
c2
[
2739
],
_mm256_xor_si256
(
c2
[
2261
],
_mm256_xor_si256
(
c2
[
2981
],
_mm256_xor_si256
(
c2
[
5644
],
_mm256_xor_si256
(
c2
[
844
],
_mm256_xor_si256
(
c2
[
1800
],
_mm256_xor_si256
(
c2
[
868
],
_mm256_xor_si256
(
c2
[
628
],
_mm256_xor_si256
(
c2
[
6386
],
_mm256_xor_si256
(
c2
[
5429
],
_mm256_xor_si256
(
c2
[
5455
],
_mm256_xor_si256
(
c2
[
4253
],
_mm256_xor_si256
(
c2
[
4999
],
_mm256_xor_si256
(
c2
[
3317
],
_mm256_xor_si256
(
c2
[
5714
],
_mm256_xor_si256
(
c2
[
2143
],
_mm256_xor_si256
(
c2
[
1903
],
_mm256_xor_si256
(
c2
[
7417
],
c2
[
5263
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc4_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
#define scalar_xor(a,b) ((a)^(b))
// generated code for Zc=4, byte encoding
static
inline
void
ldpc_BG2_Zc4_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
uint8_t
*
csimd
=
(
uint8_t
*
)
c
,
*
dsimd
=
(
uint8_t
*
)
d
;
uint8_t
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
4
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
75
],
c2
[
75
]))))))))))))))))))))))))));
//row: 1
d2
[
4
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
73
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
75
],
c2
[
75
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
8
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
73
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
75
],
c2
[
75
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
12
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
72
],
c2
[
75
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
16
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
74
],
c2
[
74
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
20
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
74
],
c2
[
74
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
24
]
=
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
73
],
scalar_xor
(
c2
[
73
],
c2
[
72
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
28
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
74
],
c2
[
75
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
32
]
=
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
73
],
c2
[
73
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
36
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
73
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
72
],
c2
[
74
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
40
]
=
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
48
],
c2
[
57
])));
//row: 11
d2
[
44
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
75
],
c2
[
74
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
48
]
=
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
73
],
c2
[
73
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
52
]
=
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
73
],
scalar_xor
(
c2
[
74
],
c2
[
73
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
56
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
74
],
c2
[
75
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
60
]
=
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
73
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
74
],
c2
[
72
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
64
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
73
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
73
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
73
],
c2
[
74
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
68
]
=
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
73
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
73
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
73
],
c2
[
75
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
72
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
50
],
c2
[
58
]));
//row: 19
d2
[
76
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
73
],
scalar_xor
(
c2
[
72
],
c2
[
72
]))))))))))))))))))))))))))));
//row: 20
d2
[
80
]
=
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
73
],
scalar_xor
(
c2
[
72
],
c2
[
72
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
84
]
=
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
73
],
scalar_xor
(
c2
[
74
],
c2
[
73
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
88
]
=
scalar_xor
(
c2
[
10
],
c2
[
19
]);
//row: 23
d2
[
92
]
=
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
27
],
c2
[
42
]));
//row: 24
d2
[
96
]
=
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
19
],
c2
[
72
]));
//row: 25
d2
[
100
]
=
scalar_xor
(
c2
[
0
],
c2
[
40
]);
//row: 26
d2
[
104
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
73
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
73
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
75
],
c2
[
73
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
108
]
=
scalar_xor
(
c2
[
0
],
c2
[
51
]);
//row: 28
d2
[
112
]
=
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
17
],
c2
[
43
]));
//row: 29
d2
[
116
]
=
scalar_xor
(
c2
[
2
],
c2
[
32
]);
//row: 30
d2
[
120
]
=
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
57
],
c2
[
72
])));
//row: 31
d2
[
124
]
=
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
73
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
73
],
c2
[
72
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
128
]
=
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
73
],
c2
[
73
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
132
]
=
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
74
],
c2
[
74
]))))))))))))))))))))))))))));
//row: 34
d2
[
136
]
=
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
73
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
73
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
72
],
c2
[
75
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
140
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
74
],
c2
[
74
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
144
]
=
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
18
],
c2
[
58
]));
//row: 37
d2
[
148
]
=
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
74
],
c2
[
74
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
152
]
=
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
73
],
c2
[
73
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
156
]
=
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
73
],
c2
[
73
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
160
]
=
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
1
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
8
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
16
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
26
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
32
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
40
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
43
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
49
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
48
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
58
],
scalar_xor
(
c2
[
56
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
66
],
scalar_xor
(
c2
[
64
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
72
],
scalar_xor
(
c2
[
74
],
c2
[
75
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
164
]
=
scalar_xor
(
c2
[
3
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
0
],
scalar_xor
(
c2
[
2
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
10
],
scalar_xor
(
c2
[
11
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
9
],
scalar_xor
(
c2
[
18
],
scalar_xor
(
c2
[
17
],
scalar_xor
(
c2
[
19
],
scalar_xor
(
c2
[
24
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
27
],
scalar_xor
(
c2
[
25
],
scalar_xor
(
c2
[
34
],
scalar_xor
(
c2
[
33
],
scalar_xor
(
c2
[
35
],
scalar_xor
(
c2
[
42
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
41
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
51
],
scalar_xor
(
c2
[
50
],
scalar_xor
(
c2
[
57
],
scalar_xor
(
c2
[
59
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
65
],
scalar_xor
(
c2
[
67
],
scalar_xor
(
c2
[
75
],
scalar_xor
(
c2
[
74
],
scalar_xor
(
c2
[
73
],
c2
[
73
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc64_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=64, byte encoding
static
inline
void
ldpc_BG2_Zc64_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m256i
*
csimd
=
(
__m256i
*
)
c
,
*
dsimd
=
(
__m256i
*
)
d
;
__m256i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
2
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
193
],
_mm256_xor_si256
(
c2
[
512
],
_mm256_xor_si256
(
c2
[
645
],
_mm256_xor_si256
(
c2
[
549
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
809
],
_mm256_xor_si256
(
c2
[
812
],
_mm256_xor_si256
(
c2
[
173
],
_mm256_xor_si256
(
c2
[
365
],
_mm256_xor_si256
(
c2
[
913
],
_mm256_xor_si256
(
c2
[
625
],
_mm256_xor_si256
(
c2
[
944
],
_mm256_xor_si256
(
c2
[
917
],
_mm256_xor_si256
(
c2
[
245
],
_mm256_xor_si256
(
c2
[
921
],
_mm256_xor_si256
(
c2
[
57
],
_mm256_xor_si256
(
c2
[
536
],
_mm256_xor_si256
(
c2
[
892
],
_mm256_xor_si256
(
c2
[
701
],
_mm256_xor_si256
(
c2
[
1024
],
_mm256_xor_si256
(
c2
[
513
],
_mm256_xor_si256
(
c2
[
576
],
_mm256_xor_si256
(
c2
[
420
],
_mm256_xor_si256
(
c2
[
901
],
c2
[
1029
]))))))))))))))))))))))))));
//row: 1
d2
[
2
]
=
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
193
],
_mm256_xor_si256
(
c2
[
512
],
_mm256_xor_si256
(
c2
[
677
],
_mm256_xor_si256
(
c2
[
645
],
_mm256_xor_si256
(
c2
[
549
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
392
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
809
],
_mm256_xor_si256
(
c2
[
844
],
_mm256_xor_si256
(
c2
[
812
],
_mm256_xor_si256
(
c2
[
173
],
_mm256_xor_si256
(
c2
[
365
],
_mm256_xor_si256
(
c2
[
913
],
_mm256_xor_si256
(
c2
[
625
],
_mm256_xor_si256
(
c2
[
944
],
_mm256_xor_si256
(
c2
[
917
],
_mm256_xor_si256
(
c2
[
245
],
_mm256_xor_si256
(
c2
[
953
],
_mm256_xor_si256
(
c2
[
921
],
_mm256_xor_si256
(
c2
[
57
],
_mm256_xor_si256
(
c2
[
536
],
_mm256_xor_si256
(
c2
[
892
],
_mm256_xor_si256
(
c2
[
701
],
_mm256_xor_si256
(
c2
[
1024
],
_mm256_xor_si256
(
c2
[
513
],
_mm256_xor_si256
(
c2
[
576
],
_mm256_xor_si256
(
c2
[
452
],
_mm256_xor_si256
(
c2
[
420
],
_mm256_xor_si256
(
c2
[
901
],
c2
[
1029
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
4
]
=
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
225
],
_mm256_xor_si256
(
c2
[
193
],
_mm256_xor_si256
(
c2
[
512
],
_mm256_xor_si256
(
c2
[
677
],
_mm256_xor_si256
(
c2
[
645
],
_mm256_xor_si256
(
c2
[
549
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
392
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
809
],
_mm256_xor_si256
(
c2
[
844
],
_mm256_xor_si256
(
c2
[
812
],
_mm256_xor_si256
(
c2
[
205
],
_mm256_xor_si256
(
c2
[
173
],
_mm256_xor_si256
(
c2
[
365
],
_mm256_xor_si256
(
c2
[
945
],
_mm256_xor_si256
(
c2
[
913
],
_mm256_xor_si256
(
c2
[
625
],
_mm256_xor_si256
(
c2
[
944
],
_mm256_xor_si256
(
c2
[
949
],
_mm256_xor_si256
(
c2
[
917
],
_mm256_xor_si256
(
c2
[
245
],
_mm256_xor_si256
(
c2
[
953
],
_mm256_xor_si256
(
c2
[
921
],
_mm256_xor_si256
(
c2
[
89
],
_mm256_xor_si256
(
c2
[
57
],
_mm256_xor_si256
(
c2
[
536
],
_mm256_xor_si256
(
c2
[
924
],
_mm256_xor_si256
(
c2
[
892
],
_mm256_xor_si256
(
c2
[
701
],
_mm256_xor_si256
(
c2
[
33
],
_mm256_xor_si256
(
c2
[
1024
],
_mm256_xor_si256
(
c2
[
513
],
_mm256_xor_si256
(
c2
[
576
],
_mm256_xor_si256
(
c2
[
452
],
_mm256_xor_si256
(
c2
[
420
],
_mm256_xor_si256
(
c2
[
933
],
_mm256_xor_si256
(
c2
[
901
],
c2
[
1029
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
6
]
=
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
193
],
_mm256_xor_si256
(
c2
[
512
],
_mm256_xor_si256
(
c2
[
645
],
_mm256_xor_si256
(
c2
[
549
],
_mm256_xor_si256
(
c2
[
260
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
841
],
_mm256_xor_si256
(
c2
[
809
],
_mm256_xor_si256
(
c2
[
812
],
_mm256_xor_si256
(
c2
[
173
],
_mm256_xor_si256
(
c2
[
365
],
_mm256_xor_si256
(
c2
[
913
],
_mm256_xor_si256
(
c2
[
625
],
_mm256_xor_si256
(
c2
[
976
],
_mm256_xor_si256
(
c2
[
944
],
_mm256_xor_si256
(
c2
[
917
],
_mm256_xor_si256
(
c2
[
277
],
_mm256_xor_si256
(
c2
[
245
],
_mm256_xor_si256
(
c2
[
921
],
_mm256_xor_si256
(
c2
[
57
],
_mm256_xor_si256
(
c2
[
568
],
_mm256_xor_si256
(
c2
[
536
],
_mm256_xor_si256
(
c2
[
892
],
_mm256_xor_si256
(
c2
[
733
],
_mm256_xor_si256
(
c2
[
701
],
_mm256_xor_si256
(
c2
[
1024
],
_mm256_xor_si256
(
c2
[
513
],
_mm256_xor_si256
(
c2
[
608
],
_mm256_xor_si256
(
c2
[
576
],
_mm256_xor_si256
(
c2
[
420
],
_mm256_xor_si256
(
c2
[
901
],
_mm256_xor_si256
(
c2
[
36
],
c2
[
1029
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
8
]
=
_mm256_xor_si256
(
c2
[
512
],
_mm256_xor_si256
(
c2
[
480
],
_mm256_xor_si256
(
c2
[
417
],
_mm256_xor_si256
(
c2
[
736
],
_mm256_xor_si256
(
c2
[
609
],
_mm256_xor_si256
(
c2
[
901
],
_mm256_xor_si256
(
c2
[
869
],
_mm256_xor_si256
(
c2
[
773
],
_mm256_xor_si256
(
c2
[
452
],
_mm256_xor_si256
(
c2
[
708
],
_mm256_xor_si256
(
c2
[
616
],
_mm256_xor_si256
(
c2
[
584
],
_mm256_xor_si256
(
c2
[
8
],
_mm256_xor_si256
(
c2
[
45
],
_mm256_xor_si256
(
c2
[
13
],
_mm256_xor_si256
(
c2
[
397
],
_mm256_xor_si256
(
c2
[
589
],
_mm256_xor_si256
(
c2
[
112
],
_mm256_xor_si256
(
c2
[
849
],
_mm256_xor_si256
(
c2
[
145
],
_mm256_xor_si256
(
c2
[
116
],
_mm256_xor_si256
(
c2
[
469
],
_mm256_xor_si256
(
c2
[
152
],
_mm256_xor_si256
(
c2
[
120
],
_mm256_xor_si256
(
c2
[
281
],
_mm256_xor_si256
(
c2
[
760
],
_mm256_xor_si256
(
c2
[
93
],
_mm256_xor_si256
(
c2
[
925
],
_mm256_xor_si256
(
c2
[
225
],
_mm256_xor_si256
(
c2
[
737
],
_mm256_xor_si256
(
c2
[
800
],
_mm256_xor_si256
(
c2
[
676
],
_mm256_xor_si256
(
c2
[
644
],
_mm256_xor_si256
(
c2
[
100
],
c2
[
228
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
10
]
=
_mm256_xor_si256
(
c2
[
513
],
_mm256_xor_si256
(
c2
[
481
],
_mm256_xor_si256
(
c2
[
416
],
_mm256_xor_si256
(
c2
[
737
],
_mm256_xor_si256
(
c2
[
225
],
_mm256_xor_si256
(
c2
[
900
],
_mm256_xor_si256
(
c2
[
868
],
_mm256_xor_si256
(
c2
[
772
],
_mm256_xor_si256
(
c2
[
453
],
_mm256_xor_si256
(
c2
[
293
],
_mm256_xor_si256
(
c2
[
617
],
_mm256_xor_si256
(
c2
[
585
],
_mm256_xor_si256
(
c2
[
9
],
_mm256_xor_si256
(
c2
[
44
],
_mm256_xor_si256
(
c2
[
12
],
_mm256_xor_si256
(
c2
[
396
],
_mm256_xor_si256
(
c2
[
588
],
_mm256_xor_si256
(
c2
[
113
],
_mm256_xor_si256
(
c2
[
848
],
_mm256_xor_si256
(
c2
[
144
],
_mm256_xor_si256
(
c2
[
117
],
_mm256_xor_si256
(
c2
[
468
],
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
153
],
_mm256_xor_si256
(
c2
[
121
],
_mm256_xor_si256
(
c2
[
280
],
_mm256_xor_si256
(
c2
[
761
],
_mm256_xor_si256
(
c2
[
92
],
_mm256_xor_si256
(
c2
[
924
],
_mm256_xor_si256
(
c2
[
1020
],
_mm256_xor_si256
(
c2
[
224
],
_mm256_xor_si256
(
c2
[
736
],
_mm256_xor_si256
(
c2
[
801
],
_mm256_xor_si256
(
c2
[
677
],
_mm256_xor_si256
(
c2
[
645
],
_mm256_xor_si256
(
c2
[
101
],
c2
[
229
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
12
]
=
_mm256_xor_si256
(
c2
[
225
],
_mm256_xor_si256
(
c2
[
193
],
_mm256_xor_si256
(
c2
[
128
],
_mm256_xor_si256
(
c2
[
449
],
_mm256_xor_si256
(
c2
[
864
],
_mm256_xor_si256
(
c2
[
612
],
_mm256_xor_si256
(
c2
[
580
],
_mm256_xor_si256
(
c2
[
484
],
_mm256_xor_si256
(
c2
[
165
],
_mm256_xor_si256
(
c2
[
329
],
_mm256_xor_si256
(
c2
[
297
],
_mm256_xor_si256
(
c2
[
744
],
_mm256_xor_si256
(
c2
[
781
],
_mm256_xor_si256
(
c2
[
749
],
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
300
],
_mm256_xor_si256
(
c2
[
848
],
_mm256_xor_si256
(
c2
[
560
],
_mm256_xor_si256
(
c2
[
881
],
_mm256_xor_si256
(
c2
[
852
],
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
149
],
_mm256_xor_si256
(
c2
[
888
],
_mm256_xor_si256
(
c2
[
856
],
_mm256_xor_si256
(
c2
[
1017
],
_mm256_xor_si256
(
c2
[
473
],
_mm256_xor_si256
(
c2
[
829
],
_mm256_xor_si256
(
c2
[
636
],
_mm256_xor_si256
(
c2
[
445
],
_mm256_xor_si256
(
c2
[
961
],
_mm256_xor_si256
(
c2
[
448
],
_mm256_xor_si256
(
c2
[
513
],
_mm256_xor_si256
(
c2
[
389
],
_mm256_xor_si256
(
c2
[
357
],
_mm256_xor_si256
(
c2
[
836
],
_mm256_xor_si256
(
c2
[
964
],
c2
[
932
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
14
]
=
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
897
],
_mm256_xor_si256
(
c2
[
289
],
_mm256_xor_si256
(
c2
[
832
],
_mm256_xor_si256
(
c2
[
608
],
_mm256_xor_si256
(
c2
[
128
],
_mm256_xor_si256
(
c2
[
773
],
_mm256_xor_si256
(
c2
[
741
],
_mm256_xor_si256
(
c2
[
261
],
_mm256_xor_si256
(
c2
[
645
],
_mm256_xor_si256
(
c2
[
165
],
_mm256_xor_si256
(
c2
[
901
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
869
],
_mm256_xor_si256
(
c2
[
36
],
_mm256_xor_si256
(
c2
[
488
],
_mm256_xor_si256
(
c2
[
456
],
_mm256_xor_si256
(
c2
[
1001
],
_mm256_xor_si256
(
c2
[
457
],
_mm256_xor_si256
(
c2
[
905
],
_mm256_xor_si256
(
c2
[
425
],
_mm256_xor_si256
(
c2
[
940
],
_mm256_xor_si256
(
c2
[
908
],
_mm256_xor_si256
(
c2
[
428
],
_mm256_xor_si256
(
c2
[
269
],
_mm256_xor_si256
(
c2
[
812
],
_mm256_xor_si256
(
c2
[
461
],
_mm256_xor_si256
(
c2
[
1004
],
_mm256_xor_si256
(
c2
[
1009
],
_mm256_xor_si256
(
c2
[
529
],
_mm256_xor_si256
(
c2
[
721
],
_mm256_xor_si256
(
c2
[
241
],
_mm256_xor_si256
(
c2
[
592
],
_mm256_xor_si256
(
c2
[
17
],
_mm256_xor_si256
(
c2
[
560
],
_mm256_xor_si256
(
c2
[
1013
],
_mm256_xor_si256
(
c2
[
533
],
_mm256_xor_si256
(
c2
[
916
],
_mm256_xor_si256
(
c2
[
341
],
_mm256_xor_si256
(
c2
[
884
],
_mm256_xor_si256
(
c2
[
628
],
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
1017
],
_mm256_xor_si256
(
c2
[
537
],
_mm256_xor_si256
(
c2
[
153
],
_mm256_xor_si256
(
c2
[
696
],
_mm256_xor_si256
(
c2
[
184
],
_mm256_xor_si256
(
c2
[
632
],
_mm256_xor_si256
(
c2
[
152
],
_mm256_xor_si256
(
c2
[
988
],
_mm256_xor_si256
(
c2
[
508
],
_mm256_xor_si256
(
c2
[
349
],
_mm256_xor_si256
(
c2
[
797
],
_mm256_xor_si256
(
c2
[
317
],
_mm256_xor_si256
(
c2
[
412
],
_mm256_xor_si256
(
c2
[
97
],
_mm256_xor_si256
(
c2
[
640
],
_mm256_xor_si256
(
c2
[
609
],
_mm256_xor_si256
(
c2
[
129
],
_mm256_xor_si256
(
c2
[
224
],
_mm256_xor_si256
(
c2
[
672
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
548
],
_mm256_xor_si256
(
c2
[
516
],
_mm256_xor_si256
(
c2
[
36
],
_mm256_xor_si256
(
c2
[
997
],
_mm256_xor_si256
(
c2
[
517
],
_mm256_xor_si256
(
c2
[
677
],
_mm256_xor_si256
(
c2
[
100
],
c2
[
645
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
16
]
=
_mm256_xor_si256
(
c2
[
481
],
_mm256_xor_si256
(
c2
[
449
],
_mm256_xor_si256
(
c2
[
416
],
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
705
],
_mm256_xor_si256
(
c2
[
448
],
_mm256_xor_si256
(
c2
[
868
],
_mm256_xor_si256
(
c2
[
836
],
_mm256_xor_si256
(
c2
[
740
],
_mm256_xor_si256
(
c2
[
421
],
_mm256_xor_si256
(
c2
[
964
],
_mm256_xor_si256
(
c2
[
585
],
_mm256_xor_si256
(
c2
[
553
],
_mm256_xor_si256
(
c2
[
1000
],
_mm256_xor_si256
(
c2
[
12
],
_mm256_xor_si256
(
c2
[
1005
],
_mm256_xor_si256
(
c2
[
396
],
_mm256_xor_si256
(
c2
[
364
],
_mm256_xor_si256
(
c2
[
556
],
_mm256_xor_si256
(
c2
[
113
],
_mm256_xor_si256
(
c2
[
81
],
_mm256_xor_si256
(
c2
[
816
],
_mm256_xor_si256
(
c2
[
112
],
_mm256_xor_si256
(
c2
[
117
],
_mm256_xor_si256
(
c2
[
85
],
_mm256_xor_si256
(
c2
[
436
],
_mm256_xor_si256
(
c2
[
121
],
_mm256_xor_si256
(
c2
[
89
],
_mm256_xor_si256
(
c2
[
280
],
_mm256_xor_si256
(
c2
[
248
],
_mm256_xor_si256
(
c2
[
729
],
_mm256_xor_si256
(
c2
[
92
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
892
],
_mm256_xor_si256
(
c2
[
224
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
704
],
_mm256_xor_si256
(
c2
[
769
],
_mm256_xor_si256
(
c2
[
645
],
_mm256_xor_si256
(
c2
[
613
],
_mm256_xor_si256
(
c2
[
101
],
_mm256_xor_si256
(
c2
[
69
],
c2
[
197
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
18
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
160
],
_mm256_xor_si256
(
c2
[
993
],
_mm256_xor_si256
(
c2
[
97
],
_mm256_xor_si256
(
c2
[
928
],
_mm256_xor_si256
(
c2
[
416
],
_mm256_xor_si256
(
c2
[
224
],
_mm256_xor_si256
(
c2
[
389
],
_mm256_xor_si256
(
c2
[
549
],
_mm256_xor_si256
(
c2
[
357
],
_mm256_xor_si256
(
c2
[
453
],
_mm256_xor_si256
(
c2
[
261
],
_mm256_xor_si256
(
c2
[
132
],
_mm256_xor_si256
(
c2
[
965
],
_mm256_xor_si256
(
c2
[
356
],
_mm256_xor_si256
(
c2
[
104
],
_mm256_xor_si256
(
c2
[
264
],
_mm256_xor_si256
(
c2
[
72
],
_mm256_xor_si256
(
c2
[
713
],
_mm256_xor_si256
(
c2
[
521
],
_mm256_xor_si256
(
c2
[
556
],
_mm256_xor_si256
(
c2
[
716
],
_mm256_xor_si256
(
c2
[
524
],
_mm256_xor_si256
(
c2
[
77
],
_mm256_xor_si256
(
c2
[
908
],
_mm256_xor_si256
(
c2
[
269
],
_mm256_xor_si256
(
c2
[
77
],
_mm256_xor_si256
(
c2
[
817
],
_mm256_xor_si256
(
c2
[
625
],
_mm256_xor_si256
(
c2
[
529
],
_mm256_xor_si256
(
c2
[
337
],
_mm256_xor_si256
(
c2
[
848
],
_mm256_xor_si256
(
c2
[
656
],
_mm256_xor_si256
(
c2
[
821
],
_mm256_xor_si256
(
c2
[
629
],
_mm256_xor_si256
(
c2
[
149
],
_mm256_xor_si256
(
c2
[
980
],
_mm256_xor_si256
(
c2
[
665
],
_mm256_xor_si256
(
c2
[
825
],
_mm256_xor_si256
(
c2
[
633
],
_mm256_xor_si256
(
c2
[
984
],
_mm256_xor_si256
(
c2
[
792
],
_mm256_xor_si256
(
c2
[
440
],
_mm256_xor_si256
(
c2
[
248
],
_mm256_xor_si256
(
c2
[
796
],
_mm256_xor_si256
(
c2
[
604
],
_mm256_xor_si256
(
c2
[
605
],
_mm256_xor_si256
(
c2
[
413
],
_mm256_xor_si256
(
c2
[
928
],
_mm256_xor_si256
(
c2
[
736
],
_mm256_xor_si256
(
c2
[
417
],
_mm256_xor_si256
(
c2
[
225
],
_mm256_xor_si256
(
c2
[
480
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
448
],
_mm256_xor_si256
(
c2
[
164
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
132
],
_mm256_xor_si256
(
c2
[
805
],
_mm256_xor_si256
(
c2
[
613
],
_mm256_xor_si256
(
c2
[
933
],
c2
[
741
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
20
]
=
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
805
],
_mm256_xor_si256
(
c2
[
24
],
c2
[
701
])));
//row: 11
d2
[
22
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
960
],
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
389
],
_mm256_xor_si256
(
c2
[
293
],
_mm256_xor_si256
(
c2
[
4
],
_mm256_xor_si256
(
c2
[
997
],
_mm256_xor_si256
(
c2
[
104
],
_mm256_xor_si256
(
c2
[
585
],
_mm256_xor_si256
(
c2
[
553
],
_mm256_xor_si256
(
c2
[
556
],
_mm256_xor_si256
(
c2
[
940
],
_mm256_xor_si256
(
c2
[
109
],
_mm256_xor_si256
(
c2
[
657
],
_mm256_xor_si256
(
c2
[
369
],
_mm256_xor_si256
(
c2
[
720
],
_mm256_xor_si256
(
c2
[
688
],
_mm256_xor_si256
(
c2
[
661
],
_mm256_xor_si256
(
c2
[
21
],
_mm256_xor_si256
(
c2
[
1012
],
_mm256_xor_si256
(
c2
[
665
],
_mm256_xor_si256
(
c2
[
824
],
_mm256_xor_si256
(
c2
[
312
],
_mm256_xor_si256
(
c2
[
280
],
_mm256_xor_si256
(
c2
[
636
],
_mm256_xor_si256
(
c2
[
477
],
_mm256_xor_si256
(
c2
[
445
],
_mm256_xor_si256
(
c2
[
413
],
_mm256_xor_si256
(
c2
[
768
],
_mm256_xor_si256
(
c2
[
257
],
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
320
],
_mm256_xor_si256
(
c2
[
164
],
_mm256_xor_si256
(
c2
[
645
],
_mm256_xor_si256
(
c2
[
805
],
_mm256_xor_si256
(
c2
[
773
],
c2
[
612
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
24
]
=
_mm256_xor_si256
(
c2
[
736
],
_mm256_xor_si256
(
c2
[
704
],
_mm256_xor_si256
(
c2
[
641
],
_mm256_xor_si256
(
c2
[
960
],
_mm256_xor_si256
(
c2
[
100
],
_mm256_xor_si256
(
c2
[
68
],
_mm256_xor_si256
(
c2
[
997
],
_mm256_xor_si256
(
c2
[
676
],
_mm256_xor_si256
(
c2
[
997
],
_mm256_xor_si256
(
c2
[
840
],
_mm256_xor_si256
(
c2
[
808
],
_mm256_xor_si256
(
c2
[
232
],
_mm256_xor_si256
(
c2
[
269
],
_mm256_xor_si256
(
c2
[
237
],
_mm256_xor_si256
(
c2
[
621
],
_mm256_xor_si256
(
c2
[
813
],
_mm256_xor_si256
(
c2
[
493
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
48
],
_mm256_xor_si256
(
c2
[
369
],
_mm256_xor_si256
(
c2
[
340
],
_mm256_xor_si256
(
c2
[
693
],
_mm256_xor_si256
(
c2
[
376
],
_mm256_xor_si256
(
c2
[
344
],
_mm256_xor_si256
(
c2
[
505
],
_mm256_xor_si256
(
c2
[
984
],
_mm256_xor_si256
(
c2
[
317
],
_mm256_xor_si256
(
c2
[
124
],
_mm256_xor_si256
(
c2
[
449
],
_mm256_xor_si256
(
c2
[
961
],
_mm256_xor_si256
(
c2
[
1024
],
_mm256_xor_si256
(
c2
[
900
],
_mm256_xor_si256
(
c2
[
868
],
_mm256_xor_si256
(
c2
[
324
],
c2
[
452
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
26
]
=
_mm256_xor_si256
(
c2
[
193
],
_mm256_xor_si256
(
c2
[
128
],
_mm256_xor_si256
(
c2
[
449
],
_mm256_xor_si256
(
c2
[
608
],
_mm256_xor_si256
(
c2
[
580
],
_mm256_xor_si256
(
c2
[
484
],
_mm256_xor_si256
(
c2
[
197
],
_mm256_xor_si256
(
c2
[
165
],
_mm256_xor_si256
(
c2
[
68
],
_mm256_xor_si256
(
c2
[
297
],
_mm256_xor_si256
(
c2
[
776
],
_mm256_xor_si256
(
c2
[
744
],
_mm256_xor_si256
(
c2
[
749
],
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
300
],
_mm256_xor_si256
(
c2
[
848
],
_mm256_xor_si256
(
c2
[
560
],
_mm256_xor_si256
(
c2
[
913
],
_mm256_xor_si256
(
c2
[
881
],
_mm256_xor_si256
(
c2
[
852
],
_mm256_xor_si256
(
c2
[
212
],
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
856
],
_mm256_xor_si256
(
c2
[
1017
],
_mm256_xor_si256
(
c2
[
505
],
_mm256_xor_si256
(
c2
[
473
],
_mm256_xor_si256
(
c2
[
829
],
_mm256_xor_si256
(
c2
[
668
],
_mm256_xor_si256
(
c2
[
636
],
_mm256_xor_si256
(
c2
[
961
],
_mm256_xor_si256
(
c2
[
448
],
_mm256_xor_si256
(
c2
[
545
],
_mm256_xor_si256
(
c2
[
513
],
_mm256_xor_si256
(
c2
[
225
],
_mm256_xor_si256
(
c2
[
357
],
_mm256_xor_si256
(
c2
[
836
],
_mm256_xor_si256
(
c2
[
996
],
c2
[
964
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
28
]
=
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
513
],
_mm256_xor_si256
(
c2
[
289
],
_mm256_xor_si256
(
c2
[
448
],
_mm256_xor_si256
(
c2
[
608
],
_mm256_xor_si256
(
c2
[
769
],
_mm256_xor_si256
(
c2
[
773
],
_mm256_xor_si256
(
c2
[
741
],
_mm256_xor_si256
(
c2
[
900
],
_mm256_xor_si256
(
c2
[
645
],
_mm256_xor_si256
(
c2
[
804
],
_mm256_xor_si256
(
c2
[
517
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
485
],
_mm256_xor_si256
(
c2
[
613
],
_mm256_xor_si256
(
c2
[
488
],
_mm256_xor_si256
(
c2
[
456
],
_mm256_xor_si256
(
c2
[
617
],
_mm256_xor_si256
(
c2
[
73
],
_mm256_xor_si256
(
c2
[
905
],
_mm256_xor_si256
(
c2
[
41
],
_mm256_xor_si256
(
c2
[
940
],
_mm256_xor_si256
(
c2
[
908
],
_mm256_xor_si256
(
c2
[
44
],
_mm256_xor_si256
(
c2
[
269
],
_mm256_xor_si256
(
c2
[
428
],
_mm256_xor_si256
(
c2
[
461
],
_mm256_xor_si256
(
c2
[
620
],
_mm256_xor_si256
(
c2
[
1009
],
_mm256_xor_si256
(
c2
[
145
],
_mm256_xor_si256
(
c2
[
721
],
_mm256_xor_si256
(
c2
[
880
],
_mm256_xor_si256
(
c2
[
208
],
_mm256_xor_si256
(
c2
[
17
],
_mm256_xor_si256
(
c2
[
176
],
_mm256_xor_si256
(
c2
[
1013
],
_mm256_xor_si256
(
c2
[
149
],
_mm256_xor_si256
(
c2
[
532
],
_mm256_xor_si256
(
c2
[
341
],
_mm256_xor_si256
(
c2
[
500
],
_mm256_xor_si256
(
c2
[
24
],
_mm256_xor_si256
(
c2
[
1017
],
_mm256_xor_si256
(
c2
[
153
],
_mm256_xor_si256
(
c2
[
153
],
_mm256_xor_si256
(
c2
[
312
],
_mm256_xor_si256
(
c2
[
825
],
_mm256_xor_si256
(
c2
[
632
],
_mm256_xor_si256
(
c2
[
793
],
_mm256_xor_si256
(
c2
[
568
],
_mm256_xor_si256
(
c2
[
988
],
_mm256_xor_si256
(
c2
[
124
],
_mm256_xor_si256
(
c2
[
988
],
_mm256_xor_si256
(
c2
[
797
],
_mm256_xor_si256
(
c2
[
956
],
_mm256_xor_si256
(
c2
[
97
],
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
609
],
_mm256_xor_si256
(
c2
[
768
],
_mm256_xor_si256
(
c2
[
865
],
_mm256_xor_si256
(
c2
[
672
],
_mm256_xor_si256
(
c2
[
833
],
_mm256_xor_si256
(
c2
[
548
],
_mm256_xor_si256
(
c2
[
516
],
_mm256_xor_si256
(
c2
[
677
],
_mm256_xor_si256
(
c2
[
997
],
_mm256_xor_si256
(
c2
[
133
],
_mm256_xor_si256
(
c2
[
293
],
_mm256_xor_si256
(
c2
[
100
],
c2
[
261
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
30
]
=
_mm256_xor_si256
(
c2
[
960
],
_mm256_xor_si256
(
c2
[
737
],
_mm256_xor_si256
(
c2
[
928
],
_mm256_xor_si256
(
c2
[
672
],
_mm256_xor_si256
(
c2
[
865
],
_mm256_xor_si256
(
c2
[
993
],
_mm256_xor_si256
(
c2
[
161
],
_mm256_xor_si256
(
c2
[
609
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
101
],
_mm256_xor_si256
(
c2
[
292
],
_mm256_xor_si256
(
c2
[
5
],
_mm256_xor_si256
(
c2
[
196
],
_mm256_xor_si256
(
c2
[
709
],
_mm256_xor_si256
(
c2
[
900
],
_mm256_xor_si256
(
c2
[
41
],
_mm256_xor_si256
(
c2
[
841
],
_mm256_xor_si256
(
c2
[
9
],
_mm256_xor_si256
(
c2
[
265
],
_mm256_xor_si256
(
c2
[
456
],
_mm256_xor_si256
(
c2
[
493
],
_mm256_xor_si256
(
c2
[
268
],
_mm256_xor_si256
(
c2
[
461
],
_mm256_xor_si256
(
c2
[
652
],
_mm256_xor_si256
(
c2
[
845
],
_mm256_xor_si256
(
c2
[
844
],
_mm256_xor_si256
(
c2
[
12
],
_mm256_xor_si256
(
c2
[
369
],
_mm256_xor_si256
(
c2
[
560
],
_mm256_xor_si256
(
c2
[
81
],
_mm256_xor_si256
(
c2
[
272
],
_mm256_xor_si256
(
c2
[
400
],
_mm256_xor_si256
(
c2
[
593
],
_mm256_xor_si256
(
c2
[
373
],
_mm256_xor_si256
(
c2
[
564
],
_mm256_xor_si256
(
c2
[
724
],
_mm256_xor_si256
(
c2
[
917
],
_mm256_xor_si256
(
c2
[
600
],
_mm256_xor_si256
(
c2
[
377
],
_mm256_xor_si256
(
c2
[
568
],
_mm256_xor_si256
(
c2
[
536
],
_mm256_xor_si256
(
c2
[
729
],
_mm256_xor_si256
(
c2
[
1017
],
_mm256_xor_si256
(
c2
[
185
],
_mm256_xor_si256
(
c2
[
348
],
_mm256_xor_si256
(
c2
[
541
],
_mm256_xor_si256
(
c2
[
157
],
_mm256_xor_si256
(
c2
[
348
],
_mm256_xor_si256
(
c2
[
480
],
_mm256_xor_si256
(
c2
[
673
],
_mm256_xor_si256
(
c2
[
992
],
_mm256_xor_si256
(
c2
[
160
],
_mm256_xor_si256
(
c2
[
32
],
_mm256_xor_si256
(
c2
[
225
],
_mm256_xor_si256
(
c2
[
101
],
_mm256_xor_si256
(
c2
[
901
],
_mm256_xor_si256
(
c2
[
69
],
_mm256_xor_si256
(
c2
[
357
],
_mm256_xor_si256
(
c2
[
548
],
_mm256_xor_si256
(
c2
[
485
],
c2
[
676
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
32
]
=
_mm256_xor_si256
(
c2
[
544
],
_mm256_xor_si256
(
c2
[
865
],
_mm256_xor_si256
(
c2
[
512
],
_mm256_xor_si256
(
c2
[
833
],
_mm256_xor_si256
(
c2
[
800
],
_mm256_xor_si256
(
c2
[
449
],
_mm256_xor_si256
(
c2
[
768
],
_mm256_xor_si256
(
c2
[
768
],
_mm256_xor_si256
(
c2
[
64
],
_mm256_xor_si256
(
c2
[
933
],
_mm256_xor_si256
(
c2
[
229
],
_mm256_xor_si256
(
c2
[
901
],
_mm256_xor_si256
(
c2
[
197
],
_mm256_xor_si256
(
c2
[
805
],
_mm256_xor_si256
(
c2
[
101
],
_mm256_xor_si256
(
c2
[
484
],
_mm256_xor_si256
(
c2
[
805
],
_mm256_xor_si256
(
c2
[
356
],
_mm256_xor_si256
(
c2
[
648
],
_mm256_xor_si256
(
c2
[
969
],
_mm256_xor_si256
(
c2
[
616
],
_mm256_xor_si256
(
c2
[
937
],
_mm256_xor_si256
(
c2
[
40
],
_mm256_xor_si256
(
c2
[
361
],
_mm256_xor_si256
(
c2
[
77
],
_mm256_xor_si256
(
c2
[
396
],
_mm256_xor_si256
(
c2
[
45
],
_mm256_xor_si256
(
c2
[
364
],
_mm256_xor_si256
(
c2
[
780
],
_mm256_xor_si256
(
c2
[
429
],
_mm256_xor_si256
(
c2
[
748
],
_mm256_xor_si256
(
c2
[
621
],
_mm256_xor_si256
(
c2
[
940
],
_mm256_xor_si256
(
c2
[
497
],
_mm256_xor_si256
(
c2
[
144
],
_mm256_xor_si256
(
c2
[
465
],
_mm256_xor_si256
(
c2
[
881
],
_mm256_xor_si256
(
c2
[
177
],
_mm256_xor_si256
(
c2
[
177
],
_mm256_xor_si256
(
c2
[
496
],
_mm256_xor_si256
(
c2
[
501
],
_mm256_xor_si256
(
c2
[
148
],
_mm256_xor_si256
(
c2
[
469
],
_mm256_xor_si256
(
c2
[
501
],
_mm256_xor_si256
(
c2
[
820
],
_mm256_xor_si256
(
c2
[
184
],
_mm256_xor_si256
(
c2
[
505
],
_mm256_xor_si256
(
c2
[
152
],
_mm256_xor_si256
(
c2
[
473
],
_mm256_xor_si256
(
c2
[
664
],
_mm256_xor_si256
(
c2
[
313
],
_mm256_xor_si256
(
c2
[
632
],
_mm256_xor_si256
(
c2
[
792
],
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
476
],
_mm256_xor_si256
(
c2
[
125
],
_mm256_xor_si256
(
c2
[
444
],
_mm256_xor_si256
(
c2
[
957
],
_mm256_xor_si256
(
c2
[
253
],
_mm256_xor_si256
(
c2
[
608
],
_mm256_xor_si256
(
c2
[
257
],
_mm256_xor_si256
(
c2
[
576
],
_mm256_xor_si256
(
c2
[
769
],
_mm256_xor_si256
(
c2
[
65
],
_mm256_xor_si256
(
c2
[
832
],
_mm256_xor_si256
(
c2
[
128
],
_mm256_xor_si256
(
c2
[
708
],
_mm256_xor_si256
(
c2
[
1029
],
_mm256_xor_si256
(
c2
[
676
],
_mm256_xor_si256
(
c2
[
997
],
_mm256_xor_si256
(
c2
[
485
],
_mm256_xor_si256
(
c2
[
132
],
_mm256_xor_si256
(
c2
[
453
],
_mm256_xor_si256
(
c2
[
260
],
_mm256_xor_si256
(
c2
[
581
],
c2
[
484
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
34
]
=
_mm256_xor_si256
(
c2
[
865
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
833
],
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
225
],
_mm256_xor_si256
(
c2
[
768
],
_mm256_xor_si256
(
c2
[
193
],
_mm256_xor_si256
(
c2
[
64
],
_mm256_xor_si256
(
c2
[
512
],
_mm256_xor_si256
(
c2
[
229
],
_mm256_xor_si256
(
c2
[
677
],
_mm256_xor_si256
(
c2
[
197
],
_mm256_xor_si256
(
c2
[
645
],
_mm256_xor_si256
(
c2
[
101
],
_mm256_xor_si256
(
c2
[
549
],
_mm256_xor_si256
(
c2
[
805
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
965
],
_mm256_xor_si256
(
c2
[
969
],
_mm256_xor_si256
(
c2
[
392
],
_mm256_xor_si256
(
c2
[
937
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
361
],
_mm256_xor_si256
(
c2
[
809
],
_mm256_xor_si256
(
c2
[
396
],
_mm256_xor_si256
(
c2
[
844
],
_mm256_xor_si256
(
c2
[
364
],
_mm256_xor_si256
(
c2
[
812
],
_mm256_xor_si256
(
c2
[
205
],
_mm256_xor_si256
(
c2
[
748
],
_mm256_xor_si256
(
c2
[
173
],
_mm256_xor_si256
(
c2
[
940
],
_mm256_xor_si256
(
c2
[
365
],
_mm256_xor_si256
(
c2
[
945
],
_mm256_xor_si256
(
c2
[
465
],
_mm256_xor_si256
(
c2
[
913
],
_mm256_xor_si256
(
c2
[
177
],
_mm256_xor_si256
(
c2
[
625
],
_mm256_xor_si256
(
c2
[
496
],
_mm256_xor_si256
(
c2
[
944
],
_mm256_xor_si256
(
c2
[
949
],
_mm256_xor_si256
(
c2
[
469
],
_mm256_xor_si256
(
c2
[
917
],
_mm256_xor_si256
(
c2
[
820
],
_mm256_xor_si256
(
c2
[
245
],
_mm256_xor_si256
(
c2
[
917
],
_mm256_xor_si256
(
c2
[
505
],
_mm256_xor_si256
(
c2
[
953
],
_mm256_xor_si256
(
c2
[
473
],
_mm256_xor_si256
(
c2
[
921
],
_mm256_xor_si256
(
c2
[
89
],
_mm256_xor_si256
(
c2
[
632
],
_mm256_xor_si256
(
c2
[
57
],
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
536
],
_mm256_xor_si256
(
c2
[
924
],
_mm256_xor_si256
(
c2
[
444
],
_mm256_xor_si256
(
c2
[
892
],
_mm256_xor_si256
(
c2
[
253
],
_mm256_xor_si256
(
c2
[
701
],
_mm256_xor_si256
(
c2
[
33
],
_mm256_xor_si256
(
c2
[
576
],
_mm256_xor_si256
(
c2
[
1024
],
_mm256_xor_si256
(
c2
[
65
],
_mm256_xor_si256
(
c2
[
513
],
_mm256_xor_si256
(
c2
[
128
],
_mm256_xor_si256
(
c2
[
576
],
_mm256_xor_si256
(
c2
[
1029
],
_mm256_xor_si256
(
c2
[
452
],
_mm256_xor_si256
(
c2
[
997
],
_mm256_xor_si256
(
c2
[
420
],
_mm256_xor_si256
(
c2
[
933
],
_mm256_xor_si256
(
c2
[
453
],
_mm256_xor_si256
(
c2
[
901
],
_mm256_xor_si256
(
c2
[
581
],
c2
[
1029
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
36
]
=
_mm256_xor_si256
(
c2
[
896
],
_mm256_xor_si256
(
c2
[
88
],
c2
[
605
]));
//row: 19
d2
[
38
]
=
_mm256_xor_si256
(
c2
[
32
],
_mm256_xor_si256
(
c2
[
992
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
736
],
_mm256_xor_si256
(
c2
[
421
],
_mm256_xor_si256
(
c2
[
325
],
_mm256_xor_si256
(
c2
[
4
],
_mm256_xor_si256
(
c2
[
644
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
585
],
_mm256_xor_si256
(
c2
[
588
],
_mm256_xor_si256
(
c2
[
972
],
_mm256_xor_si256
(
c2
[
141
],
_mm256_xor_si256
(
c2
[
689
],
_mm256_xor_si256
(
c2
[
401
],
_mm256_xor_si256
(
c2
[
720
],
_mm256_xor_si256
(
c2
[
693
],
_mm256_xor_si256
(
c2
[
21
],
_mm256_xor_si256
(
c2
[
697
],
_mm256_xor_si256
(
c2
[
856
],
_mm256_xor_si256
(
c2
[
312
],
_mm256_xor_si256
(
c2
[
668
],
_mm256_xor_si256
(
c2
[
477
],
_mm256_xor_si256
(
c2
[
800
],
_mm256_xor_si256
(
c2
[
289
],
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
196
],
_mm256_xor_si256
(
c2
[
677
],
c2
[
805
]))))))))))))))))))))))))))));
//row: 20
d2
[
40
]
=
_mm256_xor_si256
(
c2
[
193
],
_mm256_xor_si256
(
c2
[
161
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
417
],
_mm256_xor_si256
(
c2
[
580
],
_mm256_xor_si256
(
c2
[
548
],
_mm256_xor_si256
(
c2
[
452
],
_mm256_xor_si256
(
c2
[
133
],
_mm256_xor_si256
(
c2
[
836
],
_mm256_xor_si256
(
c2
[
297
],
_mm256_xor_si256
(
c2
[
265
],
_mm256_xor_si256
(
c2
[
712
],
_mm256_xor_si256
(
c2
[
749
],
_mm256_xor_si256
(
c2
[
717
],
_mm256_xor_si256
(
c2
[
76
],
_mm256_xor_si256
(
c2
[
268
],
_mm256_xor_si256
(
c2
[
816
],
_mm256_xor_si256
(
c2
[
528
],
_mm256_xor_si256
(
c2
[
849
],
_mm256_xor_si256
(
c2
[
305
],
_mm256_xor_si256
(
c2
[
820
],
_mm256_xor_si256
(
c2
[
148
],
_mm256_xor_si256
(
c2
[
856
],
_mm256_xor_si256
(
c2
[
824
],
_mm256_xor_si256
(
c2
[
985
],
_mm256_xor_si256
(
c2
[
441
],
_mm256_xor_si256
(
c2
[
797
],
_mm256_xor_si256
(
c2
[
604
],
_mm256_xor_si256
(
c2
[
929
],
_mm256_xor_si256
(
c2
[
416
],
_mm256_xor_si256
(
c2
[
481
],
_mm256_xor_si256
(
c2
[
357
],
_mm256_xor_si256
(
c2
[
325
],
_mm256_xor_si256
(
c2
[
804
],
c2
[
932
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
42
]
=
_mm256_xor_si256
(
c2
[
832
],
_mm256_xor_si256
(
c2
[
769
],
_mm256_xor_si256
(
c2
[
65
],
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
196
],
_mm256_xor_si256
(
c2
[
100
],
_mm256_xor_si256
(
c2
[
836
],
_mm256_xor_si256
(
c2
[
804
],
_mm256_xor_si256
(
c2
[
936
],
_mm256_xor_si256
(
c2
[
392
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
365
],
_mm256_xor_si256
(
c2
[
749
],
_mm256_xor_si256
(
c2
[
941
],
_mm256_xor_si256
(
c2
[
464
],
_mm256_xor_si256
(
c2
[
176
],
_mm256_xor_si256
(
c2
[
529
],
_mm256_xor_si256
(
c2
[
497
],
_mm256_xor_si256
(
c2
[
468
],
_mm256_xor_si256
(
c2
[
853
],
_mm256_xor_si256
(
c2
[
821
],
_mm256_xor_si256
(
c2
[
472
],
_mm256_xor_si256
(
c2
[
633
],
_mm256_xor_si256
(
c2
[
121
],
_mm256_xor_si256
(
c2
[
89
],
_mm256_xor_si256
(
c2
[
445
],
_mm256_xor_si256
(
c2
[
284
],
_mm256_xor_si256
(
c2
[
252
],
_mm256_xor_si256
(
c2
[
577
],
_mm256_xor_si256
(
c2
[
64
],
_mm256_xor_si256
(
c2
[
161
],
_mm256_xor_si256
(
c2
[
129
],
_mm256_xor_si256
(
c2
[
353
],
_mm256_xor_si256
(
c2
[
996
],
_mm256_xor_si256
(
c2
[
452
],
_mm256_xor_si256
(
c2
[
612
],
c2
[
580
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
44
]
=
_mm256_xor_si256
(
c2
[
964
],
c2
[
1001
]);
//row: 23
d2
[
46
]
=
_mm256_xor_si256
(
c2
[
736
],
_mm256_xor_si256
(
c2
[
365
],
c2
[
469
]));
//row: 24
d2
[
48
]
=
_mm256_xor_si256
(
c2
[
453
],
_mm256_xor_si256
(
c2
[
360
],
c2
[
292
]));
//row: 25
d2
[
50
]
=
_mm256_xor_si256
(
c2
[
129
],
c2
[
916
]);
//row: 26
d2
[
52
]
=
_mm256_xor_si256
(
c2
[
289
],
_mm256_xor_si256
(
c2
[
257
],
_mm256_xor_si256
(
c2
[
64
],
_mm256_xor_si256
(
c2
[
224
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
1
],
_mm256_xor_si256
(
c2
[
513
],
_mm256_xor_si256
(
c2
[
320
],
_mm256_xor_si256
(
c2
[
676
],
_mm256_xor_si256
(
c2
[
644
],
_mm256_xor_si256
(
c2
[
453
],
_mm256_xor_si256
(
c2
[
548
],
_mm256_xor_si256
(
c2
[
357
],
_mm256_xor_si256
(
c2
[
68
],
_mm256_xor_si256
(
c2
[
229
],
_mm256_xor_si256
(
c2
[
36
],
_mm256_xor_si256
(
c2
[
393
],
_mm256_xor_si256
(
c2
[
361
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
649
],
_mm256_xor_si256
(
c2
[
808
],
_mm256_xor_si256
(
c2
[
617
],
_mm256_xor_si256
(
c2
[
936
],
_mm256_xor_si256
(
c2
[
845
],
_mm256_xor_si256
(
c2
[
813
],
_mm256_xor_si256
(
c2
[
620
],
_mm256_xor_si256
(
c2
[
204
],
_mm256_xor_si256
(
c2
[
172
],
_mm256_xor_si256
(
c2
[
1004
],
_mm256_xor_si256
(
c2
[
364
],
_mm256_xor_si256
(
c2
[
173
],
_mm256_xor_si256
(
c2
[
944
],
_mm256_xor_si256
(
c2
[
912
],
_mm256_xor_si256
(
c2
[
721
],
_mm256_xor_si256
(
c2
[
624
],
_mm256_xor_si256
(
c2
[
433
],
_mm256_xor_si256
(
c2
[
784
],
_mm256_xor_si256
(
c2
[
945
],
_mm256_xor_si256
(
c2
[
752
],
_mm256_xor_si256
(
c2
[
948
],
_mm256_xor_si256
(
c2
[
916
],
_mm256_xor_si256
(
c2
[
725
],
_mm256_xor_si256
(
c2
[
85
],
_mm256_xor_si256
(
c2
[
244
],
_mm256_xor_si256
(
c2
[
53
],
_mm256_xor_si256
(
c2
[
952
],
_mm256_xor_si256
(
c2
[
920
],
_mm256_xor_si256
(
c2
[
729
],
_mm256_xor_si256
(
c2
[
88
],
_mm256_xor_si256
(
c2
[
56
],
_mm256_xor_si256
(
c2
[
888
],
_mm256_xor_si256
(
c2
[
376
],
_mm256_xor_si256
(
c2
[
537
],
_mm256_xor_si256
(
c2
[
344
],
_mm256_xor_si256
(
c2
[
925
],
_mm256_xor_si256
(
c2
[
893
],
_mm256_xor_si256
(
c2
[
700
],
_mm256_xor_si256
(
c2
[
541
],
_mm256_xor_si256
(
c2
[
700
],
_mm256_xor_si256
(
c2
[
509
],
_mm256_xor_si256
(
c2
[
508
],
_mm256_xor_si256
(
c2
[
32
],
_mm256_xor_si256
(
c2
[
1025
],
_mm256_xor_si256
(
c2
[
832
],
_mm256_xor_si256
(
c2
[
512
],
_mm256_xor_si256
(
c2
[
321
],
_mm256_xor_si256
(
c2
[
416
],
_mm256_xor_si256
(
c2
[
577
],
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
453
],
_mm256_xor_si256
(
c2
[
421
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
932
],
_mm256_xor_si256
(
c2
[
900
],
_mm256_xor_si256
(
c2
[
709
],
_mm256_xor_si256
(
c2
[
869
],
_mm256_xor_si256
(
c2
[
1028
],
c2
[
837
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
54
]
=
_mm256_xor_si256
(
c2
[
256
],
c2
[
760
]);
//row: 28
d2
[
56
]
=
_mm256_xor_si256
(
c2
[
69
],
_mm256_xor_si256
(
c2
[
169
],
c2
[
244
]));
//row: 29
d2
[
58
]
=
_mm256_xor_si256
(
c2
[
576
],
c2
[
912
]);
//row: 30
d2
[
60
]
=
_mm256_xor_si256
(
c2
[
232
],
_mm256_xor_si256
(
c2
[
533
],
_mm256_xor_si256
(
c2
[
316
],
c2
[
676
])));
//row: 31
d2
[
62
]
=
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
225
],
_mm256_xor_si256
(
c2
[
544
],
_mm256_xor_si256
(
c2
[
677
],
_mm256_xor_si256
(
c2
[
581
],
_mm256_xor_si256
(
c2
[
292
],
_mm256_xor_si256
(
c2
[
260
],
_mm256_xor_si256
(
c2
[
325
],
_mm256_xor_si256
(
c2
[
392
],
_mm256_xor_si256
(
c2
[
873
],
_mm256_xor_si256
(
c2
[
841
],
_mm256_xor_si256
(
c2
[
844
],
_mm256_xor_si256
(
c2
[
205
],
_mm256_xor_si256
(
c2
[
397
],
_mm256_xor_si256
(
c2
[
945
],
_mm256_xor_si256
(
c2
[
657
],
_mm256_xor_si256
(
c2
[
1008
],
_mm256_xor_si256
(
c2
[
976
],
_mm256_xor_si256
(
c2
[
949
],
_mm256_xor_si256
(
c2
[
309
],
_mm256_xor_si256
(
c2
[
277
],
_mm256_xor_si256
(
c2
[
953
],
_mm256_xor_si256
(
c2
[
89
],
_mm256_xor_si256
(
c2
[
600
],
_mm256_xor_si256
(
c2
[
568
],
_mm256_xor_si256
(
c2
[
924
],
_mm256_xor_si256
(
c2
[
765
],
_mm256_xor_si256
(
c2
[
733
],
_mm256_xor_si256
(
c2
[
33
],
_mm256_xor_si256
(
c2
[
545
],
_mm256_xor_si256
(
c2
[
640
],
_mm256_xor_si256
(
c2
[
608
],
_mm256_xor_si256
(
c2
[
452
],
_mm256_xor_si256
(
c2
[
933
],
_mm256_xor_si256
(
c2
[
68
],
c2
[
36
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
64
]
=
_mm256_xor_si256
(
c2
[
481
],
_mm256_xor_si256
(
c2
[
449
],
_mm256_xor_si256
(
c2
[
416
],
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
705
],
_mm256_xor_si256
(
c2
[
577
],
_mm256_xor_si256
(
c2
[
868
],
_mm256_xor_si256
(
c2
[
836
],
_mm256_xor_si256
(
c2
[
740
],
_mm256_xor_si256
(
c2
[
421
],
_mm256_xor_si256
(
c2
[
585
],
_mm256_xor_si256
(
c2
[
553
],
_mm256_xor_si256
(
c2
[
1000
],
_mm256_xor_si256
(
c2
[
12
],
_mm256_xor_si256
(
c2
[
1005
],
_mm256_xor_si256
(
c2
[
396
],
_mm256_xor_si256
(
c2
[
364
],
_mm256_xor_si256
(
c2
[
556
],
_mm256_xor_si256
(
c2
[
113
],
_mm256_xor_si256
(
c2
[
81
],
_mm256_xor_si256
(
c2
[
816
],
_mm256_xor_si256
(
c2
[
112
],
_mm256_xor_si256
(
c2
[
117
],
_mm256_xor_si256
(
c2
[
85
],
_mm256_xor_si256
(
c2
[
436
],
_mm256_xor_si256
(
c2
[
405
],
_mm256_xor_si256
(
c2
[
121
],
_mm256_xor_si256
(
c2
[
89
],
_mm256_xor_si256
(
c2
[
280
],
_mm256_xor_si256
(
c2
[
248
],
_mm256_xor_si256
(
c2
[
729
],
_mm256_xor_si256
(
c2
[
92
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
892
],
_mm256_xor_si256
(
c2
[
224
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
704
],
_mm256_xor_si256
(
c2
[
769
],
_mm256_xor_si256
(
c2
[
645
],
_mm256_xor_si256
(
c2
[
613
],
_mm256_xor_si256
(
c2
[
101
],
_mm256_xor_si256
(
c2
[
69
],
c2
[
197
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
66
]
=
_mm256_xor_si256
(
c2
[
609
],
_mm256_xor_si256
(
c2
[
544
],
_mm256_xor_si256
(
c2
[
865
],
_mm256_xor_si256
(
c2
[
996
],
_mm256_xor_si256
(
c2
[
900
],
_mm256_xor_si256
(
c2
[
581
],
_mm256_xor_si256
(
c2
[
713
],
_mm256_xor_si256
(
c2
[
137
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
140
],
_mm256_xor_si256
(
c2
[
524
],
_mm256_xor_si256
(
c2
[
716
],
_mm256_xor_si256
(
c2
[
241
],
_mm256_xor_si256
(
c2
[
976
],
_mm256_xor_si256
(
c2
[
272
],
_mm256_xor_si256
(
c2
[
245
],
_mm256_xor_si256
(
c2
[
596
],
_mm256_xor_si256
(
c2
[
249
],
_mm256_xor_si256
(
c2
[
408
],
_mm256_xor_si256
(
c2
[
889
],
_mm256_xor_si256
(
c2
[
220
],
_mm256_xor_si256
(
c2
[
29
],
_mm256_xor_si256
(
c2
[
157
],
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
864
],
_mm256_xor_si256
(
c2
[
929
],
_mm256_xor_si256
(
c2
[
773
],
_mm256_xor_si256
(
c2
[
229
],
c2
[
357
]))))))))))))))))))))))))))));
//row: 34
d2
[
68
]
=
_mm256_xor_si256
(
c2
[
960
],
_mm256_xor_si256
(
c2
[
928
],
_mm256_xor_si256
(
c2
[
385
],
_mm256_xor_si256
(
c2
[
897
],
_mm256_xor_si256
(
c2
[
865
],
_mm256_xor_si256
(
c2
[
320
],
_mm256_xor_si256
(
c2
[
161
],
_mm256_xor_si256
(
c2
[
641
],
_mm256_xor_si256
(
c2
[
608
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
292
],
_mm256_xor_si256
(
c2
[
772
],
_mm256_xor_si256
(
c2
[
196
],
_mm256_xor_si256
(
c2
[
676
],
_mm256_xor_si256
(
c2
[
389
],
_mm256_xor_si256
(
c2
[
900
],
_mm256_xor_si256
(
c2
[
357
],
_mm256_xor_si256
(
c2
[
41
],
_mm256_xor_si256
(
c2
[
9
],
_mm256_xor_si256
(
c2
[
489
],
_mm256_xor_si256
(
c2
[
968
],
_mm256_xor_si256
(
c2
[
456
],
_mm256_xor_si256
(
c2
[
936
],
_mm256_xor_si256
(
c2
[
493
],
_mm256_xor_si256
(
c2
[
461
],
_mm256_xor_si256
(
c2
[
941
],
_mm256_xor_si256
(
c2
[
877
],
_mm256_xor_si256
(
c2
[
845
],
_mm256_xor_si256
(
c2
[
300
],
_mm256_xor_si256
(
c2
[
12
],
_mm256_xor_si256
(
c2
[
492
],
_mm256_xor_si256
(
c2
[
592
],
_mm256_xor_si256
(
c2
[
560
],
_mm256_xor_si256
(
c2
[
17
],
_mm256_xor_si256
(
c2
[
272
],
_mm256_xor_si256
(
c2
[
752
],
_mm256_xor_si256
(
c2
[
80
],
_mm256_xor_si256
(
c2
[
593
],
_mm256_xor_si256
(
c2
[
48
],
_mm256_xor_si256
(
c2
[
596
],
_mm256_xor_si256
(
c2
[
564
],
_mm256_xor_si256
(
c2
[
21
],
_mm256_xor_si256
(
c2
[
404
],
_mm256_xor_si256
(
c2
[
917
],
_mm256_xor_si256
(
c2
[
372
],
_mm256_xor_si256
(
c2
[
600
],
_mm256_xor_si256
(
c2
[
568
],
_mm256_xor_si256
(
c2
[
25
],
_mm256_xor_si256
(
c2
[
761
],
_mm256_xor_si256
(
c2
[
729
],
_mm256_xor_si256
(
c2
[
184
],
_mm256_xor_si256
(
c2
[
697
],
_mm256_xor_si256
(
c2
[
185
],
_mm256_xor_si256
(
c2
[
665
],
_mm256_xor_si256
(
c2
[
573
],
_mm256_xor_si256
(
c2
[
541
],
_mm256_xor_si256
(
c2
[
1021
],
_mm256_xor_si256
(
c2
[
860
],
_mm256_xor_si256
(
c2
[
348
],
_mm256_xor_si256
(
c2
[
828
],
_mm256_xor_si256
(
c2
[
705
],
_mm256_xor_si256
(
c2
[
673
],
_mm256_xor_si256
(
c2
[
128
],
_mm256_xor_si256
(
c2
[
160
],
_mm256_xor_si256
(
c2
[
640
],
_mm256_xor_si256
(
c2
[
737
],
_mm256_xor_si256
(
c2
[
225
],
_mm256_xor_si256
(
c2
[
705
],
_mm256_xor_si256
(
c2
[
101
],
_mm256_xor_si256
(
c2
[
69
],
_mm256_xor_si256
(
c2
[
549
],
_mm256_xor_si256
(
c2
[
580
],
_mm256_xor_si256
(
c2
[
548
],
_mm256_xor_si256
(
c2
[
1028
],
_mm256_xor_si256
(
c2
[
165
],
_mm256_xor_si256
(
c2
[
676
],
c2
[
133
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
70
]
=
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
224
],
_mm256_xor_si256
(
c2
[
161
],
_mm256_xor_si256
(
c2
[
480
],
_mm256_xor_si256
(
c2
[
645
],
_mm256_xor_si256
(
c2
[
613
],
_mm256_xor_si256
(
c2
[
517
],
_mm256_xor_si256
(
c2
[
196
],
_mm256_xor_si256
(
c2
[
805
],
_mm256_xor_si256
(
c2
[
360
],
_mm256_xor_si256
(
c2
[
328
],
_mm256_xor_si256
(
c2
[
777
],
_mm256_xor_si256
(
c2
[
812
],
_mm256_xor_si256
(
c2
[
780
],
_mm256_xor_si256
(
c2
[
141
],
_mm256_xor_si256
(
c2
[
333
],
_mm256_xor_si256
(
c2
[
881
],
_mm256_xor_si256
(
c2
[
593
],
_mm256_xor_si256
(
c2
[
912
],
_mm256_xor_si256
(
c2
[
885
],
_mm256_xor_si256
(
c2
[
213
],
_mm256_xor_si256
(
c2
[
277
],
_mm256_xor_si256
(
c2
[
921
],
_mm256_xor_si256
(
c2
[
889
],
_mm256_xor_si256
(
c2
[
25
],
_mm256_xor_si256
(
c2
[
504
],
_mm256_xor_si256
(
c2
[
860
],
_mm256_xor_si256
(
c2
[
669
],
_mm256_xor_si256
(
c2
[
992
],
_mm256_xor_si256
(
c2
[
481
],
_mm256_xor_si256
(
c2
[
544
],
_mm256_xor_si256
(
c2
[
420
],
_mm256_xor_si256
(
c2
[
388
],
_mm256_xor_si256
(
c2
[
869
],
c2
[
997
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
72
]
=
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
201
],
c2
[
860
]));
//row: 37
d2
[
74
]
=
_mm256_xor_si256
(
c2
[
97
],
_mm256_xor_si256
(
c2
[
992
],
_mm256_xor_si256
(
c2
[
32
],
_mm256_xor_si256
(
c2
[
929
],
_mm256_xor_si256
(
c2
[
353
],
_mm256_xor_si256
(
c2
[
225
],
_mm256_xor_si256
(
c2
[
484
],
_mm256_xor_si256
(
c2
[
356
],
_mm256_xor_si256
(
c2
[
388
],
_mm256_xor_si256
(
c2
[
260
],
_mm256_xor_si256
(
c2
[
996
],
_mm256_xor_si256
(
c2
[
69
],
_mm256_xor_si256
(
c2
[
964
],
_mm256_xor_si256
(
c2
[
201
],
_mm256_xor_si256
(
c2
[
73
],
_mm256_xor_si256
(
c2
[
552
],
_mm256_xor_si256
(
c2
[
648
],
_mm256_xor_si256
(
c2
[
520
],
_mm256_xor_si256
(
c2
[
653
],
_mm256_xor_si256
(
c2
[
525
],
_mm256_xor_si256
(
c2
[
12
],
_mm256_xor_si256
(
c2
[
909
],
_mm256_xor_si256
(
c2
[
204
],
_mm256_xor_si256
(
c2
[
76
],
_mm256_xor_si256
(
c2
[
752
],
_mm256_xor_si256
(
c2
[
624
],
_mm256_xor_si256
(
c2
[
464
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
689
],
_mm256_xor_si256
(
c2
[
785
],
_mm256_xor_si256
(
c2
[
657
],
_mm256_xor_si256
(
c2
[
756
],
_mm256_xor_si256
(
c2
[
628
],
_mm256_xor_si256
(
c2
[
1013
],
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
981
],
_mm256_xor_si256
(
c2
[
760
],
_mm256_xor_si256
(
c2
[
632
],
_mm256_xor_si256
(
c2
[
921
],
_mm256_xor_si256
(
c2
[
793
],
_mm256_xor_si256
(
c2
[
281
],
_mm256_xor_si256
(
c2
[
377
],
_mm256_xor_si256
(
c2
[
249
],
_mm256_xor_si256
(
c2
[
733
],
_mm256_xor_si256
(
c2
[
605
],
_mm256_xor_si256
(
c2
[
444
],
_mm256_xor_si256
(
c2
[
540
],
_mm256_xor_si256
(
c2
[
412
],
_mm256_xor_si256
(
c2
[
865
],
_mm256_xor_si256
(
c2
[
737
],
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
224
],
_mm256_xor_si256
(
c2
[
321
],
_mm256_xor_si256
(
c2
[
417
],
_mm256_xor_si256
(
c2
[
289
],
_mm256_xor_si256
(
c2
[
261
],
_mm256_xor_si256
(
c2
[
133
],
_mm256_xor_si256
(
c2
[
740
],
_mm256_xor_si256
(
c2
[
612
],
_mm256_xor_si256
(
c2
[
772
],
_mm256_xor_si256
(
c2
[
868
],
c2
[
740
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
76
]
=
_mm256_xor_si256
(
c2
[
481
],
_mm256_xor_si256
(
c2
[
449
],
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
705
],
_mm256_xor_si256
(
c2
[
868
],
_mm256_xor_si256
(
c2
[
836
],
_mm256_xor_si256
(
c2
[
740
],
_mm256_xor_si256
(
c2
[
421
],
_mm256_xor_si256
(
c2
[
996
],
_mm256_xor_si256
(
c2
[
585
],
_mm256_xor_si256
(
c2
[
553
],
_mm256_xor_si256
(
c2
[
1000
],
_mm256_xor_si256
(
c2
[
12
],
_mm256_xor_si256
(
c2
[
1005
],
_mm256_xor_si256
(
c2
[
364
],
_mm256_xor_si256
(
c2
[
556
],
_mm256_xor_si256
(
c2
[
81
],
_mm256_xor_si256
(
c2
[
816
],
_mm256_xor_si256
(
c2
[
112
],
_mm256_xor_si256
(
c2
[
85
],
_mm256_xor_si256
(
c2
[
436
],
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
121
],
_mm256_xor_si256
(
c2
[
89
],
_mm256_xor_si256
(
c2
[
248
],
_mm256_xor_si256
(
c2
[
729
],
_mm256_xor_si256
(
c2
[
60
],
_mm256_xor_si256
(
c2
[
892
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
704
],
_mm256_xor_si256
(
c2
[
769
],
_mm256_xor_si256
(
c2
[
645
],
_mm256_xor_si256
(
c2
[
613
],
_mm256_xor_si256
(
c2
[
69
],
c2
[
197
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
78
]
=
_mm256_xor_si256
(
c2
[
353
],
_mm256_xor_si256
(
c2
[
321
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
577
],
_mm256_xor_si256
(
c2
[
481
],
_mm256_xor_si256
(
c2
[
740
],
_mm256_xor_si256
(
c2
[
708
],
_mm256_xor_si256
(
c2
[
612
],
_mm256_xor_si256
(
c2
[
293
],
_mm256_xor_si256
(
c2
[
457
],
_mm256_xor_si256
(
c2
[
425
],
_mm256_xor_si256
(
c2
[
872
],
_mm256_xor_si256
(
c2
[
909
],
_mm256_xor_si256
(
c2
[
877
],
_mm256_xor_si256
(
c2
[
268
],
_mm256_xor_si256
(
c2
[
236
],
_mm256_xor_si256
(
c2
[
428
],
_mm256_xor_si256
(
c2
[
1008
],
_mm256_xor_si256
(
c2
[
976
],
_mm256_xor_si256
(
c2
[
688
],
_mm256_xor_si256
(
c2
[
1009
],
_mm256_xor_si256
(
c2
[
1012
],
_mm256_xor_si256
(
c2
[
980
],
_mm256_xor_si256
(
c2
[
308
],
_mm256_xor_si256
(
c2
[
1016
],
_mm256_xor_si256
(
c2
[
984
],
_mm256_xor_si256
(
c2
[
152
],
_mm256_xor_si256
(
c2
[
120
],
_mm256_xor_si256
(
c2
[
601
],
_mm256_xor_si256
(
c2
[
989
],
_mm256_xor_si256
(
c2
[
957
],
_mm256_xor_si256
(
c2
[
764
],
_mm256_xor_si256
(
c2
[
413
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
64
],
_mm256_xor_si256
(
c2
[
576
],
_mm256_xor_si256
(
c2
[
641
],
_mm256_xor_si256
(
c2
[
517
],
_mm256_xor_si256
(
c2
[
485
],
_mm256_xor_si256
(
c2
[
996
],
_mm256_xor_si256
(
c2
[
964
],
c2
[
69
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
80
]
=
_mm256_xor_si256
(
c2
[
608
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
545
],
_mm256_xor_si256
(
c2
[
960
],
_mm256_xor_si256
(
c2
[
864
],
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
997
],
_mm256_xor_si256
(
c2
[
389
],
_mm256_xor_si256
(
c2
[
901
],
_mm256_xor_si256
(
c2
[
293
],
_mm256_xor_si256
(
c2
[
4
],
_mm256_xor_si256
(
c2
[
580
],
_mm256_xor_si256
(
c2
[
997
],
_mm256_xor_si256
(
c2
[
712
],
_mm256_xor_si256
(
c2
[
104
],
_mm256_xor_si256
(
c2
[
585
],
_mm256_xor_si256
(
c2
[
136
],
_mm256_xor_si256
(
c2
[
553
],
_mm256_xor_si256
(
c2
[
8
],
_mm256_xor_si256
(
c2
[
141
],
_mm256_xor_si256
(
c2
[
556
],
_mm256_xor_si256
(
c2
[
525
],
_mm256_xor_si256
(
c2
[
940
],
_mm256_xor_si256
(
c2
[
717
],
_mm256_xor_si256
(
c2
[
109
],
_mm256_xor_si256
(
c2
[
240
],
_mm256_xor_si256
(
c2
[
657
],
_mm256_xor_si256
(
c2
[
977
],
_mm256_xor_si256
(
c2
[
369
],
_mm256_xor_si256
(
c2
[
720
],
_mm256_xor_si256
(
c2
[
273
],
_mm256_xor_si256
(
c2
[
688
],
_mm256_xor_si256
(
c2
[
244
],
_mm256_xor_si256
(
c2
[
661
],
_mm256_xor_si256
(
c2
[
21
],
_mm256_xor_si256
(
c2
[
597
],
_mm256_xor_si256
(
c2
[
1012
],
_mm256_xor_si256
(
c2
[
248
],
_mm256_xor_si256
(
c2
[
665
],
_mm256_xor_si256
(
c2
[
409
],
_mm256_xor_si256
(
c2
[
824
],
_mm256_xor_si256
(
c2
[
312
],
_mm256_xor_si256
(
c2
[
888
],
_mm256_xor_si256
(
c2
[
280
],
_mm256_xor_si256
(
c2
[
221
],
_mm256_xor_si256
(
c2
[
636
],
_mm256_xor_si256
(
c2
[
477
],
_mm256_xor_si256
(
c2
[
28
],
_mm256_xor_si256
(
c2
[
445
],
_mm256_xor_si256
(
c2
[
353
],
_mm256_xor_si256
(
c2
[
768
],
_mm256_xor_si256
(
c2
[
865
],
_mm256_xor_si256
(
c2
[
257
],
_mm256_xor_si256
(
c2
[
352
],
_mm256_xor_si256
(
c2
[
928
],
_mm256_xor_si256
(
c2
[
320
],
_mm256_xor_si256
(
c2
[
772
],
_mm256_xor_si256
(
c2
[
164
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
645
],
_mm256_xor_si256
(
c2
[
805
],
_mm256_xor_si256
(
c2
[
356
],
c2
[
773
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
82
]
=
_mm256_xor_si256
(
c2
[
993
],
_mm256_xor_si256
(
c2
[
961
],
_mm256_xor_si256
(
c2
[
896
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
357
],
_mm256_xor_si256
(
c2
[
325
],
_mm256_xor_si256
(
c2
[
229
],
_mm256_xor_si256
(
c2
[
933
],
_mm256_xor_si256
(
c2
[
36
],
_mm256_xor_si256
(
c2
[
72
],
_mm256_xor_si256
(
c2
[
40
],
_mm256_xor_si256
(
c2
[
489
],
_mm256_xor_si256
(
c2
[
524
],
_mm256_xor_si256
(
c2
[
492
],
_mm256_xor_si256
(
c2
[
876
],
_mm256_xor_si256
(
c2
[
45
],
_mm256_xor_si256
(
c2
[
593
],
_mm256_xor_si256
(
c2
[
305
],
_mm256_xor_si256
(
c2
[
624
],
_mm256_xor_si256
(
c2
[
597
],
_mm256_xor_si256
(
c2
[
948
],
_mm256_xor_si256
(
c2
[
181
],
_mm256_xor_si256
(
c2
[
633
],
_mm256_xor_si256
(
c2
[
601
],
_mm256_xor_si256
(
c2
[
760
],
_mm256_xor_si256
(
c2
[
216
],
_mm256_xor_si256
(
c2
[
572
],
_mm256_xor_si256
(
c2
[
381
],
_mm256_xor_si256
(
c2
[
704
],
_mm256_xor_si256
(
c2
[
193
],
_mm256_xor_si256
(
c2
[
256
],
_mm256_xor_si256
(
c2
[
132
],
_mm256_xor_si256
(
c2
[
100
],
_mm256_xor_si256
(
c2
[
581
],
c2
[
709
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc72_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=72, byte encoding
static
inline
void
ldpc_BG2_Zc72_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m64
*
csimd
=
(
__m64
*
)
c
,
*
dsimd
=
(
__m64
*
)
d
;
__m64
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
9
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm_xor_si64
(
c2
[
360
],
_mm_xor_si64
(
c2
[
362
],
_mm_xor_si64
(
c2
[
1082
],
_mm_xor_si64
(
c2
[
201
],
_mm_xor_si64
(
c2
[
202
],
_mm_xor_si64
(
c2
[
1283
],
_mm_xor_si64
(
c2
[
762
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
418
],
_mm_xor_si64
(
c2
[
956
],
_mm_xor_si64
(
c2
[
596
],
_mm_xor_si64
(
c2
[
1335
],
_mm_xor_si64
(
c2
[
976
],
_mm_xor_si64
(
c2
[
974
],
_mm_xor_si64
(
c2
[
278
],
_mm_xor_si64
(
c2
[
630
],
_mm_xor_si64
(
c2
[
473
],
_mm_xor_si64
(
c2
[
649
],
_mm_xor_si64
(
c2
[
108
],
_mm_xor_si64
(
c2
[
309
],
_mm_xor_si64
(
c2
[
132
],
_mm_xor_si64
(
c2
[
872
],
_mm_xor_si64
(
c2
[
1228
],
_mm_xor_si64
(
c2
[
1410
],
_mm_xor_si64
(
c2
[
1248
],
_mm_xor_si64
(
c2
[
348
],
c2
[
1242
]))))))))))))))))))))))))));
//row: 1
d2
[
9
]
=
_mm_xor_si64
(
c2
[
540
],
_mm_xor_si64
(
c2
[
360
],
_mm_xor_si64
(
c2
[
362
],
_mm_xor_si64
(
c2
[
1082
],
_mm_xor_si64
(
c2
[
381
],
_mm_xor_si64
(
c2
[
201
],
_mm_xor_si64
(
c2
[
202
],
_mm_xor_si64
(
c2
[
1283
],
_mm_xor_si64
(
c2
[
942
],
_mm_xor_si64
(
c2
[
762
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
598
],
_mm_xor_si64
(
c2
[
418
],
_mm_xor_si64
(
c2
[
956
],
_mm_xor_si64
(
c2
[
596
],
_mm_xor_si64
(
c2
[
1335
],
_mm_xor_si64
(
c2
[
976
],
_mm_xor_si64
(
c2
[
974
],
_mm_xor_si64
(
c2
[
278
],
_mm_xor_si64
(
c2
[
630
],
_mm_xor_si64
(
c2
[
653
],
_mm_xor_si64
(
c2
[
473
],
_mm_xor_si64
(
c2
[
649
],
_mm_xor_si64
(
c2
[
108
],
_mm_xor_si64
(
c2
[
309
],
_mm_xor_si64
(
c2
[
132
],
_mm_xor_si64
(
c2
[
872
],
_mm_xor_si64
(
c2
[
1228
],
_mm_xor_si64
(
c2
[
1410
],
_mm_xor_si64
(
c2
[
1428
],
_mm_xor_si64
(
c2
[
1248
],
_mm_xor_si64
(
c2
[
348
],
c2
[
1242
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
18
]
=
_mm_xor_si64
(
c2
[
540
],
_mm_xor_si64
(
c2
[
360
],
_mm_xor_si64
(
c2
[
542
],
_mm_xor_si64
(
c2
[
362
],
_mm_xor_si64
(
c2
[
1082
],
_mm_xor_si64
(
c2
[
381
],
_mm_xor_si64
(
c2
[
201
],
_mm_xor_si64
(
c2
[
202
],
_mm_xor_si64
(
c2
[
1283
],
_mm_xor_si64
(
c2
[
942
],
_mm_xor_si64
(
c2
[
762
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
598
],
_mm_xor_si64
(
c2
[
418
],
_mm_xor_si64
(
c2
[
1136
],
_mm_xor_si64
(
c2
[
956
],
_mm_xor_si64
(
c2
[
596
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
1335
],
_mm_xor_si64
(
c2
[
976
],
_mm_xor_si64
(
c2
[
974
],
_mm_xor_si64
(
c2
[
458
],
_mm_xor_si64
(
c2
[
278
],
_mm_xor_si64
(
c2
[
630
],
_mm_xor_si64
(
c2
[
653
],
_mm_xor_si64
(
c2
[
473
],
_mm_xor_si64
(
c2
[
829
],
_mm_xor_si64
(
c2
[
649
],
_mm_xor_si64
(
c2
[
108
],
_mm_xor_si64
(
c2
[
489
],
_mm_xor_si64
(
c2
[
309
],
_mm_xor_si64
(
c2
[
132
],
_mm_xor_si64
(
c2
[
1052
],
_mm_xor_si64
(
c2
[
872
],
_mm_xor_si64
(
c2
[
1228
],
_mm_xor_si64
(
c2
[
1410
],
_mm_xor_si64
(
c2
[
1428
],
_mm_xor_si64
(
c2
[
1248
],
_mm_xor_si64
(
c2
[
528
],
_mm_xor_si64
(
c2
[
348
],
c2
[
1242
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
27
]
=
_mm_xor_si64
(
c2
[
360
],
_mm_xor_si64
(
c2
[
362
],
_mm_xor_si64
(
c2
[
1082
],
_mm_xor_si64
(
c2
[
201
],
_mm_xor_si64
(
c2
[
202
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
1283
],
_mm_xor_si64
(
c2
[
762
],
_mm_xor_si64
(
c2
[
222
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
418
],
_mm_xor_si64
(
c2
[
956
],
_mm_xor_si64
(
c2
[
596
],
_mm_xor_si64
(
c2
[
1335
],
_mm_xor_si64
(
c2
[
976
],
_mm_xor_si64
(
c2
[
1154
],
_mm_xor_si64
(
c2
[
974
],
_mm_xor_si64
(
c2
[
278
],
_mm_xor_si64
(
c2
[
810
],
_mm_xor_si64
(
c2
[
630
],
_mm_xor_si64
(
c2
[
473
],
_mm_xor_si64
(
c2
[
649
],
_mm_xor_si64
(
c2
[
288
],
_mm_xor_si64
(
c2
[
108
],
_mm_xor_si64
(
c2
[
309
],
_mm_xor_si64
(
c2
[
312
],
_mm_xor_si64
(
c2
[
132
],
_mm_xor_si64
(
c2
[
872
],
_mm_xor_si64
(
c2
[
1228
],
_mm_xor_si64
(
c2
[
151
],
_mm_xor_si64
(
c2
[
1410
],
_mm_xor_si64
(
c2
[
1248
],
_mm_xor_si64
(
c2
[
348
],
_mm_xor_si64
(
c2
[
1422
],
c2
[
1242
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
36
]
=
_mm_xor_si64
(
c2
[
1086
],
_mm_xor_si64
(
c2
[
906
],
_mm_xor_si64
(
c2
[
908
],
_mm_xor_si64
(
c2
[
180
],
_mm_xor_si64
(
c2
[
365
],
_mm_xor_si64
(
c2
[
918
],
_mm_xor_si64
(
c2
[
738
],
_mm_xor_si64
(
c2
[
739
],
_mm_xor_si64
(
c2
[
381
],
_mm_xor_si64
(
c2
[
21
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
1299
],
_mm_xor_si64
(
c2
[
579
],
_mm_xor_si64
(
c2
[
1135
],
_mm_xor_si64
(
c2
[
955
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
1142
],
_mm_xor_si64
(
c2
[
433
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
815
],
_mm_xor_si64
(
c2
[
1176
],
_mm_xor_si64
(
c2
[
1190
],
_mm_xor_si64
(
c2
[
1010
],
_mm_xor_si64
(
c2
[
1195
],
_mm_xor_si64
(
c2
[
654
],
_mm_xor_si64
(
c2
[
846
],
_mm_xor_si64
(
c2
[
669
],
_mm_xor_si64
(
c2
[
1409
],
_mm_xor_si64
(
c2
[
326
],
_mm_xor_si64
(
c2
[
508
],
_mm_xor_si64
(
c2
[
526
],
_mm_xor_si64
(
c2
[
346
],
_mm_xor_si64
(
c2
[
885
],
c2
[
349
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
45
]
=
_mm_xor_si64
(
c2
[
360
],
_mm_xor_si64
(
c2
[
180
],
_mm_xor_si64
(
c2
[
182
],
_mm_xor_si64
(
c2
[
902
],
_mm_xor_si64
(
c2
[
5
],
_mm_xor_si64
(
c2
[
201
],
_mm_xor_si64
(
c2
[
21
],
_mm_xor_si64
(
c2
[
22
],
_mm_xor_si64
(
c2
[
1103
],
_mm_xor_si64
(
c2
[
746
],
_mm_xor_si64
(
c2
[
762
],
_mm_xor_si64
(
c2
[
582
],
_mm_xor_si64
(
c2
[
1301
],
_mm_xor_si64
(
c2
[
418
],
_mm_xor_si64
(
c2
[
238
],
_mm_xor_si64
(
c2
[
776
],
_mm_xor_si64
(
c2
[
416
],
_mm_xor_si64
(
c2
[
1155
],
_mm_xor_si64
(
c2
[
796
],
_mm_xor_si64
(
c2
[
794
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
450
],
_mm_xor_si64
(
c2
[
811
],
_mm_xor_si64
(
c2
[
473
],
_mm_xor_si64
(
c2
[
293
],
_mm_xor_si64
(
c2
[
469
],
_mm_xor_si64
(
c2
[
1376
],
_mm_xor_si64
(
c2
[
129
],
_mm_xor_si64
(
c2
[
1391
],
_mm_xor_si64
(
c2
[
314
],
_mm_xor_si64
(
c2
[
692
],
_mm_xor_si64
(
c2
[
1048
],
_mm_xor_si64
(
c2
[
1230
],
_mm_xor_si64
(
c2
[
1248
],
_mm_xor_si64
(
c2
[
1068
],
_mm_xor_si64
(
c2
[
168
],
c2
[
1062
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
54
]
=
_mm_xor_si64
(
c2
[
1088
],
_mm_xor_si64
(
c2
[
908
],
_mm_xor_si64
(
c2
[
901
],
_mm_xor_si64
(
c2
[
182
],
_mm_xor_si64
(
c2
[
904
],
_mm_xor_si64
(
c2
[
920
],
_mm_xor_si64
(
c2
[
740
],
_mm_xor_si64
(
c2
[
741
],
_mm_xor_si64
(
c2
[
383
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
1301
],
_mm_xor_si64
(
c2
[
581
],
_mm_xor_si64
(
c2
[
1137
],
_mm_xor_si64
(
c2
[
957
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
1135
],
_mm_xor_si64
(
c2
[
435
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
817
],
_mm_xor_si64
(
c2
[
1178
],
_mm_xor_si64
(
c2
[
1351
],
_mm_xor_si64
(
c2
[
1192
],
_mm_xor_si64
(
c2
[
1012
],
_mm_xor_si64
(
c2
[
1188
],
_mm_xor_si64
(
c2
[
656
],
_mm_xor_si64
(
c2
[
848
],
_mm_xor_si64
(
c2
[
671
],
_mm_xor_si64
(
c2
[
670
],
_mm_xor_si64
(
c2
[
1411
],
_mm_xor_si64
(
c2
[
328
],
_mm_xor_si64
(
c2
[
510
],
_mm_xor_si64
(
c2
[
528
],
_mm_xor_si64
(
c2
[
348
],
_mm_xor_si64
(
c2
[
887
],
_mm_xor_si64
(
c2
[
342
],
c2
[
1069
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
63
]
=
_mm_xor_si64
(
c2
[
1264
],
_mm_xor_si64
(
c2
[
1084
],
_mm_xor_si64
(
c2
[
548
],
_mm_xor_si64
(
c2
[
1086
],
_mm_xor_si64
(
c2
[
541
],
_mm_xor_si64
(
c2
[
367
],
_mm_xor_si64
(
c2
[
1261
],
_mm_xor_si64
(
c2
[
1105
],
_mm_xor_si64
(
c2
[
925
],
_mm_xor_si64
(
c2
[
380
],
_mm_xor_si64
(
c2
[
926
],
_mm_xor_si64
(
c2
[
381
],
_mm_xor_si64
(
c2
[
559
],
_mm_xor_si64
(
c2
[
203
],
_mm_xor_si64
(
c2
[
23
],
_mm_xor_si64
(
c2
[
201
],
_mm_xor_si64
(
c2
[
218
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
941
],
_mm_xor_si64
(
c2
[
757
],
_mm_xor_si64
(
c2
[
401
],
_mm_xor_si64
(
c2
[
221
],
_mm_xor_si64
(
c2
[
1322
],
_mm_xor_si64
(
c2
[
1142
],
_mm_xor_si64
(
c2
[
597
],
_mm_xor_si64
(
c2
[
241
],
_mm_xor_si64
(
c2
[
1135
],
_mm_xor_si64
(
c2
[
1320
],
_mm_xor_si64
(
c2
[
775
],
_mm_xor_si64
(
c2
[
620
],
_mm_xor_si64
(
c2
[
75
],
_mm_xor_si64
(
c2
[
252
],
_mm_xor_si64
(
c2
[
1155
],
_mm_xor_si64
(
c2
[
259
],
_mm_xor_si64
(
c2
[
1333
],
_mm_xor_si64
(
c2
[
1153
],
_mm_xor_si64
(
c2
[
993
],
_mm_xor_si64
(
c2
[
457
],
_mm_xor_si64
(
c2
[
1354
],
_mm_xor_si64
(
c2
[
998
],
_mm_xor_si64
(
c2
[
818
],
_mm_xor_si64
(
c2
[
1357
],
_mm_xor_si64
(
c2
[
1368
],
_mm_xor_si64
(
c2
[
1188
],
_mm_xor_si64
(
c2
[
652
],
_mm_xor_si64
(
c2
[
1373
],
_mm_xor_si64
(
c2
[
828
],
_mm_xor_si64
(
c2
[
832
],
_mm_xor_si64
(
c2
[
476
],
_mm_xor_si64
(
c2
[
296
],
_mm_xor_si64
(
c2
[
1033
],
_mm_xor_si64
(
c2
[
488
],
_mm_xor_si64
(
c2
[
847
],
_mm_xor_si64
(
c2
[
491
],
_mm_xor_si64
(
c2
[
311
],
_mm_xor_si64
(
c2
[
670
],
_mm_xor_si64
(
c2
[
148
],
_mm_xor_si64
(
c2
[
1051
],
_mm_xor_si64
(
c2
[
504
],
_mm_xor_si64
(
c2
[
1407
],
_mm_xor_si64
(
c2
[
686
],
_mm_xor_si64
(
c2
[
330
],
_mm_xor_si64
(
c2
[
150
],
_mm_xor_si64
(
c2
[
704
],
_mm_xor_si64
(
c2
[
524
],
_mm_xor_si64
(
c2
[
1427
],
_mm_xor_si64
(
c2
[
1063
],
_mm_xor_si64
(
c2
[
527
],
_mm_xor_si64
(
c2
[
527
],
_mm_xor_si64
(
c2
[
162
],
c2
[
1430
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
72
]
=
_mm_xor_si64
(
c2
[
542
],
_mm_xor_si64
(
c2
[
362
],
_mm_xor_si64
(
c2
[
544
],
_mm_xor_si64
(
c2
[
364
],
_mm_xor_si64
(
c2
[
1084
],
_mm_xor_si64
(
c2
[
1088
],
_mm_xor_si64
(
c2
[
383
],
_mm_xor_si64
(
c2
[
203
],
_mm_xor_si64
(
c2
[
204
],
_mm_xor_si64
(
c2
[
1285
],
_mm_xor_si64
(
c2
[
926
],
_mm_xor_si64
(
c2
[
944
],
_mm_xor_si64
(
c2
[
764
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
600
],
_mm_xor_si64
(
c2
[
420
],
_mm_xor_si64
(
c2
[
1138
],
_mm_xor_si64
(
c2
[
958
],
_mm_xor_si64
(
c2
[
598
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
1337
],
_mm_xor_si64
(
c2
[
978
],
_mm_xor_si64
(
c2
[
976
],
_mm_xor_si64
(
c2
[
451
],
_mm_xor_si64
(
c2
[
271
],
_mm_xor_si64
(
c2
[
632
],
_mm_xor_si64
(
c2
[
655
],
_mm_xor_si64
(
c2
[
475
],
_mm_xor_si64
(
c2
[
831
],
_mm_xor_si64
(
c2
[
651
],
_mm_xor_si64
(
c2
[
110
],
_mm_xor_si64
(
c2
[
491
],
_mm_xor_si64
(
c2
[
311
],
_mm_xor_si64
(
c2
[
134
],
_mm_xor_si64
(
c2
[
1045
],
_mm_xor_si64
(
c2
[
865
],
_mm_xor_si64
(
c2
[
1230
],
_mm_xor_si64
(
c2
[
1412
],
_mm_xor_si64
(
c2
[
1430
],
_mm_xor_si64
(
c2
[
1250
],
_mm_xor_si64
(
c2
[
530
],
_mm_xor_si64
(
c2
[
350
],
c2
[
1244
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
81
]
=
_mm_xor_si64
(
c2
[
363
],
_mm_xor_si64
(
c2
[
726
],
_mm_xor_si64
(
c2
[
546
],
_mm_xor_si64
(
c2
[
365
],
_mm_xor_si64
(
c2
[
548
],
_mm_xor_si64
(
c2
[
1085
],
_mm_xor_si64
(
c2
[
1268
],
_mm_xor_si64
(
c2
[
204
],
_mm_xor_si64
(
c2
[
558
],
_mm_xor_si64
(
c2
[
378
],
_mm_xor_si64
(
c2
[
205
],
_mm_xor_si64
(
c2
[
379
],
_mm_xor_si64
(
c2
[
1286
],
_mm_xor_si64
(
c2
[
21
],
_mm_xor_si64
(
c2
[
201
],
_mm_xor_si64
(
c2
[
756
],
_mm_xor_si64
(
c2
[
1119
],
_mm_xor_si64
(
c2
[
939
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
219
],
_mm_xor_si64
(
c2
[
421
],
_mm_xor_si64
(
c2
[
775
],
_mm_xor_si64
(
c2
[
595
],
_mm_xor_si64
(
c2
[
959
],
_mm_xor_si64
(
c2
[
1142
],
_mm_xor_si64
(
c2
[
599
],
_mm_xor_si64
(
c2
[
782
],
_mm_xor_si64
(
c2
[
1338
],
_mm_xor_si64
(
c2
[
73
],
_mm_xor_si64
(
c2
[
979
],
_mm_xor_si64
(
c2
[
1153
],
_mm_xor_si64
(
c2
[
977
],
_mm_xor_si64
(
c2
[
1160
],
_mm_xor_si64
(
c2
[
272
],
_mm_xor_si64
(
c2
[
455
],
_mm_xor_si64
(
c2
[
633
],
_mm_xor_si64
(
c2
[
816
],
_mm_xor_si64
(
c2
[
476
],
_mm_xor_si64
(
c2
[
830
],
_mm_xor_si64
(
c2
[
650
],
_mm_xor_si64
(
c2
[
652
],
_mm_xor_si64
(
c2
[
835
],
_mm_xor_si64
(
c2
[
111
],
_mm_xor_si64
(
c2
[
294
],
_mm_xor_si64
(
c2
[
312
],
_mm_xor_si64
(
c2
[
486
],
_mm_xor_si64
(
c2
[
126
],
_mm_xor_si64
(
c2
[
309
],
_mm_xor_si64
(
c2
[
866
],
_mm_xor_si64
(
c2
[
1049
],
_mm_xor_si64
(
c2
[
1231
],
_mm_xor_si64
(
c2
[
1405
],
_mm_xor_si64
(
c2
[
1404
],
_mm_xor_si64
(
c2
[
148
],
_mm_xor_si64
(
c2
[
149
],
_mm_xor_si64
(
c2
[
1242
],
_mm_xor_si64
(
c2
[
166
],
_mm_xor_si64
(
c2
[
1425
],
_mm_xor_si64
(
c2
[
342
],
_mm_xor_si64
(
c2
[
525
],
_mm_xor_si64
(
c2
[
1245
],
c2
[
1428
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
90
]
=
_mm_xor_si64
(
c2
[
1085
],
_mm_xor_si64
(
c2
[
203
],
_mm_xor_si64
(
c2
[
1011
],
c2
[
129
])));
//row: 11
d2
[
99
]
=
_mm_xor_si64
(
c2
[
368
],
_mm_xor_si64
(
c2
[
361
],
_mm_xor_si64
(
c2
[
1081
],
_mm_xor_si64
(
c2
[
723
],
_mm_xor_si64
(
c2
[
200
],
_mm_xor_si64
(
c2
[
201
],
_mm_xor_si64
(
c2
[
23
],
_mm_xor_si64
(
c2
[
1282
],
_mm_xor_si64
(
c2
[
761
],
_mm_xor_si64
(
c2
[
221
],
_mm_xor_si64
(
c2
[
41
],
_mm_xor_si64
(
c2
[
417
],
_mm_xor_si64
(
c2
[
955
],
_mm_xor_si64
(
c2
[
595
],
_mm_xor_si64
(
c2
[
1334
],
_mm_xor_si64
(
c2
[
975
],
_mm_xor_si64
(
c2
[
1153
],
_mm_xor_si64
(
c2
[
973
],
_mm_xor_si64
(
c2
[
277
],
_mm_xor_si64
(
c2
[
818
],
_mm_xor_si64
(
c2
[
638
],
_mm_xor_si64
(
c2
[
472
],
_mm_xor_si64
(
c2
[
648
],
_mm_xor_si64
(
c2
[
296
],
_mm_xor_si64
(
c2
[
116
],
_mm_xor_si64
(
c2
[
308
],
_mm_xor_si64
(
c2
[
311
],
_mm_xor_si64
(
c2
[
131
],
_mm_xor_si64
(
c2
[
1209
],
_mm_xor_si64
(
c2
[
871
],
_mm_xor_si64
(
c2
[
1227
],
_mm_xor_si64
(
c2
[
150
],
_mm_xor_si64
(
c2
[
1409
],
_mm_xor_si64
(
c2
[
1247
],
_mm_xor_si64
(
c2
[
347
],
_mm_xor_si64
(
c2
[
1430
],
_mm_xor_si64
(
c2
[
1250
],
c2
[
887
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
108
]
=
_mm_xor_si64
(
c2
[
1087
],
_mm_xor_si64
(
c2
[
907
],
_mm_xor_si64
(
c2
[
900
],
_mm_xor_si64
(
c2
[
181
],
_mm_xor_si64
(
c2
[
919
],
_mm_xor_si64
(
c2
[
739
],
_mm_xor_si64
(
c2
[
740
],
_mm_xor_si64
(
c2
[
382
],
_mm_xor_si64
(
c2
[
202
],
_mm_xor_si64
(
c2
[
41
],
_mm_xor_si64
(
c2
[
1300
],
_mm_xor_si64
(
c2
[
580
],
_mm_xor_si64
(
c2
[
1136
],
_mm_xor_si64
(
c2
[
956
],
_mm_xor_si64
(
c2
[
55
],
_mm_xor_si64
(
c2
[
1134
],
_mm_xor_si64
(
c2
[
420
],
_mm_xor_si64
(
c2
[
434
],
_mm_xor_si64
(
c2
[
75
],
_mm_xor_si64
(
c2
[
73
],
_mm_xor_si64
(
c2
[
816
],
_mm_xor_si64
(
c2
[
1177
],
_mm_xor_si64
(
c2
[
1191
],
_mm_xor_si64
(
c2
[
1011
],
_mm_xor_si64
(
c2
[
1196
],
_mm_xor_si64
(
c2
[
655
],
_mm_xor_si64
(
c2
[
847
],
_mm_xor_si64
(
c2
[
670
],
_mm_xor_si64
(
c2
[
1410
],
_mm_xor_si64
(
c2
[
327
],
_mm_xor_si64
(
c2
[
509
],
_mm_xor_si64
(
c2
[
527
],
_mm_xor_si64
(
c2
[
347
],
_mm_xor_si64
(
c2
[
886
],
c2
[
350
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
117
]
=
_mm_xor_si64
(
c2
[
186
],
_mm_xor_si64
(
c2
[
188
],
_mm_xor_si64
(
c2
[
908
],
_mm_xor_si64
(
c2
[
720
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
19
],
_mm_xor_si64
(
c2
[
1280
],
_mm_xor_si64
(
c2
[
1100
],
_mm_xor_si64
(
c2
[
922
],
_mm_xor_si64
(
c2
[
579
],
_mm_xor_si64
(
c2
[
39
],
_mm_xor_si64
(
c2
[
1298
],
_mm_xor_si64
(
c2
[
235
],
_mm_xor_si64
(
c2
[
782
],
_mm_xor_si64
(
c2
[
422
],
_mm_xor_si64
(
c2
[
1152
],
_mm_xor_si64
(
c2
[
793
],
_mm_xor_si64
(
c2
[
980
],
_mm_xor_si64
(
c2
[
800
],
_mm_xor_si64
(
c2
[
95
],
_mm_xor_si64
(
c2
[
636
],
_mm_xor_si64
(
c2
[
456
],
_mm_xor_si64
(
c2
[
290
],
_mm_xor_si64
(
c2
[
475
],
_mm_xor_si64
(
c2
[
114
],
_mm_xor_si64
(
c2
[
1373
],
_mm_xor_si64
(
c2
[
126
],
_mm_xor_si64
(
c2
[
129
],
_mm_xor_si64
(
c2
[
1388
],
_mm_xor_si64
(
c2
[
689
],
_mm_xor_si64
(
c2
[
1045
],
_mm_xor_si64
(
c2
[
1407
],
_mm_xor_si64
(
c2
[
1227
],
_mm_xor_si64
(
c2
[
1231
],
_mm_xor_si64
(
c2
[
1065
],
_mm_xor_si64
(
c2
[
165
],
_mm_xor_si64
(
c2
[
1248
],
c2
[
1068
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
126
]
=
_mm_xor_si64
(
c2
[
907
],
_mm_xor_si64
(
c2
[
727
],
_mm_xor_si64
(
c2
[
543
],
_mm_xor_si64
(
c2
[
720
],
_mm_xor_si64
(
c2
[
545
],
_mm_xor_si64
(
c2
[
1
],
_mm_xor_si64
(
c2
[
1265
],
_mm_xor_si64
(
c2
[
739
],
_mm_xor_si64
(
c2
[
559
],
_mm_xor_si64
(
c2
[
384
],
_mm_xor_si64
(
c2
[
560
],
_mm_xor_si64
(
c2
[
385
],
_mm_xor_si64
(
c2
[
202
],
_mm_xor_si64
(
c2
[
198
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
1286
],
_mm_xor_si64
(
c2
[
1300
],
_mm_xor_si64
(
c2
[
1120
],
_mm_xor_si64
(
c2
[
936
],
_mm_xor_si64
(
c2
[
400
],
_mm_xor_si64
(
c2
[
396
],
_mm_xor_si64
(
c2
[
216
],
_mm_xor_si64
(
c2
[
956
],
_mm_xor_si64
(
c2
[
776
],
_mm_xor_si64
(
c2
[
601
],
_mm_xor_si64
(
c2
[
1314
],
_mm_xor_si64
(
c2
[
1139
],
_mm_xor_si64
(
c2
[
954
],
_mm_xor_si64
(
c2
[
779
],
_mm_xor_si64
(
c2
[
254
],
_mm_xor_si64
(
c2
[
79
],
_mm_xor_si64
(
c2
[
1334
],
_mm_xor_si64
(
c2
[
1159
],
_mm_xor_si64
(
c2
[
1332
],
_mm_xor_si64
(
c2
[
1337
],
_mm_xor_si64
(
c2
[
1157
],
_mm_xor_si64
(
c2
[
636
],
_mm_xor_si64
(
c2
[
452
],
_mm_xor_si64
(
c2
[
997
],
_mm_xor_si64
(
c2
[
993
],
_mm_xor_si64
(
c2
[
813
],
_mm_xor_si64
(
c2
[
1011
],
_mm_xor_si64
(
c2
[
831
],
_mm_xor_si64
(
c2
[
656
],
_mm_xor_si64
(
c2
[
1016
],
_mm_xor_si64
(
c2
[
832
],
_mm_xor_si64
(
c2
[
475
],
_mm_xor_si64
(
c2
[
471
],
_mm_xor_si64
(
c2
[
291
],
_mm_xor_si64
(
c2
[
654
],
_mm_xor_si64
(
c2
[
667
],
_mm_xor_si64
(
c2
[
492
],
_mm_xor_si64
(
c2
[
490
],
_mm_xor_si64
(
c2
[
486
],
_mm_xor_si64
(
c2
[
306
],
_mm_xor_si64
(
c2
[
1230
],
_mm_xor_si64
(
c2
[
1046
],
_mm_xor_si64
(
c2
[
147
],
_mm_xor_si64
(
c2
[
1411
],
_mm_xor_si64
(
c2
[
329
],
_mm_xor_si64
(
c2
[
325
],
_mm_xor_si64
(
c2
[
145
],
_mm_xor_si64
(
c2
[
347
],
_mm_xor_si64
(
c2
[
167
],
_mm_xor_si64
(
c2
[
1422
],
_mm_xor_si64
(
c2
[
706
],
_mm_xor_si64
(
c2
[
522
],
_mm_xor_si64
(
c2
[
170
],
_mm_xor_si64
(
c2
[
166
],
c2
[
1425
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
135
]
=
_mm_xor_si64
(
c2
[
363
],
_mm_xor_si64
(
c2
[
547
],
_mm_xor_si64
(
c2
[
367
],
_mm_xor_si64
(
c2
[
365
],
_mm_xor_si64
(
c2
[
360
],
_mm_xor_si64
(
c2
[
1085
],
_mm_xor_si64
(
c2
[
1080
],
_mm_xor_si64
(
c2
[
548
],
_mm_xor_si64
(
c2
[
204
],
_mm_xor_si64
(
c2
[
379
],
_mm_xor_si64
(
c2
[
199
],
_mm_xor_si64
(
c2
[
205
],
_mm_xor_si64
(
c2
[
200
],
_mm_xor_si64
(
c2
[
1286
],
_mm_xor_si64
(
c2
[
1281
],
_mm_xor_si64
(
c2
[
756
],
_mm_xor_si64
(
c2
[
940
],
_mm_xor_si64
(
c2
[
760
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
421
],
_mm_xor_si64
(
c2
[
596
],
_mm_xor_si64
(
c2
[
416
],
_mm_xor_si64
(
c2
[
959
],
_mm_xor_si64
(
c2
[
954
],
_mm_xor_si64
(
c2
[
599
],
_mm_xor_si64
(
c2
[
594
],
_mm_xor_si64
(
c2
[
1338
],
_mm_xor_si64
(
c2
[
1333
],
_mm_xor_si64
(
c2
[
979
],
_mm_xor_si64
(
c2
[
974
],
_mm_xor_si64
(
c2
[
977
],
_mm_xor_si64
(
c2
[
972
],
_mm_xor_si64
(
c2
[
272
],
_mm_xor_si64
(
c2
[
276
],
_mm_xor_si64
(
c2
[
633
],
_mm_xor_si64
(
c2
[
637
],
_mm_xor_si64
(
c2
[
476
],
_mm_xor_si64
(
c2
[
651
],
_mm_xor_si64
(
c2
[
471
],
_mm_xor_si64
(
c2
[
652
],
_mm_xor_si64
(
c2
[
656
],
_mm_xor_si64
(
c2
[
111
],
_mm_xor_si64
(
c2
[
115
],
_mm_xor_si64
(
c2
[
312
],
_mm_xor_si64
(
c2
[
307
],
_mm_xor_si64
(
c2
[
126
],
_mm_xor_si64
(
c2
[
130
],
_mm_xor_si64
(
c2
[
866
],
_mm_xor_si64
(
c2
[
870
],
_mm_xor_si64
(
c2
[
1231
],
_mm_xor_si64
(
c2
[
1226
],
_mm_xor_si64
(
c2
[
1404
],
_mm_xor_si64
(
c2
[
1408
],
_mm_xor_si64
(
c2
[
1242
],
_mm_xor_si64
(
c2
[
1426
],
_mm_xor_si64
(
c2
[
1246
],
_mm_xor_si64
(
c2
[
342
],
_mm_xor_si64
(
c2
[
346
],
_mm_xor_si64
(
c2
[
1245
],
c2
[
1249
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
144
]
=
_mm_xor_si64
(
c2
[
1263
],
_mm_xor_si64
(
c2
[
1083
],
_mm_xor_si64
(
c2
[
541
],
_mm_xor_si64
(
c2
[
361
],
_mm_xor_si64
(
c2
[
1085
],
_mm_xor_si64
(
c2
[
543
],
_mm_xor_si64
(
c2
[
363
],
_mm_xor_si64
(
c2
[
366
],
_mm_xor_si64
(
c2
[
1083
],
_mm_xor_si64
(
c2
[
1104
],
_mm_xor_si64
(
c2
[
924
],
_mm_xor_si64
(
c2
[
382
],
_mm_xor_si64
(
c2
[
202
],
_mm_xor_si64
(
c2
[
925
],
_mm_xor_si64
(
c2
[
203
],
_mm_xor_si64
(
c2
[
558
],
_mm_xor_si64
(
c2
[
1284
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
217
],
_mm_xor_si64
(
c2
[
37
],
_mm_xor_si64
(
c2
[
943
],
_mm_xor_si64
(
c2
[
763
],
_mm_xor_si64
(
c2
[
756
],
_mm_xor_si64
(
c2
[
43
],
_mm_xor_si64
(
c2
[
1321
],
_mm_xor_si64
(
c2
[
1141
],
_mm_xor_si64
(
c2
[
599
],
_mm_xor_si64
(
c2
[
419
],
_mm_xor_si64
(
c2
[
240
],
_mm_xor_si64
(
c2
[
1137
],
_mm_xor_si64
(
c2
[
957
],
_mm_xor_si64
(
c2
[
1319
],
_mm_xor_si64
(
c2
[
597
],
_mm_xor_si64
(
c2
[
619
],
_mm_xor_si64
(
c2
[
77
],
_mm_xor_si64
(
c2
[
1336
],
_mm_xor_si64
(
c2
[
260
],
_mm_xor_si64
(
c2
[
977
],
_mm_xor_si64
(
c2
[
258
],
_mm_xor_si64
(
c2
[
975
],
_mm_xor_si64
(
c2
[
992
],
_mm_xor_si64
(
c2
[
450
],
_mm_xor_si64
(
c2
[
270
],
_mm_xor_si64
(
c2
[
1353
],
_mm_xor_si64
(
c2
[
631
],
_mm_xor_si64
(
c2
[
1376
],
_mm_xor_si64
(
c2
[
1196
],
_mm_xor_si64
(
c2
[
654
],
_mm_xor_si64
(
c2
[
474
],
_mm_xor_si64
(
c2
[
1372
],
_mm_xor_si64
(
c2
[
830
],
_mm_xor_si64
(
c2
[
650
],
_mm_xor_si64
(
c2
[
831
],
_mm_xor_si64
(
c2
[
109
],
_mm_xor_si64
(
c2
[
1032
],
_mm_xor_si64
(
c2
[
490
],
_mm_xor_si64
(
c2
[
310
],
_mm_xor_si64
(
c2
[
846
],
_mm_xor_si64
(
c2
[
133
],
_mm_xor_si64
(
c2
[
147
],
_mm_xor_si64
(
c2
[
1044
],
_mm_xor_si64
(
c2
[
864
],
_mm_xor_si64
(
c2
[
512
],
_mm_xor_si64
(
c2
[
1229
],
_mm_xor_si64
(
c2
[
685
],
_mm_xor_si64
(
c2
[
1411
],
_mm_xor_si64
(
c2
[
703
],
_mm_xor_si64
(
c2
[
523
],
_mm_xor_si64
(
c2
[
1429
],
_mm_xor_si64
(
c2
[
1249
],
_mm_xor_si64
(
c2
[
1062
],
_mm_xor_si64
(
c2
[
529
],
_mm_xor_si64
(
c2
[
349
],
_mm_xor_si64
(
c2
[
526
],
_mm_xor_si64
(
c2
[
1243
],
c2
[
343
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
153
]
=
_mm_xor_si64
(
c2
[
728
],
_mm_xor_si64
(
c2
[
548
],
_mm_xor_si64
(
c2
[
905
],
_mm_xor_si64
(
c2
[
725
],
_mm_xor_si64
(
c2
[
541
],
_mm_xor_si64
(
c2
[
907
],
_mm_xor_si64
(
c2
[
727
],
_mm_xor_si64
(
c2
[
1261
],
_mm_xor_si64
(
c2
[
8
],
_mm_xor_si64
(
c2
[
560
],
_mm_xor_si64
(
c2
[
380
],
_mm_xor_si64
(
c2
[
746
],
_mm_xor_si64
(
c2
[
566
],
_mm_xor_si64
(
c2
[
381
],
_mm_xor_si64
(
c2
[
558
],
_mm_xor_si64
(
c2
[
23
],
_mm_xor_si64
(
c2
[
200
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
1121
],
_mm_xor_si64
(
c2
[
941
],
_mm_xor_si64
(
c2
[
1298
],
_mm_xor_si64
(
c2
[
1118
],
_mm_xor_si64
(
c2
[
221
],
_mm_xor_si64
(
c2
[
398
],
_mm_xor_si64
(
c2
[
777
],
_mm_xor_si64
(
c2
[
597
],
_mm_xor_si64
(
c2
[
954
],
_mm_xor_si64
(
c2
[
774
],
_mm_xor_si64
(
c2
[
1135
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
1321
],
_mm_xor_si64
(
c2
[
775
],
_mm_xor_si64
(
c2
[
961
],
_mm_xor_si64
(
c2
[
75
],
_mm_xor_si64
(
c2
[
432
],
_mm_xor_si64
(
c2
[
252
],
_mm_xor_si64
(
c2
[
1155
],
_mm_xor_si64
(
c2
[
1332
],
_mm_xor_si64
(
c2
[
1153
],
_mm_xor_si64
(
c2
[
1339
],
_mm_xor_si64
(
c2
[
457
],
_mm_xor_si64
(
c2
[
814
],
_mm_xor_si64
(
c2
[
634
],
_mm_xor_si64
(
c2
[
818
],
_mm_xor_si64
(
c2
[
995
],
_mm_xor_si64
(
c2
[
635
],
_mm_xor_si64
(
c2
[
832
],
_mm_xor_si64
(
c2
[
652
],
_mm_xor_si64
(
c2
[
1009
],
_mm_xor_si64
(
c2
[
829
],
_mm_xor_si64
(
c2
[
828
],
_mm_xor_si64
(
c2
[
1194
],
_mm_xor_si64
(
c2
[
1014
],
_mm_xor_si64
(
c2
[
296
],
_mm_xor_si64
(
c2
[
473
],
_mm_xor_si64
(
c2
[
488
],
_mm_xor_si64
(
c2
[
854
],
_mm_xor_si64
(
c2
[
674
],
_mm_xor_si64
(
c2
[
311
],
_mm_xor_si64
(
c2
[
488
],
_mm_xor_si64
(
c2
[
1051
],
_mm_xor_si64
(
c2
[
1408
],
_mm_xor_si64
(
c2
[
1228
],
_mm_xor_si64
(
c2
[
1407
],
_mm_xor_si64
(
c2
[
145
],
_mm_xor_si64
(
c2
[
150
],
_mm_xor_si64
(
c2
[
327
],
_mm_xor_si64
(
c2
[
168
],
_mm_xor_si64
(
c2
[
1427
],
_mm_xor_si64
(
c2
[
345
],
_mm_xor_si64
(
c2
[
165
],
_mm_xor_si64
(
c2
[
527
],
_mm_xor_si64
(
c2
[
884
],
_mm_xor_si64
(
c2
[
704
],
_mm_xor_si64
(
c2
[
1430
],
c2
[
168
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
162
]
=
_mm_xor_si64
(
c2
[
182
],
_mm_xor_si64
(
c2
[
472
],
c2
[
1214
]));
//row: 19
d2
[
171
]
=
_mm_xor_si64
(
c2
[
545
],
_mm_xor_si64
(
c2
[
547
],
_mm_xor_si64
(
c2
[
1267
],
_mm_xor_si64
(
c2
[
1260
],
_mm_xor_si64
(
c2
[
386
],
_mm_xor_si64
(
c2
[
378
],
_mm_xor_si64
(
c2
[
20
],
_mm_xor_si64
(
c2
[
741
],
_mm_xor_si64
(
c2
[
938
],
_mm_xor_si64
(
c2
[
218
],
_mm_xor_si64
(
c2
[
594
],
_mm_xor_si64
(
c2
[
1141
],
_mm_xor_si64
(
c2
[
781
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
1152
],
_mm_xor_si64
(
c2
[
1159
],
_mm_xor_si64
(
c2
[
454
],
_mm_xor_si64
(
c2
[
815
],
_mm_xor_si64
(
c2
[
649
],
_mm_xor_si64
(
c2
[
834
],
_mm_xor_si64
(
c2
[
293
],
_mm_xor_si64
(
c2
[
494
],
_mm_xor_si64
(
c2
[
308
],
_mm_xor_si64
(
c2
[
1048
],
_mm_xor_si64
(
c2
[
1404
],
_mm_xor_si64
(
c2
[
147
],
_mm_xor_si64
(
c2
[
1424
],
_mm_xor_si64
(
c2
[
524
],
c2
[
1427
]))))))))))))))))))))))))))));
//row: 20
d2
[
180
]
=
_mm_xor_si64
(
c2
[
181
],
_mm_xor_si64
(
c2
[
1
],
_mm_xor_si64
(
c2
[
3
],
_mm_xor_si64
(
c2
[
723
],
_mm_xor_si64
(
c2
[
22
],
_mm_xor_si64
(
c2
[
1281
],
_mm_xor_si64
(
c2
[
1282
],
_mm_xor_si64
(
c2
[
924
],
_mm_xor_si64
(
c2
[
378
],
_mm_xor_si64
(
c2
[
583
],
_mm_xor_si64
(
c2
[
403
],
_mm_xor_si64
(
c2
[
1122
],
_mm_xor_si64
(
c2
[
239
],
_mm_xor_si64
(
c2
[
59
],
_mm_xor_si64
(
c2
[
597
],
_mm_xor_si64
(
c2
[
237
],
_mm_xor_si64
(
c2
[
976
],
_mm_xor_si64
(
c2
[
617
],
_mm_xor_si64
(
c2
[
615
],
_mm_xor_si64
(
c2
[
1335
],
_mm_xor_si64
(
c2
[
1358
],
_mm_xor_si64
(
c2
[
271
],
_mm_xor_si64
(
c2
[
294
],
_mm_xor_si64
(
c2
[
114
],
_mm_xor_si64
(
c2
[
290
],
_mm_xor_si64
(
c2
[
1188
],
_mm_xor_si64
(
c2
[
1389
],
_mm_xor_si64
(
c2
[
1212
],
_mm_xor_si64
(
c2
[
504
],
_mm_xor_si64
(
c2
[
869
],
_mm_xor_si64
(
c2
[
1051
],
_mm_xor_si64
(
c2
[
1069
],
_mm_xor_si64
(
c2
[
889
],
_mm_xor_si64
(
c2
[
1428
],
c2
[
883
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
189
]
=
_mm_xor_si64
(
c2
[
541
],
_mm_xor_si64
(
c2
[
543
],
_mm_xor_si64
(
c2
[
1263
],
_mm_xor_si64
(
c2
[
542
],
_mm_xor_si64
(
c2
[
382
],
_mm_xor_si64
(
c2
[
383
],
_mm_xor_si64
(
c2
[
205
],
_mm_xor_si64
(
c2
[
25
],
_mm_xor_si64
(
c2
[
943
],
_mm_xor_si64
(
c2
[
403
],
_mm_xor_si64
(
c2
[
223
],
_mm_xor_si64
(
c2
[
599
],
_mm_xor_si64
(
c2
[
1137
],
_mm_xor_si64
(
c2
[
777
],
_mm_xor_si64
(
c2
[
77
],
_mm_xor_si64
(
c2
[
1157
],
_mm_xor_si64
(
c2
[
1335
],
_mm_xor_si64
(
c2
[
1155
],
_mm_xor_si64
(
c2
[
450
],
_mm_xor_si64
(
c2
[
991
],
_mm_xor_si64
(
c2
[
811
],
_mm_xor_si64
(
c2
[
654
],
_mm_xor_si64
(
c2
[
830
],
_mm_xor_si64
(
c2
[
469
],
_mm_xor_si64
(
c2
[
289
],
_mm_xor_si64
(
c2
[
490
],
_mm_xor_si64
(
c2
[
493
],
_mm_xor_si64
(
c2
[
313
],
_mm_xor_si64
(
c2
[
1044
],
_mm_xor_si64
(
c2
[
1409
],
_mm_xor_si64
(
c2
[
332
],
_mm_xor_si64
(
c2
[
152
],
_mm_xor_si64
(
c2
[
684
],
_mm_xor_si64
(
c2
[
1429
],
_mm_xor_si64
(
c2
[
529
],
_mm_xor_si64
(
c2
[
164
],
c2
[
1423
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
198
]
=
_mm_xor_si64
(
c2
[
1104
],
c2
[
763
]);
//row: 23
d2
[
207
]
=
_mm_xor_si64
(
c2
[
728
],
_mm_xor_si64
(
c2
[
599
],
c2
[
97
]));
//row: 24
d2
[
216
]
=
_mm_xor_si64
(
c2
[
1101
],
_mm_xor_si64
(
c2
[
401
],
c2
[
1065
]));
//row: 25
d2
[
225
]
=
_mm_xor_si64
(
c2
[
7
],
c2
[
1357
]);
//row: 26
d2
[
234
]
=
_mm_xor_si64
(
c2
[
1263
],
_mm_xor_si64
(
c2
[
1083
],
_mm_xor_si64
(
c2
[
1267
],
_mm_xor_si64
(
c2
[
1265
],
_mm_xor_si64
(
c2
[
1085
],
_mm_xor_si64
(
c2
[
1260
],
_mm_xor_si64
(
c2
[
366
],
_mm_xor_si64
(
c2
[
541
],
_mm_xor_si64
(
c2
[
1104
],
_mm_xor_si64
(
c2
[
924
],
_mm_xor_si64
(
c2
[
1099
],
_mm_xor_si64
(
c2
[
925
],
_mm_xor_si64
(
c2
[
1100
],
_mm_xor_si64
(
c2
[
558
],
_mm_xor_si64
(
c2
[
922
],
_mm_xor_si64
(
c2
[
742
],
_mm_xor_si64
(
c2
[
217
],
_mm_xor_si64
(
c2
[
37
],
_mm_xor_si64
(
c2
[
221
],
_mm_xor_si64
(
c2
[
756
],
_mm_xor_si64
(
c2
[
1120
],
_mm_xor_si64
(
c2
[
940
],
_mm_xor_si64
(
c2
[
1124
],
_mm_xor_si64
(
c2
[
1321
],
_mm_xor_si64
(
c2
[
1141
],
_mm_xor_si64
(
c2
[
1316
],
_mm_xor_si64
(
c2
[
420
],
_mm_xor_si64
(
c2
[
240
],
_mm_xor_si64
(
c2
[
415
],
_mm_xor_si64
(
c2
[
1319
],
_mm_xor_si64
(
c2
[
55
],
_mm_xor_si64
(
c2
[
799
],
_mm_xor_si64
(
c2
[
619
],
_mm_xor_si64
(
c2
[
794
],
_mm_xor_si64
(
c2
[
260
],
_mm_xor_si64
(
c2
[
435
],
_mm_xor_si64
(
c2
[
258
],
_mm_xor_si64
(
c2
[
613
],
_mm_xor_si64
(
c2
[
433
],
_mm_xor_si64
(
c2
[
1172
],
_mm_xor_si64
(
c2
[
992
],
_mm_xor_si64
(
c2
[
1176
],
_mm_xor_si64
(
c2
[
1353
],
_mm_xor_si64
(
c2
[
278
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
1376
],
_mm_xor_si64
(
c2
[
1196
],
_mm_xor_si64
(
c2
[
1371
],
_mm_xor_si64
(
c2
[
113
],
_mm_xor_si64
(
c2
[
1372
],
_mm_xor_si64
(
c2
[
108
],
_mm_xor_si64
(
c2
[
831
],
_mm_xor_si64
(
c2
[
1195
],
_mm_xor_si64
(
c2
[
1015
],
_mm_xor_si64
(
c2
[
1212
],
_mm_xor_si64
(
c2
[
1032
],
_mm_xor_si64
(
c2
[
1207
],
_mm_xor_si64
(
c2
[
846
],
_mm_xor_si64
(
c2
[
1210
],
_mm_xor_si64
(
c2
[
1030
],
_mm_xor_si64
(
c2
[
849
],
_mm_xor_si64
(
c2
[
327
],
_mm_xor_si64
(
c2
[
147
],
_mm_xor_si64
(
c2
[
331
],
_mm_xor_si64
(
c2
[
512
],
_mm_xor_si64
(
c2
[
687
],
_mm_xor_si64
(
c2
[
685
],
_mm_xor_si64
(
c2
[
1049
],
_mm_xor_si64
(
c2
[
869
],
_mm_xor_si64
(
c2
[
703
],
_mm_xor_si64
(
c2
[
523
],
_mm_xor_si64
(
c2
[
707
],
_mm_xor_si64
(
c2
[
1242
],
_mm_xor_si64
(
c2
[
1062
],
_mm_xor_si64
(
c2
[
1246
],
_mm_xor_si64
(
c2
[
526
],
_mm_xor_si64
(
c2
[
890
],
c2
[
710
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
243
]
=
_mm_xor_si64
(
c2
[
901
],
c2
[
469
]);
//row: 28
d2
[
252
]
=
_mm_xor_si64
(
c2
[
382
],
_mm_xor_si64
(
c2
[
936
],
c2
[
635
]));
//row: 29
d2
[
261
]
=
_mm_xor_si64
(
c2
[
907
],
c2
[
255
]);
//row: 30
d2
[
270
]
=
_mm_xor_si64
(
c2
[
1297
],
_mm_xor_si64
(
c2
[
97
],
_mm_xor_si64
(
c2
[
130
],
c2
[
1250
])));
//row: 31
d2
[
279
]
=
_mm_xor_si64
(
c2
[
908
],
_mm_xor_si64
(
c2
[
901
],
_mm_xor_si64
(
c2
[
182
],
_mm_xor_si64
(
c2
[
740
],
_mm_xor_si64
(
c2
[
741
],
_mm_xor_si64
(
c2
[
563
],
_mm_xor_si64
(
c2
[
383
],
_mm_xor_si64
(
c2
[
19
],
_mm_xor_si64
(
c2
[
1301
],
_mm_xor_si64
(
c2
[
761
],
_mm_xor_si64
(
c2
[
581
],
_mm_xor_si64
(
c2
[
957
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
1135
],
_mm_xor_si64
(
c2
[
435
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
254
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
817
],
_mm_xor_si64
(
c2
[
1358
],
_mm_xor_si64
(
c2
[
1178
],
_mm_xor_si64
(
c2
[
1012
],
_mm_xor_si64
(
c2
[
1188
],
_mm_xor_si64
(
c2
[
836
],
_mm_xor_si64
(
c2
[
656
],
_mm_xor_si64
(
c2
[
848
],
_mm_xor_si64
(
c2
[
851
],
_mm_xor_si64
(
c2
[
671
],
_mm_xor_si64
(
c2
[
1411
],
_mm_xor_si64
(
c2
[
328
],
_mm_xor_si64
(
c2
[
690
],
_mm_xor_si64
(
c2
[
510
],
_mm_xor_si64
(
c2
[
348
],
_mm_xor_si64
(
c2
[
887
],
_mm_xor_si64
(
c2
[
522
],
c2
[
342
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
288
]
=
_mm_xor_si64
(
c2
[
360
],
_mm_xor_si64
(
c2
[
180
],
_mm_xor_si64
(
c2
[
362
],
_mm_xor_si64
(
c2
[
182
],
_mm_xor_si64
(
c2
[
902
],
_mm_xor_si64
(
c2
[
4
],
_mm_xor_si64
(
c2
[
201
],
_mm_xor_si64
(
c2
[
21
],
_mm_xor_si64
(
c2
[
22
],
_mm_xor_si64
(
c2
[
1103
],
_mm_xor_si64
(
c2
[
762
],
_mm_xor_si64
(
c2
[
582
],
_mm_xor_si64
(
c2
[
1301
],
_mm_xor_si64
(
c2
[
418
],
_mm_xor_si64
(
c2
[
238
],
_mm_xor_si64
(
c2
[
956
],
_mm_xor_si64
(
c2
[
776
],
_mm_xor_si64
(
c2
[
416
],
_mm_xor_si64
(
c2
[
1335
],
_mm_xor_si64
(
c2
[
1155
],
_mm_xor_si64
(
c2
[
796
],
_mm_xor_si64
(
c2
[
794
],
_mm_xor_si64
(
c2
[
278
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
450
],
_mm_xor_si64
(
c2
[
272
],
_mm_xor_si64
(
c2
[
473
],
_mm_xor_si64
(
c2
[
293
],
_mm_xor_si64
(
c2
[
649
],
_mm_xor_si64
(
c2
[
469
],
_mm_xor_si64
(
c2
[
1376
],
_mm_xor_si64
(
c2
[
309
],
_mm_xor_si64
(
c2
[
129
],
_mm_xor_si64
(
c2
[
1391
],
_mm_xor_si64
(
c2
[
872
],
_mm_xor_si64
(
c2
[
692
],
_mm_xor_si64
(
c2
[
1048
],
_mm_xor_si64
(
c2
[
1230
],
_mm_xor_si64
(
c2
[
1248
],
_mm_xor_si64
(
c2
[
1068
],
_mm_xor_si64
(
c2
[
348
],
_mm_xor_si64
(
c2
[
168
],
c2
[
1062
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
297
]
=
_mm_xor_si64
(
c2
[
720
],
_mm_xor_si64
(
c2
[
722
],
_mm_xor_si64
(
c2
[
3
],
_mm_xor_si64
(
c2
[
561
],
_mm_xor_si64
(
c2
[
562
],
_mm_xor_si64
(
c2
[
204
],
_mm_xor_si64
(
c2
[
1122
],
_mm_xor_si64
(
c2
[
402
],
_mm_xor_si64
(
c2
[
1303
],
_mm_xor_si64
(
c2
[
778
],
_mm_xor_si64
(
c2
[
1316
],
_mm_xor_si64
(
c2
[
956
],
_mm_xor_si64
(
c2
[
256
],
_mm_xor_si64
(
c2
[
1336
],
_mm_xor_si64
(
c2
[
1334
],
_mm_xor_si64
(
c2
[
638
],
_mm_xor_si64
(
c2
[
990
],
_mm_xor_si64
(
c2
[
833
],
_mm_xor_si64
(
c2
[
1009
],
_mm_xor_si64
(
c2
[
468
],
_mm_xor_si64
(
c2
[
669
],
_mm_xor_si64
(
c2
[
492
],
_mm_xor_si64
(
c2
[
1206
],
_mm_xor_si64
(
c2
[
1232
],
_mm_xor_si64
(
c2
[
149
],
_mm_xor_si64
(
c2
[
331
],
_mm_xor_si64
(
c2
[
169
],
_mm_xor_si64
(
c2
[
708
],
c2
[
163
]))))))))))))))))))))))))))));
//row: 34
d2
[
306
]
=
_mm_xor_si64
(
c2
[
723
],
_mm_xor_si64
(
c2
[
543
],
_mm_xor_si64
(
c2
[
725
],
_mm_xor_si64
(
c2
[
725
],
_mm_xor_si64
(
c2
[
545
],
_mm_xor_si64
(
c2
[
727
],
_mm_xor_si64
(
c2
[
1265
],
_mm_xor_si64
(
c2
[
8
],
_mm_xor_si64
(
c2
[
904
],
_mm_xor_si64
(
c2
[
564
],
_mm_xor_si64
(
c2
[
384
],
_mm_xor_si64
(
c2
[
566
],
_mm_xor_si64
(
c2
[
385
],
_mm_xor_si64
(
c2
[
558
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
380
],
_mm_xor_si64
(
c2
[
200
],
_mm_xor_si64
(
c2
[
1116
],
_mm_xor_si64
(
c2
[
936
],
_mm_xor_si64
(
c2
[
1118
],
_mm_xor_si64
(
c2
[
216
],
_mm_xor_si64
(
c2
[
578
],
_mm_xor_si64
(
c2
[
398
],
_mm_xor_si64
(
c2
[
781
],
_mm_xor_si64
(
c2
[
601
],
_mm_xor_si64
(
c2
[
774
],
_mm_xor_si64
(
c2
[
1319
],
_mm_xor_si64
(
c2
[
1139
],
_mm_xor_si64
(
c2
[
1321
],
_mm_xor_si64
(
c2
[
779
],
_mm_xor_si64
(
c2
[
961
],
_mm_xor_si64
(
c2
[
259
],
_mm_xor_si64
(
c2
[
79
],
_mm_xor_si64
(
c2
[
252
],
_mm_xor_si64
(
c2
[
1159
],
_mm_xor_si64
(
c2
[
1332
],
_mm_xor_si64
(
c2
[
1157
],
_mm_xor_si64
(
c2
[
80
],
_mm_xor_si64
(
c2
[
1339
],
_mm_xor_si64
(
c2
[
632
],
_mm_xor_si64
(
c2
[
452
],
_mm_xor_si64
(
c2
[
634
],
_mm_xor_si64
(
c2
[
813
],
_mm_xor_si64
(
c2
[
1175
],
_mm_xor_si64
(
c2
[
995
],
_mm_xor_si64
(
c2
[
836
],
_mm_xor_si64
(
c2
[
656
],
_mm_xor_si64
(
c2
[
829
],
_mm_xor_si64
(
c2
[
1012
],
_mm_xor_si64
(
c2
[
832
],
_mm_xor_si64
(
c2
[
1014
],
_mm_xor_si64
(
c2
[
291
],
_mm_xor_si64
(
c2
[
653
],
_mm_xor_si64
(
c2
[
473
],
_mm_xor_si64
(
c2
[
672
],
_mm_xor_si64
(
c2
[
492
],
_mm_xor_si64
(
c2
[
674
],
_mm_xor_si64
(
c2
[
306
],
_mm_xor_si64
(
c2
[
668
],
_mm_xor_si64
(
c2
[
488
],
_mm_xor_si64
(
c2
[
1226
],
_mm_xor_si64
(
c2
[
1046
],
_mm_xor_si64
(
c2
[
1228
],
_mm_xor_si64
(
c2
[
1411
],
_mm_xor_si64
(
c2
[
145
],
_mm_xor_si64
(
c2
[
145
],
_mm_xor_si64
(
c2
[
507
],
_mm_xor_si64
(
c2
[
327
],
_mm_xor_si64
(
c2
[
163
],
_mm_xor_si64
(
c2
[
1422
],
_mm_xor_si64
(
c2
[
165
],
_mm_xor_si64
(
c2
[
702
],
_mm_xor_si64
(
c2
[
522
],
_mm_xor_si64
(
c2
[
704
],
_mm_xor_si64
(
c2
[
1425
],
_mm_xor_si64
(
c2
[
348
],
c2
[
168
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
315
]
=
_mm_xor_si64
(
c2
[
3
],
_mm_xor_si64
(
c2
[
1262
],
_mm_xor_si64
(
c2
[
1264
],
_mm_xor_si64
(
c2
[
545
],
_mm_xor_si64
(
c2
[
1283
],
_mm_xor_si64
(
c2
[
1103
],
_mm_xor_si64
(
c2
[
1104
],
_mm_xor_si64
(
c2
[
746
],
_mm_xor_si64
(
c2
[
745
],
_mm_xor_si64
(
c2
[
396
],
_mm_xor_si64
(
c2
[
216
],
_mm_xor_si64
(
c2
[
944
],
_mm_xor_si64
(
c2
[
61
],
_mm_xor_si64
(
c2
[
1320
],
_mm_xor_si64
(
c2
[
419
],
_mm_xor_si64
(
c2
[
59
],
_mm_xor_si64
(
c2
[
798
],
_mm_xor_si64
(
c2
[
439
],
_mm_xor_si64
(
c2
[
437
],
_mm_xor_si64
(
c2
[
1171
],
_mm_xor_si64
(
c2
[
93
],
_mm_xor_si64
(
c2
[
278
],
_mm_xor_si64
(
c2
[
116
],
_mm_xor_si64
(
c2
[
1375
],
_mm_xor_si64
(
c2
[
112
],
_mm_xor_si64
(
c2
[
1010
],
_mm_xor_si64
(
c2
[
1211
],
_mm_xor_si64
(
c2
[
1034
],
_mm_xor_si64
(
c2
[
326
],
_mm_xor_si64
(
c2
[
691
],
_mm_xor_si64
(
c2
[
864
],
_mm_xor_si64
(
c2
[
882
],
_mm_xor_si64
(
c2
[
702
],
_mm_xor_si64
(
c2
[
1250
],
c2
[
705
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
324
]
=
_mm_xor_si64
(
c2
[
186
],
_mm_xor_si64
(
c2
[
223
],
c2
[
489
]));
//row: 37
d2
[
333
]
=
_mm_xor_si64
(
c2
[
543
],
_mm_xor_si64
(
c2
[
367
],
_mm_xor_si64
(
c2
[
545
],
_mm_xor_si64
(
c2
[
360
],
_mm_xor_si64
(
c2
[
1265
],
_mm_xor_si64
(
c2
[
1080
],
_mm_xor_si64
(
c2
[
384
],
_mm_xor_si64
(
c2
[
199
],
_mm_xor_si64
(
c2
[
385
],
_mm_xor_si64
(
c2
[
200
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
22
],
_mm_xor_si64
(
c2
[
1281
],
_mm_xor_si64
(
c2
[
936
],
_mm_xor_si64
(
c2
[
760
],
_mm_xor_si64
(
c2
[
216
],
_mm_xor_si64
(
c2
[
220
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
601
],
_mm_xor_si64
(
c2
[
416
],
_mm_xor_si64
(
c2
[
1139
],
_mm_xor_si64
(
c2
[
954
],
_mm_xor_si64
(
c2
[
779
],
_mm_xor_si64
(
c2
[
594
],
_mm_xor_si64
(
c2
[
79
],
_mm_xor_si64
(
c2
[
1333
],
_mm_xor_si64
(
c2
[
1159
],
_mm_xor_si64
(
c2
[
974
],
_mm_xor_si64
(
c2
[
1157
],
_mm_xor_si64
(
c2
[
1152
],
_mm_xor_si64
(
c2
[
972
],
_mm_xor_si64
(
c2
[
452
],
_mm_xor_si64
(
c2
[
276
],
_mm_xor_si64
(
c2
[
813
],
_mm_xor_si64
(
c2
[
817
],
_mm_xor_si64
(
c2
[
637
],
_mm_xor_si64
(
c2
[
656
],
_mm_xor_si64
(
c2
[
471
],
_mm_xor_si64
(
c2
[
832
],
_mm_xor_si64
(
c2
[
656
],
_mm_xor_si64
(
c2
[
291
],
_mm_xor_si64
(
c2
[
295
],
_mm_xor_si64
(
c2
[
115
],
_mm_xor_si64
(
c2
[
492
],
_mm_xor_si64
(
c2
[
307
],
_mm_xor_si64
(
c2
[
306
],
_mm_xor_si64
(
c2
[
310
],
_mm_xor_si64
(
c2
[
130
],
_mm_xor_si64
(
c2
[
1046
],
_mm_xor_si64
(
c2
[
870
],
_mm_xor_si64
(
c2
[
1411
],
_mm_xor_si64
(
c2
[
1226
],
_mm_xor_si64
(
c2
[
145
],
_mm_xor_si64
(
c2
[
149
],
_mm_xor_si64
(
c2
[
1408
],
_mm_xor_si64
(
c2
[
1422
],
_mm_xor_si64
(
c2
[
1246
],
_mm_xor_si64
(
c2
[
522
],
_mm_xor_si64
(
c2
[
346
],
_mm_xor_si64
(
c2
[
1425
],
_mm_xor_si64
(
c2
[
1429
],
c2
[
1249
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
342
]
=
_mm_xor_si64
(
c2
[
720
],
_mm_xor_si64
(
c2
[
540
],
_mm_xor_si64
(
c2
[
542
],
_mm_xor_si64
(
c2
[
1262
],
_mm_xor_si64
(
c2
[
561
],
_mm_xor_si64
(
c2
[
381
],
_mm_xor_si64
(
c2
[
382
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
198
],
_mm_xor_si64
(
c2
[
1122
],
_mm_xor_si64
(
c2
[
942
],
_mm_xor_si64
(
c2
[
222
],
_mm_xor_si64
(
c2
[
778
],
_mm_xor_si64
(
c2
[
598
],
_mm_xor_si64
(
c2
[
1136
],
_mm_xor_si64
(
c2
[
776
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
1156
],
_mm_xor_si64
(
c2
[
1154
],
_mm_xor_si64
(
c2
[
458
],
_mm_xor_si64
(
c2
[
810
],
_mm_xor_si64
(
c2
[
1178
],
_mm_xor_si64
(
c2
[
833
],
_mm_xor_si64
(
c2
[
653
],
_mm_xor_si64
(
c2
[
829
],
_mm_xor_si64
(
c2
[
288
],
_mm_xor_si64
(
c2
[
489
],
_mm_xor_si64
(
c2
[
312
],
_mm_xor_si64
(
c2
[
1052
],
_mm_xor_si64
(
c2
[
1408
],
_mm_xor_si64
(
c2
[
151
],
_mm_xor_si64
(
c2
[
169
],
_mm_xor_si64
(
c2
[
1428
],
_mm_xor_si64
(
c2
[
528
],
c2
[
1422
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
351
]
=
_mm_xor_si64
(
c2
[
180
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
182
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
722
],
_mm_xor_si64
(
c2
[
1265
],
_mm_xor_si64
(
c2
[
21
],
_mm_xor_si64
(
c2
[
1280
],
_mm_xor_si64
(
c2
[
1281
],
_mm_xor_si64
(
c2
[
923
],
_mm_xor_si64
(
c2
[
582
],
_mm_xor_si64
(
c2
[
402
],
_mm_xor_si64
(
c2
[
1121
],
_mm_xor_si64
(
c2
[
238
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
776
],
_mm_xor_si64
(
c2
[
596
],
_mm_xor_si64
(
c2
[
236
],
_mm_xor_si64
(
c2
[
1155
],
_mm_xor_si64
(
c2
[
975
],
_mm_xor_si64
(
c2
[
616
],
_mm_xor_si64
(
c2
[
614
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
1357
],
_mm_xor_si64
(
c2
[
270
],
_mm_xor_si64
(
c2
[
293
],
_mm_xor_si64
(
c2
[
113
],
_mm_xor_si64
(
c2
[
469
],
_mm_xor_si64
(
c2
[
289
],
_mm_xor_si64
(
c2
[
1196
],
_mm_xor_si64
(
c2
[
129
],
_mm_xor_si64
(
c2
[
1388
],
_mm_xor_si64
(
c2
[
1211
],
_mm_xor_si64
(
c2
[
130
],
_mm_xor_si64
(
c2
[
692
],
_mm_xor_si64
(
c2
[
512
],
_mm_xor_si64
(
c2
[
868
],
_mm_xor_si64
(
c2
[
1050
],
_mm_xor_si64
(
c2
[
1068
],
_mm_xor_si64
(
c2
[
888
],
_mm_xor_si64
(
c2
[
168
],
_mm_xor_si64
(
c2
[
1427
],
c2
[
882
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
360
]
=
_mm_xor_si64
(
c2
[
540
],
_mm_xor_si64
(
c2
[
4
],
_mm_xor_si64
(
c2
[
542
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
1262
],
_mm_xor_si64
(
c2
[
726
],
_mm_xor_si64
(
c2
[
381
],
_mm_xor_si64
(
c2
[
1284
],
_mm_xor_si64
(
c2
[
382
],
_mm_xor_si64
(
c2
[
1285
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
1098
],
_mm_xor_si64
(
c2
[
918
],
_mm_xor_si64
(
c2
[
942
],
_mm_xor_si64
(
c2
[
397
],
_mm_xor_si64
(
c2
[
222
],
_mm_xor_si64
(
c2
[
1296
],
_mm_xor_si64
(
c2
[
1116
],
_mm_xor_si64
(
c2
[
1116
],
_mm_xor_si64
(
c2
[
598
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
1136
],
_mm_xor_si64
(
c2
[
600
],
_mm_xor_si64
(
c2
[
776
],
_mm_xor_si64
(
c2
[
240
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
979
],
_mm_xor_si64
(
c2
[
1156
],
_mm_xor_si64
(
c2
[
620
],
_mm_xor_si64
(
c2
[
1154
],
_mm_xor_si64
(
c2
[
798
],
_mm_xor_si64
(
c2
[
618
],
_mm_xor_si64
(
c2
[
458
],
_mm_xor_si64
(
c2
[
1352
],
_mm_xor_si64
(
c2
[
810
],
_mm_xor_si64
(
c2
[
454
],
_mm_xor_si64
(
c2
[
274
],
_mm_xor_si64
(
c2
[
653
],
_mm_xor_si64
(
c2
[
108
],
_mm_xor_si64
(
c2
[
829
],
_mm_xor_si64
(
c2
[
293
],
_mm_xor_si64
(
c2
[
288
],
_mm_xor_si64
(
c2
[
1371
],
_mm_xor_si64
(
c2
[
1191
],
_mm_xor_si64
(
c2
[
489
],
_mm_xor_si64
(
c2
[
1392
],
_mm_xor_si64
(
c2
[
312
],
_mm_xor_si64
(
c2
[
1386
],
_mm_xor_si64
(
c2
[
1206
],
_mm_xor_si64
(
c2
[
1052
],
_mm_xor_si64
(
c2
[
507
],
_mm_xor_si64
(
c2
[
1408
],
_mm_xor_si64
(
c2
[
872
],
_mm_xor_si64
(
c2
[
151
],
_mm_xor_si64
(
c2
[
1225
],
_mm_xor_si64
(
c2
[
1045
],
_mm_xor_si64
(
c2
[
1428
],
_mm_xor_si64
(
c2
[
883
],
_mm_xor_si64
(
c2
[
528
],
_mm_xor_si64
(
c2
[
1422
],
_mm_xor_si64
(
c2
[
1422
],
_mm_xor_si64
(
c2
[
1066
],
c2
[
886
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
369
]
=
_mm_xor_si64
(
c2
[
1082
],
_mm_xor_si64
(
c2
[
902
],
_mm_xor_si64
(
c2
[
904
],
_mm_xor_si64
(
c2
[
185
],
_mm_xor_si64
(
c2
[
923
],
_mm_xor_si64
(
c2
[
743
],
_mm_xor_si64
(
c2
[
744
],
_mm_xor_si64
(
c2
[
386
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
1304
],
_mm_xor_si64
(
c2
[
584
],
_mm_xor_si64
(
c2
[
1140
],
_mm_xor_si64
(
c2
[
960
],
_mm_xor_si64
(
c2
[
59
],
_mm_xor_si64
(
c2
[
1138
],
_mm_xor_si64
(
c2
[
438
],
_mm_xor_si64
(
c2
[
79
],
_mm_xor_si64
(
c2
[
77
],
_mm_xor_si64
(
c2
[
811
],
_mm_xor_si64
(
c2
[
1172
],
_mm_xor_si64
(
c2
[
1355
],
_mm_xor_si64
(
c2
[
1195
],
_mm_xor_si64
(
c2
[
1015
],
_mm_xor_si64
(
c2
[
1191
],
_mm_xor_si64
(
c2
[
650
],
_mm_xor_si64
(
c2
[
851
],
_mm_xor_si64
(
c2
[
674
],
_mm_xor_si64
(
c2
[
1405
],
_mm_xor_si64
(
c2
[
331
],
_mm_xor_si64
(
c2
[
504
],
_mm_xor_si64
(
c2
[
522
],
_mm_xor_si64
(
c2
[
342
],
_mm_xor_si64
(
c2
[
890
],
c2
[
345
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc80_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=80, byte encoding
static
inline
void
ldpc_BG2_Zc80_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m128i
*
csimd
=
(
__m128i
*
)
c
,
*
dsimd
=
(
__m128i
*
)
d
;
__m128i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
5
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm_xor_si128
(
c2
[
1504
],
_mm_xor_si128
(
c2
[
803
],
_mm_xor_si128
(
c2
[
301
],
_mm_xor_si128
(
c2
[
1514
],
_mm_xor_si128
(
c2
[
1310
],
_mm_xor_si128
(
c2
[
512
],
_mm_xor_si128
(
c2
[
1524
],
_mm_xor_si128
(
c2
[
1420
],
_mm_xor_si128
(
c2
[
1534
],
_mm_xor_si128
(
c2
[
1132
],
_mm_xor_si128
(
c2
[
231
],
_mm_xor_si128
(
c2
[
1544
],
_mm_xor_si128
(
c2
[
840
],
_mm_xor_si128
(
c2
[
541
],
_mm_xor_si128
(
c2
[
1554
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
1564
],
_mm_xor_si128
(
c2
[
760
],
_mm_xor_si128
(
c2
[
1160
],
_mm_xor_si128
(
c2
[
1574
],
_mm_xor_si128
(
c2
[
873
],
_mm_xor_si128
(
c2
[
1584
],
_mm_xor_si128
(
c2
[
1181
],
_mm_xor_si128
(
c2
[
483
],
_mm_xor_si128
(
c2
[
1594
],
_mm_xor_si128
(
c2
[
693
],
c2
[
1392
]))))))))))))))))))))))))));
//row: 1
d2
[
5
]
=
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
1504
],
_mm_xor_si128
(
c2
[
803
],
_mm_xor_si128
(
c2
[
301
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
1514
],
_mm_xor_si128
(
c2
[
1310
],
_mm_xor_si128
(
c2
[
512
],
_mm_xor_si128
(
c2
[
20
],
_mm_xor_si128
(
c2
[
1524
],
_mm_xor_si128
(
c2
[
1420
],
_mm_xor_si128
(
c2
[
30
],
_mm_xor_si128
(
c2
[
1534
],
_mm_xor_si128
(
c2
[
1132
],
_mm_xor_si128
(
c2
[
231
],
_mm_xor_si128
(
c2
[
1544
],
_mm_xor_si128
(
c2
[
840
],
_mm_xor_si128
(
c2
[
541
],
_mm_xor_si128
(
c2
[
1554
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
1564
],
_mm_xor_si128
(
c2
[
760
],
_mm_xor_si128
(
c2
[
1160
],
_mm_xor_si128
(
c2
[
1574
],
_mm_xor_si128
(
c2
[
873
],
_mm_xor_si128
(
c2
[
1584
],
_mm_xor_si128
(
c2
[
1181
],
_mm_xor_si128
(
c2
[
483
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
1594
],
_mm_xor_si128
(
c2
[
693
],
c2
[
1392
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
10
]
=
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
1504
],
_mm_xor_si128
(
c2
[
903
],
_mm_xor_si128
(
c2
[
803
],
_mm_xor_si128
(
c2
[
301
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
1514
],
_mm_xor_si128
(
c2
[
1310
],
_mm_xor_si128
(
c2
[
512
],
_mm_xor_si128
(
c2
[
20
],
_mm_xor_si128
(
c2
[
1524
],
_mm_xor_si128
(
c2
[
1420
],
_mm_xor_si128
(
c2
[
30
],
_mm_xor_si128
(
c2
[
1534
],
_mm_xor_si128
(
c2
[
1232
],
_mm_xor_si128
(
c2
[
1132
],
_mm_xor_si128
(
c2
[
231
],
_mm_xor_si128
(
c2
[
40
],
_mm_xor_si128
(
c2
[
1544
],
_mm_xor_si128
(
c2
[
840
],
_mm_xor_si128
(
c2
[
541
],
_mm_xor_si128
(
c2
[
50
],
_mm_xor_si128
(
c2
[
1554
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
1564
],
_mm_xor_si128
(
c2
[
860
],
_mm_xor_si128
(
c2
[
760
],
_mm_xor_si128
(
c2
[
1160
],
_mm_xor_si128
(
c2
[
70
],
_mm_xor_si128
(
c2
[
1574
],
_mm_xor_si128
(
c2
[
873
],
_mm_xor_si128
(
c2
[
80
],
_mm_xor_si128
(
c2
[
1584
],
_mm_xor_si128
(
c2
[
1181
],
_mm_xor_si128
(
c2
[
483
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
1594
],
_mm_xor_si128
(
c2
[
793
],
_mm_xor_si128
(
c2
[
693
],
c2
[
1392
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
15
]
=
_mm_xor_si128
(
c2
[
1504
],
_mm_xor_si128
(
c2
[
803
],
_mm_xor_si128
(
c2
[
301
],
_mm_xor_si128
(
c2
[
1514
],
_mm_xor_si128
(
c2
[
1310
],
_mm_xor_si128
(
c2
[
612
],
_mm_xor_si128
(
c2
[
512
],
_mm_xor_si128
(
c2
[
1524
],
_mm_xor_si128
(
c2
[
1520
],
_mm_xor_si128
(
c2
[
1420
],
_mm_xor_si128
(
c2
[
1534
],
_mm_xor_si128
(
c2
[
1132
],
_mm_xor_si128
(
c2
[
231
],
_mm_xor_si128
(
c2
[
1544
],
_mm_xor_si128
(
c2
[
840
],
_mm_xor_si128
(
c2
[
641
],
_mm_xor_si128
(
c2
[
541
],
_mm_xor_si128
(
c2
[
1554
],
_mm_xor_si128
(
c2
[
254
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
1564
],
_mm_xor_si128
(
c2
[
760
],
_mm_xor_si128
(
c2
[
1260
],
_mm_xor_si128
(
c2
[
1160
],
_mm_xor_si128
(
c2
[
1574
],
_mm_xor_si128
(
c2
[
973
],
_mm_xor_si128
(
c2
[
873
],
_mm_xor_si128
(
c2
[
1584
],
_mm_xor_si128
(
c2
[
1181
],
_mm_xor_si128
(
c2
[
583
],
_mm_xor_si128
(
c2
[
483
],
_mm_xor_si128
(
c2
[
1594
],
_mm_xor_si128
(
c2
[
693
],
_mm_xor_si128
(
c2
[
1492
],
c2
[
1392
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
20
]
=
_mm_xor_si128
(
c2
[
1304
],
_mm_xor_si128
(
c2
[
1204
],
_mm_xor_si128
(
c2
[
503
],
_mm_xor_si128
(
c2
[
1
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
1314
],
_mm_xor_si128
(
c2
[
1214
],
_mm_xor_si128
(
c2
[
1010
],
_mm_xor_si128
(
c2
[
212
],
_mm_xor_si128
(
c2
[
813
],
_mm_xor_si128
(
c2
[
1324
],
_mm_xor_si128
(
c2
[
1224
],
_mm_xor_si128
(
c2
[
1120
],
_mm_xor_si128
(
c2
[
1334
],
_mm_xor_si128
(
c2
[
1234
],
_mm_xor_si128
(
c2
[
832
],
_mm_xor_si128
(
c2
[
1530
],
_mm_xor_si128
(
c2
[
1244
],
_mm_xor_si128
(
c2
[
540
],
_mm_xor_si128
(
c2
[
241
],
_mm_xor_si128
(
c2
[
1254
],
_mm_xor_si128
(
c2
[
1453
],
_mm_xor_si128
(
c2
[
1364
],
_mm_xor_si128
(
c2
[
1264
],
_mm_xor_si128
(
c2
[
460
],
_mm_xor_si128
(
c2
[
860
],
_mm_xor_si128
(
c2
[
1274
],
_mm_xor_si128
(
c2
[
573
],
_mm_xor_si128
(
c2
[
1284
],
_mm_xor_si128
(
c2
[
881
],
_mm_xor_si128
(
c2
[
183
],
_mm_xor_si128
(
c2
[
1394
],
_mm_xor_si128
(
c2
[
1294
],
_mm_xor_si128
(
c2
[
393
],
c2
[
1092
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
25
]
=
_mm_xor_si128
(
c2
[
4
],
_mm_xor_si128
(
c2
[
1503
],
_mm_xor_si128
(
c2
[
802
],
_mm_xor_si128
(
c2
[
300
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
1513
],
_mm_xor_si128
(
c2
[
1314
],
_mm_xor_si128
(
c2
[
511
],
_mm_xor_si128
(
c2
[
313
],
_mm_xor_si128
(
c2
[
24
],
_mm_xor_si128
(
c2
[
1523
],
_mm_xor_si128
(
c2
[
1424
],
_mm_xor_si128
(
c2
[
34
],
_mm_xor_si128
(
c2
[
1533
],
_mm_xor_si128
(
c2
[
1131
],
_mm_xor_si128
(
c2
[
230
],
_mm_xor_si128
(
c2
[
1543
],
_mm_xor_si128
(
c2
[
844
],
_mm_xor_si128
(
c2
[
540
],
_mm_xor_si128
(
c2
[
1553
],
_mm_xor_si128
(
c2
[
153
],
_mm_xor_si128
(
c2
[
1453
],
_mm_xor_si128
(
c2
[
64
],
_mm_xor_si128
(
c2
[
1563
],
_mm_xor_si128
(
c2
[
764
],
_mm_xor_si128
(
c2
[
1164
],
_mm_xor_si128
(
c2
[
1573
],
_mm_xor_si128
(
c2
[
872
],
_mm_xor_si128
(
c2
[
1373
],
_mm_xor_si128
(
c2
[
1583
],
_mm_xor_si128
(
c2
[
1180
],
_mm_xor_si128
(
c2
[
482
],
_mm_xor_si128
(
c2
[
94
],
_mm_xor_si128
(
c2
[
1593
],
_mm_xor_si128
(
c2
[
692
],
c2
[
1391
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
30
]
=
_mm_xor_si128
(
c2
[
404
],
_mm_xor_si128
(
c2
[
304
],
_mm_xor_si128
(
c2
[
1202
],
_mm_xor_si128
(
c2
[
700
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
414
],
_mm_xor_si128
(
c2
[
314
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
911
],
_mm_xor_si128
(
c2
[
424
],
_mm_xor_si128
(
c2
[
324
],
_mm_xor_si128
(
c2
[
220
],
_mm_xor_si128
(
c2
[
434
],
_mm_xor_si128
(
c2
[
334
],
_mm_xor_si128
(
c2
[
1531
],
_mm_xor_si128
(
c2
[
630
],
_mm_xor_si128
(
c2
[
344
],
_mm_xor_si128
(
c2
[
1244
],
_mm_xor_si128
(
c2
[
940
],
_mm_xor_si128
(
c2
[
354
],
_mm_xor_si128
(
c2
[
553
],
_mm_xor_si128
(
c2
[
1252
],
_mm_xor_si128
(
c2
[
464
],
_mm_xor_si128
(
c2
[
364
],
_mm_xor_si128
(
c2
[
1164
],
_mm_xor_si128
(
c2
[
1564
],
_mm_xor_si128
(
c2
[
374
],
_mm_xor_si128
(
c2
[
1272
],
_mm_xor_si128
(
c2
[
371
],
_mm_xor_si128
(
c2
[
384
],
_mm_xor_si128
(
c2
[
1580
],
_mm_xor_si128
(
c2
[
882
],
_mm_xor_si128
(
c2
[
494
],
_mm_xor_si128
(
c2
[
394
],
_mm_xor_si128
(
c2
[
1092
],
_mm_xor_si128
(
c2
[
192
],
c2
[
1392
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
35
]
=
_mm_xor_si128
(
c2
[
1
],
_mm_xor_si128
(
c2
[
1500
],
_mm_xor_si128
(
c2
[
1304
],
_mm_xor_si128
(
c2
[
804
],
_mm_xor_si128
(
c2
[
603
],
_mm_xor_si128
(
c2
[
302
],
_mm_xor_si128
(
c2
[
101
],
_mm_xor_si128
(
c2
[
11
],
_mm_xor_si128
(
c2
[
1510
],
_mm_xor_si128
(
c2
[
1314
],
_mm_xor_si128
(
c2
[
1311
],
_mm_xor_si128
(
c2
[
1110
],
_mm_xor_si128
(
c2
[
513
],
_mm_xor_si128
(
c2
[
412
],
_mm_xor_si128
(
c2
[
312
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
21
],
_mm_xor_si128
(
c2
[
1520
],
_mm_xor_si128
(
c2
[
1324
],
_mm_xor_si128
(
c2
[
1421
],
_mm_xor_si128
(
c2
[
1320
],
_mm_xor_si128
(
c2
[
1220
],
_mm_xor_si128
(
c2
[
31
],
_mm_xor_si128
(
c2
[
1530
],
_mm_xor_si128
(
c2
[
1334
],
_mm_xor_si128
(
c2
[
1133
],
_mm_xor_si128
(
c2
[
932
],
_mm_xor_si128
(
c2
[
232
],
_mm_xor_si128
(
c2
[
31
],
_mm_xor_si128
(
c2
[
1540
],
_mm_xor_si128
(
c2
[
1344
],
_mm_xor_si128
(
c2
[
841
],
_mm_xor_si128
(
c2
[
640
],
_mm_xor_si128
(
c2
[
542
],
_mm_xor_si128
(
c2
[
441
],
_mm_xor_si128
(
c2
[
341
],
_mm_xor_si128
(
c2
[
1550
],
_mm_xor_si128
(
c2
[
1354
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
1553
],
_mm_xor_si128
(
c2
[
1352
],
_mm_xor_si128
(
c2
[
61
],
_mm_xor_si128
(
c2
[
1560
],
_mm_xor_si128
(
c2
[
1364
],
_mm_xor_si128
(
c2
[
761
],
_mm_xor_si128
(
c2
[
560
],
_mm_xor_si128
(
c2
[
1161
],
_mm_xor_si128
(
c2
[
1060
],
_mm_xor_si128
(
c2
[
960
],
_mm_xor_si128
(
c2
[
1570
],
_mm_xor_si128
(
c2
[
1374
],
_mm_xor_si128
(
c2
[
874
],
_mm_xor_si128
(
c2
[
773
],
_mm_xor_si128
(
c2
[
673
],
_mm_xor_si128
(
c2
[
474
],
_mm_xor_si128
(
c2
[
1580
],
_mm_xor_si128
(
c2
[
1384
],
_mm_xor_si128
(
c2
[
1182
],
_mm_xor_si128
(
c2
[
981
],
_mm_xor_si128
(
c2
[
484
],
_mm_xor_si128
(
c2
[
383
],
_mm_xor_si128
(
c2
[
283
],
_mm_xor_si128
(
c2
[
91
],
_mm_xor_si128
(
c2
[
1590
],
_mm_xor_si128
(
c2
[
1394
],
_mm_xor_si128
(
c2
[
694
],
_mm_xor_si128
(
c2
[
493
],
_mm_xor_si128
(
c2
[
1393
],
_mm_xor_si128
(
c2
[
1292
],
c2
[
1192
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
40
]
=
_mm_xor_si128
(
c2
[
700
],
_mm_xor_si128
(
c2
[
600
],
_mm_xor_si128
(
c2
[
4
],
_mm_xor_si128
(
c2
[
1503
],
_mm_xor_si128
(
c2
[
1001
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
710
],
_mm_xor_si128
(
c2
[
610
],
_mm_xor_si128
(
c2
[
411
],
_mm_xor_si128
(
c2
[
1212
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
720
],
_mm_xor_si128
(
c2
[
620
],
_mm_xor_si128
(
c2
[
521
],
_mm_xor_si128
(
c2
[
730
],
_mm_xor_si128
(
c2
[
630
],
_mm_xor_si128
(
c2
[
333
],
_mm_xor_si128
(
c2
[
233
],
_mm_xor_si128
(
c2
[
931
],
_mm_xor_si128
(
c2
[
740
],
_mm_xor_si128
(
c2
[
640
],
_mm_xor_si128
(
c2
[
1540
],
_mm_xor_si128
(
c2
[
1241
],
_mm_xor_si128
(
c2
[
750
],
_mm_xor_si128
(
c2
[
650
],
_mm_xor_si128
(
c2
[
854
],
_mm_xor_si128
(
c2
[
760
],
_mm_xor_si128
(
c2
[
660
],
_mm_xor_si128
(
c2
[
1560
],
_mm_xor_si128
(
c2
[
1460
],
_mm_xor_si128
(
c2
[
261
],
_mm_xor_si128
(
c2
[
770
],
_mm_xor_si128
(
c2
[
670
],
_mm_xor_si128
(
c2
[
1573
],
_mm_xor_si128
(
c2
[
780
],
_mm_xor_si128
(
c2
[
680
],
_mm_xor_si128
(
c2
[
282
],
_mm_xor_si128
(
c2
[
1183
],
_mm_xor_si128
(
c2
[
790
],
_mm_xor_si128
(
c2
[
690
],
_mm_xor_si128
(
c2
[
1493
],
_mm_xor_si128
(
c2
[
1393
],
c2
[
493
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
45
]
=
_mm_xor_si128
(
c2
[
203
],
_mm_xor_si128
(
c2
[
500
],
_mm_xor_si128
(
c2
[
400
],
_mm_xor_si128
(
c2
[
1101
],
_mm_xor_si128
(
c2
[
1303
],
_mm_xor_si128
(
c2
[
604
],
_mm_xor_si128
(
c2
[
801
],
_mm_xor_si128
(
c2
[
213
],
_mm_xor_si128
(
c2
[
510
],
_mm_xor_si128
(
c2
[
410
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
211
],
_mm_xor_si128
(
c2
[
810
],
_mm_xor_si128
(
c2
[
1012
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
223
],
_mm_xor_si128
(
c2
[
520
],
_mm_xor_si128
(
c2
[
420
],
_mm_xor_si128
(
c2
[
124
],
_mm_xor_si128
(
c2
[
321
],
_mm_xor_si128
(
c2
[
233
],
_mm_xor_si128
(
c2
[
530
],
_mm_xor_si128
(
c2
[
430
],
_mm_xor_si128
(
c2
[
1430
],
_mm_xor_si128
(
c2
[
33
],
_mm_xor_si128
(
c2
[
534
],
_mm_xor_si128
(
c2
[
731
],
_mm_xor_si128
(
c2
[
243
],
_mm_xor_si128
(
c2
[
440
],
_mm_xor_si128
(
c2
[
1143
],
_mm_xor_si128
(
c2
[
1340
],
_mm_xor_si128
(
c2
[
844
],
_mm_xor_si128
(
c2
[
1041
],
_mm_xor_si128
(
c2
[
253
],
_mm_xor_si128
(
c2
[
450
],
_mm_xor_si128
(
c2
[
452
],
_mm_xor_si128
(
c2
[
654
],
_mm_xor_si128
(
c2
[
263
],
_mm_xor_si128
(
c2
[
560
],
_mm_xor_si128
(
c2
[
460
],
_mm_xor_si128
(
c2
[
1063
],
_mm_xor_si128
(
c2
[
1260
],
_mm_xor_si128
(
c2
[
1463
],
_mm_xor_si128
(
c2
[
61
],
_mm_xor_si128
(
c2
[
273
],
_mm_xor_si128
(
c2
[
470
],
_mm_xor_si128
(
c2
[
1171
],
_mm_xor_si128
(
c2
[
1373
],
_mm_xor_si128
(
c2
[
283
],
_mm_xor_si128
(
c2
[
480
],
_mm_xor_si128
(
c2
[
1484
],
_mm_xor_si128
(
c2
[
82
],
_mm_xor_si128
(
c2
[
781
],
_mm_xor_si128
(
c2
[
983
],
_mm_xor_si128
(
c2
[
181
],
_mm_xor_si128
(
c2
[
293
],
_mm_xor_si128
(
c2
[
590
],
_mm_xor_si128
(
c2
[
490
],
_mm_xor_si128
(
c2
[
991
],
_mm_xor_si128
(
c2
[
1193
],
_mm_xor_si128
(
c2
[
91
],
c2
[
293
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
50
]
=
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
111
],
_mm_xor_si128
(
c2
[
1264
],
c2
[
471
])));
//row: 11
d2
[
55
]
=
_mm_xor_si128
(
c2
[
100
],
_mm_xor_si128
(
c2
[
1003
],
_mm_xor_si128
(
c2
[
501
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
110
],
_mm_xor_si128
(
c2
[
1510
],
_mm_xor_si128
(
c2
[
812
],
_mm_xor_si128
(
c2
[
712
],
_mm_xor_si128
(
c2
[
120
],
_mm_xor_si128
(
c2
[
121
],
_mm_xor_si128
(
c2
[
21
],
_mm_xor_si128
(
c2
[
130
],
_mm_xor_si128
(
c2
[
1332
],
_mm_xor_si128
(
c2
[
431
],
_mm_xor_si128
(
c2
[
140
],
_mm_xor_si128
(
c2
[
1040
],
_mm_xor_si128
(
c2
[
841
],
_mm_xor_si128
(
c2
[
741
],
_mm_xor_si128
(
c2
[
150
],
_mm_xor_si128
(
c2
[
454
],
_mm_xor_si128
(
c2
[
354
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
960
],
_mm_xor_si128
(
c2
[
1460
],
_mm_xor_si128
(
c2
[
1360
],
_mm_xor_si128
(
c2
[
170
],
_mm_xor_si128
(
c2
[
1173
],
_mm_xor_si128
(
c2
[
1073
],
_mm_xor_si128
(
c2
[
770
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
1381
],
_mm_xor_si128
(
c2
[
783
],
_mm_xor_si128
(
c2
[
683
],
_mm_xor_si128
(
c2
[
190
],
_mm_xor_si128
(
c2
[
893
],
_mm_xor_si128
(
c2
[
93
],
_mm_xor_si128
(
c2
[
1592
],
c2
[
490
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
60
]
=
_mm_xor_si128
(
c2
[
3
],
_mm_xor_si128
(
c2
[
1502
],
_mm_xor_si128
(
c2
[
801
],
_mm_xor_si128
(
c2
[
304
],
_mm_xor_si128
(
c2
[
13
],
_mm_xor_si128
(
c2
[
1512
],
_mm_xor_si128
(
c2
[
1313
],
_mm_xor_si128
(
c2
[
510
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
23
],
_mm_xor_si128
(
c2
[
1522
],
_mm_xor_si128
(
c2
[
1423
],
_mm_xor_si128
(
c2
[
33
],
_mm_xor_si128
(
c2
[
1532
],
_mm_xor_si128
(
c2
[
1130
],
_mm_xor_si128
(
c2
[
234
],
_mm_xor_si128
(
c2
[
132
],
_mm_xor_si128
(
c2
[
1542
],
_mm_xor_si128
(
c2
[
843
],
_mm_xor_si128
(
c2
[
544
],
_mm_xor_si128
(
c2
[
1552
],
_mm_xor_si128
(
c2
[
152
],
_mm_xor_si128
(
c2
[
63
],
_mm_xor_si128
(
c2
[
1562
],
_mm_xor_si128
(
c2
[
763
],
_mm_xor_si128
(
c2
[
1163
],
_mm_xor_si128
(
c2
[
1572
],
_mm_xor_si128
(
c2
[
871
],
_mm_xor_si128
(
c2
[
1582
],
_mm_xor_si128
(
c2
[
1184
],
_mm_xor_si128
(
c2
[
481
],
_mm_xor_si128
(
c2
[
93
],
_mm_xor_si128
(
c2
[
1592
],
_mm_xor_si128
(
c2
[
691
],
c2
[
1390
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
65
]
=
_mm_xor_si128
(
c2
[
901
],
_mm_xor_si128
(
c2
[
200
],
_mm_xor_si128
(
c2
[
1302
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
911
],
_mm_xor_si128
(
c2
[
712
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
1513
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
921
],
_mm_xor_si128
(
c2
[
922
],
_mm_xor_si128
(
c2
[
822
],
_mm_xor_si128
(
c2
[
931
],
_mm_xor_si128
(
c2
[
534
],
_mm_xor_si128
(
c2
[
1232
],
_mm_xor_si128
(
c2
[
941
],
_mm_xor_si128
(
c2
[
242
],
_mm_xor_si128
(
c2
[
43
],
_mm_xor_si128
(
c2
[
1542
],
_mm_xor_si128
(
c2
[
951
],
_mm_xor_si128
(
c2
[
1250
],
_mm_xor_si128
(
c2
[
1150
],
_mm_xor_si128
(
c2
[
961
],
_mm_xor_si128
(
c2
[
162
],
_mm_xor_si128
(
c2
[
662
],
_mm_xor_si128
(
c2
[
562
],
_mm_xor_si128
(
c2
[
971
],
_mm_xor_si128
(
c2
[
370
],
_mm_xor_si128
(
c2
[
270
],
_mm_xor_si128
(
c2
[
981
],
_mm_xor_si128
(
c2
[
583
],
_mm_xor_si128
(
c2
[
1584
],
_mm_xor_si128
(
c2
[
1484
],
_mm_xor_si128
(
c2
[
681
],
_mm_xor_si128
(
c2
[
991
],
_mm_xor_si128
(
c2
[
90
],
_mm_xor_si128
(
c2
[
894
],
c2
[
794
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
70
]
=
_mm_xor_si128
(
c2
[
903
],
_mm_xor_si128
(
c2
[
803
],
_mm_xor_si128
(
c2
[
1001
],
_mm_xor_si128
(
c2
[
102
],
_mm_xor_si128
(
c2
[
300
],
_mm_xor_si128
(
c2
[
1204
],
_mm_xor_si128
(
c2
[
1402
],
_mm_xor_si128
(
c2
[
913
],
_mm_xor_si128
(
c2
[
813
],
_mm_xor_si128
(
c2
[
1011
],
_mm_xor_si128
(
c2
[
614
],
_mm_xor_si128
(
c2
[
812
],
_mm_xor_si128
(
c2
[
1410
],
_mm_xor_si128
(
c2
[
114
],
_mm_xor_si128
(
c2
[
14
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
923
],
_mm_xor_si128
(
c2
[
823
],
_mm_xor_si128
(
c2
[
1021
],
_mm_xor_si128
(
c2
[
724
],
_mm_xor_si128
(
c2
[
1022
],
_mm_xor_si128
(
c2
[
922
],
_mm_xor_si128
(
c2
[
933
],
_mm_xor_si128
(
c2
[
833
],
_mm_xor_si128
(
c2
[
1031
],
_mm_xor_si128
(
c2
[
431
],
_mm_xor_si128
(
c2
[
634
],
_mm_xor_si128
(
c2
[
1134
],
_mm_xor_si128
(
c2
[
1332
],
_mm_xor_si128
(
c2
[
843
],
_mm_xor_si128
(
c2
[
1041
],
_mm_xor_si128
(
c2
[
144
],
_mm_xor_si128
(
c2
[
342
],
_mm_xor_si128
(
c2
[
1444
],
_mm_xor_si128
(
c2
[
143
],
_mm_xor_si128
(
c2
[
43
],
_mm_xor_si128
(
c2
[
853
],
_mm_xor_si128
(
c2
[
1051
],
_mm_xor_si128
(
c2
[
1052
],
_mm_xor_si128
(
c2
[
1350
],
_mm_xor_si128
(
c2
[
1250
],
_mm_xor_si128
(
c2
[
963
],
_mm_xor_si128
(
c2
[
863
],
_mm_xor_si128
(
c2
[
1061
],
_mm_xor_si128
(
c2
[
64
],
_mm_xor_si128
(
c2
[
262
],
_mm_xor_si128
(
c2
[
464
],
_mm_xor_si128
(
c2
[
762
],
_mm_xor_si128
(
c2
[
662
],
_mm_xor_si128
(
c2
[
1063
],
_mm_xor_si128
(
c2
[
873
],
_mm_xor_si128
(
c2
[
1071
],
_mm_xor_si128
(
c2
[
172
],
_mm_xor_si128
(
c2
[
470
],
_mm_xor_si128
(
c2
[
370
],
_mm_xor_si128
(
c2
[
883
],
_mm_xor_si128
(
c2
[
1081
],
_mm_xor_si128
(
c2
[
480
],
_mm_xor_si128
(
c2
[
683
],
_mm_xor_si128
(
c2
[
1381
],
_mm_xor_si128
(
c2
[
80
],
_mm_xor_si128
(
c2
[
1584
],
_mm_xor_si128
(
c2
[
993
],
_mm_xor_si128
(
c2
[
893
],
_mm_xor_si128
(
c2
[
1091
],
_mm_xor_si128
(
c2
[
1591
],
_mm_xor_si128
(
c2
[
190
],
_mm_xor_si128
(
c2
[
691
],
_mm_xor_si128
(
c2
[
994
],
c2
[
894
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
75
]
=
_mm_xor_si128
(
c2
[
804
],
_mm_xor_si128
(
c2
[
301
],
_mm_xor_si128
(
c2
[
201
],
_mm_xor_si128
(
c2
[
103
],
_mm_xor_si128
(
c2
[
1104
],
_mm_xor_si128
(
c2
[
1200
],
_mm_xor_si128
(
c2
[
602
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
814
],
_mm_xor_si128
(
c2
[
311
],
_mm_xor_si128
(
c2
[
211
],
_mm_xor_si128
(
c2
[
610
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
1411
],
_mm_xor_si128
(
c2
[
813
],
_mm_xor_si128
(
c2
[
824
],
_mm_xor_si128
(
c2
[
321
],
_mm_xor_si128
(
c2
[
221
],
_mm_xor_si128
(
c2
[
720
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
834
],
_mm_xor_si128
(
c2
[
331
],
_mm_xor_si128
(
c2
[
231
],
_mm_xor_si128
(
c2
[
432
],
_mm_xor_si128
(
c2
[
1433
],
_mm_xor_si128
(
c2
[
1130
],
_mm_xor_si128
(
c2
[
532
],
_mm_xor_si128
(
c2
[
844
],
_mm_xor_si128
(
c2
[
241
],
_mm_xor_si128
(
c2
[
140
],
_mm_xor_si128
(
c2
[
1141
],
_mm_xor_si128
(
c2
[
1440
],
_mm_xor_si128
(
c2
[
842
],
_mm_xor_si128
(
c2
[
854
],
_mm_xor_si128
(
c2
[
251
],
_mm_xor_si128
(
c2
[
1053
],
_mm_xor_si128
(
c2
[
450
],
_mm_xor_si128
(
c2
[
864
],
_mm_xor_si128
(
c2
[
361
],
_mm_xor_si128
(
c2
[
261
],
_mm_xor_si128
(
c2
[
60
],
_mm_xor_si128
(
c2
[
1061
],
_mm_xor_si128
(
c2
[
460
],
_mm_xor_si128
(
c2
[
1461
],
_mm_xor_si128
(
c2
[
874
],
_mm_xor_si128
(
c2
[
271
],
_mm_xor_si128
(
c2
[
173
],
_mm_xor_si128
(
c2
[
1174
],
_mm_xor_si128
(
c2
[
884
],
_mm_xor_si128
(
c2
[
281
],
_mm_xor_si128
(
c2
[
481
],
_mm_xor_si128
(
c2
[
1482
],
_mm_xor_si128
(
c2
[
1382
],
_mm_xor_si128
(
c2
[
784
],
_mm_xor_si128
(
c2
[
894
],
_mm_xor_si128
(
c2
[
391
],
_mm_xor_si128
(
c2
[
291
],
_mm_xor_si128
(
c2
[
1592
],
_mm_xor_si128
(
c2
[
994
],
_mm_xor_si128
(
c2
[
692
],
c2
[
94
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
80
]
=
_mm_xor_si128
(
c2
[
1501
],
_mm_xor_si128
(
c2
[
1401
],
_mm_xor_si128
(
c2
[
1503
],
_mm_xor_si128
(
c2
[
1403
],
_mm_xor_si128
(
c2
[
700
],
_mm_xor_si128
(
c2
[
802
],
_mm_xor_si128
(
c2
[
702
],
_mm_xor_si128
(
c2
[
203
],
_mm_xor_si128
(
c2
[
200
],
_mm_xor_si128
(
c2
[
1511
],
_mm_xor_si128
(
c2
[
1411
],
_mm_xor_si128
(
c2
[
1513
],
_mm_xor_si128
(
c2
[
1413
],
_mm_xor_si128
(
c2
[
1212
],
_mm_xor_si128
(
c2
[
1214
],
_mm_xor_si128
(
c2
[
414
],
_mm_xor_si128
(
c2
[
411
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
1521
],
_mm_xor_si128
(
c2
[
1421
],
_mm_xor_si128
(
c2
[
1523
],
_mm_xor_si128
(
c2
[
1423
],
_mm_xor_si128
(
c2
[
1322
],
_mm_xor_si128
(
c2
[
1324
],
_mm_xor_si128
(
c2
[
1531
],
_mm_xor_si128
(
c2
[
1431
],
_mm_xor_si128
(
c2
[
1533
],
_mm_xor_si128
(
c2
[
1433
],
_mm_xor_si128
(
c2
[
1034
],
_mm_xor_si128
(
c2
[
1131
],
_mm_xor_si128
(
c2
[
1031
],
_mm_xor_si128
(
c2
[
133
],
_mm_xor_si128
(
c2
[
130
],
_mm_xor_si128
(
c2
[
1441
],
_mm_xor_si128
(
c2
[
1543
],
_mm_xor_si128
(
c2
[
1443
],
_mm_xor_si128
(
c2
[
742
],
_mm_xor_si128
(
c2
[
744
],
_mm_xor_si128
(
c2
[
443
],
_mm_xor_si128
(
c2
[
440
],
_mm_xor_si128
(
c2
[
1451
],
_mm_xor_si128
(
c2
[
1553
],
_mm_xor_si128
(
c2
[
1453
],
_mm_xor_si128
(
c2
[
51
],
_mm_xor_si128
(
c2
[
53
],
_mm_xor_si128
(
c2
[
1561
],
_mm_xor_si128
(
c2
[
1461
],
_mm_xor_si128
(
c2
[
1563
],
_mm_xor_si128
(
c2
[
1463
],
_mm_xor_si128
(
c2
[
662
],
_mm_xor_si128
(
c2
[
764
],
_mm_xor_si128
(
c2
[
664
],
_mm_xor_si128
(
c2
[
1062
],
_mm_xor_si128
(
c2
[
1064
],
_mm_xor_si128
(
c2
[
1471
],
_mm_xor_si128
(
c2
[
1573
],
_mm_xor_si128
(
c2
[
1473
],
_mm_xor_si128
(
c2
[
770
],
_mm_xor_si128
(
c2
[
772
],
_mm_xor_si128
(
c2
[
1481
],
_mm_xor_si128
(
c2
[
1583
],
_mm_xor_si128
(
c2
[
1483
],
_mm_xor_si128
(
c2
[
1083
],
_mm_xor_si128
(
c2
[
1080
],
_mm_xor_si128
(
c2
[
380
],
_mm_xor_si128
(
c2
[
382
],
_mm_xor_si128
(
c2
[
1591
],
_mm_xor_si128
(
c2
[
1491
],
_mm_xor_si128
(
c2
[
1593
],
_mm_xor_si128
(
c2
[
1493
],
_mm_xor_si128
(
c2
[
590
],
_mm_xor_si128
(
c2
[
692
],
_mm_xor_si128
(
c2
[
592
],
_mm_xor_si128
(
c2
[
1294
],
_mm_xor_si128
(
c2
[
1291
],
c2
[
1594
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
85
]
=
_mm_xor_si128
(
c2
[
1301
],
_mm_xor_si128
(
c2
[
1201
],
_mm_xor_si128
(
c2
[
201
],
_mm_xor_si128
(
c2
[
101
],
_mm_xor_si128
(
c2
[
500
],
_mm_xor_si128
(
c2
[
1104
],
_mm_xor_si128
(
c2
[
1004
],
_mm_xor_si128
(
c2
[
3
],
_mm_xor_si128
(
c2
[
502
],
_mm_xor_si128
(
c2
[
1311
],
_mm_xor_si128
(
c2
[
1211
],
_mm_xor_si128
(
c2
[
211
],
_mm_xor_si128
(
c2
[
111
],
_mm_xor_si128
(
c2
[
1012
],
_mm_xor_si128
(
c2
[
1511
],
_mm_xor_si128
(
c2
[
214
],
_mm_xor_si128
(
c2
[
713
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
1321
],
_mm_xor_si128
(
c2
[
1221
],
_mm_xor_si128
(
c2
[
221
],
_mm_xor_si128
(
c2
[
121
],
_mm_xor_si128
(
c2
[
1122
],
_mm_xor_si128
(
c2
[
22
],
_mm_xor_si128
(
c2
[
1331
],
_mm_xor_si128
(
c2
[
1231
],
_mm_xor_si128
(
c2
[
231
],
_mm_xor_si128
(
c2
[
131
],
_mm_xor_si128
(
c2
[
834
],
_mm_xor_si128
(
c2
[
1433
],
_mm_xor_si128
(
c2
[
1333
],
_mm_xor_si128
(
c2
[
1532
],
_mm_xor_si128
(
c2
[
432
],
_mm_xor_si128
(
c2
[
1241
],
_mm_xor_si128
(
c2
[
241
],
_mm_xor_si128
(
c2
[
141
],
_mm_xor_si128
(
c2
[
542
],
_mm_xor_si128
(
c2
[
1041
],
_mm_xor_si128
(
c2
[
243
],
_mm_xor_si128
(
c2
[
742
],
_mm_xor_si128
(
c2
[
1251
],
_mm_xor_si128
(
c2
[
251
],
_mm_xor_si128
(
c2
[
151
],
_mm_xor_si128
(
c2
[
1450
],
_mm_xor_si128
(
c2
[
350
],
_mm_xor_si128
(
c2
[
851
],
_mm_xor_si128
(
c2
[
1361
],
_mm_xor_si128
(
c2
[
1261
],
_mm_xor_si128
(
c2
[
261
],
_mm_xor_si128
(
c2
[
161
],
_mm_xor_si128
(
c2
[
462
],
_mm_xor_si128
(
c2
[
1061
],
_mm_xor_si128
(
c2
[
961
],
_mm_xor_si128
(
c2
[
862
],
_mm_xor_si128
(
c2
[
1361
],
_mm_xor_si128
(
c2
[
1271
],
_mm_xor_si128
(
c2
[
271
],
_mm_xor_si128
(
c2
[
171
],
_mm_xor_si128
(
c2
[
570
],
_mm_xor_si128
(
c2
[
1074
],
_mm_xor_si128
(
c2
[
1281
],
_mm_xor_si128
(
c2
[
281
],
_mm_xor_si128
(
c2
[
181
],
_mm_xor_si128
(
c2
[
883
],
_mm_xor_si128
(
c2
[
1382
],
_mm_xor_si128
(
c2
[
180
],
_mm_xor_si128
(
c2
[
684
],
_mm_xor_si128
(
c2
[
1391
],
_mm_xor_si128
(
c2
[
1291
],
_mm_xor_si128
(
c2
[
291
],
_mm_xor_si128
(
c2
[
191
],
_mm_xor_si128
(
c2
[
390
],
_mm_xor_si128
(
c2
[
994
],
_mm_xor_si128
(
c2
[
894
],
_mm_xor_si128
(
c2
[
1094
],
c2
[
1593
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
90
]
=
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
261
],
c2
[
670
]));
//row: 19
d2
[
95
]
=
_mm_xor_si128
(
c2
[
904
],
_mm_xor_si128
(
c2
[
203
],
_mm_xor_si128
(
c2
[
1300
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
914
],
_mm_xor_si128
(
c2
[
710
],
_mm_xor_si128
(
c2
[
1511
],
_mm_xor_si128
(
c2
[
1414
],
_mm_xor_si128
(
c2
[
924
],
_mm_xor_si128
(
c2
[
820
],
_mm_xor_si128
(
c2
[
934
],
_mm_xor_si128
(
c2
[
532
],
_mm_xor_si128
(
c2
[
1230
],
_mm_xor_si128
(
c2
[
944
],
_mm_xor_si128
(
c2
[
240
],
_mm_xor_si128
(
c2
[
1540
],
_mm_xor_si128
(
c2
[
954
],
_mm_xor_si128
(
c2
[
1153
],
_mm_xor_si128
(
c2
[
964
],
_mm_xor_si128
(
c2
[
160
],
_mm_xor_si128
(
c2
[
560
],
_mm_xor_si128
(
c2
[
974
],
_mm_xor_si128
(
c2
[
273
],
_mm_xor_si128
(
c2
[
984
],
_mm_xor_si128
(
c2
[
581
],
_mm_xor_si128
(
c2
[
1482
],
_mm_xor_si128
(
c2
[
994
],
_mm_xor_si128
(
c2
[
93
],
c2
[
792
]))))))))))))))))))))))))))));
//row: 20
d2
[
100
]
=
_mm_xor_si128
(
c2
[
801
],
_mm_xor_si128
(
c2
[
701
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
1102
],
_mm_xor_si128
(
c2
[
811
],
_mm_xor_si128
(
c2
[
711
],
_mm_xor_si128
(
c2
[
512
],
_mm_xor_si128
(
c2
[
1313
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
821
],
_mm_xor_si128
(
c2
[
721
],
_mm_xor_si128
(
c2
[
622
],
_mm_xor_si128
(
c2
[
831
],
_mm_xor_si128
(
c2
[
731
],
_mm_xor_si128
(
c2
[
334
],
_mm_xor_si128
(
c2
[
1032
],
_mm_xor_si128
(
c2
[
741
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
1342
],
_mm_xor_si128
(
c2
[
444
],
_mm_xor_si128
(
c2
[
751
],
_mm_xor_si128
(
c2
[
950
],
_mm_xor_si128
(
c2
[
861
],
_mm_xor_si128
(
c2
[
761
],
_mm_xor_si128
(
c2
[
1561
],
_mm_xor_si128
(
c2
[
362
],
_mm_xor_si128
(
c2
[
771
],
_mm_xor_si128
(
c2
[
70
],
_mm_xor_si128
(
c2
[
781
],
_mm_xor_si128
(
c2
[
383
],
_mm_xor_si128
(
c2
[
1284
],
_mm_xor_si128
(
c2
[
891
],
_mm_xor_si128
(
c2
[
791
],
_mm_xor_si128
(
c2
[
1494
],
c2
[
594
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
105
]
=
_mm_xor_si128
(
c2
[
2
],
_mm_xor_si128
(
c2
[
900
],
_mm_xor_si128
(
c2
[
403
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
1412
],
_mm_xor_si128
(
c2
[
714
],
_mm_xor_si128
(
c2
[
614
],
_mm_xor_si128
(
c2
[
22
],
_mm_xor_si128
(
c2
[
23
],
_mm_xor_si128
(
c2
[
1522
],
_mm_xor_si128
(
c2
[
32
],
_mm_xor_si128
(
c2
[
1234
],
_mm_xor_si128
(
c2
[
333
],
_mm_xor_si128
(
c2
[
42
],
_mm_xor_si128
(
c2
[
942
],
_mm_xor_si128
(
c2
[
743
],
_mm_xor_si128
(
c2
[
643
],
_mm_xor_si128
(
c2
[
52
],
_mm_xor_si128
(
c2
[
351
],
_mm_xor_si128
(
c2
[
251
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
862
],
_mm_xor_si128
(
c2
[
1362
],
_mm_xor_si128
(
c2
[
1262
],
_mm_xor_si128
(
c2
[
72
],
_mm_xor_si128
(
c2
[
1070
],
_mm_xor_si128
(
c2
[
970
],
_mm_xor_si128
(
c2
[
82
],
_mm_xor_si128
(
c2
[
1283
],
_mm_xor_si128
(
c2
[
680
],
_mm_xor_si128
(
c2
[
580
],
_mm_xor_si128
(
c2
[
181
],
_mm_xor_si128
(
c2
[
92
],
_mm_xor_si128
(
c2
[
790
],
_mm_xor_si128
(
c2
[
1594
],
c2
[
1494
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
110
]
=
_mm_xor_si128
(
c2
[
10
],
c2
[
420
]);
//row: 23
d2
[
115
]
=
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
1134
],
c2
[
1454
]));
//row: 24
d2
[
120
]
=
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
524
],
c2
[
790
]));
//row: 25
d2
[
125
]
=
_mm_xor_si128
(
c2
[
0
],
c2
[
154
]);
//row: 26
d2
[
130
]
=
_mm_xor_si128
(
c2
[
1300
],
_mm_xor_si128
(
c2
[
1200
],
_mm_xor_si128
(
c2
[
600
],
_mm_xor_si128
(
c2
[
604
],
_mm_xor_si128
(
c2
[
504
],
_mm_xor_si128
(
c2
[
1503
],
_mm_xor_si128
(
c2
[
2
],
_mm_xor_si128
(
c2
[
1001
],
_mm_xor_si128
(
c2
[
1310
],
_mm_xor_si128
(
c2
[
1210
],
_mm_xor_si128
(
c2
[
610
],
_mm_xor_si128
(
c2
[
1011
],
_mm_xor_si128
(
c2
[
411
],
_mm_xor_si128
(
c2
[
213
],
_mm_xor_si128
(
c2
[
1312
],
_mm_xor_si128
(
c2
[
1212
],
_mm_xor_si128
(
c2
[
1320
],
_mm_xor_si128
(
c2
[
1220
],
_mm_xor_si128
(
c2
[
620
],
_mm_xor_si128
(
c2
[
1121
],
_mm_xor_si128
(
c2
[
621
],
_mm_xor_si128
(
c2
[
521
],
_mm_xor_si128
(
c2
[
20
],
_mm_xor_si128
(
c2
[
1330
],
_mm_xor_si128
(
c2
[
1230
],
_mm_xor_si128
(
c2
[
630
],
_mm_xor_si128
(
c2
[
933
],
_mm_xor_si128
(
c2
[
833
],
_mm_xor_si128
(
c2
[
233
],
_mm_xor_si128
(
c2
[
1531
],
_mm_xor_si128
(
c2
[
931
],
_mm_xor_si128
(
c2
[
1340
],
_mm_xor_si128
(
c2
[
1240
],
_mm_xor_si128
(
c2
[
640
],
_mm_xor_si128
(
c2
[
541
],
_mm_xor_si128
(
c2
[
1540
],
_mm_xor_si128
(
c2
[
242
],
_mm_xor_si128
(
c2
[
1341
],
_mm_xor_si128
(
c2
[
1241
],
_mm_xor_si128
(
c2
[
1350
],
_mm_xor_si128
(
c2
[
1250
],
_mm_xor_si128
(
c2
[
650
],
_mm_xor_si128
(
c2
[
1454
],
_mm_xor_si128
(
c2
[
954
],
_mm_xor_si128
(
c2
[
854
],
_mm_xor_si128
(
c2
[
1360
],
_mm_xor_si128
(
c2
[
1260
],
_mm_xor_si128
(
c2
[
660
],
_mm_xor_si128
(
c2
[
561
],
_mm_xor_si128
(
c2
[
461
],
_mm_xor_si128
(
c2
[
1460
],
_mm_xor_si128
(
c2
[
861
],
_mm_xor_si128
(
c2
[
361
],
_mm_xor_si128
(
c2
[
261
],
_mm_xor_si128
(
c2
[
1370
],
_mm_xor_si128
(
c2
[
1270
],
_mm_xor_si128
(
c2
[
670
],
_mm_xor_si128
(
c2
[
574
],
_mm_xor_si128
(
c2
[
74
],
_mm_xor_si128
(
c2
[
1573
],
_mm_xor_si128
(
c2
[
471
],
_mm_xor_si128
(
c2
[
1380
],
_mm_xor_si128
(
c2
[
1280
],
_mm_xor_si128
(
c2
[
680
],
_mm_xor_si128
(
c2
[
882
],
_mm_xor_si128
(
c2
[
282
],
_mm_xor_si128
(
c2
[
184
],
_mm_xor_si128
(
c2
[
1283
],
_mm_xor_si128
(
c2
[
1183
],
_mm_xor_si128
(
c2
[
1390
],
_mm_xor_si128
(
c2
[
1290
],
_mm_xor_si128
(
c2
[
690
],
_mm_xor_si128
(
c2
[
494
],
_mm_xor_si128
(
c2
[
394
],
_mm_xor_si128
(
c2
[
1393
],
_mm_xor_si128
(
c2
[
1093
],
_mm_xor_si128
(
c2
[
593
],
c2
[
493
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
135
]
=
_mm_xor_si128
(
c2
[
0
],
c2
[
62
]);
//row: 28
d2
[
140
]
=
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
1422
],
c2
[
1451
]));
//row: 29
d2
[
145
]
=
_mm_xor_si128
(
c2
[
0
],
c2
[
1044
]);
//row: 30
d2
[
150
]
=
_mm_xor_si128
(
c2
[
20
],
_mm_xor_si128
(
c2
[
352
],
_mm_xor_si128
(
c2
[
373
],
c2
[
693
])));
//row: 31
d2
[
155
]
=
_mm_xor_si128
(
c2
[
301
],
_mm_xor_si128
(
c2
[
1204
],
_mm_xor_si128
(
c2
[
702
],
_mm_xor_si128
(
c2
[
311
],
_mm_xor_si128
(
c2
[
112
],
_mm_xor_si128
(
c2
[
1013
],
_mm_xor_si128
(
c2
[
913
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
321
],
_mm_xor_si128
(
c2
[
322
],
_mm_xor_si128
(
c2
[
222
],
_mm_xor_si128
(
c2
[
331
],
_mm_xor_si128
(
c2
[
1533
],
_mm_xor_si128
(
c2
[
632
],
_mm_xor_si128
(
c2
[
341
],
_mm_xor_si128
(
c2
[
1241
],
_mm_xor_si128
(
c2
[
1042
],
_mm_xor_si128
(
c2
[
942
],
_mm_xor_si128
(
c2
[
351
],
_mm_xor_si128
(
c2
[
650
],
_mm_xor_si128
(
c2
[
550
],
_mm_xor_si128
(
c2
[
361
],
_mm_xor_si128
(
c2
[
1161
],
_mm_xor_si128
(
c2
[
62
],
_mm_xor_si128
(
c2
[
1561
],
_mm_xor_si128
(
c2
[
371
],
_mm_xor_si128
(
c2
[
1374
],
_mm_xor_si128
(
c2
[
1274
],
_mm_xor_si128
(
c2
[
381
],
_mm_xor_si128
(
c2
[
1582
],
_mm_xor_si128
(
c2
[
984
],
_mm_xor_si128
(
c2
[
884
],
_mm_xor_si128
(
c2
[
391
],
_mm_xor_si128
(
c2
[
1094
],
_mm_xor_si128
(
c2
[
294
],
c2
[
194
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
160
]
=
_mm_xor_si128
(
c2
[
1002
],
_mm_xor_si128
(
c2
[
902
],
_mm_xor_si128
(
c2
[
301
],
_mm_xor_si128
(
c2
[
201
],
_mm_xor_si128
(
c2
[
1303
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
1012
],
_mm_xor_si128
(
c2
[
912
],
_mm_xor_si128
(
c2
[
713
],
_mm_xor_si128
(
c2
[
1514
],
_mm_xor_si128
(
c2
[
1022
],
_mm_xor_si128
(
c2
[
922
],
_mm_xor_si128
(
c2
[
823
],
_mm_xor_si128
(
c2
[
1032
],
_mm_xor_si128
(
c2
[
932
],
_mm_xor_si128
(
c2
[
630
],
_mm_xor_si128
(
c2
[
530
],
_mm_xor_si128
(
c2
[
1233
],
_mm_xor_si128
(
c2
[
1042
],
_mm_xor_si128
(
c2
[
942
],
_mm_xor_si128
(
c2
[
243
],
_mm_xor_si128
(
c2
[
1543
],
_mm_xor_si128
(
c2
[
1052
],
_mm_xor_si128
(
c2
[
952
],
_mm_xor_si128
(
c2
[
1151
],
_mm_xor_si128
(
c2
[
451
],
_mm_xor_si128
(
c2
[
1062
],
_mm_xor_si128
(
c2
[
962
],
_mm_xor_si128
(
c2
[
263
],
_mm_xor_si128
(
c2
[
163
],
_mm_xor_si128
(
c2
[
563
],
_mm_xor_si128
(
c2
[
1072
],
_mm_xor_si128
(
c2
[
972
],
_mm_xor_si128
(
c2
[
271
],
_mm_xor_si128
(
c2
[
1082
],
_mm_xor_si128
(
c2
[
982
],
_mm_xor_si128
(
c2
[
584
],
_mm_xor_si128
(
c2
[
1480
],
_mm_xor_si128
(
c2
[
1092
],
_mm_xor_si128
(
c2
[
992
],
_mm_xor_si128
(
c2
[
191
],
_mm_xor_si128
(
c2
[
91
],
c2
[
790
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
165
]
=
_mm_xor_si128
(
c2
[
1200
],
_mm_xor_si128
(
c2
[
504
],
_mm_xor_si128
(
c2
[
2
],
_mm_xor_si128
(
c2
[
1210
],
_mm_xor_si128
(
c2
[
1011
],
_mm_xor_si128
(
c2
[
213
],
_mm_xor_si128
(
c2
[
1220
],
_mm_xor_si128
(
c2
[
1121
],
_mm_xor_si128
(
c2
[
20
],
_mm_xor_si128
(
c2
[
1230
],
_mm_xor_si128
(
c2
[
833
],
_mm_xor_si128
(
c2
[
1531
],
_mm_xor_si128
(
c2
[
1240
],
_mm_xor_si128
(
c2
[
541
],
_mm_xor_si128
(
c2
[
242
],
_mm_xor_si128
(
c2
[
1250
],
_mm_xor_si128
(
c2
[
1454
],
_mm_xor_si128
(
c2
[
1260
],
_mm_xor_si128
(
c2
[
461
],
_mm_xor_si128
(
c2
[
861
],
_mm_xor_si128
(
c2
[
1270
],
_mm_xor_si128
(
c2
[
574
],
_mm_xor_si128
(
c2
[
870
],
_mm_xor_si128
(
c2
[
1280
],
_mm_xor_si128
(
c2
[
882
],
_mm_xor_si128
(
c2
[
184
],
_mm_xor_si128
(
c2
[
1290
],
_mm_xor_si128
(
c2
[
394
],
c2
[
1093
]))))))))))))))))))))))))))));
//row: 34
d2
[
170
]
=
_mm_xor_si128
(
c2
[
301
],
_mm_xor_si128
(
c2
[
201
],
_mm_xor_si128
(
c2
[
1304
],
_mm_xor_si128
(
c2
[
1204
],
_mm_xor_si128
(
c2
[
1104
],
_mm_xor_si128
(
c2
[
603
],
_mm_xor_si128
(
c2
[
602
],
_mm_xor_si128
(
c2
[
101
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
311
],
_mm_xor_si128
(
c2
[
211
],
_mm_xor_si128
(
c2
[
1314
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
1110
],
_mm_xor_si128
(
c2
[
813
],
_mm_xor_si128
(
c2
[
412
],
_mm_xor_si128
(
c2
[
312
],
_mm_xor_si128
(
c2
[
321
],
_mm_xor_si128
(
c2
[
221
],
_mm_xor_si128
(
c2
[
1324
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
1320
],
_mm_xor_si128
(
c2
[
1220
],
_mm_xor_si128
(
c2
[
331
],
_mm_xor_si128
(
c2
[
231
],
_mm_xor_si128
(
c2
[
1334
],
_mm_xor_si128
(
c2
[
1533
],
_mm_xor_si128
(
c2
[
1433
],
_mm_xor_si128
(
c2
[
932
],
_mm_xor_si128
(
c2
[
532
],
_mm_xor_si128
(
c2
[
31
],
_mm_xor_si128
(
c2
[
341
],
_mm_xor_si128
(
c2
[
241
],
_mm_xor_si128
(
c2
[
1344
],
_mm_xor_si128
(
c2
[
1141
],
_mm_xor_si128
(
c2
[
640
],
_mm_xor_si128
(
c2
[
842
],
_mm_xor_si128
(
c2
[
441
],
_mm_xor_si128
(
c2
[
341
],
_mm_xor_si128
(
c2
[
351
],
_mm_xor_si128
(
c2
[
251
],
_mm_xor_si128
(
c2
[
1354
],
_mm_xor_si128
(
c2
[
450
],
_mm_xor_si128
(
c2
[
54
],
_mm_xor_si128
(
c2
[
1553
],
_mm_xor_si128
(
c2
[
361
],
_mm_xor_si128
(
c2
[
261
],
_mm_xor_si128
(
c2
[
1364
],
_mm_xor_si128
(
c2
[
1161
],
_mm_xor_si128
(
c2
[
1061
],
_mm_xor_si128
(
c2
[
560
],
_mm_xor_si128
(
c2
[
1461
],
_mm_xor_si128
(
c2
[
1060
],
_mm_xor_si128
(
c2
[
960
],
_mm_xor_si128
(
c2
[
371
],
_mm_xor_si128
(
c2
[
271
],
_mm_xor_si128
(
c2
[
1374
],
_mm_xor_si128
(
c2
[
1174
],
_mm_xor_si128
(
c2
[
773
],
_mm_xor_si128
(
c2
[
673
],
_mm_xor_si128
(
c2
[
381
],
_mm_xor_si128
(
c2
[
281
],
_mm_xor_si128
(
c2
[
1384
],
_mm_xor_si128
(
c2
[
1482
],
_mm_xor_si128
(
c2
[
981
],
_mm_xor_si128
(
c2
[
784
],
_mm_xor_si128
(
c2
[
383
],
_mm_xor_si128
(
c2
[
283
],
_mm_xor_si128
(
c2
[
391
],
_mm_xor_si128
(
c2
[
291
],
_mm_xor_si128
(
c2
[
1394
],
_mm_xor_si128
(
c2
[
1094
],
_mm_xor_si128
(
c2
[
994
],
_mm_xor_si128
(
c2
[
493
],
_mm_xor_si128
(
c2
[
94
],
_mm_xor_si128
(
c2
[
1292
],
c2
[
1192
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
175
]
=
_mm_xor_si128
(
c2
[
600
],
_mm_xor_si128
(
c2
[
500
],
_mm_xor_si128
(
c2
[
1403
],
_mm_xor_si128
(
c2
[
901
],
_mm_xor_si128
(
c2
[
610
],
_mm_xor_si128
(
c2
[
510
],
_mm_xor_si128
(
c2
[
311
],
_mm_xor_si128
(
c2
[
1112
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
620
],
_mm_xor_si128
(
c2
[
520
],
_mm_xor_si128
(
c2
[
421
],
_mm_xor_si128
(
c2
[
630
],
_mm_xor_si128
(
c2
[
530
],
_mm_xor_si128
(
c2
[
133
],
_mm_xor_si128
(
c2
[
831
],
_mm_xor_si128
(
c2
[
540
],
_mm_xor_si128
(
c2
[
1440
],
_mm_xor_si128
(
c2
[
1141
],
_mm_xor_si128
(
c2
[
550
],
_mm_xor_si128
(
c2
[
754
],
_mm_xor_si128
(
c2
[
1354
],
_mm_xor_si128
(
c2
[
660
],
_mm_xor_si128
(
c2
[
560
],
_mm_xor_si128
(
c2
[
1360
],
_mm_xor_si128
(
c2
[
161
],
_mm_xor_si128
(
c2
[
570
],
_mm_xor_si128
(
c2
[
1473
],
_mm_xor_si128
(
c2
[
580
],
_mm_xor_si128
(
c2
[
182
],
_mm_xor_si128
(
c2
[
1083
],
_mm_xor_si128
(
c2
[
690
],
_mm_xor_si128
(
c2
[
590
],
_mm_xor_si128
(
c2
[
1293
],
c2
[
393
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
180
]
=
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
1523
],
c2
[
270
]));
//row: 37
d2
[
185
]
=
_mm_xor_si128
(
c2
[
1504
],
_mm_xor_si128
(
c2
[
1503
],
_mm_xor_si128
(
c2
[
803
],
_mm_xor_si128
(
c2
[
802
],
_mm_xor_si128
(
c2
[
301
],
_mm_xor_si128
(
c2
[
300
],
_mm_xor_si128
(
c2
[
1514
],
_mm_xor_si128
(
c2
[
1513
],
_mm_xor_si128
(
c2
[
1310
],
_mm_xor_si128
(
c2
[
1314
],
_mm_xor_si128
(
c2
[
512
],
_mm_xor_si128
(
c2
[
611
],
_mm_xor_si128
(
c2
[
511
],
_mm_xor_si128
(
c2
[
1524
],
_mm_xor_si128
(
c2
[
1523
],
_mm_xor_si128
(
c2
[
1420
],
_mm_xor_si128
(
c2
[
1524
],
_mm_xor_si128
(
c2
[
1424
],
_mm_xor_si128
(
c2
[
1534
],
_mm_xor_si128
(
c2
[
1533
],
_mm_xor_si128
(
c2
[
1132
],
_mm_xor_si128
(
c2
[
1131
],
_mm_xor_si128
(
c2
[
231
],
_mm_xor_si128
(
c2
[
230
],
_mm_xor_si128
(
c2
[
1544
],
_mm_xor_si128
(
c2
[
1543
],
_mm_xor_si128
(
c2
[
840
],
_mm_xor_si128
(
c2
[
844
],
_mm_xor_si128
(
c2
[
541
],
_mm_xor_si128
(
c2
[
640
],
_mm_xor_si128
(
c2
[
540
],
_mm_xor_si128
(
c2
[
1554
],
_mm_xor_si128
(
c2
[
1553
],
_mm_xor_si128
(
c2
[
154
],
_mm_xor_si128
(
c2
[
253
],
_mm_xor_si128
(
c2
[
153
],
_mm_xor_si128
(
c2
[
1564
],
_mm_xor_si128
(
c2
[
1563
],
_mm_xor_si128
(
c2
[
760
],
_mm_xor_si128
(
c2
[
764
],
_mm_xor_si128
(
c2
[
1160
],
_mm_xor_si128
(
c2
[
1264
],
_mm_xor_si128
(
c2
[
1164
],
_mm_xor_si128
(
c2
[
1574
],
_mm_xor_si128
(
c2
[
1573
],
_mm_xor_si128
(
c2
[
873
],
_mm_xor_si128
(
c2
[
972
],
_mm_xor_si128
(
c2
[
872
],
_mm_xor_si128
(
c2
[
1584
],
_mm_xor_si128
(
c2
[
1583
],
_mm_xor_si128
(
c2
[
1181
],
_mm_xor_si128
(
c2
[
1180
],
_mm_xor_si128
(
c2
[
483
],
_mm_xor_si128
(
c2
[
582
],
_mm_xor_si128
(
c2
[
482
],
_mm_xor_si128
(
c2
[
1594
],
_mm_xor_si128
(
c2
[
1593
],
_mm_xor_si128
(
c2
[
693
],
_mm_xor_si128
(
c2
[
692
],
_mm_xor_si128
(
c2
[
1392
],
_mm_xor_si128
(
c2
[
1491
],
c2
[
1391
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
190
]
=
_mm_xor_si128
(
c2
[
301
],
_mm_xor_si128
(
c2
[
201
],
_mm_xor_si128
(
c2
[
1104
],
_mm_xor_si128
(
c2
[
602
],
_mm_xor_si128
(
c2
[
311
],
_mm_xor_si128
(
c2
[
211
],
_mm_xor_si128
(
c2
[
12
],
_mm_xor_si128
(
c2
[
813
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
321
],
_mm_xor_si128
(
c2
[
221
],
_mm_xor_si128
(
c2
[
122
],
_mm_xor_si128
(
c2
[
331
],
_mm_xor_si128
(
c2
[
231
],
_mm_xor_si128
(
c2
[
1433
],
_mm_xor_si128
(
c2
[
532
],
_mm_xor_si128
(
c2
[
241
],
_mm_xor_si128
(
c2
[
1141
],
_mm_xor_si128
(
c2
[
842
],
_mm_xor_si128
(
c2
[
251
],
_mm_xor_si128
(
c2
[
450
],
_mm_xor_si128
(
c2
[
1350
],
_mm_xor_si128
(
c2
[
361
],
_mm_xor_si128
(
c2
[
261
],
_mm_xor_si128
(
c2
[
1061
],
_mm_xor_si128
(
c2
[
1461
],
_mm_xor_si128
(
c2
[
271
],
_mm_xor_si128
(
c2
[
1174
],
_mm_xor_si128
(
c2
[
281
],
_mm_xor_si128
(
c2
[
1482
],
_mm_xor_si128
(
c2
[
784
],
_mm_xor_si128
(
c2
[
391
],
_mm_xor_si128
(
c2
[
291
],
_mm_xor_si128
(
c2
[
994
],
c2
[
94
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
195
]
=
_mm_xor_si128
(
c2
[
1003
],
_mm_xor_si128
(
c2
[
903
],
_mm_xor_si128
(
c2
[
302
],
_mm_xor_si128
(
c2
[
202
],
_mm_xor_si128
(
c2
[
1304
],
_mm_xor_si128
(
c2
[
0
],
_mm_xor_si128
(
c2
[
1013
],
_mm_xor_si128
(
c2
[
913
],
_mm_xor_si128
(
c2
[
714
],
_mm_xor_si128
(
c2
[
1510
],
_mm_xor_si128
(
c2
[
1023
],
_mm_xor_si128
(
c2
[
923
],
_mm_xor_si128
(
c2
[
824
],
_mm_xor_si128
(
c2
[
1033
],
_mm_xor_si128
(
c2
[
933
],
_mm_xor_si128
(
c2
[
631
],
_mm_xor_si128
(
c2
[
531
],
_mm_xor_si128
(
c2
[
1234
],
_mm_xor_si128
(
c2
[
1043
],
_mm_xor_si128
(
c2
[
943
],
_mm_xor_si128
(
c2
[
244
],
_mm_xor_si128
(
c2
[
1544
],
_mm_xor_si128
(
c2
[
1053
],
_mm_xor_si128
(
c2
[
953
],
_mm_xor_si128
(
c2
[
1152
],
_mm_xor_si128
(
c2
[
1063
],
_mm_xor_si128
(
c2
[
963
],
_mm_xor_si128
(
c2
[
264
],
_mm_xor_si128
(
c2
[
164
],
_mm_xor_si128
(
c2
[
564
],
_mm_xor_si128
(
c2
[
1073
],
_mm_xor_si128
(
c2
[
973
],
_mm_xor_si128
(
c2
[
272
],
_mm_xor_si128
(
c2
[
871
],
_mm_xor_si128
(
c2
[
1083
],
_mm_xor_si128
(
c2
[
983
],
_mm_xor_si128
(
c2
[
580
],
_mm_xor_si128
(
c2
[
1481
],
_mm_xor_si128
(
c2
[
1093
],
_mm_xor_si128
(
c2
[
993
],
_mm_xor_si128
(
c2
[
192
],
_mm_xor_si128
(
c2
[
92
],
c2
[
791
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
200
]
=
_mm_xor_si128
(
c2
[
302
],
_mm_xor_si128
(
c2
[
1403
],
_mm_xor_si128
(
c2
[
1200
],
_mm_xor_si128
(
c2
[
702
],
_mm_xor_si128
(
c2
[
703
],
_mm_xor_si128
(
c2
[
200
],
_mm_xor_si128
(
c2
[
312
],
_mm_xor_si128
(
c2
[
1413
],
_mm_xor_si128
(
c2
[
113
],
_mm_xor_si128
(
c2
[
1214
],
_mm_xor_si128
(
c2
[
914
],
_mm_xor_si128
(
c2
[
511
],
_mm_xor_si128
(
c2
[
411
],
_mm_xor_si128
(
c2
[
322
],
_mm_xor_si128
(
c2
[
1423
],
_mm_xor_si128
(
c2
[
223
],
_mm_xor_si128
(
c2
[
1424
],
_mm_xor_si128
(
c2
[
1324
],
_mm_xor_si128
(
c2
[
20
],
_mm_xor_si128
(
c2
[
332
],
_mm_xor_si128
(
c2
[
1433
],
_mm_xor_si128
(
c2
[
1534
],
_mm_xor_si128
(
c2
[
1031
],
_mm_xor_si128
(
c2
[
633
],
_mm_xor_si128
(
c2
[
130
],
_mm_xor_si128
(
c2
[
342
],
_mm_xor_si128
(
c2
[
1443
],
_mm_xor_si128
(
c2
[
1242
],
_mm_xor_si128
(
c2
[
744
],
_mm_xor_si128
(
c2
[
943
],
_mm_xor_si128
(
c2
[
540
],
_mm_xor_si128
(
c2
[
440
],
_mm_xor_si128
(
c2
[
352
],
_mm_xor_si128
(
c2
[
1453
],
_mm_xor_si128
(
c2
[
551
],
_mm_xor_si128
(
c2
[
153
],
_mm_xor_si128
(
c2
[
53
],
_mm_xor_si128
(
c2
[
362
],
_mm_xor_si128
(
c2
[
1463
],
_mm_xor_si128
(
c2
[
1162
],
_mm_xor_si128
(
c2
[
664
],
_mm_xor_si128
(
c2
[
1562
],
_mm_xor_si128
(
c2
[
1164
],
_mm_xor_si128
(
c2
[
1064
],
_mm_xor_si128
(
c2
[
372
],
_mm_xor_si128
(
c2
[
1473
],
_mm_xor_si128
(
c2
[
1270
],
_mm_xor_si128
(
c2
[
872
],
_mm_xor_si128
(
c2
[
772
],
_mm_xor_si128
(
c2
[
382
],
_mm_xor_si128
(
c2
[
1483
],
_mm_xor_si128
(
c2
[
1583
],
_mm_xor_si128
(
c2
[
1080
],
_mm_xor_si128
(
c2
[
880
],
_mm_xor_si128
(
c2
[
482
],
_mm_xor_si128
(
c2
[
382
],
_mm_xor_si128
(
c2
[
392
],
_mm_xor_si128
(
c2
[
1493
],
_mm_xor_si128
(
c2
[
1090
],
_mm_xor_si128
(
c2
[
592
],
_mm_xor_si128
(
c2
[
190
],
_mm_xor_si128
(
c2
[
1391
],
c2
[
1291
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
205
]
=
_mm_xor_si128
(
c2
[
703
],
_mm_xor_si128
(
c2
[
603
],
_mm_xor_si128
(
c2
[
1501
],
_mm_xor_si128
(
c2
[
1004
],
_mm_xor_si128
(
c2
[
713
],
_mm_xor_si128
(
c2
[
613
],
_mm_xor_si128
(
c2
[
414
],
_mm_xor_si128
(
c2
[
1210
],
_mm_xor_si128
(
c2
[
10
],
_mm_xor_si128
(
c2
[
723
],
_mm_xor_si128
(
c2
[
623
],
_mm_xor_si128
(
c2
[
524
],
_mm_xor_si128
(
c2
[
733
],
_mm_xor_si128
(
c2
[
633
],
_mm_xor_si128
(
c2
[
231
],
_mm_xor_si128
(
c2
[
934
],
_mm_xor_si128
(
c2
[
643
],
_mm_xor_si128
(
c2
[
1543
],
_mm_xor_si128
(
c2
[
1244
],
_mm_xor_si128
(
c2
[
653
],
_mm_xor_si128
(
c2
[
852
],
_mm_xor_si128
(
c2
[
250
],
_mm_xor_si128
(
c2
[
763
],
_mm_xor_si128
(
c2
[
663
],
_mm_xor_si128
(
c2
[
1463
],
_mm_xor_si128
(
c2
[
264
],
_mm_xor_si128
(
c2
[
673
],
_mm_xor_si128
(
c2
[
1571
],
_mm_xor_si128
(
c2
[
683
],
_mm_xor_si128
(
c2
[
280
],
_mm_xor_si128
(
c2
[
1181
],
_mm_xor_si128
(
c2
[
793
],
_mm_xor_si128
(
c2
[
693
],
_mm_xor_si128
(
c2
[
1391
],
c2
[
491
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc88_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=88, byte encoding
static
inline
void
ldpc_BG2_Zc88_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m64
*
csimd
=
(
__m64
*
)
c
,
*
dsimd
=
(
__m64
*
)
d
;
__m64
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
11
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm_xor_si64
(
c2
[
668
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
221
],
_mm_xor_si64
(
c2
[
1348
],
_mm_xor_si64
(
c2
[
1571
],
_mm_xor_si64
(
c2
[
908
],
_mm_xor_si64
(
c2
[
1145
],
_mm_xor_si64
(
c2
[
1154
],
_mm_xor_si64
(
c2
[
506
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
508
],
_mm_xor_si64
(
c2
[
1415
],
_mm_xor_si64
(
c2
[
318
],
_mm_xor_si64
(
c2
[
1198
],
_mm_xor_si64
(
c2
[
110
],
_mm_xor_si64
(
c2
[
1434
],
_mm_xor_si64
(
c2
[
1676
],
_mm_xor_si64
(
c2
[
1458
],
_mm_xor_si64
(
c2
[
134
],
_mm_xor_si64
(
c2
[
1038
],
_mm_xor_si64
(
c2
[
154
],
_mm_xor_si64
(
c2
[
626
],
_mm_xor_si64
(
c2
[
1282
],
_mm_xor_si64
(
c2
[
178
],
_mm_xor_si64
(
c2
[
642
],
_mm_xor_si64
(
c2
[
1083
],
c2
[
200
]))))))))))))))))))))))))));
//row: 1
d2
[
11
]
=
_mm_xor_si64
(
c2
[
888
],
_mm_xor_si64
(
c2
[
668
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
221
],
_mm_xor_si64
(
c2
[
1568
],
_mm_xor_si64
(
c2
[
1348
],
_mm_xor_si64
(
c2
[
1571
],
_mm_xor_si64
(
c2
[
908
],
_mm_xor_si64
(
c2
[
1365
],
_mm_xor_si64
(
c2
[
1145
],
_mm_xor_si64
(
c2
[
1154
],
_mm_xor_si64
(
c2
[
726
],
_mm_xor_si64
(
c2
[
506
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
508
],
_mm_xor_si64
(
c2
[
1415
],
_mm_xor_si64
(
c2
[
318
],
_mm_xor_si64
(
c2
[
1198
],
_mm_xor_si64
(
c2
[
110
],
_mm_xor_si64
(
c2
[
1434
],
_mm_xor_si64
(
c2
[
137
],
_mm_xor_si64
(
c2
[
1676
],
_mm_xor_si64
(
c2
[
1458
],
_mm_xor_si64
(
c2
[
134
],
_mm_xor_si64
(
c2
[
1038
],
_mm_xor_si64
(
c2
[
154
],
_mm_xor_si64
(
c2
[
626
],
_mm_xor_si64
(
c2
[
1282
],
_mm_xor_si64
(
c2
[
178
],
_mm_xor_si64
(
c2
[
862
],
_mm_xor_si64
(
c2
[
642
],
_mm_xor_si64
(
c2
[
1083
],
c2
[
200
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
22
]
=
_mm_xor_si64
(
c2
[
888
],
_mm_xor_si64
(
c2
[
668
],
_mm_xor_si64
(
c2
[
222
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
221
],
_mm_xor_si64
(
c2
[
1568
],
_mm_xor_si64
(
c2
[
1348
],
_mm_xor_si64
(
c2
[
1571
],
_mm_xor_si64
(
c2
[
908
],
_mm_xor_si64
(
c2
[
1365
],
_mm_xor_si64
(
c2
[
1145
],
_mm_xor_si64
(
c2
[
1154
],
_mm_xor_si64
(
c2
[
726
],
_mm_xor_si64
(
c2
[
506
],
_mm_xor_si64
(
c2
[
294
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
508
],
_mm_xor_si64
(
c2
[
1635
],
_mm_xor_si64
(
c2
[
1415
],
_mm_xor_si64
(
c2
[
318
],
_mm_xor_si64
(
c2
[
1198
],
_mm_xor_si64
(
c2
[
330
],
_mm_xor_si64
(
c2
[
110
],
_mm_xor_si64
(
c2
[
1434
],
_mm_xor_si64
(
c2
[
137
],
_mm_xor_si64
(
c2
[
1676
],
_mm_xor_si64
(
c2
[
1678
],
_mm_xor_si64
(
c2
[
1458
],
_mm_xor_si64
(
c2
[
134
],
_mm_xor_si64
(
c2
[
1258
],
_mm_xor_si64
(
c2
[
1038
],
_mm_xor_si64
(
c2
[
154
],
_mm_xor_si64
(
c2
[
846
],
_mm_xor_si64
(
c2
[
626
],
_mm_xor_si64
(
c2
[
1282
],
_mm_xor_si64
(
c2
[
178
],
_mm_xor_si64
(
c2
[
862
],
_mm_xor_si64
(
c2
[
642
],
_mm_xor_si64
(
c2
[
1303
],
_mm_xor_si64
(
c2
[
1083
],
c2
[
200
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
33
]
=
_mm_xor_si64
(
c2
[
668
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
221
],
_mm_xor_si64
(
c2
[
1348
],
_mm_xor_si64
(
c2
[
1571
],
_mm_xor_si64
(
c2
[
1128
],
_mm_xor_si64
(
c2
[
908
],
_mm_xor_si64
(
c2
[
1145
],
_mm_xor_si64
(
c2
[
1374
],
_mm_xor_si64
(
c2
[
1154
],
_mm_xor_si64
(
c2
[
506
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
508
],
_mm_xor_si64
(
c2
[
1415
],
_mm_xor_si64
(
c2
[
318
],
_mm_xor_si64
(
c2
[
1418
],
_mm_xor_si64
(
c2
[
1198
],
_mm_xor_si64
(
c2
[
110
],
_mm_xor_si64
(
c2
[
1654
],
_mm_xor_si64
(
c2
[
1434
],
_mm_xor_si64
(
c2
[
1676
],
_mm_xor_si64
(
c2
[
1458
],
_mm_xor_si64
(
c2
[
354
],
_mm_xor_si64
(
c2
[
134
],
_mm_xor_si64
(
c2
[
1038
],
_mm_xor_si64
(
c2
[
374
],
_mm_xor_si64
(
c2
[
154
],
_mm_xor_si64
(
c2
[
626
],
_mm_xor_si64
(
c2
[
1282
],
_mm_xor_si64
(
c2
[
398
],
_mm_xor_si64
(
c2
[
178
],
_mm_xor_si64
(
c2
[
642
],
_mm_xor_si64
(
c2
[
1083
],
_mm_xor_si64
(
c2
[
420
],
c2
[
200
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
44
]
=
_mm_xor_si64
(
c2
[
1547
],
_mm_xor_si64
(
c2
[
1327
],
_mm_xor_si64
(
c2
[
661
],
_mm_xor_si64
(
c2
[
880
],
_mm_xor_si64
(
c2
[
1330
],
_mm_xor_si64
(
c2
[
468
],
_mm_xor_si64
(
c2
[
248
],
_mm_xor_si64
(
c2
[
471
],
_mm_xor_si64
(
c2
[
1567
],
_mm_xor_si64
(
c2
[
690
],
_mm_xor_si64
(
c2
[
265
],
_mm_xor_si64
(
c2
[
45
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
1396
],
_mm_xor_si64
(
c2
[
1176
],
_mm_xor_si64
(
c2
[
733
],
_mm_xor_si64
(
c2
[
1167
],
_mm_xor_si64
(
c2
[
315
],
_mm_xor_si64
(
c2
[
977
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
780
],
_mm_xor_si64
(
c2
[
334
],
_mm_xor_si64
(
c2
[
796
],
_mm_xor_si64
(
c2
[
576
],
_mm_xor_si64
(
c2
[
358
],
_mm_xor_si64
(
c2
[
793
],
_mm_xor_si64
(
c2
[
1697
],
_mm_xor_si64
(
c2
[
824
],
_mm_xor_si64
(
c2
[
1285
],
_mm_xor_si64
(
c2
[
182
],
_mm_xor_si64
(
c2
[
837
],
_mm_xor_si64
(
c2
[
1521
],
_mm_xor_si64
(
c2
[
1301
],
_mm_xor_si64
(
c2
[
1742
],
c2
[
859
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
55
]
=
_mm_xor_si64
(
c2
[
5
],
_mm_xor_si64
(
c2
[
1544
],
_mm_xor_si64
(
c2
[
889
],
_mm_xor_si64
(
c2
[
1108
],
_mm_xor_si64
(
c2
[
1549
],
_mm_xor_si64
(
c2
[
685
],
_mm_xor_si64
(
c2
[
465
],
_mm_xor_si64
(
c2
[
688
],
_mm_xor_si64
(
c2
[
25
],
_mm_xor_si64
(
c2
[
912
],
_mm_xor_si64
(
c2
[
493
],
_mm_xor_si64
(
c2
[
273
],
_mm_xor_si64
(
c2
[
271
],
_mm_xor_si64
(
c2
[
1613
],
_mm_xor_si64
(
c2
[
1393
],
_mm_xor_si64
(
c2
[
950
],
_mm_xor_si64
(
c2
[
1395
],
_mm_xor_si64
(
c2
[
532
],
_mm_xor_si64
(
c2
[
1194
],
_mm_xor_si64
(
c2
[
315
],
_mm_xor_si64
(
c2
[
997
],
_mm_xor_si64
(
c2
[
551
],
_mm_xor_si64
(
c2
[
774
],
_mm_xor_si64
(
c2
[
1013
],
_mm_xor_si64
(
c2
[
793
],
_mm_xor_si64
(
c2
[
575
],
_mm_xor_si64
(
c2
[
1021
],
_mm_xor_si64
(
c2
[
155
],
_mm_xor_si64
(
c2
[
1041
],
_mm_xor_si64
(
c2
[
1695
],
_mm_xor_si64
(
c2
[
1502
],
_mm_xor_si64
(
c2
[
399
],
_mm_xor_si64
(
c2
[
1065
],
_mm_xor_si64
(
c2
[
1738
],
_mm_xor_si64
(
c2
[
1518
],
_mm_xor_si64
(
c2
[
200
],
c2
[
1087
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
66
]
=
_mm_xor_si64
(
c2
[
221
],
_mm_xor_si64
(
c2
[
1
],
_mm_xor_si64
(
c2
[
1105
],
_mm_xor_si64
(
c2
[
1324
],
_mm_xor_si64
(
c2
[
1545
],
_mm_xor_si64
(
c2
[
912
],
_mm_xor_si64
(
c2
[
692
],
_mm_xor_si64
(
c2
[
904
],
_mm_xor_si64
(
c2
[
252
],
_mm_xor_si64
(
c2
[
709
],
_mm_xor_si64
(
c2
[
489
],
_mm_xor_si64
(
c2
[
487
],
_mm_xor_si64
(
c2
[
70
],
_mm_xor_si64
(
c2
[
1609
],
_mm_xor_si64
(
c2
[
1166
],
_mm_xor_si64
(
c2
[
1611
],
_mm_xor_si64
(
c2
[
748
],
_mm_xor_si64
(
c2
[
1410
],
_mm_xor_si64
(
c2
[
531
],
_mm_xor_si64
(
c2
[
1213
],
_mm_xor_si64
(
c2
[
778
],
_mm_xor_si64
(
c2
[
558
],
_mm_xor_si64
(
c2
[
1240
],
_mm_xor_si64
(
c2
[
1020
],
_mm_xor_si64
(
c2
[
802
],
_mm_xor_si64
(
c2
[
1237
],
_mm_xor_si64
(
c2
[
382
],
_mm_xor_si64
(
c2
[
1257
],
_mm_xor_si64
(
c2
[
595
],
_mm_xor_si64
(
c2
[
1718
],
_mm_xor_si64
(
c2
[
626
],
_mm_xor_si64
(
c2
[
1281
],
_mm_xor_si64
(
c2
[
206
],
_mm_xor_si64
(
c2
[
1745
],
_mm_xor_si64
(
c2
[
427
],
_mm_xor_si64
(
c2
[
1303
],
c2
[
866
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
77
]
=
_mm_xor_si64
(
c2
[
663
],
_mm_xor_si64
(
c2
[
443
],
_mm_xor_si64
(
c2
[
444
],
_mm_xor_si64
(
c2
[
1547
],
_mm_xor_si64
(
c2
[
1548
],
_mm_xor_si64
(
c2
[
7
],
_mm_xor_si64
(
c2
[
8
],
_mm_xor_si64
(
c2
[
1343
],
_mm_xor_si64
(
c2
[
1123
],
_mm_xor_si64
(
c2
[
1124
],
_mm_xor_si64
(
c2
[
1346
],
_mm_xor_si64
(
c2
[
1347
],
_mm_xor_si64
(
c2
[
683
],
_mm_xor_si64
(
c2
[
904
],
_mm_xor_si64
(
c2
[
684
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
1151
],
_mm_xor_si64
(
c2
[
931
],
_mm_xor_si64
(
c2
[
932
],
_mm_xor_si64
(
c2
[
929
],
_mm_xor_si64
(
c2
[
1150
],
_mm_xor_si64
(
c2
[
930
],
_mm_xor_si64
(
c2
[
512
],
_mm_xor_si64
(
c2
[
292
],
_mm_xor_si64
(
c2
[
293
],
_mm_xor_si64
(
c2
[
1608
],
_mm_xor_si64
(
c2
[
1609
],
_mm_xor_si64
(
c2
[
294
],
_mm_xor_si64
(
c2
[
295
],
_mm_xor_si64
(
c2
[
1190
],
_mm_xor_si64
(
c2
[
1191
],
_mm_xor_si64
(
c2
[
93
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
973
],
_mm_xor_si64
(
c2
[
1194
],
_mm_xor_si64
(
c2
[
974
],
_mm_xor_si64
(
c2
[
1655
],
_mm_xor_si64
(
c2
[
1656
],
_mm_xor_si64
(
c2
[
1220
],
_mm_xor_si64
(
c2
[
1430
],
_mm_xor_si64
(
c2
[
1210
],
_mm_xor_si64
(
c2
[
1214
],
_mm_xor_si64
(
c2
[
1682
],
_mm_xor_si64
(
c2
[
1462
],
_mm_xor_si64
(
c2
[
1452
],
_mm_xor_si64
(
c2
[
1233
],
_mm_xor_si64
(
c2
[
1234
],
_mm_xor_si64
(
c2
[
1679
],
_mm_xor_si64
(
c2
[
141
],
_mm_xor_si64
(
c2
[
1680
],
_mm_xor_si64
(
c2
[
824
],
_mm_xor_si64
(
c2
[
814
],
_mm_xor_si64
(
c2
[
1699
],
_mm_xor_si64
(
c2
[
161
],
_mm_xor_si64
(
c2
[
1700
],
_mm_xor_si64
(
c2
[
157
],
_mm_xor_si64
(
c2
[
401
],
_mm_xor_si64
(
c2
[
402
],
_mm_xor_si64
(
c2
[
1057
],
_mm_xor_si64
(
c2
[
1058
],
_mm_xor_si64
(
c2
[
1723
],
_mm_xor_si64
(
c2
[
185
],
_mm_xor_si64
(
c2
[
1724
],
_mm_xor_si64
(
c2
[
648
],
_mm_xor_si64
(
c2
[
428
],
_mm_xor_si64
(
c2
[
418
],
_mm_xor_si64
(
c2
[
858
],
_mm_xor_si64
(
c2
[
859
],
_mm_xor_si64
(
c2
[
1745
],
_mm_xor_si64
(
c2
[
207
],
c2
[
1746
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
88
]
=
_mm_xor_si64
(
c2
[
1106
],
_mm_xor_si64
(
c2
[
886
],
_mm_xor_si64
(
c2
[
440
],
_mm_xor_si64
(
c2
[
220
],
_mm_xor_si64
(
c2
[
450
],
_mm_xor_si64
(
c2
[
1106
],
_mm_xor_si64
(
c2
[
27
],
_mm_xor_si64
(
c2
[
1566
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
1126
],
_mm_xor_si64
(
c2
[
1565
],
_mm_xor_si64
(
c2
[
1594
],
_mm_xor_si64
(
c2
[
1374
],
_mm_xor_si64
(
c2
[
1372
],
_mm_xor_si64
(
c2
[
955
],
_mm_xor_si64
(
c2
[
735
],
_mm_xor_si64
(
c2
[
512
],
_mm_xor_si64
(
c2
[
292
],
_mm_xor_si64
(
c2
[
726
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
1633
],
_mm_xor_si64
(
c2
[
536
],
_mm_xor_si64
(
c2
[
1416
],
_mm_xor_si64
(
c2
[
559
],
_mm_xor_si64
(
c2
[
339
],
_mm_xor_si64
(
c2
[
1652
],
_mm_xor_si64
(
c2
[
355
],
_mm_xor_si64
(
c2
[
135
],
_mm_xor_si64
(
c2
[
137
],
_mm_xor_si64
(
c2
[
1676
],
_mm_xor_si64
(
c2
[
352
],
_mm_xor_si64
(
c2
[
1476
],
_mm_xor_si64
(
c2
[
1256
],
_mm_xor_si64
(
c2
[
383
],
_mm_xor_si64
(
c2
[
1064
],
_mm_xor_si64
(
c2
[
844
],
_mm_xor_si64
(
c2
[
1500
],
_mm_xor_si64
(
c2
[
396
],
_mm_xor_si64
(
c2
[
1080
],
_mm_xor_si64
(
c2
[
860
],
_mm_xor_si64
(
c2
[
1521
],
_mm_xor_si64
(
c2
[
1301
],
c2
[
418
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
99
]
=
_mm_xor_si64
(
c2
[
1329
],
_mm_xor_si64
(
c2
[
885
],
_mm_xor_si64
(
c2
[
665
],
_mm_xor_si64
(
c2
[
663
],
_mm_xor_si64
(
c2
[
10
],
_mm_xor_si64
(
c2
[
882
],
_mm_xor_si64
(
c2
[
229
],
_mm_xor_si64
(
c2
[
250
],
_mm_xor_si64
(
c2
[
1565
],
_mm_xor_si64
(
c2
[
1345
],
_mm_xor_si64
(
c2
[
462
],
_mm_xor_si64
(
c2
[
1568
],
_mm_xor_si64
(
c2
[
1569
],
_mm_xor_si64
(
c2
[
905
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
47
],
_mm_xor_si64
(
c2
[
1373
],
_mm_xor_si64
(
c2
[
1153
],
_mm_xor_si64
(
c2
[
45
],
_mm_xor_si64
(
c2
[
1151
],
_mm_xor_si64
(
c2
[
1167
],
_mm_xor_si64
(
c2
[
734
],
_mm_xor_si64
(
c2
[
514
],
_mm_xor_si64
(
c2
[
735
],
_mm_xor_si64
(
c2
[
71
],
_mm_xor_si64
(
c2
[
1169
],
_mm_xor_si64
(
c2
[
516
],
_mm_xor_si64
(
c2
[
317
],
_mm_xor_si64
(
c2
[
1412
],
_mm_xor_si64
(
c2
[
968
],
_mm_xor_si64
(
c2
[
315
],
_mm_xor_si64
(
c2
[
89
],
_mm_xor_si64
(
c2
[
1195
],
_mm_xor_si64
(
c2
[
771
],
_mm_xor_si64
(
c2
[
118
],
_mm_xor_si64
(
c2
[
336
],
_mm_xor_si64
(
c2
[
1431
],
_mm_xor_si64
(
c2
[
578
],
_mm_xor_si64
(
c2
[
134
],
_mm_xor_si64
(
c2
[
1673
],
_mm_xor_si64
(
c2
[
360
],
_mm_xor_si64
(
c2
[
1455
],
_mm_xor_si64
(
c2
[
795
],
_mm_xor_si64
(
c2
[
142
],
_mm_xor_si64
(
c2
[
1699
],
_mm_xor_si64
(
c2
[
1035
],
_mm_xor_si64
(
c2
[
815
],
_mm_xor_si64
(
c2
[
162
],
_mm_xor_si64
(
c2
[
1276
],
_mm_xor_si64
(
c2
[
623
],
_mm_xor_si64
(
c2
[
184
],
_mm_xor_si64
(
c2
[
1279
],
_mm_xor_si64
(
c2
[
839
],
_mm_xor_si64
(
c2
[
186
],
_mm_xor_si64
(
c2
[
1502
],
_mm_xor_si64
(
c2
[
1303
],
_mm_xor_si64
(
c2
[
859
],
_mm_xor_si64
(
c2
[
639
],
_mm_xor_si64
(
c2
[
1744
],
_mm_xor_si64
(
c2
[
1080
],
_mm_xor_si64
(
c2
[
861
],
c2
[
208
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
110
]
=
_mm_xor_si64
(
c2
[
1542
],
_mm_xor_si64
(
c2
[
245
],
_mm_xor_si64
(
c2
[
1462
],
c2
[
1696
])));
//row: 11
d2
[
121
]
=
_mm_xor_si64
(
c2
[
4
],
_mm_xor_si64
(
c2
[
1108
],
_mm_xor_si64
(
c2
[
1327
],
_mm_xor_si64
(
c2
[
660
],
_mm_xor_si64
(
c2
[
684
],
_mm_xor_si64
(
c2
[
907
],
_mm_xor_si64
(
c2
[
464
],
_mm_xor_si64
(
c2
[
244
],
_mm_xor_si64
(
c2
[
492
],
_mm_xor_si64
(
c2
[
710
],
_mm_xor_si64
(
c2
[
490
],
_mm_xor_si64
(
c2
[
1612
],
_mm_xor_si64
(
c2
[
1169
],
_mm_xor_si64
(
c2
[
1614
],
_mm_xor_si64
(
c2
[
751
],
_mm_xor_si64
(
c2
[
1413
],
_mm_xor_si64
(
c2
[
754
],
_mm_xor_si64
(
c2
[
534
],
_mm_xor_si64
(
c2
[
1216
],
_mm_xor_si64
(
c2
[
990
],
_mm_xor_si64
(
c2
[
770
],
_mm_xor_si64
(
c2
[
1012
],
_mm_xor_si64
(
c2
[
794
],
_mm_xor_si64
(
c2
[
1460
],
_mm_xor_si64
(
c2
[
1240
],
_mm_xor_si64
(
c2
[
374
],
_mm_xor_si64
(
c2
[
1480
],
_mm_xor_si64
(
c2
[
1260
],
_mm_xor_si64
(
c2
[
1704
],
_mm_xor_si64
(
c2
[
1721
],
_mm_xor_si64
(
c2
[
618
],
_mm_xor_si64
(
c2
[
1504
],
_mm_xor_si64
(
c2
[
1284
],
_mm_xor_si64
(
c2
[
1748
],
_mm_xor_si64
(
c2
[
419
],
_mm_xor_si64
(
c2
[
1526
],
_mm_xor_si64
(
c2
[
1306
],
c2
[
201
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
132
]
=
_mm_xor_si64
(
c2
[
9
],
_mm_xor_si64
(
c2
[
1548
],
_mm_xor_si64
(
c2
[
882
],
_mm_xor_si64
(
c2
[
1101
],
_mm_xor_si64
(
c2
[
689
],
_mm_xor_si64
(
c2
[
469
],
_mm_xor_si64
(
c2
[
692
],
_mm_xor_si64
(
c2
[
29
],
_mm_xor_si64
(
c2
[
466
],
_mm_xor_si64
(
c2
[
486
],
_mm_xor_si64
(
c2
[
266
],
_mm_xor_si64
(
c2
[
264
],
_mm_xor_si64
(
c2
[
1606
],
_mm_xor_si64
(
c2
[
1386
],
_mm_xor_si64
(
c2
[
954
],
_mm_xor_si64
(
c2
[
1388
],
_mm_xor_si64
(
c2
[
727
],
_mm_xor_si64
(
c2
[
536
],
_mm_xor_si64
(
c2
[
1198
],
_mm_xor_si64
(
c2
[
308
],
_mm_xor_si64
(
c2
[
990
],
_mm_xor_si64
(
c2
[
555
],
_mm_xor_si64
(
c2
[
1017
],
_mm_xor_si64
(
c2
[
797
],
_mm_xor_si64
(
c2
[
579
],
_mm_xor_si64
(
c2
[
1014
],
_mm_xor_si64
(
c2
[
159
],
_mm_xor_si64
(
c2
[
1034
],
_mm_xor_si64
(
c2
[
1506
],
_mm_xor_si64
(
c2
[
403
],
_mm_xor_si64
(
c2
[
1058
],
_mm_xor_si64
(
c2
[
1742
],
_mm_xor_si64
(
c2
[
1522
],
_mm_xor_si64
(
c2
[
204
],
c2
[
1080
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
143
]
=
_mm_xor_si64
(
c2
[
442
],
_mm_xor_si64
(
c2
[
1546
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
1103
],
_mm_xor_si64
(
c2
[
1122
],
_mm_xor_si64
(
c2
[
1345
],
_mm_xor_si64
(
c2
[
902
],
_mm_xor_si64
(
c2
[
682
],
_mm_xor_si64
(
c2
[
682
],
_mm_xor_si64
(
c2
[
930
],
_mm_xor_si64
(
c2
[
1148
],
_mm_xor_si64
(
c2
[
928
],
_mm_xor_si64
(
c2
[
291
],
_mm_xor_si64
(
c2
[
1607
],
_mm_xor_si64
(
c2
[
293
],
_mm_xor_si64
(
c2
[
1189
],
_mm_xor_si64
(
c2
[
92
],
_mm_xor_si64
(
c2
[
1192
],
_mm_xor_si64
(
c2
[
972
],
_mm_xor_si64
(
c2
[
1654
],
_mm_xor_si64
(
c2
[
1439
],
_mm_xor_si64
(
c2
[
1219
],
_mm_xor_si64
(
c2
[
1461
],
_mm_xor_si64
(
c2
[
1232
],
_mm_xor_si64
(
c2
[
139
],
_mm_xor_si64
(
c2
[
1678
],
_mm_xor_si64
(
c2
[
823
],
_mm_xor_si64
(
c2
[
159
],
_mm_xor_si64
(
c2
[
1698
],
_mm_xor_si64
(
c2
[
400
],
_mm_xor_si64
(
c2
[
1056
],
_mm_xor_si64
(
c2
[
183
],
_mm_xor_si64
(
c2
[
1722
],
_mm_xor_si64
(
c2
[
839
],
_mm_xor_si64
(
c2
[
427
],
_mm_xor_si64
(
c2
[
868
],
_mm_xor_si64
(
c2
[
205
],
c2
[
1744
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
154
]
=
_mm_xor_si64
(
c2
[
889
],
_mm_xor_si64
(
c2
[
669
],
_mm_xor_si64
(
c2
[
227
],
_mm_xor_si64
(
c2
[
3
],
_mm_xor_si64
(
c2
[
1320
],
_mm_xor_si64
(
c2
[
222
],
_mm_xor_si64
(
c2
[
1550
],
_mm_xor_si64
(
c2
[
1569
],
_mm_xor_si64
(
c2
[
1349
],
_mm_xor_si64
(
c2
[
907
],
_mm_xor_si64
(
c2
[
1572
],
_mm_xor_si64
(
c2
[
1130
],
_mm_xor_si64
(
c2
[
909
],
_mm_xor_si64
(
c2
[
687
],
_mm_xor_si64
(
c2
[
467
],
_mm_xor_si64
(
c2
[
683
],
_mm_xor_si64
(
c2
[
1366
],
_mm_xor_si64
(
c2
[
1146
],
_mm_xor_si64
(
c2
[
704
],
_mm_xor_si64
(
c2
[
1144
],
_mm_xor_si64
(
c2
[
933
],
_mm_xor_si64
(
c2
[
713
],
_mm_xor_si64
(
c2
[
727
],
_mm_xor_si64
(
c2
[
507
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
75
],
_mm_xor_si64
(
c2
[
1392
],
_mm_xor_si64
(
c2
[
509
],
_mm_xor_si64
(
c2
[
67
],
_mm_xor_si64
(
c2
[
1416
],
_mm_xor_si64
(
c2
[
974
],
_mm_xor_si64
(
c2
[
308
],
_mm_xor_si64
(
c2
[
1636
],
_mm_xor_si64
(
c2
[
1188
],
_mm_xor_si64
(
c2
[
977
],
_mm_xor_si64
(
c2
[
757
],
_mm_xor_si64
(
c2
[
111
],
_mm_xor_si64
(
c2
[
1439
],
_mm_xor_si64
(
c2
[
1435
],
_mm_xor_si64
(
c2
[
1213
],
_mm_xor_si64
(
c2
[
993
],
_mm_xor_si64
(
c2
[
138
],
_mm_xor_si64
(
c2
[
1677
],
_mm_xor_si64
(
c2
[
1235
],
_mm_xor_si64
(
c2
[
1459
],
_mm_xor_si64
(
c2
[
1017
],
_mm_xor_si64
(
c2
[
135
],
_mm_xor_si64
(
c2
[
1672
],
_mm_xor_si64
(
c2
[
1452
],
_mm_xor_si64
(
c2
[
359
],
_mm_xor_si64
(
c2
[
1039
],
_mm_xor_si64
(
c2
[
597
],
_mm_xor_si64
(
c2
[
155
],
_mm_xor_si64
(
c2
[
1703
],
_mm_xor_si64
(
c2
[
1483
],
_mm_xor_si64
(
c2
[
616
],
_mm_xor_si64
(
c2
[
185
],
_mm_xor_si64
(
c2
[
1283
],
_mm_xor_si64
(
c2
[
841
],
_mm_xor_si64
(
c2
[
179
],
_mm_xor_si64
(
c2
[
1716
],
_mm_xor_si64
(
c2
[
1496
],
_mm_xor_si64
(
c2
[
863
],
_mm_xor_si64
(
c2
[
643
],
_mm_xor_si64
(
c2
[
201
],
_mm_xor_si64
(
c2
[
1084
],
_mm_xor_si64
(
c2
[
642
],
_mm_xor_si64
(
c2
[
201
],
_mm_xor_si64
(
c2
[
1738
],
c2
[
1518
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
165
]
=
_mm_xor_si64
(
c2
[
450
],
_mm_xor_si64
(
c2
[
882
],
_mm_xor_si64
(
c2
[
662
],
_mm_xor_si64
(
c2
[
1543
],
_mm_xor_si64
(
c2
[
7
],
_mm_xor_si64
(
c2
[
3
],
_mm_xor_si64
(
c2
[
226
],
_mm_xor_si64
(
c2
[
226
],
_mm_xor_si64
(
c2
[
1130
],
_mm_xor_si64
(
c2
[
1562
],
_mm_xor_si64
(
c2
[
1342
],
_mm_xor_si64
(
c2
[
1342
],
_mm_xor_si64
(
c2
[
1565
],
_mm_xor_si64
(
c2
[
690
],
_mm_xor_si64
(
c2
[
902
],
_mm_xor_si64
(
c2
[
927
],
_mm_xor_si64
(
c2
[
1370
],
_mm_xor_si64
(
c2
[
1150
],
_mm_xor_si64
(
c2
[
925
],
_mm_xor_si64
(
c2
[
1148
],
_mm_xor_si64
(
c2
[
288
],
_mm_xor_si64
(
c2
[
731
],
_mm_xor_si64
(
c2
[
511
],
_mm_xor_si64
(
c2
[
1615
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
290
],
_mm_xor_si64
(
c2
[
513
],
_mm_xor_si64
(
c2
[
1197
],
_mm_xor_si64
(
c2
[
1409
],
_mm_xor_si64
(
c2
[
89
],
_mm_xor_si64
(
c2
[
312
],
_mm_xor_si64
(
c2
[
969
],
_mm_xor_si64
(
c2
[
1192
],
_mm_xor_si64
(
c2
[
1651
],
_mm_xor_si64
(
c2
[
115
],
_mm_xor_si64
(
c2
[
1216
],
_mm_xor_si64
(
c2
[
1439
],
_mm_xor_si64
(
c2
[
1458
],
_mm_xor_si64
(
c2
[
142
],
_mm_xor_si64
(
c2
[
1681
],
_mm_xor_si64
(
c2
[
1240
],
_mm_xor_si64
(
c2
[
1452
],
_mm_xor_si64
(
c2
[
1675
],
_mm_xor_si64
(
c2
[
139
],
_mm_xor_si64
(
c2
[
820
],
_mm_xor_si64
(
c2
[
1043
],
_mm_xor_si64
(
c2
[
1695
],
_mm_xor_si64
(
c2
[
159
],
_mm_xor_si64
(
c2
[
397
],
_mm_xor_si64
(
c2
[
620
],
_mm_xor_si64
(
c2
[
1064
],
_mm_xor_si64
(
c2
[
1276
],
_mm_xor_si64
(
c2
[
1719
],
_mm_xor_si64
(
c2
[
183
],
_mm_xor_si64
(
c2
[
424
],
_mm_xor_si64
(
c2
[
867
],
_mm_xor_si64
(
c2
[
647
],
_mm_xor_si64
(
c2
[
865
],
_mm_xor_si64
(
c2
[
1088
],
_mm_xor_si64
(
c2
[
1741
],
c2
[
205
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
176
]
=
_mm_xor_si64
(
c2
[
1110
],
_mm_xor_si64
(
c2
[
890
],
_mm_xor_si64
(
c2
[
227
],
_mm_xor_si64
(
c2
[
7
],
_mm_xor_si64
(
c2
[
224
],
_mm_xor_si64
(
c2
[
1320
],
_mm_xor_si64
(
c2
[
1100
],
_mm_xor_si64
(
c2
[
443
],
_mm_xor_si64
(
c2
[
1330
],
_mm_xor_si64
(
c2
[
31
],
_mm_xor_si64
(
c2
[
1570
],
_mm_xor_si64
(
c2
[
907
],
_mm_xor_si64
(
c2
[
687
],
_mm_xor_si64
(
c2
[
23
],
_mm_xor_si64
(
c2
[
910
],
_mm_xor_si64
(
c2
[
1130
],
_mm_xor_si64
(
c2
[
247
],
_mm_xor_si64
(
c2
[
1351
],
_mm_xor_si64
(
c2
[
1587
],
_mm_xor_si64
(
c2
[
1367
],
_mm_xor_si64
(
c2
[
704
],
_mm_xor_si64
(
c2
[
484
],
_mm_xor_si64
(
c2
[
1365
],
_mm_xor_si64
(
c2
[
493
],
_mm_xor_si64
(
c2
[
948
],
_mm_xor_si64
(
c2
[
728
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
1615
],
_mm_xor_si64
(
c2
[
296
],
_mm_xor_si64
(
c2
[
1392
],
_mm_xor_si64
(
c2
[
1172
],
_mm_xor_si64
(
c2
[
730
],
_mm_xor_si64
(
c2
[
1606
],
_mm_xor_si64
(
c2
[
1637
],
_mm_xor_si64
(
c2
[
974
],
_mm_xor_si64
(
c2
[
754
],
_mm_xor_si64
(
c2
[
529
],
_mm_xor_si64
(
c2
[
1416
],
_mm_xor_si64
(
c2
[
1409
],
_mm_xor_si64
(
c2
[
537
],
_mm_xor_si64
(
c2
[
332
],
_mm_xor_si64
(
c2
[
1439
],
_mm_xor_si64
(
c2
[
1219
],
_mm_xor_si64
(
c2
[
1656
],
_mm_xor_si64
(
c2
[
773
],
_mm_xor_si64
(
c2
[
359
],
_mm_xor_si64
(
c2
[
139
],
_mm_xor_si64
(
c2
[
1235
],
_mm_xor_si64
(
c2
[
1015
],
_mm_xor_si64
(
c2
[
1680
],
_mm_xor_si64
(
c2
[
1017
],
_mm_xor_si64
(
c2
[
797
],
_mm_xor_si64
(
c2
[
356
],
_mm_xor_si64
(
c2
[
1232
],
_mm_xor_si64
(
c2
[
1260
],
_mm_xor_si64
(
c2
[
597
],
_mm_xor_si64
(
c2
[
377
],
_mm_xor_si64
(
c2
[
376
],
_mm_xor_si64
(
c2
[
1263
],
_mm_xor_si64
(
c2
[
837
],
_mm_xor_si64
(
c2
[
185
],
_mm_xor_si64
(
c2
[
1724
],
_mm_xor_si64
(
c2
[
1504
],
_mm_xor_si64
(
c2
[
621
],
_mm_xor_si64
(
c2
[
400
],
_mm_xor_si64
(
c2
[
1276
],
_mm_xor_si64
(
c2
[
1084
],
_mm_xor_si64
(
c2
[
864
],
_mm_xor_si64
(
c2
[
201
],
_mm_xor_si64
(
c2
[
1740
],
_mm_xor_si64
(
c2
[
1305
],
_mm_xor_si64
(
c2
[
642
],
_mm_xor_si64
(
c2
[
422
],
_mm_xor_si64
(
c2
[
422
],
_mm_xor_si64
(
c2
[
1298
],
c2
[
1526
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
187
]
=
_mm_xor_si64
(
c2
[
445
],
_mm_xor_si64
(
c2
[
225
],
_mm_xor_si64
(
c2
[
1546
],
_mm_xor_si64
(
c2
[
1326
],
_mm_xor_si64
(
c2
[
1329
],
_mm_xor_si64
(
c2
[
880
],
_mm_xor_si64
(
c2
[
660
],
_mm_xor_si64
(
c2
[
1548
],
_mm_xor_si64
(
c2
[
890
],
_mm_xor_si64
(
c2
[
1125
],
_mm_xor_si64
(
c2
[
905
],
_mm_xor_si64
(
c2
[
467
],
_mm_xor_si64
(
c2
[
247
],
_mm_xor_si64
(
c2
[
1128
],
_mm_xor_si64
(
c2
[
470
],
_mm_xor_si64
(
c2
[
465
],
_mm_xor_si64
(
c2
[
1566
],
_mm_xor_si64
(
c2
[
1347
],
_mm_xor_si64
(
c2
[
933
],
_mm_xor_si64
(
c2
[
713
],
_mm_xor_si64
(
c2
[
264
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
711
],
_mm_xor_si64
(
c2
[
53
],
_mm_xor_si64
(
c2
[
294
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
1395
],
_mm_xor_si64
(
c2
[
1175
],
_mm_xor_si64
(
c2
[
1390
],
_mm_xor_si64
(
c2
[
952
],
_mm_xor_si64
(
c2
[
732
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
1166
],
_mm_xor_si64
(
c2
[
972
],
_mm_xor_si64
(
c2
[
534
],
_mm_xor_si64
(
c2
[
314
],
_mm_xor_si64
(
c2
[
1634
],
_mm_xor_si64
(
c2
[
976
],
_mm_xor_si64
(
c2
[
755
],
_mm_xor_si64
(
c2
[
97
],
_mm_xor_si64
(
c2
[
1437
],
_mm_xor_si64
(
c2
[
999
],
_mm_xor_si64
(
c2
[
779
],
_mm_xor_si64
(
c2
[
991
],
_mm_xor_si64
(
c2
[
333
],
_mm_xor_si64
(
c2
[
1652
],
_mm_xor_si64
(
c2
[
1453
],
_mm_xor_si64
(
c2
[
1233
],
_mm_xor_si64
(
c2
[
795
],
_mm_xor_si64
(
c2
[
575
],
_mm_xor_si64
(
c2
[
1015
],
_mm_xor_si64
(
c2
[
577
],
_mm_xor_si64
(
c2
[
357
],
_mm_xor_si64
(
c2
[
1461
],
_mm_xor_si64
(
c2
[
792
],
_mm_xor_si64
(
c2
[
595
],
_mm_xor_si64
(
c2
[
157
],
_mm_xor_si64
(
c2
[
1696
],
_mm_xor_si64
(
c2
[
1481
],
_mm_xor_si64
(
c2
[
823
],
_mm_xor_si64
(
c2
[
183
],
_mm_xor_si64
(
c2
[
1504
],
_mm_xor_si64
(
c2
[
1284
],
_mm_xor_si64
(
c2
[
839
],
_mm_xor_si64
(
c2
[
181
],
_mm_xor_si64
(
c2
[
1505
],
_mm_xor_si64
(
c2
[
836
],
_mm_xor_si64
(
c2
[
419
],
_mm_xor_si64
(
c2
[
199
],
_mm_xor_si64
(
c2
[
1520
],
_mm_xor_si64
(
c2
[
1300
],
_mm_xor_si64
(
c2
[
640
],
_mm_xor_si64
(
c2
[
202
],
_mm_xor_si64
(
c2
[
1741
],
_mm_xor_si64
(
c2
[
1527
],
c2
[
858
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
198
]
=
_mm_xor_si64
(
c2
[
1110
],
_mm_xor_si64
(
c2
[
1675
],
c2
[
1476
]));
//row: 19
d2
[
209
]
=
_mm_xor_si64
(
c2
[
884
],
_mm_xor_si64
(
c2
[
229
],
_mm_xor_si64
(
c2
[
448
],
_mm_xor_si64
(
c2
[
1101
],
_mm_xor_si64
(
c2
[
1564
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
1124
],
_mm_xor_si64
(
c2
[
1567
],
_mm_xor_si64
(
c2
[
1372
],
_mm_xor_si64
(
c2
[
1370
],
_mm_xor_si64
(
c2
[
733
],
_mm_xor_si64
(
c2
[
290
],
_mm_xor_si64
(
c2
[
735
],
_mm_xor_si64
(
c2
[
1631
],
_mm_xor_si64
(
c2
[
534
],
_mm_xor_si64
(
c2
[
1414
],
_mm_xor_si64
(
c2
[
337
],
_mm_xor_si64
(
c2
[
1650
],
_mm_xor_si64
(
c2
[
133
],
_mm_xor_si64
(
c2
[
1674
],
_mm_xor_si64
(
c2
[
361
],
_mm_xor_si64
(
c2
[
1254
],
_mm_xor_si64
(
c2
[
381
],
_mm_xor_si64
(
c2
[
842
],
_mm_xor_si64
(
c2
[
1498
],
_mm_xor_si64
(
c2
[
405
],
_mm_xor_si64
(
c2
[
858
],
_mm_xor_si64
(
c2
[
1299
],
c2
[
427
]))))))))))))))))))))))))))));
//row: 20
d2
[
220
]
=
_mm_xor_si64
(
c2
[
228
],
_mm_xor_si64
(
c2
[
8
],
_mm_xor_si64
(
c2
[
1101
],
_mm_xor_si64
(
c2
[
1320
],
_mm_xor_si64
(
c2
[
908
],
_mm_xor_si64
(
c2
[
688
],
_mm_xor_si64
(
c2
[
911
],
_mm_xor_si64
(
c2
[
248
],
_mm_xor_si64
(
c2
[
27
],
_mm_xor_si64
(
c2
[
705
],
_mm_xor_si64
(
c2
[
485
],
_mm_xor_si64
(
c2
[
494
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
1616
],
_mm_xor_si64
(
c2
[
1173
],
_mm_xor_si64
(
c2
[
1607
],
_mm_xor_si64
(
c2
[
755
],
_mm_xor_si64
(
c2
[
1417
],
_mm_xor_si64
(
c2
[
538
],
_mm_xor_si64
(
c2
[
974
],
_mm_xor_si64
(
c2
[
1220
],
_mm_xor_si64
(
c2
[
774
],
_mm_xor_si64
(
c2
[
1236
],
_mm_xor_si64
(
c2
[
1016
],
_mm_xor_si64
(
c2
[
798
],
_mm_xor_si64
(
c2
[
1233
],
_mm_xor_si64
(
c2
[
378
],
_mm_xor_si64
(
c2
[
1264
],
_mm_xor_si64
(
c2
[
1725
],
_mm_xor_si64
(
c2
[
622
],
_mm_xor_si64
(
c2
[
1277
],
_mm_xor_si64
(
c2
[
202
],
_mm_xor_si64
(
c2
[
1741
],
_mm_xor_si64
(
c2
[
423
],
c2
[
1299
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
231
]
=
_mm_xor_si64
(
c2
[
662
],
_mm_xor_si64
(
c2
[
7
],
_mm_xor_si64
(
c2
[
226
],
_mm_xor_si64
(
c2
[
888
],
_mm_xor_si64
(
c2
[
1342
],
_mm_xor_si64
(
c2
[
1565
],
_mm_xor_si64
(
c2
[
1122
],
_mm_xor_si64
(
c2
[
902
],
_mm_xor_si64
(
c2
[
1150
],
_mm_xor_si64
(
c2
[
1368
],
_mm_xor_si64
(
c2
[
1148
],
_mm_xor_si64
(
c2
[
511
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
513
],
_mm_xor_si64
(
c2
[
1409
],
_mm_xor_si64
(
c2
[
312
],
_mm_xor_si64
(
c2
[
1412
],
_mm_xor_si64
(
c2
[
1192
],
_mm_xor_si64
(
c2
[
115
],
_mm_xor_si64
(
c2
[
1659
],
_mm_xor_si64
(
c2
[
1439
],
_mm_xor_si64
(
c2
[
1681
],
_mm_xor_si64
(
c2
[
1452
],
_mm_xor_si64
(
c2
[
359
],
_mm_xor_si64
(
c2
[
139
],
_mm_xor_si64
(
c2
[
1043
],
_mm_xor_si64
(
c2
[
379
],
_mm_xor_si64
(
c2
[
159
],
_mm_xor_si64
(
c2
[
620
],
_mm_xor_si64
(
c2
[
1276
],
_mm_xor_si64
(
c2
[
403
],
_mm_xor_si64
(
c2
[
183
],
_mm_xor_si64
(
c2
[
1505
],
_mm_xor_si64
(
c2
[
647
],
_mm_xor_si64
(
c2
[
1088
],
_mm_xor_si64
(
c2
[
425
],
c2
[
205
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
242
]
=
_mm_xor_si64
(
c2
[
464
],
c2
[
713
]);
//row: 23
d2
[
253
]
=
_mm_xor_si64
(
c2
[
1322
],
_mm_xor_si64
(
c2
[
951
],
c2
[
1437
]));
//row: 24
d2
[
264
]
=
_mm_xor_si64
(
c2
[
245
],
_mm_xor_si64
(
c2
[
926
],
c2
[
1305
]));
//row: 25
d2
[
275
]
=
_mm_xor_si64
(
c2
[
9
],
c2
[
116
]);
//row: 26
d2
[
286
]
=
_mm_xor_si64
(
c2
[
224
],
_mm_xor_si64
(
c2
[
4
],
_mm_xor_si64
(
c2
[
884
],
_mm_xor_si64
(
c2
[
1328
],
_mm_xor_si64
(
c2
[
1108
],
_mm_xor_si64
(
c2
[
229
],
_mm_xor_si64
(
c2
[
1327
],
_mm_xor_si64
(
c2
[
448
],
_mm_xor_si64
(
c2
[
904
],
_mm_xor_si64
(
c2
[
684
],
_mm_xor_si64
(
c2
[
1564
],
_mm_xor_si64
(
c2
[
907
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
244
],
_mm_xor_si64
(
c2
[
1344
],
_mm_xor_si64
(
c2
[
1124
],
_mm_xor_si64
(
c2
[
712
],
_mm_xor_si64
(
c2
[
492
],
_mm_xor_si64
(
c2
[
1372
],
_mm_xor_si64
(
c2
[
490
],
_mm_xor_si64
(
c2
[
1590
],
_mm_xor_si64
(
c2
[
1370
],
_mm_xor_si64
(
c2
[
928
],
_mm_xor_si64
(
c2
[
73
],
_mm_xor_si64
(
c2
[
1612
],
_mm_xor_si64
(
c2
[
733
],
_mm_xor_si64
(
c2
[
1389
],
_mm_xor_si64
(
c2
[
1169
],
_mm_xor_si64
(
c2
[
290
],
_mm_xor_si64
(
c2
[
1614
],
_mm_xor_si64
(
c2
[
735
],
_mm_xor_si64
(
c2
[
971
],
_mm_xor_si64
(
c2
[
751
],
_mm_xor_si64
(
c2
[
1631
],
_mm_xor_si64
(
c2
[
1413
],
_mm_xor_si64
(
c2
[
534
],
_mm_xor_si64
(
c2
[
534
],
_mm_xor_si64
(
c2
[
1634
],
_mm_xor_si64
(
c2
[
1414
],
_mm_xor_si64
(
c2
[
1436
],
_mm_xor_si64
(
c2
[
1216
],
_mm_xor_si64
(
c2
[
337
],
_mm_xor_si64
(
c2
[
770
],
_mm_xor_si64
(
c2
[
111
],
_mm_xor_si64
(
c2
[
1650
],
_mm_xor_si64
(
c2
[
1232
],
_mm_xor_si64
(
c2
[
1012
],
_mm_xor_si64
(
c2
[
133
],
_mm_xor_si64
(
c2
[
1014
],
_mm_xor_si64
(
c2
[
794
],
_mm_xor_si64
(
c2
[
1674
],
_mm_xor_si64
(
c2
[
1240
],
_mm_xor_si64
(
c2
[
581
],
_mm_xor_si64
(
c2
[
361
],
_mm_xor_si64
(
c2
[
594
],
_mm_xor_si64
(
c2
[
374
],
_mm_xor_si64
(
c2
[
1254
],
_mm_xor_si64
(
c2
[
1260
],
_mm_xor_si64
(
c2
[
601
],
_mm_xor_si64
(
c2
[
381
],
_mm_xor_si64
(
c2
[
1478
],
_mm_xor_si64
(
c2
[
182
],
_mm_xor_si64
(
c2
[
1721
],
_mm_xor_si64
(
c2
[
842
],
_mm_xor_si64
(
c2
[
618
],
_mm_xor_si64
(
c2
[
1498
],
_mm_xor_si64
(
c2
[
1284
],
_mm_xor_si64
(
c2
[
625
],
_mm_xor_si64
(
c2
[
405
],
_mm_xor_si64
(
c2
[
198
],
_mm_xor_si64
(
c2
[
1748
],
_mm_xor_si64
(
c2
[
858
],
_mm_xor_si64
(
c2
[
639
],
_mm_xor_si64
(
c2
[
419
],
_mm_xor_si64
(
c2
[
1299
],
_mm_xor_si64
(
c2
[
1306
],
_mm_xor_si64
(
c2
[
647
],
c2
[
427
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
297
]
=
_mm_xor_si64
(
c2
[
445
],
c2
[
134
]);
//row: 28
d2
[
308
]
=
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
47
],
c2
[
1217
]));
//row: 29
d2
[
319
]
=
_mm_xor_si64
(
c2
[
666
],
c2
[
317
]);
//row: 30
d2
[
330
]
=
_mm_xor_si64
(
c2
[
934
],
_mm_xor_si64
(
c2
[
1220
],
_mm_xor_si64
(
c2
[
1254
],
c2
[
1301
])));
//row: 31
d2
[
341
]
=
_mm_xor_si64
(
c2
[
1544
],
_mm_xor_si64
(
c2
[
889
],
_mm_xor_si64
(
c2
[
1108
],
_mm_xor_si64
(
c2
[
465
],
_mm_xor_si64
(
c2
[
688
],
_mm_xor_si64
(
c2
[
245
],
_mm_xor_si64
(
c2
[
25
],
_mm_xor_si64
(
c2
[
1125
],
_mm_xor_si64
(
c2
[
273
],
_mm_xor_si64
(
c2
[
491
],
_mm_xor_si64
(
c2
[
271
],
_mm_xor_si64
(
c2
[
1393
],
_mm_xor_si64
(
c2
[
950
],
_mm_xor_si64
(
c2
[
1395
],
_mm_xor_si64
(
c2
[
532
],
_mm_xor_si64
(
c2
[
1194
],
_mm_xor_si64
(
c2
[
535
],
_mm_xor_si64
(
c2
[
315
],
_mm_xor_si64
(
c2
[
997
],
_mm_xor_si64
(
c2
[
771
],
_mm_xor_si64
(
c2
[
551
],
_mm_xor_si64
(
c2
[
793
],
_mm_xor_si64
(
c2
[
575
],
_mm_xor_si64
(
c2
[
1241
],
_mm_xor_si64
(
c2
[
1021
],
_mm_xor_si64
(
c2
[
155
],
_mm_xor_si64
(
c2
[
1261
],
_mm_xor_si64
(
c2
[
1041
],
_mm_xor_si64
(
c2
[
1502
],
_mm_xor_si64
(
c2
[
399
],
_mm_xor_si64
(
c2
[
1285
],
_mm_xor_si64
(
c2
[
1065
],
_mm_xor_si64
(
c2
[
1518
],
_mm_xor_si64
(
c2
[
200
],
_mm_xor_si64
(
c2
[
1307
],
c2
[
1087
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
352
]
=
_mm_xor_si64
(
c2
[
444
],
_mm_xor_si64
(
c2
[
224
],
_mm_xor_si64
(
c2
[
1548
],
_mm_xor_si64
(
c2
[
1328
],
_mm_xor_si64
(
c2
[
1547
],
_mm_xor_si64
(
c2
[
883
],
_mm_xor_si64
(
c2
[
1124
],
_mm_xor_si64
(
c2
[
904
],
_mm_xor_si64
(
c2
[
1127
],
_mm_xor_si64
(
c2
[
464
],
_mm_xor_si64
(
c2
[
932
],
_mm_xor_si64
(
c2
[
712
],
_mm_xor_si64
(
c2
[
710
],
_mm_xor_si64
(
c2
[
293
],
_mm_xor_si64
(
c2
[
73
],
_mm_xor_si64
(
c2
[
1609
],
_mm_xor_si64
(
c2
[
1389
],
_mm_xor_si64
(
c2
[
75
],
_mm_xor_si64
(
c2
[
1191
],
_mm_xor_si64
(
c2
[
971
],
_mm_xor_si64
(
c2
[
1633
],
_mm_xor_si64
(
c2
[
754
],
_mm_xor_si64
(
c2
[
1656
],
_mm_xor_si64
(
c2
[
1436
],
_mm_xor_si64
(
c2
[
990
],
_mm_xor_si64
(
c2
[
339
],
_mm_xor_si64
(
c2
[
1452
],
_mm_xor_si64
(
c2
[
1232
],
_mm_xor_si64
(
c2
[
1234
],
_mm_xor_si64
(
c2
[
1014
],
_mm_xor_si64
(
c2
[
1460
],
_mm_xor_si64
(
c2
[
814
],
_mm_xor_si64
(
c2
[
594
],
_mm_xor_si64
(
c2
[
1480
],
_mm_xor_si64
(
c2
[
402
],
_mm_xor_si64
(
c2
[
182
],
_mm_xor_si64
(
c2
[
838
],
_mm_xor_si64
(
c2
[
1504
],
_mm_xor_si64
(
c2
[
418
],
_mm_xor_si64
(
c2
[
198
],
_mm_xor_si64
(
c2
[
859
],
_mm_xor_si64
(
c2
[
639
],
c2
[
1526
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
363
]
=
_mm_xor_si64
(
c2
[
1
],
_mm_xor_si64
(
c2
[
1105
],
_mm_xor_si64
(
c2
[
1324
],
_mm_xor_si64
(
c2
[
692
],
_mm_xor_si64
(
c2
[
904
],
_mm_xor_si64
(
c2
[
252
],
_mm_xor_si64
(
c2
[
489
],
_mm_xor_si64
(
c2
[
487
],
_mm_xor_si64
(
c2
[
266
],
_mm_xor_si64
(
c2
[
1609
],
_mm_xor_si64
(
c2
[
1166
],
_mm_xor_si64
(
c2
[
1611
],
_mm_xor_si64
(
c2
[
748
],
_mm_xor_si64
(
c2
[
1410
],
_mm_xor_si64
(
c2
[
531
],
_mm_xor_si64
(
c2
[
1213
],
_mm_xor_si64
(
c2
[
778
],
_mm_xor_si64
(
c2
[
1020
],
_mm_xor_si64
(
c2
[
802
],
_mm_xor_si64
(
c2
[
1237
],
_mm_xor_si64
(
c2
[
382
],
_mm_xor_si64
(
c2
[
1257
],
_mm_xor_si64
(
c2
[
380
],
_mm_xor_si64
(
c2
[
1718
],
_mm_xor_si64
(
c2
[
626
],
_mm_xor_si64
(
c2
[
1281
],
_mm_xor_si64
(
c2
[
1745
],
_mm_xor_si64
(
c2
[
427
],
c2
[
1303
]))))))))))))))))))))))))))));
//row: 34
d2
[
374
]
=
_mm_xor_si64
(
c2
[
1102
],
_mm_xor_si64
(
c2
[
882
],
_mm_xor_si64
(
c2
[
1106
],
_mm_xor_si64
(
c2
[
447
],
_mm_xor_si64
(
c2
[
227
],
_mm_xor_si64
(
c2
[
440
],
_mm_xor_si64
(
c2
[
446
],
_mm_xor_si64
(
c2
[
670
],
_mm_xor_si64
(
c2
[
661
],
_mm_xor_si64
(
c2
[
23
],
_mm_xor_si64
(
c2
[
1562
],
_mm_xor_si64
(
c2
[
27
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
250
],
_mm_xor_si64
(
c2
[
1122
],
_mm_xor_si64
(
c2
[
1566
],
_mm_xor_si64
(
c2
[
1346
],
_mm_xor_si64
(
c2
[
1590
],
_mm_xor_si64
(
c2
[
1370
],
_mm_xor_si64
(
c2
[
1594
],
_mm_xor_si64
(
c2
[
1368
],
_mm_xor_si64
(
c2
[
53
],
_mm_xor_si64
(
c2
[
1592
],
_mm_xor_si64
(
c2
[
951
],
_mm_xor_si64
(
c2
[
731
],
_mm_xor_si64
(
c2
[
955
],
_mm_xor_si64
(
c2
[
508
],
_mm_xor_si64
(
c2
[
288
],
_mm_xor_si64
(
c2
[
512
],
_mm_xor_si64
(
c2
[
733
],
_mm_xor_si64
(
c2
[
946
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
1629
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
532
],
_mm_xor_si64
(
c2
[
756
],
_mm_xor_si64
(
c2
[
1412
],
_mm_xor_si64
(
c2
[
97
],
_mm_xor_si64
(
c2
[
1636
],
_mm_xor_si64
(
c2
[
555
],
_mm_xor_si64
(
c2
[
335
],
_mm_xor_si64
(
c2
[
559
],
_mm_xor_si64
(
c2
[
1659
],
_mm_xor_si64
(
c2
[
333
],
_mm_xor_si64
(
c2
[
113
],
_mm_xor_si64
(
c2
[
362
],
_mm_xor_si64
(
c2
[
142
],
_mm_xor_si64
(
c2
[
355
],
_mm_xor_si64
(
c2
[
133
],
_mm_xor_si64
(
c2
[
1672
],
_mm_xor_si64
(
c2
[
137
],
_mm_xor_si64
(
c2
[
359
],
_mm_xor_si64
(
c2
[
792
],
_mm_xor_si64
(
c2
[
572
],
_mm_xor_si64
(
c2
[
1483
],
_mm_xor_si64
(
c2
[
1263
],
_mm_xor_si64
(
c2
[
1476
],
_mm_xor_si64
(
c2
[
379
],
_mm_xor_si64
(
c2
[
823
],
_mm_xor_si64
(
c2
[
603
],
_mm_xor_si64
(
c2
[
1060
],
_mm_xor_si64
(
c2
[
840
],
_mm_xor_si64
(
c2
[
1064
],
_mm_xor_si64
(
c2
[
1496
],
_mm_xor_si64
(
c2
[
1720
],
_mm_xor_si64
(
c2
[
403
],
_mm_xor_si64
(
c2
[
836
],
_mm_xor_si64
(
c2
[
616
],
_mm_xor_si64
(
c2
[
1087
],
_mm_xor_si64
(
c2
[
867
],
_mm_xor_si64
(
c2
[
1080
],
_mm_xor_si64
(
c2
[
1528
],
_mm_xor_si64
(
c2
[
1308
],
_mm_xor_si64
(
c2
[
1521
],
_mm_xor_si64
(
c2
[
425
],
_mm_xor_si64
(
c2
[
858
],
c2
[
638
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
385
]
=
_mm_xor_si64
(
c2
[
8
],
_mm_xor_si64
(
c2
[
1547
],
_mm_xor_si64
(
c2
[
881
],
_mm_xor_si64
(
c2
[
1100
],
_mm_xor_si64
(
c2
[
688
],
_mm_xor_si64
(
c2
[
468
],
_mm_xor_si64
(
c2
[
691
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
1346
],
_mm_xor_si64
(
c2
[
485
],
_mm_xor_si64
(
c2
[
265
],
_mm_xor_si64
(
c2
[
274
],
_mm_xor_si64
(
c2
[
1616
],
_mm_xor_si64
(
c2
[
1396
],
_mm_xor_si64
(
c2
[
953
],
_mm_xor_si64
(
c2
[
1387
],
_mm_xor_si64
(
c2
[
535
],
_mm_xor_si64
(
c2
[
1197
],
_mm_xor_si64
(
c2
[
318
],
_mm_xor_si64
(
c2
[
1000
],
_mm_xor_si64
(
c2
[
554
],
_mm_xor_si64
(
c2
[
118
],
_mm_xor_si64
(
c2
[
1016
],
_mm_xor_si64
(
c2
[
796
],
_mm_xor_si64
(
c2
[
578
],
_mm_xor_si64
(
c2
[
1013
],
_mm_xor_si64
(
c2
[
158
],
_mm_xor_si64
(
c2
[
1044
],
_mm_xor_si64
(
c2
[
1505
],
_mm_xor_si64
(
c2
[
402
],
_mm_xor_si64
(
c2
[
1057
],
_mm_xor_si64
(
c2
[
1741
],
_mm_xor_si64
(
c2
[
1521
],
_mm_xor_si64
(
c2
[
203
],
c2
[
1079
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
396
]
=
_mm_xor_si64
(
c2
[
229
],
_mm_xor_si64
(
c2
[
492
],
c2
[
379
]));
//row: 37
d2
[
407
]
=
_mm_xor_si64
(
c2
[
447
],
_mm_xor_si64
(
c2
[
222
],
_mm_xor_si64
(
c2
[
1540
],
_mm_xor_si64
(
c2
[
1326
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
1545
],
_mm_xor_si64
(
c2
[
1127
],
_mm_xor_si64
(
c2
[
902
],
_mm_xor_si64
(
c2
[
1350
],
_mm_xor_si64
(
c2
[
1125
],
_mm_xor_si64
(
c2
[
687
],
_mm_xor_si64
(
c2
[
682
],
_mm_xor_si64
(
c2
[
462
],
_mm_xor_si64
(
c2
[
924
],
_mm_xor_si64
(
c2
[
710
],
_mm_xor_si64
(
c2
[
933
],
_mm_xor_si64
(
c2
[
928
],
_mm_xor_si64
(
c2
[
708
],
_mm_xor_si64
(
c2
[
296
],
_mm_xor_si64
(
c2
[
71
],
_mm_xor_si64
(
c2
[
1612
],
_mm_xor_si64
(
c2
[
1387
],
_mm_xor_si64
(
c2
[
287
],
_mm_xor_si64
(
c2
[
73
],
_mm_xor_si64
(
c2
[
1194
],
_mm_xor_si64
(
c2
[
969
],
_mm_xor_si64
(
c2
[
97
],
_mm_xor_si64
(
c2
[
1631
],
_mm_xor_si64
(
c2
[
977
],
_mm_xor_si64
(
c2
[
972
],
_mm_xor_si64
(
c2
[
752
],
_mm_xor_si64
(
c2
[
1659
],
_mm_xor_si64
(
c2
[
1434
],
_mm_xor_si64
(
c2
[
1213
],
_mm_xor_si64
(
c2
[
1219
],
_mm_xor_si64
(
c2
[
999
],
_mm_xor_si64
(
c2
[
1455
],
_mm_xor_si64
(
c2
[
1241
],
_mm_xor_si64
(
c2
[
1237
],
_mm_xor_si64
(
c2
[
1012
],
_mm_xor_si64
(
c2
[
1672
],
_mm_xor_si64
(
c2
[
1678
],
_mm_xor_si64
(
c2
[
1458
],
_mm_xor_si64
(
c2
[
817
],
_mm_xor_si64
(
c2
[
603
],
_mm_xor_si64
(
c2
[
1703
],
_mm_xor_si64
(
c2
[
1698
],
_mm_xor_si64
(
c2
[
1478
],
_mm_xor_si64
(
c2
[
405
],
_mm_xor_si64
(
c2
[
180
],
_mm_xor_si64
(
c2
[
1061
],
_mm_xor_si64
(
c2
[
836
],
_mm_xor_si64
(
c2
[
1716
],
_mm_xor_si64
(
c2
[
1722
],
_mm_xor_si64
(
c2
[
1502
],
_mm_xor_si64
(
c2
[
421
],
_mm_xor_si64
(
c2
[
207
],
_mm_xor_si64
(
c2
[
862
],
_mm_xor_si64
(
c2
[
648
],
_mm_xor_si64
(
c2
[
1738
],
_mm_xor_si64
(
c2
[
1744
],
c2
[
1524
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
418
]
=
_mm_xor_si64
(
c2
[
1550
],
_mm_xor_si64
(
c2
[
1330
],
_mm_xor_si64
(
c2
[
664
],
_mm_xor_si64
(
c2
[
883
],
_mm_xor_si64
(
c2
[
471
],
_mm_xor_si64
(
c2
[
251
],
_mm_xor_si64
(
c2
[
463
],
_mm_xor_si64
(
c2
[
1570
],
_mm_xor_si64
(
c2
[
25
],
_mm_xor_si64
(
c2
[
268
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
46
],
_mm_xor_si64
(
c2
[
1388
],
_mm_xor_si64
(
c2
[
1168
],
_mm_xor_si64
(
c2
[
736
],
_mm_xor_si64
(
c2
[
1170
],
_mm_xor_si64
(
c2
[
318
],
_mm_xor_si64
(
c2
[
969
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
772
],
_mm_xor_si64
(
c2
[
337
],
_mm_xor_si64
(
c2
[
1650
],
_mm_xor_si64
(
c2
[
799
],
_mm_xor_si64
(
c2
[
579
],
_mm_xor_si64
(
c2
[
361
],
_mm_xor_si64
(
c2
[
796
],
_mm_xor_si64
(
c2
[
1700
],
_mm_xor_si64
(
c2
[
816
],
_mm_xor_si64
(
c2
[
1277
],
_mm_xor_si64
(
c2
[
185
],
_mm_xor_si64
(
c2
[
840
],
_mm_xor_si64
(
c2
[
1524
],
_mm_xor_si64
(
c2
[
1304
],
_mm_xor_si64
(
c2
[
1745
],
c2
[
862
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
429
]
=
_mm_xor_si64
(
c2
[
1110
],
_mm_xor_si64
(
c2
[
890
],
_mm_xor_si64
(
c2
[
444
],
_mm_xor_si64
(
c2
[
224
],
_mm_xor_si64
(
c2
[
443
],
_mm_xor_si64
(
c2
[
1102
],
_mm_xor_si64
(
c2
[
31
],
_mm_xor_si64
(
c2
[
1570
],
_mm_xor_si64
(
c2
[
23
],
_mm_xor_si64
(
c2
[
1130
],
_mm_xor_si64
(
c2
[
1587
],
_mm_xor_si64
(
c2
[
1367
],
_mm_xor_si64
(
c2
[
1365
],
_mm_xor_si64
(
c2
[
948
],
_mm_xor_si64
(
c2
[
728
],
_mm_xor_si64
(
c2
[
516
],
_mm_xor_si64
(
c2
[
296
],
_mm_xor_si64
(
c2
[
730
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
1637
],
_mm_xor_si64
(
c2
[
529
],
_mm_xor_si64
(
c2
[
1409
],
_mm_xor_si64
(
c2
[
552
],
_mm_xor_si64
(
c2
[
332
],
_mm_xor_si64
(
c2
[
1656
],
_mm_xor_si64
(
c2
[
359
],
_mm_xor_si64
(
c2
[
139
],
_mm_xor_si64
(
c2
[
141
],
_mm_xor_si64
(
c2
[
1680
],
_mm_xor_si64
(
c2
[
356
],
_mm_xor_si64
(
c2
[
1480
],
_mm_xor_si64
(
c2
[
1260
],
_mm_xor_si64
(
c2
[
376
],
_mm_xor_si64
(
c2
[
1474
],
_mm_xor_si64
(
c2
[
1057
],
_mm_xor_si64
(
c2
[
837
],
_mm_xor_si64
(
c2
[
1504
],
_mm_xor_si64
(
c2
[
400
],
_mm_xor_si64
(
c2
[
1084
],
_mm_xor_si64
(
c2
[
864
],
_mm_xor_si64
(
c2
[
1525
],
_mm_xor_si64
(
c2
[
1305
],
c2
[
422
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
440
]
=
_mm_xor_si64
(
c2
[
1545
],
_mm_xor_si64
(
c2
[
1107
],
_mm_xor_si64
(
c2
[
890
],
_mm_xor_si64
(
c2
[
441
],
_mm_xor_si64
(
c2
[
1109
],
_mm_xor_si64
(
c2
[
660
],
_mm_xor_si64
(
c2
[
466
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
689
],
_mm_xor_si64
(
c2
[
251
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
1567
],
_mm_xor_si64
(
c2
[
1347
],
_mm_xor_si64
(
c2
[
274
],
_mm_xor_si64
(
c2
[
1584
],
_mm_xor_si64
(
c2
[
272
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
1593
],
_mm_xor_si64
(
c2
[
53
],
_mm_xor_si64
(
c2
[
1394
],
_mm_xor_si64
(
c2
[
956
],
_mm_xor_si64
(
c2
[
951
],
_mm_xor_si64
(
c2
[
513
],
_mm_xor_si64
(
c2
[
1396
],
_mm_xor_si64
(
c2
[
947
],
_mm_xor_si64
(
c2
[
533
],
_mm_xor_si64
(
c2
[
95
],
_mm_xor_si64
(
c2
[
1195
],
_mm_xor_si64
(
c2
[
757
],
_mm_xor_si64
(
c2
[
316
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
1637
],
_mm_xor_si64
(
c2
[
998
],
_mm_xor_si64
(
c2
[
560
],
_mm_xor_si64
(
c2
[
552
],
_mm_xor_si64
(
c2
[
334
],
_mm_xor_si64
(
c2
[
114
],
_mm_xor_si64
(
c2
[
794
],
_mm_xor_si64
(
c2
[
356
],
_mm_xor_si64
(
c2
[
576
],
_mm_xor_si64
(
c2
[
138
],
_mm_xor_si64
(
c2
[
1022
],
_mm_xor_si64
(
c2
[
793
],
_mm_xor_si64
(
c2
[
573
],
_mm_xor_si64
(
c2
[
156
],
_mm_xor_si64
(
c2
[
1477
],
_mm_xor_si64
(
c2
[
1042
],
_mm_xor_si64
(
c2
[
824
],
_mm_xor_si64
(
c2
[
604
],
_mm_xor_si64
(
c2
[
1503
],
_mm_xor_si64
(
c2
[
1065
],
_mm_xor_si64
(
c2
[
400
],
_mm_xor_si64
(
c2
[
1721
],
_mm_xor_si64
(
c2
[
1066
],
_mm_xor_si64
(
c2
[
837
],
_mm_xor_si64
(
c2
[
617
],
_mm_xor_si64
(
c2
[
1519
],
_mm_xor_si64
(
c2
[
1081
],
_mm_xor_si64
(
c2
[
201
],
_mm_xor_si64
(
c2
[
1522
],
_mm_xor_si64
(
c2
[
1088
],
_mm_xor_si64
(
c2
[
859
],
c2
[
639
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
451
]
=
_mm_xor_si64
(
c2
[
889
],
_mm_xor_si64
(
c2
[
669
],
_mm_xor_si64
(
c2
[
3
],
_mm_xor_si64
(
c2
[
222
],
_mm_xor_si64
(
c2
[
1569
],
_mm_xor_si64
(
c2
[
1349
],
_mm_xor_si64
(
c2
[
1572
],
_mm_xor_si64
(
c2
[
909
],
_mm_xor_si64
(
c2
[
907
],
_mm_xor_si64
(
c2
[
1366
],
_mm_xor_si64
(
c2
[
1146
],
_mm_xor_si64
(
c2
[
1144
],
_mm_xor_si64
(
c2
[
727
],
_mm_xor_si64
(
c2
[
507
],
_mm_xor_si64
(
c2
[
75
],
_mm_xor_si64
(
c2
[
509
],
_mm_xor_si64
(
c2
[
1416
],
_mm_xor_si64
(
c2
[
308
],
_mm_xor_si64
(
c2
[
1188
],
_mm_xor_si64
(
c2
[
111
],
_mm_xor_si64
(
c2
[
1435
],
_mm_xor_si64
(
c2
[
1430
],
_mm_xor_si64
(
c2
[
138
],
_mm_xor_si64
(
c2
[
1677
],
_mm_xor_si64
(
c2
[
1459
],
_mm_xor_si64
(
c2
[
135
],
_mm_xor_si64
(
c2
[
1039
],
_mm_xor_si64
(
c2
[
155
],
_mm_xor_si64
(
c2
[
616
],
_mm_xor_si64
(
c2
[
1283
],
_mm_xor_si64
(
c2
[
179
],
_mm_xor_si64
(
c2
[
863
],
_mm_xor_si64
(
c2
[
643
],
_mm_xor_si64
(
c2
[
1084
],
c2
[
201
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc8_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=8, byte encoding
static
inline
void
ldpc_BG2_Zc8_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m64i
*
csimd
=
(
__m64i
*
)
c
,
*
dsimd
=
(
__m64i
*
)
d
;
__m64i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
1
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
54
],
c2
[
102
]))))))))))))))))))))))))));
//row: 1
d2
[
1
]
=
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
54
],
c2
[
102
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
2
]
=
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
70
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
54
],
c2
[
102
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
3
]
=
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
80
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
10
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
18
],
c2
[
102
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
4
]
=
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
4
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
46
],
_mm_xor_si64
(
c2
[
82
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
42
],
c2
[
90
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
5
]
=
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
4
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
46
],
_mm_xor_si64
(
c2
[
82
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
42
],
c2
[
90
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
6
]
=
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
20
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
70
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
78
],
c2
[
66
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
7
]
=
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
92
],
_mm_xor_si64
(
c2
[
8
],
_mm_xor_si64
(
c2
[
80
],
_mm_xor_si64
(
c2
[
92
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
8
],
_mm_xor_si64
(
c2
[
20
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
10
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
46
],
_mm_xor_si64
(
c2
[
46
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
102
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
102
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
42
],
c2
[
54
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
8
]
=
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
20
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
46
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
70
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
30
],
c2
[
78
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
9
]
=
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
4
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
4
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
20
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
8
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
22
],
_mm_xor_si64
(
c2
[
46
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
82
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
66
],
c2
[
90
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
10
]
=
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
12
],
c2
[
74
])));
//row: 11
d2
[
11
]
=
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
80
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
10
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
102
],
c2
[
42
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
12
]
=
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
20
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
70
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
30
],
c2
[
78
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
13
]
=
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
4
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
20
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
82
],
_mm_xor_si64
(
c2
[
70
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
90
],
c2
[
78
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
14
]
=
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
92
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
80
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
80
],
_mm_xor_si64
(
c2
[
8
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
10
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
102
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
42
],
c2
[
102
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
15
]
=
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
4
],
_mm_xor_si64
(
c2
[
4
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
20
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
8
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
46
],
_mm_xor_si64
(
c2
[
22
],
_mm_xor_si64
(
c2
[
82
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
90
],
c2
[
66
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
16
]
=
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
92
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
80
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
92
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
82
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
22
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
102
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
102
],
_mm_xor_si64
(
c2
[
30
],
c2
[
90
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
17
]
=
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
80
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
92
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
70
],
_mm_xor_si64
(
c2
[
82
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
22
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
102
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
30
],
c2
[
102
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
18
]
=
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
36
],
c2
[
38
]));
//row: 19
d2
[
19
]
=
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
80
],
_mm_xor_si64
(
c2
[
70
],
_mm_xor_si64
(
c2
[
10
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
66
],
c2
[
18
]))))))))))))))))))))))))))));
//row: 20
d2
[
20
]
=
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
4
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
20
],
_mm_xor_si64
(
c2
[
8
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
20
],
_mm_xor_si64
(
c2
[
22
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
18
],
c2
[
66
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
21
]
=
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
80
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
8
],
_mm_xor_si64
(
c2
[
92
],
_mm_xor_si64
(
c2
[
82
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
22
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
42
],
c2
[
30
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
22
]
=
_mm_xor_si64
(
c2
[
74
],
c2
[
88
]);
//row: 23
d2
[
23
]
=
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
42
],
c2
[
82
]));
//row: 24
d2
[
24
]
=
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
40
],
c2
[
18
]));
//row: 25
d2
[
25
]
=
_mm_xor_si64
(
c2
[
48
],
c2
[
58
]);
//row: 26
d2
[
26
]
=
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
80
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
8
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
92
],
_mm_xor_si64
(
c2
[
70
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
82
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
22
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
102
],
c2
[
30
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
27
]
=
_mm_xor_si64
(
c2
[
0
],
c2
[
96
]);
//row: 28
d2
[
28
]
=
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
64
],
c2
[
94
]));
//row: 29
d2
[
29
]
=
_mm_xor_si64
(
c2
[
24
],
c2
[
56
]);
//row: 30
d2
[
30
]
=
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
10
],
_mm_xor_si64
(
c2
[
26
],
c2
[
66
])));
//row: 31
d2
[
31
]
=
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
92
],
_mm_xor_si64
(
c2
[
80
],
_mm_xor_si64
(
c2
[
70
],
_mm_xor_si64
(
c2
[
22
],
_mm_xor_si64
(
c2
[
10
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
30
],
c2
[
18
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
32
]
=
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
20
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
46
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
70
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
30
],
c2
[
78
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
33
]
=
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
92
],
_mm_xor_si64
(
c2
[
80
],
_mm_xor_si64
(
c2
[
8
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
102
],
_mm_xor_si64
(
c2
[
90
],
c2
[
42
]))))))))))))))))))))))))))));
//row: 34
d2
[
34
]
=
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
4
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
20
],
_mm_xor_si64
(
c2
[
8
],
_mm_xor_si64
(
c2
[
8
],
_mm_xor_si64
(
c2
[
92
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
20
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
22
],
_mm_xor_si64
(
c2
[
10
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
46
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
102
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
66
],
c2
[
54
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
35
]
=
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
4
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
46
],
_mm_xor_si64
(
c2
[
82
],
_mm_xor_si64
(
c2
[
10
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
42
],
c2
[
90
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
36
]
=
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
76
],
c2
[
38
]));
//row: 37
d2
[
37
]
=
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
4
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
30
],
_mm_xor_si64
(
c2
[
92
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
80
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
8
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
46
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
82
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
102
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
102
],
_mm_xor_si64
(
c2
[
42
],
c2
[
90
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
38
]
=
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
20
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
70
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
30
],
c2
[
78
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
39
]
=
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
92
],
_mm_xor_si64
(
c2
[
80
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
92
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
82
],
_mm_xor_si64
(
c2
[
22
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
98
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
102
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
78
],
c2
[
30
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
40
]
=
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
0
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
2
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
52
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
4
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
78
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
92
],
_mm_xor_si64
(
c2
[
56
],
_mm_xor_si64
(
c2
[
80
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
80
],
_mm_xor_si64
(
c2
[
8
],
_mm_xor_si64
(
c2
[
68
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
58
],
_mm_xor_si64
(
c2
[
10
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
94
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
60
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
24
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
12
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
74
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
40
],
_mm_xor_si64
(
c2
[
64
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
102
],
_mm_xor_si64
(
c2
[
66
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
42
],
c2
[
102
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
41
]
=
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
72
],
_mm_xor_si64
(
c2
[
38
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
86
],
_mm_xor_si64
(
c2
[
62
],
_mm_xor_si64
(
c2
[
14
],
_mm_xor_si64
(
c2
[
28
],
_mm_xor_si64
(
c2
[
16
],
_mm_xor_si64
(
c2
[
88
],
_mm_xor_si64
(
c2
[
6
],
_mm_xor_si64
(
c2
[
90
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
18
],
_mm_xor_si64
(
c2
[
32
],
_mm_xor_si64
(
c2
[
20
],
_mm_xor_si64
(
c2
[
44
],
_mm_xor_si64
(
c2
[
34
],
_mm_xor_si64
(
c2
[
70
],
_mm_xor_si64
(
c2
[
70
],
_mm_xor_si64
(
c2
[
48
],
_mm_xor_si64
(
c2
[
36
],
_mm_xor_si64
(
c2
[
96
],
_mm_xor_si64
(
c2
[
84
],
_mm_xor_si64
(
c2
[
26
],
_mm_xor_si64
(
c2
[
50
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
76
],
_mm_xor_si64
(
c2
[
100
],
_mm_xor_si64
(
c2
[
54
],
_mm_xor_si64
(
c2
[
42
],
_mm_xor_si64
(
c2
[
30
],
c2
[
78
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_BG2_Zc96_byte.c
0 → 100644
View file @
73c4672c
#include "PHY/sse_intrin.h"
// generated code for Zc=96, byte encoding
static
inline
void
ldpc_BG2_Zc96_byte
(
uint8_t
*
c
,
uint8_t
*
d
)
{
__m256i
*
csimd
=
(
__m256i
*
)
c
,
*
dsimd
=
(
__m256i
*
)
d
;
__m256i
*
c2
,
*
d2
;
int
i2
;
for
(
i2
=
0
;
i2
<
3
;
i2
++
)
{
c2
=&
csimd
[
i2
];
d2
=&
dsimd
[
i2
];
//row: 0
d2
[
0
]
=
_mm256_xor_si256
(
c2
[
782
],
_mm256_xor_si256
(
c2
[
1560
],
_mm256_xor_si256
(
c2
[
1440
],
_mm256_xor_si256
(
c2
[
6
],
_mm256_xor_si256
(
c2
[
1026
],
_mm256_xor_si256
(
c2
[
427
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
854
],
_mm256_xor_si256
(
c2
[
80
],
_mm256_xor_si256
(
c2
[
199
],
_mm256_xor_si256
(
c2
[
1218
],
_mm256_xor_si256
(
c2
[
925
],
_mm256_xor_si256
(
c2
[
804
],
_mm256_xor_si256
(
c2
[
984
],
_mm256_xor_si256
(
c2
[
1652
],
_mm256_xor_si256
(
c2
[
452
],
_mm256_xor_si256
(
c2
[
398
],
_mm256_xor_si256
(
c2
[
1836
],
_mm256_xor_si256
(
c2
[
1596
],
_mm256_xor_si256
(
c2
[
1604
],
_mm256_xor_si256
(
c2
[
1302
],
_mm256_xor_si256
(
c2
[
1490
],
_mm256_xor_si256
(
c2
[
1068
],
_mm256_xor_si256
(
c2
[
1668
],
_mm256_xor_si256
(
c2
[
716
],
_mm256_xor_si256
(
c2
[
174
],
c2
[
1556
]))))))))))))))))))))))))));
//row: 1
d2
[
3
]
=
_mm256_xor_si256
(
c2
[
842
],
_mm256_xor_si256
(
c2
[
782
],
_mm256_xor_si256
(
c2
[
1560
],
_mm256_xor_si256
(
c2
[
1440
],
_mm256_xor_si256
(
c2
[
66
],
_mm256_xor_si256
(
c2
[
6
],
_mm256_xor_si256
(
c2
[
1026
],
_mm256_xor_si256
(
c2
[
427
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
854
],
_mm256_xor_si256
(
c2
[
140
],
_mm256_xor_si256
(
c2
[
80
],
_mm256_xor_si256
(
c2
[
199
],
_mm256_xor_si256
(
c2
[
1218
],
_mm256_xor_si256
(
c2
[
925
],
_mm256_xor_si256
(
c2
[
804
],
_mm256_xor_si256
(
c2
[
984
],
_mm256_xor_si256
(
c2
[
1652
],
_mm256_xor_si256
(
c2
[
452
],
_mm256_xor_si256
(
c2
[
458
],
_mm256_xor_si256
(
c2
[
398
],
_mm256_xor_si256
(
c2
[
1836
],
_mm256_xor_si256
(
c2
[
1596
],
_mm256_xor_si256
(
c2
[
1604
],
_mm256_xor_si256
(
c2
[
1302
],
_mm256_xor_si256
(
c2
[
1490
],
_mm256_xor_si256
(
c2
[
1068
],
_mm256_xor_si256
(
c2
[
1668
],
_mm256_xor_si256
(
c2
[
776
],
_mm256_xor_si256
(
c2
[
716
],
_mm256_xor_si256
(
c2
[
174
],
c2
[
1556
]))))))))))))))))))))))))))))))));
//row: 2
d2
[
6
]
=
_mm256_xor_si256
(
c2
[
842
],
_mm256_xor_si256
(
c2
[
782
],
_mm256_xor_si256
(
c2
[
1620
],
_mm256_xor_si256
(
c2
[
1560
],
_mm256_xor_si256
(
c2
[
1440
],
_mm256_xor_si256
(
c2
[
66
],
_mm256_xor_si256
(
c2
[
6
],
_mm256_xor_si256
(
c2
[
1026
],
_mm256_xor_si256
(
c2
[
427
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
854
],
_mm256_xor_si256
(
c2
[
140
],
_mm256_xor_si256
(
c2
[
80
],
_mm256_xor_si256
(
c2
[
259
],
_mm256_xor_si256
(
c2
[
199
],
_mm256_xor_si256
(
c2
[
1218
],
_mm256_xor_si256
(
c2
[
985
],
_mm256_xor_si256
(
c2
[
925
],
_mm256_xor_si256
(
c2
[
804
],
_mm256_xor_si256
(
c2
[
984
],
_mm256_xor_si256
(
c2
[
1712
],
_mm256_xor_si256
(
c2
[
1652
],
_mm256_xor_si256
(
c2
[
452
],
_mm256_xor_si256
(
c2
[
458
],
_mm256_xor_si256
(
c2
[
398
],
_mm256_xor_si256
(
c2
[
1896
],
_mm256_xor_si256
(
c2
[
1836
],
_mm256_xor_si256
(
c2
[
1596
],
_mm256_xor_si256
(
c2
[
1664
],
_mm256_xor_si256
(
c2
[
1604
],
_mm256_xor_si256
(
c2
[
1302
],
_mm256_xor_si256
(
c2
[
1550
],
_mm256_xor_si256
(
c2
[
1490
],
_mm256_xor_si256
(
c2
[
1068
],
_mm256_xor_si256
(
c2
[
1668
],
_mm256_xor_si256
(
c2
[
776
],
_mm256_xor_si256
(
c2
[
716
],
_mm256_xor_si256
(
c2
[
234
],
_mm256_xor_si256
(
c2
[
174
],
c2
[
1556
]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2
[
9
]
=
_mm256_xor_si256
(
c2
[
782
],
_mm256_xor_si256
(
c2
[
1560
],
_mm256_xor_si256
(
c2
[
1440
],
_mm256_xor_si256
(
c2
[
6
],
_mm256_xor_si256
(
c2
[
1026
],
_mm256_xor_si256
(
c2
[
487
],
_mm256_xor_si256
(
c2
[
427
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
914
],
_mm256_xor_si256
(
c2
[
854
],
_mm256_xor_si256
(
c2
[
80
],
_mm256_xor_si256
(
c2
[
199
],
_mm256_xor_si256
(
c2
[
1218
],
_mm256_xor_si256
(
c2
[
925
],
_mm256_xor_si256
(
c2
[
804
],
_mm256_xor_si256
(
c2
[
1044
],
_mm256_xor_si256
(
c2
[
984
],
_mm256_xor_si256
(
c2
[
1652
],
_mm256_xor_si256
(
c2
[
512
],
_mm256_xor_si256
(
c2
[
452
],
_mm256_xor_si256
(
c2
[
398
],
_mm256_xor_si256
(
c2
[
1836
],
_mm256_xor_si256
(
c2
[
1656
],
_mm256_xor_si256
(
c2
[
1596
],
_mm256_xor_si256
(
c2
[
1604
],
_mm256_xor_si256
(
c2
[
1362
],
_mm256_xor_si256
(
c2
[
1302
],
_mm256_xor_si256
(
c2
[
1490
],
_mm256_xor_si256
(
c2
[
1068
],
_mm256_xor_si256
(
c2
[
1728
],
_mm256_xor_si256
(
c2
[
1668
],
_mm256_xor_si256
(
c2
[
716
],
_mm256_xor_si256
(
c2
[
174
],
_mm256_xor_si256
(
c2
[
1616
],
c2
[
1556
]))))))))))))))))))))))))))))))))));
//row: 4
d2
[
12
]
=
_mm256_xor_si256
(
c2
[
660
],
_mm256_xor_si256
(
c2
[
600
],
_mm256_xor_si256
(
c2
[
1381
],
_mm256_xor_si256
(
c2
[
1261
],
_mm256_xor_si256
(
c2
[
482
],
_mm256_xor_si256
(
c2
[
1806
],
_mm256_xor_si256
(
c2
[
1746
],
_mm256_xor_si256
(
c2
[
847
],
_mm256_xor_si256
(
c2
[
248
],
_mm256_xor_si256
(
c2
[
608
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
132
],
_mm256_xor_si256
(
c2
[
672
],
_mm256_xor_si256
(
c2
[
1880
],
_mm256_xor_si256
(
c2
[
1820
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
1039
],
_mm256_xor_si256
(
c2
[
746
],
_mm256_xor_si256
(
c2
[
625
],
_mm256_xor_si256
(
c2
[
805
],
_mm256_xor_si256
(
c2
[
1470
],
_mm256_xor_si256
(
c2
[
270
],
_mm256_xor_si256
(
c2
[
276
],
_mm256_xor_si256
(
c2
[
216
],
_mm256_xor_si256
(
c2
[
1657
],
_mm256_xor_si256
(
c2
[
1417
],
_mm256_xor_si256
(
c2
[
1422
],
_mm256_xor_si256
(
c2
[
1123
],
_mm256_xor_si256
(
c2
[
1308
],
_mm256_xor_si256
(
c2
[
889
],
_mm256_xor_si256
(
c2
[
1489
],
_mm256_xor_si256
(
c2
[
594
],
_mm256_xor_si256
(
c2
[
534
],
_mm256_xor_si256
(
c2
[
1914
],
c2
[
1374
]))))))))))))))))))))))))))))))))));
//row: 5
d2
[
15
]
=
_mm256_xor_si256
(
c2
[
1800
],
_mm256_xor_si256
(
c2
[
1740
],
_mm256_xor_si256
(
c2
[
602
],
_mm256_xor_si256
(
c2
[
482
],
_mm256_xor_si256
(
c2
[
600
],
_mm256_xor_si256
(
c2
[
1027
],
_mm256_xor_si256
(
c2
[
967
],
_mm256_xor_si256
(
c2
[
68
],
_mm256_xor_si256
(
c2
[
1388
],
_mm256_xor_si256
(
c2
[
727
],
_mm256_xor_si256
(
c2
[
1332
],
_mm256_xor_si256
(
c2
[
1272
],
_mm256_xor_si256
(
c2
[
1812
],
_mm256_xor_si256
(
c2
[
1098
],
_mm256_xor_si256
(
c2
[
1038
],
_mm256_xor_si256
(
c2
[
1160
],
_mm256_xor_si256
(
c2
[
260
],
_mm256_xor_si256
(
c2
[
1886
],
_mm256_xor_si256
(
c2
[
1765
],
_mm256_xor_si256
(
c2
[
26
],
_mm256_xor_si256
(
c2
[
691
],
_mm256_xor_si256
(
c2
[
1410
],
_mm256_xor_si256
(
c2
[
1530
],
_mm256_xor_si256
(
c2
[
1416
],
_mm256_xor_si256
(
c2
[
1356
],
_mm256_xor_si256
(
c2
[
878
],
_mm256_xor_si256
(
c2
[
638
],
_mm256_xor_si256
(
c2
[
643
],
_mm256_xor_si256
(
c2
[
344
],
_mm256_xor_si256
(
c2
[
1004
],
_mm256_xor_si256
(
c2
[
529
],
_mm256_xor_si256
(
c2
[
110
],
_mm256_xor_si256
(
c2
[
710
],
_mm256_xor_si256
(
c2
[
1734
],
_mm256_xor_si256
(
c2
[
1674
],
_mm256_xor_si256
(
c2
[
1135
],
c2
[
595
]))))))))))))))))))))))))))))))))))));
//row: 6
d2
[
18
]
=
_mm256_xor_si256
(
c2
[
362
],
_mm256_xor_si256
(
c2
[
302
],
_mm256_xor_si256
(
c2
[
1080
],
_mm256_xor_si256
(
c2
[
960
],
_mm256_xor_si256
(
c2
[
61
],
_mm256_xor_si256
(
c2
[
1508
],
_mm256_xor_si256
(
c2
[
1448
],
_mm256_xor_si256
(
c2
[
546
],
_mm256_xor_si256
(
c2
[
1866
],
_mm256_xor_si256
(
c2
[
1813
],
_mm256_xor_si256
(
c2
[
1753
],
_mm256_xor_si256
(
c2
[
374
],
_mm256_xor_si256
(
c2
[
1579
],
_mm256_xor_si256
(
c2
[
1519
],
_mm256_xor_si256
(
c2
[
1638
],
_mm256_xor_si256
(
c2
[
738
],
_mm256_xor_si256
(
c2
[
445
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
504
],
_mm256_xor_si256
(
c2
[
1172
],
_mm256_xor_si256
(
c2
[
1891
],
_mm256_xor_si256
(
c2
[
1712
],
_mm256_xor_si256
(
c2
[
1897
],
_mm256_xor_si256
(
c2
[
1837
],
_mm256_xor_si256
(
c2
[
1356
],
_mm256_xor_si256
(
c2
[
1116
],
_mm256_xor_si256
(
c2
[
1124
],
_mm256_xor_si256
(
c2
[
822
],
_mm256_xor_si256
(
c2
[
282
],
_mm256_xor_si256
(
c2
[
1010
],
_mm256_xor_si256
(
c2
[
588
],
_mm256_xor_si256
(
c2
[
1188
],
_mm256_xor_si256
(
c2
[
296
],
_mm256_xor_si256
(
c2
[
236
],
_mm256_xor_si256
(
c2
[
1616
],
_mm256_xor_si256
(
c2
[
1076
],
c2
[
1075
]))))))))))))))))))))))))))))))))))));
//row: 7
d2
[
21
]
=
_mm256_xor_si256
(
c2
[
1202
],
_mm256_xor_si256
(
c2
[
1142
],
_mm256_xor_si256
(
c2
[
1680
],
_mm256_xor_si256
(
c2
[
1
],
_mm256_xor_si256
(
c2
[
542
],
_mm256_xor_si256
(
c2
[
1800
],
_mm256_xor_si256
(
c2
[
422
],
_mm256_xor_si256
(
c2
[
426
],
_mm256_xor_si256
(
c2
[
366
],
_mm256_xor_si256
(
c2
[
907
],
_mm256_xor_si256
(
c2
[
1386
],
_mm256_xor_si256
(
c2
[
8
],
_mm256_xor_si256
(
c2
[
787
],
_mm256_xor_si256
(
c2
[
1388
],
_mm256_xor_si256
(
c2
[
1328
],
_mm256_xor_si256
(
c2
[
968
],
_mm256_xor_si256
(
c2
[
734
],
_mm256_xor_si256
(
c2
[
674
],
_mm256_xor_si256
(
c2
[
1212
],
_mm256_xor_si256
(
c2
[
1214
],
_mm256_xor_si256
(
c2
[
1812
],
_mm256_xor_si256
(
c2
[
1752
],
_mm256_xor_si256
(
c2
[
500
],
_mm256_xor_si256
(
c2
[
440
],
_mm256_xor_si256
(
c2
[
978
],
_mm256_xor_si256
(
c2
[
559
],
_mm256_xor_si256
(
c2
[
1100
],
_mm256_xor_si256
(
c2
[
1578
],
_mm256_xor_si256
(
c2
[
200
],
_mm256_xor_si256
(
c2
[
1285
],
_mm256_xor_si256
(
c2
[
1826
],
_mm256_xor_si256
(
c2
[
1164
],
_mm256_xor_si256
(
c2
[
1705
],
_mm256_xor_si256
(
c2
[
1344
],
_mm256_xor_si256
(
c2
[
26
],
_mm256_xor_si256
(
c2
[
1885
],
_mm256_xor_si256
(
c2
[
90
],
_mm256_xor_si256
(
c2
[
631
],
_mm256_xor_si256
(
c2
[
812
],
_mm256_xor_si256
(
c2
[
1410
],
_mm256_xor_si256
(
c2
[
1350
],
_mm256_xor_si256
(
c2
[
1592
],
_mm256_xor_si256
(
c2
[
818
],
_mm256_xor_si256
(
c2
[
758
],
_mm256_xor_si256
(
c2
[
1296
],
_mm256_xor_si256
(
c2
[
277
],
_mm256_xor_si256
(
c2
[
818
],
_mm256_xor_si256
(
c2
[
37
],
_mm256_xor_si256
(
c2
[
638
],
_mm256_xor_si256
(
c2
[
578
],
_mm256_xor_si256
(
c2
[
42
],
_mm256_xor_si256
(
c2
[
583
],
_mm256_xor_si256
(
c2
[
1662
],
_mm256_xor_si256
(
c2
[
344
],
_mm256_xor_si256
(
c2
[
284
],
_mm256_xor_si256
(
c2
[
1002
],
_mm256_xor_si256
(
c2
[
1850
],
_mm256_xor_si256
(
c2
[
469
],
_mm256_xor_si256
(
c2
[
1428
],
_mm256_xor_si256
(
c2
[
50
],
_mm256_xor_si256
(
c2
[
109
],
_mm256_xor_si256
(
c2
[
710
],
_mm256_xor_si256
(
c2
[
650
],
_mm256_xor_si256
(
c2
[
1136
],
_mm256_xor_si256
(
c2
[
1076
],
_mm256_xor_si256
(
c2
[
1614
],
_mm256_xor_si256
(
c2
[
534
],
_mm256_xor_si256
(
c2
[
1075
],
_mm256_xor_si256
(
c2
[
1916
],
_mm256_xor_si256
(
c2
[
595
],
c2
[
535
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2
[
24
]
=
_mm256_xor_si256
(
c2
[
361
],
_mm256_xor_si256
(
c2
[
301
],
_mm256_xor_si256
(
c2
[
1142
],
_mm256_xor_si256
(
c2
[
1082
],
_mm256_xor_si256
(
c2
[
962
],
_mm256_xor_si256
(
c2
[
1320
],
_mm256_xor_si256
(
c2
[
1507
],
_mm256_xor_si256
(
c2
[
1447
],
_mm256_xor_si256
(
c2
[
548
],
_mm256_xor_si256
(
c2
[
1868
],
_mm256_xor_si256
(
c2
[
368
],
_mm256_xor_si256
(
c2
[
1812
],
_mm256_xor_si256
(
c2
[
1752
],
_mm256_xor_si256
(
c2
[
373
],
_mm256_xor_si256
(
c2
[
1578
],
_mm256_xor_si256
(
c2
[
1518
],
_mm256_xor_si256
(
c2
[
1700
],
_mm256_xor_si256
(
c2
[
1640
],
_mm256_xor_si256
(
c2
[
740
],
_mm256_xor_si256
(
c2
[
504
],
_mm256_xor_si256
(
c2
[
444
],
_mm256_xor_si256
(
c2
[
326
],
_mm256_xor_si256
(
c2
[
506
],
_mm256_xor_si256
(
c2
[
1231
],
_mm256_xor_si256
(
c2
[
1171
],
_mm256_xor_si256
(
c2
[
1890
],
_mm256_xor_si256
(
c2
[
1896
],
_mm256_xor_si256
(
c2
[
1836
],
_mm256_xor_si256
(
c2
[
1418
],
_mm256_xor_si256
(
c2
[
1358
],
_mm256_xor_si256
(
c2
[
1118
],
_mm256_xor_si256
(
c2
[
1183
],
_mm256_xor_si256
(
c2
[
1123
],
_mm256_xor_si256
(
c2
[
824
],
_mm256_xor_si256
(
c2
[
1069
],
_mm256_xor_si256
(
c2
[
1009
],
_mm256_xor_si256
(
c2
[
590
],
_mm256_xor_si256
(
c2
[
1190
],
_mm256_xor_si256
(
c2
[
295
],
_mm256_xor_si256
(
c2
[
235
],
_mm256_xor_si256
(
c2
[
1675
],
_mm256_xor_si256
(
c2
[
1615
],
c2
[
1075
]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2
[
27
]
=
_mm256_xor_si256
(
c2
[
362
],
_mm256_xor_si256
(
c2
[
2
],
_mm256_xor_si256
(
c2
[
1861
],
_mm256_xor_si256
(
c2
[
1140
],
_mm256_xor_si256
(
c2
[
720
],
_mm256_xor_si256
(
c2
[
1020
],
_mm256_xor_si256
(
c2
[
600
],
_mm256_xor_si256
(
c2
[
1508
],
_mm256_xor_si256
(
c2
[
1148
],
_mm256_xor_si256
(
c2
[
1088
],
_mm256_xor_si256
(
c2
[
606
],
_mm256_xor_si256
(
c2
[
186
],
_mm256_xor_si256
(
c2
[
7
],
_mm256_xor_si256
(
c2
[
1506
],
_mm256_xor_si256
(
c2
[
1686
],
_mm256_xor_si256
(
c2
[
1813
],
_mm256_xor_si256
(
c2
[
1453
],
_mm256_xor_si256
(
c2
[
1393
],
_mm256_xor_si256
(
c2
[
434
],
_mm256_xor_si256
(
c2
[
14
],
_mm256_xor_si256
(
c2
[
1579
],
_mm256_xor_si256
(
c2
[
1219
],
_mm256_xor_si256
(
c2
[
1159
],
_mm256_xor_si256
(
c2
[
1698
],
_mm256_xor_si256
(
c2
[
1278
],
_mm256_xor_si256
(
c2
[
798
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
505
],
_mm256_xor_si256
(
c2
[
85
],
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
1886
],
_mm256_xor_si256
(
c2
[
564
],
_mm256_xor_si256
(
c2
[
144
],
_mm256_xor_si256
(
c2
[
1232
],
_mm256_xor_si256
(
c2
[
812
],
_mm256_xor_si256
(
c2
[
32
],
_mm256_xor_si256
(
c2
[
1531
],
_mm256_xor_si256
(
c2
[
1897
],
_mm256_xor_si256
(
c2
[
1537
],
_mm256_xor_si256
(
c2
[
1477
],
_mm256_xor_si256
(
c2
[
1416
],
_mm256_xor_si256
(
c2
[
996
],
_mm256_xor_si256
(
c2
[
1176
],
_mm256_xor_si256
(
c2
[
756
],
_mm256_xor_si256
(
c2
[
1184
],
_mm256_xor_si256
(
c2
[
764
],
_mm256_xor_si256
(
c2
[
882
],
_mm256_xor_si256
(
c2
[
462
],
_mm256_xor_si256
(
c2
[
1070
],
_mm256_xor_si256
(
c2
[
650
],
_mm256_xor_si256
(
c2
[
648
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
1248
],
_mm256_xor_si256
(
c2
[
828
],
_mm256_xor_si256
(
c2
[
289
],
_mm256_xor_si256
(
c2
[
296
],
_mm256_xor_si256
(
c2
[
1855
],
_mm256_xor_si256
(
c2
[
1795
],
_mm256_xor_si256
(
c2
[
1676
],
_mm256_xor_si256
(
c2
[
1256
],
_mm256_xor_si256
(
c2
[
1136
],
c2
[
716
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2
[
30
]
=
_mm256_xor_si256
(
c2
[
1621
],
_mm256_xor_si256
(
c2
[
486
],
_mm256_xor_si256
(
c2
[
1356
],
c2
[
1243
])));
//row: 11
d2
[
33
]
=
_mm256_xor_si256
(
c2
[
421
],
_mm256_xor_si256
(
c2
[
1202
],
_mm256_xor_si256
(
c2
[
1082
],
_mm256_xor_si256
(
c2
[
1
],
_mm256_xor_si256
(
c2
[
1567
],
_mm256_xor_si256
(
c2
[
668
],
_mm256_xor_si256
(
c2
[
126
],
_mm256_xor_si256
(
c2
[
66
],
_mm256_xor_si256
(
c2
[
1872
],
_mm256_xor_si256
(
c2
[
553
],
_mm256_xor_si256
(
c2
[
493
],
_mm256_xor_si256
(
c2
[
1638
],
_mm256_xor_si256
(
c2
[
1760
],
_mm256_xor_si256
(
c2
[
860
],
_mm256_xor_si256
(
c2
[
564
],
_mm256_xor_si256
(
c2
[
446
],
_mm256_xor_si256
(
c2
[
686
],
_mm256_xor_si256
(
c2
[
626
],
_mm256_xor_si256
(
c2
[
1291
],
_mm256_xor_si256
(
c2
[
151
],
_mm256_xor_si256
(
c2
[
91
],
_mm256_xor_si256
(
c2
[
37
],
_mm256_xor_si256
(
c2
[
1478
],
_mm256_xor_si256
(
c2
[
1298
],
_mm256_xor_si256
(
c2
[
1238
],
_mm256_xor_si256
(
c2
[
1243
],
_mm256_xor_si256
(
c2
[
1004
],
_mm256_xor_si256
(
c2
[
944
],
_mm256_xor_si256
(
c2
[
1724
],
_mm256_xor_si256
(
c2
[
1129
],
_mm256_xor_si256
(
c2
[
710
],
_mm256_xor_si256
(
c2
[
1370
],
_mm256_xor_si256
(
c2
[
1310
],
_mm256_xor_si256
(
c2
[
355
],
_mm256_xor_si256
(
c2
[
1735
],
_mm256_xor_si256
(
c2
[
1255
],
_mm256_xor_si256
(
c2
[
1195
],
c2
[
896
])))))))))))))))))))))))))))))))))))));
//row: 12
d2
[
36
]
=
_mm256_xor_si256
(
c2
[
1502
],
_mm256_xor_si256
(
c2
[
1442
],
_mm256_xor_si256
(
c2
[
301
],
_mm256_xor_si256
(
c2
[
181
],
_mm256_xor_si256
(
c2
[
726
],
_mm256_xor_si256
(
c2
[
666
],
_mm256_xor_si256
(
c2
[
1686
],
_mm256_xor_si256
(
c2
[
1087
],
_mm256_xor_si256
(
c2
[
427
],
_mm256_xor_si256
(
c2
[
1034
],
_mm256_xor_si256
(
c2
[
974
],
_mm256_xor_si256
(
c2
[
1514
],
_mm256_xor_si256
(
c2
[
800
],
_mm256_xor_si256
(
c2
[
740
],
_mm256_xor_si256
(
c2
[
859
],
_mm256_xor_si256
(
c2
[
1878
],
_mm256_xor_si256
(
c2
[
1760
],
_mm256_xor_si256
(
c2
[
1585
],
_mm256_xor_si256
(
c2
[
1464
],
_mm256_xor_si256
(
c2
[
1644
],
_mm256_xor_si256
(
c2
[
390
],
_mm256_xor_si256
(
c2
[
1112
],
_mm256_xor_si256
(
c2
[
1118
],
_mm256_xor_si256
(
c2
[
1058
],
_mm256_xor_si256
(
c2
[
577
],
_mm256_xor_si256
(
c2
[
337
],
_mm256_xor_si256
(
c2
[
342
],
_mm256_xor_si256
(
c2
[
43
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
1728
],
_mm256_xor_si256
(
c2
[
409
],
_mm256_xor_si256
(
c2
[
1436
],
_mm256_xor_si256
(
c2
[
1376
],
_mm256_xor_si256
(
c2
[
834
],
c2
[
294
]))))))))))))))))))))))))))))))))));
//row: 13
d2
[
39
]
=
_mm256_xor_si256
(
c2
[
1141
],
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
1802
],
_mm256_xor_si256
(
c2
[
1021
],
_mm256_xor_si256
(
c2
[
368
],
_mm256_xor_si256
(
c2
[
1388
],
_mm256_xor_si256
(
c2
[
846
],
_mm256_xor_si256
(
c2
[
786
],
_mm256_xor_si256
(
c2
[
1746
],
_mm256_xor_si256
(
c2
[
673
],
_mm256_xor_si256
(
c2
[
1273
],
_mm256_xor_si256
(
c2
[
1213
],
_mm256_xor_si256
(
c2
[
439
],
_mm256_xor_si256
(
c2
[
558
],
_mm256_xor_si256
(
c2
[
1580
],
_mm256_xor_si256
(
c2
[
1284
],
_mm256_xor_si256
(
c2
[
1166
],
_mm256_xor_si256
(
c2
[
1406
],
_mm256_xor_si256
(
c2
[
1346
],
_mm256_xor_si256
(
c2
[
92
],
_mm256_xor_si256
(
c2
[
871
],
_mm256_xor_si256
(
c2
[
811
],
_mm256_xor_si256
(
c2
[
757
],
_mm256_xor_si256
(
c2
[
276
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
36
],
_mm256_xor_si256
(
c2
[
44
],
_mm256_xor_si256
(
c2
[
1724
],
_mm256_xor_si256
(
c2
[
1664
],
_mm256_xor_si256
(
c2
[
1849
],
_mm256_xor_si256
(
c2
[
1430
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
229
],
_mm256_xor_si256
(
c2
[
1075
],
_mm256_xor_si256
(
c2
[
536
],
_mm256_xor_si256
(
c2
[
56
],
c2
[
1915
])))))))))))))))))))))))))))))))))))));
//row: 14
d2
[
42
]
=
_mm256_xor_si256
(
c2
[
180
],
_mm256_xor_si256
(
c2
[
120
],
_mm256_xor_si256
(
c2
[
961
],
_mm256_xor_si256
(
c2
[
901
],
_mm256_xor_si256
(
c2
[
1742
],
_mm256_xor_si256
(
c2
[
781
],
_mm256_xor_si256
(
c2
[
1622
],
_mm256_xor_si256
(
c2
[
1326
],
_mm256_xor_si256
(
c2
[
1266
],
_mm256_xor_si256
(
c2
[
188
],
_mm256_xor_si256
(
c2
[
367
],
_mm256_xor_si256
(
c2
[
1208
],
_mm256_xor_si256
(
c2
[
1687
],
_mm256_xor_si256
(
c2
[
666
],
_mm256_xor_si256
(
c2
[
606
],
_mm256_xor_si256
(
c2
[
1146
],
_mm256_xor_si256
(
c2
[
1634
],
_mm256_xor_si256
(
c2
[
1574
],
_mm256_xor_si256
(
c2
[
493
],
_mm256_xor_si256
(
c2
[
192
],
_mm256_xor_si256
(
c2
[
1093
],
_mm256_xor_si256
(
c2
[
1033
],
_mm256_xor_si256
(
c2
[
1400
],
_mm256_xor_si256
(
c2
[
1340
],
_mm256_xor_si256
(
c2
[
259
],
_mm256_xor_si256
(
c2
[
1459
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
559
],
_mm256_xor_si256
(
c2
[
1400
],
_mm256_xor_si256
(
c2
[
266
],
_mm256_xor_si256
(
c2
[
1104
],
_mm256_xor_si256
(
c2
[
145
],
_mm256_xor_si256
(
c2
[
986
],
_mm256_xor_si256
(
c2
[
325
],
_mm256_xor_si256
(
c2
[
1226
],
_mm256_xor_si256
(
c2
[
1166
],
_mm256_xor_si256
(
c2
[
990
],
_mm256_xor_si256
(
c2
[
1831
],
_mm256_xor_si256
(
c2
[
1712
],
_mm256_xor_si256
(
c2
[
691
],
_mm256_xor_si256
(
c2
[
631
],
_mm256_xor_si256
(
c2
[
1718
],
_mm256_xor_si256
(
c2
[
1658
],
_mm256_xor_si256
(
c2
[
577
],
_mm256_xor_si256
(
c2
[
1177
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
937
],
_mm256_xor_si256
(
c2
[
1838
],
_mm256_xor_si256
(
c2
[
1778
],
_mm256_xor_si256
(
c2
[
1356
],
_mm256_xor_si256
(
c2
[
942
],
_mm256_xor_si256
(
c2
[
1783
],
_mm256_xor_si256
(
c2
[
643
],
_mm256_xor_si256
(
c2
[
1544
],
_mm256_xor_si256
(
c2
[
1484
],
_mm256_xor_si256
(
c2
[
828
],
_mm256_xor_si256
(
c2
[
1669
],
_mm256_xor_si256
(
c2
[
409
],
_mm256_xor_si256
(
c2
[
1250
],
_mm256_xor_si256
(
c2
[
1009
],
_mm256_xor_si256
(
c2
[
1910
],
_mm256_xor_si256
(
c2
[
1850
],
_mm256_xor_si256
(
c2
[
114
],
_mm256_xor_si256
(
c2
[
54
],
_mm256_xor_si256
(
c2
[
895
],
_mm256_xor_si256
(
c2
[
1434
],
_mm256_xor_si256
(
c2
[
356
],
_mm256_xor_si256
(
c2
[
894
],
_mm256_xor_si256
(
c2
[
1795
],
c2
[
1735
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2
[
45
]
=
_mm256_xor_si256
(
c2
[
721
],
_mm256_xor_si256
(
c2
[
1861
],
_mm256_xor_si256
(
c2
[
1801
],
_mm256_xor_si256
(
c2
[
1502
],
_mm256_xor_si256
(
c2
[
660
],
_mm256_xor_si256
(
c2
[
1382
],
_mm256_xor_si256
(
c2
[
540
],
_mm256_xor_si256
(
c2
[
242
],
_mm256_xor_si256
(
c2
[
1867
],
_mm256_xor_si256
(
c2
[
1088
],
_mm256_xor_si256
(
c2
[
1028
],
_mm256_xor_si256
(
c2
[
968
],
_mm256_xor_si256
(
c2
[
126
],
_mm256_xor_si256
(
c2
[
366
],
_mm256_xor_si256
(
c2
[
1446
],
_mm256_xor_si256
(
c2
[
253
],
_mm256_xor_si256
(
c2
[
1393
],
_mm256_xor_si256
(
c2
[
1333
],
_mm256_xor_si256
(
c2
[
793
],
_mm256_xor_si256
(
c2
[
1873
],
_mm256_xor_si256
(
c2
[
19
],
_mm256_xor_si256
(
c2
[
1159
],
_mm256_xor_si256
(
c2
[
1099
],
_mm256_xor_si256
(
c2
[
138
],
_mm256_xor_si256
(
c2
[
1218
],
_mm256_xor_si256
(
c2
[
1160
],
_mm256_xor_si256
(
c2
[
318
],
_mm256_xor_si256
(
c2
[
864
],
_mm256_xor_si256
(
c2
[
25
],
_mm256_xor_si256
(
c2
[
746
],
_mm256_xor_si256
(
c2
[
1826
],
_mm256_xor_si256
(
c2
[
926
],
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
1591
],
_mm256_xor_si256
(
c2
[
752
],
_mm256_xor_si256
(
c2
[
391
],
_mm256_xor_si256
(
c2
[
1471
],
_mm256_xor_si256
(
c2
[
337
],
_mm256_xor_si256
(
c2
[
1477
],
_mm256_xor_si256
(
c2
[
1417
],
_mm256_xor_si256
(
c2
[
1778
],
_mm256_xor_si256
(
c2
[
936
],
_mm256_xor_si256
(
c2
[
1538
],
_mm256_xor_si256
(
c2
[
696
],
_mm256_xor_si256
(
c2
[
1543
],
_mm256_xor_si256
(
c2
[
704
],
_mm256_xor_si256
(
c2
[
1244
],
_mm256_xor_si256
(
c2
[
402
],
_mm256_xor_si256
(
c2
[
1429
],
_mm256_xor_si256
(
c2
[
590
],
_mm256_xor_si256
(
c2
[
1010
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
1610
],
_mm256_xor_si256
(
c2
[
768
],
_mm256_xor_si256
(
c2
[
655
],
_mm256_xor_si256
(
c2
[
1795
],
_mm256_xor_si256
(
c2
[
1735
],
_mm256_xor_si256
(
c2
[
116
],
_mm256_xor_si256
(
c2
[
1196
],
_mm256_xor_si256
(
c2
[
1495
],
c2
[
656
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2
[
48
]
=
_mm256_xor_si256
(
c2
[
1260
],
_mm256_xor_si256
(
c2
[
1200
],
_mm256_xor_si256
(
c2
[
841
],
_mm256_xor_si256
(
c2
[
781
],
_mm256_xor_si256
(
c2
[
62
],
_mm256_xor_si256
(
c2
[
1622
],
_mm256_xor_si256
(
c2
[
1562
],
_mm256_xor_si256
(
c2
[
1861
],
_mm256_xor_si256
(
c2
[
1442
],
_mm256_xor_si256
(
c2
[
487
],
_mm256_xor_si256
(
c2
[
427
],
_mm256_xor_si256
(
c2
[
68
],
_mm256_xor_si256
(
c2
[
8
],
_mm256_xor_si256
(
c2
[
1447
],
_mm256_xor_si256
(
c2
[
1028
],
_mm256_xor_si256
(
c2
[
848
],
_mm256_xor_si256
(
c2
[
426
],
_mm256_xor_si256
(
c2
[
1388
],
_mm256_xor_si256
(
c2
[
792
],
_mm256_xor_si256
(
c2
[
732
],
_mm256_xor_si256
(
c2
[
373
],
_mm256_xor_si256
(
c2
[
313
],
_mm256_xor_si256
(
c2
[
1272
],
_mm256_xor_si256
(
c2
[
853
],
_mm256_xor_si256
(
c2
[
558
],
_mm256_xor_si256
(
c2
[
498
],
_mm256_xor_si256
(
c2
[
139
],
_mm256_xor_si256
(
c2
[
79
],
_mm256_xor_si256
(
c2
[
620
],
_mm256_xor_si256
(
c2
[
258
],
_mm256_xor_si256
(
c2
[
198
],
_mm256_xor_si256
(
c2
[
1639
],
_mm256_xor_si256
(
c2
[
1220
],
_mm256_xor_si256
(
c2
[
1346
],
_mm256_xor_si256
(
c2
[
984
],
_mm256_xor_si256
(
c2
[
924
],
_mm256_xor_si256
(
c2
[
1225
],
_mm256_xor_si256
(
c2
[
806
],
_mm256_xor_si256
(
c2
[
1405
],
_mm256_xor_si256
(
c2
[
986
],
_mm256_xor_si256
(
c2
[
151
],
_mm256_xor_si256
(
c2
[
1711
],
_mm256_xor_si256
(
c2
[
1651
],
_mm256_xor_si256
(
c2
[
870
],
_mm256_xor_si256
(
c2
[
451
],
_mm256_xor_si256
(
c2
[
876
],
_mm256_xor_si256
(
c2
[
816
],
_mm256_xor_si256
(
c2
[
457
],
_mm256_xor_si256
(
c2
[
397
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
1898
],
_mm256_xor_si256
(
c2
[
1838
],
_mm256_xor_si256
(
c2
[
98
],
_mm256_xor_si256
(
c2
[
1598
],
_mm256_xor_si256
(
c2
[
103
],
_mm256_xor_si256
(
c2
[
1663
],
_mm256_xor_si256
(
c2
[
1603
],
_mm256_xor_si256
(
c2
[
1723
],
_mm256_xor_si256
(
c2
[
1304
],
_mm256_xor_si256
(
c2
[
1908
],
_mm256_xor_si256
(
c2
[
1549
],
_mm256_xor_si256
(
c2
[
1489
],
_mm256_xor_si256
(
c2
[
1489
],
_mm256_xor_si256
(
c2
[
1070
],
_mm256_xor_si256
(
c2
[
170
],
_mm256_xor_si256
(
c2
[
1670
],
_mm256_xor_si256
(
c2
[
1194
],
_mm256_xor_si256
(
c2
[
1134
],
_mm256_xor_si256
(
c2
[
775
],
_mm256_xor_si256
(
c2
[
715
],
_mm256_xor_si256
(
c2
[
595
],
_mm256_xor_si256
(
c2
[
236
],
_mm256_xor_si256
(
c2
[
176
],
_mm256_xor_si256
(
c2
[
55
],
_mm256_xor_si256
(
c2
[
1555
],
c2
[
1076
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2
[
51
]
=
_mm256_xor_si256
(
c2
[
1382
],
_mm256_xor_si256
(
c2
[
1322
],
_mm256_xor_si256
(
c2
[
1202
],
_mm256_xor_si256
(
c2
[
1142
],
_mm256_xor_si256
(
c2
[
181
],
_mm256_xor_si256
(
c2
[
61
],
_mm256_xor_si256
(
c2
[
1
],
_mm256_xor_si256
(
c2
[
61
],
_mm256_xor_si256
(
c2
[
1800
],
_mm256_xor_si256
(
c2
[
606
],
_mm256_xor_si256
(
c2
[
546
],
_mm256_xor_si256
(
c2
[
426
],
_mm256_xor_si256
(
c2
[
366
],
_mm256_xor_si256
(
c2
[
1566
],
_mm256_xor_si256
(
c2
[
1386
],
_mm256_xor_si256
(
c2
[
967
],
_mm256_xor_si256
(
c2
[
787
],
_mm256_xor_si256
(
c2
[
1807
],
_mm256_xor_si256
(
c2
[
914
],
_mm256_xor_si256
(
c2
[
854
],
_mm256_xor_si256
(
c2
[
734
],
_mm256_xor_si256
(
c2
[
674
],
_mm256_xor_si256
(
c2
[
1394
],
_mm256_xor_si256
(
c2
[
1214
],
_mm256_xor_si256
(
c2
[
680
],
_mm256_xor_si256
(
c2
[
620
],
_mm256_xor_si256
(
c2
[
500
],
_mm256_xor_si256
(
c2
[
440
],
_mm256_xor_si256
(
c2
[
739
],
_mm256_xor_si256
(
c2
[
619
],
_mm256_xor_si256
(
c2
[
559
],
_mm256_xor_si256
(
c2
[
1758
],
_mm256_xor_si256
(
c2
[
1578
],
_mm256_xor_si256
(
c2
[
1465
],
_mm256_xor_si256
(
c2
[
1345
],
_mm256_xor_si256
(
c2
[
1285
],
_mm256_xor_si256
(
c2
[
1344
],
_mm256_xor_si256
(
c2
[
1164
],
_mm256_xor_si256
(
c2
[
1524
],
_mm256_xor_si256
(
c2
[
1344
],
_mm256_xor_si256
(
c2
[
270
],
_mm256_xor_si256
(
c2
[
150
],
_mm256_xor_si256
(
c2
[
90
],
_mm256_xor_si256
(
c2
[
992
],
_mm256_xor_si256
(
c2
[
812
],
_mm256_xor_si256
(
c2
[
1410
],
_mm256_xor_si256
(
c2
[
998
],
_mm256_xor_si256
(
c2
[
938
],
_mm256_xor_si256
(
c2
[
818
],
_mm256_xor_si256
(
c2
[
758
],
_mm256_xor_si256
(
c2
[
457
],
_mm256_xor_si256
(
c2
[
337
],
_mm256_xor_si256
(
c2
[
277
],
_mm256_xor_si256
(
c2
[
217
],
_mm256_xor_si256
(
c2
[
37
],
_mm256_xor_si256
(
c2
[
222
],
_mm256_xor_si256
(
c2
[
102
],
_mm256_xor_si256
(
c2
[
42
],
_mm256_xor_si256
(
c2
[
1842
],
_mm256_xor_si256
(
c2
[
1662
],
_mm256_xor_si256
(
c2
[
108
],
_mm256_xor_si256
(
c2
[
1910
],
_mm256_xor_si256
(
c2
[
1850
],
_mm256_xor_si256
(
c2
[
1608
],
_mm256_xor_si256
(
c2
[
1428
],
_mm256_xor_si256
(
c2
[
289
],
_mm256_xor_si256
(
c2
[
109
],
_mm256_xor_si256
(
c2
[
1316
],
_mm256_xor_si256
(
c2
[
1256
],
_mm256_xor_si256
(
c2
[
1136
],
_mm256_xor_si256
(
c2
[
1076
],
_mm256_xor_si256
(
c2
[
714
],
_mm256_xor_si256
(
c2
[
594
],
_mm256_xor_si256
(
c2
[
534
],
_mm256_xor_si256
(
c2
[
174
],
c2
[
1916
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2
[
54
]
=
_mm256_xor_si256
(
c2
[
1562
],
_mm256_xor_si256
(
c2
[
396
],
c2
[
883
]));
//row: 19
d2
[
57
]
=
_mm256_xor_si256
(
c2
[
541
],
_mm256_xor_si256
(
c2
[
1322
],
_mm256_xor_si256
(
c2
[
1202
],
_mm256_xor_si256
(
c2
[
1561
],
_mm256_xor_si256
(
c2
[
1687
],
_mm256_xor_si256
(
c2
[
788
],
_mm256_xor_si256
(
c2
[
186
],
_mm256_xor_si256
(
c2
[
607
],
_mm256_xor_si256
(
c2
[
73
],
_mm256_xor_si256
(
c2
[
613
],
_mm256_xor_si256
(
c2
[
1758
],
_mm256_xor_si256
(
c2
[
1880
],
_mm256_xor_si256
(
c2
[
980
],
_mm256_xor_si256
(
c2
[
684
],
_mm256_xor_si256
(
c2
[
566
],
_mm256_xor_si256
(
c2
[
746
],
_mm256_xor_si256
(
c2
[
1411
],
_mm256_xor_si256
(
c2
[
211
],
_mm256_xor_si256
(
c2
[
157
],
_mm256_xor_si256
(
c2
[
1598
],
_mm256_xor_si256
(
c2
[
1358
],
_mm256_xor_si256
(
c2
[
1363
],
_mm256_xor_si256
(
c2
[
1064
],
_mm256_xor_si256
(
c2
[
1249
],
_mm256_xor_si256
(
c2
[
830
],
_mm256_xor_si256
(
c2
[
1430
],
_mm256_xor_si256
(
c2
[
475
],
_mm256_xor_si256
(
c2
[
1855
],
c2
[
1315
]))))))))))))))))))))))))))));
//row: 20
d2
[
60
]
=
_mm256_xor_si256
(
c2
[
421
],
_mm256_xor_si256
(
c2
[
361
],
_mm256_xor_si256
(
c2
[
1142
],
_mm256_xor_si256
(
c2
[
1022
],
_mm256_xor_si256
(
c2
[
1567
],
_mm256_xor_si256
(
c2
[
1507
],
_mm256_xor_si256
(
c2
[
608
],
_mm256_xor_si256
(
c2
[
6
],
_mm256_xor_si256
(
c2
[
728
],
_mm256_xor_si256
(
c2
[
1872
],
_mm256_xor_si256
(
c2
[
1812
],
_mm256_xor_si256
(
c2
[
433
],
_mm256_xor_si256
(
c2
[
1638
],
_mm256_xor_si256
(
c2
[
1578
],
_mm256_xor_si256
(
c2
[
1700
],
_mm256_xor_si256
(
c2
[
800
],
_mm256_xor_si256
(
c2
[
504
],
_mm256_xor_si256
(
c2
[
386
],
_mm256_xor_si256
(
c2
[
566
],
_mm256_xor_si256
(
c2
[
1765
],
_mm256_xor_si256
(
c2
[
1231
],
_mm256_xor_si256
(
c2
[
31
],
_mm256_xor_si256
(
c2
[
37
],
_mm256_xor_si256
(
c2
[
1896
],
_mm256_xor_si256
(
c2
[
1418
],
_mm256_xor_si256
(
c2
[
1178
],
_mm256_xor_si256
(
c2
[
1183
],
_mm256_xor_si256
(
c2
[
884
],
_mm256_xor_si256
(
c2
[
1069
],
_mm256_xor_si256
(
c2
[
650
],
_mm256_xor_si256
(
c2
[
1250
],
_mm256_xor_si256
(
c2
[
355
],
_mm256_xor_si256
(
c2
[
295
],
_mm256_xor_si256
(
c2
[
1675
],
c2
[
1135
]))))))))))))))))))))))))))))))))));
//row: 21
d2
[
63
]
=
_mm256_xor_si256
(
c2
[
961
],
_mm256_xor_si256
(
c2
[
1742
],
_mm256_xor_si256
(
c2
[
1622
],
_mm256_xor_si256
(
c2
[
1741
],
_mm256_xor_si256
(
c2
[
188
],
_mm256_xor_si256
(
c2
[
1208
],
_mm256_xor_si256
(
c2
[
666
],
_mm256_xor_si256
(
c2
[
606
],
_mm256_xor_si256
(
c2
[
493
],
_mm256_xor_si256
(
c2
[
1093
],
_mm256_xor_si256
(
c2
[
1033
],
_mm256_xor_si256
(
c2
[
259
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
1400
],
_mm256_xor_si256
(
c2
[
1104
],
_mm256_xor_si256
(
c2
[
986
],
_mm256_xor_si256
(
c2
[
1226
],
_mm256_xor_si256
(
c2
[
1166
],
_mm256_xor_si256
(
c2
[
1831
],
_mm256_xor_si256
(
c2
[
691
],
_mm256_xor_si256
(
c2
[
631
],
_mm256_xor_si256
(
c2
[
577
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
1838
],
_mm256_xor_si256
(
c2
[
1778
],
_mm256_xor_si256
(
c2
[
1783
],
_mm256_xor_si256
(
c2
[
1544
],
_mm256_xor_si256
(
c2
[
1484
],
_mm256_xor_si256
(
c2
[
1669
],
_mm256_xor_si256
(
c2
[
1250
],
_mm256_xor_si256
(
c2
[
1910
],
_mm256_xor_si256
(
c2
[
1850
],
_mm256_xor_si256
(
c2
[
950
],
_mm256_xor_si256
(
c2
[
895
],
_mm256_xor_si256
(
c2
[
356
],
_mm256_xor_si256
(
c2
[
1795
],
c2
[
1735
]))))))))))))))))))))))))))))))))))));
//row: 22
d2
[
66
]
=
_mm256_xor_si256
(
c2
[
1206
],
c2
[
1213
]);
//row: 23
d2
[
69
]
=
_mm256_xor_si256
(
c2
[
600
],
_mm256_xor_si256
(
c2
[
1340
],
c2
[
1892
]));
//row: 24
d2
[
72
]
=
_mm256_xor_si256
(
c2
[
1328
],
_mm256_xor_si256
(
c2
[
1513
],
c2
[
56
]));
//row: 25
d2
[
75
]
=
_mm256_xor_si256
(
c2
[
781
],
c2
[
1290
]);
//row: 26
d2
[
78
]
=
_mm256_xor_si256
(
c2
[
301
],
_mm256_xor_si256
(
c2
[
241
],
_mm256_xor_si256
(
c2
[
122
],
_mm256_xor_si256
(
c2
[
1082
],
_mm256_xor_si256
(
c2
[
1022
],
_mm256_xor_si256
(
c2
[
900
],
_mm256_xor_si256
(
c2
[
902
],
_mm256_xor_si256
(
c2
[
780
],
_mm256_xor_si256
(
c2
[
1447
],
_mm256_xor_si256
(
c2
[
1387
],
_mm256_xor_si256
(
c2
[
1268
],
_mm256_xor_si256
(
c2
[
488
],
_mm256_xor_si256
(
c2
[
366
],
_mm256_xor_si256
(
c2
[
1808
],
_mm256_xor_si256
(
c2
[
1746
],
_mm256_xor_si256
(
c2
[
1686
],
_mm256_xor_si256
(
c2
[
1752
],
_mm256_xor_si256
(
c2
[
1692
],
_mm256_xor_si256
(
c2
[
1573
],
_mm256_xor_si256
(
c2
[
313
],
_mm256_xor_si256
(
c2
[
254
],
_mm256_xor_si256
(
c2
[
194
],
_mm256_xor_si256
(
c2
[
194
],
_mm256_xor_si256
(
c2
[
1518
],
_mm256_xor_si256
(
c2
[
1458
],
_mm256_xor_si256
(
c2
[
1339
],
_mm256_xor_si256
(
c2
[
1640
],
_mm256_xor_si256
(
c2
[
1580
],
_mm256_xor_si256
(
c2
[
1458
],
_mm256_xor_si256
(
c2
[
680
],
_mm256_xor_si256
(
c2
[
558
],
_mm256_xor_si256
(
c2
[
444
],
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
265
],
_mm256_xor_si256
(
c2
[
266
],
_mm256_xor_si256
(
c2
[
144
],
_mm256_xor_si256
(
c2
[
446
],
_mm256_xor_si256
(
c2
[
384
],
_mm256_xor_si256
(
c2
[
324
],
_mm256_xor_si256
(
c2
[
1171
],
_mm256_xor_si256
(
c2
[
1111
],
_mm256_xor_si256
(
c2
[
992
],
_mm256_xor_si256
(
c2
[
1830
],
_mm256_xor_si256
(
c2
[
1771
],
_mm256_xor_si256
(
c2
[
1711
],
_mm256_xor_si256
(
c2
[
1836
],
_mm256_xor_si256
(
c2
[
1776
],
_mm256_xor_si256
(
c2
[
1657
],
_mm256_xor_si256
(
c2
[
1358
],
_mm256_xor_si256
(
c2
[
1298
],
_mm256_xor_si256
(
c2
[
1176
],
_mm256_xor_si256
(
c2
[
1058
],
_mm256_xor_si256
(
c2
[
996
],
_mm256_xor_si256
(
c2
[
936
],
_mm256_xor_si256
(
c2
[
1123
],
_mm256_xor_si256
(
c2
[
1063
],
_mm256_xor_si256
(
c2
[
944
],
_mm256_xor_si256
(
c2
[
764
],
_mm256_xor_si256
(
c2
[
702
],
_mm256_xor_si256
(
c2
[
642
],
_mm256_xor_si256
(
c2
[
583
],
_mm256_xor_si256
(
c2
[
1009
],
_mm256_xor_si256
(
c2
[
949
],
_mm256_xor_si256
(
c2
[
830
],
_mm256_xor_si256
(
c2
[
530
],
_mm256_xor_si256
(
c2
[
408
],
_mm256_xor_si256
(
c2
[
1130
],
_mm256_xor_si256
(
c2
[
1068
],
_mm256_xor_si256
(
c2
[
1008
],
_mm256_xor_si256
(
c2
[
235
],
_mm256_xor_si256
(
c2
[
175
],
_mm256_xor_si256
(
c2
[
56
],
_mm256_xor_si256
(
c2
[
1615
],
_mm256_xor_si256
(
c2
[
1555
],
_mm256_xor_si256
(
c2
[
1436
],
_mm256_xor_si256
(
c2
[
1015
],
_mm256_xor_si256
(
c2
[
956
],
c2
[
896
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2
[
81
]
=
_mm256_xor_si256
(
c2
[
420
],
c2
[
1117
]);
//row: 28
d2
[
84
]
=
_mm256_xor_si256
(
c2
[
368
],
_mm256_xor_si256
(
c2
[
912
],
c2
[
512
]));
//row: 29
d2
[
87
]
=
_mm256_xor_si256
(
c2
[
840
],
c2
[
1044
]);
//row: 30
d2
[
90
]
=
_mm256_xor_si256
(
c2
[
1452
],
_mm256_xor_si256
(
c2
[
1591
],
_mm256_xor_si256
(
c2
[
1243
],
c2
[
1495
])));
//row: 31
d2
[
93
]
=
_mm256_xor_si256
(
c2
[
1381
],
_mm256_xor_si256
(
c2
[
240
],
_mm256_xor_si256
(
c2
[
120
],
_mm256_xor_si256
(
c2
[
608
],
_mm256_xor_si256
(
c2
[
1628
],
_mm256_xor_si256
(
c2
[
1086
],
_mm256_xor_si256
(
c2
[
1026
],
_mm256_xor_si256
(
c2
[
186
],
_mm256_xor_si256
(
c2
[
913
],
_mm256_xor_si256
(
c2
[
1513
],
_mm256_xor_si256
(
c2
[
1453
],
_mm256_xor_si256
(
c2
[
679
],
_mm256_xor_si256
(
c2
[
798
],
_mm256_xor_si256
(
c2
[
1820
],
_mm256_xor_si256
(
c2
[
1524
],
_mm256_xor_si256
(
c2
[
1406
],
_mm256_xor_si256
(
c2
[
1646
],
_mm256_xor_si256
(
c2
[
1586
],
_mm256_xor_si256
(
c2
[
332
],
_mm256_xor_si256
(
c2
[
1111
],
_mm256_xor_si256
(
c2
[
1051
],
_mm256_xor_si256
(
c2
[
997
],
_mm256_xor_si256
(
c2
[
516
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
276
],
_mm256_xor_si256
(
c2
[
284
],
_mm256_xor_si256
(
c2
[
42
],
_mm256_xor_si256
(
c2
[
1904
],
_mm256_xor_si256
(
c2
[
170
],
_mm256_xor_si256
(
c2
[
1670
],
_mm256_xor_si256
(
c2
[
408
],
_mm256_xor_si256
(
c2
[
348
],
_mm256_xor_si256
(
c2
[
1315
],
_mm256_xor_si256
(
c2
[
776
],
_mm256_xor_si256
(
c2
[
296
],
c2
[
236
])))))))))))))))))))))))))))))))))));
//row: 32
d2
[
96
]
=
_mm256_xor_si256
(
c2
[
1862
],
_mm256_xor_si256
(
c2
[
1802
],
_mm256_xor_si256
(
c2
[
721
],
_mm256_xor_si256
(
c2
[
661
],
_mm256_xor_si256
(
c2
[
541
],
_mm256_xor_si256
(
c2
[
1202
],
_mm256_xor_si256
(
c2
[
1086
],
_mm256_xor_si256
(
c2
[
1026
],
_mm256_xor_si256
(
c2
[
127
],
_mm256_xor_si256
(
c2
[
1447
],
_mm256_xor_si256
(
c2
[
1394
],
_mm256_xor_si256
(
c2
[
1334
],
_mm256_xor_si256
(
c2
[
1874
],
_mm256_xor_si256
(
c2
[
1160
],
_mm256_xor_si256
(
c2
[
1100
],
_mm256_xor_si256
(
c2
[
1279
],
_mm256_xor_si256
(
c2
[
1219
],
_mm256_xor_si256
(
c2
[
319
],
_mm256_xor_si256
(
c2
[
86
],
_mm256_xor_si256
(
c2
[
26
],
_mm256_xor_si256
(
c2
[
1824
],
_mm256_xor_si256
(
c2
[
85
],
_mm256_xor_si256
(
c2
[
810
],
_mm256_xor_si256
(
c2
[
750
],
_mm256_xor_si256
(
c2
[
1472
],
_mm256_xor_si256
(
c2
[
510
],
_mm256_xor_si256
(
c2
[
1478
],
_mm256_xor_si256
(
c2
[
1418
],
_mm256_xor_si256
(
c2
[
997
],
_mm256_xor_si256
(
c2
[
937
],
_mm256_xor_si256
(
c2
[
697
],
_mm256_xor_si256
(
c2
[
762
],
_mm256_xor_si256
(
c2
[
702
],
_mm256_xor_si256
(
c2
[
403
],
_mm256_xor_si256
(
c2
[
648
],
_mm256_xor_si256
(
c2
[
588
],
_mm256_xor_si256
(
c2
[
169
],
_mm256_xor_si256
(
c2
[
769
],
_mm256_xor_si256
(
c2
[
1796
],
_mm256_xor_si256
(
c2
[
1736
],
_mm256_xor_si256
(
c2
[
1254
],
_mm256_xor_si256
(
c2
[
1194
],
c2
[
654
]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2
[
99
]
=
_mm256_xor_si256
(
c2
[
540
],
_mm256_xor_si256
(
c2
[
1321
],
_mm256_xor_si256
(
c2
[
1201
],
_mm256_xor_si256
(
c2
[
1686
],
_mm256_xor_si256
(
c2
[
787
],
_mm256_xor_si256
(
c2
[
188
],
_mm256_xor_si256
(
c2
[
72
],
_mm256_xor_si256
(
c2
[
612
],
_mm256_xor_si256
(
c2
[
314
],
_mm256_xor_si256
(
c2
[
1760
],
_mm256_xor_si256
(
c2
[
1879
],
_mm256_xor_si256
(
c2
[
979
],
_mm256_xor_si256
(
c2
[
686
],
_mm256_xor_si256
(
c2
[
565
],
_mm256_xor_si256
(
c2
[
745
],
_mm256_xor_si256
(
c2
[
1410
],
_mm256_xor_si256
(
c2
[
210
],
_mm256_xor_si256
(
c2
[
156
],
_mm256_xor_si256
(
c2
[
1597
],
_mm256_xor_si256
(
c2
[
1357
],
_mm256_xor_si256
(
c2
[
1362
],
_mm256_xor_si256
(
c2
[
1063
],
_mm256_xor_si256
(
c2
[
1184
],
_mm256_xor_si256
(
c2
[
1248
],
_mm256_xor_si256
(
c2
[
829
],
_mm256_xor_si256
(
c2
[
1429
],
_mm256_xor_si256
(
c2
[
474
],
_mm256_xor_si256
(
c2
[
1854
],
c2
[
1314
]))))))))))))))))))))))))))));
//row: 34
d2
[
102
]
=
_mm256_xor_si256
(
c2
[
1861
],
_mm256_xor_si256
(
c2
[
1801
],
_mm256_xor_si256
(
c2
[
1502
],
_mm256_xor_si256
(
c2
[
720
],
_mm256_xor_si256
(
c2
[
660
],
_mm256_xor_si256
(
c2
[
361
],
_mm256_xor_si256
(
c2
[
540
],
_mm256_xor_si256
(
c2
[
241
],
_mm256_xor_si256
(
c2
[
782
],
_mm256_xor_si256
(
c2
[
1088
],
_mm256_xor_si256
(
c2
[
1028
],
_mm256_xor_si256
(
c2
[
726
],
_mm256_xor_si256
(
c2
[
126
],
_mm256_xor_si256
(
c2
[
1746
],
_mm256_xor_si256
(
c2
[
1446
],
_mm256_xor_si256
(
c2
[
1207
],
_mm256_xor_si256
(
c2
[
1147
],
_mm256_xor_si256
(
c2
[
1393
],
_mm256_xor_si256
(
c2
[
1333
],
_mm256_xor_si256
(
c2
[
1034
],
_mm256_xor_si256
(
c2
[
1873
],
_mm256_xor_si256
(
c2
[
1634
],
_mm256_xor_si256
(
c2
[
1574
],
_mm256_xor_si256
(
c2
[
1159
],
_mm256_xor_si256
(
c2
[
1099
],
_mm256_xor_si256
(
c2
[
800
],
_mm256_xor_si256
(
c2
[
1278
],
_mm256_xor_si256
(
c2
[
1218
],
_mm256_xor_si256
(
c2
[
919
],
_mm256_xor_si256
(
c2
[
318
],
_mm256_xor_si256
(
c2
[
19
],
_mm256_xor_si256
(
c2
[
85
],
_mm256_xor_si256
(
c2
[
25
],
_mm256_xor_si256
(
c2
[
1645
],
_mm256_xor_si256
(
c2
[
1826
],
_mm256_xor_si256
(
c2
[
1524
],
_mm256_xor_si256
(
c2
[
84
],
_mm256_xor_si256
(
c2
[
1764
],
_mm256_xor_si256
(
c2
[
1704
],
_mm256_xor_si256
(
c2
[
812
],
_mm256_xor_si256
(
c2
[
752
],
_mm256_xor_si256
(
c2
[
450
],
_mm256_xor_si256
(
c2
[
1471
],
_mm256_xor_si256
(
c2
[
1232
],
_mm256_xor_si256
(
c2
[
1172
],
_mm256_xor_si256
(
c2
[
1477
],
_mm256_xor_si256
(
c2
[
1417
],
_mm256_xor_si256
(
c2
[
1118
],
_mm256_xor_si256
(
c2
[
996
],
_mm256_xor_si256
(
c2
[
936
],
_mm256_xor_si256
(
c2
[
637
],
_mm256_xor_si256
(
c2
[
696
],
_mm256_xor_si256
(
c2
[
457
],
_mm256_xor_si256
(
c2
[
397
],
_mm256_xor_si256
(
c2
[
764
],
_mm256_xor_si256
(
c2
[
704
],
_mm256_xor_si256
(
c2
[
402
],
_mm256_xor_si256
(
c2
[
402
],
_mm256_xor_si256
(
c2
[
163
],
_mm256_xor_si256
(
c2
[
103
],
_mm256_xor_si256
(
c2
[
650
],
_mm256_xor_si256
(
c2
[
590
],
_mm256_xor_si256
(
c2
[
288
],
_mm256_xor_si256
(
c2
[
168
],
_mm256_xor_si256
(
c2
[
1788
],
_mm256_xor_si256
(
c2
[
768
],
_mm256_xor_si256
(
c2
[
529
],
_mm256_xor_si256
(
c2
[
469
],
_mm256_xor_si256
(
c2
[
1795
],
_mm256_xor_si256
(
c2
[
1735
],
_mm256_xor_si256
(
c2
[
1436
],
_mm256_xor_si256
(
c2
[
1256
],
_mm256_xor_si256
(
c2
[
1196
],
_mm256_xor_si256
(
c2
[
894
],
_mm256_xor_si256
(
c2
[
656
],
_mm256_xor_si256
(
c2
[
414
],
c2
[
354
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2
[
105
]
=
_mm256_xor_si256
(
c2
[
0
],
_mm256_xor_si256
(
c2
[
1862
],
_mm256_xor_si256
(
c2
[
721
],
_mm256_xor_si256
(
c2
[
601
],
_mm256_xor_si256
(
c2
[
1146
],
_mm256_xor_si256
(
c2
[
1086
],
_mm256_xor_si256
(
c2
[
187
],
_mm256_xor_si256
(
c2
[
1507
],
_mm256_xor_si256
(
c2
[
788
],
_mm256_xor_si256
(
c2
[
1454
],
_mm256_xor_si256
(
c2
[
1394
],
_mm256_xor_si256
(
c2
[
12
],
_mm256_xor_si256
(
c2
[
1220
],
_mm256_xor_si256
(
c2
[
1160
],
_mm256_xor_si256
(
c2
[
1279
],
_mm256_xor_si256
(
c2
[
379
],
_mm256_xor_si256
(
c2
[
86
],
_mm256_xor_si256
(
c2
[
1884
],
_mm256_xor_si256
(
c2
[
145
],
_mm256_xor_si256
(
c2
[
810
],
_mm256_xor_si256
(
c2
[
1532
],
_mm256_xor_si256
(
c2
[
1472
],
_mm256_xor_si256
(
c2
[
1538
],
_mm256_xor_si256
(
c2
[
1478
],
_mm256_xor_si256
(
c2
[
997
],
_mm256_xor_si256
(
c2
[
757
],
_mm256_xor_si256
(
c2
[
762
],
_mm256_xor_si256
(
c2
[
463
],
_mm256_xor_si256
(
c2
[
648
],
_mm256_xor_si256
(
c2
[
229
],
_mm256_xor_si256
(
c2
[
829
],
_mm256_xor_si256
(
c2
[
1856
],
_mm256_xor_si256
(
c2
[
1796
],
_mm256_xor_si256
(
c2
[
1254
],
c2
[
714
]))))))))))))))))))))))))))))))))));
//row: 36
d2
[
108
]
=
_mm256_xor_si256
(
c2
[
1500
],
_mm256_xor_si256
(
c2
[
1393
],
c2
[
644
]));
//row: 37
d2
[
111
]
=
_mm256_xor_si256
(
c2
[
1080
],
_mm256_xor_si256
(
c2
[
720
],
_mm256_xor_si256
(
c2
[
1861
],
_mm256_xor_si256
(
c2
[
1501
],
_mm256_xor_si256
(
c2
[
1741
],
_mm256_xor_si256
(
c2
[
1381
],
_mm256_xor_si256
(
c2
[
307
],
_mm256_xor_si256
(
c2
[
1866
],
_mm256_xor_si256
(
c2
[
1327
],
_mm256_xor_si256
(
c2
[
967
],
_mm256_xor_si256
(
c2
[
728
],
_mm256_xor_si256
(
c2
[
428
],
_mm256_xor_si256
(
c2
[
368
],
_mm256_xor_si256
(
c2
[
612
],
_mm256_xor_si256
(
c2
[
252
],
_mm256_xor_si256
(
c2
[
1152
],
_mm256_xor_si256
(
c2
[
852
],
_mm256_xor_si256
(
c2
[
792
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
18
],
_mm256_xor_si256
(
c2
[
500
],
_mm256_xor_si256
(
c2
[
140
],
_mm256_xor_si256
(
c2
[
1519
],
_mm256_xor_si256
(
c2
[
1159
],
_mm256_xor_si256
(
c2
[
1226
],
_mm256_xor_si256
(
c2
[
866
],
_mm256_xor_si256
(
c2
[
1105
],
_mm256_xor_si256
(
c2
[
745
],
_mm256_xor_si256
(
c2
[
1285
],
_mm256_xor_si256
(
c2
[
985
],
_mm256_xor_si256
(
c2
[
925
],
_mm256_xor_si256
(
c2
[
31
],
_mm256_xor_si256
(
c2
[
1590
],
_mm256_xor_si256
(
c2
[
750
],
_mm256_xor_si256
(
c2
[
450
],
_mm256_xor_si256
(
c2
[
390
],
_mm256_xor_si256
(
c2
[
696
],
_mm256_xor_si256
(
c2
[
336
],
_mm256_xor_si256
(
c2
[
218
],
_mm256_xor_si256
(
c2
[
1777
],
_mm256_xor_si256
(
c2
[
1897
],
_mm256_xor_si256
(
c2
[
1597
],
_mm256_xor_si256
(
c2
[
1537
],
_mm256_xor_si256
(
c2
[
1902
],
_mm256_xor_si256
(
c2
[
1542
],
_mm256_xor_si256
(
c2
[
1603
],
_mm256_xor_si256
(
c2
[
1303
],
_mm256_xor_si256
(
c2
[
1243
],
_mm256_xor_si256
(
c2
[
1788
],
_mm256_xor_si256
(
c2
[
1428
],
_mm256_xor_si256
(
c2
[
1369
],
_mm256_xor_si256
(
c2
[
1009
],
_mm256_xor_si256
(
c2
[
50
],
_mm256_xor_si256
(
c2
[
1669
],
_mm256_xor_si256
(
c2
[
1609
],
_mm256_xor_si256
(
c2
[
1014
],
_mm256_xor_si256
(
c2
[
654
],
_mm256_xor_si256
(
c2
[
475
],
_mm256_xor_si256
(
c2
[
115
],
_mm256_xor_si256
(
c2
[
1854
],
_mm256_xor_si256
(
c2
[
1554
],
c2
[
1494
])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2
[
114
]
=
_mm256_xor_si256
(
c2
[
722
],
_mm256_xor_si256
(
c2
[
662
],
_mm256_xor_si256
(
c2
[
1440
],
_mm256_xor_si256
(
c2
[
1320
],
_mm256_xor_si256
(
c2
[
1868
],
_mm256_xor_si256
(
c2
[
1808
],
_mm256_xor_si256
(
c2
[
906
],
_mm256_xor_si256
(
c2
[
307
],
_mm256_xor_si256
(
c2
[
1208
],
_mm256_xor_si256
(
c2
[
254
],
_mm256_xor_si256
(
c2
[
194
],
_mm256_xor_si256
(
c2
[
734
],
_mm256_xor_si256
(
c2
[
20
],
_mm256_xor_si256
(
c2
[
1879
],
_mm256_xor_si256
(
c2
[
79
],
_mm256_xor_si256
(
c2
[
1098
],
_mm256_xor_si256
(
c2
[
805
],
_mm256_xor_si256
(
c2
[
684
],
_mm256_xor_si256
(
c2
[
864
],
_mm256_xor_si256
(
c2
[
1532
],
_mm256_xor_si256
(
c2
[
332
],
_mm256_xor_si256
(
c2
[
1411
],
_mm256_xor_si256
(
c2
[
338
],
_mm256_xor_si256
(
c2
[
278
],
_mm256_xor_si256
(
c2
[
1716
],
_mm256_xor_si256
(
c2
[
1476
],
_mm256_xor_si256
(
c2
[
1484
],
_mm256_xor_si256
(
c2
[
1182
],
_mm256_xor_si256
(
c2
[
1370
],
_mm256_xor_si256
(
c2
[
948
],
_mm256_xor_si256
(
c2
[
1548
],
_mm256_xor_si256
(
c2
[
656
],
_mm256_xor_si256
(
c2
[
596
],
_mm256_xor_si256
(
c2
[
54
],
c2
[
1436
]))))))))))))))))))))))))))))))))));
//row: 39
d2
[
117
]
=
_mm256_xor_si256
(
c2
[
421
],
_mm256_xor_si256
(
c2
[
361
],
_mm256_xor_si256
(
c2
[
1202
],
_mm256_xor_si256
(
c2
[
1142
],
_mm256_xor_si256
(
c2
[
1022
],
_mm256_xor_si256
(
c2
[
1742
],
_mm256_xor_si256
(
c2
[
1567
],
_mm256_xor_si256
(
c2
[
1507
],
_mm256_xor_si256
(
c2
[
608
],
_mm256_xor_si256
(
c2
[
6
],
_mm256_xor_si256
(
c2
[
1872
],
_mm256_xor_si256
(
c2
[
1812
],
_mm256_xor_si256
(
c2
[
433
],
_mm256_xor_si256
(
c2
[
1638
],
_mm256_xor_si256
(
c2
[
1578
],
_mm256_xor_si256
(
c2
[
1760
],
_mm256_xor_si256
(
c2
[
1700
],
_mm256_xor_si256
(
c2
[
800
],
_mm256_xor_si256
(
c2
[
564
],
_mm256_xor_si256
(
c2
[
504
],
_mm256_xor_si256
(
c2
[
386
],
_mm256_xor_si256
(
c2
[
566
],
_mm256_xor_si256
(
c2
[
1291
],
_mm256_xor_si256
(
c2
[
1231
],
_mm256_xor_si256
(
c2
[
31
],
_mm256_xor_si256
(
c2
[
37
],
_mm256_xor_si256
(
c2
[
1896
],
_mm256_xor_si256
(
c2
[
1478
],
_mm256_xor_si256
(
c2
[
1418
],
_mm256_xor_si256
(
c2
[
1178
],
_mm256_xor_si256
(
c2
[
1243
],
_mm256_xor_si256
(
c2
[
1183
],
_mm256_xor_si256
(
c2
[
884
],
_mm256_xor_si256
(
c2
[
283
],
_mm256_xor_si256
(
c2
[
1129
],
_mm256_xor_si256
(
c2
[
1069
],
_mm256_xor_si256
(
c2
[
650
],
_mm256_xor_si256
(
c2
[
1250
],
_mm256_xor_si256
(
c2
[
355
],
_mm256_xor_si256
(
c2
[
295
],
_mm256_xor_si256
(
c2
[
1735
],
_mm256_xor_si256
(
c2
[
1675
],
c2
[
1135
]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2
[
120
]
=
_mm256_xor_si256
(
c2
[
1442
],
_mm256_xor_si256
(
c2
[
961
],
_mm256_xor_si256
(
c2
[
301
],
_mm256_xor_si256
(
c2
[
1742
],
_mm256_xor_si256
(
c2
[
181
],
_mm256_xor_si256
(
c2
[
1622
],
_mm256_xor_si256
(
c2
[
666
],
_mm256_xor_si256
(
c2
[
188
],
_mm256_xor_si256
(
c2
[
1686
],
_mm256_xor_si256
(
c2
[
1208
],
_mm256_xor_si256
(
c2
[
1087
],
_mm256_xor_si256
(
c2
[
666
],
_mm256_xor_si256
(
c2
[
606
],
_mm256_xor_si256
(
c2
[
974
],
_mm256_xor_si256
(
c2
[
493
],
_mm256_xor_si256
(
c2
[
1514
],
_mm256_xor_si256
(
c2
[
1093
],
_mm256_xor_si256
(
c2
[
1033
],
_mm256_xor_si256
(
c2
[
432
],
_mm256_xor_si256
(
c2
[
740
],
_mm256_xor_si256
(
c2
[
259
],
_mm256_xor_si256
(
c2
[
859
],
_mm256_xor_si256
(
c2
[
378
],
_mm256_xor_si256
(
c2
[
1878
],
_mm256_xor_si256
(
c2
[
1400
],
_mm256_xor_si256
(
c2
[
1585
],
_mm256_xor_si256
(
c2
[
1104
],
_mm256_xor_si256
(
c2
[
1464
],
_mm256_xor_si256
(
c2
[
986
],
_mm256_xor_si256
(
c2
[
1644
],
_mm256_xor_si256
(
c2
[
1226
],
_mm256_xor_si256
(
c2
[
1166
],
_mm256_xor_si256
(
c2
[
390
],
_mm256_xor_si256
(
c2
[
1831
],
_mm256_xor_si256
(
c2
[
1112
],
_mm256_xor_si256
(
c2
[
691
],
_mm256_xor_si256
(
c2
[
631
],
_mm256_xor_si256
(
c2
[
1058
],
_mm256_xor_si256
(
c2
[
577
],
_mm256_xor_si256
(
c2
[
577
],
_mm256_xor_si256
(
c2
[
96
],
_mm256_xor_si256
(
c2
[
337
],
_mm256_xor_si256
(
c2
[
1838
],
_mm256_xor_si256
(
c2
[
1778
],
_mm256_xor_si256
(
c2
[
342
],
_mm256_xor_si256
(
c2
[
1783
],
_mm256_xor_si256
(
c2
[
43
],
_mm256_xor_si256
(
c2
[
1544
],
_mm256_xor_si256
(
c2
[
1484
],
_mm256_xor_si256
(
c2
[
228
],
_mm256_xor_si256
(
c2
[
1669
],
_mm256_xor_si256
(
c2
[
1728
],
_mm256_xor_si256
(
c2
[
1250
],
_mm256_xor_si256
(
c2
[
409
],
_mm256_xor_si256
(
c2
[
1910
],
_mm256_xor_si256
(
c2
[
1850
],
_mm256_xor_si256
(
c2
[
1376
],
_mm256_xor_si256
(
c2
[
895
],
_mm256_xor_si256
(
c2
[
834
],
_mm256_xor_si256
(
c2
[
356
],
_mm256_xor_si256
(
c2
[
294
],
_mm256_xor_si256
(
c2
[
1795
],
c2
[
1735
]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2
[
123
]
=
_mm256_xor_si256
(
c2
[
601
],
_mm256_xor_si256
(
c2
[
541
],
_mm256_xor_si256
(
c2
[
1322
],
_mm256_xor_si256
(
c2
[
1202
],
_mm256_xor_si256
(
c2
[
1747
],
_mm256_xor_si256
(
c2
[
1687
],
_mm256_xor_si256
(
c2
[
788
],
_mm256_xor_si256
(
c2
[
186
],
_mm256_xor_si256
(
c2
[
1147
],
_mm256_xor_si256
(
c2
[
133
],
_mm256_xor_si256
(
c2
[
73
],
_mm256_xor_si256
(
c2
[
613
],
_mm256_xor_si256
(
c2
[
1818
],
_mm256_xor_si256
(
c2
[
1758
],
_mm256_xor_si256
(
c2
[
1880
],
_mm256_xor_si256
(
c2
[
980
],
_mm256_xor_si256
(
c2
[
684
],
_mm256_xor_si256
(
c2
[
566
],
_mm256_xor_si256
(
c2
[
746
],
_mm256_xor_si256
(
c2
[
1411
],
_mm256_xor_si256
(
c2
[
211
],
_mm256_xor_si256
(
c2
[
450
],
_mm256_xor_si256
(
c2
[
217
],
_mm256_xor_si256
(
c2
[
157
],
_mm256_xor_si256
(
c2
[
1598
],
_mm256_xor_si256
(
c2
[
1358
],
_mm256_xor_si256
(
c2
[
1363
],
_mm256_xor_si256
(
c2
[
1064
],
_mm256_xor_si256
(
c2
[
1249
],
_mm256_xor_si256
(
c2
[
830
],
_mm256_xor_si256
(
c2
[
1430
],
_mm256_xor_si256
(
c2
[
535
],
_mm256_xor_si256
(
c2
[
475
],
_mm256_xor_si256
(
c2
[
1855
],
c2
[
1315
]))))))))))))))))))))))))))))))))));
}
}
openair1/PHY/CODING/ldpc_encoder2.c
View file @
73c4672c
...
...
@@ -5,6 +5,7 @@
#include <types.h>
#include "assertions.h"
#include "PHY/TOOLS/time_meas.h"
#include "defs.h"
#include "ldpc384_byte.c"
#include "ldpc352_byte.c"
...
...
@@ -15,12 +16,32 @@
#include "ldpc224_byte.c"
#include "ldpc208_byte.c"
#include "ldpc192_byte.c"
#include "ldpc176_byte.c"
#include "ldpc_BG2_Zc384_byte.c"
#include "ldpc_BG2_Zc352_byte.c"
#include "ldpc_BG2_Zc320_byte.c"
#include "ldpc_BG2_Zc288_byte.c"
#include "ldpc_BG2_Zc256_byte.c"
#include "ldpc_BG2_Zc240_byte.c"
#include "ldpc_BG2_Zc224_byte.c"
#include "ldpc_BG2_Zc208_byte.c"
#include "ldpc_BG2_Zc192_byte.c"
#include "ldpc_BG2_Zc176_byte.c"
#include "ldpc_BG2_Zc160_byte.c"
#include "ldpc_BG2_Zc144_byte.c"
#include "ldpc_BG2_Zc128_byte.c"
#include "ldpc_BG2_Zc120_byte.c"
#include "ldpc_BG2_Zc112_byte.c"
#include "ldpc_BG2_Zc104_byte.c"
#include "ldpc_BG2_Zc96_byte.c"
#include "ldpc_BG2_Zc88_byte.c"
#include "ldpc_BG2_Zc80_byte.c"
#include "ldpc_BG2_Zc72_byte.c"
void
encode_parity_check_part_optim
(
unsigned
char
*
c
,
unsigned
char
*
d
,
short
BG
,
short
Zc
,
short
Kb
)
{
AssertFatal
(
BG
==
1
,
"BG %d is not supported yet
\n
"
,
BG
);
void
encode_parity_check_part_optim
(
uint8_t
*
c
,
uint8_t
*
d
,
short
BG
,
short
Zc
,
short
Kb
)
{
if
(
BG
==
1
)
{
...
...
@@ -67,7 +88,7 @@ void encode_parity_check_part_optim(unsigned char *c,unsigned char *d, short BG,
case
128
:
break
;
case
144
:
break
;
case
160
:
break
;
//
case 176: ldpc176_byte(c,d); break;
case
176
:
ldpc176_byte
(
c
,
d
);
break
;
case
192
:
ldpc192_byte
(
c
,
d
);
break
;
case
208
:
ldpc208_byte
(
c
,
d
);
break
;
case
224
:
ldpc224_byte
(
c
,
d
);
break
;
...
...
@@ -77,8 +98,69 @@ void encode_parity_check_part_optim(unsigned char *c,unsigned char *d, short BG,
case
320
:
ldpc320_byte
(
c
,
d
);
break
;
case
352
:
ldpc352_byte
(
c
,
d
);
break
;
case
384
:
ldpc384_byte
(
c
,
d
);
break
;
default:
AssertFatal
(
0
,
"BG %d Zc %d is not supported yet
\n
"
,
BG
,
Zc
);
break
;
}
}
else
if
(
BG
==
2
)
{
switch
(
Zc
)
{
case
2
:
break
;
case
3
:
break
;
case
4
:
break
;
case
5
:
break
;
case
6
:
break
;
case
7
:
break
;
case
8
:
break
;
case
9
:
break
;
case
10
:
break
;
case
11
:
break
;
case
12
:
break
;
case
13
:
break
;
case
14
:
break
;
case
15
:
break
;
case
16
:
break
;
case
18
:
break
;
case
20
:
break
;
case
22
:
break
;
case
24
:
break
;
case
26
:
break
;
case
28
:
break
;
case
30
:
break
;
case
32
:
break
;
case
36
:
break
;
case
40
:
break
;
case
44
:
break
;
case
48
:
break
;
case
52
:
break
;
case
56
:
break
;
case
60
:
break
;
case
64
:
break
;
case
72
:
ldpc_BG2_Zc72_byte
(
c
,
d
);
break
;
case
80
:
ldpc_BG2_Zc80_byte
(
c
,
d
);
break
;
case
88
:
ldpc_BG2_Zc88_byte
(
c
,
d
);
break
;
case
96
:
ldpc_BG2_Zc96_byte
(
c
,
d
);
break
;
case
104
:
ldpc_BG2_Zc104_byte
(
c
,
d
);
break
;
case
112
:
ldpc_BG2_Zc112_byte
(
c
,
d
);
break
;
case
120
:
ldpc_BG2_Zc120_byte
(
c
,
d
);
break
;
case
128
:
ldpc_BG2_Zc128_byte
(
c
,
d
);
break
;
case
144
:
ldpc_BG2_Zc144_byte
(
c
,
d
);
break
;
case
160
:
ldpc_BG2_Zc160_byte
(
c
,
d
);
break
;
case
176
:
ldpc_BG2_Zc176_byte
(
c
,
d
);
break
;
case
192
:
ldpc_BG2_Zc192_byte
(
c
,
d
);
break
;
case
208
:
ldpc_BG2_Zc208_byte
(
c
,
d
);
break
;
case
224
:
ldpc_BG2_Zc224_byte
(
c
,
d
);
break
;
case
240
:
ldpc_BG2_Zc240_byte
(
c
,
d
);
break
;
case
256
:
ldpc_BG2_Zc256_byte
(
c
,
d
);
break
;
case
288
:
ldpc_BG2_Zc288_byte
(
c
,
d
);
break
;
case
320
:
ldpc_BG2_Zc320_byte
(
c
,
d
);
break
;
case
352
:
ldpc_BG2_Zc352_byte
(
c
,
d
);
break
;
case
384
:
ldpc_BG2_Zc384_byte
(
c
,
d
);
break
;
default:
AssertFatal
(
0
,
"BG %d Zc %d is not supported yet
\n
"
,
BG
,
Zc
);
break
;
}
}
else
{
AssertFatal
(
0
,
"BG %d is not supported yet
\n
"
,
BG
);
}
}
...
...
@@ -155,7 +237,7 @@ int ldpc_encoder_optim(unsigned char *test_input,unsigned char *channel_input,sh
}
stop_meas
(
tinput
);
if
(
BG
==
1
)
{
if
(
(
BG
==
1
)
||
(
BG
==
2
&&
Zc
>
64
)
)
{
// extend matrix
start_meas
(
tprep
);
for
(
i1
=
0
;
i1
<
ncols
;
i1
++
)
...
...
@@ -178,17 +260,12 @@ int ldpc_encoder_optim(unsigned char *test_input,unsigned char *channel_input,sh
encode_parity_check_part_optim
(
c_extension
,
d
,
BG
,
Zc
,
Kb
);
stop_meas
(
tparity
);
}
else
if
(
BG
==
2
)
{
else
{
if
(
encode_parity_check_part_orig
(
c
,
d
,
BG
,
Zc
,
Kb
,
block_length
)
!=
0
)
{
printf
(
"Problem with encoder
\n
"
);
return
(
-
1
);
}
}
else
{
printf
(
"Problem with encoder
\n
"
);
return
(
-
1
);
}
start_meas
(
toutput
);
// information part and puncture columns
memcpy
(
&
channel_input
[
0
],
&
c
[
2
*
Zc
],
(
block_length
-
2
*
Zc
)
*
sizeof
(
unsigned
char
));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment