Update googletest to 1.18.0 and SIMDe to 0.8.2.
Googletest 1.18 asks for CMake 3.13 or newer, so configuring the tests no longer warns that CMake compatibility below 3.10 is deprecated. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
e4e666f459
commit
3f10e05176
912 changed files with 224964 additions and 11502 deletions
199
thirdparty/simde/test/x86/avx512/permutexvar.c
vendored
199
thirdparty/simde/test/x86/avx512/permutexvar.c
vendored
|
|
@ -4897,6 +4897,201 @@ test_simde_mm512_maskz_permutexvar_ps(SIMDE_MUNIT_TEST_ARGS) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
#if defined(SIMDE_FLOAT16_IS_SCALAR)
|
||||
static int
|
||||
test_simde_mm512_permutexvar_ph (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
static const struct {
|
||||
const int16_t idx[32];
|
||||
const simde_float16 a[32];
|
||||
const simde_float16 r[32];
|
||||
} test_vec[] = {
|
||||
{ { INT16_C( 19231), INT16_C( 6140), -INT16_C( 5262), INT16_C( 10909), INT16_C( 4796), -INT16_C( 15252), INT16_C( 18526), -INT16_C( 769),
|
||||
INT16_C( 9045), -INT16_C( 5190), INT16_C( 24637), -INT16_C( 2148), INT16_C( 27204), INT16_C( 18374), -INT16_C( 2945), -INT16_C( 25067),
|
||||
INT16_C( 4671), -INT16_C( 20043), INT16_C( 21501), -INT16_C( 17957), INT16_C( 18533), -INT16_C( 15491), INT16_C( 32144), -INT16_C( 6721),
|
||||
INT16_C( 31136), -INT16_C( 8752), INT16_C( 27865), INT16_C( 7892), -INT16_C( 25898), INT16_C( 22117), INT16_C( 31630), -INT16_C( 12812) },
|
||||
{ SIMDE_FLOAT16_VALUE( 424.75), SIMDE_FLOAT16_VALUE( 653.00), SIMDE_FLOAT16_VALUE( -887.00), SIMDE_FLOAT16_VALUE( -455.50),
|
||||
SIMDE_FLOAT16_VALUE( 917.00), SIMDE_FLOAT16_VALUE( 100.38), SIMDE_FLOAT16_VALUE( -7.92), SIMDE_FLOAT16_VALUE( -797.50),
|
||||
SIMDE_FLOAT16_VALUE( -758.00), SIMDE_FLOAT16_VALUE( -691.50), SIMDE_FLOAT16_VALUE( -618.50), SIMDE_FLOAT16_VALUE( -734.00),
|
||||
SIMDE_FLOAT16_VALUE( -638.50), SIMDE_FLOAT16_VALUE( -196.62), SIMDE_FLOAT16_VALUE( 411.50), SIMDE_FLOAT16_VALUE( 643.50),
|
||||
SIMDE_FLOAT16_VALUE( 736.50), SIMDE_FLOAT16_VALUE( -868.00), SIMDE_FLOAT16_VALUE( -880.50), SIMDE_FLOAT16_VALUE( -672.50),
|
||||
SIMDE_FLOAT16_VALUE( -526.00), SIMDE_FLOAT16_VALUE( 853.50), SIMDE_FLOAT16_VALUE( -930.50), SIMDE_FLOAT16_VALUE( 767.50),
|
||||
SIMDE_FLOAT16_VALUE( -236.12), SIMDE_FLOAT16_VALUE( -16.80), SIMDE_FLOAT16_VALUE( 133.62), SIMDE_FLOAT16_VALUE( 797.00),
|
||||
SIMDE_FLOAT16_VALUE( 291.75), SIMDE_FLOAT16_VALUE( -516.50), SIMDE_FLOAT16_VALUE( 17.03), SIMDE_FLOAT16_VALUE( -283.50) },
|
||||
{ SIMDE_FLOAT16_VALUE( -283.50), SIMDE_FLOAT16_VALUE( 291.75), SIMDE_FLOAT16_VALUE( -880.50), SIMDE_FLOAT16_VALUE( -516.50),
|
||||
SIMDE_FLOAT16_VALUE( 291.75), SIMDE_FLOAT16_VALUE( -638.50), SIMDE_FLOAT16_VALUE( 17.03), SIMDE_FLOAT16_VALUE( -283.50),
|
||||
SIMDE_FLOAT16_VALUE( 853.50), SIMDE_FLOAT16_VALUE( 133.62), SIMDE_FLOAT16_VALUE( -516.50), SIMDE_FLOAT16_VALUE( 291.75),
|
||||
SIMDE_FLOAT16_VALUE( 917.00), SIMDE_FLOAT16_VALUE( -7.92), SIMDE_FLOAT16_VALUE( -283.50), SIMDE_FLOAT16_VALUE( 853.50),
|
||||
SIMDE_FLOAT16_VALUE( -283.50), SIMDE_FLOAT16_VALUE( 853.50), SIMDE_FLOAT16_VALUE( -516.50), SIMDE_FLOAT16_VALUE( 797.00),
|
||||
SIMDE_FLOAT16_VALUE( 100.38), SIMDE_FLOAT16_VALUE( -516.50), SIMDE_FLOAT16_VALUE( 736.50), SIMDE_FLOAT16_VALUE( -283.50),
|
||||
SIMDE_FLOAT16_VALUE( 424.75), SIMDE_FLOAT16_VALUE( 736.50), SIMDE_FLOAT16_VALUE( -16.80), SIMDE_FLOAT16_VALUE( -526.00),
|
||||
SIMDE_FLOAT16_VALUE( -930.50), SIMDE_FLOAT16_VALUE( 100.38), SIMDE_FLOAT16_VALUE( 411.50), SIMDE_FLOAT16_VALUE( -526.00) } },
|
||||
{ { INT16_C( 1310), INT16_C( 6990), -INT16_C( 28321), INT16_C( 381), -INT16_C( 23726), -INT16_C( 28621), INT16_C( 19081), -INT16_C( 6033),
|
||||
INT16_C( 11057), -INT16_C( 31712), INT16_C( 30651), -INT16_C( 6482), INT16_C( 11571), INT16_C( 27296), INT16_C( 10145), -INT16_C( 16594),
|
||||
INT16_C( 31788), -INT16_C( 29478), INT16_C( 22541), INT16_C( 24717), -INT16_C( 15877), -INT16_C( 31504), INT16_C( 24331), INT16_C( 15724),
|
||||
-INT16_C( 29302), INT16_C( 18113), INT16_C( 28420), INT16_C( 14124), -INT16_C( 13155), INT16_C( 16033), -INT16_C( 12301), INT16_C( 8446) },
|
||||
{ SIMDE_FLOAT16_VALUE( 722.50), SIMDE_FLOAT16_VALUE( -193.12), SIMDE_FLOAT16_VALUE( -391.25), SIMDE_FLOAT16_VALUE( 802.50),
|
||||
SIMDE_FLOAT16_VALUE( 394.50), SIMDE_FLOAT16_VALUE( -440.75), SIMDE_FLOAT16_VALUE( -555.00), SIMDE_FLOAT16_VALUE( -380.25),
|
||||
SIMDE_FLOAT16_VALUE( 248.38), SIMDE_FLOAT16_VALUE( -989.50), SIMDE_FLOAT16_VALUE( 286.00), SIMDE_FLOAT16_VALUE( -913.00),
|
||||
SIMDE_FLOAT16_VALUE( -857.00), SIMDE_FLOAT16_VALUE( 129.62), SIMDE_FLOAT16_VALUE( 208.00), SIMDE_FLOAT16_VALUE( -38.38),
|
||||
SIMDE_FLOAT16_VALUE( -522.00), SIMDE_FLOAT16_VALUE( 84.69), SIMDE_FLOAT16_VALUE( -679.50), SIMDE_FLOAT16_VALUE( 400.75),
|
||||
SIMDE_FLOAT16_VALUE( 484.75), SIMDE_FLOAT16_VALUE( -16.88), SIMDE_FLOAT16_VALUE( -118.94), SIMDE_FLOAT16_VALUE( 542.00),
|
||||
SIMDE_FLOAT16_VALUE( -253.00), SIMDE_FLOAT16_VALUE( -789.50), SIMDE_FLOAT16_VALUE( 740.00), SIMDE_FLOAT16_VALUE( -371.00),
|
||||
SIMDE_FLOAT16_VALUE( -894.00), SIMDE_FLOAT16_VALUE( -784.50), SIMDE_FLOAT16_VALUE( 759.00), SIMDE_FLOAT16_VALUE( 828.50) },
|
||||
{ SIMDE_FLOAT16_VALUE( 759.00), SIMDE_FLOAT16_VALUE( 208.00), SIMDE_FLOAT16_VALUE( 828.50), SIMDE_FLOAT16_VALUE( -784.50),
|
||||
SIMDE_FLOAT16_VALUE( -679.50), SIMDE_FLOAT16_VALUE( 400.75), SIMDE_FLOAT16_VALUE( -989.50), SIMDE_FLOAT16_VALUE( -38.38),
|
||||
SIMDE_FLOAT16_VALUE( 84.69), SIMDE_FLOAT16_VALUE( 722.50), SIMDE_FLOAT16_VALUE( -371.00), SIMDE_FLOAT16_VALUE( 208.00),
|
||||
SIMDE_FLOAT16_VALUE( 400.75), SIMDE_FLOAT16_VALUE( 722.50), SIMDE_FLOAT16_VALUE( -193.12), SIMDE_FLOAT16_VALUE( 208.00),
|
||||
SIMDE_FLOAT16_VALUE( -857.00), SIMDE_FLOAT16_VALUE( 740.00), SIMDE_FLOAT16_VALUE( 129.62), SIMDE_FLOAT16_VALUE( 129.62),
|
||||
SIMDE_FLOAT16_VALUE( -371.00), SIMDE_FLOAT16_VALUE( -522.00), SIMDE_FLOAT16_VALUE( -913.00), SIMDE_FLOAT16_VALUE( -857.00),
|
||||
SIMDE_FLOAT16_VALUE( 286.00), SIMDE_FLOAT16_VALUE( -193.12), SIMDE_FLOAT16_VALUE( 394.50), SIMDE_FLOAT16_VALUE( -857.00),
|
||||
SIMDE_FLOAT16_VALUE( -784.50), SIMDE_FLOAT16_VALUE( -193.12), SIMDE_FLOAT16_VALUE( 400.75), SIMDE_FLOAT16_VALUE( 759.00) } },
|
||||
{ { -INT16_C( 28378), INT16_C( 22264), -INT16_C( 20021), -INT16_C( 14974), INT16_C( 13146), INT16_C( 25291), INT16_C( 3664), -INT16_C( 1291),
|
||||
-INT16_C( 12781), -INT16_C( 30808), -INT16_C( 29228), -INT16_C( 22888), -INT16_C( 6381), INT16_C( 26731), INT16_C( 20789), INT16_C( 23304),
|
||||
INT16_C( 226), -INT16_C( 21071), INT16_C( 13489), INT16_C( 2931), INT16_C( 15975), -INT16_C( 18578), INT16_C( 25421), INT16_C( 24753),
|
||||
INT16_C( 22834), INT16_C( 1767), INT16_C( 32742), -INT16_C( 1620), INT16_C( 5990), -INT16_C( 25759), INT16_C( 26984), INT16_C( 19446) },
|
||||
{ SIMDE_FLOAT16_VALUE( -441.50), SIMDE_FLOAT16_VALUE( 404.25), SIMDE_FLOAT16_VALUE( 240.50), SIMDE_FLOAT16_VALUE( -376.25),
|
||||
SIMDE_FLOAT16_VALUE( 417.25), SIMDE_FLOAT16_VALUE( -660.50), SIMDE_FLOAT16_VALUE( -224.75), SIMDE_FLOAT16_VALUE( 752.50),
|
||||
SIMDE_FLOAT16_VALUE( 701.50), SIMDE_FLOAT16_VALUE( 156.38), SIMDE_FLOAT16_VALUE( 540.50), SIMDE_FLOAT16_VALUE( -466.25),
|
||||
SIMDE_FLOAT16_VALUE( -271.50), SIMDE_FLOAT16_VALUE( 258.00), SIMDE_FLOAT16_VALUE( 921.50), SIMDE_FLOAT16_VALUE( 812.00),
|
||||
SIMDE_FLOAT16_VALUE( -693.50), SIMDE_FLOAT16_VALUE( 348.75), SIMDE_FLOAT16_VALUE( 390.25), SIMDE_FLOAT16_VALUE( 567.50),
|
||||
SIMDE_FLOAT16_VALUE( -642.00), SIMDE_FLOAT16_VALUE( -790.00), SIMDE_FLOAT16_VALUE( 250.50), SIMDE_FLOAT16_VALUE( -310.75),
|
||||
SIMDE_FLOAT16_VALUE( -99.81), SIMDE_FLOAT16_VALUE( 462.75), SIMDE_FLOAT16_VALUE( -442.50), SIMDE_FLOAT16_VALUE( 219.75),
|
||||
SIMDE_FLOAT16_VALUE( -967.50), SIMDE_FLOAT16_VALUE( -14.66), SIMDE_FLOAT16_VALUE( 536.00), SIMDE_FLOAT16_VALUE( -409.00) },
|
||||
{ SIMDE_FLOAT16_VALUE( -224.75), SIMDE_FLOAT16_VALUE( -99.81), SIMDE_FLOAT16_VALUE( -466.25), SIMDE_FLOAT16_VALUE( 240.50),
|
||||
SIMDE_FLOAT16_VALUE( -442.50), SIMDE_FLOAT16_VALUE( -466.25), SIMDE_FLOAT16_VALUE( -693.50), SIMDE_FLOAT16_VALUE( -790.00),
|
||||
SIMDE_FLOAT16_VALUE( 567.50), SIMDE_FLOAT16_VALUE( 701.50), SIMDE_FLOAT16_VALUE( -642.00), SIMDE_FLOAT16_VALUE( -99.81),
|
||||
SIMDE_FLOAT16_VALUE( 567.50), SIMDE_FLOAT16_VALUE( -466.25), SIMDE_FLOAT16_VALUE( -790.00), SIMDE_FLOAT16_VALUE( 701.50),
|
||||
SIMDE_FLOAT16_VALUE( 240.50), SIMDE_FLOAT16_VALUE( 348.75), SIMDE_FLOAT16_VALUE( 348.75), SIMDE_FLOAT16_VALUE( 567.50),
|
||||
SIMDE_FLOAT16_VALUE( 752.50), SIMDE_FLOAT16_VALUE( 921.50), SIMDE_FLOAT16_VALUE( 258.00), SIMDE_FLOAT16_VALUE( 348.75),
|
||||
SIMDE_FLOAT16_VALUE( 390.25), SIMDE_FLOAT16_VALUE( 752.50), SIMDE_FLOAT16_VALUE( -224.75), SIMDE_FLOAT16_VALUE( -271.50),
|
||||
SIMDE_FLOAT16_VALUE( -224.75), SIMDE_FLOAT16_VALUE( 404.25), SIMDE_FLOAT16_VALUE( 701.50), SIMDE_FLOAT16_VALUE( 250.50) } },
|
||||
{ { -INT16_C( 24739), INT16_C( 14641), INT16_C( 22539), -INT16_C( 19076), INT16_C( 30444), -INT16_C( 6996), INT16_C( 801), INT16_C( 9486),
|
||||
INT16_C( 15937), -INT16_C( 497), -INT16_C( 3558), INT16_C( 3617), -INT16_C( 8138), -INT16_C( 7318), INT16_C( 4502), -INT16_C( 3078),
|
||||
INT16_C( 11184), -INT16_C( 17619), -INT16_C( 22141), INT16_C( 28784), INT16_C( 7200), INT16_C( 16724), INT16_C( 25375), INT16_C( 24679),
|
||||
INT16_C( 30369), -INT16_C( 17314), -INT16_C( 32663), -INT16_C( 24630), INT16_C( 13408), -INT16_C( 2429), INT16_C( 32069), -INT16_C( 2582) },
|
||||
{ SIMDE_FLOAT16_VALUE( 76.81), SIMDE_FLOAT16_VALUE( 996.50), SIMDE_FLOAT16_VALUE( -58.75), SIMDE_FLOAT16_VALUE( 849.50),
|
||||
SIMDE_FLOAT16_VALUE( -36.19), SIMDE_FLOAT16_VALUE( -404.25), SIMDE_FLOAT16_VALUE( 769.00), SIMDE_FLOAT16_VALUE( 31.09),
|
||||
SIMDE_FLOAT16_VALUE( 601.50), SIMDE_FLOAT16_VALUE( 563.00), SIMDE_FLOAT16_VALUE( 456.25), SIMDE_FLOAT16_VALUE( 880.50),
|
||||
SIMDE_FLOAT16_VALUE( 43.81), SIMDE_FLOAT16_VALUE( -454.50), SIMDE_FLOAT16_VALUE( -218.62), SIMDE_FLOAT16_VALUE( 602.00),
|
||||
SIMDE_FLOAT16_VALUE( 866.50), SIMDE_FLOAT16_VALUE( -338.50), SIMDE_FLOAT16_VALUE( 448.00), SIMDE_FLOAT16_VALUE( -330.00),
|
||||
SIMDE_FLOAT16_VALUE( -789.50), SIMDE_FLOAT16_VALUE( 481.75), SIMDE_FLOAT16_VALUE( -581.50), SIMDE_FLOAT16_VALUE( 986.00),
|
||||
SIMDE_FLOAT16_VALUE( -77.44), SIMDE_FLOAT16_VALUE( 143.88), SIMDE_FLOAT16_VALUE( -26.84), SIMDE_FLOAT16_VALUE( 307.00),
|
||||
SIMDE_FLOAT16_VALUE( 437.75), SIMDE_FLOAT16_VALUE( 561.50), SIMDE_FLOAT16_VALUE( 411.75), SIMDE_FLOAT16_VALUE( -485.25) },
|
||||
{ SIMDE_FLOAT16_VALUE( 561.50), SIMDE_FLOAT16_VALUE( -338.50), SIMDE_FLOAT16_VALUE( 880.50), SIMDE_FLOAT16_VALUE( 437.75),
|
||||
SIMDE_FLOAT16_VALUE( 43.81), SIMDE_FLOAT16_VALUE( 43.81), SIMDE_FLOAT16_VALUE( 996.50), SIMDE_FLOAT16_VALUE( -218.62),
|
||||
SIMDE_FLOAT16_VALUE( 996.50), SIMDE_FLOAT16_VALUE( 602.00), SIMDE_FLOAT16_VALUE( -26.84), SIMDE_FLOAT16_VALUE( 996.50),
|
||||
SIMDE_FLOAT16_VALUE( -581.50), SIMDE_FLOAT16_VALUE( 456.25), SIMDE_FLOAT16_VALUE( -581.50), SIMDE_FLOAT16_VALUE( -26.84),
|
||||
SIMDE_FLOAT16_VALUE( 866.50), SIMDE_FLOAT16_VALUE( -454.50), SIMDE_FLOAT16_VALUE( 849.50), SIMDE_FLOAT16_VALUE( 866.50),
|
||||
SIMDE_FLOAT16_VALUE( 76.81), SIMDE_FLOAT16_VALUE( -789.50), SIMDE_FLOAT16_VALUE( -485.25), SIMDE_FLOAT16_VALUE( 31.09),
|
||||
SIMDE_FLOAT16_VALUE( 996.50), SIMDE_FLOAT16_VALUE( 411.75), SIMDE_FLOAT16_VALUE( 563.00), SIMDE_FLOAT16_VALUE( 456.25),
|
||||
SIMDE_FLOAT16_VALUE( 76.81), SIMDE_FLOAT16_VALUE( 849.50), SIMDE_FLOAT16_VALUE( -404.25), SIMDE_FLOAT16_VALUE( 456.25) } },
|
||||
{ { -INT16_C( 25868), -INT16_C( 18980), INT16_C( 30908), -INT16_C( 1387), -INT16_C( 18583), -INT16_C( 17321), INT16_C( 5440), INT16_C( 16561),
|
||||
INT16_C( 25138), -INT16_C( 12632), -INT16_C( 20259), -INT16_C( 29493), -INT16_C( 16581), INT16_C( 17280), INT16_C( 27292), -INT16_C( 28172),
|
||||
-INT16_C( 12284), -INT16_C( 16314), -INT16_C( 9399), -INT16_C( 19782), INT16_C( 4755), -INT16_C( 11410), INT16_C( 8231), INT16_C( 22803),
|
||||
-INT16_C( 17278), INT16_C( 24616), -INT16_C( 3220), -INT16_C( 22292), INT16_C( 28082), INT16_C( 20459), -INT16_C( 8233), -INT16_C( 9248) },
|
||||
{ SIMDE_FLOAT16_VALUE( 141.62), SIMDE_FLOAT16_VALUE( -65.62), SIMDE_FLOAT16_VALUE( -969.00), SIMDE_FLOAT16_VALUE( 244.75),
|
||||
SIMDE_FLOAT16_VALUE( 171.62), SIMDE_FLOAT16_VALUE( -204.38), SIMDE_FLOAT16_VALUE( 43.88), SIMDE_FLOAT16_VALUE( -582.50),
|
||||
SIMDE_FLOAT16_VALUE( 991.50), SIMDE_FLOAT16_VALUE( 582.50), SIMDE_FLOAT16_VALUE( 217.62), SIMDE_FLOAT16_VALUE( -600.50),
|
||||
SIMDE_FLOAT16_VALUE( -536.50), SIMDE_FLOAT16_VALUE( 438.75), SIMDE_FLOAT16_VALUE( -318.75), SIMDE_FLOAT16_VALUE( 134.00),
|
||||
SIMDE_FLOAT16_VALUE( 751.00), SIMDE_FLOAT16_VALUE( 48.03), SIMDE_FLOAT16_VALUE( 76.38), SIMDE_FLOAT16_VALUE( -427.50),
|
||||
SIMDE_FLOAT16_VALUE( 485.50), SIMDE_FLOAT16_VALUE( 213.00), SIMDE_FLOAT16_VALUE( 47.12), SIMDE_FLOAT16_VALUE( -33.06),
|
||||
SIMDE_FLOAT16_VALUE( -149.12), SIMDE_FLOAT16_VALUE( -387.00), SIMDE_FLOAT16_VALUE( 53.72), SIMDE_FLOAT16_VALUE( 401.75),
|
||||
SIMDE_FLOAT16_VALUE( 784.50), SIMDE_FLOAT16_VALUE( 303.50), SIMDE_FLOAT16_VALUE( 218.25), SIMDE_FLOAT16_VALUE( -73.94) },
|
||||
{ SIMDE_FLOAT16_VALUE( 485.50), SIMDE_FLOAT16_VALUE( 784.50), SIMDE_FLOAT16_VALUE( 784.50), SIMDE_FLOAT16_VALUE( 213.00),
|
||||
SIMDE_FLOAT16_VALUE( 582.50), SIMDE_FLOAT16_VALUE( -33.06), SIMDE_FLOAT16_VALUE( 141.62), SIMDE_FLOAT16_VALUE( 48.03),
|
||||
SIMDE_FLOAT16_VALUE( 76.38), SIMDE_FLOAT16_VALUE( 991.50), SIMDE_FLOAT16_VALUE( 303.50), SIMDE_FLOAT16_VALUE( -600.50),
|
||||
SIMDE_FLOAT16_VALUE( 401.75), SIMDE_FLOAT16_VALUE( 141.62), SIMDE_FLOAT16_VALUE( 784.50), SIMDE_FLOAT16_VALUE( 485.50),
|
||||
SIMDE_FLOAT16_VALUE( 171.62), SIMDE_FLOAT16_VALUE( 43.88), SIMDE_FLOAT16_VALUE( 582.50), SIMDE_FLOAT16_VALUE( 53.72),
|
||||
SIMDE_FLOAT16_VALUE( -427.50), SIMDE_FLOAT16_VALUE( -318.75), SIMDE_FLOAT16_VALUE( -582.50), SIMDE_FLOAT16_VALUE( -427.50),
|
||||
SIMDE_FLOAT16_VALUE( -969.00), SIMDE_FLOAT16_VALUE( 991.50), SIMDE_FLOAT16_VALUE( -536.50), SIMDE_FLOAT16_VALUE( -536.50),
|
||||
SIMDE_FLOAT16_VALUE( 76.38), SIMDE_FLOAT16_VALUE( -600.50), SIMDE_FLOAT16_VALUE( -33.06), SIMDE_FLOAT16_VALUE( 141.62) } },
|
||||
{ { -INT16_C( 15348), INT16_C( 3776), INT16_C( 27418), -INT16_C( 31838), INT16_C( 2692), -INT16_C( 16877), -INT16_C( 890), -INT16_C( 17030),
|
||||
-INT16_C( 27122), INT16_C( 4961), -INT16_C( 21090), INT16_C( 5322), -INT16_C( 11803), -INT16_C( 928), -INT16_C( 30537), -INT16_C( 15165),
|
||||
-INT16_C( 31924), INT16_C( 26578), INT16_C( 29934), INT16_C( 29418), -INT16_C( 641), INT16_C( 1328), -INT16_C( 21767), INT16_C( 1986),
|
||||
INT16_C( 9280), -INT16_C( 8422), -INT16_C( 6703), -INT16_C( 18701), INT16_C( 21430), INT16_C( 28082), INT16_C( 30172), INT16_C( 10289) },
|
||||
{ SIMDE_FLOAT16_VALUE( -884.00), SIMDE_FLOAT16_VALUE( 947.50), SIMDE_FLOAT16_VALUE( -350.75), SIMDE_FLOAT16_VALUE( -321.25),
|
||||
SIMDE_FLOAT16_VALUE( -603.50), SIMDE_FLOAT16_VALUE( -866.00), SIMDE_FLOAT16_VALUE( -961.00), SIMDE_FLOAT16_VALUE( 890.00),
|
||||
SIMDE_FLOAT16_VALUE( -946.50), SIMDE_FLOAT16_VALUE( -340.00), SIMDE_FLOAT16_VALUE( 866.50), SIMDE_FLOAT16_VALUE( 90.06),
|
||||
SIMDE_FLOAT16_VALUE( 675.50), SIMDE_FLOAT16_VALUE( -922.00), SIMDE_FLOAT16_VALUE( -709.00), SIMDE_FLOAT16_VALUE( -837.50),
|
||||
SIMDE_FLOAT16_VALUE( 96.19), SIMDE_FLOAT16_VALUE( 142.25), SIMDE_FLOAT16_VALUE( 333.00), SIMDE_FLOAT16_VALUE( 968.50),
|
||||
SIMDE_FLOAT16_VALUE( -389.50), SIMDE_FLOAT16_VALUE( -961.50), SIMDE_FLOAT16_VALUE( 307.25), SIMDE_FLOAT16_VALUE( 749.50),
|
||||
SIMDE_FLOAT16_VALUE( 681.00), SIMDE_FLOAT16_VALUE( -102.38), SIMDE_FLOAT16_VALUE( 863.00), SIMDE_FLOAT16_VALUE( 477.75),
|
||||
SIMDE_FLOAT16_VALUE( 665.50), SIMDE_FLOAT16_VALUE( 188.62), SIMDE_FLOAT16_VALUE( -321.25), SIMDE_FLOAT16_VALUE( 781.00) },
|
||||
{ SIMDE_FLOAT16_VALUE( 675.50), SIMDE_FLOAT16_VALUE( -884.00), SIMDE_FLOAT16_VALUE( 863.00), SIMDE_FLOAT16_VALUE( -350.75),
|
||||
SIMDE_FLOAT16_VALUE( -603.50), SIMDE_FLOAT16_VALUE( 968.50), SIMDE_FLOAT16_VALUE( -961.00), SIMDE_FLOAT16_VALUE( 863.00),
|
||||
SIMDE_FLOAT16_VALUE( -709.00), SIMDE_FLOAT16_VALUE( 947.50), SIMDE_FLOAT16_VALUE( -321.25), SIMDE_FLOAT16_VALUE( 866.50),
|
||||
SIMDE_FLOAT16_VALUE( -866.00), SIMDE_FLOAT16_VALUE( -884.00), SIMDE_FLOAT16_VALUE( 749.50), SIMDE_FLOAT16_VALUE( -321.25),
|
||||
SIMDE_FLOAT16_VALUE( 675.50), SIMDE_FLOAT16_VALUE( 333.00), SIMDE_FLOAT16_VALUE( -709.00), SIMDE_FLOAT16_VALUE( 866.50),
|
||||
SIMDE_FLOAT16_VALUE( 781.00), SIMDE_FLOAT16_VALUE( 96.19), SIMDE_FLOAT16_VALUE( -102.38), SIMDE_FLOAT16_VALUE( -350.75),
|
||||
SIMDE_FLOAT16_VALUE( -884.00), SIMDE_FLOAT16_VALUE( 863.00), SIMDE_FLOAT16_VALUE( 142.25), SIMDE_FLOAT16_VALUE( 968.50),
|
||||
SIMDE_FLOAT16_VALUE( 307.25), SIMDE_FLOAT16_VALUE( 333.00), SIMDE_FLOAT16_VALUE( 665.50), SIMDE_FLOAT16_VALUE( 142.25) } },
|
||||
{ { INT16_C( 11983), INT16_C( 18289), -INT16_C( 13657), INT16_C( 7742), INT16_C( 14932), -INT16_C( 30578), INT16_C( 1529), -INT16_C( 9220),
|
||||
INT16_C( 20631), INT16_C( 3727), -INT16_C( 1386), INT16_C( 12347), -INT16_C( 10729), -INT16_C( 22106), INT16_C( 17826), INT16_C( 28980),
|
||||
-INT16_C( 22925), INT16_C( 6841), -INT16_C( 2192), -INT16_C( 15304), -INT16_C( 14798), INT16_C( 11084), INT16_C( 18892), INT16_C( 25350),
|
||||
-INT16_C( 26983), INT16_C( 12146), -INT16_C( 21104), -INT16_C( 22688), INT16_C( 1667), INT16_C( 9552), -INT16_C( 31413), -INT16_C( 16745) },
|
||||
{ SIMDE_FLOAT16_VALUE( -606.50), SIMDE_FLOAT16_VALUE( 519.00), SIMDE_FLOAT16_VALUE( 48.22), SIMDE_FLOAT16_VALUE( 435.25),
|
||||
SIMDE_FLOAT16_VALUE( 59.91), SIMDE_FLOAT16_VALUE( 560.00), SIMDE_FLOAT16_VALUE( 636.00), SIMDE_FLOAT16_VALUE( 890.00),
|
||||
SIMDE_FLOAT16_VALUE( -322.75), SIMDE_FLOAT16_VALUE( -328.00), SIMDE_FLOAT16_VALUE( -913.50), SIMDE_FLOAT16_VALUE( -308.75),
|
||||
SIMDE_FLOAT16_VALUE( -294.75), SIMDE_FLOAT16_VALUE( -253.88), SIMDE_FLOAT16_VALUE( -256.00), SIMDE_FLOAT16_VALUE( 68.94),
|
||||
SIMDE_FLOAT16_VALUE( 837.00), SIMDE_FLOAT16_VALUE( 446.00), SIMDE_FLOAT16_VALUE( 801.50), SIMDE_FLOAT16_VALUE( -333.00),
|
||||
SIMDE_FLOAT16_VALUE( -452.75), SIMDE_FLOAT16_VALUE( -415.50), SIMDE_FLOAT16_VALUE( -867.00), SIMDE_FLOAT16_VALUE( 910.00),
|
||||
SIMDE_FLOAT16_VALUE( -104.88), SIMDE_FLOAT16_VALUE( 901.00), SIMDE_FLOAT16_VALUE( -276.50), SIMDE_FLOAT16_VALUE( 412.50),
|
||||
SIMDE_FLOAT16_VALUE( 751.50), SIMDE_FLOAT16_VALUE( -876.50), SIMDE_FLOAT16_VALUE( 464.25), SIMDE_FLOAT16_VALUE( -855.50) },
|
||||
{ SIMDE_FLOAT16_VALUE( 68.94), SIMDE_FLOAT16_VALUE( 446.00), SIMDE_FLOAT16_VALUE( 890.00), SIMDE_FLOAT16_VALUE( 464.25),
|
||||
SIMDE_FLOAT16_VALUE( -452.75), SIMDE_FLOAT16_VALUE( -256.00), SIMDE_FLOAT16_VALUE( 901.00), SIMDE_FLOAT16_VALUE( 751.50),
|
||||
SIMDE_FLOAT16_VALUE( 910.00), SIMDE_FLOAT16_VALUE( 68.94), SIMDE_FLOAT16_VALUE( -867.00), SIMDE_FLOAT16_VALUE( 412.50),
|
||||
SIMDE_FLOAT16_VALUE( 910.00), SIMDE_FLOAT16_VALUE( 636.00), SIMDE_FLOAT16_VALUE( 48.22), SIMDE_FLOAT16_VALUE( -452.75),
|
||||
SIMDE_FLOAT16_VALUE( -333.00), SIMDE_FLOAT16_VALUE( 901.00), SIMDE_FLOAT16_VALUE( 837.00), SIMDE_FLOAT16_VALUE( -104.88),
|
||||
SIMDE_FLOAT16_VALUE( 801.50), SIMDE_FLOAT16_VALUE( -294.75), SIMDE_FLOAT16_VALUE( -294.75), SIMDE_FLOAT16_VALUE( 636.00),
|
||||
SIMDE_FLOAT16_VALUE( 901.00), SIMDE_FLOAT16_VALUE( 801.50), SIMDE_FLOAT16_VALUE( 837.00), SIMDE_FLOAT16_VALUE( -606.50),
|
||||
SIMDE_FLOAT16_VALUE( 435.25), SIMDE_FLOAT16_VALUE( 837.00), SIMDE_FLOAT16_VALUE( -308.75), SIMDE_FLOAT16_VALUE( 910.00) } },
|
||||
{ { INT16_C( 1975), -INT16_C( 492), INT16_C( 29721), -INT16_C( 3720), INT16_C( 7200), INT16_C( 5781), -INT16_C( 25401), INT16_C( 2212),
|
||||
INT16_C( 25110), INT16_C( 15833), INT16_C( 20864), -INT16_C( 23065), -INT16_C( 18662), INT16_C( 26389), INT16_C( 17182), -INT16_C( 10784),
|
||||
-INT16_C( 2997), INT16_C( 25812), INT16_C( 19560), -INT16_C( 30635), -INT16_C( 5528), INT16_C( 12446), INT16_C( 17286), -INT16_C( 25544),
|
||||
INT16_C( 4773), INT16_C( 9945), -INT16_C( 16029), INT16_C( 32203), -INT16_C( 8072), -INT16_C( 26651), -INT16_C( 15069), INT16_C( 28268) },
|
||||
{ SIMDE_FLOAT16_VALUE( -801.00), SIMDE_FLOAT16_VALUE( -714.50), SIMDE_FLOAT16_VALUE( -831.50), SIMDE_FLOAT16_VALUE( -146.88),
|
||||
SIMDE_FLOAT16_VALUE( -842.50), SIMDE_FLOAT16_VALUE( 323.50), SIMDE_FLOAT16_VALUE( 395.25), SIMDE_FLOAT16_VALUE( -292.25),
|
||||
SIMDE_FLOAT16_VALUE( 920.00), SIMDE_FLOAT16_VALUE( -469.00), SIMDE_FLOAT16_VALUE( -317.25), SIMDE_FLOAT16_VALUE( -298.75),
|
||||
SIMDE_FLOAT16_VALUE( 329.00), SIMDE_FLOAT16_VALUE( 919.50), SIMDE_FLOAT16_VALUE( 113.94), SIMDE_FLOAT16_VALUE( 591.00),
|
||||
SIMDE_FLOAT16_VALUE( 84.44), SIMDE_FLOAT16_VALUE( 705.00), SIMDE_FLOAT16_VALUE( 901.50), SIMDE_FLOAT16_VALUE( -689.00),
|
||||
SIMDE_FLOAT16_VALUE( -615.00), SIMDE_FLOAT16_VALUE( 155.88), SIMDE_FLOAT16_VALUE( 500.25), SIMDE_FLOAT16_VALUE( 876.50),
|
||||
SIMDE_FLOAT16_VALUE( -234.00), SIMDE_FLOAT16_VALUE( -597.00), SIMDE_FLOAT16_VALUE( -696.00), SIMDE_FLOAT16_VALUE( -803.50),
|
||||
SIMDE_FLOAT16_VALUE( 163.88), SIMDE_FLOAT16_VALUE( 309.25), SIMDE_FLOAT16_VALUE( 959.50), SIMDE_FLOAT16_VALUE( 363.00) },
|
||||
{ SIMDE_FLOAT16_VALUE( 876.50), SIMDE_FLOAT16_VALUE( -615.00), SIMDE_FLOAT16_VALUE( -597.00), SIMDE_FLOAT16_VALUE( -234.00),
|
||||
SIMDE_FLOAT16_VALUE( -801.00), SIMDE_FLOAT16_VALUE( 155.88), SIMDE_FLOAT16_VALUE( -292.25), SIMDE_FLOAT16_VALUE( -842.50),
|
||||
SIMDE_FLOAT16_VALUE( 500.25), SIMDE_FLOAT16_VALUE( -597.00), SIMDE_FLOAT16_VALUE( -801.00), SIMDE_FLOAT16_VALUE( -292.25),
|
||||
SIMDE_FLOAT16_VALUE( -696.00), SIMDE_FLOAT16_VALUE( 155.88), SIMDE_FLOAT16_VALUE( 959.50), SIMDE_FLOAT16_VALUE( -801.00),
|
||||
SIMDE_FLOAT16_VALUE( -298.75), SIMDE_FLOAT16_VALUE( -615.00), SIMDE_FLOAT16_VALUE( 920.00), SIMDE_FLOAT16_VALUE( 155.88),
|
||||
SIMDE_FLOAT16_VALUE( 920.00), SIMDE_FLOAT16_VALUE( 959.50), SIMDE_FLOAT16_VALUE( 395.25), SIMDE_FLOAT16_VALUE( -234.00),
|
||||
SIMDE_FLOAT16_VALUE( 323.50), SIMDE_FLOAT16_VALUE( -597.00), SIMDE_FLOAT16_VALUE( -146.88), SIMDE_FLOAT16_VALUE( -298.75),
|
||||
SIMDE_FLOAT16_VALUE( -234.00), SIMDE_FLOAT16_VALUE( 323.50), SIMDE_FLOAT16_VALUE( -146.88), SIMDE_FLOAT16_VALUE( 329.00) } },
|
||||
};
|
||||
|
||||
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
|
||||
simde__m512i idx = simde_mm512_loadu_epi16(test_vec[i].idx);
|
||||
simde__m512h a = simde_mm512_loadu_ph(test_vec[i].a);
|
||||
simde__m512h r = simde_mm512_permutexvar_ph(idx, a);
|
||||
simde_test_x86_assert_equal_f16x32(r, simde_mm512_loadu_ph(test_vec[i].r), 1);
|
||||
}
|
||||
|
||||
return 0;
|
||||
#else
|
||||
fputc('\n', stdout);
|
||||
for (int i = 0 ; i < 8 ; i++) {
|
||||
simde__m512i idx = simde_test_x86_random_i16x32();
|
||||
simde__m512h a = simde_test_x86_random_f16x32(SIMDE_FLOAT16_VALUE(-1000.0), SIMDE_FLOAT16_VALUE(1000.0));
|
||||
simde__m512h r = simde_mm512_permutexvar_ph(idx, a);
|
||||
|
||||
simde_test_x86_write_i16x32(2, idx, SIMDE_TEST_VEC_POS_FIRST);
|
||||
simde_test_x86_write_f16x32(2, a, SIMDE_TEST_VEC_POS_MIDDLE);
|
||||
simde_test_x86_write_f16x32(2, r, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
SIMDE_TEST_FUNC_LIST_BEGIN
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(mm_permutexvar_epi16)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(mm_mask_permutexvar_epi16)
|
||||
|
|
@ -4953,6 +5148,10 @@ SIMDE_TEST_FUNC_LIST_BEGIN
|
|||
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_permutexvar_ps)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_mask_permutexvar_ps)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_maskz_permutexvar_ps)
|
||||
|
||||
#if defined(SIMDE_FLOAT16_IS_SCALAR)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_permutexvar_ph)
|
||||
#endif
|
||||
SIMDE_TEST_FUNC_LIST_END
|
||||
|
||||
#include <test/x86/avx512/test-avx512-footer.h>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue