minimap2 0.2.25.1 → 0.2.25.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/ext/Rakefile +2 -2
  3. data/lib/minimap2/version.rb +1 -1
  4. metadata +1 -97
  5. data/ext/minimap2/lib/simde/CONTRIBUTING.md +0 -114
  6. data/ext/minimap2/lib/simde/COPYING +0 -20
  7. data/ext/minimap2/lib/simde/README.md +0 -333
  8. data/ext/minimap2/lib/simde/amalgamate.py +0 -58
  9. data/ext/minimap2/lib/simde/meson.build +0 -33
  10. data/ext/minimap2/lib/simde/netlify.toml +0 -20
  11. data/ext/minimap2/lib/simde/simde/arm/neon/float32x2.h +0 -140
  12. data/ext/minimap2/lib/simde/simde/arm/neon/float32x4.h +0 -137
  13. data/ext/minimap2/lib/simde/simde/arm/neon/float64x1.h +0 -142
  14. data/ext/minimap2/lib/simde/simde/arm/neon/float64x2.h +0 -145
  15. data/ext/minimap2/lib/simde/simde/arm/neon/int16x4.h +0 -140
  16. data/ext/minimap2/lib/simde/simde/arm/neon/int16x8.h +0 -145
  17. data/ext/minimap2/lib/simde/simde/arm/neon/int32x2.h +0 -140
  18. data/ext/minimap2/lib/simde/simde/arm/neon/int32x4.h +0 -143
  19. data/ext/minimap2/lib/simde/simde/arm/neon/int64x1.h +0 -137
  20. data/ext/minimap2/lib/simde/simde/arm/neon/int64x2.h +0 -141
  21. data/ext/minimap2/lib/simde/simde/arm/neon/int8x16.h +0 -147
  22. data/ext/minimap2/lib/simde/simde/arm/neon/int8x8.h +0 -141
  23. data/ext/minimap2/lib/simde/simde/arm/neon/uint16x4.h +0 -134
  24. data/ext/minimap2/lib/simde/simde/arm/neon/uint16x8.h +0 -138
  25. data/ext/minimap2/lib/simde/simde/arm/neon/uint32x2.h +0 -134
  26. data/ext/minimap2/lib/simde/simde/arm/neon/uint32x4.h +0 -137
  27. data/ext/minimap2/lib/simde/simde/arm/neon/uint64x1.h +0 -131
  28. data/ext/minimap2/lib/simde/simde/arm/neon/uint64x2.h +0 -135
  29. data/ext/minimap2/lib/simde/simde/arm/neon/uint8x16.h +0 -141
  30. data/ext/minimap2/lib/simde/simde/arm/neon/uint8x8.h +0 -135
  31. data/ext/minimap2/lib/simde/simde/arm/neon.h +0 -97
  32. data/ext/minimap2/lib/simde/simde/check.h +0 -267
  33. data/ext/minimap2/lib/simde/simde/debug-trap.h +0 -83
  34. data/ext/minimap2/lib/simde/simde/hedley.h +0 -1899
  35. data/ext/minimap2/lib/simde/simde/simde-arch.h +0 -445
  36. data/ext/minimap2/lib/simde/simde/simde-common.h +0 -697
  37. data/ext/minimap2/lib/simde/simde/x86/avx.h +0 -5385
  38. data/ext/minimap2/lib/simde/simde/x86/avx2.h +0 -2402
  39. data/ext/minimap2/lib/simde/simde/x86/avx512bw.h +0 -391
  40. data/ext/minimap2/lib/simde/simde/x86/avx512f.h +0 -3389
  41. data/ext/minimap2/lib/simde/simde/x86/avx512vl.h +0 -112
  42. data/ext/minimap2/lib/simde/simde/x86/fma.h +0 -659
  43. data/ext/minimap2/lib/simde/simde/x86/mmx.h +0 -2210
  44. data/ext/minimap2/lib/simde/simde/x86/sse.h +0 -3696
  45. data/ext/minimap2/lib/simde/simde/x86/sse2.h +0 -5991
  46. data/ext/minimap2/lib/simde/simde/x86/sse3.h +0 -343
  47. data/ext/minimap2/lib/simde/simde/x86/sse4.1.h +0 -1783
  48. data/ext/minimap2/lib/simde/simde/x86/sse4.2.h +0 -105
  49. data/ext/minimap2/lib/simde/simde/x86/ssse3.h +0 -1053
  50. data/ext/minimap2/lib/simde/simde/x86/svml.h +0 -543
  51. data/ext/minimap2/lib/simde/test/CMakeLists.txt +0 -166
  52. data/ext/minimap2/lib/simde/test/arm/meson.build +0 -4
  53. data/ext/minimap2/lib/simde/test/arm/neon/meson.build +0 -23
  54. data/ext/minimap2/lib/simde/test/arm/neon/skel.c +0 -871
  55. data/ext/minimap2/lib/simde/test/arm/neon/test-neon-internal.h +0 -134
  56. data/ext/minimap2/lib/simde/test/arm/neon/test-neon.c +0 -39
  57. data/ext/minimap2/lib/simde/test/arm/neon/test-neon.h +0 -10
  58. data/ext/minimap2/lib/simde/test/arm/neon/vadd.c +0 -1260
  59. data/ext/minimap2/lib/simde/test/arm/neon/vdup_n.c +0 -873
  60. data/ext/minimap2/lib/simde/test/arm/neon/vmul.c +0 -1084
  61. data/ext/minimap2/lib/simde/test/arm/neon/vsub.c +0 -1260
  62. data/ext/minimap2/lib/simde/test/arm/test-arm-internal.h +0 -18
  63. data/ext/minimap2/lib/simde/test/arm/test-arm.c +0 -20
  64. data/ext/minimap2/lib/simde/test/arm/test-arm.h +0 -8
  65. data/ext/minimap2/lib/simde/test/cmake/AddCompilerFlags.cmake +0 -171
  66. data/ext/minimap2/lib/simde/test/cmake/ExtraWarningFlags.cmake +0 -68
  67. data/ext/minimap2/lib/simde/test/meson.build +0 -64
  68. data/ext/minimap2/lib/simde/test/munit/COPYING +0 -21
  69. data/ext/minimap2/lib/simde/test/munit/Makefile +0 -55
  70. data/ext/minimap2/lib/simde/test/munit/README.md +0 -54
  71. data/ext/minimap2/lib/simde/test/munit/example.c +0 -351
  72. data/ext/minimap2/lib/simde/test/munit/meson.build +0 -37
  73. data/ext/minimap2/lib/simde/test/munit/munit.c +0 -2055
  74. data/ext/minimap2/lib/simde/test/munit/munit.h +0 -535
  75. data/ext/minimap2/lib/simde/test/run-tests.c +0 -20
  76. data/ext/minimap2/lib/simde/test/run-tests.h +0 -260
  77. data/ext/minimap2/lib/simde/test/x86/avx.c +0 -13752
  78. data/ext/minimap2/lib/simde/test/x86/avx2.c +0 -9977
  79. data/ext/minimap2/lib/simde/test/x86/avx512bw.c +0 -2664
  80. data/ext/minimap2/lib/simde/test/x86/avx512f.c +0 -10416
  81. data/ext/minimap2/lib/simde/test/x86/avx512vl.c +0 -210
  82. data/ext/minimap2/lib/simde/test/x86/fma.c +0 -2557
  83. data/ext/minimap2/lib/simde/test/x86/meson.build +0 -33
  84. data/ext/minimap2/lib/simde/test/x86/mmx.c +0 -2878
  85. data/ext/minimap2/lib/simde/test/x86/skel.c +0 -2984
  86. data/ext/minimap2/lib/simde/test/x86/sse.c +0 -5121
  87. data/ext/minimap2/lib/simde/test/x86/sse2.c +0 -9860
  88. data/ext/minimap2/lib/simde/test/x86/sse3.c +0 -486
  89. data/ext/minimap2/lib/simde/test/x86/sse4.1.c +0 -3446
  90. data/ext/minimap2/lib/simde/test/x86/sse4.2.c +0 -101
  91. data/ext/minimap2/lib/simde/test/x86/ssse3.c +0 -2084
  92. data/ext/minimap2/lib/simde/test/x86/svml.c +0 -1545
  93. data/ext/minimap2/lib/simde/test/x86/test-avx.h +0 -16
  94. data/ext/minimap2/lib/simde/test/x86/test-avx512.h +0 -25
  95. data/ext/minimap2/lib/simde/test/x86/test-mmx.h +0 -13
  96. data/ext/minimap2/lib/simde/test/x86/test-sse.h +0 -13
  97. data/ext/minimap2/lib/simde/test/x86/test-sse2.h +0 -13
  98. data/ext/minimap2/lib/simde/test/x86/test-x86-internal.h +0 -196
  99. data/ext/minimap2/lib/simde/test/x86/test-x86.c +0 -48
  100. data/ext/minimap2/lib/simde/test/x86/test-x86.h +0 -8
@@ -1,2664 +0,0 @@
1
- /* Copyright (c) 2018, 2019 Evan Nemerson <evan@nemerson.com>
2
- *
3
- * Permission is hereby granted, free of charge, to any person
4
- * obtaining a copy of this software and associated documentation
5
- * files (the "Software"), to deal in the Software without
6
- * restriction, including without limitation the rights to use, copy,
7
- * modify, merge, publish, distribute, sublicense, and/or sell copies
8
- * of the Software, and to permit persons to whom the Software is
9
- * furnished to do so, subject to the following conditions:
10
- *
11
- * The above copyright notice and this permission notice shall be
12
- * included in all copies or substantial portions of the Software.
13
- *
14
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
22
- */
23
-
24
- #define SIMDE_TESTS_CURRENT_ISAX avx512bw
25
- #include <simde/x86/avx512bw.h>
26
- #include <test/x86/test-avx512.h>
27
-
28
- #if defined(SIMDE_AVX512BW_NATIVE) || defined(SIMDE_NO_NATIVE) || defined(SIMDE_ALWAYS_BUILD_NATIVE_TESTS)
29
-
30
- static MunitResult
31
- test_simde_mm512_add_epi32(const MunitParameter params[], void* data) {
32
- (void) params;
33
- (void) data;
34
-
35
- const struct {
36
- simde__m512i a;
37
- simde__m512i b;
38
- simde__m512i r;
39
- } test_vec[8] = {
40
- { simde_mm512_set_epi32(INT32_C( -620437579), INT32_C( -723756998), INT32_C( 2089862132), INT32_C( 928615324),
41
- INT32_C( 1352582940), INT32_C( 1412449807), INT32_C( -180438223), INT32_C( 1987031180),
42
- INT32_C( -515955035), INT32_C( 1724776466), INT32_C( 534751449), INT32_C( -23608579),
43
- INT32_C(-1857730421), INT32_C(-2108373984), INT32_C(-2047745621), INT32_C(-1616522706)),
44
- simde_mm512_set_epi32(INT32_C(-1828719907), INT32_C(-1665857743), INT32_C( 633675792), INT32_C( -87619707),
45
- INT32_C( 206282352), INT32_C(-1301173823), INT32_C(-1377624366), INT32_C(-1722858856),
46
- INT32_C(-1747195587), INT32_C(-1421499089), INT32_C(-1466275595), INT32_C( 1005942821),
47
- INT32_C( 653597122), INT32_C( 1511265780), INT32_C(-1057049813), INT32_C( 988582315)),
48
- simde_mm512_set_epi32(INT32_C( 1845809810), INT32_C( 1905352555), INT32_C(-1571429372), INT32_C( 840995617),
49
- INT32_C( 1558865292), INT32_C( 111275984), INT32_C(-1558062589), INT32_C( 264172324),
50
- INT32_C( 2031816674), INT32_C( 303277377), INT32_C( -931524146), INT32_C( 982334242),
51
- INT32_C(-1204133299), INT32_C( -597108204), INT32_C( 1190171862), INT32_C( -627940391)) },
52
- { simde_mm512_set_epi32(INT32_C(-1937590036), INT32_C( -332801366), INT32_C( -471964647), INT32_C(-1821490876),
53
- INT32_C( -730720612), INT32_C( -212155491), INT32_C( 557730573), INT32_C( 1419303203),
54
- INT32_C( -649726768), INT32_C(-1343949182), INT32_C( 543388357), INT32_C( 2016683828),
55
- INT32_C(-1787609785), INT32_C( 1170714264), INT32_C( 1838698095), INT32_C( -610530733)),
56
- simde_mm512_set_epi32(INT32_C( -78760490), INT32_C(-1762700896), INT32_C( 743846170), INT32_C( 2011763261),
57
- INT32_C( -319606822), INT32_C( -887822109), INT32_C( 843030788), INT32_C( 1100063012),
58
- INT32_C( 1306201477), INT32_C( -328092402), INT32_C( 760791953), INT32_C( 1607075963),
59
- INT32_C(-2029269339), INT32_C(-1246855319), INT32_C( 373846974), INT32_C(-2039859469)),
60
- simde_mm512_set_epi32(INT32_C(-2016350526), INT32_C(-2095502262), INT32_C( 271881523), INT32_C( 190272385),
61
- INT32_C(-1050327434), INT32_C(-1099977600), INT32_C( 1400761361), INT32_C(-1775601081),
62
- INT32_C( 656474709), INT32_C(-1672041584), INT32_C( 1304180310), INT32_C( -671207505),
63
- INT32_C( 478088172), INT32_C( -76141055), INT32_C(-2082422227), INT32_C( 1644577094)) },
64
- { simde_mm512_set_epi32(INT32_C( 57776624), INT32_C( 1788183002), INT32_C(-1974433832), INT32_C(-1794133389),
65
- INT32_C(-1069162986), INT32_C(-1427272558), INT32_C(-1253805688), INT32_C( -660872028),
66
- INT32_C(-1129884149), INT32_C( 173413635), INT32_C( 2028757327), INT32_C( 1565906228),
67
- INT32_C(-2137992833), INT32_C(-1203890748), INT32_C( 706474135), INT32_C(-1778193688)),
68
- simde_mm512_set_epi32(INT32_C( -515592024), INT32_C( -146353312), INT32_C( 242268084), INT32_C( -988968038),
69
- INT32_C(-2038559805), INT32_C( 54811004), INT32_C( 1173402348), INT32_C( 422621509),
70
- INT32_C( 566804477), INT32_C( 1847170418), INT32_C( -922088165), INT32_C( -324583669),
71
- INT32_C( 2069465832), INT32_C(-1437889074), INT32_C( 238343196), INT32_C( 1745183762)),
72
- simde_mm512_set_epi32(INT32_C( -457815400), INT32_C( 1641829690), INT32_C(-1732165748), INT32_C( 1511865869),
73
- INT32_C( 1187244505), INT32_C(-1372461554), INT32_C( -80403340), INT32_C( -238250519),
74
- INT32_C( -563079672), INT32_C( 2020584053), INT32_C( 1106669162), INT32_C( 1241322559),
75
- INT32_C( -68527001), INT32_C( 1653187474), INT32_C( 944817331), INT32_C( -33009926)) },
76
- { simde_mm512_set_epi32(INT32_C( 1004166983), INT32_C(-2037237484), INT32_C( 975969300), INT32_C( 221374965),
77
- INT32_C( -878025387), INT32_C( 1166912453), INT32_C( 1981901973), INT32_C( 976355918),
78
- INT32_C( 1384872269), INT32_C( -15473064), INT32_C( -289026084), INT32_C( 1652811113),
79
- INT32_C( 2056881111), INT32_C( 1621101202), INT32_C( 1517253606), INT32_C( 1625264348)),
80
- simde_mm512_set_epi32(INT32_C(-1184683174), INT32_C( 619504240), INT32_C(-1150416788), INT32_C(-1085597388),
81
- INT32_C( 1766693029), INT32_C( 1152891465), INT32_C(-2035468310), INT32_C( 1319983622),
82
- INT32_C(-1615386348), INT32_C( 261012444), INT32_C( 223560144), INT32_C( 331591481),
83
- INT32_C( -33325842), INT32_C( -398184636), INT32_C( 1301281245), INT32_C(-1280622867)),
84
- simde_mm512_set_epi32(INT32_C( -180516191), INT32_C(-1417733244), INT32_C( -174447488), INT32_C( -864222423),
85
- INT32_C( 888667642), INT32_C(-1975163378), INT32_C( -53566337), INT32_C(-1998627756),
86
- INT32_C( -230514079), INT32_C( 245539380), INT32_C( -65465940), INT32_C( 1984402594),
87
- INT32_C( 2023555269), INT32_C( 1222916566), INT32_C(-1476432445), INT32_C( 344641481)) },
88
- { simde_mm512_set_epi32(INT32_C( -99917228), INT32_C( 209251690), INT32_C( 108789393), INT32_C(-1056574639),
89
- INT32_C( 178125384), INT32_C( 1688380363), INT32_C( -910324723), INT32_C( 1731780669),
90
- INT32_C( 1989188149), INT32_C( 999202624), INT32_C( 198474190), INT32_C( 1270934715),
91
- INT32_C( -715363116), INT32_C( 1839116730), INT32_C( -53141198), INT32_C( -590771199)),
92
- simde_mm512_set_epi32(INT32_C( -77041932), INT32_C( 927171423), INT32_C( -178390373), INT32_C(-1958045464),
93
- INT32_C( 1172980373), INT32_C(-1805733723), INT32_C( -859792119), INT32_C( 1334306095),
94
- INT32_C(-1717931855), INT32_C( -244574814), INT32_C( 1638507066), INT32_C( -551865858),
95
- INT32_C( -152534880), INT32_C(-1198583052), INT32_C( -869344314), INT32_C(-1920653371)),
96
- simde_mm512_set_epi32(INT32_C( -176959160), INT32_C( 1136423113), INT32_C( -69600980), INT32_C( 1280347193),
97
- INT32_C( 1351105757), INT32_C( -117353360), INT32_C(-1770116842), INT32_C(-1228880532),
98
- INT32_C( 271256294), INT32_C( 754627810), INT32_C( 1836981256), INT32_C( 719068857),
99
- INT32_C( -867897996), INT32_C( 640533678), INT32_C( -922485512), INT32_C( 1783542726)) },
100
- { simde_mm512_set_epi32(INT32_C(-1801907952), INT32_C( 126986794), INT32_C( 2099256067), INT32_C( 915807861),
101
- INT32_C( -313053214), INT32_C( 1205934161), INT32_C( 25151882), INT32_C( -823105542),
102
- INT32_C(-1390117486), INT32_C( 385956806), INT32_C( 1986964939), INT32_C( 56415632),
103
- INT32_C(-1186749471), INT32_C( 1048153466), INT32_C( 1387660497), INT32_C( 2108528480)),
104
- simde_mm512_set_epi32(INT32_C(-1572695910), INT32_C( 592114445), INT32_C( -85836842), INT32_C(-1721616170),
105
- INT32_C( 222979620), INT32_C( -376092888), INT32_C( 405576062), INT32_C( 902804532),
106
- INT32_C( 2135373993), INT32_C( 1677980182), INT32_C(-1127993042), INT32_C( -771911734),
107
- INT32_C( -41719457), INT32_C(-1772059837), INT32_C(-1722167164), INT32_C( 812561930)),
108
- simde_mm512_set_epi32(INT32_C( 920363434), INT32_C( 719101239), INT32_C( 2013419225), INT32_C( -805808309),
109
- INT32_C( -90073594), INT32_C( 829841273), INT32_C( 430727944), INT32_C( 79698990),
110
- INT32_C( 745256507), INT32_C( 2063936988), INT32_C( 858971897), INT32_C( -715496102),
111
- INT32_C(-1228468928), INT32_C( -723906371), INT32_C( -334506667), INT32_C(-1373876886)) },
112
- { simde_mm512_set_epi32(INT32_C( -87552733), INT32_C( -497247153), INT32_C( 1468487386), INT32_C( 1003068863),
113
- INT32_C( 1747861143), INT32_C( -646367560), INT32_C( -755743025), INT32_C( 683078293),
114
- INT32_C( 1090643160), INT32_C( 1972147188), INT32_C(-2077095609), INT32_C( 731411049),
115
- INT32_C( -484220816), INT32_C( -672982839), INT32_C( -64061145), INT32_C(-1731914804)),
116
- simde_mm512_set_epi32(INT32_C( 1287212577), INT32_C( 799931806), INT32_C( 620076827), INT32_C( 806976960),
117
- INT32_C(-1787684636), INT32_C( -68422538), INT32_C( 591651588), INT32_C( 2136172897),
118
- INT32_C( 538232126), INT32_C( 1910632119), INT32_C( 280273419), INT32_C( 1179224181),
119
- INT32_C( -178809858), INT32_C(-1741617588), INT32_C(-2045147428), INT32_C( 1639562384)),
120
- simde_mm512_set_epi32(INT32_C( 1199659844), INT32_C( 302684653), INT32_C( 2088564213), INT32_C( 1810045823),
121
- INT32_C( -39823493), INT32_C( -714790098), INT32_C( -164091437), INT32_C(-1475716106),
122
- INT32_C( 1628875286), INT32_C( -412187989), INT32_C(-1796822190), INT32_C( 1910635230),
123
- INT32_C( -663030674), INT32_C( 1880366869), INT32_C(-2109208573), INT32_C( -92352420)) },
124
- { simde_mm512_set_epi32(INT32_C( 446376492), INT32_C( 1910481415), INT32_C( 625332216), INT32_C( 541212187),
125
- INT32_C( 298536203), INT32_C(-1502376568), INT32_C( -699613431), INT32_C( -125340207),
126
- INT32_C( -849753035), INT32_C( -538074567), INT32_C( 1356067945), INT32_C( 1088886620),
127
- INT32_C(-1643178888), INT32_C( 855336737), INT32_C( 1638140255), INT32_C(-2120465324)),
128
- simde_mm512_set_epi32(INT32_C( 1091209248), INT32_C(-1950373665), INT32_C(-2108427702), INT32_C( 969460626),
129
- INT32_C( 438255242), INT32_C( -807569468), INT32_C( -746566484), INT32_C( 1685713375),
130
- INT32_C( 93210471), INT32_C( 1249365881), INT32_C( 945726578), INT32_C( 1471824111),
131
- INT32_C( 1944720672), INT32_C(-1780061567), INT32_C( 1132193802), INT32_C( 151873348)),
132
- simde_mm512_set_epi32(INT32_C( 1537585740), INT32_C( -39892250), INT32_C(-1483095486), INT32_C( 1510672813),
133
- INT32_C( 736791445), INT32_C( 1985021260), INT32_C(-1446179915), INT32_C( 1560373168),
134
- INT32_C( -756542564), INT32_C( 711291314), INT32_C(-1993172773), INT32_C(-1734256565),
135
- INT32_C( 301541784), INT32_C( -924724830), INT32_C(-1524633239), INT32_C(-1968591976)) }
136
- };
137
-
138
- for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
139
- simde__m512i r = simde_mm512_add_epi32(test_vec[i].a, test_vec[i].b);
140
- simde_assert_m512i_i32(r, ==, test_vec[i].r);
141
- }
142
-
143
- return MUNIT_OK;
144
- }
145
-
146
- static MunitResult
147
- test_simde_mm512_add_epi64(const MunitParameter params[], void* data) {
148
- (void) params;
149
- (void) data;
150
-
151
- const struct {
152
- simde__m512i a;
153
- simde__m512i b;
154
- simde__m512i r;
155
- } test_vec[8] = {
156
- { simde_mm512_set_epi64(INT64_C(-1142113623186190173), INT64_C( 2669401519388559587),
157
- INT64_C(-4041526363448340541), INT64_C( 8890984525115992605),
158
- INT64_C( 3710059072002351182), INT64_C( -8844419669430530),
159
- INT64_C( -583435793687448962), INT64_C(-3776976191330287246)),
160
- simde_mm512_set_epi64(INT64_C(-2572258444501888207), INT64_C( 8010943607820280661),
161
- INT64_C(-7896534424393030159), INT64_C( 8282192647960665352),
162
- INT64_C( 811312670062340262), INT64_C(-8174776120225966748),
163
- INT64_C( 4815827375621462801), INT64_C(-4343109153599957409)),
164
- simde_mm512_set_epi64(INT64_C(-3714372067688078380), INT64_C(-7766398946500711368),
165
- INT64_C( 6508683285868180916), INT64_C(-1273566900632893659),
166
- INT64_C( 4521371742064691444), INT64_C(-8183620539895397278),
167
- INT64_C( 4232391581934013839), INT64_C(-8120085344930244655)) },
168
- { simde_mm512_set_epi64(INT64_C(-8907763853043432709), INT64_C(-7664489506315516041),
169
- INT64_C( 7881121837601630619), INT64_C(-1123258072002783793),
170
- INT64_C( 6852591379280896525), INT64_C(-3366432558441729450),
171
- INT64_C(-5990500579016281828), INT64_C( 7624785959951223888)),
172
- simde_mm512_set_epi64(INT64_C( 530774369540308193), INT64_C( 4966843317235809520),
173
- INT64_C(-4575853019860390176), INT64_C(-5468596229394507748),
174
- INT64_C( 5016860099104730248), INT64_C(-4030848910458752721),
175
- INT64_C(-5726415349997053878), INT64_C(-2689606844288066445)),
176
- simde_mm512_set_epi64(INT64_C(-8376989483503124516), INT64_C(-2697646189079706521),
177
- INT64_C( 3305268817741240443), INT64_C(-6591854301397291541),
178
- INT64_C(-6577292595323924843), INT64_C(-7397281468900482171),
179
- INT64_C( 6729828144696215910), INT64_C( 4935179115663157443)) },
180
- { simde_mm512_set_epi64(INT64_C(-1147603065405303411), INT64_C(-7360179338648948250),
181
- INT64_C( 8522846282553983063), INT64_C(-6411739365277986684),
182
- INT64_C( 2565410720902708591), INT64_C(-6999797153964411090),
183
- INT64_C(-4638909294820957529), INT64_C(-6689250119856274996)),
184
- simde_mm512_set_epi64(INT64_C( 5073596640780038992), INT64_C( 9103358253828460511),
185
- INT64_C( -705008066916281166), INT64_C(-6536611133780086738),
186
- INT64_C( 8265445360104219638), INT64_C( 3801153343625786085),
187
- INT64_C( 2669262289718667251), INT64_C( 5656097673759919545)),
188
- simde_mm512_set_epi64(INT64_C( 3925993575374735581), INT64_C( 1743178915179512261),
189
- INT64_C( 7817838215637701897), INT64_C( 5498393574651478194),
190
- INT64_C(-7615887992702623387), INT64_C(-3198643810338625005),
191
- INT64_C(-1969647005102290278), INT64_C(-1033152446096355451)) },
192
- { simde_mm512_set_epi64(INT64_C( 4726294533983517199), INT64_C(-3194102718522779616),
193
- INT64_C( 7968557550946485055), INT64_C( 3231249301417879275),
194
- INT64_C( 2730855362291069772), INT64_C(-7006805907158396614),
195
- INT64_C( 7013656719434070104), INT64_C(-5111614041831206337)),
196
- simde_mm512_set_epi64(INT64_C( 8077331611956864824), INT64_C( 9219505211765165401),
197
- INT64_C( -526170803618465025), INT64_C(-6117963664293386621),
198
- INT64_C( 8138058063794249913), INT64_C(-6512904449490940829),
199
- INT64_C( 474025353181411678), INT64_C(-7774133174508991700)),
200
- simde_mm512_set_epi64(INT64_C(-5643117927769169593), INT64_C( 6025402493242385785),
201
- INT64_C( 7442386747328020030), INT64_C(-2886714362875507346),
202
- INT64_C(-7577830647624231931), INT64_C( 4927033717060214173),
203
- INT64_C( 7487682072615481782), INT64_C( 5560996857369353579)) },
204
- { simde_mm512_set_epi64(INT64_C( 193050968130854053), INT64_C( 8259941741302086974),
205
- INT64_C( -453186687001595332), INT64_C( 7712011730228920808),
206
- INT64_C(-6104336988767299426), INT64_C( 5308601606176372502),
207
- INT64_C(-2287583704165123047), INT64_C( 5680091922249770976)),
208
- simde_mm512_set_epi64(INT64_C(-4961468284661849310), INT64_C( 9060485449513062801),
209
- INT64_C( 6632655590889112567), INT64_C( 7501604346789135910),
210
- INT64_C(-7298384925887684809), INT64_C( 2881824411969821346),
211
- INT64_C(-8132400455203655002), INT64_C( 4133962836264448240)),
212
- simde_mm512_set_epi64(INT64_C(-4768417316530995257), INT64_C(-1126316882894401841),
213
- INT64_C( 6179468903887517235), INT64_C(-3233127996691494898),
214
- INT64_C( 5044022159054567381), INT64_C( 8190426018146193848),
215
- INT64_C( 8026759914340773567), INT64_C(-8632689315195332400)) },
216
- { simde_mm512_set_epi64(INT64_C( 8956245117105388401), INT64_C(-1279259458875765791),
217
- INT64_C(-4844132309560126483), INT64_C( 8020518294074851688),
218
- INT64_C(-5641381585453289469), INT64_C(-7336114943591686134),
219
- INT64_C( 7396026256462185783), INT64_C(-7159923149096431079)),
220
- simde_mm512_set_epi64(INT64_C( 7681308578881334632), INT64_C( 6762384852768739876),
221
- INT64_C(-6630226433339556438), INT64_C( 895229301334345958),
222
- INT64_C( 8748757877138934431), INT64_C(-3406024454166778034),
223
- INT64_C(-1971110785327035786), INT64_C( 5257409320594533793)),
224
- simde_mm512_set_epi64(INT64_C(-1809190377722828583), INT64_C( 5483125393892974085),
225
- INT64_C( 6972385330809868695), INT64_C( 8915747595409197646),
226
- INT64_C( 3107376291685644962), INT64_C( 7704604675951087448),
227
- INT64_C( 5424915471135149997), INT64_C(-1902513828501897286)) },
228
- { simde_mm512_set_epi64(INT64_C(-6379556098233125245), INT64_C(-7036815414983308437),
229
- INT64_C( 6449458293699998062), INT64_C(-8662596582560742605),
230
- INT64_C( 8559396047271930933), INT64_C( 8319158628050257118),
231
- INT64_C( 2671429253434382084), INT64_C(-3771778240982532322)),
232
- simde_mm512_set_epi64(INT64_C( 4847839000068024729), INT64_C( 7410858097550413452),
233
- INT64_C( -481636656067004168), INT64_C( 273087245529831397),
234
- INT64_C( 2014413537357415871), INT64_C(-3897516487309028112),
235
- INT64_C( 4133432427690444225), INT64_C(-7762159775807857014)),
236
- simde_mm512_set_epi64(INT64_C(-1531717098165100516), INT64_C( 374042682567105015),
237
- INT64_C( 5967821637632993894), INT64_C(-8389509337030911208),
238
- INT64_C(-7872934489080204812), INT64_C( 4421642140741229006),
239
- INT64_C( 6804861681124826309), INT64_C( 6912806056919162280)) },
240
- { simde_mm512_set_epi64(INT64_C( 7044617451253925485), INT64_C( 8554512071902279421),
241
- INT64_C(-5774887429267945902), INT64_C( 8744694126758591835),
242
- INT64_C( 6726346195930174353), INT64_C(-3624175965481610004),
243
- INT64_C(-2980185457068069894), INT64_C(-1599338563378690807)),
244
- simde_mm512_set_epi64(INT64_C( 7457111512897216818), INT64_C(-2685664891179263207),
245
- INT64_C( 3286698240604454682), INT64_C( 1197616399803304076),
246
- INT64_C(-5755426011606503746), INT64_C(-7010024580994263662),
247
- INT64_C(-1798652028950367168), INT64_C( 1422740686196608462)),
248
- simde_mm512_set_epi64(INT64_C(-3945015109558409313), INT64_C( 5868847180723016214),
249
- INT64_C(-2488189188663491220), INT64_C(-8504433547147655705),
250
- INT64_C( 970920184323670607), INT64_C( 7812543527233677950),
251
- INT64_C(-4778837486018437062), INT64_C( -176597877182082345)) }
252
- };
253
-
254
- for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
255
- simde__m512i r = simde_mm512_add_epi64(test_vec[i].a, test_vec[i].b);
256
- simde_assert_m512i_i64(r, ==, test_vec[i].r);
257
- }
258
-
259
- return MUNIT_OK;
260
- }
261
-
262
- static MunitResult
263
- test_simde_mm512_adds_epi8(const MunitParameter params[], void* data) {
264
- (void) params;
265
- (void) data;
266
-
267
- const struct {
268
- simde__m512i a;
269
- simde__m512i b;
270
- simde__m512i r;
271
- } test_vec[8] = {
272
- { simde_mm512_set_epi8(INT8_C( -30), INT8_C( -16), INT8_C( -64), INT8_C( 113),
273
- INT8_C( 51), INT8_C(-115), INT8_C( 19), INT8_C( -80),
274
- INT8_C(-110), INT8_C( -62), INT8_C( -91), INT8_C( 8),
275
- INT8_C( 11), INT8_C( -49), INT8_C( -43), INT8_C(-101),
276
- INT8_C( 16), INT8_C( 61), INT8_C( -2), INT8_C(-100),
277
- INT8_C( 1), INT8_C( -80), INT8_C( 127), INT8_C(-105),
278
- INT8_C( -74), INT8_C(-126), INT8_C( 122), INT8_C( 30),
279
- INT8_C( -73), INT8_C( 48), INT8_C( -33), INT8_C( 2),
280
- INT8_C( -82), INT8_C( -10), INT8_C( 33), INT8_C( 20),
281
- INT8_C(-120), INT8_C(-120), INT8_C( -46), INT8_C( -54),
282
- INT8_C( -43), INT8_C( 63), INT8_C( 81), INT8_C( 103),
283
- INT8_C( 118), INT8_C( -84), INT8_C( 76), INT8_C( 47),
284
- INT8_C( 101), INT8_C( -83), INT8_C( 15), INT8_C( 23),
285
- INT8_C( 36), INT8_C(-116), INT8_C( -88), INT8_C( -45),
286
- INT8_C( -6), INT8_C( 86), INT8_C( 20), INT8_C( 39),
287
- INT8_C( 117), INT8_C( 80), INT8_C( 97), INT8_C( 41)),
288
- simde_mm512_set_epi8(INT8_C( 122), INT8_C( 43), INT8_C( 38), INT8_C( 97),
289
- INT8_C( 38), INT8_C( 68), INT8_C( 88), INT8_C( 56),
290
- INT8_C( -39), INT8_C( 61), INT8_C( -57), INT8_C( -66),
291
- INT8_C(-121), INT8_C( 29), INT8_C( 110), INT8_C( 127),
292
- INT8_C(-115), INT8_C( 16), INT8_C( -46), INT8_C( 65),
293
- INT8_C( -36), INT8_C( 26), INT8_C( 12), INT8_C( -79),
294
- INT8_C( -66), INT8_C( -28), INT8_C( -67), INT8_C( -79),
295
- INT8_C( -60), INT8_C( -13), INT8_C( 74), INT8_C( 25),
296
- INT8_C( 46), INT8_C( 8), INT8_C( 70), INT8_C( 106),
297
- INT8_C(-119), INT8_C( 0), INT8_C( -96), INT8_C( -51),
298
- INT8_C( -50), INT8_C( 93), INT8_C( 92), INT8_C( 65),
299
- INT8_C( -96), INT8_C(-126), INT8_C( 4), INT8_C( 9),
300
- INT8_C( 26), INT8_C(-119), INT8_C( 93), INT8_C( 15),
301
- INT8_C(-115), INT8_C( 77), INT8_C( 125), INT8_C( -62),
302
- INT8_C( 77), INT8_C( -22), INT8_C( 101), INT8_C( 83),
303
- INT8_C( 45), INT8_C( -68), INT8_C( 97), INT8_C( -19)),
304
- simde_mm512_set_epi8(INT8_C( 92), INT8_C( 27), INT8_C( -26), INT8_C( 127),
305
- INT8_C( 89), INT8_C( -47), INT8_C( 107), INT8_C( -24),
306
- INT8_C(-128), INT8_C( -1), INT8_C(-128), INT8_C( -58),
307
- INT8_C(-110), INT8_C( -20), INT8_C( 67), INT8_C( 26),
308
- INT8_C( -99), INT8_C( 77), INT8_C( -48), INT8_C( -35),
309
- INT8_C( -35), INT8_C( -54), INT8_C( 127), INT8_C(-128),
310
- INT8_C(-128), INT8_C(-128), INT8_C( 55), INT8_C( -49),
311
- INT8_C(-128), INT8_C( 35), INT8_C( 41), INT8_C( 27),
312
- INT8_C( -36), INT8_C( -2), INT8_C( 103), INT8_C( 126),
313
- INT8_C(-128), INT8_C(-120), INT8_C(-128), INT8_C(-105),
314
- INT8_C( -93), INT8_C( 127), INT8_C( 127), INT8_C( 127),
315
- INT8_C( 22), INT8_C(-128), INT8_C( 80), INT8_C( 56),
316
- INT8_C( 127), INT8_C(-128), INT8_C( 108), INT8_C( 38),
317
- INT8_C( -79), INT8_C( -39), INT8_C( 37), INT8_C(-107),
318
- INT8_C( 71), INT8_C( 64), INT8_C( 121), INT8_C( 122),
319
- INT8_C( 127), INT8_C( 12), INT8_C( 127), INT8_C( 22)) },
320
- { simde_mm512_set_epi8(INT8_C( 60), INT8_C( 96), INT8_C(-106), INT8_C(-115),
321
- INT8_C( 31), INT8_C(-108), INT8_C( 15), INT8_C( 63),
322
- INT8_C( -77), INT8_C( 125), INT8_C( 41), INT8_C( -80),
323
- INT8_C( 36), INT8_C(-118), INT8_C(-116), INT8_C( -63),
324
- INT8_C( -44), INT8_C( 70), INT8_C( 99), INT8_C( 48),
325
- INT8_C( 67), INT8_C( 43), INT8_C( 83), INT8_C( 53),
326
- INT8_C( 60), INT8_C( 57), INT8_C(-118), INT8_C( 55),
327
- INT8_C( -62), INT8_C( -42), INT8_C( 19), INT8_C( 52),
328
- INT8_C( -37), INT8_C( -32), INT8_C( 33), INT8_C(-114),
329
- INT8_C( -96), INT8_C( 53), INT8_C( 18), INT8_C( -37),
330
- INT8_C( 6), INT8_C( -87), INT8_C( -11), INT8_C( -10),
331
- INT8_C( -4), INT8_C( 84), INT8_C( 104), INT8_C( 55),
332
- INT8_C( 92), INT8_C( 117), INT8_C( 16), INT8_C( 115),
333
- INT8_C( 83), INT8_C( 80), INT8_C(-125), INT8_C( 64),
334
- INT8_C( 74), INT8_C( -9), INT8_C( -62), INT8_C( 67),
335
- INT8_C( 102), INT8_C( 66), INT8_C( -86), INT8_C(-112)),
336
- simde_mm512_set_epi8(INT8_C( -97), INT8_C( 52), INT8_C( -91), INT8_C( 7),
337
- INT8_C( -1), INT8_C( -19), INT8_C( 38), INT8_C( 15),
338
- INT8_C( 76), INT8_C( 63), INT8_C( 10), INT8_C( 18),
339
- INT8_C( 54), INT8_C( 73), INT8_C( 15), INT8_C( -54),
340
- INT8_C(-114), INT8_C( 63), INT8_C( 44), INT8_C( 4),
341
- INT8_C( 41), INT8_C( 90), INT8_C( -78), INT8_C( -67),
342
- INT8_C( 95), INT8_C( -14), INT8_C( -10), INT8_C( -44),
343
- INT8_C( 53), INT8_C( 102), INT8_C( 127), INT8_C( 120),
344
- INT8_C( -89), INT8_C( 10), INT8_C( -36), INT8_C( -50),
345
- INT8_C( 118), INT8_C(-106), INT8_C( -52), INT8_C( 76),
346
- INT8_C( 66), INT8_C( -36), INT8_C( -79), INT8_C( 91),
347
- INT8_C( 14), INT8_C( 103), INT8_C( -73), INT8_C(-123),
348
- INT8_C( 68), INT8_C( -54), INT8_C(-103), INT8_C( 38),
349
- INT8_C( 58), INT8_C( 0), INT8_C( -62), INT8_C( -76),
350
- INT8_C( 93), INT8_C( 119), INT8_C( 14), INT8_C( 84),
351
- INT8_C( -83), INT8_C( 76), INT8_C( -47), INT8_C( -53)),
352
- simde_mm512_set_epi8(INT8_C( -37), INT8_C( 127), INT8_C(-128), INT8_C(-108),
353
- INT8_C( 30), INT8_C(-127), INT8_C( 53), INT8_C( 78),
354
- INT8_C( -1), INT8_C( 127), INT8_C( 51), INT8_C( -62),
355
- INT8_C( 90), INT8_C( -45), INT8_C(-101), INT8_C(-117),
356
- INT8_C(-128), INT8_C( 127), INT8_C( 127), INT8_C( 52),
357
- INT8_C( 108), INT8_C( 127), INT8_C( 5), INT8_C( -14),
358
- INT8_C( 127), INT8_C( 43), INT8_C(-128), INT8_C( 11),
359
- INT8_C( -9), INT8_C( 60), INT8_C( 127), INT8_C( 127),
360
- INT8_C(-126), INT8_C( -22), INT8_C( -3), INT8_C(-128),
361
- INT8_C( 22), INT8_C( -53), INT8_C( -34), INT8_C( 39),
362
- INT8_C( 72), INT8_C(-123), INT8_C( -90), INT8_C( 81),
363
- INT8_C( 10), INT8_C( 127), INT8_C( 31), INT8_C( -68),
364
- INT8_C( 127), INT8_C( 63), INT8_C( -87), INT8_C( 127),
365
- INT8_C( 127), INT8_C( 80), INT8_C(-128), INT8_C( -12),
366
- INT8_C( 127), INT8_C( 110), INT8_C( -48), INT8_C( 127),
367
- INT8_C( 19), INT8_C( 127), INT8_C(-128), INT8_C(-128)) },
368
- { simde_mm512_set_epi8(INT8_C( -80), INT8_C( 122), INT8_C(-100), INT8_C( 123),
369
- INT8_C( 82), INT8_C(-107), INT8_C( 95), INT8_C( -80),
370
- INT8_C(-115), INT8_C(-109), INT8_C( 60), INT8_C( 72),
371
- INT8_C( 57), INT8_C( 99), INT8_C( -30), INT8_C(-115),
372
- INT8_C( 69), INT8_C( 18), INT8_C( -5), INT8_C( -6),
373
- INT8_C( -90), INT8_C( -20), INT8_C( 17), INT8_C( 121),
374
- INT8_C(-100), INT8_C( -55), INT8_C( 90), INT8_C( -42),
375
- INT8_C(-113), INT8_C( 119), INT8_C( 44), INT8_C(-123),
376
- INT8_C( -39), INT8_C( 114), INT8_C( 37), INT8_C( -84),
377
- INT8_C( -88), INT8_C( 15), INT8_C( 23), INT8_C( 114),
378
- INT8_C( 63), INT8_C( -61), INT8_C( 22), INT8_C( 8),
379
- INT8_C( 54), INT8_C( 19), INT8_C( -34), INT8_C( 18),
380
- INT8_C( -36), INT8_C( 104), INT8_C( 1), INT8_C( 5),
381
- INT8_C(-116), INT8_C( 79), INT8_C( -20), INT8_C( -4),
382
- INT8_C( 95), INT8_C( 103), INT8_C( 3), INT8_C( 64),
383
- INT8_C( 34), INT8_C( -49), INT8_C( -27), INT8_C( 41)),
384
- simde_mm512_set_epi8(INT8_C( 97), INT8_C(-116), INT8_C( -44), INT8_C( -44),
385
- INT8_C( 67), INT8_C( -66), INT8_C( 77), INT8_C( 60),
386
- INT8_C( 74), INT8_C( -19), INT8_C(-123), INT8_C( -81),
387
- INT8_C( -74), INT8_C( -21), INT8_C( -32), INT8_C(-122),
388
- INT8_C(-110), INT8_C( 116), INT8_C( 115), INT8_C( 99),
389
- INT8_C( 29), INT8_C( 50), INT8_C(-119), INT8_C(-126),
390
- INT8_C( -53), INT8_C( 68), INT8_C( -37), INT8_C( 84),
391
- INT8_C( 23), INT8_C( -10), INT8_C( 15), INT8_C( 37),
392
- INT8_C( -93), INT8_C( 57), INT8_C( 28), INT8_C(-116),
393
- INT8_C( 56), INT8_C(-124), INT8_C( -93), INT8_C( -67),
394
- INT8_C( 27), INT8_C( -1), INT8_C( -70), INT8_C( -30),
395
- INT8_C( -39), INT8_C( 59), INT8_C( 76), INT8_C( 108),
396
- INT8_C( 13), INT8_C( -29), INT8_C( 60), INT8_C( 106),
397
- INT8_C( 106), INT8_C( -77), INT8_C(-102), INT8_C( 3),
398
- INT8_C( -18), INT8_C( 23), INT8_C( 113), INT8_C( -97),
399
- INT8_C( 109), INT8_C( 81), INT8_C( 42), INT8_C( 93)),
400
- simde_mm512_set_epi8(INT8_C( 17), INT8_C( 6), INT8_C(-128), INT8_C( 79),
401
- INT8_C( 127), INT8_C(-128), INT8_C( 127), INT8_C( -20),
402
- INT8_C( -41), INT8_C(-128), INT8_C( -63), INT8_C( -9),
403
- INT8_C( -17), INT8_C( 78), INT8_C( -62), INT8_C(-128),
404
- INT8_C( -41), INT8_C( 127), INT8_C( 110), INT8_C( 93),
405
- INT8_C( -61), INT8_C( 30), INT8_C(-102), INT8_C( -5),
406
- INT8_C(-128), INT8_C( 13), INT8_C( 53), INT8_C( 42),
407
- INT8_C( -90), INT8_C( 109), INT8_C( 59), INT8_C( -86),
408
- INT8_C(-128), INT8_C( 127), INT8_C( 65), INT8_C(-128),
409
- INT8_C( -32), INT8_C(-109), INT8_C( -70), INT8_C( 47),
410
- INT8_C( 90), INT8_C( -62), INT8_C( -48), INT8_C( -22),
411
- INT8_C( 15), INT8_C( 78), INT8_C( 42), INT8_C( 126),
412
- INT8_C( -23), INT8_C( 75), INT8_C( 61), INT8_C( 111),
413
- INT8_C( -10), INT8_C( 2), INT8_C(-122), INT8_C( -1),
414
- INT8_C( 77), INT8_C( 126), INT8_C( 116), INT8_C( -33),
415
- INT8_C( 127), INT8_C( 32), INT8_C( 15), INT8_C( 127)) },
416
- { simde_mm512_set_epi8(INT8_C( -94), INT8_C( 96), INT8_C( -77), INT8_C( -55),
417
- INT8_C( 18), INT8_C( 12), INT8_C( 78), INT8_C( -17),
418
- INT8_C( -94), INT8_C( 83), INT8_C( -20), INT8_C(-101),
419
- INT8_C( -62), INT8_C( -62), INT8_C( -77), INT8_C( 21),
420
- INT8_C( 21), INT8_C( -49), INT8_C(-127), INT8_C( -47),
421
- INT8_C( -26), INT8_C( 62), INT8_C( -51), INT8_C( -34),
422
- INT8_C( 9), INT8_C( -56), INT8_C( 63), INT8_C( 4),
423
- INT8_C( 64), INT8_C( 46), INT8_C( 68), INT8_C( -18),
424
- INT8_C(-110), INT8_C( 103), INT8_C(-101), INT8_C( 45),
425
- INT8_C( -81), INT8_C( 125), INT8_C( 8), INT8_C( 72),
426
- INT8_C( -48), INT8_C( -28), INT8_C( 102), INT8_C( -90),
427
- INT8_C(-101), INT8_C( -40), INT8_C( -94), INT8_C(-127),
428
- INT8_C( -36), INT8_C( -32), INT8_C( 34), INT8_C( -39),
429
- INT8_C( -64), INT8_C( 111), INT8_C( 36), INT8_C( 91),
430
- INT8_C( 90), INT8_C( -10), INT8_C( 88), INT8_C(-117),
431
- INT8_C( 117), INT8_C(-111), INT8_C(-128), INT8_C( -35)),
432
- simde_mm512_set_epi8(INT8_C( 65), INT8_C( -2), INT8_C( 4), INT8_C( -77),
433
- INT8_C( 33), INT8_C(-119), INT8_C( -36), INT8_C( 95),
434
- INT8_C( -54), INT8_C( 57), INT8_C( -15), INT8_C( 20),
435
- INT8_C( 119), INT8_C( -56), INT8_C( -57), INT8_C( 22),
436
- INT8_C( -23), INT8_C( -56), INT8_C( -77), INT8_C( 114),
437
- INT8_C( -25), INT8_C( 85), INT8_C( 65), INT8_C( 124),
438
- INT8_C( 80), INT8_C( 94), INT8_C( -6), INT8_C(-128),
439
- INT8_C( 25), INT8_C( -80), INT8_C( 31), INT8_C( -23),
440
- INT8_C( 123), INT8_C(-123), INT8_C( -56), INT8_C( 34),
441
- INT8_C( 72), INT8_C( -39), INT8_C( -17), INT8_C( 39),
442
- INT8_C( 29), INT8_C( -88), INT8_C( 65), INT8_C( 81),
443
- INT8_C(-120), INT8_C( 80), INT8_C( -76), INT8_C( -59),
444
- INT8_C( 48), INT8_C( -90), INT8_C( -85), INT8_C( 82),
445
- INT8_C( 115), INT8_C(-114), INT8_C( 84), INT8_C( -40),
446
- INT8_C( -69), INT8_C( -11), INT8_C(-118), INT8_C( 39),
447
- INT8_C( -17), INT8_C( -23), INT8_C( 4), INT8_C( -37)),
448
- simde_mm512_set_epi8(INT8_C( -29), INT8_C( 94), INT8_C( -73), INT8_C(-128),
449
- INT8_C( 51), INT8_C(-107), INT8_C( 42), INT8_C( 78),
450
- INT8_C(-128), INT8_C( 127), INT8_C( -35), INT8_C( -81),
451
- INT8_C( 57), INT8_C(-118), INT8_C(-128), INT8_C( 43),
452
- INT8_C( -2), INT8_C(-105), INT8_C(-128), INT8_C( 67),
453
- INT8_C( -51), INT8_C( 127), INT8_C( 14), INT8_C( 90),
454
- INT8_C( 89), INT8_C( 38), INT8_C( 57), INT8_C(-124),
455
- INT8_C( 89), INT8_C( -34), INT8_C( 99), INT8_C( -41),
456
- INT8_C( 13), INT8_C( -20), INT8_C(-128), INT8_C( 79),
457
- INT8_C( -9), INT8_C( 86), INT8_C( -9), INT8_C( 111),
458
- INT8_C( -19), INT8_C(-116), INT8_C( 127), INT8_C( -9),
459
- INT8_C(-128), INT8_C( 40), INT8_C(-128), INT8_C(-128),
460
- INT8_C( 12), INT8_C(-122), INT8_C( -51), INT8_C( 43),
461
- INT8_C( 51), INT8_C( -3), INT8_C( 120), INT8_C( 51),
462
- INT8_C( 21), INT8_C( -21), INT8_C( -30), INT8_C( -78),
463
- INT8_C( 100), INT8_C(-128), INT8_C(-124), INT8_C( -72)) },
464
- { simde_mm512_set_epi8(INT8_C( 31), INT8_C( -81), INT8_C( 115), INT8_C( 18),
465
- INT8_C( 20), INT8_C( -33), INT8_C(-125), INT8_C( -45),
466
- INT8_C( 54), INT8_C( 82), INT8_C( 61), INT8_C( 81),
467
- INT8_C( 123), INT8_C( 18), INT8_C( 89), INT8_C( 34),
468
- INT8_C( 10), INT8_C( -54), INT8_C( -24), INT8_C( 54),
469
- INT8_C( 49), INT8_C( -70), INT8_C( 7), INT8_C( -12),
470
- INT8_C( 110), INT8_C( -16), INT8_C( -10), INT8_C( 4),
471
- INT8_C( 3), INT8_C( -17), INT8_C( -46), INT8_C( -29),
472
- INT8_C( 26), INT8_C( -38), INT8_C(-107), INT8_C( -25),
473
- INT8_C( 61), INT8_C( -4), INT8_C( -21), INT8_C( -11),
474
- INT8_C( -29), INT8_C( 62), INT8_C( 120), INT8_C( 84),
475
- INT8_C( -48), INT8_C( -42), INT8_C( -15), INT8_C( -64),
476
- INT8_C( -90), INT8_C( 111), INT8_C(-123), INT8_C( 61),
477
- INT8_C( 22), INT8_C( -48), INT8_C(-107), INT8_C( 122),
478
- INT8_C( 27), INT8_C( 119), INT8_C( -63), INT8_C( -61),
479
- INT8_C( -69), INT8_C( 46), INT8_C( 34), INT8_C(-101)),
480
- simde_mm512_set_epi8(INT8_C( 44), INT8_C( 101), INT8_C( -48), INT8_C( -49),
481
- INT8_C( 63), INT8_C( 93), INT8_C( -48), INT8_C(-122),
482
- INT8_C( -67), INT8_C( 27), INT8_C( 1), INT8_C( -55),
483
- INT8_C( -79), INT8_C( -44), INT8_C(-115), INT8_C(-126),
484
- INT8_C( -42), INT8_C( 29), INT8_C( 66), INT8_C( -83),
485
- INT8_C( 108), INT8_C( -1), INT8_C( -47), INT8_C(-104),
486
- INT8_C( 62), INT8_C( 29), INT8_C( 4), INT8_C( -47),
487
- INT8_C( 98), INT8_C(-109), INT8_C( -23), INT8_C( 69),
488
- INT8_C(-110), INT8_C( -47), INT8_C( 48), INT8_C(-101),
489
- INT8_C( -80), INT8_C(-110), INT8_C( -55), INT8_C( 25),
490
- INT8_C( 39), INT8_C( 58), INT8_C( 4), INT8_C(-108),
491
- INT8_C( -23), INT8_C( -79), INT8_C( 124), INT8_C( 36),
492
- INT8_C( 113), INT8_C( 110), INT8_C( 105), INT8_C( 113),
493
- INT8_C( -54), INT8_C( -63), INT8_C( 50), INT8_C( -99),
494
- INT8_C( -8), INT8_C( -76), INT8_C( 102), INT8_C( 51),
495
- INT8_C( 58), INT8_C( 16), INT8_C( -94), INT8_C( -93)),
496
- simde_mm512_set_epi8(INT8_C( 75), INT8_C( 20), INT8_C( 67), INT8_C( -31),
497
- INT8_C( 83), INT8_C( 60), INT8_C(-128), INT8_C(-128),
498
- INT8_C( -13), INT8_C( 109), INT8_C( 62), INT8_C( 26),
499
- INT8_C( 44), INT8_C( -26), INT8_C( -26), INT8_C( -92),
500
- INT8_C( -32), INT8_C( -25), INT8_C( 42), INT8_C( -29),
501
- INT8_C( 127), INT8_C( -71), INT8_C( -40), INT8_C(-116),
502
- INT8_C( 127), INT8_C( 13), INT8_C( -6), INT8_C( -43),
503
- INT8_C( 101), INT8_C(-126), INT8_C( -69), INT8_C( 40),
504
- INT8_C( -84), INT8_C( -85), INT8_C( -59), INT8_C(-126),
505
- INT8_C( -19), INT8_C(-114), INT8_C( -76), INT8_C( 14),
506
- INT8_C( 10), INT8_C( 120), INT8_C( 124), INT8_C( -24),
507
- INT8_C( -71), INT8_C(-121), INT8_C( 109), INT8_C( -28),
508
- INT8_C( 23), INT8_C( 127), INT8_C( -18), INT8_C( 127),
509
- INT8_C( -32), INT8_C(-111), INT8_C( -57), INT8_C( 23),
510
- INT8_C( 19), INT8_C( 43), INT8_C( 39), INT8_C( -10),
511
- INT8_C( -11), INT8_C( 62), INT8_C( -60), INT8_C(-128)) },
512
- { simde_mm512_set_epi8(INT8_C( 64), INT8_C( 55), INT8_C( 97), INT8_C( -61),
513
- INT8_C( 89), INT8_C( 120), INT8_C( 49), INT8_C( 124),
514
- INT8_C( 16), INT8_C( 113), INT8_C( 48), INT8_C( 70),
515
- INT8_C( 60), INT8_C( -11), INT8_C( 98), INT8_C( 70),
516
- INT8_C( 111), INT8_C( 55), INT8_C( -50), INT8_C( -21),
517
- INT8_C(-102), INT8_C( 3), INT8_C( 75), INT8_C( -9),
518
- INT8_C( 34), INT8_C( 96), INT8_C(-104), INT8_C( 37),
519
- INT8_C( 74), INT8_C( 22), INT8_C( 13), INT8_C( 82),
520
- INT8_C(-108), INT8_C(-112), INT8_C( 49), INT8_C( -58),
521
- INT8_C( 116), INT8_C( 58), INT8_C( -29), INT8_C( 60),
522
- INT8_C( 125), INT8_C( 105), INT8_C( -20), INT8_C( -4),
523
- INT8_C(-106), INT8_C(-111), INT8_C( -29), INT8_C( -32),
524
- INT8_C( -43), INT8_C(-103), INT8_C( 84), INT8_C( 40),
525
- INT8_C( 63), INT8_C( 88), INT8_C( -74), INT8_C( -49),
526
- INT8_C( 10), INT8_C( 50), INT8_C( 38), INT8_C( 108),
527
- INT8_C( 42), INT8_C( -40), INT8_C( -81), INT8_C( 31)),
528
- simde_mm512_set_epi8(INT8_C(-107), INT8_C( 105), INT8_C( -15), INT8_C( -49),
529
- INT8_C( 74), INT8_C( -31), INT8_C( -49), INT8_C( 112),
530
- INT8_C(-103), INT8_C( 69), INT8_C( -55), INT8_C(-115),
531
- INT8_C( -48), INT8_C( 96), INT8_C( -8), INT8_C( -35),
532
- INT8_C( -24), INT8_C( 101), INT8_C( 70), INT8_C( -69),
533
- INT8_C(-105), INT8_C( -28), INT8_C( -38), INT8_C( -85),
534
- INT8_C( -94), INT8_C(-122), INT8_C( -80), INT8_C( 95),
535
- INT8_C( -1), INT8_C( 87), INT8_C( 21), INT8_C( 6),
536
- INT8_C(-103), INT8_C( 38), INT8_C( 15), INT8_C( -98),
537
- INT8_C( -27), INT8_C( 57), INT8_C( -76), INT8_C(-112),
538
- INT8_C( 77), INT8_C( -3), INT8_C( 57), INT8_C( 3),
539
- INT8_C( 123), INT8_C( -18), INT8_C( -90), INT8_C(-119),
540
- INT8_C( 112), INT8_C( 61), INT8_C( -48), INT8_C( -16),
541
- INT8_C( -36), INT8_C(-125), INT8_C( -10), INT8_C( 77),
542
- INT8_C( 106), INT8_C( 72), INT8_C( 62), INT8_C( -24),
543
- INT8_C( -65), INT8_C( 102), INT8_C(-122), INT8_C( 19)),
544
- simde_mm512_set_epi8(INT8_C( -43), INT8_C( 127), INT8_C( 82), INT8_C(-110),
545
- INT8_C( 127), INT8_C( 89), INT8_C( 0), INT8_C( 127),
546
- INT8_C( -87), INT8_C( 127), INT8_C( -7), INT8_C( -45),
547
- INT8_C( 12), INT8_C( 85), INT8_C( 90), INT8_C( 35),
548
- INT8_C( 87), INT8_C( 127), INT8_C( 20), INT8_C( -90),
549
- INT8_C(-128), INT8_C( -25), INT8_C( 37), INT8_C( -94),
550
- INT8_C( -60), INT8_C( -26), INT8_C(-128), INT8_C( 127),
551
- INT8_C( 73), INT8_C( 109), INT8_C( 34), INT8_C( 88),
552
- INT8_C(-128), INT8_C( -74), INT8_C( 64), INT8_C(-128),
553
- INT8_C( 89), INT8_C( 115), INT8_C(-105), INT8_C( -52),
554
- INT8_C( 127), INT8_C( 102), INT8_C( 37), INT8_C( -1),
555
- INT8_C( 17), INT8_C(-128), INT8_C(-119), INT8_C(-128),
556
- INT8_C( 69), INT8_C( -42), INT8_C( 36), INT8_C( 24),
557
- INT8_C( 27), INT8_C( -37), INT8_C( -84), INT8_C( 28),
558
- INT8_C( 116), INT8_C( 122), INT8_C( 100), INT8_C( 84),
559
- INT8_C( -23), INT8_C( 62), INT8_C(-128), INT8_C( 50)) },
560
- { simde_mm512_set_epi8(INT8_C( 90), INT8_C(-125), INT8_C( -5), INT8_C( -69),
561
- INT8_C( 103), INT8_C( -40), INT8_C( 35), INT8_C( -38),
562
- INT8_C( 107), INT8_C(-117), INT8_C( -80), INT8_C( 123),
563
- INT8_C( 57), INT8_C( -70), INT8_C( -34), INT8_C( 38),
564
- INT8_C( 114), INT8_C(-126), INT8_C( 20), INT8_C( -93),
565
- INT8_C( 17), INT8_C(-128), INT8_C( 2), INT8_C( 15),
566
- INT8_C(-122), INT8_C( -10), INT8_C( -2), INT8_C( 84),
567
- INT8_C( 93), INT8_C( 89), INT8_C( 57), INT8_C( -50),
568
- INT8_C( 4), INT8_C( -63), INT8_C( 118), INT8_C( 19),
569
- INT8_C( -68), INT8_C( -29), INT8_C( -16), INT8_C( -30),
570
- INT8_C( -76), INT8_C(-110), INT8_C( 121), INT8_C( 87),
571
- INT8_C(-117), INT8_C(-113), INT8_C( -94), INT8_C( 61),
572
- INT8_C( -29), INT8_C( 43), INT8_C( -69), INT8_C( 123),
573
- INT8_C( 79), INT8_C(-101), INT8_C( 40), INT8_C( 64),
574
- INT8_C( 34), INT8_C(-102), INT8_C( 77), INT8_C( 114),
575
- INT8_C( -49), INT8_C( -31), INT8_C( 103), INT8_C( 81)),
576
- simde_mm512_set_epi8(INT8_C( 34), INT8_C(-125), INT8_C( -96), INT8_C(-111),
577
- INT8_C( 23), INT8_C( 58), INT8_C( -5), INT8_C( -22),
578
- INT8_C( -80), INT8_C( -90), INT8_C( -33), INT8_C( -65),
579
- INT8_C( -34), INT8_C( 100), INT8_C( -10), INT8_C( -57),
580
- INT8_C( 37), INT8_C( -9), INT8_C( -29), INT8_C(-114),
581
- INT8_C(-102), INT8_C( 53), INT8_C( 107), INT8_C( 124),
582
- INT8_C( -12), INT8_C( -57), INT8_C( -57), INT8_C( -37),
583
- INT8_C( 50), INT8_C( 22), INT8_C( -71), INT8_C( -2),
584
- INT8_C( -31), INT8_C( 60), INT8_C( 62), INT8_C( 19),
585
- INT8_C( 117), INT8_C( 1), INT8_C( -26), INT8_C(-100),
586
- INT8_C( 29), INT8_C( -6), INT8_C( 7), INT8_C(-100),
587
- INT8_C(-120), INT8_C( -33), INT8_C( 17), INT8_C(-103),
588
- INT8_C( 10), INT8_C( -45), INT8_C( -76), INT8_C( 10),
589
- INT8_C( -10), INT8_C( 15), INT8_C( 36), INT8_C( 2),
590
- INT8_C( 74), INT8_C( 44), INT8_C( -16), INT8_C( 122),
591
- INT8_C( -4), INT8_C( 15), INT8_C( -27), INT8_C( -15)),
592
- simde_mm512_set_epi8(INT8_C( 124), INT8_C(-128), INT8_C(-101), INT8_C(-128),
593
- INT8_C( 126), INT8_C( 18), INT8_C( 30), INT8_C( -60),
594
- INT8_C( 27), INT8_C(-128), INT8_C(-113), INT8_C( 58),
595
- INT8_C( 23), INT8_C( 30), INT8_C( -44), INT8_C( -19),
596
- INT8_C( 127), INT8_C(-128), INT8_C( -9), INT8_C(-128),
597
- INT8_C( -85), INT8_C( -75), INT8_C( 109), INT8_C( 127),
598
- INT8_C(-128), INT8_C( -67), INT8_C( -59), INT8_C( 47),
599
- INT8_C( 127), INT8_C( 111), INT8_C( -14), INT8_C( -52),
600
- INT8_C( -27), INT8_C( -3), INT8_C( 127), INT8_C( 38),
601
- INT8_C( 49), INT8_C( -28), INT8_C( -42), INT8_C(-128),
602
- INT8_C( -47), INT8_C(-116), INT8_C( 127), INT8_C( -13),
603
- INT8_C(-128), INT8_C(-128), INT8_C( -77), INT8_C( -42),
604
- INT8_C( -19), INT8_C( -2), INT8_C(-128), INT8_C( 127),
605
- INT8_C( 69), INT8_C( -86), INT8_C( 76), INT8_C( 66),
606
- INT8_C( 108), INT8_C( -58), INT8_C( 61), INT8_C( 127),
607
- INT8_C( -53), INT8_C( -16), INT8_C( 76), INT8_C( 66)) },
608
- { simde_mm512_set_epi8(INT8_C( -52), INT8_C(-111), INT8_C( 67), INT8_C( -14),
609
- INT8_C( 11), INT8_C( -63), INT8_C( -35), INT8_C( -86),
610
- INT8_C(-114), INT8_C( -97), INT8_C( 124), INT8_C( -30),
611
- INT8_C( -1), INT8_C( 55), INT8_C( 84), INT8_C( 12),
612
- INT8_C( 86), INT8_C( -43), INT8_C( 81), INT8_C( -30),
613
- INT8_C( -25), INT8_C( 74), INT8_C(-105), INT8_C( 11),
614
- INT8_C( -97), INT8_C( 0), INT8_C( 98), INT8_C( 106),
615
- INT8_C( -83), INT8_C( -89), INT8_C( 16), INT8_C( -42),
616
- INT8_C( 81), INT8_C( 35), INT8_C(-127), INT8_C(-127),
617
- INT8_C( -38), INT8_C( 51), INT8_C( -75), INT8_C( 24),
618
- INT8_C( 86), INT8_C( -37), INT8_C( 97), INT8_C( -82),
619
- INT8_C( 109), INT8_C( 21), INT8_C( 127), INT8_C( 16),
620
- INT8_C( 101), INT8_C( -69), INT8_C( 95), INT8_C(-121),
621
- INT8_C( -66), INT8_C( 39), INT8_C( 104), INT8_C(-109),
622
- INT8_C( -1), INT8_C( 35), INT8_C( 68), INT8_C( 93),
623
- INT8_C( -25), INT8_C( 120), INT8_C( -19), INT8_C( 84)),
624
- simde_mm512_set_epi8(INT8_C(-111), INT8_C(-108), INT8_C( 102), INT8_C( -40),
625
- INT8_C(-124), INT8_C( -61), INT8_C( 80), INT8_C( 102),
626
- INT8_C( -35), INT8_C( 3), INT8_C( -76), INT8_C( 98),
627
- INT8_C( 9), INT8_C( -39), INT8_C( -24), INT8_C( -92),
628
- INT8_C( -73), INT8_C( -19), INT8_C(-103), INT8_C( -41),
629
- INT8_C( -32), INT8_C( -8), INT8_C( 126), INT8_C( 75),
630
- INT8_C( -64), INT8_C( -26), INT8_C( -15), INT8_C( -35),
631
- INT8_C( -20), INT8_C( -6), INT8_C( 86), INT8_C( -56),
632
- INT8_C( -56), INT8_C( 67), INT8_C( 59), INT8_C( -73),
633
- INT8_C( 35), INT8_C( -67), INT8_C( 92), INT8_C( 34),
634
- INT8_C( 16), INT8_C( -12), INT8_C( 44), INT8_C( -59),
635
- INT8_C( -82), INT8_C(-102), INT8_C( 93), INT8_C( -43),
636
- INT8_C( 79), INT8_C( -19), INT8_C( -45), INT8_C( -87),
637
- INT8_C( -50), INT8_C( -23), INT8_C( -17), INT8_C( 110),
638
- INT8_C( 102), INT8_C( -59), INT8_C(-117), INT8_C( 84),
639
- INT8_C( -75), INT8_C( 87), INT8_C( 69), INT8_C( -6)),
640
- simde_mm512_set_epi8(INT8_C(-128), INT8_C(-128), INT8_C( 127), INT8_C( -54),
641
- INT8_C(-113), INT8_C(-124), INT8_C( 45), INT8_C( 16),
642
- INT8_C(-128), INT8_C( -94), INT8_C( 48), INT8_C( 68),
643
- INT8_C( 8), INT8_C( 16), INT8_C( 60), INT8_C( -80),
644
- INT8_C( 13), INT8_C( -62), INT8_C( -22), INT8_C( -71),
645
- INT8_C( -57), INT8_C( 66), INT8_C( 21), INT8_C( 86),
646
- INT8_C(-128), INT8_C( -26), INT8_C( 83), INT8_C( 71),
647
- INT8_C(-103), INT8_C( -95), INT8_C( 102), INT8_C( -98),
648
- INT8_C( 25), INT8_C( 102), INT8_C( -68), INT8_C(-128),
649
- INT8_C( -3), INT8_C( -16), INT8_C( 17), INT8_C( 58),
650
- INT8_C( 102), INT8_C( -49), INT8_C( 127), INT8_C(-128),
651
- INT8_C( 27), INT8_C( -81), INT8_C( 127), INT8_C( -27),
652
- INT8_C( 127), INT8_C( -88), INT8_C( 50), INT8_C(-128),
653
- INT8_C(-116), INT8_C( 16), INT8_C( 87), INT8_C( 1),
654
- INT8_C( 101), INT8_C( -24), INT8_C( -49), INT8_C( 127),
655
- INT8_C(-100), INT8_C( 127), INT8_C( 50), INT8_C( 78)) }
656
- };
657
-
658
- for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
659
- simde__m512i r = simde_mm512_adds_epi8(test_vec[i].a, test_vec[i].b);
660
- simde_assert_m512i_i8(r, ==, test_vec[i].r);
661
- }
662
-
663
- return MUNIT_OK;
664
- }
665
-
666
- static MunitResult
667
- test_simde_mm512_adds_epi16(const MunitParameter params[], void* data) {
668
- (void) params;
669
- (void) data;
670
-
671
- const struct {
672
- simde__m512i a;
673
- simde__m512i b;
674
- simde__m512i r;
675
- } test_vec[8] = {
676
- { simde_mm512_set_epi16(INT16_C( 5952), INT16_C(-21138), INT16_C( 23605), INT16_C( -3799),
677
- INT16_C( 1987), INT16_C( 29254), INT16_C( -4184), INT16_C( 13346),
678
- INT16_C( 26203), INT16_C(-24373), INT16_C( 15487), INT16_C( 15569),
679
- INT16_C( 13821), INT16_C( -3315), INT16_C( 30667), INT16_C( 9811),
680
- INT16_C( 22769), INT16_C( 21964), INT16_C( -315), INT16_C(-15723),
681
- INT16_C( -9658), INT16_C(-27088), INT16_C( 18289), INT16_C( 13213),
682
- INT16_C(-12712), INT16_C( 23293), INT16_C( 12497), INT16_C( 16576),
683
- INT16_C(-19358), INT16_C(-11263), INT16_C( -3745), INT16_C( 7925)),
684
- simde_mm512_set_epi16(INT16_C(-22600), INT16_C( 9825), INT16_C( 27347), INT16_C( -4649),
685
- INT16_C( 4812), INT16_C( 27489), INT16_C( 14729), INT16_C(-20872),
686
- INT16_C(-24487), INT16_C( 23053), INT16_C( 28966), INT16_C(-23890),
687
- INT16_C( -9737), INT16_C(-24021), INT16_C( 12009), INT16_C(-16892),
688
- INT16_C(-11018), INT16_C( -7664), INT16_C( 22598), INT16_C( 9112),
689
- INT16_C( -468), INT16_C(-16246), INT16_C( 11633), INT16_C( 3402),
690
- INT16_C( 12940), INT16_C(-18453), INT16_C(-10463), INT16_C(-24372),
691
- INT16_C( 9722), INT16_C( 4912), INT16_C( 14086), INT16_C( -2976)),
692
- simde_mm512_set_epi16(INT16_C(-16648), INT16_C(-11313), INT16_C( 32767), INT16_C( -8448),
693
- INT16_C( 6799), INT16_C( 32767), INT16_C( 10545), INT16_C( -7526),
694
- INT16_C( 1716), INT16_C( -1320), INT16_C( 32767), INT16_C( -8321),
695
- INT16_C( 4084), INT16_C(-27336), INT16_C( 32767), INT16_C( -7081),
696
- INT16_C( 11751), INT16_C( 14300), INT16_C( 22283), INT16_C( -6611),
697
- INT16_C(-10126), INT16_C(-32768), INT16_C( 29922), INT16_C( 16615),
698
- INT16_C( 228), INT16_C( 4840), INT16_C( 2034), INT16_C( -7796),
699
- INT16_C( -9636), INT16_C( -6351), INT16_C( 10341), INT16_C( 4949)) },
700
- { simde_mm512_set_epi16(INT16_C(-21870), INT16_C( -1966), INT16_C(-26101), INT16_C( 8905),
701
- INT16_C(-13069), INT16_C( 13555), INT16_C(-23554), INT16_C(-12947),
702
- INT16_C( 31779), INT16_C( 21013), INT16_C( 32688), INT16_C( 12512),
703
- INT16_C(-26721), INT16_C( 7598), INT16_C( 21566), INT16_C(-11203),
704
- INT16_C( 27021), INT16_C( -8539), INT16_C( -532), INT16_C(-17200),
705
- INT16_C(-18609), INT16_C(-30604), INT16_C( 6829), INT16_C(-13538),
706
- INT16_C( 21529), INT16_C( 29340), INT16_C( 23176), INT16_C( 10860),
707
- INT16_C( 31408), INT16_C( 3656), INT16_C(-30572), INT16_C( -4393)),
708
- simde_mm512_set_epi16(INT16_C( 29137), INT16_C( 29112), INT16_C(-21893), INT16_C( 14830),
709
- INT16_C( 28350), INT16_C( 21222), INT16_C( 26922), INT16_C( 26197),
710
- INT16_C(-25881), INT16_C( 28163), INT16_C(-19268), INT16_C( 10158),
711
- INT16_C(-29245), INT16_C( 16103), INT16_C(-23323), INT16_C( 12478),
712
- INT16_C( -6515), INT16_C( 24007), INT16_C(-28366), INT16_C(-32677),
713
- INT16_C(-27350), INT16_C(-26916), INT16_C(-11979), INT16_C( 13820),
714
- INT16_C(-22393), INT16_C(-20903), INT16_C( -9892), INT16_C(-22447),
715
- INT16_C(-14286), INT16_C( 3532), INT16_C( 19664), INT16_C(-26842)),
716
- simde_mm512_set_epi16(INT16_C( 7267), INT16_C( 27146), INT16_C(-32768), INT16_C( 23735),
717
- INT16_C( 15281), INT16_C( 32767), INT16_C( 3368), INT16_C( 13250),
718
- INT16_C( 5898), INT16_C( 32767), INT16_C( 13420), INT16_C( 22670),
719
- INT16_C(-32768), INT16_C( 23701), INT16_C( -1757), INT16_C( 1275),
720
- INT16_C( 20506), INT16_C( 15468), INT16_C(-28898), INT16_C(-32768),
721
- INT16_C(-32768), INT16_C(-32768), INT16_C( -5150), INT16_C( 282),
722
- INT16_C( -864), INT16_C( 8437), INT16_C( 13284), INT16_C(-11587),
723
- INT16_C( 17122), INT16_C( 7188), INT16_C(-10908), INT16_C(-31235)) },
724
- { simde_mm512_set_epi16(INT16_C(-22689), INT16_C( 25207), INT16_C( -9300), INT16_C( 28977),
725
- INT16_C( 2270), INT16_C(-32394), INT16_C( 26182), INT16_C( 23367),
726
- INT16_C( 31661), INT16_C( 9636), INT16_C(-18580), INT16_C(-28875),
727
- INT16_C(-25943), INT16_C( 14067), INT16_C( 10599), INT16_C( 30831),
728
- INT16_C(-23557), INT16_C( 11377), INT16_C( -4608), INT16_C( 14955),
729
- INT16_C( 11781), INT16_C(-12602), INT16_C( -3223), INT16_C( 11440),
730
- INT16_C( -2896), INT16_C(-24304), INT16_C( 29156), INT16_C( -4347),
731
- INT16_C( -2421), INT16_C( 31033), INT16_C( -3132), INT16_C(-19324)),
732
- simde_mm512_set_epi16(INT16_C( -2724), INT16_C( 4704), INT16_C( 23772), INT16_C(-20368),
733
- INT16_C(-30374), INT16_C( 15838), INT16_C( 19402), INT16_C( 16976),
734
- INT16_C(-28476), INT16_C( -2715), INT16_C(-27679), INT16_C( -8608),
735
- INT16_C(-20120), INT16_C( 29206), INT16_C( -1643), INT16_C(-29856),
736
- INT16_C( 18656), INT16_C( -9660), INT16_C( -4660), INT16_C(-30272),
737
- INT16_C( 610), INT16_C( -3787), INT16_C( 22038), INT16_C(-29446),
738
- INT16_C(-26504), INT16_C(-28984), INT16_C(-21830), INT16_C(-27507),
739
- INT16_C( 24148), INT16_C(-12945), INT16_C( 24529), INT16_C( 7913)),
740
- simde_mm512_set_epi16(INT16_C(-25413), INT16_C( 29911), INT16_C( 14472), INT16_C( 8609),
741
- INT16_C(-28104), INT16_C(-16556), INT16_C( 32767), INT16_C( 32767),
742
- INT16_C( 3185), INT16_C( 6921), INT16_C(-32768), INT16_C(-32768),
743
- INT16_C(-32768), INT16_C( 32767), INT16_C( 8956), INT16_C( 975),
744
- INT16_C( -4901), INT16_C( 1717), INT16_C( -9268), INT16_C(-15317),
745
- INT16_C( 12391), INT16_C(-16389), INT16_C( 18815), INT16_C(-18006),
746
- INT16_C(-29400), INT16_C(-32768), INT16_C( 7326), INT16_C(-31854),
747
- INT16_C( 21727), INT16_C( 18088), INT16_C( 21397), INT16_C(-11411)) },
748
- { simde_mm512_set_epi16(INT16_C(-18069), INT16_C( 21685), INT16_C( -5808), INT16_C( 24672),
749
- INT16_C( -8190), INT16_C( -2830), INT16_C(-23214), INT16_C( 1083),
750
- INT16_C( 6699), INT16_C( 871), INT16_C(-14072), INT16_C( -2337),
751
- INT16_C( 13356), INT16_C( 7260), INT16_C(-23788), INT16_C(-19723),
752
- INT16_C( 13480), INT16_C(-15429), INT16_C(-20153), INT16_C( 18680),
753
- INT16_C(-26180), INT16_C( 27923), INT16_C(-14099), INT16_C( 25829),
754
- INT16_C(-27481), INT16_C( 21639), INT16_C( 16654), INT16_C( 19972),
755
- INT16_C( 15776), INT16_C( 23126), INT16_C( 30799), INT16_C(-14043)),
756
- simde_mm512_set_epi16(INT16_C( 16111), INT16_C(-26103), INT16_C( -8800), INT16_C(-24747),
757
- INT16_C( 27941), INT16_C( 603), INT16_C( -8112), INT16_C(-28325),
758
- INT16_C( -6110), INT16_C(-15530), INT16_C( -938), INT16_C(-26515),
759
- INT16_C( -2492), INT16_C( 16124), INT16_C(-27181), INT16_C( -3573),
760
- INT16_C( 11652), INT16_C( 11646), INT16_C( 6964), INT16_C( 27675),
761
- INT16_C( 13103), INT16_C( -2742), INT16_C( 27906), INT16_C( -1077),
762
- INT16_C(-30636), INT16_C(-23050), INT16_C( 8363), INT16_C( 31350),
763
- INT16_C( -4750), INT16_C( -220), INT16_C( -8954), INT16_C( 15617)),
764
- simde_mm512_set_epi16(INT16_C( -1958), INT16_C( -4418), INT16_C(-14608), INT16_C( -75),
765
- INT16_C( 19751), INT16_C( -2227), INT16_C(-31326), INT16_C(-27242),
766
- INT16_C( 589), INT16_C(-14659), INT16_C(-15010), INT16_C(-28852),
767
- INT16_C( 10864), INT16_C( 23384), INT16_C(-32768), INT16_C(-23296),
768
- INT16_C( 25132), INT16_C( -3783), INT16_C(-13189), INT16_C( 32767),
769
- INT16_C(-13077), INT16_C( 25181), INT16_C( 13807), INT16_C( 24752),
770
- INT16_C(-32768), INT16_C( -1411), INT16_C( 25017), INT16_C( 32767),
771
- INT16_C( 11026), INT16_C( 22906), INT16_C( 21845), INT16_C( 1574)) },
772
- { simde_mm512_set_epi16(INT16_C( 25180), INT16_C(-32332), INT16_C(-18604), INT16_C(-25763),
773
- INT16_C( 28237), INT16_C(-22027), INT16_C( 18301), INT16_C( 27599),
774
- INT16_C( 11815), INT16_C(-14839), INT16_C(-13552), INT16_C( -6300),
775
- INT16_C(-30211), INT16_C(-25552), INT16_C( 7375), INT16_C( 5267),
776
- INT16_C(-14761), INT16_C(-28375), INT16_C(-32756), INT16_C( 13128),
777
- INT16_C( 17683), INT16_C( -4430), INT16_C( -1805), INT16_C(-17763),
778
- INT16_C( 206), INT16_C( 15851), INT16_C( 1078), INT16_C( 27402),
779
- INT16_C(-15177), INT16_C( 5068), INT16_C(-15079), INT16_C(-13584)),
780
- simde_mm512_set_epi16(INT16_C( -3533), INT16_C( -3885), INT16_C( 789), INT16_C( -3755),
781
- INT16_C( 3668), INT16_C( 19955), INT16_C(-22356), INT16_C( 8403),
782
- INT16_C(-16920), INT16_C( 15195), INT16_C( -1853), INT16_C(-12121),
783
- INT16_C( 5095), INT16_C( -9909), INT16_C( 574), INT16_C( 31911),
784
- INT16_C( -1319), INT16_C( -2880), INT16_C(-31000), INT16_C(-30829),
785
- INT16_C(-12917), INT16_C( 21541), INT16_C( 27413), INT16_C(-28040),
786
- INT16_C(-19236), INT16_C(-24178), INT16_C(-29369), INT16_C( -3607),
787
- INT16_C( -2666), INT16_C(-13470), INT16_C( 4416), INT16_C( 23850)),
788
- simde_mm512_set_epi16(INT16_C( 21647), INT16_C(-32768), INT16_C(-17815), INT16_C(-29518),
789
- INT16_C( 31905), INT16_C( -2072), INT16_C( -4055), INT16_C( 32767),
790
- INT16_C( -5105), INT16_C( 356), INT16_C(-15405), INT16_C(-18421),
791
- INT16_C(-25116), INT16_C(-32768), INT16_C( 7949), INT16_C( 32767),
792
- INT16_C(-16080), INT16_C(-31255), INT16_C(-32768), INT16_C(-17701),
793
- INT16_C( 4766), INT16_C( 17111), INT16_C( 25608), INT16_C(-32768),
794
- INT16_C(-19030), INT16_C( -8327), INT16_C(-28291), INT16_C( 23795),
795
- INT16_C(-17843), INT16_C( -8402), INT16_C(-10663), INT16_C( 10266)) },
796
- { simde_mm512_set_epi16(INT16_C( 11424), INT16_C( 29699), INT16_C( 29618), INT16_C(-29898),
797
- INT16_C(-23079), INT16_C( -6822), INT16_C( -7340), INT16_C(-12296),
798
- INT16_C( 17833), INT16_C( -2043), INT16_C(-29766), INT16_C( 30776),
799
- INT16_C(-18161), INT16_C(-32768), INT16_C(-31882), INT16_C( 3163),
800
- INT16_C( 20808), INT16_C(-24577), INT16_C( 7685), INT16_C( 6279),
801
- INT16_C(-27880), INT16_C( 27718), INT16_C(-18275), INT16_C( 24470),
802
- INT16_C( 8834), INT16_C( 20594), INT16_C( 23052), INT16_C(-18860),
803
- INT16_C( 7784), INT16_C(-16668), INT16_C(-30440), INT16_C( 6387)),
804
- simde_mm512_set_epi16(INT16_C( 15054), INT16_C(-23448), INT16_C( 866), INT16_C(-23509),
805
- INT16_C( -2), INT16_C( 6267), INT16_C(-15891), INT16_C(-24685),
806
- INT16_C( 17511), INT16_C( 7218), INT16_C(-13659), INT16_C(-27162),
807
- INT16_C( 10378), INT16_C(-16488), INT16_C(-11578), INT16_C(-27832),
808
- INT16_C(-17566), INT16_C(-29377), INT16_C( -2221), INT16_C( 18656),
809
- INT16_C( 7516), INT16_C(-30776), INT16_C(-19010), INT16_C( 26269),
810
- INT16_C(-18451), INT16_C( 31467), INT16_C(-22066), INT16_C( 30155),
811
- INT16_C( -3394), INT16_C( -6131), INT16_C( 13533), INT16_C( 21770)),
812
- simde_mm512_set_epi16(INT16_C( 26478), INT16_C( 6251), INT16_C( 30484), INT16_C(-32768),
813
- INT16_C(-23081), INT16_C( -555), INT16_C(-23231), INT16_C(-32768),
814
- INT16_C( 32767), INT16_C( 5175), INT16_C(-32768), INT16_C( 3614),
815
- INT16_C( -7783), INT16_C(-32768), INT16_C(-32768), INT16_C(-24669),
816
- INT16_C( 3242), INT16_C(-32768), INT16_C( 5464), INT16_C( 24935),
817
- INT16_C(-20364), INT16_C( -3058), INT16_C(-32768), INT16_C( 32767),
818
- INT16_C( -9617), INT16_C( 32767), INT16_C( 986), INT16_C( 11295),
819
- INT16_C( 4390), INT16_C(-22799), INT16_C(-16907), INT16_C( 28157)) },
820
- { simde_mm512_set_epi16(INT16_C( 11108), INT16_C( 5360), INT16_C( 8246), INT16_C( 2034),
821
- INT16_C( 1485), INT16_C( 28421), INT16_C( 17428), INT16_C(-13900),
822
- INT16_C( 4889), INT16_C( 17148), INT16_C( 13806), INT16_C(-26968),
823
- INT16_C( -7783), INT16_C( 11345), INT16_C( 17472), INT16_C( 26483),
824
- INT16_C(-10340), INT16_C( -7816), INT16_C( 22407), INT16_C( 32028),
825
- INT16_C( 18301), INT16_C(-30148), INT16_C( -4736), INT16_C(-10574),
826
- INT16_C( 10686), INT16_C( -5463), INT16_C( 19858), INT16_C( -4320),
827
- INT16_C(-28154), INT16_C( 8984), INT16_C( 32741), INT16_C( 29052)),
828
- simde_mm512_set_epi16(INT16_C(-22772), INT16_C(-14596), INT16_C( -9458), INT16_C( 2054),
829
- INT16_C(-24090), INT16_C( 1808), INT16_C( 9897), INT16_C( 20003),
830
- INT16_C( 21444), INT16_C( 8548), INT16_C( -1773), INT16_C( 8905),
831
- INT16_C( 14811), INT16_C( 5752), INT16_C(-17876), INT16_C( -7032),
832
- INT16_C(-19669), INT16_C(-30631), INT16_C(-19220), INT16_C( 18906),
833
- INT16_C( 15935), INT16_C( 2767), INT16_C(-30937), INT16_C( 13780),
834
- INT16_C( 28270), INT16_C( 29263), INT16_C( 11106), INT16_C( 19546),
835
- INT16_C( 16947), INT16_C(-29470), INT16_C( -1882), INT16_C(-19990)),
836
- simde_mm512_set_epi16(INT16_C(-11664), INT16_C( -9236), INT16_C( -1212), INT16_C( 4088),
837
- INT16_C(-22605), INT16_C( 30229), INT16_C( 27325), INT16_C( 6103),
838
- INT16_C( 26333), INT16_C( 25696), INT16_C( 12033), INT16_C(-18063),
839
- INT16_C( 7028), INT16_C( 17097), INT16_C( -404), INT16_C( 19451),
840
- INT16_C(-30009), INT16_C(-32768), INT16_C( 3187), INT16_C( 32767),
841
- INT16_C( 32767), INT16_C(-27381), INT16_C(-32768), INT16_C( 3206),
842
- INT16_C( 32767), INT16_C( 23800), INT16_C( 30964), INT16_C( 15226),
843
- INT16_C(-11207), INT16_C(-20486), INT16_C( 30859), INT16_C( 9062)) },
844
- { simde_mm512_set_epi16(INT16_C(-30561), INT16_C( -5745), INT16_C( 32288), INT16_C( 11324),
845
- INT16_C(-18220), INT16_C(-24874), INT16_C(-10154), INT16_C( 15837),
846
- INT16_C( 22748), INT16_C( 6197), INT16_C( 23429), INT16_C(-23495),
847
- INT16_C( -9809), INT16_C(-19367), INT16_C(-10631), INT16_C( -3845),
848
- INT16_C( -5637), INT16_C(-22436), INT16_C( 6126), INT16_C( 16975),
849
- INT16_C( 5830), INT16_C( 26963), INT16_C(-12238), INT16_C( 18631),
850
- INT16_C(-23641), INT16_C(-17151), INT16_C(-13103), INT16_C( 5981),
851
- INT16_C( 25710), INT16_C( 32081), INT16_C(-26911), INT16_C(-20494)),
852
- simde_mm512_set_epi16(INT16_C( 30869), INT16_C(-18069), INT16_C( 6380), INT16_C(-23760),
853
- INT16_C( -6614), INT16_C( 32014), INT16_C( -2152), INT16_C( 25253),
854
- INT16_C( -8172), INT16_C(-22416), INT16_C( 2949), INT16_C( 5712),
855
- INT16_C( 30074), INT16_C( 20521), INT16_C( 28471), INT16_C( -3867),
856
- INT16_C( -3892), INT16_C( 21304), INT16_C( 2611), INT16_C( 5827),
857
- INT16_C(-30009), INT16_C( 31479), INT16_C(-19390), INT16_C( 1047),
858
- INT16_C(-19967), INT16_C( 11404), INT16_C( 25909), INT16_C( 6741),
859
- INT16_C( 1933), INT16_C(-26599), INT16_C(-25469), INT16_C(-30351)),
860
- simde_mm512_set_epi16(INT16_C( 308), INT16_C(-23814), INT16_C( 32767), INT16_C(-12436),
861
- INT16_C(-24834), INT16_C( 7140), INT16_C(-12306), INT16_C( 32767),
862
- INT16_C( 14576), INT16_C(-16219), INT16_C( 26378), INT16_C(-17783),
863
- INT16_C( 20265), INT16_C( 1154), INT16_C( 17840), INT16_C( -7712),
864
- INT16_C( -9529), INT16_C( -1132), INT16_C( 8737), INT16_C( 22802),
865
- INT16_C(-24179), INT16_C( 32767), INT16_C(-31628), INT16_C( 19678),
866
- INT16_C(-32768), INT16_C( -5747), INT16_C( 12806), INT16_C( 12722),
867
- INT16_C( 27643), INT16_C( 5482), INT16_C(-32768), INT16_C(-32768)) }
868
- };
869
-
870
- for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
871
- simde__m512i r = simde_mm512_adds_epi16(test_vec[i].a, test_vec[i].b);
872
- simde_assert_m512i_i16(r, ==, test_vec[i].r);
873
- }
874
-
875
- return MUNIT_OK;
876
- }
877
-
878
- static MunitResult
879
- test_simde_mm512_adds_epu8(const MunitParameter params[], void* data) {
880
- (void) params;
881
- (void) data;
882
-
883
- const struct {
884
- simde__m512i a;
885
- simde__m512i b;
886
- simde__m512i r;
887
- } test_vec[8] = {
888
- { simde_x_mm512_set_epu8(UINT8_C( 52), UINT8_C( 29), UINT8_C( 31), UINT8_C(206),
889
- UINT8_C( 40), UINT8_C(160), UINT8_C(244), UINT8_C( 85),
890
- UINT8_C( 47), UINT8_C(153), UINT8_C(218), UINT8_C(226),
891
- UINT8_C( 99), UINT8_C(129), UINT8_C( 68), UINT8_C(218),
892
- UINT8_C(122), UINT8_C( 56), UINT8_C(240), UINT8_C( 10),
893
- UINT8_C(228), UINT8_C( 40), UINT8_C( 70), UINT8_C( 14),
894
- UINT8_C( 67), UINT8_C( 37), UINT8_C( 87), UINT8_C(131),
895
- UINT8_C( 29), UINT8_C(175), UINT8_C(167), UINT8_C(223),
896
- UINT8_C(170), UINT8_C( 76), UINT8_C( 39), UINT8_C(254),
897
- UINT8_C(222), UINT8_C(105), UINT8_C(193), UINT8_C(144),
898
- UINT8_C(182), UINT8_C(106), UINT8_C(199), UINT8_C(161),
899
- UINT8_C(173), UINT8_C( 65), UINT8_C( 54), UINT8_C(148),
900
- UINT8_C(222), UINT8_C( 9), UINT8_C(237), UINT8_C( 76),
901
- UINT8_C(149), UINT8_C(196), UINT8_C(194), UINT8_C(114),
902
- UINT8_C(167), UINT8_C( 47), UINT8_C(174), UINT8_C(135),
903
- UINT8_C(170), UINT8_C( 1), UINT8_C( 40), UINT8_C( 68)),
904
- simde_x_mm512_set_epu8(UINT8_C(183), UINT8_C(129), UINT8_C(214), UINT8_C( 34),
905
- UINT8_C(187), UINT8_C(142), UINT8_C(238), UINT8_C(248),
906
- UINT8_C(175), UINT8_C(127), UINT8_C(231), UINT8_C(164),
907
- UINT8_C( 16), UINT8_C(128), UINT8_C( 32), UINT8_C( 28),
908
- UINT8_C(111), UINT8_C( 40), UINT8_C( 8), UINT8_C(160),
909
- UINT8_C( 37), UINT8_C(193), UINT8_C(195), UINT8_C(135),
910
- UINT8_C(102), UINT8_C( 87), UINT8_C(146), UINT8_C(206),
911
- UINT8_C( 94), UINT8_C(109), UINT8_C(112), UINT8_C( 83),
912
- UINT8_C( 63), UINT8_C(215), UINT8_C( 46), UINT8_C( 55),
913
- UINT8_C( 78), UINT8_C(211), UINT8_C(175), UINT8_C(210),
914
- UINT8_C( 60), UINT8_C(205), UINT8_C(118), UINT8_C(142),
915
- UINT8_C(109), UINT8_C( 48), UINT8_C( 54), UINT8_C( 54),
916
- UINT8_C( 99), UINT8_C(248), UINT8_C(120), UINT8_C(165),
917
- UINT8_C(189), UINT8_C(132), UINT8_C(130), UINT8_C( 16),
918
- UINT8_C( 6), UINT8_C(104), UINT8_C(176), UINT8_C(111),
919
- UINT8_C(254), UINT8_C(193), UINT8_C(106), UINT8_C( 5)),
920
- simde_x_mm512_set_epu8(UINT8_C(235), UINT8_C(158), UINT8_C(245), UINT8_C(240),
921
- UINT8_C(227), UINT8_C(255), UINT8_C(255), UINT8_C(255),
922
- UINT8_C(222), UINT8_C(255), UINT8_C(255), UINT8_C(255),
923
- UINT8_C(115), UINT8_C(255), UINT8_C(100), UINT8_C(246),
924
- UINT8_C(233), UINT8_C( 96), UINT8_C(248), UINT8_C(170),
925
- UINT8_C(255), UINT8_C(233), UINT8_C(255), UINT8_C(149),
926
- UINT8_C(169), UINT8_C(124), UINT8_C(233), UINT8_C(255),
927
- UINT8_C(123), UINT8_C(255), UINT8_C(255), UINT8_C(255),
928
- UINT8_C(233), UINT8_C(255), UINT8_C( 85), UINT8_C(255),
929
- UINT8_C(255), UINT8_C(255), UINT8_C(255), UINT8_C(255),
930
- UINT8_C(242), UINT8_C(255), UINT8_C(255), UINT8_C(255),
931
- UINT8_C(255), UINT8_C(113), UINT8_C(108), UINT8_C(202),
932
- UINT8_C(255), UINT8_C(255), UINT8_C(255), UINT8_C(241),
933
- UINT8_C(255), UINT8_C(255), UINT8_C(255), UINT8_C(130),
934
- UINT8_C(173), UINT8_C(151), UINT8_C(255), UINT8_C(246),
935
- UINT8_C(255), UINT8_C(194), UINT8_C(146), UINT8_C( 73)) },
936
- { simde_x_mm512_set_epu8(UINT8_C( 38), UINT8_C(254), UINT8_C(204), UINT8_C( 72),
937
- UINT8_C(177), UINT8_C( 63), UINT8_C( 67), UINT8_C( 50),
938
- UINT8_C( 71), UINT8_C(226), UINT8_C(146), UINT8_C( 4),
939
- UINT8_C(134), UINT8_C( 91), UINT8_C(195), UINT8_C(148),
940
- UINT8_C( 28), UINT8_C(158), UINT8_C(223), UINT8_C(181),
941
- UINT8_C(218), UINT8_C(114), UINT8_C(200), UINT8_C(243),
942
- UINT8_C(255), UINT8_C( 48), UINT8_C(233), UINT8_C( 82),
943
- UINT8_C( 22), UINT8_C( 26), UINT8_C(128), UINT8_C(166),
944
- UINT8_C( 79), UINT8_C(206), UINT8_C(109), UINT8_C(113),
945
- UINT8_C( 86), UINT8_C(112), UINT8_C(215), UINT8_C(187),
946
- UINT8_C(174), UINT8_C(250), UINT8_C(225), UINT8_C(206),
947
- UINT8_C(242), UINT8_C(141), UINT8_C(197), UINT8_C(179),
948
- UINT8_C( 88), UINT8_C(237), UINT8_C(191), UINT8_C(149),
949
- UINT8_C(130), UINT8_C( 63), UINT8_C( 54), UINT8_C(129),
950
- UINT8_C(126), UINT8_C( 18), UINT8_C( 43), UINT8_C(251),
951
- UINT8_C(214), UINT8_C(155), UINT8_C( 61), UINT8_C(138)),
952
- simde_x_mm512_set_epu8(UINT8_C(142), UINT8_C( 33), UINT8_C( 51), UINT8_C(244),
953
- UINT8_C( 33), UINT8_C(106), UINT8_C( 75), UINT8_C(210),
954
- UINT8_C(121), UINT8_C( 52), UINT8_C(233), UINT8_C(109),
955
- UINT8_C(205), UINT8_C(175), UINT8_C(230), UINT8_C( 70),
956
- UINT8_C( 28), UINT8_C(216), UINT8_C( 76), UINT8_C(137),
957
- UINT8_C(129), UINT8_C( 5), UINT8_C(149), UINT8_C(132),
958
- UINT8_C(159), UINT8_C( 55), UINT8_C( 47), UINT8_C(212),
959
- UINT8_C(202), UINT8_C( 26), UINT8_C(247), UINT8_C( 19),
960
- UINT8_C(109), UINT8_C( 59), UINT8_C( 49), UINT8_C(175),
961
- UINT8_C( 15), UINT8_C(240), UINT8_C(155), UINT8_C( 20),
962
- UINT8_C( 85), UINT8_C( 57), UINT8_C( 91), UINT8_C(177),
963
- UINT8_C(179), UINT8_C(200), UINT8_C( 26), UINT8_C( 99),
964
- UINT8_C( 9), UINT8_C(177), UINT8_C(151), UINT8_C(246),
965
- UINT8_C(116), UINT8_C(162), UINT8_C(144), UINT8_C( 44),
966
- UINT8_C(240), UINT8_C(226), UINT8_C(215), UINT8_C(206),
967
- UINT8_C(114), UINT8_C(250), UINT8_C(170), UINT8_C(220)),
968
- simde_x_mm512_set_epu8(UINT8_C(180), UINT8_C(255), UINT8_C(255), UINT8_C(255),
969
- UINT8_C(210), UINT8_C(169), UINT8_C(142), UINT8_C(255),
970
- UINT8_C(192), UINT8_C(255), UINT8_C(255), UINT8_C(113),
971
- UINT8_C(255), UINT8_C(255), UINT8_C(255), UINT8_C(218),
972
- UINT8_C( 56), UINT8_C(255), UINT8_C(255), UINT8_C(255),
973
- UINT8_C(255), UINT8_C(119), UINT8_C(255), UINT8_C(255),
974
- UINT8_C(255), UINT8_C(103), UINT8_C(255), UINT8_C(255),
975
- UINT8_C(224), UINT8_C( 52), UINT8_C(255), UINT8_C(185),
976
- UINT8_C(188), UINT8_C(255), UINT8_C(158), UINT8_C(255),
977
- UINT8_C(101), UINT8_C(255), UINT8_C(255), UINT8_C(207),
978
- UINT8_C(255), UINT8_C(255), UINT8_C(255), UINT8_C(255),
979
- UINT8_C(255), UINT8_C(255), UINT8_C(223), UINT8_C(255),
980
- UINT8_C( 97), UINT8_C(255), UINT8_C(255), UINT8_C(255),
981
- UINT8_C(246), UINT8_C(225), UINT8_C(198), UINT8_C(173),
982
- UINT8_C(255), UINT8_C(244), UINT8_C(255), UINT8_C(255),
983
- UINT8_C(255), UINT8_C(255), UINT8_C(231), UINT8_C(255)) },
984
- { simde_x_mm512_set_epu8(UINT8_C(103), UINT8_C(253), UINT8_C( 31), UINT8_C(185),
985
- UINT8_C(101), UINT8_C(201), UINT8_C( 20), UINT8_C( 77),
986
- UINT8_C(110), UINT8_C(116), UINT8_C(226), UINT8_C( 37),
987
- UINT8_C(155), UINT8_C( 44), UINT8_C(198), UINT8_C(182),
988
- UINT8_C(132), UINT8_C( 61), UINT8_C(104), UINT8_C(181),
989
- UINT8_C( 77), UINT8_C(161), UINT8_C(154), UINT8_C(195),
990
- UINT8_C(148), UINT8_C(239), UINT8_C(178), UINT8_C(165),
991
- UINT8_C( 6), UINT8_C(251), UINT8_C( 97), UINT8_C(247),
992
- UINT8_C( 8), UINT8_C( 52), UINT8_C( 96), UINT8_C( 34),
993
- UINT8_C(233), UINT8_C( 1), UINT8_C( 7), UINT8_C(254),
994
- UINT8_C( 3), UINT8_C( 8), UINT8_C(168), UINT8_C(221),
995
- UINT8_C(238), UINT8_C(144), UINT8_C( 18), UINT8_C(245),
996
- UINT8_C(216), UINT8_C(239), UINT8_C(128), UINT8_C(174),
997
- UINT8_C(108), UINT8_C(236), UINT8_C(204), UINT8_C(151),
998
- UINT8_C( 83), UINT8_C(224), UINT8_C(253), UINT8_C( 94),
999
- UINT8_C( 40), UINT8_C( 10), UINT8_C(195), UINT8_C( 72)),
1000
- simde_x_mm512_set_epu8(UINT8_C(196), UINT8_C(220), UINT8_C(209), UINT8_C(146),
1001
- UINT8_C( 66), UINT8_C(240), UINT8_C(160), UINT8_C( 58),
1002
- UINT8_C(206), UINT8_C(157), UINT8_C(225), UINT8_C(238),
1003
- UINT8_C(235), UINT8_C( 53), UINT8_C( 91), UINT8_C( 97),
1004
- UINT8_C(175), UINT8_C( 22), UINT8_C( 33), UINT8_C(101),
1005
- UINT8_C(189), UINT8_C(131), UINT8_C(219), UINT8_C( 30),
1006
- UINT8_C( 36), UINT8_C( 11), UINT8_C(180), UINT8_C( 46),
1007
- UINT8_C(126), UINT8_C(239), UINT8_C(135), UINT8_C( 44),
1008
- UINT8_C(198), UINT8_C(149), UINT8_C(235), UINT8_C( 72),
1009
- UINT8_C( 18), UINT8_C(214), UINT8_C( 92), UINT8_C(199),
1010
- UINT8_C( 79), UINT8_C( 28), UINT8_C(156), UINT8_C( 37),
1011
- UINT8_C(212), UINT8_C(167), UINT8_C( 62), UINT8_C(201),
1012
- UINT8_C(139), UINT8_C(215), UINT8_C( 68), UINT8_C(117),
1013
- UINT8_C( 83), UINT8_C(105), UINT8_C(232), UINT8_C(251),
1014
- UINT8_C( 6), UINT8_C(165), UINT8_C(199), UINT8_C(183),
1015
- UINT8_C(254), UINT8_C( 55), UINT8_C(167), UINT8_C(238)),
1016
- simde_x_mm512_set_epu8(UINT8_C(255), UINT8_C(255), UINT8_C(240), UINT8_C(255),
1017
- UINT8_C(167), UINT8_C(255), UINT8_C(180), UINT8_C(135),
1018
- UINT8_C(255), UINT8_C(255), UINT8_C(255), UINT8_C(255),
1019
- UINT8_C(255), UINT8_C( 97), UINT8_C(255), UINT8_C(255),
1020
- UINT8_C(255), UINT8_C( 83), UINT8_C(137), UINT8_C(255),
1021
- UINT8_C(255), UINT8_C(255), UINT8_C(255), UINT8_C(225),
1022
- UINT8_C(184), UINT8_C(250), UINT8_C(255), UINT8_C(211),
1023
- UINT8_C(132), UINT8_C(255), UINT8_C(232), UINT8_C(255),
1024
- UINT8_C(206), UINT8_C(201), UINT8_C(255), UINT8_C(106),
1025
- UINT8_C(251), UINT8_C(215), UINT8_C( 99), UINT8_C(255),
1026
- UINT8_C( 82), UINT8_C( 36), UINT8_C(255), UINT8_C(255),
1027
- UINT8_C(255), UINT8_C(255), UINT8_C( 80), UINT8_C(255),
1028
- UINT8_C(255), UINT8_C(255), UINT8_C(196), UINT8_C(255),
1029
- UINT8_C(191), UINT8_C(255), UINT8_C(255), UINT8_C(255),
1030
- UINT8_C( 89), UINT8_C(255), UINT8_C(255), UINT8_C(255),
1031
- UINT8_C(255), UINT8_C( 65), UINT8_C(255), UINT8_C(255)) },
1032
- { simde_x_mm512_set_epu8(UINT8_C( 7), UINT8_C( 99), UINT8_C(210), UINT8_C(110),
1033
- UINT8_C(202), UINT8_C( 10), UINT8_C(247), UINT8_C( 68),
1034
- UINT8_C(177), UINT8_C(186), UINT8_C(247), UINT8_C( 36),
1035
- UINT8_C(212), UINT8_C(146), UINT8_C(251), UINT8_C( 66),
1036
- UINT8_C( 0), UINT8_C( 8), UINT8_C(116), UINT8_C(102),
1037
- UINT8_C(175), UINT8_C(223), UINT8_C( 15), UINT8_C(232),
1038
- UINT8_C(127), UINT8_C( 63), UINT8_C( 84), UINT8_C(165),
1039
- UINT8_C( 18), UINT8_C(250), UINT8_C( 71), UINT8_C( 18),
1040
- UINT8_C(132), UINT8_C(155), UINT8_C(102), UINT8_C( 18),
1041
- UINT8_C(177), UINT8_C(146), UINT8_C(169), UINT8_C(139),
1042
- UINT8_C( 21), UINT8_C( 79), UINT8_C( 4), UINT8_C(129),
1043
- UINT8_C(168), UINT8_C( 42), UINT8_C( 9), UINT8_C(184),
1044
- UINT8_C( 46), UINT8_C( 53), UINT8_C(243), UINT8_C(140),
1045
- UINT8_C(158), UINT8_C(112), UINT8_C( 35), UINT8_C( 49),
1046
- UINT8_C(253), UINT8_C(233), UINT8_C( 33), UINT8_C(178),
1047
- UINT8_C(117), UINT8_C(161), UINT8_C(168), UINT8_C( 39)),
1048
- simde_x_mm512_set_epu8(UINT8_C( 75), UINT8_C(218), UINT8_C(162), UINT8_C( 30),
1049
- UINT8_C(119), UINT8_C(231), UINT8_C(193), UINT8_C(230),
1050
- UINT8_C(151), UINT8_C( 49), UINT8_C(234), UINT8_C( 78),
1051
- UINT8_C( 76), UINT8_C( 37), UINT8_C(174), UINT8_C(105),
1052
- UINT8_C(224), UINT8_C(210), UINT8_C(188), UINT8_C(142),
1053
- UINT8_C(116), UINT8_C(129), UINT8_C( 93), UINT8_C(124),
1054
- UINT8_C(248), UINT8_C(145), UINT8_C(230), UINT8_C( 41),
1055
- UINT8_C( 66), UINT8_C(115), UINT8_C(180), UINT8_C( 47),
1056
- UINT8_C( 55), UINT8_C(104), UINT8_C(123), UINT8_C(150),
1057
- UINT8_C(165), UINT8_C( 22), UINT8_C( 0), UINT8_C(101),
1058
- UINT8_C( 55), UINT8_C( 23), UINT8_C( 90), UINT8_C( 64),
1059
- UINT8_C( 52), UINT8_C(254), UINT8_C(116), UINT8_C(243),
1060
- UINT8_C( 4), UINT8_C( 84), UINT8_C( 82), UINT8_C(103),
1061
- UINT8_C( 43), UINT8_C(237), UINT8_C( 7), UINT8_C( 76),
1062
- UINT8_C( 88), UINT8_C(212), UINT8_C( 63), UINT8_C(146),
1063
- UINT8_C(224), UINT8_C(223), UINT8_C(207), UINT8_C(220)),
1064
- simde_x_mm512_set_epu8(UINT8_C( 82), UINT8_C(255), UINT8_C(255), UINT8_C(140),
1065
- UINT8_C(255), UINT8_C(241), UINT8_C(255), UINT8_C(255),
1066
- UINT8_C(255), UINT8_C(235), UINT8_C(255), UINT8_C(114),
1067
- UINT8_C(255), UINT8_C(183), UINT8_C(255), UINT8_C(171),
1068
- UINT8_C(224), UINT8_C(218), UINT8_C(255), UINT8_C(244),
1069
- UINT8_C(255), UINT8_C(255), UINT8_C(108), UINT8_C(255),
1070
- UINT8_C(255), UINT8_C(208), UINT8_C(255), UINT8_C(206),
1071
- UINT8_C( 84), UINT8_C(255), UINT8_C(251), UINT8_C( 65),
1072
- UINT8_C(187), UINT8_C(255), UINT8_C(225), UINT8_C(168),
1073
- UINT8_C(255), UINT8_C(168), UINT8_C(169), UINT8_C(240),
1074
- UINT8_C( 76), UINT8_C(102), UINT8_C( 94), UINT8_C(193),
1075
- UINT8_C(220), UINT8_C(255), UINT8_C(125), UINT8_C(255),
1076
- UINT8_C( 50), UINT8_C(137), UINT8_C(255), UINT8_C(243),
1077
- UINT8_C(201), UINT8_C(255), UINT8_C( 42), UINT8_C(125),
1078
- UINT8_C(255), UINT8_C(255), UINT8_C( 96), UINT8_C(255),
1079
- UINT8_C(255), UINT8_C(255), UINT8_C(255), UINT8_C(255)) },
1080
- { simde_x_mm512_set_epu8(UINT8_C(233), UINT8_C(112), UINT8_C( 62), UINT8_C( 65),
1081
- UINT8_C( 37), UINT8_C(247), UINT8_C(105), UINT8_C( 54),
1082
- UINT8_C(214), UINT8_C(255), UINT8_C(145), UINT8_C( 18),
1083
- UINT8_C(160), UINT8_C( 92), UINT8_C( 29), UINT8_C(253),
1084
- UINT8_C(230), UINT8_C( 83), UINT8_C(176), UINT8_C( 43),
1085
- UINT8_C( 78), UINT8_C( 31), UINT8_C(113), UINT8_C(239),
1086
- UINT8_C( 38), UINT8_C(192), UINT8_C(127), UINT8_C( 44),
1087
- UINT8_C(218), UINT8_C(134), UINT8_C(224), UINT8_C( 35),
1088
- UINT8_C(155), UINT8_C(171), UINT8_C( 44), UINT8_C( 53),
1089
- UINT8_C(101), UINT8_C(234), UINT8_C(121), UINT8_C( 95),
1090
- UINT8_C(232), UINT8_C(104), UINT8_C( 20), UINT8_C( 52),
1091
- UINT8_C( 59), UINT8_C( 62), UINT8_C( 55), UINT8_C( 43),
1092
- UINT8_C(246), UINT8_C( 36), UINT8_C( 25), UINT8_C( 98),
1093
- UINT8_C(155), UINT8_C(231), UINT8_C( 43), UINT8_C(203),
1094
- UINT8_C( 77), UINT8_C( 43), UINT8_C( 80), UINT8_C( 85),
1095
- UINT8_C(227), UINT8_C( 34), UINT8_C( 77), UINT8_C(179)),
1096
- simde_x_mm512_set_epu8(UINT8_C( 68), UINT8_C(183), UINT8_C(190), UINT8_C(248),
1097
- UINT8_C( 54), UINT8_C(194), UINT8_C( 0), UINT8_C(190),
1098
- UINT8_C(102), UINT8_C(185), UINT8_C( 5), UINT8_C(238),
1099
- UINT8_C(188), UINT8_C(104), UINT8_C(139), UINT8_C(163),
1100
- UINT8_C(242), UINT8_C( 94), UINT8_C(181), UINT8_C(214),
1101
- UINT8_C(170), UINT8_C(182), UINT8_C(139), UINT8_C( 96),
1102
- UINT8_C( 80), UINT8_C( 38), UINT8_C(151), UINT8_C(132),
1103
- UINT8_C(243), UINT8_C( 37), UINT8_C(120), UINT8_C( 30),
1104
- UINT8_C(115), UINT8_C( 34), UINT8_C(222), UINT8_C(121),
1105
- UINT8_C(112), UINT8_C(205), UINT8_C(161), UINT8_C( 52),
1106
- UINT8_C(142), UINT8_C(118), UINT8_C(195), UINT8_C(200),
1107
- UINT8_C( 59), UINT8_C( 6), UINT8_C(115), UINT8_C(109),
1108
- UINT8_C( 93), UINT8_C(174), UINT8_C(200), UINT8_C(190),
1109
- UINT8_C(151), UINT8_C(126), UINT8_C(210), UINT8_C(200),
1110
- UINT8_C( 79), UINT8_C( 43), UINT8_C( 20), UINT8_C(239),
1111
- UINT8_C(149), UINT8_C(119), UINT8_C( 96), UINT8_C(120)),
1112
- simde_x_mm512_set_epu8(UINT8_C(255), UINT8_C(255), UINT8_C(252), UINT8_C(255),
1113
- UINT8_C( 91), UINT8_C(255), UINT8_C(105), UINT8_C(244),
1114
- UINT8_C(255), UINT8_C(255), UINT8_C(150), UINT8_C(255),
1115
- UINT8_C(255), UINT8_C(196), UINT8_C(168), UINT8_C(255),
1116
- UINT8_C(255), UINT8_C(177), UINT8_C(255), UINT8_C(255),
1117
- UINT8_C(248), UINT8_C(213), UINT8_C(252), UINT8_C(255),
1118
- UINT8_C(118), UINT8_C(230), UINT8_C(255), UINT8_C(176),
1119
- UINT8_C(255), UINT8_C(171), UINT8_C(255), UINT8_C( 65),
1120
- UINT8_C(255), UINT8_C(205), UINT8_C(255), UINT8_C(174),
1121
- UINT8_C(213), UINT8_C(255), UINT8_C(255), UINT8_C(147),
1122
- UINT8_C(255), UINT8_C(222), UINT8_C(215), UINT8_C(252),
1123
- UINT8_C(118), UINT8_C( 68), UINT8_C(170), UINT8_C(152),
1124
- UINT8_C(255), UINT8_C(210), UINT8_C(225), UINT8_C(255),
1125
- UINT8_C(255), UINT8_C(255), UINT8_C(253), UINT8_C(255),
1126
- UINT8_C(156), UINT8_C( 86), UINT8_C(100), UINT8_C(255),
1127
- UINT8_C(255), UINT8_C(153), UINT8_C(173), UINT8_C(255)) },
1128
- { simde_x_mm512_set_epu8(UINT8_C(150), UINT8_C(150), UINT8_C(146), UINT8_C(157),
1129
- UINT8_C(103), UINT8_C( 31), UINT8_C(236), UINT8_C(192),
1130
- UINT8_C(155), UINT8_C( 46), UINT8_C(170), UINT8_C(176),
1131
- UINT8_C(189), UINT8_C( 74), UINT8_C(246), UINT8_C( 0),
1132
- UINT8_C( 85), UINT8_C( 30), UINT8_C(190), UINT8_C( 12),
1133
- UINT8_C(117), UINT8_C( 74), UINT8_C(194), UINT8_C( 97),
1134
- UINT8_C(132), UINT8_C( 63), UINT8_C(227), UINT8_C( 21),
1135
- UINT8_C(244), UINT8_C(229), UINT8_C(176), UINT8_C(122),
1136
- UINT8_C(159), UINT8_C( 35), UINT8_C(115), UINT8_C(240),
1137
- UINT8_C( 88), UINT8_C(151), UINT8_C(101), UINT8_C(194),
1138
- UINT8_C( 49), UINT8_C(128), UINT8_C( 87), UINT8_C(152),
1139
- UINT8_C(173), UINT8_C(242), UINT8_C(150), UINT8_C( 26),
1140
- UINT8_C(183), UINT8_C( 56), UINT8_C(181), UINT8_C(193),
1141
- UINT8_C(231), UINT8_C(135), UINT8_C(190), UINT8_C( 42),
1142
- UINT8_C( 33), UINT8_C(174), UINT8_C( 57), UINT8_C(232),
1143
- UINT8_C(176), UINT8_C(125), UINT8_C( 87), UINT8_C( 79)),
1144
- simde_x_mm512_set_epu8(UINT8_C( 68), UINT8_C( 1), UINT8_C(208), UINT8_C( 74),
1145
- UINT8_C(102), UINT8_C(168), UINT8_C( 41), UINT8_C( 41),
1146
- UINT8_C( 83), UINT8_C( 95), UINT8_C(152), UINT8_C(131),
1147
- UINT8_C(230), UINT8_C( 27), UINT8_C(126), UINT8_C(230),
1148
- UINT8_C(128), UINT8_C(133), UINT8_C(107), UINT8_C(197),
1149
- UINT8_C( 23), UINT8_C( 2), UINT8_C(108), UINT8_C(207),
1150
- UINT8_C( 82), UINT8_C(175), UINT8_C(247), UINT8_C(180),
1151
- UINT8_C( 57), UINT8_C( 31), UINT8_C(124), UINT8_C(203),
1152
- UINT8_C(246), UINT8_C(195), UINT8_C(173), UINT8_C(161),
1153
- UINT8_C(132), UINT8_C(162), UINT8_C( 13), UINT8_C(205),
1154
- UINT8_C(225), UINT8_C( 25), UINT8_C( 39), UINT8_C(181),
1155
- UINT8_C(149), UINT8_C(149), UINT8_C(138), UINT8_C(158),
1156
- UINT8_C(215), UINT8_C(147), UINT8_C( 0), UINT8_C( 87),
1157
- UINT8_C(244), UINT8_C( 10), UINT8_C( 1), UINT8_C( 19),
1158
- UINT8_C(173), UINT8_C(221), UINT8_C(118), UINT8_C( 51),
1159
- UINT8_C( 98), UINT8_C(183), UINT8_C(125), UINT8_C( 92)),
1160
- simde_x_mm512_set_epu8(UINT8_C(218), UINT8_C(151), UINT8_C(255), UINT8_C(231),
1161
- UINT8_C(205), UINT8_C(199), UINT8_C(255), UINT8_C(233),
1162
- UINT8_C(238), UINT8_C(141), UINT8_C(255), UINT8_C(255),
1163
- UINT8_C(255), UINT8_C(101), UINT8_C(255), UINT8_C(230),
1164
- UINT8_C(213), UINT8_C(163), UINT8_C(255), UINT8_C(209),
1165
- UINT8_C(140), UINT8_C( 76), UINT8_C(255), UINT8_C(255),
1166
- UINT8_C(214), UINT8_C(238), UINT8_C(255), UINT8_C(201),
1167
- UINT8_C(255), UINT8_C(255), UINT8_C(255), UINT8_C(255),
1168
- UINT8_C(255), UINT8_C(230), UINT8_C(255), UINT8_C(255),
1169
- UINT8_C(220), UINT8_C(255), UINT8_C(114), UINT8_C(255),
1170
- UINT8_C(255), UINT8_C(153), UINT8_C(126), UINT8_C(255),
1171
- UINT8_C(255), UINT8_C(255), UINT8_C(255), UINT8_C(184),
1172
- UINT8_C(255), UINT8_C(203), UINT8_C(181), UINT8_C(255),
1173
- UINT8_C(255), UINT8_C(145), UINT8_C(191), UINT8_C( 61),
1174
- UINT8_C(206), UINT8_C(255), UINT8_C(175), UINT8_C(255),
1175
- UINT8_C(255), UINT8_C(255), UINT8_C(212), UINT8_C(171)) },
1176
- { simde_x_mm512_set_epu8(UINT8_C(166), UINT8_C(112), UINT8_C( 16), UINT8_C( 20),
1177
- UINT8_C(189), UINT8_C( 23), UINT8_C( 28), UINT8_C(226),
1178
- UINT8_C( 92), UINT8_C(105), UINT8_C(249), UINT8_C( 71),
1179
- UINT8_C( 22), UINT8_C(153), UINT8_C( 38), UINT8_C( 58),
1180
- UINT8_C( 86), UINT8_C(191), UINT8_C( 97), UINT8_C(186),
1181
- UINT8_C(117), UINT8_C( 93), UINT8_C( 63), UINT8_C(142),
1182
- UINT8_C( 82), UINT8_C(123), UINT8_C(210), UINT8_C(159),
1183
- UINT8_C(175), UINT8_C(187), UINT8_C( 33), UINT8_C(134),
1184
- UINT8_C(156), UINT8_C(243), UINT8_C(191), UINT8_C(139),
1185
- UINT8_C(173), UINT8_C( 70), UINT8_C(113), UINT8_C( 30),
1186
- UINT8_C(184), UINT8_C( 82), UINT8_C(234), UINT8_C(177),
1187
- UINT8_C(234), UINT8_C(131), UINT8_C(180), UINT8_C( 12),
1188
- UINT8_C( 47), UINT8_C(213), UINT8_C( 54), UINT8_C(222),
1189
- UINT8_C(114), UINT8_C(251), UINT8_C(236), UINT8_C( 57),
1190
- UINT8_C(205), UINT8_C(187), UINT8_C( 48), UINT8_C(112),
1191
- UINT8_C( 34), UINT8_C( 49), UINT8_C( 95), UINT8_C(198)),
1192
- simde_x_mm512_set_epu8(UINT8_C(116), UINT8_C(101), UINT8_C(212), UINT8_C(199),
1193
- UINT8_C( 88), UINT8_C(165), UINT8_C(253), UINT8_C( 88),
1194
- UINT8_C(138), UINT8_C( 27), UINT8_C(153), UINT8_C(155),
1195
- UINT8_C(248), UINT8_C(175), UINT8_C(152), UINT8_C(246),
1196
- UINT8_C( 17), UINT8_C(224), UINT8_C( 49), UINT8_C(127),
1197
- UINT8_C(200), UINT8_C( 46), UINT8_C( 58), UINT8_C(159),
1198
- UINT8_C(177), UINT8_C( 24), UINT8_C(139), UINT8_C(240),
1199
- UINT8_C( 45), UINT8_C(115), UINT8_C(179), UINT8_C(230),
1200
- UINT8_C(249), UINT8_C(217), UINT8_C(202), UINT8_C( 21),
1201
- UINT8_C(134), UINT8_C(111), UINT8_C( 79), UINT8_C(153),
1202
- UINT8_C(130), UINT8_C( 83), UINT8_C(196), UINT8_C(101),
1203
- UINT8_C(151), UINT8_C(117), UINT8_C(152), UINT8_C(155),
1204
- UINT8_C(116), UINT8_C(201), UINT8_C(241), UINT8_C( 71),
1205
- UINT8_C( 24), UINT8_C(105), UINT8_C(212), UINT8_C(191),
1206
- UINT8_C( 1), UINT8_C(252), UINT8_C( 15), UINT8_C( 49),
1207
- UINT8_C(105), UINT8_C(159), UINT8_C(109), UINT8_C( 31)),
1208
- simde_x_mm512_set_epu8(UINT8_C(255), UINT8_C(213), UINT8_C(228), UINT8_C(219),
1209
- UINT8_C(255), UINT8_C(188), UINT8_C(255), UINT8_C(255),
1210
- UINT8_C(230), UINT8_C(132), UINT8_C(255), UINT8_C(226),
1211
- UINT8_C(255), UINT8_C(255), UINT8_C(190), UINT8_C(255),
1212
- UINT8_C(103), UINT8_C(255), UINT8_C(146), UINT8_C(255),
1213
- UINT8_C(255), UINT8_C(139), UINT8_C(121), UINT8_C(255),
1214
- UINT8_C(255), UINT8_C(147), UINT8_C(255), UINT8_C(255),
1215
- UINT8_C(220), UINT8_C(255), UINT8_C(212), UINT8_C(255),
1216
- UINT8_C(255), UINT8_C(255), UINT8_C(255), UINT8_C(160),
1217
- UINT8_C(255), UINT8_C(181), UINT8_C(192), UINT8_C(183),
1218
- UINT8_C(255), UINT8_C(165), UINT8_C(255), UINT8_C(255),
1219
- UINT8_C(255), UINT8_C(248), UINT8_C(255), UINT8_C(167),
1220
- UINT8_C(163), UINT8_C(255), UINT8_C(255), UINT8_C(255),
1221
- UINT8_C(138), UINT8_C(255), UINT8_C(255), UINT8_C(248),
1222
- UINT8_C(206), UINT8_C(255), UINT8_C( 63), UINT8_C(161),
1223
- UINT8_C(139), UINT8_C(208), UINT8_C(204), UINT8_C(229)) },
1224
- { simde_x_mm512_set_epu8(UINT8_C(239), UINT8_C(174), UINT8_C( 81), UINT8_C( 89),
1225
- UINT8_C( 63), UINT8_C(160), UINT8_C(219), UINT8_C(204),
1226
- UINT8_C(161), UINT8_C( 4), UINT8_C(134), UINT8_C(137),
1227
- UINT8_C( 48), UINT8_C( 33), UINT8_C(178), UINT8_C(122),
1228
- UINT8_C( 99), UINT8_C(167), UINT8_C( 95), UINT8_C(109),
1229
- UINT8_C( 38), UINT8_C(191), UINT8_C( 3), UINT8_C( 48),
1230
- UINT8_C(143), UINT8_C( 51), UINT8_C( 81), UINT8_C( 76),
1231
- UINT8_C(251), UINT8_C(204), UINT8_C(198), UINT8_C( 1),
1232
- UINT8_C(175), UINT8_C(123), UINT8_C( 24), UINT8_C(237),
1233
- UINT8_C(190), UINT8_C( 62), UINT8_C( 87), UINT8_C(255),
1234
- UINT8_C(119), UINT8_C(202), UINT8_C( 4), UINT8_C( 40),
1235
- UINT8_C(152), UINT8_C(128), UINT8_C(116), UINT8_C( 72),
1236
- UINT8_C(245), UINT8_C(148), UINT8_C( 39), UINT8_C(106),
1237
- UINT8_C(195), UINT8_C(186), UINT8_C(241), UINT8_C(178),
1238
- UINT8_C( 68), UINT8_C(210), UINT8_C( 61), UINT8_C(218),
1239
- UINT8_C(116), UINT8_C( 98), UINT8_C( 41), UINT8_C( 22)),
1240
- simde_x_mm512_set_epu8(UINT8_C( 3), UINT8_C(245), UINT8_C( 8), UINT8_C(179),
1241
- UINT8_C(242), UINT8_C( 19), UINT8_C(107), UINT8_C(170),
1242
- UINT8_C(178), UINT8_C(175), UINT8_C(174), UINT8_C(170),
1243
- UINT8_C( 72), UINT8_C(195), UINT8_C(199), UINT8_C( 66),
1244
- UINT8_C(182), UINT8_C(183), UINT8_C( 58), UINT8_C(245),
1245
- UINT8_C( 62), UINT8_C( 31), UINT8_C( 93), UINT8_C( 74),
1246
- UINT8_C(114), UINT8_C( 92), UINT8_C(199), UINT8_C( 53),
1247
- UINT8_C( 94), UINT8_C(185), UINT8_C(107), UINT8_C(124),
1248
- UINT8_C(160), UINT8_C(193), UINT8_C( 17), UINT8_C( 65),
1249
- UINT8_C(242), UINT8_C( 55), UINT8_C(163), UINT8_C(102),
1250
- UINT8_C( 59), UINT8_C(173), UINT8_C(244), UINT8_C(232),
1251
- UINT8_C(182), UINT8_C(139), UINT8_C(254), UINT8_C( 81),
1252
- UINT8_C(228), UINT8_C(175), UINT8_C(104), UINT8_C(167),
1253
- UINT8_C( 38), UINT8_C(114), UINT8_C(184), UINT8_C(118),
1254
- UINT8_C(167), UINT8_C( 58), UINT8_C(153), UINT8_C(103),
1255
- UINT8_C(204), UINT8_C(126), UINT8_C(111), UINT8_C( 63)),
1256
- simde_x_mm512_set_epu8(UINT8_C(242), UINT8_C(255), UINT8_C( 89), UINT8_C(255),
1257
- UINT8_C(255), UINT8_C(179), UINT8_C(255), UINT8_C(255),
1258
- UINT8_C(255), UINT8_C(179), UINT8_C(255), UINT8_C(255),
1259
- UINT8_C(120), UINT8_C(228), UINT8_C(255), UINT8_C(188),
1260
- UINT8_C(255), UINT8_C(255), UINT8_C(153), UINT8_C(255),
1261
- UINT8_C(100), UINT8_C(222), UINT8_C( 96), UINT8_C(122),
1262
- UINT8_C(255), UINT8_C(143), UINT8_C(255), UINT8_C(129),
1263
- UINT8_C(255), UINT8_C(255), UINT8_C(255), UINT8_C(125),
1264
- UINT8_C(255), UINT8_C(255), UINT8_C( 41), UINT8_C(255),
1265
- UINT8_C(255), UINT8_C(117), UINT8_C(250), UINT8_C(255),
1266
- UINT8_C(178), UINT8_C(255), UINT8_C(248), UINT8_C(255),
1267
- UINT8_C(255), UINT8_C(255), UINT8_C(255), UINT8_C(153),
1268
- UINT8_C(255), UINT8_C(255), UINT8_C(143), UINT8_C(255),
1269
- UINT8_C(233), UINT8_C(255), UINT8_C(255), UINT8_C(255),
1270
- UINT8_C(235), UINT8_C(255), UINT8_C(214), UINT8_C(255),
1271
- UINT8_C(255), UINT8_C(224), UINT8_C(152), UINT8_C( 85)) }
1272
- };
1273
-
1274
- for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
1275
- simde__m512i r = simde_mm512_adds_epu8(test_vec[i].a, test_vec[i].b);
1276
- simde_assert_m512i_u8(r, ==, test_vec[i].r);
1277
- }
1278
-
1279
- return MUNIT_OK;
1280
- }
1281
-
1282
- static MunitResult
1283
- test_simde_mm512_adds_epu16(const MunitParameter params[], void* data) {
1284
- (void) params;
1285
- (void) data;
1286
-
1287
- const struct {
1288
- simde__m512i a;
1289
- simde__m512i b;
1290
- simde__m512i r;
1291
- } test_vec[8] = {
1292
- { simde_x_mm512_set_epu16(UINT16_C( 57245), UINT16_C( 31803), UINT16_C( 9053), UINT16_C( 21282),
1293
- UINT16_C( 45515), UINT16_C( 57894), UINT16_C( 50445), UINT16_C( 50583),
1294
- UINT16_C( 54723), UINT16_C( 52144), UINT16_C( 13347), UINT16_C( 57624),
1295
- UINT16_C( 20975), UINT16_C( 65317), UINT16_C( 16493), UINT16_C( 47193),
1296
- UINT16_C( 8805), UINT16_C( 17012), UINT16_C( 15383), UINT16_C( 5484),
1297
- UINT16_C( 64480), UINT16_C( 10898), UINT16_C( 37488), UINT16_C( 8763),
1298
- UINT16_C( 45480), UINT16_C( 3307), UINT16_C( 9193), UINT16_C( 26229),
1299
- UINT16_C( 20008), UINT16_C( 59713), UINT16_C( 53564), UINT16_C( 62675)),
1300
- simde_x_mm512_set_epu16(UINT16_C( 56619), UINT16_C( 61703), UINT16_C( 3086), UINT16_C( 41224),
1301
- UINT16_C( 8421), UINT16_C( 52766), UINT16_C( 7424), UINT16_C( 48822),
1302
- UINT16_C( 41975), UINT16_C( 22918), UINT16_C( 59915), UINT16_C( 26727),
1303
- UINT16_C( 53323), UINT16_C( 34707), UINT16_C( 14572), UINT16_C( 716),
1304
- UINT16_C( 56087), UINT16_C( 9094), UINT16_C( 20814), UINT16_C( 56962),
1305
- UINT16_C( 14110), UINT16_C( 52082), UINT16_C( 8468), UINT16_C( 11854),
1306
- UINT16_C( 1576), UINT16_C( 12690), UINT16_C( 32737), UINT16_C( 51663),
1307
- UINT16_C( 37115), UINT16_C( 18115), UINT16_C( 50682), UINT16_C( 1653)),
1308
- simde_x_mm512_set_epu16(UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 12139), UINT16_C( 62506),
1309
- UINT16_C( 53936), UINT16_C( 65535), UINT16_C( 57869), UINT16_C( 65535),
1310
- UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 65535),
1311
- UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 31065), UINT16_C( 47909),
1312
- UINT16_C( 64892), UINT16_C( 26106), UINT16_C( 36197), UINT16_C( 62446),
1313
- UINT16_C( 65535), UINT16_C( 62980), UINT16_C( 45956), UINT16_C( 20617),
1314
- UINT16_C( 47056), UINT16_C( 15997), UINT16_C( 41930), UINT16_C( 65535),
1315
- UINT16_C( 57123), UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 64328)) },
1316
- { simde_x_mm512_set_epu16(UINT16_C( 1128), UINT16_C( 14143), UINT16_C( 19763), UINT16_C( 47819),
1317
- UINT16_C( 62972), UINT16_C( 13428), UINT16_C( 18537), UINT16_C( 38297),
1318
- UINT16_C( 21721), UINT16_C( 58861), UINT16_C( 42577), UINT16_C( 39379),
1319
- UINT16_C( 55643), UINT16_C( 20439), UINT16_C( 34514), UINT16_C( 49721),
1320
- UINT16_C( 18526), UINT16_C( 46886), UINT16_C( 20377), UINT16_C( 31658),
1321
- UINT16_C( 32537), UINT16_C( 50044), UINT16_C( 28503), UINT16_C( 5895),
1322
- UINT16_C( 1666), UINT16_C( 50137), UINT16_C( 30976), UINT16_C( 4047),
1323
- UINT16_C( 24589), UINT16_C( 29183), UINT16_C( 13128), UINT16_C( 3541)),
1324
- simde_x_mm512_set_epu16(UINT16_C( 38521), UINT16_C( 64382), UINT16_C( 35873), UINT16_C( 42497),
1325
- UINT16_C( 46178), UINT16_C( 38904), UINT16_C( 15657), UINT16_C( 6453),
1326
- UINT16_C( 15377), UINT16_C( 45418), UINT16_C( 38208), UINT16_C( 44948),
1327
- UINT16_C( 17985), UINT16_C( 28923), UINT16_C( 11094), UINT16_C( 61254),
1328
- UINT16_C( 41028), UINT16_C( 4939), UINT16_C( 61438), UINT16_C( 34821),
1329
- UINT16_C( 9578), UINT16_C( 46329), UINT16_C( 53213), UINT16_C( 42297),
1330
- UINT16_C( 42846), UINT16_C( 12973), UINT16_C( 32628), UINT16_C( 10992),
1331
- UINT16_C( 56871), UINT16_C( 37695), UINT16_C( 16317), UINT16_C( 4356)),
1332
- simde_x_mm512_set_epu16(UINT16_C( 39649), UINT16_C( 65535), UINT16_C( 55636), UINT16_C( 65535),
1333
- UINT16_C( 65535), UINT16_C( 52332), UINT16_C( 34194), UINT16_C( 44750),
1334
- UINT16_C( 37098), UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 65535),
1335
- UINT16_C( 65535), UINT16_C( 49362), UINT16_C( 45608), UINT16_C( 65535),
1336
- UINT16_C( 59554), UINT16_C( 51825), UINT16_C( 65535), UINT16_C( 65535),
1337
- UINT16_C( 42115), UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 48192),
1338
- UINT16_C( 44512), UINT16_C( 63110), UINT16_C( 63604), UINT16_C( 15039),
1339
- UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 29445), UINT16_C( 7897)) },
1340
- { simde_x_mm512_set_epu16(UINT16_C( 14747), UINT16_C( 30570), UINT16_C( 56275), UINT16_C( 58793),
1341
- UINT16_C( 48636), UINT16_C( 11396), UINT16_C( 12142), UINT16_C( 25883),
1342
- UINT16_C( 48137), UINT16_C( 31445), UINT16_C( 15524), UINT16_C( 49322),
1343
- UINT16_C( 6761), UINT16_C( 42681), UINT16_C( 8586), UINT16_C( 53309),
1344
- UINT16_C( 48898), UINT16_C( 23142), UINT16_C( 17912), UINT16_C( 20578),
1345
- UINT16_C( 42157), UINT16_C( 25705), UINT16_C( 39154), UINT16_C( 32521),
1346
- UINT16_C( 7302), UINT16_C( 65263), UINT16_C( 7623), UINT16_C( 47267),
1347
- UINT16_C( 41612), UINT16_C( 7723), UINT16_C( 51815), UINT16_C( 23273)),
1348
- simde_x_mm512_set_epu16(UINT16_C( 29783), UINT16_C( 35133), UINT16_C( 18722), UINT16_C( 24788),
1349
- UINT16_C( 4507), UINT16_C( 64908), UINT16_C( 18120), UINT16_C( 53792),
1350
- UINT16_C( 40447), UINT16_C( 2013), UINT16_C( 19329), UINT16_C( 18474),
1351
- UINT16_C( 45067), UINT16_C( 37105), UINT16_C( 40003), UINT16_C( 11523),
1352
- UINT16_C( 28865), UINT16_C( 9988), UINT16_C( 16394), UINT16_C( 60605),
1353
- UINT16_C( 29530), UINT16_C( 612), UINT16_C( 21547), UINT16_C( 12463),
1354
- UINT16_C( 46586), UINT16_C( 6619), UINT16_C( 39845), UINT16_C( 4328),
1355
- UINT16_C( 31818), UINT16_C( 16334), UINT16_C( 57400), UINT16_C( 58095)),
1356
- simde_x_mm512_set_epu16(UINT16_C( 44530), UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 65535),
1357
- UINT16_C( 53143), UINT16_C( 65535), UINT16_C( 30262), UINT16_C( 65535),
1358
- UINT16_C( 65535), UINT16_C( 33458), UINT16_C( 34853), UINT16_C( 65535),
1359
- UINT16_C( 51828), UINT16_C( 65535), UINT16_C( 48589), UINT16_C( 64832),
1360
- UINT16_C( 65535), UINT16_C( 33130), UINT16_C( 34306), UINT16_C( 65535),
1361
- UINT16_C( 65535), UINT16_C( 26317), UINT16_C( 60701), UINT16_C( 44984),
1362
- UINT16_C( 53888), UINT16_C( 65535), UINT16_C( 47468), UINT16_C( 51595),
1363
- UINT16_C( 65535), UINT16_C( 24057), UINT16_C( 65535), UINT16_C( 65535)) },
1364
- { simde_x_mm512_set_epu16(UINT16_C( 30682), UINT16_C( 30851), UINT16_C( 8660), UINT16_C( 19219),
1365
- UINT16_C( 10963), UINT16_C( 474), UINT16_C( 23728), UINT16_C( 46528),
1366
- UINT16_C( 63120), UINT16_C( 45881), UINT16_C( 63086), UINT16_C( 25197),
1367
- UINT16_C( 2704), UINT16_C( 4513), UINT16_C( 59294), UINT16_C( 60752),
1368
- UINT16_C( 50954), UINT16_C( 23266), UINT16_C( 27902), UINT16_C( 8814),
1369
- UINT16_C( 4863), UINT16_C( 1260), UINT16_C( 11681), UINT16_C( 46962),
1370
- UINT16_C( 62057), UINT16_C( 1167), UINT16_C( 44133), UINT16_C( 29723),
1371
- UINT16_C( 20503), UINT16_C( 47951), UINT16_C( 6645), UINT16_C( 27511)),
1372
- simde_x_mm512_set_epu16(UINT16_C( 15286), UINT16_C( 5686), UINT16_C( 62529), UINT16_C( 52414),
1373
- UINT16_C( 64942), UINT16_C( 55157), UINT16_C( 1921), UINT16_C( 414),
1374
- UINT16_C( 57075), UINT16_C( 38949), UINT16_C( 49837), UINT16_C( 16574),
1375
- UINT16_C( 63519), UINT16_C( 21815), UINT16_C( 16534), UINT16_C( 5264),
1376
- UINT16_C( 40611), UINT16_C( 7582), UINT16_C( 27508), UINT16_C( 40060),
1377
- UINT16_C( 17332), UINT16_C( 48486), UINT16_C( 46457), UINT16_C( 3074),
1378
- UINT16_C( 49520), UINT16_C( 35694), UINT16_C( 14820), UINT16_C( 26739),
1379
- UINT16_C( 52931), UINT16_C( 30426), UINT16_C( 34639), UINT16_C( 60126)),
1380
- simde_x_mm512_set_epu16(UINT16_C( 45968), UINT16_C( 36537), UINT16_C( 65535), UINT16_C( 65535),
1381
- UINT16_C( 65535), UINT16_C( 55631), UINT16_C( 25649), UINT16_C( 46942),
1382
- UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 41771),
1383
- UINT16_C( 65535), UINT16_C( 26328), UINT16_C( 65535), UINT16_C( 65535),
1384
- UINT16_C( 65535), UINT16_C( 30848), UINT16_C( 55410), UINT16_C( 48874),
1385
- UINT16_C( 22195), UINT16_C( 49746), UINT16_C( 58138), UINT16_C( 50036),
1386
- UINT16_C( 65535), UINT16_C( 36861), UINT16_C( 58953), UINT16_C( 56462),
1387
- UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 41284), UINT16_C( 65535)) },
1388
- { simde_x_mm512_set_epu16(UINT16_C( 20277), UINT16_C( 2901), UINT16_C( 9119), UINT16_C( 39166),
1389
- UINT16_C( 42714), UINT16_C( 26596), UINT16_C( 65466), UINT16_C( 41724),
1390
- UINT16_C( 43509), UINT16_C( 36161), UINT16_C( 14559), UINT16_C( 39814),
1391
- UINT16_C( 39598), UINT16_C( 35810), UINT16_C( 32670), UINT16_C( 2206),
1392
- UINT16_C( 28889), UINT16_C( 41636), UINT16_C( 48990), UINT16_C( 37294),
1393
- UINT16_C( 39242), UINT16_C( 39778), UINT16_C( 6979), UINT16_C( 54232),
1394
- UINT16_C( 47738), UINT16_C( 57923), UINT16_C( 37900), UINT16_C( 45798),
1395
- UINT16_C( 44781), UINT16_C( 27960), UINT16_C( 1998), UINT16_C( 61149)),
1396
- simde_x_mm512_set_epu16(UINT16_C( 20730), UINT16_C( 18080), UINT16_C( 51364), UINT16_C( 27968),
1397
- UINT16_C( 47873), UINT16_C( 51993), UINT16_C( 18829), UINT16_C( 15054),
1398
- UINT16_C( 50771), UINT16_C( 37023), UINT16_C( 39205), UINT16_C( 18252),
1399
- UINT16_C( 53613), UINT16_C( 36736), UINT16_C( 53958), UINT16_C( 13137),
1400
- UINT16_C( 43763), UINT16_C( 19789), UINT16_C( 2934), UINT16_C( 22986),
1401
- UINT16_C( 46964), UINT16_C( 64986), UINT16_C( 13395), UINT16_C( 61287),
1402
- UINT16_C( 61677), UINT16_C( 22301), UINT16_C( 41322), UINT16_C( 35063),
1403
- UINT16_C( 22663), UINT16_C( 28062), UINT16_C( 45351), UINT16_C( 21097)),
1404
- simde_x_mm512_set_epu16(UINT16_C( 41007), UINT16_C( 20981), UINT16_C( 60483), UINT16_C( 65535),
1405
- UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 56778),
1406
- UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 53764), UINT16_C( 58066),
1407
- UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 15343),
1408
- UINT16_C( 65535), UINT16_C( 61425), UINT16_C( 51924), UINT16_C( 60280),
1409
- UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 20374), UINT16_C( 65535),
1410
- UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 65535),
1411
- UINT16_C( 65535), UINT16_C( 56022), UINT16_C( 47349), UINT16_C( 65535)) },
1412
- { simde_x_mm512_set_epu16(UINT16_C( 29192), UINT16_C( 8654), UINT16_C( 22850), UINT16_C( 62764),
1413
- UINT16_C( 24193), UINT16_C( 41054), UINT16_C( 47201), UINT16_C( 29473),
1414
- UINT16_C( 7514), UINT16_C( 21604), UINT16_C( 55170), UINT16_C( 17089),
1415
- UINT16_C( 58910), UINT16_C( 18576), UINT16_C( 50942), UINT16_C( 19375),
1416
- UINT16_C( 32394), UINT16_C( 6670), UINT16_C( 34291), UINT16_C( 10597),
1417
- UINT16_C( 63848), UINT16_C( 24622), UINT16_C( 55141), UINT16_C( 33399),
1418
- UINT16_C( 17676), UINT16_C( 53111), UINT16_C( 57678), UINT16_C( 53869),
1419
- UINT16_C( 1069), UINT16_C( 35377), UINT16_C( 20392), UINT16_C( 6033)),
1420
- simde_x_mm512_set_epu16(UINT16_C( 30110), UINT16_C( 5765), UINT16_C( 21533), UINT16_C( 32154),
1421
- UINT16_C( 47788), UINT16_C( 4708), UINT16_C( 49450), UINT16_C( 15569),
1422
- UINT16_C( 11433), UINT16_C( 48528), UINT16_C( 18868), UINT16_C( 49914),
1423
- UINT16_C( 29591), UINT16_C( 10234), UINT16_C( 18676), UINT16_C( 18833),
1424
- UINT16_C( 53298), UINT16_C( 44056), UINT16_C( 163), UINT16_C( 14043),
1425
- UINT16_C( 52308), UINT16_C( 55462), UINT16_C( 1379), UINT16_C( 56593),
1426
- UINT16_C( 40649), UINT16_C( 10209), UINT16_C( 62181), UINT16_C( 6865),
1427
- UINT16_C( 33659), UINT16_C( 12643), UINT16_C( 58853), UINT16_C( 27590)),
1428
- simde_x_mm512_set_epu16(UINT16_C( 59302), UINT16_C( 14419), UINT16_C( 44383), UINT16_C( 65535),
1429
- UINT16_C( 65535), UINT16_C( 45762), UINT16_C( 65535), UINT16_C( 45042),
1430
- UINT16_C( 18947), UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 65535),
1431
- UINT16_C( 65535), UINT16_C( 28810), UINT16_C( 65535), UINT16_C( 38208),
1432
- UINT16_C( 65535), UINT16_C( 50726), UINT16_C( 34454), UINT16_C( 24640),
1433
- UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 56520), UINT16_C( 65535),
1434
- UINT16_C( 58325), UINT16_C( 63320), UINT16_C( 65535), UINT16_C( 60734),
1435
- UINT16_C( 34728), UINT16_C( 48020), UINT16_C( 65535), UINT16_C( 33623)) },
1436
- { simde_x_mm512_set_epu16(UINT16_C( 54408), UINT16_C( 44486), UINT16_C( 24517), UINT16_C( 51207),
1437
- UINT16_C( 2791), UINT16_C( 45592), UINT16_C( 48586), UINT16_C( 36784),
1438
- UINT16_C( 53369), UINT16_C( 43811), UINT16_C( 65046), UINT16_C( 44235),
1439
- UINT16_C( 48681), UINT16_C( 21401), UINT16_C( 55417), UINT16_C( 5581),
1440
- UINT16_C( 56410), UINT16_C( 42092), UINT16_C( 49678), UINT16_C( 22777),
1441
- UINT16_C( 15839), UINT16_C( 59069), UINT16_C( 3836), UINT16_C( 55877),
1442
- UINT16_C( 35316), UINT16_C( 40611), UINT16_C( 30925), UINT16_C( 38925),
1443
- UINT16_C( 44290), UINT16_C( 48844), UINT16_C( 41388), UINT16_C( 24135)),
1444
- simde_x_mm512_set_epu16(UINT16_C( 7663), UINT16_C( 4305), UINT16_C( 48670), UINT16_C( 39779),
1445
- UINT16_C( 2052), UINT16_C( 40026), UINT16_C( 47264), UINT16_C( 7297),
1446
- UINT16_C( 11022), UINT16_C( 64822), UINT16_C( 63292), UINT16_C( 56921),
1447
- UINT16_C( 8160), UINT16_C( 61766), UINT16_C( 22014), UINT16_C( 41597),
1448
- UINT16_C( 60919), UINT16_C( 45399), UINT16_C( 45462), UINT16_C( 35135),
1449
- UINT16_C( 13486), UINT16_C( 42127), UINT16_C( 6466), UINT16_C( 5931),
1450
- UINT16_C( 30448), UINT16_C( 27493), UINT16_C( 24921), UINT16_C( 23842),
1451
- UINT16_C( 21170), UINT16_C( 62954), UINT16_C( 7914), UINT16_C( 35527)),
1452
- simde_x_mm512_set_epu16(UINT16_C( 62071), UINT16_C( 48791), UINT16_C( 65535), UINT16_C( 65535),
1453
- UINT16_C( 4843), UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 44081),
1454
- UINT16_C( 64391), UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 65535),
1455
- UINT16_C( 56841), UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 47178),
1456
- UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 57912),
1457
- UINT16_C( 29325), UINT16_C( 65535), UINT16_C( 10302), UINT16_C( 61808),
1458
- UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 55846), UINT16_C( 62767),
1459
- UINT16_C( 65460), UINT16_C( 65535), UINT16_C( 49302), UINT16_C( 59662)) },
1460
- { simde_x_mm512_set_epu16(UINT16_C( 61865), UINT16_C( 23426), UINT16_C( 1768), UINT16_C( 58636),
1461
- UINT16_C( 57533), UINT16_C( 19108), UINT16_C( 59802), UINT16_C( 30792),
1462
- UINT16_C( 61240), UINT16_C( 6209), UINT16_C( 32476), UINT16_C( 14300),
1463
- UINT16_C( 7420), UINT16_C( 1985), UINT16_C( 25770), UINT16_C( 58800),
1464
- UINT16_C( 51482), UINT16_C( 20894), UINT16_C( 680), UINT16_C( 29487),
1465
- UINT16_C( 45202), UINT16_C( 20181), UINT16_C( 14712), UINT16_C( 17612),
1466
- UINT16_C( 16683), UINT16_C( 1453), UINT16_C( 15990), UINT16_C( 36509),
1467
- UINT16_C( 51737), UINT16_C( 56324), UINT16_C( 34493), UINT16_C( 17761)),
1468
- simde_x_mm512_set_epu16(UINT16_C( 37550), UINT16_C( 51250), UINT16_C( 42874), UINT16_C( 8384),
1469
- UINT16_C( 13698), UINT16_C( 33689), UINT16_C( 64372), UINT16_C( 20393),
1470
- UINT16_C( 17692), UINT16_C( 65383), UINT16_C( 545), UINT16_C( 27220),
1471
- UINT16_C( 18321), UINT16_C( 26532), UINT16_C( 40835), UINT16_C( 14036),
1472
- UINT16_C( 3666), UINT16_C( 2040), UINT16_C( 61839), UINT16_C( 38748),
1473
- UINT16_C( 62699), UINT16_C( 55831), UINT16_C( 23293), UINT16_C( 13208),
1474
- UINT16_C( 60975), UINT16_C( 12632), UINT16_C( 13392), UINT16_C( 63703),
1475
- UINT16_C( 41286), UINT16_C( 6117), UINT16_C( 32645), UINT16_C( 56152)),
1476
- simde_x_mm512_set_epu16(UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 44642), UINT16_C( 65535),
1477
- UINT16_C( 65535), UINT16_C( 52797), UINT16_C( 65535), UINT16_C( 51185),
1478
- UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 33021), UINT16_C( 41520),
1479
- UINT16_C( 25741), UINT16_C( 28517), UINT16_C( 65535), UINT16_C( 65535),
1480
- UINT16_C( 55148), UINT16_C( 22934), UINT16_C( 62519), UINT16_C( 65535),
1481
- UINT16_C( 65535), UINT16_C( 65535), UINT16_C( 38005), UINT16_C( 30820),
1482
- UINT16_C( 65535), UINT16_C( 14085), UINT16_C( 29382), UINT16_C( 65535),
1483
- UINT16_C( 65535), UINT16_C( 62441), UINT16_C( 65535), UINT16_C( 65535)) }
1484
- };
1485
-
1486
- for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
1487
- simde__m512i r = simde_mm512_adds_epu16(test_vec[i].a, test_vec[i].b);
1488
- simde_assert_m512i_u16(r, ==, test_vec[i].r);
1489
- }
1490
-
1491
- return MUNIT_OK;
1492
- }
1493
-
1494
- static MunitResult
1495
- test_simde_mm512_shuffle_epi8(const MunitParameter params[], void* data) {
1496
- (void) params;
1497
- (void) data;
1498
-
1499
- const struct {
1500
- simde__m512i a;
1501
- simde__m512i b;
1502
- simde__m512i r;
1503
- } test_vec[8] = {
1504
- { simde_mm512_set_epi8(INT8_C( 56), INT8_C( -94), INT8_C( -41), INT8_C( -59),
1505
- INT8_C( 40), INT8_C( 78), INT8_C( 93), INT8_C( 107),
1506
- INT8_C( -47), INT8_C( 66), INT8_C( -8), INT8_C( -52),
1507
- INT8_C( 50), INT8_C( 78), INT8_C( 13), INT8_C( 26),
1508
- INT8_C( -33), INT8_C( 120), INT8_C( 67), INT8_C( -12),
1509
- INT8_C( 80), INT8_C( 88), INT8_C( -65), INT8_C( 49),
1510
- INT8_C( 28), INT8_C( 96), INT8_C( -99), INT8_C(-119),
1511
- INT8_C( 126), INT8_C( 24), INT8_C( 35), INT8_C( 11),
1512
- INT8_C( -43), INT8_C( -24), INT8_C( 1), INT8_C( -61),
1513
- INT8_C( 101), INT8_C( 5), INT8_C( 67), INT8_C( -42),
1514
- INT8_C( -46), INT8_C(-115), INT8_C(-105), INT8_C( -92),
1515
- INT8_C( -3), INT8_C( -44), INT8_C( 13), INT8_C( -36),
1516
- INT8_C( 110), INT8_C( -38), INT8_C( -48), INT8_C( 36),
1517
- INT8_C( 117), INT8_C( -59), INT8_C( 109), INT8_C( -27),
1518
- INT8_C( -62), INT8_C( 98), INT8_C(-121), INT8_C(-108),
1519
- INT8_C( -7), INT8_C(-112), INT8_C( -52), INT8_C( -84)),
1520
- simde_mm512_set_epi8(INT8_C( 34), INT8_C( 34), INT8_C( -71), INT8_C( -63),
1521
- INT8_C( -34), INT8_C(-128), INT8_C( 113), INT8_C( -72),
1522
- INT8_C( 86), INT8_C( -73), INT8_C( -43), INT8_C( 95),
1523
- INT8_C( 3), INT8_C( 13), INT8_C( 19), INT8_C( -1),
1524
- INT8_C( -54), INT8_C( 114), INT8_C( 27), INT8_C( -30),
1525
- INT8_C( 52), INT8_C( -54), INT8_C( 78), INT8_C( 23),
1526
- INT8_C( 71), INT8_C( 87), INT8_C( 107), INT8_C( -27),
1527
- INT8_C( -35), INT8_C(-122), INT8_C( 40), INT8_C( 55),
1528
- INT8_C( -2), INT8_C( 40), INT8_C( -63), INT8_C( 85),
1529
- INT8_C( -25), INT8_C( -93), INT8_C( 25), INT8_C( 70),
1530
- INT8_C( 117), INT8_C( 66), INT8_C( -79), INT8_C( 57),
1531
- INT8_C(-115), INT8_C( -27), INT8_C( 59), INT8_C( 25),
1532
- INT8_C( -6), INT8_C( 42), INT8_C( -27), INT8_C( -34),
1533
- INT8_C( -16), INT8_C( 5), INT8_C( -55), INT8_C( 74),
1534
- INT8_C( -29), INT8_C( 77), INT8_C( -17), INT8_C( 16),
1535
- INT8_C( -98), INT8_C( -38), INT8_C( 116), INT8_C( -56)),
1536
- simde_mm512_set_epi8(INT8_C( 78), INT8_C( 78), INT8_C( 0), INT8_C( 0),
1537
- INT8_C( 0), INT8_C( 0), INT8_C( 13), INT8_C( 0),
1538
- INT8_C( 66), INT8_C( 0), INT8_C( 0), INT8_C( 56),
1539
- INT8_C( 50), INT8_C( -41), INT8_C( 50), INT8_C( 0),
1540
- INT8_C( 0), INT8_C( 24), INT8_C( 80), INT8_C( 0),
1541
- INT8_C(-119), INT8_C( 0), INT8_C( 120), INT8_C( 28),
1542
- INT8_C( 28), INT8_C( 28), INT8_C( 80), INT8_C( 0),
1543
- INT8_C( 0), INT8_C( 0), INT8_C( 49), INT8_C( 28),
1544
- INT8_C( 0), INT8_C( -42), INT8_C( 0), INT8_C(-105),
1545
- INT8_C( 0), INT8_C( 0), INT8_C( 67), INT8_C(-115),
1546
- INT8_C(-105), INT8_C( -44), INT8_C( 0), INT8_C( 67),
1547
- INT8_C( 0), INT8_C( 0), INT8_C( 101), INT8_C( 67),
1548
- INT8_C( 0), INT8_C( -59), INT8_C( 0), INT8_C( 0),
1549
- INT8_C( 0), INT8_C(-121), INT8_C( 0), INT8_C( -59),
1550
- INT8_C( 0), INT8_C( -48), INT8_C( 0), INT8_C( -84),
1551
- INT8_C( 0), INT8_C( 0), INT8_C(-108), INT8_C( 0)) },
1552
- { simde_mm512_set_epi8(INT8_C( -75), INT8_C(-123), INT8_C( -44), INT8_C( -97),
1553
- INT8_C( 61), INT8_C(-112), INT8_C( 109), INT8_C( 27),
1554
- INT8_C( -9), INT8_C( -31), INT8_C(-111), INT8_C( -59),
1555
- INT8_C( 94), INT8_C( 110), INT8_C( 31), INT8_C( 50),
1556
- INT8_C( -86), INT8_C( 24), INT8_C( 91), INT8_C(-105),
1557
- INT8_C( 39), INT8_C( 25), INT8_C( -65), INT8_C( 69),
1558
- INT8_C( -59), INT8_C( -57), INT8_C( -98), INT8_C( 26),
1559
- INT8_C( -35), INT8_C( -2), INT8_C( 114), INT8_C( -51),
1560
- INT8_C( -16), INT8_C( 101), INT8_C( -92), INT8_C( 65),
1561
- INT8_C( -88), INT8_C( 19), INT8_C(-102), INT8_C( -51),
1562
- INT8_C( -94), INT8_C( -30), INT8_C( 60), INT8_C( -9),
1563
- INT8_C( 4), INT8_C( -93), INT8_C( 110), INT8_C(-102),
1564
- INT8_C( 109), INT8_C( 1), INT8_C( 113), INT8_C( 114),
1565
- INT8_C( 100), INT8_C( 80), INT8_C( 18), INT8_C( -7),
1566
- INT8_C( -87), INT8_C( 0), INT8_C( -55), INT8_C( 37),
1567
- INT8_C( 13), INT8_C( 86), INT8_C(-114), INT8_C(-125)),
1568
- simde_mm512_set_epi8(INT8_C( 18), INT8_C( 11), INT8_C( 73), INT8_C( 57),
1569
- INT8_C( -54), INT8_C( 9), INT8_C( 69), INT8_C( -45),
1570
- INT8_C( 71), INT8_C( -6), INT8_C( -68), INT8_C( -8),
1571
- INT8_C( 14), INT8_C( -27), INT8_C( 84), INT8_C( -90),
1572
- INT8_C( -10), INT8_C( -81), INT8_C( 77), INT8_C(-113),
1573
- INT8_C( 32), INT8_C( 17), INT8_C( 62), INT8_C( -18),
1574
- INT8_C( 124), INT8_C( -42), INT8_C( -52), INT8_C(-109),
1575
- INT8_C( -19), INT8_C( 30), INT8_C( -51), INT8_C(-111),
1576
- INT8_C( 100), INT8_C( 63), INT8_C( -80), INT8_C(-126),
1577
- INT8_C( 3), INT8_C( 119), INT8_C( 38), INT8_C( -44),
1578
- INT8_C( -48), INT8_C( -43), INT8_C( 6), INT8_C(-113),
1579
- INT8_C( -5), INT8_C( -18), INT8_C( 58), INT8_C( 77),
1580
- INT8_C( -49), INT8_C(-107), INT8_C( -77), INT8_C( 119),
1581
- INT8_C( -6), INT8_C( 92), INT8_C(-122), INT8_C( 43),
1582
- INT8_C( 85), INT8_C(-111), INT8_C( -15), INT8_C( 90),
1583
- INT8_C(-104), INT8_C( 31), INT8_C( -4), INT8_C( 57)),
1584
- simde_mm512_set_epi8(INT8_C( 110), INT8_C( 61), INT8_C( 109), INT8_C( 109),
1585
- INT8_C( 0), INT8_C( 109), INT8_C(-111), INT8_C( 0),
1586
- INT8_C( -9), INT8_C( 0), INT8_C( 0), INT8_C( 0),
1587
- INT8_C(-123), INT8_C( 0), INT8_C( -59), INT8_C( 0),
1588
- INT8_C( 0), INT8_C( 0), INT8_C( 91), INT8_C( 0),
1589
- INT8_C( -51), INT8_C( 114), INT8_C( 24), INT8_C( 0),
1590
- INT8_C(-105), INT8_C( 0), INT8_C( 0), INT8_C( 0),
1591
- INT8_C( 0), INT8_C( 24), INT8_C( 0), INT8_C( 0),
1592
- INT8_C( -9), INT8_C( -16), INT8_C( 0), INT8_C( 0),
1593
- INT8_C( 4), INT8_C( -94), INT8_C( -30), INT8_C( 0),
1594
- INT8_C( 0), INT8_C( 0), INT8_C( -30), INT8_C( 0),
1595
- INT8_C( 0), INT8_C( 0), INT8_C( 19), INT8_C( -92),
1596
- INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( -87),
1597
- INT8_C( 0), INT8_C( 114), INT8_C( 0), INT8_C( 100),
1598
- INT8_C( -55), INT8_C( 0), INT8_C( 0), INT8_C( 80),
1599
- INT8_C( 0), INT8_C( 109), INT8_C( 0), INT8_C( 18)) },
1600
- { simde_mm512_set_epi8(INT8_C( -54), INT8_C( 53), INT8_C( 35), INT8_C( 51),
1601
- INT8_C( 24), INT8_C( 100), INT8_C( 80), INT8_C( 7),
1602
- INT8_C( 54), INT8_C( 114), INT8_C( -42), INT8_C( -2),
1603
- INT8_C( 18), INT8_C( 100), INT8_C( 26), INT8_C( -68),
1604
- INT8_C( 82), INT8_C( -30), INT8_C( -4), INT8_C( 110),
1605
- INT8_C( 24), INT8_C( 88), INT8_C(-100), INT8_C(-120),
1606
- INT8_C( -17), INT8_C(-109), INT8_C( 92), INT8_C(-105),
1607
- INT8_C( -20), INT8_C( 34), INT8_C( 98), INT8_C( -17),
1608
- INT8_C( 2), INT8_C( 6), INT8_C( 37), INT8_C( -85),
1609
- INT8_C( 118), INT8_C( 28), INT8_C( 34), INT8_C( 117),
1610
- INT8_C( 77), INT8_C( -32), INT8_C( 25), INT8_C( -74),
1611
- INT8_C( 93), INT8_C(-108), INT8_C( 3), INT8_C( -90),
1612
- INT8_C( 13), INT8_C( -29), INT8_C( -88), INT8_C( 116),
1613
- INT8_C( 14), INT8_C( -29), INT8_C( 30), INT8_C( -26),
1614
- INT8_C(-115), INT8_C( -36), INT8_C( 94), INT8_C(-125),
1615
- INT8_C( 118), INT8_C( 125), INT8_C( -91), INT8_C( 31)),
1616
- simde_mm512_set_epi8(INT8_C( -74), INT8_C( -13), INT8_C( -87), INT8_C( -10),
1617
- INT8_C( 21), INT8_C( 49), INT8_C( -64), INT8_C( 52),
1618
- INT8_C( -97), INT8_C(-103), INT8_C(-127), INT8_C( 53),
1619
- INT8_C( 99), INT8_C( 80), INT8_C( 55), INT8_C( 111),
1620
- INT8_C( 61), INT8_C( -93), INT8_C( -87), INT8_C( 81),
1621
- INT8_C( 108), INT8_C( 89), INT8_C( 63), INT8_C(-109),
1622
- INT8_C( -47), INT8_C( -32), INT8_C( 105), INT8_C( 91),
1623
- INT8_C( 88), INT8_C( 85), INT8_C( -96), INT8_C( 88),
1624
- INT8_C( -85), INT8_C( 3), INT8_C( 124), INT8_C( -33),
1625
- INT8_C( -21), INT8_C( -7), INT8_C( -31), INT8_C(-126),
1626
- INT8_C( 3), INT8_C( -17), INT8_C( 40), INT8_C( 5),
1627
- INT8_C( 126), INT8_C( -60), INT8_C( -91), INT8_C(-112),
1628
- INT8_C( 88), INT8_C( 11), INT8_C( 100), INT8_C( 114),
1629
- INT8_C( 112), INT8_C( -53), INT8_C( 89), INT8_C( 78),
1630
- INT8_C( 115), INT8_C( 117), INT8_C( -33), INT8_C( 14),
1631
- INT8_C( -42), INT8_C( -15), INT8_C( 80), INT8_C( -46)),
1632
- simde_mm512_set_epi8(INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
1633
- INT8_C( -42), INT8_C( 26), INT8_C( 0), INT8_C( -2),
1634
- INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( -42),
1635
- INT8_C( 18), INT8_C( -68), INT8_C( 54), INT8_C( -54),
1636
- INT8_C( -4), INT8_C( 0), INT8_C( 0), INT8_C( 98),
1637
- INT8_C( 110), INT8_C(-100), INT8_C( 82), INT8_C( 0),
1638
- INT8_C( 0), INT8_C( 0), INT8_C(-100), INT8_C( 24),
1639
- INT8_C(-120), INT8_C( 92), INT8_C( 0), INT8_C(-120),
1640
- INT8_C( 0), INT8_C( 93), INT8_C( -85), INT8_C( 0),
1641
- INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
1642
- INT8_C( 93), INT8_C( 0), INT8_C( 117), INT8_C( 25),
1643
- INT8_C( 6), INT8_C( 0), INT8_C( 0), INT8_C( 0),
1644
- INT8_C( -26), INT8_C( 14), INT8_C(-125), INT8_C( 125),
1645
- INT8_C( 31), INT8_C( 0), INT8_C( 30), INT8_C( -29),
1646
- INT8_C( 118), INT8_C( 94), INT8_C( 0), INT8_C( -29),
1647
- INT8_C( 0), INT8_C( 0), INT8_C( 31), INT8_C( 0)) },
1648
- { simde_mm512_set_epi8(INT8_C(-109), INT8_C( 14), INT8_C( -91), INT8_C( -44),
1649
- INT8_C( 79), INT8_C( -4), INT8_C( 88), INT8_C( 49),
1650
- INT8_C( -95), INT8_C( -92), INT8_C(-116), INT8_C( 8),
1651
- INT8_C( 25), INT8_C( 30), INT8_C( -55), INT8_C(-120),
1652
- INT8_C( -58), INT8_C( -84), INT8_C( 99), INT8_C( -92),
1653
- INT8_C( -29), INT8_C( -47), INT8_C( 42), INT8_C( -56),
1654
- INT8_C( 109), INT8_C( -71), INT8_C( -73), INT8_C( -30),
1655
- INT8_C( -15), INT8_C(-106), INT8_C( -91), INT8_C( -57),
1656
- INT8_C( 51), INT8_C( -8), INT8_C( 55), INT8_C( 36),
1657
- INT8_C( -55), INT8_C(-103), INT8_C( 51), INT8_C( -28),
1658
- INT8_C( 70), INT8_C( 114), INT8_C( -3), INT8_C( 49),
1659
- INT8_C( 23), INT8_C( -28), INT8_C( -87), INT8_C( 57),
1660
- INT8_C( 28), INT8_C( -12), INT8_C( -51), INT8_C( 37),
1661
- INT8_C( 29), INT8_C( -58), INT8_C( -69), INT8_C( 30),
1662
- INT8_C( 43), INT8_C( -65), INT8_C( -2), INT8_C( -83),
1663
- INT8_C( -27), INT8_C(-122), INT8_C( 77), INT8_C( 47)),
1664
- simde_mm512_set_epi8(INT8_C(-116), INT8_C(-127), INT8_C( -95), INT8_C( -97),
1665
- INT8_C( -78), INT8_C( -53), INT8_C( -36), INT8_C( 62),
1666
- INT8_C( 63), INT8_C( 28), INT8_C( -37), INT8_C( 40),
1667
- INT8_C( -14), INT8_C( 2), INT8_C( -65), INT8_C( -67),
1668
- INT8_C( 79), INT8_C( 51), INT8_C( -51), INT8_C( -64),
1669
- INT8_C( -40), INT8_C(-102), INT8_C(-107), INT8_C( 82),
1670
- INT8_C( 20), INT8_C( 54), INT8_C( 66), INT8_C( 7),
1671
- INT8_C( 33), INT8_C( 108), INT8_C( -88), INT8_C( 69),
1672
- INT8_C( 98), INT8_C( 43), INT8_C( 25), INT8_C( 58),
1673
- INT8_C( 117), INT8_C( -34), INT8_C( -70), INT8_C( 3),
1674
- INT8_C( 1), INT8_C( 100), INT8_C( 3), INT8_C( 14),
1675
- INT8_C( 117), INT8_C( -91), INT8_C( -89), INT8_C( 66),
1676
- INT8_C( 32), INT8_C( -35), INT8_C( 104), INT8_C( 65),
1677
- INT8_C(-100), INT8_C( 27), INT8_C( 42), INT8_C( 91),
1678
- INT8_C( -47), INT8_C( 39), INT8_C( -65), INT8_C(-124),
1679
- INT8_C( -84), INT8_C( -95), INT8_C( -46), INT8_C(-113)),
1680
- simde_mm512_set_epi8(INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
1681
- INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 14),
1682
- INT8_C(-109), INT8_C( -44), INT8_C( 0), INT8_C( 49),
1683
- INT8_C( 0), INT8_C( 30), INT8_C( 0), INT8_C( 0),
1684
- INT8_C( -58), INT8_C( -15), INT8_C( 0), INT8_C( 0),
1685
- INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C(-106),
1686
- INT8_C( -30), INT8_C( -71), INT8_C(-106), INT8_C( 109),
1687
- INT8_C( -91), INT8_C( -92), INT8_C( 0), INT8_C( -73),
1688
- INT8_C( -28), INT8_C( -55), INT8_C( 51), INT8_C(-103),
1689
- INT8_C( -3), INT8_C( 0), INT8_C( 0), INT8_C( 23),
1690
- INT8_C( -87), INT8_C( 49), INT8_C( 23), INT8_C( -8),
1691
- INT8_C( -3), INT8_C( 0), INT8_C( 0), INT8_C( -28),
1692
- INT8_C( 47), INT8_C( 0), INT8_C( 30), INT8_C( 77),
1693
- INT8_C( 0), INT8_C( 29), INT8_C( -58), INT8_C( 29),
1694
- INT8_C( 0), INT8_C( 43), INT8_C( 0), INT8_C( 0),
1695
- INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0)) },
1696
- { simde_mm512_set_epi8(INT8_C(-119), INT8_C( 55), INT8_C( -13), INT8_C(-118),
1697
- INT8_C( 5), INT8_C( 14), INT8_C(-103), INT8_C( 58),
1698
- INT8_C( 109), INT8_C(-113), INT8_C( -44), INT8_C( 126),
1699
- INT8_C( 70), INT8_C(-126), INT8_C( 24), INT8_C(-117),
1700
- INT8_C( 80), INT8_C( 25), INT8_C( 64), INT8_C( -89),
1701
- INT8_C( 60), INT8_C( 5), INT8_C(-119), INT8_C( -29),
1702
- INT8_C( -95), INT8_C( -26), INT8_C( 25), INT8_C( -65),
1703
- INT8_C( -81), INT8_C( -84), INT8_C( 46), INT8_C( 62),
1704
- INT8_C( -25), INT8_C(-116), INT8_C(-126), INT8_C(-103),
1705
- INT8_C( 126), INT8_C( -39), INT8_C( 111), INT8_C( -10),
1706
- INT8_C( -48), INT8_C( 122), INT8_C( -86), INT8_C( -25),
1707
- INT8_C( 35), INT8_C( -4), INT8_C( -7), INT8_C( 76),
1708
- INT8_C(-116), INT8_C( 1), INT8_C( 126), INT8_C( -30),
1709
- INT8_C( -11), INT8_C( 82), INT8_C( 81), INT8_C( 27),
1710
- INT8_C( -15), INT8_C( -14), INT8_C( 56), INT8_C( 60),
1711
- INT8_C( -29), INT8_C( -65), INT8_C( -35), INT8_C( 21)),
1712
- simde_mm512_set_epi8(INT8_C( 125), INT8_C( -43), INT8_C( -42), INT8_C( -51),
1713
- INT8_C( -36), INT8_C( 38), INT8_C( 42), INT8_C( 18),
1714
- INT8_C( 24), INT8_C( -25), INT8_C( 19), INT8_C( 15),
1715
- INT8_C(-119), INT8_C(-124), INT8_C( 104), INT8_C( -93),
1716
- INT8_C( 22), INT8_C( -16), INT8_C( 31), INT8_C( 116),
1717
- INT8_C( -99), INT8_C( 45), INT8_C( -54), INT8_C( 50),
1718
- INT8_C( -72), INT8_C(-107), INT8_C( 48), INT8_C( 118),
1719
- INT8_C( -68), INT8_C( -15), INT8_C(-108), INT8_C( -29),
1720
- INT8_C( 118), INT8_C( 96), INT8_C( -51), INT8_C( 107),
1721
- INT8_C( -23), INT8_C( -97), INT8_C( -6), INT8_C( 91),
1722
- INT8_C( -57), INT8_C( -67), INT8_C(-105), INT8_C( 68),
1723
- INT8_C( -50), INT8_C( 16), INT8_C( -86), INT8_C( 6),
1724
- INT8_C( 55), INT8_C(-118), INT8_C( 112), INT8_C( 125),
1725
- INT8_C( 92), INT8_C( 91), INT8_C( -27), INT8_C( 53),
1726
- INT8_C( 28), INT8_C( -66), INT8_C( -69), INT8_C(-117),
1727
- INT8_C( -30), INT8_C(-106), INT8_C( 1), INT8_C( 95)),
1728
- simde_mm512_set_epi8(INT8_C( -13), INT8_C( 0), INT8_C( 0), INT8_C( 0),
1729
- INT8_C( 0), INT8_C(-113), INT8_C( 14), INT8_C(-126),
1730
- INT8_C( 58), INT8_C( 0), INT8_C( 70), INT8_C(-119),
1731
- INT8_C( 0), INT8_C( 0), INT8_C( 58), INT8_C( 0),
1732
- INT8_C( -26), INT8_C( 0), INT8_C( 80), INT8_C( -65),
1733
- INT8_C( 0), INT8_C( 64), INT8_C( 0), INT8_C( -84),
1734
- INT8_C( 0), INT8_C( 0), INT8_C( 62), INT8_C( -26),
1735
- INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
1736
- INT8_C( 122), INT8_C( 76), INT8_C( 0), INT8_C( 126),
1737
- INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 126),
1738
- INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( -25),
1739
- INT8_C( 0), INT8_C( 76), INT8_C( 0), INT8_C( 122),
1740
- INT8_C( -15), INT8_C( 0), INT8_C( 21), INT8_C( 126),
1741
- INT8_C( -30), INT8_C( -11), INT8_C( 0), INT8_C( 56),
1742
- INT8_C( -30), INT8_C( 0), INT8_C( 0), INT8_C( 0),
1743
- INT8_C( 0), INT8_C( 0), INT8_C( -35), INT8_C(-116)) },
1744
- { simde_mm512_set_epi8(INT8_C( 18), INT8_C(-124), INT8_C( -6), INT8_C( -41),
1745
- INT8_C(-109), INT8_C( 19), INT8_C( 47), INT8_C( 73),
1746
- INT8_C( -58), INT8_C( -50), INT8_C( 73), INT8_C( 110),
1747
- INT8_C( 56), INT8_C( -30), INT8_C( -79), INT8_C( 123),
1748
- INT8_C( 77), INT8_C( 62), INT8_C( -28), INT8_C( 45),
1749
- INT8_C( -95), INT8_C( 12), INT8_C( 53), INT8_C( 75),
1750
- INT8_C( 66), INT8_C( -89), INT8_C( 46), INT8_C( -47),
1751
- INT8_C( 6), INT8_C( 4), INT8_C( 112), INT8_C( -34),
1752
- INT8_C( 121), INT8_C( -3), INT8_C(-102), INT8_C(-115),
1753
- INT8_C( -12), INT8_C( 80), INT8_C( 3), INT8_C( 56),
1754
- INT8_C( 85), INT8_C( -43), INT8_C( -93), INT8_C( 34),
1755
- INT8_C( -58), INT8_C(-101), INT8_C( 51), INT8_C( 1),
1756
- INT8_C( -18), INT8_C( -90), INT8_C( -71), INT8_C( 74),
1757
- INT8_C( -5), INT8_C(-113), INT8_C( 71), INT8_C( 61),
1758
- INT8_C( 92), INT8_C( 73), INT8_C( 116), INT8_C( 110),
1759
- INT8_C(-117), INT8_C( 96), INT8_C( -77), INT8_C( 45)),
1760
- simde_mm512_set_epi8(INT8_C( 52), INT8_C( -84), INT8_C( 103), INT8_C(-105),
1761
- INT8_C( -57), INT8_C( 17), INT8_C(-110), INT8_C(-113),
1762
- INT8_C( 56), INT8_C( 125), INT8_C( 56), INT8_C( -88),
1763
- INT8_C( -31), INT8_C( 119), INT8_C( -86), INT8_C( 114),
1764
- INT8_C( -85), INT8_C( 14), INT8_C( 60), INT8_C( 84),
1765
- INT8_C( -61), INT8_C(-111), INT8_C( 74), INT8_C( 113),
1766
- INT8_C( 13), INT8_C( -89), INT8_C(-114), INT8_C( -79),
1767
- INT8_C( -34), INT8_C( -73), INT8_C( -9), INT8_C(-108),
1768
- INT8_C( 93), INT8_C( -78), INT8_C( -1), INT8_C(-102),
1769
- INT8_C( 12), INT8_C( 117), INT8_C( 80), INT8_C( 44),
1770
- INT8_C( 29), INT8_C( 18), INT8_C( 91), INT8_C( -23),
1771
- INT8_C( 110), INT8_C(-126), INT8_C( -71), INT8_C( 65),
1772
- INT8_C( -76), INT8_C( 85), INT8_C( 93), INT8_C( -86),
1773
- INT8_C(-123), INT8_C(-115), INT8_C(-105), INT8_C( 75),
1774
- INT8_C( 45), INT8_C( 22), INT8_C( 73), INT8_C( 74),
1775
- INT8_C( 107), INT8_C( -60), INT8_C( -28), INT8_C( -57)),
1776
- simde_mm512_set_epi8(INT8_C( 110), INT8_C( 0), INT8_C( -58), INT8_C( 0),
1777
- INT8_C( 0), INT8_C( -79), INT8_C( 0), INT8_C( 0),
1778
- INT8_C( 73), INT8_C( -6), INT8_C( 73), INT8_C( 0),
1779
- INT8_C( 0), INT8_C( -58), INT8_C( 0), INT8_C( -30),
1780
- INT8_C( 0), INT8_C( 62), INT8_C( 45), INT8_C( -47),
1781
- INT8_C( 0), INT8_C( 0), INT8_C( 12), INT8_C( 112),
1782
- INT8_C( -28), INT8_C( 0), INT8_C( 0), INT8_C( 0),
1783
- INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
1784
- INT8_C(-102), INT8_C( 0), INT8_C( 0), INT8_C( 0),
1785
- INT8_C(-115), INT8_C( -93), INT8_C( 1), INT8_C(-115),
1786
- INT8_C(-102), INT8_C(-101), INT8_C( -12), INT8_C( 0),
1787
- INT8_C( -3), INT8_C( 0), INT8_C( 0), INT8_C( 51),
1788
- INT8_C( 0), INT8_C( 116), INT8_C( -71), INT8_C( 0),
1789
- INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( -5),
1790
- INT8_C( -71), INT8_C( 73), INT8_C( 71), INT8_C(-113),
1791
- INT8_C( -5), INT8_C( 0), INT8_C( 0), INT8_C( 0)) },
1792
- { simde_mm512_set_epi8(INT8_C( 4), INT8_C( -30), INT8_C( -68), INT8_C( 57),
1793
- INT8_C( 73), INT8_C( 25), INT8_C( -45), INT8_C( 112),
1794
- INT8_C( 41), INT8_C( 41), INT8_C( -56), INT8_C( -93),
1795
- INT8_C( 29), INT8_C( 99), INT8_C( 15), INT8_C( 122),
1796
- INT8_C( 74), INT8_C( 0), INT8_C( 89), INT8_C( 61),
1797
- INT8_C( 124), INT8_C( 36), INT8_C( -87), INT8_C( -25),
1798
- INT8_C( 42), INT8_C(-125), INT8_C( -87), INT8_C( 69),
1799
- INT8_C( 81), INT8_C( 4), INT8_C( 55), INT8_C( 107),
1800
- INT8_C( 0), INT8_C( -7), INT8_C( 37), INT8_C( -15),
1801
- INT8_C( 117), INT8_C( 9), INT8_C( -27), INT8_C( 11),
1802
- INT8_C( 16), INT8_C( 87), INT8_C( 119), INT8_C(-107),
1803
- INT8_C( -22), INT8_C( 27), INT8_C( -86), INT8_C( -63),
1804
- INT8_C( 90), INT8_C( -44), INT8_C(-113), INT8_C(-126),
1805
- INT8_C( -75), INT8_C( 67), INT8_C( 88), INT8_C( 105),
1806
- INT8_C( 80), INT8_C( 7), INT8_C( 66), INT8_C( 126),
1807
- INT8_C( 17), INT8_C( -20), INT8_C( -91), INT8_C( -99)),
1808
- simde_mm512_set_epi8(INT8_C( 123), INT8_C( 117), INT8_C( 18), INT8_C( 2),
1809
- INT8_C(-105), INT8_C( -51), INT8_C( -9), INT8_C( 72),
1810
- INT8_C( 69), INT8_C(-116), INT8_C( 95), INT8_C(-110),
1811
- INT8_C( -32), INT8_C( 110), INT8_C( -8), INT8_C( 85),
1812
- INT8_C( -41), INT8_C( 80), INT8_C( -44), INT8_C( 110),
1813
- INT8_C( -28), INT8_C( 116), INT8_C( 41), INT8_C( -31),
1814
- INT8_C( 12), INT8_C( 40), INT8_C( 5), INT8_C( 1),
1815
- INT8_C( -14), INT8_C( 66), INT8_C( -95), INT8_C( 106),
1816
- INT8_C( 66), INT8_C( -91), INT8_C( -20), INT8_C(-109),
1817
- INT8_C( -46), INT8_C( 41), INT8_C( 82), INT8_C( -61),
1818
- INT8_C( 2), INT8_C( 3), INT8_C( 62), INT8_C( -90),
1819
- INT8_C( 99), INT8_C( -54), INT8_C( -28), INT8_C( -21),
1820
- INT8_C( 126), INT8_C( 115), INT8_C( -46), INT8_C( 76),
1821
- INT8_C( -43), INT8_C( 46), INT8_C( 107), INT8_C( 75),
1822
- INT8_C( -93), INT8_C( 67), INT8_C( -37), INT8_C( 4),
1823
- INT8_C(-127), INT8_C( -50), INT8_C( -26), INT8_C( 99)),
1824
- simde_mm512_set_epi8(INT8_C( 73), INT8_C( -56), INT8_C( 99), INT8_C( 99),
1825
- INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 112),
1826
- INT8_C( -56), INT8_C( 0), INT8_C( 4), INT8_C( 0),
1827
- INT8_C( 0), INT8_C( -30), INT8_C( 0), INT8_C( -56),
1828
- INT8_C( 0), INT8_C( 107), INT8_C( 0), INT8_C( 0),
1829
- INT8_C( 0), INT8_C( 69), INT8_C( -87), INT8_C( 0),
1830
- INT8_C( 61), INT8_C( -25), INT8_C( -87), INT8_C( 55),
1831
- INT8_C( 0), INT8_C( 4), INT8_C( 0), INT8_C( 36),
1832
- INT8_C( 27), INT8_C( 0), INT8_C( 0), INT8_C( 0),
1833
- INT8_C( 0), INT8_C( -27), INT8_C( 27), INT8_C( 0),
1834
- INT8_C( 27), INT8_C( -22), INT8_C( -7), INT8_C( 0),
1835
- INT8_C( -22), INT8_C( 0), INT8_C( 0), INT8_C( 0),
1836
- INT8_C( -44), INT8_C( 17), INT8_C( 0), INT8_C(-126),
1837
- INT8_C( 0), INT8_C( -44), INT8_C( -75), INT8_C( -75),
1838
- INT8_C( 0), INT8_C( 17), INT8_C( 0), INT8_C( 126),
1839
- INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 17)) },
1840
- { simde_mm512_set_epi8(INT8_C( 56), INT8_C( 24), INT8_C( -33), INT8_C( 82),
1841
- INT8_C( 72), INT8_C( 63), INT8_C(-114), INT8_C( 14),
1842
- INT8_C( 2), INT8_C( 71), INT8_C( -31), INT8_C( -46),
1843
- INT8_C( 64), INT8_C( -11), INT8_C( 35), INT8_C( -7),
1844
- INT8_C( -78), INT8_C( 125), INT8_C( -28), INT8_C( -59),
1845
- INT8_C( 6), INT8_C(-127), INT8_C( 34), INT8_C( 64),
1846
- INT8_C( 88), INT8_C( -88), INT8_C( 70), INT8_C( -90),
1847
- INT8_C( 47), INT8_C( -21), INT8_C(-104), INT8_C( -27),
1848
- INT8_C( -16), INT8_C( -29), INT8_C( 51), INT8_C(-116),
1849
- INT8_C( -87), INT8_C( 91), INT8_C(-106), INT8_C( -3),
1850
- INT8_C( -55), INT8_C( -15), INT8_C(-109), INT8_C(-108),
1851
- INT8_C( -41), INT8_C( 79), INT8_C( 54), INT8_C( 68),
1852
- INT8_C( -51), INT8_C(-108), INT8_C( -83), INT8_C( 104),
1853
- INT8_C( 18), INT8_C(-128), INT8_C( -75), INT8_C( -12),
1854
- INT8_C( 56), INT8_C(-104), INT8_C( 56), INT8_C( 47),
1855
- INT8_C( -30), INT8_C( -15), INT8_C(-115), INT8_C( 88)),
1856
- simde_mm512_set_epi8(INT8_C( 107), INT8_C( 125), INT8_C(-111), INT8_C( -89),
1857
- INT8_C( -9), INT8_C( 122), INT8_C( -2), INT8_C( -26),
1858
- INT8_C(-100), INT8_C( 80), INT8_C( 89), INT8_C( 38),
1859
- INT8_C( 95), INT8_C( -82), INT8_C( -66), INT8_C( 108),
1860
- INT8_C( 104), INT8_C( -20), INT8_C( 72), INT8_C( -82),
1861
- INT8_C( 23), INT8_C( -45), INT8_C( -20), INT8_C( 8),
1862
- INT8_C( -2), INT8_C( -77), INT8_C(-112), INT8_C( 102),
1863
- INT8_C( 83), INT8_C( 80), INT8_C( 56), INT8_C( -53),
1864
- INT8_C( -83), INT8_C( -86), INT8_C( 15), INT8_C( 30),
1865
- INT8_C( -92), INT8_C( -2), INT8_C( 42), INT8_C( -79),
1866
- INT8_C( 108), INT8_C( 44), INT8_C( 17), INT8_C( 83),
1867
- INT8_C( -49), INT8_C( -44), INT8_C( -42), INT8_C( -54),
1868
- INT8_C(-127), INT8_C( 12), INT8_C( 88), INT8_C(-118),
1869
- INT8_C( -23), INT8_C( -69), INT8_C( -23), INT8_C( -36),
1870
- INT8_C( -23), INT8_C( -80), INT8_C( 33), INT8_C( 82),
1871
- INT8_C( -43), INT8_C( -91), INT8_C( -36), INT8_C( -56)),
1872
- simde_mm512_set_epi8(INT8_C( 72), INT8_C( -33), INT8_C( 0), INT8_C( 0),
1873
- INT8_C( 0), INT8_C( 63), INT8_C( 0), INT8_C( 0),
1874
- INT8_C( 0), INT8_C( -7), INT8_C(-114), INT8_C( 71),
1875
- INT8_C( 56), INT8_C( 0), INT8_C( 0), INT8_C( 82),
1876
- INT8_C( 64), INT8_C( 0), INT8_C( 64), INT8_C( 0),
1877
- INT8_C( 88), INT8_C( 0), INT8_C( 0), INT8_C( 64),
1878
- INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( -88),
1879
- INT8_C( 47), INT8_C( -27), INT8_C( 64), INT8_C( 0),
1880
- INT8_C( 0), INT8_C( 0), INT8_C( -16), INT8_C( -29),
1881
- INT8_C( 0), INT8_C( 0), INT8_C( 91), INT8_C( 0),
1882
- INT8_C(-116), INT8_C(-116), INT8_C( 54), INT8_C( -41),
1883
- INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
1884
- INT8_C( 0), INT8_C( 104), INT8_C( -12), INT8_C( 0),
1885
- INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
1886
- INT8_C( 0), INT8_C( 0), INT8_C(-115), INT8_C( -15),
1887
- INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0)) },
1888
- };
1889
-
1890
- for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
1891
- simde__m512i r = simde_mm512_shuffle_epi8(test_vec[i].a, test_vec[i].b);
1892
- simde_assert_m512i_i8(r, ==, test_vec[i].r);
1893
- }
1894
-
1895
- return MUNIT_OK;
1896
- }
1897
-
1898
- static MunitResult
1899
- test_simde_mm512_cmpeq_epi8_mask(const MunitParameter params[], void* data) {
1900
- (void) params;
1901
- (void) data;
1902
-
1903
- const struct {
1904
- simde__m512i a;
1905
- simde__m512i b;
1906
- simde__mmask64 r;
1907
- } test_vec[8] = {
1908
- { simde_mm512_set_epi8(INT8_C( 73), INT8_C( 68), INT8_C( -71), INT8_C( -32),
1909
- INT8_C( 100), INT8_C( 125), INT8_C( 89), INT8_C( 95),
1910
- INT8_C( -23), INT8_C( 76), INT8_C( 84), INT8_C( -43),
1911
- INT8_C( 86), INT8_C( 29), INT8_C( 64), INT8_C( 30),
1912
- INT8_C( -17), INT8_C( -61), INT8_C( 115), INT8_C( -53),
1913
- INT8_C(-100), INT8_C( 104), INT8_C( 111), INT8_C( -59),
1914
- INT8_C( -31), INT8_C( 20), INT8_C( 31), INT8_C(-121),
1915
- INT8_C( 90), INT8_C( 18), INT8_C( 6), INT8_C( 39),
1916
- INT8_C( 15), INT8_C( 62), INT8_C( 39), INT8_C( -25),
1917
- INT8_C( 60), INT8_C( 110), INT8_C( 45), INT8_C( 113),
1918
- INT8_C( 81), INT8_C( 78), INT8_C( -53), INT8_C( 11),
1919
- INT8_C( -27), INT8_C(-113), INT8_C( -3), INT8_C( 14),
1920
- INT8_C( 109), INT8_C( 43), INT8_C( -54), INT8_C( 111),
1921
- INT8_C( -91), INT8_C( -21), INT8_C( 102), INT8_C( 8),
1922
- INT8_C( -41), INT8_C( -47), INT8_C( -90), INT8_C( 3),
1923
- INT8_C( 18), INT8_C( 32), INT8_C( 89), INT8_C( -62)),
1924
- simde_mm512_set_epi8(INT8_C( 73), INT8_C( 68), INT8_C( -71), INT8_C( -46),
1925
- INT8_C( 72), INT8_C( 42), INT8_C( 65), INT8_C( -27),
1926
- INT8_C( -37), INT8_C( 76), INT8_C( 84), INT8_C( -95),
1927
- INT8_C( -29), INT8_C( 29), INT8_C( 64), INT8_C( 75),
1928
- INT8_C( -17), INT8_C( -61), INT8_C( 76), INT8_C( 88),
1929
- INT8_C(-100), INT8_C( -91), INT8_C( 111), INT8_C( -59),
1930
- INT8_C( -31), INT8_C( -17), INT8_C( 31), INT8_C( 68),
1931
- INT8_C( 90), INT8_C( 18), INT8_C(-110), INT8_C( 39),
1932
- INT8_C( 15), INT8_C( 62), INT8_C( 24), INT8_C( -25),
1933
- INT8_C( 80), INT8_C( 122), INT8_C( 103), INT8_C(-115),
1934
- INT8_C( 81), INT8_C( 24), INT8_C( 32), INT8_C( 82),
1935
- INT8_C( -27), INT8_C( 105), INT8_C( -3), INT8_C( 14),
1936
- INT8_C( 109), INT8_C( 43), INT8_C( -54), INT8_C(-121),
1937
- INT8_C( -91), INT8_C(-124), INT8_C( 102), INT8_C( 46),
1938
- INT8_C( -41), INT8_C( 101), INT8_C( 51), INT8_C( 3),
1939
- INT8_C( 18), INT8_C( 32), INT8_C( -12), INT8_C( -62)),
1940
- UINT64_C(0xe066cbadd08bea9d) },
1941
- { simde_mm512_set_epi8(INT8_C( -84), INT8_C(-108), INT8_C( 13), INT8_C( -97),
1942
- INT8_C( -34), INT8_C( 27), INT8_C( 124), INT8_C(-120),
1943
- INT8_C( 3), INT8_C( 26), INT8_C( 43), INT8_C( -96),
1944
- INT8_C( -63), INT8_C( 49), INT8_C( 127), INT8_C( 0),
1945
- INT8_C( -20), INT8_C( -31), INT8_C( 125), INT8_C( 14),
1946
- INT8_C( -53), INT8_C( -87), INT8_C( 115), INT8_C( -20),
1947
- INT8_C( -93), INT8_C( 70), INT8_C( 29), INT8_C( -90),
1948
- INT8_C( 105), INT8_C( -54), INT8_C( 96), INT8_C(-106),
1949
- INT8_C( 94), INT8_C( -52), INT8_C( -50), INT8_C( -79),
1950
- INT8_C( -54), INT8_C( 78), INT8_C( 17), INT8_C( 81),
1951
- INT8_C( 35), INT8_C( 120), INT8_C( 47), INT8_C( -25),
1952
- INT8_C( 110), INT8_C( 55), INT8_C( 40), INT8_C( -31),
1953
- INT8_C( 93), INT8_C( -23), INT8_C( 4), INT8_C( 45),
1954
- INT8_C( 59), INT8_C( -33), INT8_C( 124), INT8_C( -52),
1955
- INT8_C( 42), INT8_C( -14), INT8_C(-119), INT8_C( 88),
1956
- INT8_C( -38), INT8_C( -31), INT8_C(-113), INT8_C( 33)),
1957
- simde_mm512_set_epi8(INT8_C( 25), INT8_C(-108), INT8_C( 13), INT8_C( -97),
1958
- INT8_C( -34), INT8_C( 119), INT8_C( 122), INT8_C( 82),
1959
- INT8_C( 3), INT8_C(-111), INT8_C( 60), INT8_C( -96),
1960
- INT8_C( 26), INT8_C( 3), INT8_C( -7), INT8_C( -8),
1961
- INT8_C( 94), INT8_C( -31), INT8_C( -71), INT8_C( 14),
1962
- INT8_C(-105), INT8_C( -87), INT8_C( 115), INT8_C( -68),
1963
- INT8_C( -93), INT8_C( 70), INT8_C( -47), INT8_C(-106),
1964
- INT8_C( 105), INT8_C( -54), INT8_C( 96), INT8_C( 105),
1965
- INT8_C( 94), INT8_C( 84), INT8_C( -50), INT8_C( -79),
1966
- INT8_C( -54), INT8_C( 78), INT8_C( 17), INT8_C( 39),
1967
- INT8_C( 35), INT8_C( -87), INT8_C( -83), INT8_C( -25),
1968
- INT8_C( 110), INT8_C( 2), INT8_C( -90), INT8_C( -31),
1969
- INT8_C( 19), INT8_C( -23), INT8_C( 4), INT8_C( 16),
1970
- INT8_C( 59), INT8_C( -33), INT8_C( 124), INT8_C( 127),
1971
- INT8_C( -60), INT8_C( -14), INT8_C(-119), INT8_C( 88),
1972
- INT8_C( -38), INT8_C( 109), INT8_C(-113), INT8_C( 25)),
1973
- UINT64_C(0x789056cebe996e7a) },
1974
- { simde_mm512_set_epi8(INT8_C( 93), INT8_C( 110), INT8_C( 120), INT8_C( 25),
1975
- INT8_C( -37), INT8_C( -25), INT8_C( -34), INT8_C(-108),
1976
- INT8_C( -77), INT8_C(-114), INT8_C( 79), INT8_C( -50),
1977
- INT8_C( -94), INT8_C( 22), INT8_C( -28), INT8_C(-105),
1978
- INT8_C( 110), INT8_C( 29), INT8_C( -9), INT8_C( -13),
1979
- INT8_C( -71), INT8_C( 107), INT8_C(-115), INT8_C( 86),
1980
- INT8_C(-127), INT8_C(-100), INT8_C( 1), INT8_C( 21),
1981
- INT8_C( -55), INT8_C( -85), INT8_C( -55), INT8_C( -81),
1982
- INT8_C( -41), INT8_C( 39), INT8_C( 18), INT8_C( -92),
1983
- INT8_C( 11), INT8_C( -32), INT8_C( -53), INT8_C( 38),
1984
- INT8_C( -49), INT8_C(-118), INT8_C( 20), INT8_C( 66),
1985
- INT8_C(-106), INT8_C(-109), INT8_C( 45), INT8_C( -24),
1986
- INT8_C( -47), INT8_C( 95), INT8_C( 50), INT8_C( 105),
1987
- INT8_C( 58), INT8_C( 25), INT8_C( -53), INT8_C( -61),
1988
- INT8_C( -90), INT8_C( 92), INT8_C( 83), INT8_C( 120),
1989
- INT8_C( 107), INT8_C( -72), INT8_C( 3), INT8_C( -1)),
1990
- simde_mm512_set_epi8(INT8_C( 93), INT8_C( 110), INT8_C( 120), INT8_C( -75),
1991
- INT8_C( -37), INT8_C( -25), INT8_C( 14), INT8_C(-108),
1992
- INT8_C( 5), INT8_C(-114), INT8_C( 79), INT8_C( 57),
1993
- INT8_C( -94), INT8_C( 22), INT8_C( 4), INT8_C( 3),
1994
- INT8_C( 66), INT8_C( 29), INT8_C( -9), INT8_C( 20),
1995
- INT8_C( 93), INT8_C( 107), INT8_C( 6), INT8_C( 86),
1996
- INT8_C( 84), INT8_C(-100), INT8_C( 81), INT8_C( 21),
1997
- INT8_C( 117), INT8_C( 22), INT8_C( -55), INT8_C( -81),
1998
- INT8_C( -41), INT8_C( -17), INT8_C( 19), INT8_C( 106),
1999
- INT8_C( 114), INT8_C( -32), INT8_C( 98), INT8_C( -16),
2000
- INT8_C( -49), INT8_C(-118), INT8_C( 20), INT8_C( 66),
2001
- INT8_C(-106), INT8_C(-109), INT8_C( 97), INT8_C( 29),
2002
- INT8_C( -47), INT8_C( -47), INT8_C( 50), INT8_C(-111),
2003
- INT8_C( 58), INT8_C( 115), INT8_C( -53), INT8_C( 93),
2004
- INT8_C( -90), INT8_C( -27), INT8_C( 41), INT8_C( 120),
2005
- INT8_C( 119), INT8_C( 86), INT8_C( -36), INT8_C( -1)),
2006
- UINT64_C(0xed6c655384fcaa91) },
2007
- { simde_mm512_set_epi8(INT8_C( 10), INT8_C( 75), INT8_C( 91), INT8_C( -99),
2008
- INT8_C( -88), INT8_C( 99), INT8_C( -86), INT8_C( 96),
2009
- INT8_C( 14), INT8_C( -1), INT8_C( 14), INT8_C( 100),
2010
- INT8_C(-114), INT8_C( 63), INT8_C( 68), INT8_C(-113),
2011
- INT8_C( -59), INT8_C( -42), INT8_C( -14), INT8_C(-111),
2012
- INT8_C( 6), INT8_C( 68), INT8_C( 11), INT8_C(-108),
2013
- INT8_C( -62), INT8_C( 87), INT8_C( -72), INT8_C( -23),
2014
- INT8_C( 78), INT8_C( -18), INT8_C( -36), INT8_C( -6),
2015
- INT8_C( -68), INT8_C(-115), INT8_C( -24), INT8_C( 127),
2016
- INT8_C( -36), INT8_C( 21), INT8_C( 38), INT8_C(-106),
2017
- INT8_C( 33), INT8_C( -66), INT8_C(-121), INT8_C( 36),
2018
- INT8_C( 24), INT8_C( 61), INT8_C( 66), INT8_C( 20),
2019
- INT8_C( 63), INT8_C( -18), INT8_C( 11), INT8_C(-103),
2020
- INT8_C( -19), INT8_C( -42), INT8_C( -69), INT8_C( 53),
2021
- INT8_C( -40), INT8_C( 112), INT8_C( 8), INT8_C( -69),
2022
- INT8_C(-102), INT8_C( 62), INT8_C( 85), INT8_C( 62)),
2023
- simde_mm512_set_epi8(INT8_C( 10), INT8_C( 75), INT8_C( -74), INT8_C( -47),
2024
- INT8_C( -88), INT8_C( 99), INT8_C( -86), INT8_C(-128),
2025
- INT8_C( 94), INT8_C( -1), INT8_C( 99), INT8_C( 100),
2026
- INT8_C( -25), INT8_C( 7), INT8_C( 59), INT8_C(-113),
2027
- INT8_C( 119), INT8_C( -42), INT8_C( -14), INT8_C( 79),
2028
- INT8_C( 4), INT8_C(-111), INT8_C( 11), INT8_C( 80),
2029
- INT8_C( -78), INT8_C( 87), INT8_C( -72), INT8_C(-111),
2030
- INT8_C( -95), INT8_C( -18), INT8_C( -36), INT8_C( -40),
2031
- INT8_C( -68), INT8_C(-115), INT8_C( -24), INT8_C( -50),
2032
- INT8_C( -36), INT8_C( 10), INT8_C( 47), INT8_C( 62),
2033
- INT8_C( -15), INT8_C( -66), INT8_C(-122), INT8_C( 36),
2034
- INT8_C( -22), INT8_C( 61), INT8_C( -11), INT8_C( 20),
2035
- INT8_C( 63), INT8_C( 82), INT8_C(-113), INT8_C(-103),
2036
- INT8_C( -19), INT8_C( -42), INT8_C( -69), INT8_C( 53),
2037
- INT8_C( -40), INT8_C( 112), INT8_C( 8), INT8_C( -69),
2038
- INT8_C(-102), INT8_C( 23), INT8_C( 85), INT8_C( 62)),
2039
- UINT64_C(0xce516266e8559ffb) },
2040
- { simde_mm512_set_epi8(INT8_C( -7), INT8_C( 2), INT8_C(-111), INT8_C( 64),
2041
- INT8_C(-100), INT8_C( 87), INT8_C( 100), INT8_C( -30),
2042
- INT8_C( -39), INT8_C( -38), INT8_C( 121), INT8_C( 55),
2043
- INT8_C( -64), INT8_C( 81), INT8_C( -3), INT8_C( 79),
2044
- INT8_C( -41), INT8_C( 118), INT8_C( -37), INT8_C( -34),
2045
- INT8_C( -13), INT8_C( 63), INT8_C( 26), INT8_C( -81),
2046
- INT8_C( 90), INT8_C( 43), INT8_C( -31), INT8_C( -17),
2047
- INT8_C(-100), INT8_C( -71), INT8_C(-104), INT8_C( -66),
2048
- INT8_C( -94), INT8_C( -89), INT8_C( 100), INT8_C( 36),
2049
- INT8_C( 17), INT8_C( 116), INT8_C( -30), INT8_C( 16),
2050
- INT8_C( 110), INT8_C( 98), INT8_C( 11), INT8_C( -42),
2051
- INT8_C( -78), INT8_C( -68), INT8_C( -26), INT8_C( -35),
2052
- INT8_C( 12), INT8_C( -40), INT8_C( -27), INT8_C( -40),
2053
- INT8_C(-102), INT8_C(-109), INT8_C( 39), INT8_C( 29),
2054
- INT8_C( 21), INT8_C( 9), INT8_C( 49), INT8_C( -13),
2055
- INT8_C( -49), INT8_C( 7), INT8_C( 91), INT8_C( 15)),
2056
- simde_mm512_set_epi8(INT8_C( 78), INT8_C( 2), INT8_C( -91), INT8_C( 64),
2057
- INT8_C(-100), INT8_C( 41), INT8_C( -34), INT8_C( -46),
2058
- INT8_C( -39), INT8_C( 31), INT8_C( 13), INT8_C( 55),
2059
- INT8_C( -42), INT8_C( 33), INT8_C( -3), INT8_C( 79),
2060
- INT8_C( -41), INT8_C( 118), INT8_C( -37), INT8_C( 90),
2061
- INT8_C( -13), INT8_C( 63), INT8_C( 51), INT8_C( -81),
2062
- INT8_C( 90), INT8_C( 43), INT8_C( -31), INT8_C(-112),
2063
- INT8_C(-100), INT8_C( 41), INT8_C(-104), INT8_C( -66),
2064
- INT8_C( -94), INT8_C( -89), INT8_C( -85), INT8_C(-109),
2065
- INT8_C( 113), INT8_C( 116), INT8_C( 100), INT8_C( 16),
2066
- INT8_C( 5), INT8_C( -50), INT8_C( -51), INT8_C( -42),
2067
- INT8_C( -95), INT8_C( -68), INT8_C( -26), INT8_C( -35),
2068
- INT8_C( -73), INT8_C( 71), INT8_C( 65), INT8_C( -40),
2069
- INT8_C(-102), INT8_C( 7), INT8_C( 94), INT8_C( 29),
2070
- INT8_C( 65), INT8_C( 9), INT8_C( 49), INT8_C( -13),
2071
- INT8_C( -33), INT8_C( 7), INT8_C(-101), INT8_C( 15)),
2072
- UINT64_C(0x5893edebc5171975) },
2073
- { simde_mm512_set_epi8(INT8_C( -34), INT8_C( -12), INT8_C( 105), INT8_C(-124),
2074
- INT8_C( -33), INT8_C( -79), INT8_C( -6), INT8_C( 54),
2075
- INT8_C( 81), INT8_C( -11), INT8_C( 67), INT8_C( 63),
2076
- INT8_C( 103), INT8_C( 119), INT8_C( -89), INT8_C( 40),
2077
- INT8_C( 8), INT8_C( -38), INT8_C( 71), INT8_C( 66),
2078
- INT8_C(-106), INT8_C( -45), INT8_C( 18), INT8_C( 100),
2079
- INT8_C( 122), INT8_C( 93), INT8_C( -42), INT8_C( 5),
2080
- INT8_C( -39), INT8_C( 37), INT8_C( -70), INT8_C( 13),
2081
- INT8_C( 99), INT8_C( -57), INT8_C( -88), INT8_C( -36),
2082
- INT8_C(-103), INT8_C( 25), INT8_C( 94), INT8_C(-107),
2083
- INT8_C( -32), INT8_C( -12), INT8_C( -14), INT8_C( 32),
2084
- INT8_C( -38), INT8_C( 10), INT8_C( 89), INT8_C( -69),
2085
- INT8_C( -8), INT8_C( 69), INT8_C( -20), INT8_C(-122),
2086
- INT8_C( -75), INT8_C( -71), INT8_C( 3), INT8_C( 102),
2087
- INT8_C( 119), INT8_C( -58), INT8_C( -49), INT8_C( 80),
2088
- INT8_C( -15), INT8_C( -97), INT8_C( 45), INT8_C( 96)),
2089
- simde_mm512_set_epi8(INT8_C( -34), INT8_C( -12), INT8_C( 81), INT8_C(-115),
2090
- INT8_C( -33), INT8_C( -79), INT8_C(-117), INT8_C( -34),
2091
- INT8_C( 81), INT8_C( -11), INT8_C( -63), INT8_C( -61),
2092
- INT8_C( 53), INT8_C( 119), INT8_C( 26), INT8_C( 40),
2093
- INT8_C( 8), INT8_C( -38), INT8_C( 25), INT8_C( -23),
2094
- INT8_C( -16), INT8_C( -45), INT8_C( -64), INT8_C( 100),
2095
- INT8_C( 91), INT8_C( 93), INT8_C( -42), INT8_C( 5),
2096
- INT8_C( 81), INT8_C( -76), INT8_C( -70), INT8_C( 13),
2097
- INT8_C( 26), INT8_C( -57), INT8_C( -88), INT8_C( -64),
2098
- INT8_C( -68), INT8_C( -91), INT8_C(-123), INT8_C( 38),
2099
- INT8_C( -32), INT8_C( 29), INT8_C( 82), INT8_C( 54),
2100
- INT8_C(-107), INT8_C( 10), INT8_C( 89), INT8_C( 28),
2101
- INT8_C( -27), INT8_C( 41), INT8_C( -20), INT8_C(-122),
2102
- INT8_C( -75), INT8_C( -71), INT8_C( 3), INT8_C( -30),
2103
- INT8_C( 97), INT8_C( 18), INT8_C( -90), INT8_C( 107),
2104
- INT8_C( 99), INT8_C( 10), INT8_C( 45), INT8_C( 96)),
2105
- UINT64_C(0xccc5c57360863e03) },
2106
- { simde_mm512_set_epi8(INT8_C( 48), INT8_C( 94), INT8_C( 112), INT8_C(-107),
2107
- INT8_C( -34), INT8_C( -86), INT8_C( 65), INT8_C( 92),
2108
- INT8_C( 97), INT8_C( -99), INT8_C( 28), INT8_C( 47),
2109
- INT8_C(-117), INT8_C( -22), INT8_C(-111), INT8_C( -67),
2110
- INT8_C( 113), INT8_C(-107), INT8_C( -23), INT8_C( 77),
2111
- INT8_C( 60), INT8_C( 104), INT8_C(-116), INT8_C( -86),
2112
- INT8_C(-113), INT8_C( -79), INT8_C( -64), INT8_C( -15),
2113
- INT8_C(-123), INT8_C( 99), INT8_C( 25), INT8_C( 27),
2114
- INT8_C( -40), INT8_C( 126), INT8_C( -66), INT8_C( -45),
2115
- INT8_C( 57), INT8_C( -30), INT8_C( -12), INT8_C( 16),
2116
- INT8_C( 122), INT8_C( 124), INT8_C( -75), INT8_C( 50),
2117
- INT8_C( -6), INT8_C( 41), INT8_C( -47), INT8_C( -3),
2118
- INT8_C( 29), INT8_C( -20), INT8_C( -45), INT8_C( -46),
2119
- INT8_C( -45), INT8_C( -14), INT8_C( 99), INT8_C( 84),
2120
- INT8_C( -62), INT8_C( -99), INT8_C(-104), INT8_C( -78),
2121
- INT8_C( 106), INT8_C(-117), INT8_C( -94), INT8_C( 3)),
2122
- simde_mm512_set_epi8(INT8_C( -88), INT8_C( -74), INT8_C( 2), INT8_C( -83),
2123
- INT8_C(-112), INT8_C( -91), INT8_C( 65), INT8_C( 92),
2124
- INT8_C( 97), INT8_C( 52), INT8_C( 28), INT8_C( -65),
2125
- INT8_C(-117), INT8_C( -90), INT8_C(-111), INT8_C( -67),
2126
- INT8_C( 113), INT8_C( 16), INT8_C(-124), INT8_C( 77),
2127
- INT8_C( 60), INT8_C( -64), INT8_C(-116), INT8_C( -89),
2128
- INT8_C( -7), INT8_C( -79), INT8_C( 46), INT8_C( 114),
2129
- INT8_C(-107), INT8_C( 99), INT8_C( -79), INT8_C( 80),
2130
- INT8_C( -40), INT8_C( -81), INT8_C( -66), INT8_C( -45),
2131
- INT8_C( 57), INT8_C( -30), INT8_C( 66), INT8_C( 71),
2132
- INT8_C( 122), INT8_C( 95), INT8_C( -43), INT8_C( 50),
2133
- INT8_C( -6), INT8_C( 41), INT8_C( -47), INT8_C( 95),
2134
- INT8_C( 5), INT8_C( -20), INT8_C( -45), INT8_C(-118),
2135
- INT8_C( 70), INT8_C( 81), INT8_C( 0), INT8_C( 84),
2136
- INT8_C( -62), INT8_C(-101), INT8_C( 13), INT8_C( 33),
2137
- INT8_C(-104), INT8_C(-117), INT8_C( -11), INT8_C( 20)),
2138
- UINT64_C(0x3ab9a44bc9e6184) },
2139
- { simde_mm512_set_epi8(INT8_C( 67), INT8_C( 34), INT8_C( -33), INT8_C( 31),
2140
- INT8_C(-128), INT8_C( 55), INT8_C( 93), INT8_C( 58),
2141
- INT8_C( 57), INT8_C( 104), INT8_C(-110), INT8_C( 59),
2142
- INT8_C( 55), INT8_C( 33), INT8_C(-122), INT8_C( 69),
2143
- INT8_C( 57), INT8_C( 30), INT8_C( -13), INT8_C( -65),
2144
- INT8_C( -22), INT8_C(-100), INT8_C( 18), INT8_C( -65),
2145
- INT8_C( -60), INT8_C(-105), INT8_C( 27), INT8_C( -71),
2146
- INT8_C( 52), INT8_C( 12), INT8_C( -4), INT8_C( 64),
2147
- INT8_C( 20), INT8_C( 51), INT8_C( 87), INT8_C( 43),
2148
- INT8_C( 26), INT8_C( 6), INT8_C( -66), INT8_C( -40),
2149
- INT8_C( 87), INT8_C( 1), INT8_C( -26), INT8_C( 92),
2150
- INT8_C( -33), INT8_C( 8), INT8_C( 42), INT8_C( -93),
2151
- INT8_C( 44), INT8_C( -55), INT8_C(-113), INT8_C( -43),
2152
- INT8_C( 32), INT8_C( 105), INT8_C( -27), INT8_C( 96),
2153
- INT8_C( 72), INT8_C( 48), INT8_C( -46), INT8_C( 24),
2154
- INT8_C( -10), INT8_C( -98), INT8_C( -56), INT8_C( -41)),
2155
- simde_mm512_set_epi8(INT8_C( 67), INT8_C( -63), INT8_C( -33), INT8_C( 31),
2156
- INT8_C(-128), INT8_C( 55), INT8_C( 93), INT8_C( -8),
2157
- INT8_C( 82), INT8_C( 104), INT8_C(-110), INT8_C( 59),
2158
- INT8_C( 55), INT8_C( 0), INT8_C( -25), INT8_C( 69),
2159
- INT8_C( 27), INT8_C( 30), INT8_C( -13), INT8_C( -65),
2160
- INT8_C( -7), INT8_C( -28), INT8_C( 18), INT8_C( -65),
2161
- INT8_C( 67), INT8_C( -3), INT8_C( 57), INT8_C( -68),
2162
- INT8_C( 52), INT8_C( 12), INT8_C( -4), INT8_C(-128),
2163
- INT8_C( 20), INT8_C( 37), INT8_C( 9), INT8_C( 80),
2164
- INT8_C( 26), INT8_C( 6), INT8_C( -66), INT8_C( 9),
2165
- INT8_C( -98), INT8_C( 1), INT8_C( -26), INT8_C( 92),
2166
- INT8_C( -33), INT8_C( 8), INT8_C( -81), INT8_C( -93),
2167
- INT8_C( 116), INT8_C( -55), INT8_C(-113), INT8_C( -43),
2168
- INT8_C( 32), INT8_C( 105), INT8_C( -27), INT8_C( 37),
2169
- INT8_C( 72), INT8_C( -73), INT8_C( -19), INT8_C( 96),
2170
- INT8_C( 52), INT8_C( -98), INT8_C( -45), INT8_C( -41)),
2171
- UINT64_C(0xbe79730e8e7d7e85) },
2172
- };
2173
-
2174
- for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
2175
- simde__mmask64 r = simde_mm512_cmpeq_epi8_mask(test_vec[i].a, test_vec[i].b);
2176
- simde_assert_uint64(r, ==, test_vec[i].r);
2177
- }
2178
-
2179
- return MUNIT_OK;
2180
- }
2181
-
2182
- static MunitResult
2183
- test_simde_mm512_cvtepi16_epi8(const MunitParameter params[], void* data) {
2184
- (void) params;
2185
- (void) data;
2186
-
2187
- const struct {
2188
- simde__m512i a;
2189
- simde__m256i r;
2190
- } test_vec[8] = {
2191
- { simde_mm512_set_epi16(INT16_C( 14423), INT16_C( 3775), INT16_C( 16156), INT16_C( 17811),
2192
- INT16_C(-14881), INT16_C(-30283), INT16_C( 27295), INT16_C(-12290),
2193
- INT16_C( 12394), INT16_C( 32764), INT16_C( 8681), INT16_C( 21255),
2194
- INT16_C(-21785), INT16_C(-24065), INT16_C(-28005), INT16_C( 15206),
2195
- INT16_C( 6131), INT16_C(-29323), INT16_C( -9530), INT16_C( -6655),
2196
- INT16_C( 14785), INT16_C( -9158), INT16_C( 7009), INT16_C( 4834),
2197
- INT16_C(-15579), INT16_C( 5296), INT16_C( 20054), INT16_C( 12832),
2198
- INT16_C( 15724), INT16_C( 5918), INT16_C( 25398), INT16_C( 14084)),
2199
- simde_mm256_set_epi8(INT8_C( 87), INT8_C( -65), INT8_C( 28), INT8_C(-109),
2200
- INT8_C( -33), INT8_C( -75), INT8_C( -97), INT8_C( -2),
2201
- INT8_C( 106), INT8_C( -4), INT8_C( -23), INT8_C( 7),
2202
- INT8_C( -25), INT8_C( -1), INT8_C(-101), INT8_C( 102),
2203
- INT8_C( -13), INT8_C( 117), INT8_C( -58), INT8_C( 1),
2204
- INT8_C( -63), INT8_C( 58), INT8_C( 97), INT8_C( -30),
2205
- INT8_C( 37), INT8_C( -80), INT8_C( 86), INT8_C( 32),
2206
- INT8_C( 108), INT8_C( 30), INT8_C( 54), INT8_C( 4)) },
2207
- { simde_mm512_set_epi16(INT16_C( 8455), INT16_C( 1140), INT16_C(-23383), INT16_C( 22825),
2208
- INT16_C(-21438), INT16_C( 8713), INT16_C(-25940), INT16_C(-31180),
2209
- INT16_C(-13214), INT16_C( 10200), INT16_C(-21253), INT16_C( 2612),
2210
- INT16_C(-27891), INT16_C( 14031), INT16_C( -9014), INT16_C( 10287),
2211
- INT16_C(-11660), INT16_C( 26858), INT16_C(-19518), INT16_C( 2472),
2212
- INT16_C( 27637), INT16_C( 14857), INT16_C( 30034), INT16_C(-24153),
2213
- INT16_C( 31935), INT16_C( -6397), INT16_C( -2502), INT16_C( 31062),
2214
- INT16_C( 30236), INT16_C( 5156), INT16_C( 18439), INT16_C(-13074)),
2215
- simde_mm256_set_epi8(INT8_C( 7), INT8_C( 116), INT8_C( -87), INT8_C( 41),
2216
- INT8_C( 66), INT8_C( 9), INT8_C( -84), INT8_C( 52),
2217
- INT8_C( 98), INT8_C( -40), INT8_C( -5), INT8_C( 52),
2218
- INT8_C( 13), INT8_C( -49), INT8_C( -54), INT8_C( 47),
2219
- INT8_C( 116), INT8_C( -22), INT8_C( -62), INT8_C( -88),
2220
- INT8_C( -11), INT8_C( 9), INT8_C( 82), INT8_C( -89),
2221
- INT8_C( -65), INT8_C( 3), INT8_C( 58), INT8_C( 86),
2222
- INT8_C( 28), INT8_C( 36), INT8_C( 7), INT8_C( -18)) },
2223
- { simde_mm512_set_epi16(INT16_C( 18175), INT16_C( -3760), INT16_C( 10318), INT16_C(-31849),
2224
- INT16_C(-32429), INT16_C(-26500), INT16_C( 24084), INT16_C(-23946),
2225
- INT16_C( 2525), INT16_C( 2478), INT16_C(-15141), INT16_C(-27410),
2226
- INT16_C( 30961), INT16_C(-31554), INT16_C( -9533), INT16_C(-20012),
2227
- INT16_C(-21820), INT16_C( 11767), INT16_C(-17849), INT16_C( 24518),
2228
- INT16_C(-22206), INT16_C(-24996), INT16_C(-19566), INT16_C( 17826),
2229
- INT16_C( 25765), INT16_C( 29123), INT16_C( 28065), INT16_C( 1432),
2230
- INT16_C(-24949), INT16_C( 30580), INT16_C( 20499), INT16_C(-29164)),
2231
- simde_mm256_set_epi8(INT8_C( -1), INT8_C( 80), INT8_C( 78), INT8_C(-105),
2232
- INT8_C( 83), INT8_C( 124), INT8_C( 20), INT8_C( 118),
2233
- INT8_C( -35), INT8_C( -82), INT8_C( -37), INT8_C( -18),
2234
- INT8_C( -15), INT8_C( -66), INT8_C( -61), INT8_C( -44),
2235
- INT8_C( -60), INT8_C( -9), INT8_C( 71), INT8_C( -58),
2236
- INT8_C( 66), INT8_C( 92), INT8_C(-110), INT8_C( -94),
2237
- INT8_C( -91), INT8_C( -61), INT8_C( -95), INT8_C(-104),
2238
- INT8_C(-117), INT8_C( 116), INT8_C( 19), INT8_C( 20)) },
2239
- { simde_mm512_set_epi16(INT16_C( 10816), INT16_C( 16713), INT16_C( 29707), INT16_C( 15186),
2240
- INT16_C( 31860), INT16_C(-28520), INT16_C( 18947), INT16_C(-27460),
2241
- INT16_C( 10883), INT16_C( 310), INT16_C( 8277), INT16_C(-28768),
2242
- INT16_C( -4553), INT16_C( 23273), INT16_C(-27696), INT16_C(-20678),
2243
- INT16_C( 13089), INT16_C( -6620), INT16_C( 31575), INT16_C(-20169),
2244
- INT16_C( 14440), INT16_C( -9264), INT16_C(-26919), INT16_C(-25720),
2245
- INT16_C(-18371), INT16_C( 25765), INT16_C(-13162), INT16_C(-16808),
2246
- INT16_C( 5695), INT16_C(-25080), INT16_C( 19142), INT16_C( 3825)),
2247
- simde_mm256_set_epi8(INT8_C( 64), INT8_C( 73), INT8_C( 11), INT8_C( 82),
2248
- INT8_C( 116), INT8_C(-104), INT8_C( 3), INT8_C( -68),
2249
- INT8_C(-125), INT8_C( 54), INT8_C( 85), INT8_C( -96),
2250
- INT8_C( 55), INT8_C( -23), INT8_C( -48), INT8_C( 58),
2251
- INT8_C( 33), INT8_C( 36), INT8_C( 87), INT8_C( 55),
2252
- INT8_C( 104), INT8_C( -48), INT8_C( -39), INT8_C(-120),
2253
- INT8_C( 61), INT8_C( -91), INT8_C(-106), INT8_C( 88),
2254
- INT8_C( 63), INT8_C( 8), INT8_C( -58), INT8_C( -15)) },
2255
- { simde_mm512_set_epi16(INT16_C( 5079), INT16_C(-24746), INT16_C( 23487), INT16_C(-22087),
2256
- INT16_C( -8346), INT16_C( 29848), INT16_C( 14241), INT16_C( 18254),
2257
- INT16_C( -3124), INT16_C(-16186), INT16_C(-13364), INT16_C( 10652),
2258
- INT16_C( 31028), INT16_C( 21346), INT16_C( 1443), INT16_C(-20222),
2259
- INT16_C(-17028), INT16_C(-21899), INT16_C( 18933), INT16_C( 6935),
2260
- INT16_C( 24619), INT16_C( 1737), INT16_C( 12596), INT16_C( 31606),
2261
- INT16_C(-32691), INT16_C( 11392), INT16_C( 32126), INT16_C(-32712),
2262
- INT16_C( 20927), INT16_C(-27859), INT16_C( 22640), INT16_C( 8969)),
2263
- simde_mm256_set_epi8(INT8_C( -41), INT8_C( 86), INT8_C( -65), INT8_C( -71),
2264
- INT8_C( 102), INT8_C(-104), INT8_C( -95), INT8_C( 78),
2265
- INT8_C( -52), INT8_C( -58), INT8_C( -52), INT8_C(-100),
2266
- INT8_C( 52), INT8_C( 98), INT8_C( -93), INT8_C( 2),
2267
- INT8_C( 124), INT8_C( 117), INT8_C( -11), INT8_C( 23),
2268
- INT8_C( 43), INT8_C( -55), INT8_C( 52), INT8_C( 118),
2269
- INT8_C( 77), INT8_C(-128), INT8_C( 126), INT8_C( 56),
2270
- INT8_C( -65), INT8_C( 45), INT8_C( 112), INT8_C( 9)) },
2271
- { simde_mm512_set_epi16(INT16_C( 6901), INT16_C(-23435), INT16_C(-26040), INT16_C(-11295),
2272
- INT16_C( 623), INT16_C(-23058), INT16_C( 17549), INT16_C(-23291),
2273
- INT16_C( 17215), INT16_C( -4892), INT16_C( -849), INT16_C( 21086),
2274
- INT16_C(-13056), INT16_C( 19549), INT16_C( 16492), INT16_C(-22767),
2275
- INT16_C(-24079), INT16_C( 6429), INT16_C( 15302), INT16_C( -9175),
2276
- INT16_C( 17671), INT16_C(-29856), INT16_C(-12718), INT16_C(-22914),
2277
- INT16_C(-19613), INT16_C( 14088), INT16_C(-10443), INT16_C( 31757),
2278
- INT16_C( 24994), INT16_C( 24174), INT16_C( -9596), INT16_C(-22481)),
2279
- simde_mm256_set_epi8(INT8_C( -11), INT8_C( 117), INT8_C( 72), INT8_C( -31),
2280
- INT8_C( 111), INT8_C( -18), INT8_C(-115), INT8_C( 5),
2281
- INT8_C( 63), INT8_C( -28), INT8_C( -81), INT8_C( 94),
2282
- INT8_C( 0), INT8_C( 93), INT8_C( 108), INT8_C( 17),
2283
- INT8_C( -15), INT8_C( 29), INT8_C( -58), INT8_C( 41),
2284
- INT8_C( 7), INT8_C( 96), INT8_C( 82), INT8_C( 126),
2285
- INT8_C( 99), INT8_C( 8), INT8_C( 53), INT8_C( 13),
2286
- INT8_C( -94), INT8_C( 110), INT8_C(-124), INT8_C( 47)) },
2287
- { simde_mm512_set_epi16(INT16_C( 15520), INT16_C( 15679), INT16_C( 8541), INT16_C(-20376),
2288
- INT16_C( 8861), INT16_C( 12926), INT16_C( 25712), INT16_C( -8433),
2289
- INT16_C( -7066), INT16_C(-23691), INT16_C(-20251), INT16_C( 18056),
2290
- INT16_C( 5498), INT16_C(-18751), INT16_C(-26321), INT16_C( 7918),
2291
- INT16_C( 1647), INT16_C( 21774), INT16_C( 5430), INT16_C(-19512),
2292
- INT16_C(-14894), INT16_C( 12466), INT16_C( -9612), INT16_C(-23130),
2293
- INT16_C( 18357), INT16_C( 32349), INT16_C(-25760), INT16_C( -6559),
2294
- INT16_C(-24198), INT16_C( 13614), INT16_C( 13473), INT16_C(-25578)),
2295
- simde_mm256_set_epi8(INT8_C( -96), INT8_C( 63), INT8_C( 93), INT8_C( 104),
2296
- INT8_C( -99), INT8_C( 126), INT8_C( 112), INT8_C( 15),
2297
- INT8_C( 102), INT8_C( 117), INT8_C( -27), INT8_C(-120),
2298
- INT8_C( 122), INT8_C( -63), INT8_C( 47), INT8_C( -18),
2299
- INT8_C( 111), INT8_C( 14), INT8_C( 54), INT8_C( -56),
2300
- INT8_C( -46), INT8_C( -78), INT8_C( 116), INT8_C( -90),
2301
- INT8_C( -75), INT8_C( 93), INT8_C( 96), INT8_C( 97),
2302
- INT8_C( 122), INT8_C( 46), INT8_C( -95), INT8_C( 22)) },
2303
- { simde_mm512_set_epi16(INT16_C(-13944), INT16_C( 30422), INT16_C( 10523), INT16_C( 28986),
2304
- INT16_C(-23789), INT16_C(-20754), INT16_C( 29282), INT16_C(-10845),
2305
- INT16_C( 10721), INT16_C( 2777), INT16_C(-18838), INT16_C( 8324),
2306
- INT16_C( 19192), INT16_C( 114), INT16_C( -9073), INT16_C( 2615),
2307
- INT16_C( 21008), INT16_C( 12652), INT16_C(-14859), INT16_C( 5734),
2308
- INT16_C( -5598), INT16_C(-10707), INT16_C( 2170), INT16_C( 23903),
2309
- INT16_C( 29988), INT16_C( 24405), INT16_C( 5383), INT16_C(-29994),
2310
- INT16_C( 7143), INT16_C( 22270), INT16_C( -1480), INT16_C( 15491)),
2311
- simde_mm256_set_epi8(INT8_C(-120), INT8_C( -42), INT8_C( 27), INT8_C( 58),
2312
- INT8_C( 19), INT8_C( -18), INT8_C( 98), INT8_C( -93),
2313
- INT8_C( -31), INT8_C( -39), INT8_C( 106), INT8_C(-124),
2314
- INT8_C( -8), INT8_C( 114), INT8_C(-113), INT8_C( 55),
2315
- INT8_C( 16), INT8_C( 108), INT8_C( -11), INT8_C( 102),
2316
- INT8_C( 34), INT8_C( 45), INT8_C( 122), INT8_C( 95),
2317
- INT8_C( 36), INT8_C( 85), INT8_C( 7), INT8_C( -42),
2318
- INT8_C( -25), INT8_C( -2), INT8_C( 56), INT8_C(-125)) }
2319
- };
2320
-
2321
- for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
2322
- simde__m256i r = simde_mm512_cvtepi16_epi8(test_vec[i].a);
2323
- simde_assert_m256i_i8(r, ==, test_vec[i].r);
2324
- }
2325
-
2326
- return MUNIT_OK;
2327
- }
2328
-
2329
- static MunitResult
2330
- test_simde_mm512_cvtepi8_epi16(const MunitParameter params[], void* data) {
2331
- (void) params;
2332
- (void) data;
2333
-
2334
- const struct {
2335
- simde__m256i a;
2336
- simde__m512i r;
2337
- } test_vec[8] = {
2338
- { simde_mm256_set_epi8(INT8_C( 7), INT8_C( 68), INT8_C( -86), INT8_C( -36),
2339
- INT8_C( -19), INT8_C( 73), INT8_C( 92), INT8_C( -27),
2340
- INT8_C( 55), INT8_C( -65), INT8_C( -50), INT8_C( 19),
2341
- INT8_C(-111), INT8_C( -79), INT8_C( -16), INT8_C( 70),
2342
- INT8_C( 27), INT8_C( -28), INT8_C( 116), INT8_C( 42),
2343
- INT8_C( -4), INT8_C( 78), INT8_C( 31), INT8_C( 51),
2344
- INT8_C( 92), INT8_C( 39), INT8_C(-125), INT8_C( 94),
2345
- INT8_C( -78), INT8_C( 67), INT8_C( -43), INT8_C( -71)),
2346
- simde_mm512_set_epi16(INT16_C( 7), INT16_C( 68), INT16_C( -86), INT16_C( -36),
2347
- INT16_C( -19), INT16_C( 73), INT16_C( 92), INT16_C( -27),
2348
- INT16_C( 55), INT16_C( -65), INT16_C( -50), INT16_C( 19),
2349
- INT16_C( -111), INT16_C( -79), INT16_C( -16), INT16_C( 70),
2350
- INT16_C( 27), INT16_C( -28), INT16_C( 116), INT16_C( 42),
2351
- INT16_C( -4), INT16_C( 78), INT16_C( 31), INT16_C( 51),
2352
- INT16_C( 92), INT16_C( 39), INT16_C( -125), INT16_C( 94),
2353
- INT16_C( -78), INT16_C( 67), INT16_C( -43), INT16_C( -71)) },
2354
- { simde_mm256_set_epi8(INT8_C( 29), INT8_C( -37), INT8_C( 27), INT8_C( 10),
2355
- INT8_C( -22), INT8_C( -9), INT8_C(-125), INT8_C( -3),
2356
- INT8_C( -53), INT8_C( 92), INT8_C( 103), INT8_C( 92),
2357
- INT8_C( 123), INT8_C( 74), INT8_C( 36), INT8_C( 59),
2358
- INT8_C( 46), INT8_C( -29), INT8_C(-103), INT8_C( -4),
2359
- INT8_C( 109), INT8_C( -54), INT8_C( 41), INT8_C( 79),
2360
- INT8_C( 15), INT8_C( -92), INT8_C( 102), INT8_C( 116),
2361
- INT8_C( -42), INT8_C( 52), INT8_C( -61), INT8_C( -99)),
2362
- simde_mm512_set_epi16(INT16_C( 29), INT16_C( -37), INT16_C( 27), INT16_C( 10),
2363
- INT16_C( -22), INT16_C( -9), INT16_C( -125), INT16_C( -3),
2364
- INT16_C( -53), INT16_C( 92), INT16_C( 103), INT16_C( 92),
2365
- INT16_C( 123), INT16_C( 74), INT16_C( 36), INT16_C( 59),
2366
- INT16_C( 46), INT16_C( -29), INT16_C( -103), INT16_C( -4),
2367
- INT16_C( 109), INT16_C( -54), INT16_C( 41), INT16_C( 79),
2368
- INT16_C( 15), INT16_C( -92), INT16_C( 102), INT16_C( 116),
2369
- INT16_C( -42), INT16_C( 52), INT16_C( -61), INT16_C( -99)) },
2370
- { simde_mm256_set_epi8(INT8_C( -9), INT8_C( -47), INT8_C( 107), INT8_C( -74),
2371
- INT8_C(-126), INT8_C( 34), INT8_C( 64), INT8_C( 115),
2372
- INT8_C( -65), INT8_C(-124), INT8_C( 54), INT8_C( 27),
2373
- INT8_C( 41), INT8_C( 112), INT8_C( 61), INT8_C( 6),
2374
- INT8_C( 7), INT8_C( 39), INT8_C(-109), INT8_C( -99),
2375
- INT8_C( 63), INT8_C( -35), INT8_C(-111), INT8_C( -72),
2376
- INT8_C( 109), INT8_C( -39), INT8_C( -99), INT8_C( 26),
2377
- INT8_C( 66), INT8_C( -78), INT8_C( 30), INT8_C( 38)),
2378
- simde_mm512_set_epi16(INT16_C( -9), INT16_C( -47), INT16_C( 107), INT16_C( -74),
2379
- INT16_C( -126), INT16_C( 34), INT16_C( 64), INT16_C( 115),
2380
- INT16_C( -65), INT16_C( -124), INT16_C( 54), INT16_C( 27),
2381
- INT16_C( 41), INT16_C( 112), INT16_C( 61), INT16_C( 6),
2382
- INT16_C( 7), INT16_C( 39), INT16_C( -109), INT16_C( -99),
2383
- INT16_C( 63), INT16_C( -35), INT16_C( -111), INT16_C( -72),
2384
- INT16_C( 109), INT16_C( -39), INT16_C( -99), INT16_C( 26),
2385
- INT16_C( 66), INT16_C( -78), INT16_C( 30), INT16_C( 38)) },
2386
- { simde_mm256_set_epi8(INT8_C( -72), INT8_C( -80), INT8_C( 101), INT8_C( 81),
2387
- INT8_C( 23), INT8_C( -68), INT8_C( -57), INT8_C(-111),
2388
- INT8_C( -3), INT8_C( 21), INT8_C( 121), INT8_C( -22),
2389
- INT8_C(-104), INT8_C( -10), INT8_C( -37), INT8_C( 66),
2390
- INT8_C( -93), INT8_C( -80), INT8_C( 34), INT8_C( 104),
2391
- INT8_C( -39), INT8_C( -99), INT8_C( 18), INT8_C( 110),
2392
- INT8_C(-118), INT8_C( 38), INT8_C( 112), INT8_C( -67),
2393
- INT8_C( 60), INT8_C( 47), INT8_C( 32), INT8_C( 33)),
2394
- simde_mm512_set_epi16(INT16_C( -72), INT16_C( -80), INT16_C( 101), INT16_C( 81),
2395
- INT16_C( 23), INT16_C( -68), INT16_C( -57), INT16_C( -111),
2396
- INT16_C( -3), INT16_C( 21), INT16_C( 121), INT16_C( -22),
2397
- INT16_C( -104), INT16_C( -10), INT16_C( -37), INT16_C( 66),
2398
- INT16_C( -93), INT16_C( -80), INT16_C( 34), INT16_C( 104),
2399
- INT16_C( -39), INT16_C( -99), INT16_C( 18), INT16_C( 110),
2400
- INT16_C( -118), INT16_C( 38), INT16_C( 112), INT16_C( -67),
2401
- INT16_C( 60), INT16_C( 47), INT16_C( 32), INT16_C( 33)) },
2402
- { simde_mm256_set_epi8(INT8_C( 120), INT8_C( -90), INT8_C(-101), INT8_C(-106),
2403
- INT8_C( 70), INT8_C( -49), INT8_C( 29), INT8_C( -43),
2404
- INT8_C( -42), INT8_C( 38), INT8_C( 16), INT8_C( -43),
2405
- INT8_C( -40), INT8_C( -76), INT8_C( -67), INT8_C( 53),
2406
- INT8_C( -73), INT8_C( -17), INT8_C( 66), INT8_C( 57),
2407
- INT8_C( -65), INT8_C( -63), INT8_C( 17), INT8_C( -9),
2408
- INT8_C( 95), INT8_C( -50), INT8_C(-118), INT8_C( 114),
2409
- INT8_C( 58), INT8_C( -28), INT8_C( -81), INT8_C( -37)),
2410
- simde_mm512_set_epi16(INT16_C( 120), INT16_C( -90), INT16_C( -101), INT16_C( -106),
2411
- INT16_C( 70), INT16_C( -49), INT16_C( 29), INT16_C( -43),
2412
- INT16_C( -42), INT16_C( 38), INT16_C( 16), INT16_C( -43),
2413
- INT16_C( -40), INT16_C( -76), INT16_C( -67), INT16_C( 53),
2414
- INT16_C( -73), INT16_C( -17), INT16_C( 66), INT16_C( 57),
2415
- INT16_C( -65), INT16_C( -63), INT16_C( 17), INT16_C( -9),
2416
- INT16_C( 95), INT16_C( -50), INT16_C( -118), INT16_C( 114),
2417
- INT16_C( 58), INT16_C( -28), INT16_C( -81), INT16_C( -37)) },
2418
- { simde_mm256_set_epi8(INT8_C( -97), INT8_C( 10), INT8_C( -75), INT8_C(-120),
2419
- INT8_C( -32), INT8_C(-105), INT8_C( -75), INT8_C(-101),
2420
- INT8_C( 71), INT8_C(-122), INT8_C(-112), INT8_C( -2),
2421
- INT8_C( 60), INT8_C( -71), INT8_C( 101), INT8_C( -1),
2422
- INT8_C( 95), INT8_C( -58), INT8_C( -70), INT8_C( 102),
2423
- INT8_C( 115), INT8_C( -68), INT8_C(-110), INT8_C( -36),
2424
- INT8_C( 6), INT8_C( 58), INT8_C( 73), INT8_C( 97),
2425
- INT8_C( -51), INT8_C( -4), INT8_C( 58), INT8_C( 31)),
2426
- simde_mm512_set_epi16(INT16_C( -97), INT16_C( 10), INT16_C( -75), INT16_C( -120),
2427
- INT16_C( -32), INT16_C( -105), INT16_C( -75), INT16_C( -101),
2428
- INT16_C( 71), INT16_C( -122), INT16_C( -112), INT16_C( -2),
2429
- INT16_C( 60), INT16_C( -71), INT16_C( 101), INT16_C( -1),
2430
- INT16_C( 95), INT16_C( -58), INT16_C( -70), INT16_C( 102),
2431
- INT16_C( 115), INT16_C( -68), INT16_C( -110), INT16_C( -36),
2432
- INT16_C( 6), INT16_C( 58), INT16_C( 73), INT16_C( 97),
2433
- INT16_C( -51), INT16_C( -4), INT16_C( 58), INT16_C( 31)) },
2434
- { simde_mm256_set_epi8(INT8_C( -73), INT8_C(-123), INT8_C( -11), INT8_C( 62),
2435
- INT8_C( -96), INT8_C(-103), INT8_C( 85), INT8_C( 88),
2436
- INT8_C( -19), INT8_C( 28), INT8_C(-107), INT8_C( -81),
2437
- INT8_C(-125), INT8_C( 88), INT8_C( 84), INT8_C( 115),
2438
- INT8_C( 105), INT8_C( -47), INT8_C( 68), INT8_C(-124),
2439
- INT8_C( 32), INT8_C(-100), INT8_C( 10), INT8_C( -69),
2440
- INT8_C( 124), INT8_C( -51), INT8_C( -89), INT8_C( -72),
2441
- INT8_C( -92), INT8_C( -5), INT8_C( -46), INT8_C( 115)),
2442
- simde_mm512_set_epi16(INT16_C( -73), INT16_C( -123), INT16_C( -11), INT16_C( 62),
2443
- INT16_C( -96), INT16_C( -103), INT16_C( 85), INT16_C( 88),
2444
- INT16_C( -19), INT16_C( 28), INT16_C( -107), INT16_C( -81),
2445
- INT16_C( -125), INT16_C( 88), INT16_C( 84), INT16_C( 115),
2446
- INT16_C( 105), INT16_C( -47), INT16_C( 68), INT16_C( -124),
2447
- INT16_C( 32), INT16_C( -100), INT16_C( 10), INT16_C( -69),
2448
- INT16_C( 124), INT16_C( -51), INT16_C( -89), INT16_C( -72),
2449
- INT16_C( -92), INT16_C( -5), INT16_C( -46), INT16_C( 115)) },
2450
- { simde_mm256_set_epi8(INT8_C( 104), INT8_C( 66), INT8_C( 51), INT8_C( 81),
2451
- INT8_C( -69), INT8_C( 104), INT8_C( 126), INT8_C( -43),
2452
- INT8_C( -40), INT8_C( 23), INT8_C(-124), INT8_C( 98),
2453
- INT8_C(-125), INT8_C( 95), INT8_C( -36), INT8_C( 46),
2454
- INT8_C(-115), INT8_C( -93), INT8_C( 2), INT8_C( -77),
2455
- INT8_C( 80), INT8_C(-116), INT8_C( 61), INT8_C( -89),
2456
- INT8_C( -37), INT8_C( 9), INT8_C( 84), INT8_C( -64),
2457
- INT8_C( 94), INT8_C( 67), INT8_C( -53), INT8_C( 111)),
2458
- simde_mm512_set_epi16(INT16_C( 104), INT16_C( 66), INT16_C( 51), INT16_C( 81),
2459
- INT16_C( -69), INT16_C( 104), INT16_C( 126), INT16_C( -43),
2460
- INT16_C( -40), INT16_C( 23), INT16_C( -124), INT16_C( 98),
2461
- INT16_C( -125), INT16_C( 95), INT16_C( -36), INT16_C( 46),
2462
- INT16_C( -115), INT16_C( -93), INT16_C( 2), INT16_C( -77),
2463
- INT16_C( 80), INT16_C( -116), INT16_C( 61), INT16_C( -89),
2464
- INT16_C( -37), INT16_C( 9), INT16_C( 84), INT16_C( -64),
2465
- INT16_C( 94), INT16_C( 67), INT16_C( -53), INT16_C( 111)) }
2466
- };
2467
-
2468
- for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
2469
- simde__m512i r = simde_mm512_cvtepi8_epi16(test_vec[i].a);
2470
- simde_assert_m512i_i16(r, ==, test_vec[i].r);
2471
- }
2472
-
2473
- return MUNIT_OK;
2474
- }
2475
-
2476
- static MunitResult
2477
- test_simde_mm512_cvtsepi16_epi8(const MunitParameter params[], void* data) {
2478
- (void) params;
2479
- (void) data;
2480
-
2481
- const struct {
2482
- simde__m512i a;
2483
- simde__m256i r;
2484
- } test_vec[8] = {
2485
- { simde_mm512_set_epi16(INT16_C( 8002), INT16_C( -42), INT16_C( 317), INT16_C( 3),
2486
- INT16_C( 2), INT16_C( 22), INT16_C( 2), INT16_C( 102),
2487
- INT16_C( 0), INT16_C( 130), INT16_C( 297), INT16_C( 4068),
2488
- INT16_C( -202), INT16_C( 4593), INT16_C( 1545), INT16_C( -2),
2489
- INT16_C( -4392), INT16_C( -3947), INT16_C( 301), INT16_C(-11526),
2490
- INT16_C( -1), INT16_C( 1), INT16_C( -437), INT16_C( 4),
2491
- INT16_C( -139), INT16_C( -4859), INT16_C( -1), INT16_C( 12),
2492
- INT16_C( -591), INT16_C( -40), INT16_C( -269), INT16_C( -24)),
2493
- simde_mm256_set_epi8(INT8_C( 127), INT8_C( -42), INT8_C( 127), INT8_C( 3),
2494
- INT8_C( 2), INT8_C( 22), INT8_C( 2), INT8_C( 102),
2495
- INT8_C( 0), INT8_C( 127), INT8_C( 127), INT8_C( 127),
2496
- INT8_C(-128), INT8_C( 127), INT8_C( 127), INT8_C( -2),
2497
- INT8_C(-128), INT8_C(-128), INT8_C( 127), INT8_C(-128),
2498
- INT8_C( -1), INT8_C( 1), INT8_C(-128), INT8_C( 4),
2499
- INT8_C(-128), INT8_C(-128), INT8_C( -1), INT8_C( 12),
2500
- INT8_C(-128), INT8_C( -40), INT8_C(-128), INT8_C( -24)) },
2501
- { simde_mm512_set_epi16(INT16_C( 2), INT16_C( 49), INT16_C( 2), INT16_C( 131),
2502
- INT16_C( 1), INT16_C(-15743), INT16_C( 1984), INT16_C( 9),
2503
- INT16_C(-20648), INT16_C( -5458), INT16_C( -1), INT16_C( -1),
2504
- INT16_C( -3713), INT16_C( -60), INT16_C( -1328), INT16_C( 4),
2505
- INT16_C( 150), INT16_C( -8), INT16_C( 1864), INT16_C( -14),
2506
- INT16_C( 20), INT16_C( 194), INT16_C( 0), INT16_C( 5954),
2507
- INT16_C( -13), INT16_C( -288), INT16_C( 3162), INT16_C( 1),
2508
- INT16_C( 14), INT16_C( 2628), INT16_C( -1), INT16_C( -8)),
2509
- simde_mm256_set_epi8(INT8_C( 2), INT8_C( 49), INT8_C( 2), INT8_C( 127),
2510
- INT8_C( 1), INT8_C(-128), INT8_C( 127), INT8_C( 9),
2511
- INT8_C(-128), INT8_C(-128), INT8_C( -1), INT8_C( -1),
2512
- INT8_C(-128), INT8_C( -60), INT8_C(-128), INT8_C( 4),
2513
- INT8_C( 127), INT8_C( -8), INT8_C( 127), INT8_C( -14),
2514
- INT8_C( 20), INT8_C( 127), INT8_C( 0), INT8_C( 127),
2515
- INT8_C( -13), INT8_C(-128), INT8_C( 127), INT8_C( 1),
2516
- INT8_C( 14), INT8_C( 127), INT8_C( -1), INT8_C( -8)) },
2517
- { simde_mm512_set_epi16(INT16_C( -562), INT16_C( -4), INT16_C( 14830), INT16_C( 23439),
2518
- INT16_C( -872), INT16_C( 2), INT16_C( -152), INT16_C( 42),
2519
- INT16_C( 23882), INT16_C( -7), INT16_C(-27326), INT16_C( 5025),
2520
- INT16_C( 7663), INT16_C(-14858), INT16_C( 0), INT16_C( -1),
2521
- INT16_C( 27), INT16_C( 3), INT16_C( -6), INT16_C( 54),
2522
- INT16_C( -16), INT16_C( -120), INT16_C( -1), INT16_C( 0),
2523
- INT16_C( 50), INT16_C( -3), INT16_C( 1), INT16_C( -128),
2524
- INT16_C( -6425), INT16_C( 1), INT16_C( -1), INT16_C( -167)),
2525
- simde_mm256_set_epi8(INT8_C(-128), INT8_C( -4), INT8_C( 127), INT8_C( 127),
2526
- INT8_C(-128), INT8_C( 2), INT8_C(-128), INT8_C( 42),
2527
- INT8_C( 127), INT8_C( -7), INT8_C(-128), INT8_C( 127),
2528
- INT8_C( 127), INT8_C(-128), INT8_C( 0), INT8_C( -1),
2529
- INT8_C( 27), INT8_C( 3), INT8_C( -6), INT8_C( 54),
2530
- INT8_C( -16), INT8_C(-120), INT8_C( -1), INT8_C( 0),
2531
- INT8_C( 50), INT8_C( -3), INT8_C( 1), INT8_C(-128),
2532
- INT8_C(-128), INT8_C( 1), INT8_C( -1), INT8_C(-128)) },
2533
- { simde_mm512_set_epi16(INT16_C( 117), INT16_C( 75), INT16_C( -56), INT16_C( -1),
2534
- INT16_C( 53), INT16_C( -283), INT16_C( 138), INT16_C( 3),
2535
- INT16_C( -1), INT16_C( 6705), INT16_C( 138), INT16_C( -3521),
2536
- INT16_C( 22), INT16_C( 1779), INT16_C( 2888), INT16_C( -1),
2537
- INT16_C( -189), INT16_C( 17712), INT16_C( -18), INT16_C( 923),
2538
- INT16_C( 1), INT16_C( 1), INT16_C( 2605), INT16_C( 353),
2539
- INT16_C( 201), INT16_C( -120), INT16_C(-28865), INT16_C( -13),
2540
- INT16_C( -701), INT16_C( 945), INT16_C( -2270), INT16_C( 0)),
2541
- simde_mm256_set_epi8(INT8_C( 117), INT8_C( 75), INT8_C( -56), INT8_C( -1),
2542
- INT8_C( 53), INT8_C(-128), INT8_C( 127), INT8_C( 3),
2543
- INT8_C( -1), INT8_C( 127), INT8_C( 127), INT8_C(-128),
2544
- INT8_C( 22), INT8_C( 127), INT8_C( 127), INT8_C( -1),
2545
- INT8_C(-128), INT8_C( 127), INT8_C( -18), INT8_C( 127),
2546
- INT8_C( 1), INT8_C( 1), INT8_C( 127), INT8_C( 127),
2547
- INT8_C( 127), INT8_C(-120), INT8_C(-128), INT8_C( -13),
2548
- INT8_C(-128), INT8_C( 127), INT8_C(-128), INT8_C( 0)) },
2549
- { simde_mm512_set_epi16(INT16_C( 127), INT16_C( 406), INT16_C( 74), INT16_C( -2),
2550
- INT16_C( -12), INT16_C( 196), INT16_C( -4), INT16_C( -4852),
2551
- INT16_C( 38), INT16_C( -10), INT16_C( -408), INT16_C( 453),
2552
- INT16_C( -6833), INT16_C( 37), INT16_C( -3464), INT16_C( -2),
2553
- INT16_C( -488), INT16_C( 0), INT16_C( 643), INT16_C( 6),
2554
- INT16_C( 51), INT16_C( 0), INT16_C( -4), INT16_C( -1),
2555
- INT16_C(-14928), INT16_C( -46), INT16_C( 58), INT16_C( -3),
2556
- INT16_C( 0), INT16_C( -343), INT16_C(-10019), INT16_C( 0)),
2557
- simde_mm256_set_epi8(INT8_C( 127), INT8_C( 127), INT8_C( 74), INT8_C( -2),
2558
- INT8_C( -12), INT8_C( 127), INT8_C( -4), INT8_C(-128),
2559
- INT8_C( 38), INT8_C( -10), INT8_C(-128), INT8_C( 127),
2560
- INT8_C(-128), INT8_C( 37), INT8_C(-128), INT8_C( -2),
2561
- INT8_C(-128), INT8_C( 0), INT8_C( 127), INT8_C( 6),
2562
- INT8_C( 51), INT8_C( 0), INT8_C( -4), INT8_C( -1),
2563
- INT8_C(-128), INT8_C( -46), INT8_C( 58), INT8_C( -3),
2564
- INT8_C( 0), INT8_C(-128), INT8_C(-128), INT8_C( 0)) },
2565
- { simde_mm512_set_epi16(INT16_C( -1), INT16_C( -378), INT16_C( 3797), INT16_C( 1),
2566
- INT16_C( -61), INT16_C( -6468), INT16_C( 0), INT16_C(-18745),
2567
- INT16_C( 3), INT16_C( -5), INT16_C( -1), INT16_C( 4066),
2568
- INT16_C( -1), INT16_C( -11), INT16_C( -2), INT16_C( 881),
2569
- INT16_C( -116), INT16_C( 22), INT16_C( 1), INT16_C( -1127),
2570
- INT16_C( 15), INT16_C( 2276), INT16_C( -149), INT16_C( 7345),
2571
- INT16_C( 850), INT16_C( -84), INT16_C( -2), INT16_C( 0),
2572
- INT16_C( -6), INT16_C( -3696), INT16_C( -2), INT16_C( 2136)),
2573
- simde_mm256_set_epi8(INT8_C( -1), INT8_C(-128), INT8_C( 127), INT8_C( 1),
2574
- INT8_C( -61), INT8_C(-128), INT8_C( 0), INT8_C(-128),
2575
- INT8_C( 3), INT8_C( -5), INT8_C( -1), INT8_C( 127),
2576
- INT8_C( -1), INT8_C( -11), INT8_C( -2), INT8_C( 127),
2577
- INT8_C(-116), INT8_C( 22), INT8_C( 1), INT8_C(-128),
2578
- INT8_C( 15), INT8_C( 127), INT8_C(-128), INT8_C( 127),
2579
- INT8_C( 127), INT8_C( -84), INT8_C( -2), INT8_C( 0),
2580
- INT8_C( -6), INT8_C(-128), INT8_C( -2), INT8_C( 127)) },
2581
- { simde_mm512_set_epi16(INT16_C( -368), INT16_C( -1403), INT16_C( -10), INT16_C( 2787),
2582
- INT16_C( 6145), INT16_C( -228), INT16_C( 2519), INT16_C( -1),
2583
- INT16_C( -244), INT16_C( 10), INT16_C( 14), INT16_C( 113),
2584
- INT16_C( 23), INT16_C( 1), INT16_C( 21613), INT16_C( -2),
2585
- INT16_C( -2), INT16_C( -29), INT16_C( 9866), INT16_C( 356),
2586
- INT16_C( -254), INT16_C( -21), INT16_C( 9), INT16_C( 9),
2587
- INT16_C( 249), INT16_C( 3052), INT16_C( -8880), INT16_C( 7),
2588
- INT16_C( 0), INT16_C( -4602), INT16_C( -8839), INT16_C( 18288)),
2589
- simde_mm256_set_epi8(INT8_C(-128), INT8_C(-128), INT8_C( -10), INT8_C( 127),
2590
- INT8_C( 127), INT8_C(-128), INT8_C( 127), INT8_C( -1),
2591
- INT8_C(-128), INT8_C( 10), INT8_C( 14), INT8_C( 113),
2592
- INT8_C( 23), INT8_C( 1), INT8_C( 127), INT8_C( -2),
2593
- INT8_C( -2), INT8_C( -29), INT8_C( 127), INT8_C( 127),
2594
- INT8_C(-128), INT8_C( -21), INT8_C( 9), INT8_C( 9),
2595
- INT8_C( 127), INT8_C( 127), INT8_C(-128), INT8_C( 7),
2596
- INT8_C( 0), INT8_C(-128), INT8_C(-128), INT8_C( 127)) },
2597
- { simde_mm512_set_epi16(INT16_C( 502), INT16_C( 22), INT16_C( -4), INT16_C( 1),
2598
- INT16_C( 2), INT16_C( -1148), INT16_C( 1), INT16_C( 8),
2599
- INT16_C( 25), INT16_C( 8616), INT16_C( -1), INT16_C( 0),
2600
- INT16_C( 1091), INT16_C( -370), INT16_C( 0), INT16_C( -1),
2601
- INT16_C( -1549), INT16_C( 12), INT16_C( -2), INT16_C( 4),
2602
- INT16_C( -3952), INT16_C( 1681), INT16_C( 3), INT16_C( 35),
2603
- INT16_C( -6), INT16_C( 0), INT16_C( -2), INT16_C( 51),
2604
- INT16_C( 0), INT16_C( 3760), INT16_C( -1), INT16_C( -1)),
2605
- simde_mm256_set_epi8(INT8_C( 127), INT8_C( 22), INT8_C( -4), INT8_C( 1),
2606
- INT8_C( 2), INT8_C(-128), INT8_C( 1), INT8_C( 8),
2607
- INT8_C( 25), INT8_C( 127), INT8_C( -1), INT8_C( 0),
2608
- INT8_C( 127), INT8_C(-128), INT8_C( 0), INT8_C( -1),
2609
- INT8_C(-128), INT8_C( 12), INT8_C( -2), INT8_C( 4),
2610
- INT8_C(-128), INT8_C( 127), INT8_C( 3), INT8_C( 35),
2611
- INT8_C( -6), INT8_C( 0), INT8_C( -2), INT8_C( 51),
2612
- INT8_C( 0), INT8_C( 127), INT8_C( -1), INT8_C( -1)) }
2613
- };
2614
-
2615
- for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
2616
- simde__m256i r = simde_mm512_cvtsepi16_epi8(test_vec[i].a);
2617
- simde_assert_m256i_i8(r, ==, test_vec[i].r);
2618
- }
2619
-
2620
- return MUNIT_OK;
2621
- }
2622
-
2623
- #endif /* defined(SIMDE_avx512bw_NATIVE) || defined(SIMDE_NO_NATIVE) || defined(SIMDE_ALWAYS_BUILD_NATIVE_TESTS) */
2624
-
2625
- HEDLEY_DIAGNOSTIC_PUSH
2626
- HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
2627
-
2628
- static MunitTest test_suite_tests[] = {
2629
- #if defined(SIMDE_AVX512BW_NATIVE) || defined(SIMDE_NO_NATIVE) || defined(SIMDE_ALWAYS_BUILD_NATIVE_TESTS)
2630
- SIMDE_TESTS_DEFINE_TEST(mm512_add_epi32),
2631
- SIMDE_TESTS_DEFINE_TEST(mm512_add_epi64),
2632
-
2633
- SIMDE_TESTS_DEFINE_TEST(mm512_adds_epi8),
2634
- SIMDE_TESTS_DEFINE_TEST(mm512_adds_epi16),
2635
- SIMDE_TESTS_DEFINE_TEST(mm512_adds_epu8),
2636
- SIMDE_TESTS_DEFINE_TEST(mm512_adds_epu16),
2637
-
2638
- SIMDE_TESTS_DEFINE_TEST(mm512_shuffle_epi8),
2639
- SIMDE_TESTS_DEFINE_TEST(mm512_cmpeq_epi8_mask),
2640
-
2641
- SIMDE_TESTS_DEFINE_TEST(mm512_cvtepi8_epi16),
2642
- SIMDE_TESTS_DEFINE_TEST(mm512_cvtepi16_epi8),
2643
-
2644
- SIMDE_TESTS_DEFINE_TEST(mm512_cvtsepi16_epi8),
2645
-
2646
- #endif /* defined(SIMDE_AVX512bw_NATIVE) || defined(SIMDE_NO_NATIVE) || defined(SIMDE_ALWAYS_BUILD_NATIVE_TESTS) */
2647
- { NULL, NULL, NULL, NULL, MUNIT_TEST_OPTION_NONE, NULL }
2648
- };
2649
-
2650
- HEDLEY_C_DECL MunitSuite* SIMDE_TESTS_GENERATE_SYMBOL(suite)(void) {
2651
- static MunitSuite suite = { (char*) "/" HEDLEY_STRINGIFY(SIMDE_TESTS_CURRENT_ISAX), test_suite_tests, NULL, 1, MUNIT_SUITE_OPTION_NONE };
2652
-
2653
- return &suite;
2654
- }
2655
-
2656
- #if defined(SIMDE_TESTS_SINGLE_ISAX)
2657
- int main(int argc, char* argv[HEDLEY_ARRAY_PARAM(argc + 1)]) {
2658
- static MunitSuite suite = { "", test_suite_tests, NULL, 1, MUNIT_SUITE_OPTION_NONE };
2659
-
2660
- return munit_suite_main(&suite, NULL, argc, argv);
2661
- }
2662
- #endif /* defined(SIMDE_TESTS_SINGLE_ISAX) */
2663
-
2664
- HEDLEY_DIAGNOSTIC_POP