/* SPDX-License-Identifier: MIT * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * * Copyright: * 2020 Evan Nemerson * 2020 Himanshi Mathur */ #define SIMDE_TEST_X86_AVX512_INSN andnot #include #include #include static int test_simde_mm512_andnot_ps(SIMDE_MUNIT_TEST_ARGS) { const struct { simde__m512i a; simde__m512i b; simde__m512i r; } test_vec[8] = { { simde_mm512_set_epi32(INT32_C( 515723887), INT32_C( 1640697809), INT32_C(-1815268655), INT32_C( -855842079), INT32_C( -876731021), INT32_C( -422224087), INT32_C( 1402147089), INT32_C( 791567468), INT32_C( -405953943), INT32_C( 280958773), INT32_C( 359942894), INT32_C( -574064836), INT32_C( 1041426019), INT32_C( 457085316), INT32_C( 1591682265), INT32_C( 1681068921)), simde_mm512_set_epi32(INT32_C( 219659736), INT32_C( 983393088), INT32_C( 175097612), INT32_C(-1948389752), INT32_C(-1760046217), INT32_C( 996280401), INT32_C( -511102649), INT32_C(-1367446405), INT32_C(-1955017682), INT32_C(-1962774388), INT32_C( -112156455), INT32_C( 1625681413), INT32_C( -214953654), INT32_C(-1594240596), INT32_C( -837160883), INT32_C( 91929810)), simde_mm512_set_epi32(INT32_C( 16952720), INT32_C( 437542912), INT32_C( 136496396), INT32_C( 50400264), INT32_C( 335663620), INT32_C( 421658704), INT32_C(-1610080186), INT32_C(-2142232557), INT32_C( 137382918), INT32_C(-1962909560), INT32_C( -402612207), INT32_C( 539330561), INT32_C(-1054863096), INT32_C(-1597947864), INT32_C(-2147430396), INT32_C( 21539970)) }, { simde_mm512_set_epi32(INT32_C( -691442479), INT32_C(-1656332537), INT32_C( -736641091), INT32_C( 1498293216), INT32_C( -507651370), INT32_C( 1481766884), INT32_C(-1911092113), INT32_C( -872210414), INT32_C( 291047220), INT32_C(-1241987411), INT32_C( 1619041328), INT32_C( 1464413104), INT32_C(-1017310468), INT32_C( 1540491270), INT32_C( 2102275128), INT32_C(-1414382909)), simde_mm512_set_epi32(INT32_C( 242206574), INT32_C( 555720064), INT32_C( -659215600), INT32_C( 1975929957), INT32_C( 1131537123), INT32_C( 2072355897), INT32_C( 1377537047), INT32_C( 1623632095), INT32_C( 536506999), INT32_C(-1382727392), INT32_C( 37097013), INT32_C( 2004578493), INT32_C( 1803364246), INT32_C( 1342516983), INT32_C( 514234840), INT32_C(-1522858319)), simde_mm512_set_epi32(INT32_C( 136741678), INT32_C( 538542208), INT32_C( 144703488), INT32_C( 612387845), INT32_C( 37756961), INT32_C( 595853337), INT32_C( 1342734352), INT32_C( 549750989), INT32_C( 245526595), INT32_C( 134545664), INT32_C( 37093893), INT32_C( 540168205), INT32_C( 673195266), INT32_C( 337649), INT32_C( 44077504), INT32_C( 67699760)) }, { simde_mm512_set_epi32(INT32_C( 835536002), INT32_C( -63027427), INT32_C( 2017135186), INT32_C(-1844829768), INT32_C( 936597093), INT32_C( -389163916), INT32_C(-1786076372), INT32_C( 62625566), INT32_C(-1459727459), INT32_C( 1125674521), INT32_C(-1286537639), INT32_C( 550088134), INT32_C( -31520277), INT32_C(-1814664190), INT32_C( 1588224923), INT32_C( 1901241906)), simde_mm512_set_epi32(INT32_C( -684209907), INT32_C( 1116413094), INT32_C( -29612798), INT32_C(-1906935505), INT32_C( 1879010472), INT32_C( -984076172), INT32_C( -987963932), INT32_C(-1705792694), INT32_C( 1395521155), INT32_C( 2062716504), INT32_C( 1645135174), INT32_C( 273600119), INT32_C( -650211201), INT32_C( 1039685180), INT32_C(-1680417560), INT32_C( -160711201)), simde_mm512_set_epi32(INT32_C( -969766643), INT32_C( 42014882), INT32_C(-2046548736), INT32_C( 206854151), INT32_C( 1210853512), INT32_C( 84942848), INT32_C( 1075076288), INT32_C(-1740625856), INT32_C( 1392616450), INT32_C( 954368064), INT32_C( 1074659590), INT32_C( 268845617), INT32_C( 18911252), INT32_C( 740823612), INT32_C(-2125161376), INT32_C(-2044126771)) }, { simde_mm512_set_epi32(INT32_C( -911319633), INT32_C(-1035947605), INT32_C( -14347010), INT32_C( 135240154), INT32_C( 1039097026), INT32_C(-1325726567), INT32_C( 1814577462), INT32_C( -309546152), INT32_C( 2107794809), INT32_C( -690752206), INT32_C(-1567183976), INT32_C( 1570875131), INT32_C( -359037430), INT32_C( 1064726494), INT32_C( -305221103), INT32_C( 2039553475)), simde_mm512_set_epi32(INT32_C( -358609490), INT32_C( 1748558231), INT32_C( 769947846), INT32_C(-2114787166), INT32_C( 1221765938), INT32_C(-1846472677), INT32_C( 893676657), INT32_C(-2056337544), INT32_C(-1125244927), INT32_C(-2123257127), INT32_C( 1395407144), INT32_C(-2100494303), INT32_C( 123622128), INT32_C( -234312093), INT32_C( 1320504606), INT32_C( -696459867)), simde_mm512_set_epi32(INT32_C( 570425344), INT32_C( 674775060), INT32_C( 12609536), INT32_C(-2114953184), INT32_C( 1074832176), INT32_C( 16781314), INT32_C( 289680449), INT32_C( 6439968), INT32_C(-2142502912), INT32_C( 18877129), INT32_C( 1361580064), INT32_C(-2108948480), INT32_C( 88494320), INT32_C(-1073184735), INT32_C( 36785422), INT32_C(-2039693276)) }, { simde_mm512_set_epi32(INT32_C( 1741169869), INT32_C(-1806166644), INT32_C( 1030404360), INT32_C( 1645919232), INT32_C( -724495967), INT32_C( 1251263729), INT32_C( -769398486), INT32_C(-1951408118), INT32_C( 1006137744), INT32_C( -650052668), INT32_C( 1803988670), INT32_C( -565766270), INT32_C(-2075332822), INT32_C( -77783473), INT32_C( 1442895719), INT32_C( -423885068)), simde_mm512_set_epi32(INT32_C(-1467349800), INT32_C(-1486916034), INT32_C( 580711779), INT32_C( 1504148541), INT32_C( 661197291), INT32_C( 2016703871), INT32_C( 459937445), INT32_C( 1081922115), INT32_C( 93168137), INT32_C( -744509287), INT32_C( -84767472), INT32_C( 1535078904), INT32_C( 1804568444), INT32_C(-1641570308), INT32_C( 1307677448), INT32_C( -156993467)), simde_mm512_set_epi32(INT32_C(-2013134832), INT32_C( 587686450), INT32_C( 43271267), INT32_C( 430260285), INT32_C( 589824074), INT32_C( 807416078), INT32_C( 155719301), INT32_C( 1078989377), INT32_C( 67469833), INT32_C( 43974681), INT32_C(-1871707904), INT32_C( 20471928), INT32_C( 1803747412), INT32_C( 69370288), INT32_C( 166789128), INT32_C( 268466177)) }, { simde_mm512_set_epi32(INT32_C( -789590264), INT32_C( 1747530260), INT32_C( 250254813), INT32_C( -46824160), INT32_C( 1521185343), INT32_C( 1710396447), INT32_C( -401960034), INT32_C( 376331638), INT32_C( -481899788), INT32_C( 951540577), INT32_C(-1886694025), INT32_C( -615462627), INT32_C(-1246126101), INT32_C( 1628361415), INT32_C( 1197988194), INT32_C(-1740462923)), simde_mm512_set_epi32(INT32_C( 1235841465), INT32_C(-1524332124), INT32_C( 1158299501), INT32_C(-2030663913), INT32_C( -368124005), INT32_C( -216689066), INT32_C( 2049678955), INT32_C(-1811053975), INT32_C( -579248849), INT32_C( 817648154), INT32_C( 1351147076), INT32_C( -248769414), INT32_C( 1542937557), INT32_C(-1429188342), INT32_C( 753897242), INT32_C( -407543559)), simde_mm512_set_epi32(INT32_C( 151007409), INT32_C(-2063300192), INT32_C( 1090529824), INT32_C( 46268951), INT32_C(-1610314368), INT32_C(-1845165504), INT32_C( 304155745), INT32_C(-2147384823), INT32_C( 473502987), INT32_C( 524314), INT32_C( 1342212608), INT32_C( 539759714), INT32_C( 1246117908), INT32_C(-1966079736), INT32_C( 680003096), INT32_C( 1739931720)) }, { simde_mm512_set_epi32(INT32_C( 1871269268), INT32_C( 408476277), INT32_C( 620349445), INT32_C( 85656022), INT32_C( 530242315), INT32_C( 1600939321), INT32_C( 1166499662), INT32_C( 550456559), INT32_C( 1205553840), INT32_C( -507718293), INT32_C( -629410605), INT32_C(-1400491933), INT32_C(-1740280079), INT32_C( 470828561), INT32_C( 710611826), INT32_C( 1460766627)), simde_mm512_set_epi32(INT32_C( 132567711), INT32_C( -504432561), INT32_C( 1784336368), INT32_C(-1195419261), INT32_C(-1432068840), INT32_C( -756951336), INT32_C( 519218456), INT32_C( 2068445443), INT32_C( -769032976), INT32_C(-1464370595), INT32_C( -636201129), INT32_C( 798298919), INT32_C( 605141360), INT32_C( 1690763202), INT32_C( 743563485), INT32_C( 1615889032)), simde_mm512_set_epi32(INT32_C( 6722059), INT32_C( -509206518), INT32_C( 1241647088), INT32_C(-1197189119), INT32_C(-1608252400), INT32_C(-2138991936), INT32_C( 443588624), INT32_C( 1526771968), INT32_C(-1876937664), INT32_C( 134425108), INT32_C( 262916), INT32_C( 51446532), INT32_C( 605065472), INT32_C( 1623636418), INT32_C( 67166349), INT32_C( 541065224)) }, { simde_mm512_set_epi32(INT32_C( 1287269628), INT32_C( 1003736038), INT32_C( 977850641), INT32_C(-1038923525), INT32_C( -628842024), INT32_C( 1597060388), INT32_C( -643406365), INT32_C(-1390651863), INT32_C( 1433162166), INT32_C( -27649596), INT32_C( -695421854), INT32_C( 1977918902), INT32_C(-1118619506), INT32_C( 218268934), INT32_C( 602753386), INT32_C( -663684258)), simde_mm512_set_epi32(INT32_C( 238738926), INT32_C( 1501256933), INT32_C( -668514921), INT32_C( 178997567), INT32_C( 618897994), INT32_C(-1305584804), INT32_C( 287401445), INT32_C( -682321436), INT32_C(-1248279406), INT32_C(-1232466621), INT32_C( 1932263578), INT32_C( 1672045836), INT32_C( -31634555), INT32_C( -429030840), INT32_C( 1478948841), INT32_C( -636575791)), simde_mm512_set_epi32(INT32_C( 33607938), INT32_C( 1076368385), INT32_C(-1071184762), INT32_C( 145228036), INT32_C( 610468354), INT32_C(-1609676200), INT32_C( 65540), INT32_C( 1379961284), INT32_C(-1601141760), INT32_C( 8389635), INT32_C( 555745432), INT32_C( 34160648), INT32_C( 1108099841), INT32_C( -496172472), INT32_C( 1476572801), INT32_C( 34473089)) } }; for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) { simde__m512i r = simde_mm512_castps_si512(simde_mm512_andnot_ps(simde_mm512_castsi512_ps(test_vec[i].a), simde_mm512_castsi512_ps(test_vec[i].b))); simde_assert_m512i_i32(r, ==, test_vec[i].r); } return 0; } static int test_simde_mm512_andnot_pd(SIMDE_MUNIT_TEST_ARGS) { const struct { simde__m512i a; simde__m512i b; simde__m512i r; } test_vec[8] = { { simde_mm512_set_epi64(INT64_C(-5692392796256408556), INT64_C( 6556277497990144923), INT64_C(-8451768093244871108), INT64_C( 2502789693644361692), INT64_C( 1621880469938104082), INT64_C(-7297255235572331483), INT64_C(-2352677665930074905), INT64_C( 4911158619134204312)), simde_mm512_set_epi64(INT64_C(-2565389980846007780), INT64_C( 3404730604833389160), INT64_C( 1179026943527716274), INT64_C(-2906973067026822223), INT64_C( 7260818647608791158), INT64_C( 5579870493016706466), INT64_C( 3863525595432901356), INT64_C(-6057345860275027490)), simde_mm512_set_epi64(INT64_C( 5504912800215142920), INT64_C( 2666140128227367008), INT64_C( 1173388089487589762), INT64_C(-3098395176816541663), INT64_C( 6935978858541748324), INT64_C( 4991411844055941506), INT64_C( 2343560720521648648), INT64_C(-6068587301518688186)) }, { simde_mm512_set_epi64(INT64_C(-2759528052506956708), INT64_C(-5575162278173961328), INT64_C(-8694367187788105741), INT64_C(-8990346118631710119), INT64_C( 4592063463963295950), INT64_C( 8368804684692221223), INT64_C(-6476206435262682842), INT64_C(-8876450871330607726)), simde_mm512_set_epi64(INT64_C(-6737293364691021911), INT64_C(-4204449908398867590), INT64_C( 160841008688998741), INT64_C(-6365408201349652038), INT64_C( 2001896472947132682), INT64_C( -99471897253479533), INT64_C(-1326129419939093389), INT64_C(-2924053864540399741)), simde_mm512_set_epi64(INT64_C( 2450046296219059105), INT64_C( 4973873968629295210), INT64_C( 11267795499616260), INT64_C( 2630102325595865506), INT64_C( 18051886326876416), INT64_C(-8458876851257732464), INT64_C( 5296233507537044561), INT64_C( 5992932110406914561)) }, { simde_mm512_set_epi64(INT64_C(-7457051575750248602), INT64_C( 6070335147558558873), INT64_C(-7490477224728001543), INT64_C( 1279317055657379478), INT64_C( 8751242136386772213), INT64_C( 637231009559692595), INT64_C(-7114327187130069406), INT64_C( 1391778837665435621)), simde_mm512_set_epi64(INT64_C( 6308740259462318802), INT64_C(-9185391234602091403), INT64_C( 7626881538428569222), INT64_C(-3068069010762250319), INT64_C(-4951576282750300305), INT64_C( 128509774881067912), INT64_C( 7892251767542575626), INT64_C(-8930995426443097321)), simde_mm512_set_epi64(INT64_C( 5119472124868954256), INT64_C(-9187125192365432732), INT64_C( 7048133801267954694), INT64_C(-4311066996174143199), INT64_C(-9076908839077919990), INT64_C( 74319038222733960), INT64_C( 6954164901648707592), INT64_C(-8931156479129911278)) }, { simde_mm512_set_epi64(INT64_C( 6964163421595280406), INT64_C( 8751199602933822917), INT64_C( 3889132740347846858), INT64_C(-7126879543636862431), INT64_C(-7513660375211080284), INT64_C( 6453129860776144209), INT64_C(-5544576080495062479), INT64_C( 5873331717169095384)), simde_mm512_set_epi64(INT64_C( 8830709936142460331), INT64_C(-9018958152160609695), INT64_C( 8077330800987365186), INT64_C(-8496831583043834543), INT64_C(-8535629658492460138), INT64_C(-7680526102244966263), INT64_C( -372932882462668779), INT64_C( 6329513109562115746)), simde_mm512_set_epi64(INT64_C( 1875839696979362217), INT64_C(-9042040235334956512), INT64_C( 4611686019604422400), INT64_C( 145522704699106640), INT64_C( 576814847044362770), INT64_C(-8907768133275565944), INT64_C( 5247259266967930884), INT64_C( 456185876494468130)) }, { simde_mm512_set_epi64(INT64_C( -351666990455047830), INT64_C(-7399285389685964954), INT64_C(-5908952440536913792), INT64_C( -611732173843171755), INT64_C( 7999973001790565510), INT64_C(-8075898444541975424), INT64_C( 5770350522878101247), INT64_C( 1116848091668783433)), simde_mm512_set_epi64(INT64_C( 2217552425319516429), INT64_C(-8721047939211270856), INT64_C(-2880324325532209431), INT64_C( -187231364083775137), INT64_C( 6742854000402878536), INT64_C( 168773737674717), INT64_C( 3418235066721438872), INT64_C( 4202828047673997422)), simde_mm512_set_epi64(INT64_C( 342365941483028485), INT64_C( 479783009225555992), INT64_C( 5764607798056863337), INT64_C( 604680821040318730), INT64_C( 1194123438370115656), INT64_C( 26768921351005), INT64_C( 3413729087268849664), INT64_C( 3458800331700312102)) }, { simde_mm512_set_epi64(INT64_C(-2132909336669479608), INT64_C(-1158827795013308041), INT64_C(-7670914575902882420), INT64_C( -69696623451151043), INT64_C(-4047902191338288971), INT64_C( 7092767718101885012), INT64_C( 5934909912424448575), INT64_C( 5411709750270769968)), simde_mm512_set_epi64(INT64_C(-7875865474019974757), INT64_C(-3285041077981983127), INT64_C( 8063284926890959108), INT64_C(-3700459330126222884), INT64_C(-7671356082612531796), INT64_C( 1792383659764879933), INT64_C( 2583453571264272321), INT64_C( 8675197907294370872)), simde_mm512_set_epi64(INT64_C( 1193748656575226003), INT64_C( 1152974871187164680), INT64_C( 7666393384072290304), INT64_C( 46461582121208000), INT64_C( 1155463611999061256), INT64_C( 1770267941057597993), INT64_C( 2414567396337178048), INT64_C( 3486980733385704456)) }, { simde_mm512_set_epi64(INT64_C(-3578776133799908286), INT64_C(-1505161927362377530), INT64_C( 1984257760933558326), INT64_C( -235993280127523291), INT64_C(-5471198518359697501), INT64_C(-3736915368061275681), INT64_C(-2239211533422890096), INT64_C(-3284418263843820488)), simde_mm512_set_epi64(INT64_C(-2978941464173404520), INT64_C( 4582889970668771380), INT64_C( -557407531320217043), INT64_C( 5386308122944286215), INT64_C(-2433611387892931894), INT64_C( 7741810302662188301), INT64_C( 18824623009495704), INT64_C( 3999273364541981338)), simde_mm512_set_epi64(INT64_C( 1200223062730085016), INT64_C( 1477497354446704688), INT64_C(-2287124905805331959), INT64_C( 162132485929502722), INT64_C( 5343540817909325896), INT64_C( 2544569189669112832), INT64_C( 633336187848712), INT64_C( 2702160884594393730)) }, { simde_mm512_set_epi64(INT64_C( 352684271852599798), INT64_C( 4911474499221167587), INT64_C( 1508056965830938497), INT64_C( 3074813921141815339), INT64_C( 7701628738251481990), INT64_C( -466066103765916190), INT64_C( 8562974168142071295), INT64_C( -919355185316238533)), simde_mm512_set_epi64(INT64_C( 4326901039471149930), INT64_C(-7137503476184318358), INT64_C(-1078077923693263341), INT64_C(-1859594942180658021), INT64_C(-4053912759805256064), INT64_C(-4136267192341554803), INT64_C( 7711878059533707111), INT64_C(-6181901304080395815)), simde_mm512_set_epi64(INT64_C( 4037478715378254344), INT64_C(-7434758645930761720), INT64_C(-2233710626472820718), INT64_C(-4318952040280619888), INT64_C(-8855183721016321024), INT64_C( 437135751054956557), INT64_C( 649099009830593024), INT64_C( 576514078768369856)) } }; for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) { simde__m512i r = simde_mm512_castpd_si512(simde_mm512_andnot_pd(simde_mm512_castsi512_pd(test_vec[i].a), simde_mm512_castsi512_pd(test_vec[i].b))); simde_assert_m512i_i64(r, ==, test_vec[i].r); } return 0; } static int test_simde_mm512_mask_andnot_ps(SIMDE_MUNIT_TEST_ARGS) { const struct { simde__m512i src; simde__mmask16 k; simde__m512i a; simde__m512i b; simde__m512i r; } test_vec[8] = { { simde_mm512_set_epi32(INT32_C( 483765022), INT32_C(-1234873154), INT32_C(-1289658932), INT32_C( 1557667178), INT32_C( -573006378), INT32_C( -844585804), INT32_C( 908677468), INT32_C( 120945929), INT32_C(-1595338087), INT32_C(-1433288415), INT32_C( 1272415402), INT32_C( 2052605464), INT32_C(-1185243420), INT32_C( 696776161), INT32_C( 617510437), INT32_C( 1274220393)), UINT16_C(33954), simde_mm512_set_epi32(INT32_C( 1145617415), INT32_C( -605546679), INT32_C( 2927077), INT32_C( -19849762), INT32_C(-1597262180), INT32_C( -867043590), INT32_C( -107439489), INT32_C( 1287210357), INT32_C( 1092392250), INT32_C( 1062404217), INT32_C( -979680700), INT32_C( 1129202470), INT32_C( 1479969823), INT32_C( -738882529), INT32_C( 1249939660), INT32_C( -548556138)), simde_mm512_set_epi32(INT32_C( 283318882), INT32_C( 1846644474), INT32_C( 2020741558), INT32_C( 2084726692), INT32_C(-1625067961), INT32_C( 1808817126), INT32_C( 188488265), INT32_C( -493292109), INT32_C(-1012406283), INT32_C( 2120995640), INT32_C(-1978262848), INT32_C( -210107724), INT32_C( 789544495), INT32_C( -10089859), INT32_C( -531570606), INT32_C( 1286299547)), simde_mm512_set_epi32(INT32_C( 279118432), INT32_C(-1234873154), INT32_C(-1289658932), INT32_C( 1557667178), INT32_C( -573006378), INT32_C( 595593476), INT32_C( 908677468), INT32_C( 120945929), INT32_C(-2103221563), INT32_C(-1433288415), INT32_C( 168040576), INT32_C( 2052605464), INT32_C(-1185243420), INT32_C( 696776161), INT32_C(-1605345262), INT32_C( 1274220393)) }, { simde_mm512_set_epi32(INT32_C( -281178768), INT32_C( -360418194), INT32_C( 1198549209), INT32_C( -896335694), INT32_C( 1796051299), INT32_C( -602464105), INT32_C( 1096879395), INT32_C( 2101844446), INT32_C( 1483513958), INT32_C( 55530807), INT32_C(-1589480307), INT32_C( -48228318), INT32_C( 889897511), INT32_C( 1575441246), INT32_C(-1726327647), INT32_C( 657269965)), UINT16_C(34646), simde_mm512_set_epi32(INT32_C( 1170712187), INT32_C( 1365513540), INT32_C( -159824212), INT32_C( 976500494), INT32_C( -2253502), INT32_C( 1424815879), INT32_C( 1340211205), INT32_C( 478098159), INT32_C( 545970493), INT32_C(-1738506699), INT32_C( 725751947), INT32_C( 876157308), INT32_C( 729412496), INT32_C( 1316518940), INT32_C( 479437804), INT32_C( 1749631626)), simde_mm512_set_epi32(INT32_C( -544439732), INT32_C( 514265282), INT32_C(-1783487008), INT32_C(-1073881913), INT32_C( -917759499), INT32_C( 721599990), INT32_C( 1403076580), INT32_C( -867638009), INT32_C(-2070564498), INT32_C( 1494227565), INT32_C( 156325221), INT32_C( -117354474), INT32_C(-2029550992), INT32_C( 1184377155), INT32_C( -325424585), INT32_C( -563054056)), simde_mm512_set_epi32(INT32_C(-1710751740), INT32_C( -360418194), INT32_C( 1198549209), INT32_C( -896335694), INT32_C( 1796051299), INT32_C( 721553648), INT32_C( 268517344), INT32_C(-1073691392), INT32_C( 1483513958), INT32_C( 1091567688), INT32_C(-1589480307), INT32_C( -922730494), INT32_C( 889897511), INT32_C( 8388931), INT32_C( -536328173), INT32_C( 657269965)) }, { simde_mm512_set_epi32(INT32_C(-1745677982), INT32_C( 235931267), INT32_C( -555741923), INT32_C( 150463911), INT32_C( 354747494), INT32_C( 2006985747), INT32_C( 1517200768), INT32_C( -149674742), INT32_C(-1301892689), INT32_C( 1164273534), INT32_C( -519614566), INT32_C( 1518672842), INT32_C(-1430542782), INT32_C( -567985198), INT32_C( 1793594874), INT32_C( 1766364533)), UINT16_C(51458), simde_mm512_set_epi32(INT32_C(-1697411653), INT32_C( 213103619), INT32_C( 1166379858), INT32_C( 530625194), INT32_C( 1706895557), INT32_C(-1311465088), INT32_C( 793729023), INT32_C(-1062948513), INT32_C( -58027177), INT32_C( -215831346), INT32_C(-1081872765), INT32_C( 617218322), INT32_C( 1703489303), INT32_C( 1228468220), INT32_C( 705631662), INT32_C( 1003062693)), simde_mm512_set_epi32(INT32_C(-1197760733), INT32_C(-1777870117), INT32_C( 1151957666), INT32_C( -467243461), INT32_C( 1044840108), INT32_C( 1467862627), INT32_C( 340861518), INT32_C( -683495543), INT32_C( -171219649), INT32_C(-1277374003), INT32_C(-2049184175), INT32_C( -804992531), INT32_C( 1254613706), INT32_C( -484210109), INT32_C( -976973176), INT32_C( 768220545)), simde_mm512_set_epi32(INT32_C( 537399808), INT32_C(-1845212456), INT32_C( -555741923), INT32_C( 150463911), INT32_C( 440587816), INT32_C( 2006985747), INT32_C( 1517200768), INT32_C( 390205056), INT32_C(-1301892689), INT32_C( 1164273534), INT32_C( -519614566), INT32_C( 1518672842), INT32_C(-1430542782), INT32_C( -567985198), INT32_C( -977239552), INT32_C( 1766364533)) }, { simde_mm512_set_epi32(INT32_C( 1636500168), INT32_C( 444177967), INT32_C(-1663266514), INT32_C( 191092965), INT32_C( 488118829), INT32_C(-1542228246), INT32_C(-1543977108), INT32_C(-1747326233), INT32_C( 472323781), INT32_C( 181690416), INT32_C( -8111931), INT32_C(-1512462189), INT32_C(-1412708648), INT32_C( -857864914), INT32_C(-1610668993), INT32_C( 2003858110)), UINT16_C( 5589), simde_mm512_set_epi32(INT32_C( -283174658), INT32_C( 170838247), INT32_C( -393103783), INT32_C( 2067132417), INT32_C( -418400070), INT32_C(-1518152549), INT32_C( 1910825371), INT32_C(-1243038545), INT32_C( 116520479), INT32_C( -366505216), INT32_C( 1914112492), INT32_C( 1911296968), INT32_C( 2113218059), INT32_C( -692180631), INT32_C(-1020362892), INT32_C( -633211439)), simde_mm512_set_epi32(INT32_C( 1184440056), INT32_C( 166652038), INT32_C(-1574005475), INT32_C( 2085250974), INT32_C(-1914483545), INT32_C( -801496013), INT32_C( 1887253581), INT32_C(-1389414117), INT32_C(-1991582465), INT32_C( 878735212), INT32_C(-1594175370), INT32_C( 2077658842), INT32_C(-1116765072), INT32_C( 1279728229), INT32_C( 1087544376), INT32_C( 2038214643)), simde_mm512_set_epi32(INT32_C( 1636500168), INT32_C( 444177967), INT32_C(-1663266514), INT32_C( 71960478), INT32_C( 488118829), INT32_C( 1345855520), INT32_C(-1543977108), INT32_C( 134676752), INT32_C(-1995831072), INT32_C( 339766380), INT32_C( -8111931), INT32_C( 168987666), INT32_C(-1412708648), INT32_C( 138482180), INT32_C(-1610668993), INT32_C( 557582882)) }, { simde_mm512_set_epi32(INT32_C( 551147024), INT32_C( -687338198), INT32_C( 60918053), INT32_C( 1437206085), INT32_C( 434041201), INT32_C( 1422808900), INT32_C( 419480808), INT32_C(-1939817409), INT32_C(-1683817642), INT32_C( -409888460), INT32_C( 1718430638), INT32_C( 1457046604), INT32_C( 734344028), INT32_C( 175091099), INT32_C( 770584551), INT32_C( -95488435)), UINT16_C(29324), simde_mm512_set_epi32(INT32_C( 1939419432), INT32_C( -691029505), INT32_C( -442395497), INT32_C( -427009027), INT32_C( 817522174), INT32_C( 8776211), INT32_C( 1606933870), INT32_C( -913009701), INT32_C(-1219423042), INT32_C( 450853660), INT32_C( 761339041), INT32_C( 889962544), INT32_C(-1736069360), INT32_C(-1763810886), INT32_C(-1763494181), INT32_C( 1322133292)), simde_mm512_set_epi32(INT32_C( 114683937), INT32_C( 1592723028), INT32_C( 623286176), INT32_C(-1573004789), INT32_C( 386412089), INT32_C( 1236627295), INT32_C( -815669616), INT32_C( 2140872084), INT32_C(-1844875837), INT32_C( 266739419), INT32_C(-1210833034), INT32_C( 1948981056), INT32_C( -293676893), INT32_C( 1361522457), INT32_C( 417503278), INT32_C( 633831284)), simde_mm512_set_epi32(INT32_C( 551147024), INT32_C( 136316416), INT32_C( 394016), INT32_C( 3244034), INT32_C( 434041201), INT32_C( 1422808900), INT32_C(-2145385840), INT32_C(-1939817409), INT32_C( 551233), INT32_C( -409888460), INT32_C( 1718430638), INT32_C( 1457046604), INT32_C( 1719292067), INT32_C( 1092685313), INT32_C( 770584551), INT32_C( -95488435)) }, { simde_mm512_set_epi32(INT32_C(-1371022440), INT32_C( 1457704499), INT32_C( -431597639), INT32_C(-1022830061), INT32_C( 36727871), INT32_C( 132345530), INT32_C(-1160653220), INT32_C( 1075044178), INT32_C( 1947162433), INT32_C( 484643153), INT32_C(-1413771472), INT32_C( -151443305), INT32_C( -82344071), INT32_C(-1396164880), INT32_C( 775295095), INT32_C( 1585972112)), UINT16_C(54244), simde_mm512_set_epi32(INT32_C( 1350970412), INT32_C(-1442308200), INT32_C( 1774467796), INT32_C( -258916798), INT32_C(-1518028161), INT32_C( 1215654276), INT32_C(-1158758506), INT32_C(-1884048450), INT32_C( -996858784), INT32_C( 1572275854), INT32_C( -61363356), INT32_C( 71635930), INT32_C( 890553866), INT32_C(-1657029576), INT32_C( 875900884), INT32_C( 232674574)), simde_mm512_set_epi32(INT32_C( -559322868), INT32_C( 26562494), INT32_C( 1556236736), INT32_C( 144590511), INT32_C( 2137277580), INT32_C(-1485572616), INT32_C( 664308651), INT32_C( 525825403), INT32_C( 1235000793), INT32_C( 818058128), INT32_C( 1639942075), INT32_C( 1363996226), INT32_C(-1688385601), INT32_C( 521315224), INT32_C( -495140458), INT32_C( 2110266874)), simde_mm512_set_epi32(INT32_C(-1909899008), INT32_C( 26558502), INT32_C( -431597639), INT32_C( 135151789), INT32_C( 36727871), INT32_C( 132345530), INT32_C( 84934697), INT32_C( 272909377), INT32_C( 151558553), INT32_C( 541102352), INT32_C( 27788443), INT32_C( -151443305), INT32_C( -82344071), INT32_C( 33555328), INT32_C( 775295095), INT32_C( 1585972112)) }, { simde_mm512_set_epi32(INT32_C(-1445633201), INT32_C(-1516803416), INT32_C( 2047415330), INT32_C( 756009385), INT32_C( 795635255), INT32_C( 735619934), INT32_C(-1886661005), INT32_C( 1006199392), INT32_C( -253641367), INT32_C( 505896362), INT32_C( 377279653), INT32_C( 782384760), INT32_C(-2053863520), INT32_C( 173648830), INT32_C(-1212193602), INT32_C( 646275887)), UINT16_C( 3833), simde_mm512_set_epi32(INT32_C(-1717413045), INT32_C( 37772527), INT32_C( 997132272), INT32_C( 1212574322), INT32_C( -50264086), INT32_C( 1583086284), INT32_C(-1387426254), INT32_C( 542967980), INT32_C( 321849276), INT32_C( 2124033808), INT32_C( 1752461294), INT32_C(-1726583281), INT32_C( -438403938), INT32_C(-1226147069), INT32_C( 1033013441), INT32_C(-1845989576)), simde_mm512_set_epi32(INT32_C( -928885408), INT32_C( 1847851352), INT32_C(-1563646145), INT32_C(-1610113698), INT32_C( -632488883), INT32_C( -579742459), INT32_C( 505595497), INT32_C( 1976491564), INT32_C( 1357643236), INT32_C( -210153251), INT32_C(-1628647323), INT32_C(-1816082231), INT32_C( 1251469965), INT32_C(-2146681250), INT32_C( 1797992596), INT32_C(-1790080236)), simde_mm512_set_epi32(INT32_C(-1445633201), INT32_C(-1516803416), INT32_C( 2047415330), INT32_C( 756009385), INT32_C( 38598661), INT32_C(-2128607999), INT32_C( 304234569), INT32_C( 1006199392), INT32_C( 1086388288), INT32_C(-2124328755), INT32_C(-1769435135), INT32_C( 46170304), INT32_C( 167870977), INT32_C( 173648830), INT32_C(-1212193602), INT32_C( 67469316)) }, { simde_mm512_set_epi32(INT32_C( -995130208), INT32_C(-1764606453), INT32_C( -537517512), INT32_C( 1451556674), INT32_C(-2097109774), INT32_C( 404626699), INT32_C( 1345130097), INT32_C( 1798816735), INT32_C( 621374452), INT32_C( 359481722), INT32_C( -121162344), INT32_C(-1051201334), INT32_C( 1869160778), INT32_C( -582139350), INT32_C( 314118274), INT32_C(-1141503487)), UINT16_C(47272), simde_mm512_set_epi32(INT32_C( 1226690931), INT32_C( 775179034), INT32_C(-2065746086), INT32_C( 399353184), INT32_C( 328691430), INT32_C(-1594470117), INT32_C(-1552077762), INT32_C( 88628502), INT32_C( 772052572), INT32_C( 1376748436), INT32_C(-1273427356), INT32_C( 738624056), INT32_C( 647794952), INT32_C( 804576006), INT32_C( 1968895876), INT32_C( 505069248)), simde_mm512_set_epi32(INT32_C(-1066067632), INT32_C( -638799863), INT32_C(-1513539525), INT32_C(-1037105416), INT32_C( 605705140), INT32_C(-2097483540), INT32_C( 62474077), INT32_C( 2107466991), INT32_C( 1856531921), INT32_C( 781853938), INT32_C( 1472528720), INT32_C( -275942665), INT32_C( 990137373), INT32_C( 1633665081), INT32_C( 480667256), INT32_C( -831347442)), simde_mm512_set_epi32(INT32_C(-2141190144), INT32_C(-1764606453), INT32_C( 553650209), INT32_C(-1071512936), INT32_C( 604508432), INT32_C( 404626699), INT32_C( 1345130097), INT32_C( 1798816735), INT32_C( 1084778881), INT32_C( 359481722), INT32_C( 1136918800), INT32_C(-1051201334), INT32_C( 419449877), INT32_C( -582139350), INT32_C( 314118274), INT32_C(-1141503487)) } }; for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) { simde__m512i r = simde_mm512_castps_si512(simde_mm512_mask_andnot_ps(simde_mm512_castsi512_ps(test_vec[i].src), test_vec[i].k, simde_mm512_castsi512_ps(test_vec[i].a), simde_mm512_castsi512_ps(test_vec[i].b))); simde_assert_m512i_i32(r, ==, test_vec[i].r); } return 0; } static int test_simde_mm512_maskz_andnot_ps(SIMDE_MUNIT_TEST_ARGS) { const struct { simde__mmask16 k; simde__m512i a; simde__m512i b; simde__m512i r; } test_vec[8] = { { UINT16_C(41898), simde_mm512_set_epi32(INT32_C(-1595502197), INT32_C(-1527248547), INT32_C( 1075363080), INT32_C(-1963744626), INT32_C( -841874568), INT32_C( 1348974030), INT32_C( 932258327), INT32_C(-1638556215), INT32_C( -69119366), INT32_C(-1406064931), INT32_C( -198162021), INT32_C( -674249080), INT32_C( -972410055), INT32_C(-1112978451), INT32_C( -141156932), INT32_C(-1950860528)), simde_mm512_set_epi32(INT32_C( -211589013), INT32_C( 652089670), INT32_C( 1378847800), INT32_C( 904957231), INT32_C(-1966320781), INT32_C(-1079187730), INT32_C( 1733727399), INT32_C(-1452272768), INT32_C(-1073785858), INT32_C( -63492051), INT32_C( 1043637479), INT32_C(-1013855000), INT32_C( 942467481), INT32_C(-1080366077), INT32_C( 642537593), INT32_C( 818463971)), simde_mm512_set_epi32(INT32_C( 1392601184), INT32_C( 0), INT32_C( 304545840), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 1078367392), INT32_C( 555745792), INT32_C( 69075332), INT32_C( 0), INT32_C( 168076388), INT32_C( 0), INT32_C( 941934720), INT32_C( 0), INT32_C( 4735041), INT32_C( 0)) }, { UINT16_C(54776), simde_mm512_set_epi32(INT32_C(-1423327830), INT32_C( 463002536), INT32_C( 1170361638), INT32_C( 1439896493), INT32_C( -881601279), INT32_C( 439454207), INT32_C( 642703998), INT32_C( 1761947183), INT32_C( 1210383154), INT32_C( -138151523), INT32_C( 263888472), INT32_C( 2142193967), INT32_C( -741822666), INT32_C( 755920794), INT32_C(-1972313252), INT32_C(-1912811499)), simde_mm512_set_epi32(INT32_C(-1115388021), INT32_C( 769964125), INT32_C( 418227269), INT32_C(-1388492980), INT32_C( 480660510), INT32_C( 1802844866), INT32_C( -429993967), INT32_C( 538553865), INT32_C( 2013392956), INT32_C( 197176151), INT32_C( 2006567868), INT32_C( 1705115765), INT32_C( 1202543157), INT32_C(-1263572444), INT32_C( 1425580745), INT32_C( 1097283836)), simde_mm512_set_epi32(INT32_C( 344195585), INT32_C( 610541653), INT32_C( 0), INT32_C(-1473493952), INT32_C( 0), INT32_C( 1631859200), INT32_C( 0), INT32_C( 1605632), INT32_C( 805371916), INT32_C( 134218306), INT32_C( 1879130532), INT32_C( 80), INT32_C( 69554177), INT32_C( 0), INT32_C( 0), INT32_C( 0)) }, { UINT16_C(25126), simde_mm512_set_epi32(INT32_C( 633431361), INT32_C( 1663592688), INT32_C( 1399097521), INT32_C( -248917369), INT32_C(-1131808104), INT32_C( 737246109), INT32_C( -548380687), INT32_C(-1607587862), INT32_C( 223712677), INT32_C( -234850179), INT32_C( 1225779292), INT32_C(-1983080521), INT32_C( 1083031306), INT32_C( 479812120), INT32_C( 1659393180), INT32_C( 1062780085)), simde_mm512_set_epi32(INT32_C( 112954855), INT32_C( 1790377254), INT32_C( 1893295646), INT32_C( -674583179), INT32_C( 15401677), INT32_C( -641918434), INT32_C( -635981818), INT32_C( -342921360), INT32_C( -977229164), INT32_C( -339160274), INT32_C(-1866080556), INT32_C(-1369988401), INT32_C( 1985260264), INT32_C( 1810318993), INT32_C( -324233777), INT32_C(-1229418212)), simde_mm512_set_epi32(INT32_C( 0), INT32_C( 144086278), INT32_C( 546924046), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 499718), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C(-1866459520), INT32_C( 0), INT32_C( 0), INT32_C( 1667630209), INT32_C(-1945861821), INT32_C( 0)) }, { UINT16_C(40095), simde_mm512_set_epi32(INT32_C( -925173403), INT32_C(-1800856604), INT32_C(-1569556909), INT32_C(-2075468293), INT32_C(-1622295859), INT32_C( 800838040), INT32_C(-1261125664), INT32_C( 225560714), INT32_C( -249168174), INT32_C( -785821894), INT32_C(-1322298905), INT32_C( 1919393940), INT32_C( 722048893), INT32_C( 667050909), INT32_C( -741637209), INT32_C(-1063733140)), simde_mm512_set_epi32(INT32_C( 283702321), INT32_C( 1760938946), INT32_C( 1862161708), INT32_C( 218779454), INT32_C( 1870003832), INT32_C( -776472743), INT32_C( 235320856), INT32_C(-1927493256), INT32_C( 2120699773), INT32_C( 1743164034), INT32_C( 92504126), INT32_C( -822461737), INT32_C( 80989491), INT32_C( -825823244), INT32_C( 23436927), INT32_C(-1677273698)), simde_mm512_set_epi32(INT32_C( 270533648), INT32_C( 0), INT32_C( 0), INT32_C( 150995460), INT32_C( 1613775920), INT32_C( -805034431), INT32_C( 0), INT32_C( 0), INT32_C( 239206701), INT32_C( 0), INT32_C( 0), INT32_C(-1936188861), INT32_C( 80889858), INT32_C( -939226016), INT32_C( 2366552), INT32_C( 470173074)) }, { UINT16_C(25708), simde_mm512_set_epi32(INT32_C( -419506034), INT32_C(-1634084803), INT32_C(-1791352038), INT32_C( 1397909248), INT32_C( -128853850), INT32_C(-1917410935), INT32_C( 1700830870), INT32_C( 1339604709), INT32_C(-1798365850), INT32_C( -59209020), INT32_C( 731125713), INT32_C( 630650100), INT32_C(-1338681832), INT32_C( 44002851), INT32_C( -812125291), INT32_C( 1028997312)), simde_mm512_set_epi32(INT32_C( -213890367), INT32_C( 2021869397), INT32_C( 1653460709), INT32_C(-1583015005), INT32_C(-2111228672), INT32_C( 278487831), INT32_C(-1988085048), INT32_C(-1603254022), INT32_C( 1778423041), INT32_C( 1070290908), INT32_C( 1862134929), INT32_C( 1387107310), INT32_C(-1741926346), INT32_C( 476437588), INT32_C( -64629687), INT32_C( 821283219)), simde_mm512_set_epi32(INT32_C( 0), INT32_C( 1610745664), INT32_C( 1652935909), INT32_C( 0), INT32_C( 0), INT32_C( 269042198), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 58938648), INT32_C( 1147791360), INT32_C( 0), INT32_C( 134742054), INT32_C( 476090452), INT32_C( 0), INT32_C( 0)) }, { UINT16_C(26454), simde_mm512_set_epi32(INT32_C(-1766483567), INT32_C( -97069133), INT32_C( -984184350), INT32_C( -103594411), INT32_C( 1542851117), INT32_C( 476137043), INT32_C( -197399951), INT32_C(-1770261666), INT32_C( -47794230), INT32_C( -491438206), INT32_C( -344435807), INT32_C( 255371302), INT32_C( -725452804), INT32_C( 159027945), INT32_C(-1412516432), INT32_C( -472096495)), simde_mm512_set_epi32(INT32_C( 939183992), INT32_C( 45898803), INT32_C( -707307552), INT32_C( -411975944), INT32_C( 630779143), INT32_C( 1898376282), INT32_C( 2124829976), INT32_C( -114883081), INT32_C( 2093795280), INT32_C(-1982561427), INT32_C( 598306044), INT32_C( 1635474930), INT32_C(-1398853653), INT32_C( 1652658661), INT32_C(-1858170883), INT32_C( 995216280)), simde_mm512_set_epi32(INT32_C( 0), INT32_C( 8914944), INT32_C( 276911616), INT32_C( 0), INT32_C( 0), INT32_C( 1627826184), INT32_C( 176428296), INT32_C( 1761871009), INT32_C( 0), INT32_C( 155222125), INT32_C( 0), INT32_C( 1615025616), INT32_C( 0), INT32_C( 1652621572), INT32_C( 271583821), INT32_C( 0)) }, { UINT16_C(31670), simde_mm512_set_epi32(INT32_C(-1612308895), INT32_C( -722700317), INT32_C( 1003499766), INT32_C( 814072246), INT32_C( 2008726943), INT32_C( 1223905210), INT32_C( -618135276), INT32_C(-2049729375), INT32_C( 595839117), INT32_C( -226508565), INT32_C( 1598449683), INT32_C( -514630984), INT32_C( 658541354), INT32_C( 567151600), INT32_C( -71044409), INT32_C(-1688131700)), simde_mm512_set_epi32(INT32_C( 1317588071), INT32_C(-1153324271), INT32_C( 2046542506), INT32_C( 623240678), INT32_C( -39480028), INT32_C( -33815034), INT32_C( 2056788636), INT32_C( 2095887515), INT32_C( -281654456), INT32_C(-1621887341), INT32_C( 1362159003), INT32_C( 1103094461), INT32_C( 1716020502), INT32_C( 102069928), INT32_C( 474901863), INT32_C( 367619581)), simde_mm512_set_epi32(INT32_C( 0), INT32_C( 721520656), INT32_C( 1076609544), INT32_C( 85992512), INT32_C(-2012938208), INT32_C( 0), INT32_C( 546314888), INT32_C( 2016157722), INT32_C( -869006528), INT32_C( 0), INT32_C( 3179912), INT32_C( 11313157), INT32_C( 0), INT32_C( 101807112), INT32_C( 67898656), INT32_C( 0)) }, { UINT16_C(49857), simde_mm512_set_epi32(INT32_C(-2067220018), INT32_C( 1805947847), INT32_C( 2110487322), INT32_C( 1074104919), INT32_C(-1112398120), INT32_C( 225474260), INT32_C( -545045472), INT32_C( -824857753), INT32_C( -338758362), INT32_C(-1789466141), INT32_C( 1713747474), INT32_C( 808725130), INT32_C( 1298412949), INT32_C( 260904797), INT32_C( 457183382), INT32_C( 2009286767)), simde_mm512_set_epi32(INT32_C(-2042099265), INT32_C( 1225391956), INT32_C( -841393362), INT32_C( -744679138), INT32_C( -30361081), INT32_C( 1490708305), INT32_C( 1603942577), INT32_C(-1226711411), INT32_C( -720257963), INT32_C( 876066124), INT32_C( 1546499669), INT32_C( 1636147146), INT32_C( 3608382), INT32_C( -404260643), INT32_C( 1874947312), INT32_C(-2040485747)), simde_mm512_set_epi32(INT32_C( 33554481), INT32_C( 617488), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 1587345), INT32_C( 0), INT32_C( 336660561), INT32_C( 539038732), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C(-2145345408)) } }; for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) { simde__m512i r = simde_mm512_castps_si512(simde_mm512_maskz_andnot_ps(test_vec[i].k, simde_mm512_castsi512_ps(test_vec[i].a), simde_mm512_castsi512_ps(test_vec[i].b))); simde_assert_m512i_i32(r, ==, test_vec[i].r); } return 0; } static int test_simde_mm512_mask_andnot_pd(SIMDE_MUNIT_TEST_ARGS) { const struct { simde__m512i src; simde__mmask8 k; simde__m512i a; simde__m512i b; simde__m512i r; } test_vec[8] = { { simde_mm512_set_epi64(INT64_C( -343739447634695407), INT64_C( 6094193684923690615), INT64_C(-7040634603669948000), INT64_C( 8872386007247991164), INT64_C(-8252638392294099885), INT64_C( 6601029892750146432), INT64_C( 7279352193089347864), INT64_C( 8662714795122682384)), UINT8_C( 55), simde_mm512_set_epi64(INT64_C( 599279934641474098), INT64_C( 7845412443385721442), INT64_C(-2777121475968104316), INT64_C( 7314283605033033979), INT64_C(-8886012248836695508), INT64_C( 3313585428802692877), INT64_C(-1598467827595787694), INT64_C(-5223130400950906727)), simde_mm512_set_epi64(INT64_C( 4132377007718714638), INT64_C( 6722749807664954665), INT64_C(-6834862606673078980), INT64_C(-8159527519597393212), INT64_C( 1169770534052573165), INT64_C(-8496887971116687127), INT64_C( 4795256091623648748), INT64_C( -534912108587925882)), simde_mm512_set_epi64(INT64_C( -343739447634695407), INT64_C( 6094193684923690615), INT64_C( 2305860618582136120), INT64_C(-8484217854339937788), INT64_C(-8252638392294099885), INT64_C(-9079040208459267872), INT64_C( 147532470349213100), INT64_C( 5192659463408496134)) }, { simde_mm512_set_epi64(INT64_C( 1137601381159569274), INT64_C( 3083515373590209262), INT64_C( 7172644931946125494), INT64_C( 7709434742472783251), INT64_C(-5570954806909339658), INT64_C( -271406020759376737), INT64_C( 4799674771715911578), INT64_C(-1218830816677094379)), UINT8_C( 50), simde_mm512_set_epi64(INT64_C(-2731162171219972563), INT64_C( 4361435470291369786), INT64_C( 4372980053959095777), INT64_C(-4964365409406827474), INT64_C(-4887932848327267276), INT64_C( 5394909549222414797), INT64_C( 8601793944421926823), INT64_C( 1320541430862898557)), simde_mm512_set_epi64(INT64_C( 3987127999885683210), INT64_C( 232842063033182789), INT64_C(-8565159867474411189), INT64_C( 6112914526494565862), INT64_C( 3462295888398647957), INT64_C( 2362909626677485241), INT64_C( 1401365959932181466), INT64_C( 2959935140000245037)), simde_mm512_set_epi64(INT64_C( 1137601381159569274), INT64_C( 3083515373590209262), INT64_C(-9151314120547500022), INT64_C( 4955199880194171328), INT64_C(-5570954806909339658), INT64_C( -271406020759376737), INT64_C( 9008205654194264), INT64_C(-1218830816677094379)) }, { simde_mm512_set_epi64(INT64_C( 4893068556614144973), INT64_C( 8066183844976877919), INT64_C( 8546857359160133238), INT64_C(-8267045803572214233), INT64_C( 8915887943252268838), INT64_C(-4953676046754636494), INT64_C( 1510704893512358974), INT64_C( 9024635443342747538)), UINT8_C(216), simde_mm512_set_epi64(INT64_C(-8634103598278842542), INT64_C(-6155398791521040805), INT64_C( 7775580441978642644), INT64_C(-5899929856226471257), INT64_C( 7028189811487947825), INT64_C(-6189665615261290781), INT64_C( 907536080618458470), INT64_C( 3906704638875451620)), simde_mm512_set_epi64(INT64_C(-4094490793791238990), INT64_C(-2091977621380611033), INT64_C( 2043918654743067438), INT64_C(-4515408626818342672), INT64_C( 1196379185714011362), INT64_C( 1607300510948935937), INT64_C( 1394814499359692419), INT64_C(-5198396047694847294)), simde_mm512_set_epi64(INT64_C( 5116214864772401312), INT64_C( 4639917106950488100), INT64_C( 8546857359160133238), INT64_C( 4701761038926749776), INT64_C( 1158058982756417730), INT64_C(-4953676046754636494), INT64_C( 1510704893512358974), INT64_C( 9024635443342747538)) }, { simde_mm512_set_epi64(INT64_C( -233515152413640809), INT64_C(-7711023580854835359), INT64_C( 685057037117132470), INT64_C(-1053400672876430250), INT64_C(-6008870355673260365), INT64_C( 6732010747677860150), INT64_C( 7912723632945414242), INT64_C( 6629652157771519554)), UINT8_C( 7), simde_mm512_set_epi64(INT64_C( 418428539766329360), INT64_C( 1870466273027415797), INT64_C( 7044646027925455043), INT64_C(-7541966937157619960), INT64_C(-4455685474515493219), INT64_C(-3587901153898980536), INT64_C( 5978767859636931605), INT64_C( 1520054098233920669)), simde_mm512_set_epi64(INT64_C( 3839280895408034825), INT64_C(-8206971788365754506), INT64_C(-4439851259277562681), INT64_C(-6789849238744039634), INT64_C(-1659448540825770878), INT64_C( 2745935889893417490), INT64_C( 3715019098340555278), INT64_C(-7036562755259908130)), simde_mm512_set_epi64(INT64_C( -233515152413640809), INT64_C(-7711023580854835359), INT64_C( 685057037117132470), INT64_C(-1053400672876430250), INT64_C(-6008870355673260365), INT64_C( 2308798513734279186), INT64_C( 2379631298345005578), INT64_C(-8484488882121788606)) }, { simde_mm512_set_epi64(INT64_C(-2379770324367148032), INT64_C( 269951545548960285), INT64_C(-5915450755405613469), INT64_C( 4377769456724035257), INT64_C( 4963028952577306253), INT64_C( 5031417887689077714), INT64_C( 5062535597864084892), INT64_C(-8442033713738522560)), UINT8_C(129), simde_mm512_set_epi64(INT64_C(-6217210315706132893), INT64_C(-5326659911006667991), INT64_C( 1028086835571864351), INT64_C(-9190513903150593462), INT64_C(-5132407930629667991), INT64_C( 3081908066365846241), INT64_C( 1991874275422300444), INT64_C(-8267800556778760378)), simde_mm512_set_epi64(INT64_C(-7195920316169423191), INT64_C( 8855103613986981069), INT64_C(-1079557804828513091), INT64_C(-7716984285220335090), INT64_C( 760039564915644558), INT64_C( 5629267284662877438), INT64_C(-8887844833591355405), INT64_C( 3227154889713027186)), simde_mm512_set_epi64(INT64_C( 1441983734462308488), INT64_C( 269951545548960285), INT64_C(-5915450755405613469), INT64_C( 4377769456724035257), INT64_C( 4963028952577306253), INT64_C( 5031417887689077714), INT64_C( 5062535597864084892), INT64_C( 2344440558065420336)) }, { simde_mm512_set_epi64(INT64_C(-1632349344831082760), INT64_C(-7746252227037734078), INT64_C( 8307071850644138234), INT64_C(-8586546786041619015), INT64_C( 404139822791089559), INT64_C(-1877631053848650154), INT64_C( 7455727023947545561), INT64_C( 9065509561364139853)), UINT8_C(251), simde_mm512_set_epi64(INT64_C( 6876828378130175291), INT64_C( 4443252594681514716), INT64_C(-6385840203869031352), INT64_C( 6938523062457490065), INT64_C( -791901096126868688), INT64_C( 5787489911096576116), INT64_C(-7854643813663956328), INT64_C( 5967336075130617342)), simde_mm512_set_epi64(INT64_C( 4146719804671055125), INT64_C( 2252037785239205430), INT64_C( 8454374735321895014), INT64_C(-1381892347656312574), INT64_C( 706165223560180728), INT64_C( -219143018686364756), INT64_C(-1570739878098539061), INT64_C(-1561542974628641964)), simde_mm512_set_epi64(INT64_C( 2341899294765252612), INT64_C( 162200290615931938), INT64_C( 5769965461718695974), INT64_C(-8318139676533907198), INT64_C( 633958070103335112), INT64_C(-1877631053848650154), INT64_C( 7494284887317302595), INT64_C(-6339871525209882112)) }, { simde_mm512_set_epi64(INT64_C( 9026638934924851598), INT64_C( 230236376028734533), INT64_C( 7791847925691209473), INT64_C( 5636683834883992106), INT64_C( 4666417032316259140), INT64_C(-9020764089960395704), INT64_C( 8213766780006614493), INT64_C(-6694788910086219877)), UINT8_C( 70), simde_mm512_set_epi64(INT64_C(-6498066308492480472), INT64_C( 5728364479291594350), INT64_C(-5884149762497402782), INT64_C( 6387650260207408060), INT64_C(-5128486331429717841), INT64_C( -868619985199698421), INT64_C(-4214853307896141180), INT64_C( -465765039913276151)), simde_mm512_set_epi64(INT64_C(-5046884246860802318), INT64_C( 1004972136752522438), INT64_C(-2378507232856704687), INT64_C( 5436650347587017589), INT64_C(-2667790265994842517), INT64_C(-2085203105823883971), INT64_C(-5490659216814537620), INT64_C(-8036188446954416194)), simde_mm512_set_epi64(INT64_C( 9026638934924851598), INT64_C( 36100064221372544), INT64_C( 7791847925691209473), INT64_C( 5636683834883992106), INT64_C( 4666417032316259140), INT64_C( 3892555578216756), INT64_C( 3624274549258028136), INT64_C(-6694788910086219877)) }, { simde_mm512_set_epi64(INT64_C(-5230007765170990668), INT64_C( 846507549899810342), INT64_C(-7111962349683310649), INT64_C( -772191960312616388), INT64_C( 3123285095915363891), INT64_C( 1623466873559833442), INT64_C( -366019171342533610), INT64_C(-2494634274663155684)), UINT8_C( 35), simde_mm512_set_epi64(INT64_C( -975714944549474590), INT64_C( 1049564164032844619), INT64_C( 7303689756219555946), INT64_C(-6372981973137131801), INT64_C(-5489514128660043293), INT64_C(-7367882453491102610), INT64_C( 6699088752588717529), INT64_C( 1411143637466671223)), simde_mm512_set_epi64(INT64_C(-2226860933844685600), INT64_C( 1920850149099678208), INT64_C( 1690361552489070319), INT64_C( 6660992074283035646), INT64_C(-5836455416301421815), INT64_C(-2339252903384749197), INT64_C(-3541767763730411989), INT64_C( 1379523068058767230)), simde_mm512_set_epi64(INT64_C(-5230007765170990668), INT64_C( 846507549899810342), INT64_C( 1307192606745607813), INT64_C( -772191960312616388), INT64_C( 3123285095915363891), INT64_C( 1623466873559833442), INT64_C(-9076991572345486814), INT64_C( 9020679430670088)) } }; for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) { simde__m512i r = simde_mm512_castpd_si512(simde_mm512_mask_andnot_pd(simde_mm512_castsi512_pd(test_vec[i].src), test_vec[i].k, simde_mm512_castsi512_pd(test_vec[i].a), simde_mm512_castsi512_pd(test_vec[i].b))); simde_assert_m512i_i64(r, ==, test_vec[i].r); } return 0; } static int test_simde_mm512_maskz_andnot_pd(SIMDE_MUNIT_TEST_ARGS) { const struct { simde__mmask8 k; simde__m512i a; simde__m512i b; simde__m512i r; } test_vec[8] = { { UINT8_C(227), simde_mm512_set_epi64(INT64_C(-4590720219282553470), INT64_C( 7052994564826635717), INT64_C( 102182550423351600), INT64_C( 6550609573293042333), INT64_C(-6537325874213497913), INT64_C( 8955563540957921573), INT64_C( 8228815951810735558), INT64_C(-3823364876013971085)), simde_mm512_set_epi64(INT64_C( -740720849127296556), INT64_C( -933890699409471481), INT64_C( 5755588500836856312), INT64_C(-7609758858126984395), INT64_C( 5441557991346977587), INT64_C( -960797962792509213), INT64_C( 199203171802884405), INT64_C( 1812346297232380541)), simde_mm512_set_epi64(INT64_C( 3868594310811889748), INT64_C(-7923482887668088830), INT64_C( 5662415626724180168), INT64_C( 0), INT64_C( 0), INT64_C( 0), INT64_C( 54349100887310385), INT64_C( 1226687842802237964)) }, { UINT8_C(150), simde_mm512_set_epi64(INT64_C( 8029427937579490996), INT64_C(-1016228199940301895), INT64_C( 3581869483076202853), INT64_C( 4960784598491720813), INT64_C(-7670184712449022296), INT64_C( 1368687340866524346), INT64_C( 36158962521961508), INT64_C( 1367446093605161437)), simde_mm512_set_epi64(INT64_C( 210141022168102607), INT64_C(-5660044126052691316), INT64_C( 8952190750537587177), INT64_C(-7520755716476597588), INT64_C( 5025036600597137846), INT64_C( 1371349703128320142), INT64_C( 1157825117202956749), INT64_C( 3947754344252009580)), simde_mm512_set_epi64(INT64_C( 36187148471246923), INT64_C( 0), INT64_C( 0), INT64_C(-7845058891591449984), INT64_C( 0), INT64_C( 72059827504875524), INT64_C( 1157717081520079305), INT64_C( 0)) }, { UINT8_C(206), simde_mm512_set_epi64(INT64_C(-5447319738796629324), INT64_C( 7573553786407309883), INT64_C( 3210166478679154113), INT64_C( -632818268169935629), INT64_C( 2091039522714659767), INT64_C(-7890721085940980150), INT64_C(-4051485337429119412), INT64_C(-3044005681324007212)), simde_mm512_set_epi64(INT64_C(-3107571465629414339), INT64_C(-5609659848016607327), INT64_C( 3170884903864138535), INT64_C( 3780264979688453657), INT64_C(-3200960942660399317), INT64_C( 5382084213528122877), INT64_C(-4409193503472949179), INT64_C( 4723837911396640821)), simde_mm512_set_epi64(INT64_C( 4654611160413260809), INT64_C(-7916109799461190272), INT64_C( 0), INT64_C( 0), INT64_C(-4426155929590676472), INT64_C( 5224458146534150581), INT64_C( 2608396285542401), INT64_C( 0)) }, { UINT8_C(125), simde_mm512_set_epi64(INT64_C( 4207278183660861960), INT64_C(-8995945069443043606), INT64_C( 8554253801191868756), INT64_C( 3354059043086044373), INT64_C( 1657475957423553689), INT64_C(-2556137084454595182), INT64_C( 2422681642730518465), INT64_C(-8655840866694392843)), simde_mm512_set_epi64(INT64_C(-6233706215614972452), INT64_C( 2778576059313358974), INT64_C( 521154595483651590), INT64_C(-2197561166428241391), INT64_C( 751433836641726755), INT64_C( 5984411989878292578), INT64_C(-2128282437357703049), INT64_C( 6129378286910417126)), simde_mm512_set_epi64(INT64_C( 0), INT64_C( 2632358518757523476), INT64_C( 74594534185240066), INT64_C(-4539433801636773376), INT64_C( 607176734235951394), INT64_C( 218459912932966496), INT64_C( 0), INT64_C( 5769015465569462274)) }, { UINT8_C( 71), simde_mm512_set_epi64(INT64_C(-8436437744293223076), INT64_C( -780741249760151942), INT64_C( 4822350614887775462), INT64_C( 2188408541520193917), INT64_C(-3082935350304813722), INT64_C(-5875221946234265673), INT64_C(-5758090656392293952), INT64_C(-3302974504787286903)), simde_mm512_set_epi64(INT64_C(-7235195547697304884), INT64_C(-2099342694411362386), INT64_C( 6587794971423114743), INT64_C(-8750716550526717441), INT64_C(-6164466580259336301), INT64_C(-5605431759460432480), INT64_C( 8610981953023941155), INT64_C(-5677351707943910012)), simde_mm512_set_epi64(INT64_C( 0), INT64_C( 204210100791970180), INT64_C( 0), INT64_C( 0), INT64_C( 0), INT64_C( 1153063355977236480), INT64_C( 5152215214393002531), INT64_C( 2383675803176042756)) }, { UINT8_C( 16), simde_mm512_set_epi64(INT64_C(-7454619922298182462), INT64_C(-4477515570225004692), INT64_C( 3259262052820328758), INT64_C(-2323942451066306663), INT64_C(-7533087570752357418), INT64_C(-2748624972946479401), INT64_C(-7594508336042449203), INT64_C(-2829162199669149138)), simde_mm512_set_epi64(INT64_C( 231920182013128330), INT64_C( 2342360813276731434), INT64_C(-3887471131024015317), INT64_C(-6063668553337722025), INT64_C( 6394528685493045899), INT64_C( 7433558736916574563), INT64_C(-8597186079760918784), INT64_C( 9218943275377121788)), simde_mm512_set_epi64(INT64_C( 0), INT64_C( 0), INT64_C( 0), INT64_C( 2323862976450265158), INT64_C( 0), INT64_C( 0), INT64_C( 0), INT64_C( 0)) }, { UINT8_C( 0), simde_mm512_set_epi64(INT64_C(-1874339372436527846), INT64_C(-4874669033093832828), INT64_C(-5258762659707925604), INT64_C( 1933045326528420333), INT64_C( 8704229925049171123), INT64_C(-4249956245353677661), INT64_C( 3155017878537816163), INT64_C( 8377752223970655488)), simde_mm512_set_epi64(INT64_C( 6639157720065498333), INT64_C( 7954402008564552716), INT64_C( 220412799958481097), INT64_C( 3341210828844349470), INT64_C( 930495958757986079), INT64_C(-5593607526362331219), INT64_C( 1220298896193992740), INT64_C( 1285034736351616528)), simde_mm512_set_epi64(INT64_C( 0), INT64_C( 0), INT64_C( 0), INT64_C( 0), INT64_C( 0), INT64_C( 0), INT64_C( 0), INT64_C( 0)) }, { UINT8_C( 29), simde_mm512_set_epi64(INT64_C( 6066305475956667844), INT64_C(-4992917222673652861), INT64_C(-8395584014417236584), INT64_C( -142719058224734896), INT64_C( 509377192188320240), INT64_C( 4417811606371822828), INT64_C( 5101966917722654224), INT64_C(-9124380135803090931)), simde_mm512_set_epi64(INT64_C( 7887221249293377488), INT64_C( -182605916723991232), INT64_C( 366071292133853300), INT64_C(-7235772882062384424), INT64_C( 2002854046423029286), INT64_C(-3793561946903283248), INT64_C(-8278200760223787155), INT64_C(-6807146722179486859)), simde_mm512_set_epi64(INT64_C( 0), INT64_C( 0), INT64_C( 0), INT64_C( 112882606806164104), INT64_C( 1786257950099998214), INT64_C(-4462918246344945392), INT64_C( 0), INT64_C( 2341880616049730416)) } }; for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) { simde__m512i r = simde_mm512_castpd_si512(simde_mm512_maskz_andnot_pd(test_vec[i].k, simde_mm512_castsi512_pd(test_vec[i].a), simde_mm512_castsi512_pd(test_vec[i].b))); simde_assert_m512i_i64(r, ==, test_vec[i].r); } return 0; } static int test_simde_mm512_andnot_si512(SIMDE_MUNIT_TEST_ARGS) { const struct { simde__m512i a; simde__m512i b; simde__m512i r; } test_vec[8] = { { simde_mm512_set_epi32(INT32_C( -335330897), INT32_C( 1860840666), INT32_C( -837102383), INT32_C( 1544121603), INT32_C( -31451516), INT32_C( 294501250), INT32_C( 1844141610), INT32_C( 711066163), INT32_C( 1032767823), INT32_C( 466876164), INT32_C( 1432923079), INT32_C( -137339965), INT32_C(-1216294439), INT32_C( 1110388055), INT32_C( 754234048), INT32_C( -712839683)), simde_mm512_set_epi32(INT32_C( 645969883), INT32_C( 45407696), INT32_C(-1431929981), INT32_C(-1744968675), INT32_C( 1491740298), INT32_C( -669732847), INT32_C(-1678703719), INT32_C(-1110558488), INT32_C(-1993251114), INT32_C( 1910816421), INT32_C( 2013403088), INT32_C( 882585036), INT32_C( 1733706468), INT32_C( 1763057771), INT32_C( 303070795), INT32_C( -805966849)), simde_mm512_set_epi32(INT32_C( 41989712), INT32_C( 1364224), INT32_C( 547629826), INT32_C(-2081128420), INT32_C( 13246474), INT32_C( -938475503), INT32_C(-1844444783), INT32_C(-1785972536), INT32_C(-2144262512), INT32_C( 1612974241), INT32_C( 671224848), INT32_C( 730124), INT32_C( 1079378468), INT32_C( 688914472), INT32_C( 302009355), INT32_C( 175440386)) }, { simde_mm512_set_epi32(INT32_C( 1267266514), INT32_C(-1810114077), INT32_C(-1631053656), INT32_C(-1291259659), INT32_C(-1797405973), INT32_C(-2052491824), INT32_C( 218690610), INT32_C( 434694077), INT32_C( 322569513), INT32_C( -492306370), INT32_C( 1714124310), INT32_C( 757183592), INT32_C( 1904845371), INT32_C( 1921390915), INT32_C( 1219016836), INT32_C( -491589854)), simde_mm512_set_epi32(INT32_C( -843887215), INT32_C(-1144045392), INT32_C( 1523671305), INT32_C( -687015924), INT32_C( -651771268), INT32_C(-1812069901), INT32_C( 132880464), INT32_C( 1912329512), INT32_C( -208209918), INT32_C(-1079631083), INT32_C( -134611197), INT32_C(-1062410635), INT32_C( -896925558), INT32_C( -559765979), INT32_C( 1912148196), INT32_C( -437846049)), simde_mm512_set_epi32(INT32_C(-2077029375), INT32_C( 734265360), INT32_C( 1074880769), INT32_C( 1141114888), INT32_C( 1226965012), INT32_C( 307626019), INT32_C( 48433216), INT32_C( 1611862016), INT32_C( -528156670), INT32_C( 486941441), INT32_C(-1848604415), INT32_C(-1064549867), INT32_C(-1979580288), INT32_C(-1944017372), INT32_C( 827392096), INT32_C( 88346845)) }, { simde_mm512_set_epi32(INT32_C( 451034606), INT32_C( 160382101), INT32_C(-1268862602), INT32_C( 782115678), INT32_C(-1160318793), INT32_C( -575355195), INT32_C( 1432838242), INT32_C(-2114154695), INT32_C(-1020410376), INT32_C( -714076046), INT32_C(-1407849113), INT32_C( 996241684), INT32_C( 481606881), INT32_C(-1834956523), INT32_C( 493396975), INT32_C(-1084672800)), simde_mm512_set_epi32(INT32_C( 1458493934), INT32_C( 1051105030), INT32_C( -836083742), INT32_C( 1407748874), INT32_C(-1387312486), INT32_C( 776481471), INT32_C( 275093143), INT32_C( -137438390), INT32_C( 1860284960), INT32_C( 540502552), INT32_C( 1411461258), INT32_C( 1517918194), INT32_C( -266161178), INT32_C( 1269265702), INT32_C( 809771495), INT32_C(-1968711037)), simde_mm512_set_epi32(INT32_C( 1141686272), INT32_C( 908100354), INT32_C( 1243631232), INT32_C( 1365280768), INT32_C( 84478472), INT32_C( 575154234), INT32_C( 38549), INT32_C( 1979863106), INT32_C( 750793216), INT32_C( 537356808), INT32_C( 1344278664), INT32_C( 1075349218), INT32_C( -536739066), INT32_C( 1225208866), INT32_C( 537133056), INT32_C( 10930691)) }, { simde_mm512_set_epi32(INT32_C(-1562592645), INT32_C( -32255724), INT32_C( -923416118), INT32_C(-2134713284), INT32_C(-1313323965), INT32_C(-1729518909), INT32_C( 1286411285), INT32_C( -376910154), INT32_C(-1786193108), INT32_C(-2035089818), INT32_C( 1552020826), INT32_C( 726998554), INT32_C( 1864619074), INT32_C( 1828024315), INT32_C( -824341738), INT32_C(-1420030579)), simde_mm512_set_epi32(INT32_C( 1087836695), INT32_C(-2094233976), INT32_C( 1148487684), INT32_C(-1514127182), INT32_C( -524459384), INT32_C( 725104708), INT32_C( 1787286694), INT32_C(-1533684832), INT32_C( 46575098), INT32_C( 2086853653), INT32_C( 815292575), INT32_C(-1270435744), INT32_C( 2014177347), INT32_C( 1099600134), INT32_C( -622983952), INT32_C( 822011154)), simde_mm512_set_epi32(INT32_C( 1073938436), INT32_C( 19662472), INT32_C( 67108868), INT32_C( 620757122), INT32_C( 1074078344), INT32_C( 588257284), INT32_C( 570605730), INT32_C( 68489472), INT32_C( 38151378), INT32_C( 2017460241), INT32_C( 538443909), INT32_C(-1811767200), INT32_C( 269232129), INT32_C( 17469444), INT32_C( 268567776), INT32_C( 279109650)) }, { simde_mm512_set_epi32(INT32_C(-1657115762), INT32_C( 1585840022), INT32_C(-1070898703), INT32_C( 1022031619), INT32_C(-1380717315), INT32_C( 1086658406), INT32_C( -124039065), INT32_C(-1974944947), INT32_C( 2044249149), INT32_C( 1638783653), INT32_C( 1466240446), INT32_C(-1803146403), INT32_C( 1060682707), INT32_C(-1592428518), INT32_C( 156586666), INT32_C( -266957088)), simde_mm512_set_epi32(INT32_C( -703454581), INT32_C( 797686885), INT32_C( 1723425278), INT32_C( -158454369), INT32_C(-1043830066), INT32_C( 709622512), INT32_C(-2136296570), INT32_C( -863350926), INT32_C( 1844461284), INT32_C( -21472306), INT32_C(-1932483198), INT32_C(-1320584016), INT32_C( -370591173), INT32_C( -330170023), INT32_C( -975385097), INT32_C( -654562432)), simde_mm512_set_epi32(INT32_C( 1107296257), INT32_C( 554303585), INT32_C( 646971406), INT32_C(-1039923044), INT32_C( 1078460930), INT32_C( 705357968), INT32_C( 2139008), INT32_C( 1149387826), INT32_C( 69221056), INT32_C(-1643118262), INT32_C(-2003787776), INT32_C( 558453920), INT32_C(-1061093336), INT32_C( 1279394113), INT32_C( -997683883), INT32_C( 149430528)) }, { simde_mm512_set_epi32(INT32_C( 962558787), INT32_C(-1212292378), INT32_C(-1698562444), INT32_C(-1456708578), INT32_C( 1605522258), INT32_C(-1389853810), INT32_C( 605095260), INT32_C( 449573803), INT32_C(-1932095036), INT32_C( 1214045264), INT32_C(-1966228541), INT32_C( 484352026), INT32_C(-1251622562), INT32_C( 97048183), INT32_C( 1801957969), INT32_C( 39148591)), simde_mm512_set_epi32(INT32_C( 1144673524), INT32_C(-1837539909), INT32_C(-1995926176), INT32_C( -775830454), INT32_C( 1197039500), INT32_C( 605086417), INT32_C(-1681915928), INT32_C(-1694227594), INT32_C( 250277648), INT32_C( 1517650405), INT32_C( -529860796), INT32_C( 319331129), INT32_C( 1337610221), INT32_C( -515158609), INT32_C(-1958759875), INT32_C( 480005412)), simde_mm512_set_epi32(INT32_C( 1142949044), INT32_C( 4201753), INT32_C( 17301760), INT32_C( 1354858560), INT32_C( 4787340), INT32_C( 1073233), INT32_C(-1683031392), INT32_C(-2130444204), INT32_C( 36204048), INT32_C( 304152997), INT32_C( 1612858372), INT32_C( 50338593), INT32_C( 1251610273), INT32_C( -536671864), INT32_C(-2145910740), INT32_C( 478675200)) }, { simde_mm512_set_epi32(INT32_C( 477799556), INT32_C( 718106947), INT32_C( -702434720), INT32_C( 911156446), INT32_C( 692922531), INT32_C( -634559193), INT32_C( -541024501), INT32_C( 6957260), INT32_C( 891904501), INT32_C( 1674261328), INT32_C( 463285837), INT32_C( 465636281), INT32_C( -567453998), INT32_C( -675807734), INT32_C( 1242869264), INT32_C(-2003535835)), simde_mm512_set_epi32(INT32_C( -440269466), INT32_C( 1069561863), INT32_C( -850138274), INT32_C( 1324108467), INT32_C( 996083706), INT32_C(-1741332408), INT32_C(-1720688024), INT32_C( -195389802), INT32_C( -122163269), INT32_C(-1678986062), INT32_C( -261742027), INT32_C( 147621305), INT32_C( 1928957095), INT32_C( 647911914), INT32_C(-1231783784), INT32_C(-1597793099)), simde_mm512_set_epi32(INT32_C( -511704734), INT32_C( 352323588), INT32_C( 156387614), INT32_C( 1218464289), INT32_C( 303171416), INT32_C( 1048648), INT32_C( 3170400), INT32_C( -200239598), INT32_C( -929657334), INT32_C(-1742437214), INT32_C( -530448336), INT32_C( 820224), INT32_C( 550537253), INT32_C( 537395680), INT32_C(-1266659192), INT32_C( 541295760)) }, { simde_mm512_set_epi32(INT32_C(-1322452749), INT32_C(-1191485380), INT32_C( 61071601), INT32_C( -255981709), INT32_C( 1745472557), INT32_C( 1521357726), INT32_C(-1111842070), INT32_C( 1783291089), INT32_C( 718609371), INT32_C( -553071779), INT32_C(-1373014967), INT32_C( 751334079), INT32_C( -828271800), INT32_C(-1578484948), INT32_C(-1597074675), INT32_C( 393018558)), simde_mm512_set_epi32(INT32_C(-1722624236), INT32_C( -955857282), INT32_C( 1790216473), INT32_C( -762838785), INT32_C( -108799681), INT32_C( -975838651), INT32_C( 1961237228), INT32_C( 52752901), INT32_C(-1440122977), INT32_C(-1167835972), INT32_C( 1345250484), INT32_C( 2101674065), INT32_C( -149671798), INT32_C( 738167968), INT32_C( -764040824), INT32_C( -514982245)), simde_mm512_set_epi32(INT32_C( 139593476), INT32_C( 1191478850), INT32_C( 1746143496), INT32_C( 33554572), INT32_C(-1853746926), INT32_C(-2058231743), INT32_C( 1078204420), INT32_C( 19145220), INT32_C(-2144836604), INT32_C( 543437984), INT32_C( 1342603444), INT32_C( 1359282240), INT32_C( 823402626), INT32_C( 169182336), INT32_C( 1378953344), INT32_C( -536804863)) } }; for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) { simde__m512i r = simde_mm512_andnot_si512(test_vec[i].a, test_vec[i].b); simde_assert_m512i_i32(r, ==, test_vec[i].r); } return 0; } static int test_simde_mm512_andnot_epi32(SIMDE_MUNIT_TEST_ARGS) { const struct { simde__m512i a; simde__m512i b; simde__m512i r; } test_vec[8] = { { simde_mm512_set_epi32(INT32_C( 1786505147), INT32_C( 366806262), INT32_C(-1595474360), INT32_C( -741125130), INT32_C( 623580589), INT32_C( 1819639708), INT32_C(-1998267151), INT32_C( 54696203), INT32_C( 1230356730), INT32_C( -528215990), INT32_C(-1085976265), INT32_C( -88891472), INT32_C( 263402075), INT32_C( 2072408294), INT32_C( 1041613232), INT32_C(-1299496488)), simde_mm512_set_epi32(INT32_C( 634085978), INT32_C( 1880231468), INT32_C( 1457044755), INT32_C( -852481645), INT32_C( 1274177455), INT32_C( -223885439), INT32_C( 582318482), INT32_C( 1515067636), INT32_C(-1348943060), INT32_C( 88850487), INT32_C(-1067534176), INT32_C( 1770437803), INT32_C(-1608407464), INT32_C(-1335624696), INT32_C( 1637100454), INT32_C(-1783030263)), simde_mm512_set_epi32(INT32_C( 92274752), INT32_C( 1610746376), INT32_C( 1444413715), INT32_C( 203433985), INT32_C( 1255170562), INT32_C(-1836941311), INT32_C( 571547906), INT32_C( 1477181684), INT32_C(-1501035772), INT32_C( 88850485), INT32_C( 1075488896), INT32_C( 17047563), INT32_C(-1610578944), INT32_C(-2141090808), INT32_C( 1098918406), INT32_C( 87039489)) }, { simde_mm512_set_epi32(INT32_C( 923576423), INT32_C(-1078925154), INT32_C( -430557576), INT32_C(-1684773193), INT32_C(-1179101215), INT32_C(-1985153431), INT32_C( 584718967), INT32_C( -112765469), INT32_C( 1515864234), INT32_C(-1118210252), INT32_C( 931438007), INT32_C( -352031421), INT32_C( 1134370188), INT32_C( 1556623900), INT32_C( 57329867), INT32_C( 254759017)), simde_mm512_set_epi32(INT32_C( -300442460), INT32_C( -893266841), INT32_C(-1015236925), INT32_C( 262163323), INT32_C( 2095940386), INT32_C( 1009617335), INT32_C( 458760718), INT32_C(-1732442867), INT32_C( 1273945161), INT32_C( 946706622), INT32_C( 1469023509), INT32_C(-2064451876), INT32_C( -256697390), INT32_C(-1934774398), INT32_C( 433298181), INT32_C( -530351918)), simde_mm512_set_epi32(INT32_C( -938273664), INT32_C( 1078006881), INT32_C( 19431555), INT32_C( 69208392), INT32_C( 1145405442), INT32_C( 872483222), INT32_C( 419438600), INT32_C( 12058636), INT32_C( 27565121), INT32_C( 2394250), INT32_C( 1074462720), INT32_C( 83006108), INT32_C(-1339948462), INT32_C(-2145022590), INT32_C( 412160772), INT32_C( -532666222)) }, { simde_mm512_set_epi32(INT32_C( 835311518), INT32_C( 593132209), INT32_C(-1205845883), INT32_C(-2103435972), INT32_C( 331121937), INT32_C(-1122763027), INT32_C( -11044623), INT32_C( 1217358106), INT32_C( 899389553), INT32_C( 61750829), INT32_C(-1644418892), INT32_C( 1179256254), INT32_C( -236468269), INT32_C( -666751062), INT32_C( -733547571), INT32_C( 2125570021)), simde_mm512_set_epi32(INT32_C(-1443754597), INT32_C( 1972174992), INT32_C(-2074962423), INT32_C( -531291976), INT32_C( 1382830722), INT32_C( -282269267), INT32_C( 1453780297), INT32_C( 363272438), INT32_C( 1819778130), INT32_C(-1488646809), INT32_C( 1000774887), INT32_C( 2075973242), INT32_C( 251762527), INT32_C( 254090322), INT32_C( -106442053), INT32_C(-1147166459)), simde_mm512_set_epi32(INT32_C(-2009987071), INT32_C( 1418002432), INT32_C( 72521224), INT32_C( 1616191616), INT32_C( 1077957250), INT32_C( 1110180096), INT32_C( 10519816), INT32_C( 354423012), INT32_C( 1214514178), INT32_C(-1539243710), INT32_C( 570594371), INT32_C( 968151616), INT32_C( 234885132), INT32_C( 119869520), INT32_C( 698417202), INT32_C(-2129780736)) }, { simde_mm512_set_epi32(INT32_C( 1259282838), INT32_C( -167567006), INT32_C( 1470440257), INT32_C(-1702928569), INT32_C(-1493129242), INT32_C( -361616020), INT32_C( 1148861436), INT32_C(-2140586026), INT32_C(-1901343726), INT32_C( 1258604211), INT32_C( 1382183555), INT32_C( 464481172), INT32_C( 87817013), INT32_C( -25672201), INT32_C(-1647580547), INT32_C( -833959607)), simde_mm512_set_epi32(INT32_C( -711482206), INT32_C(-1110405208), INT32_C( -55795162), INT32_C(-1789106875), INT32_C(-1077987504), INT32_C( 2002242576), INT32_C( 879044440), INT32_C( 728498187), INT32_C( -580810324), INT32_C(-1054241155), INT32_C( 416673383), INT32_C( 1924176623), INT32_C( 1323235160), INT32_C( 659292758), INT32_C(-2101310960), INT32_C( 1303315999)), simde_mm512_set_epi32(INT32_C(-1802468320), INT32_C( 164662920), INT32_C(-1475837914), INT32_C( 83894272), INT32_C( 415174672), INT32_C( 352698384), INT32_C( 805635072), INT32_C( 721682441), INT32_C( 1363149228), INT32_C(-2144794548), INT32_C( 144018532), INT32_C( 1611698283), INT32_C( 1254360136), INT32_C( 17039872), INT32_C( 33554432), INT32_C( 27592214)) }, { simde_mm512_set_epi32(INT32_C( 1317706320), INT32_C( 1095937634), INT32_C(-2042379654), INT32_C( -425062813), INT32_C(-1422676870), INT32_C(-1972727484), INT32_C( 1448617643), INT32_C( 1446030445), INT32_C(-1203372071), INT32_C( 1257548767), INT32_C( 95515950), INT32_C( 288075556), INT32_C( -562902724), INT32_C( 1866018725), INT32_C( -140491543), INT32_C( -853598261)), simde_mm512_set_epi32(INT32_C(-1862602245), INT32_C( 1299263323), INT32_C(-1100697239), INT32_C(-1165132701), INT32_C(-1312528679), INT32_C(-2057483334), INT32_C(-2116201571), INT32_C(-1004874347), INT32_C( -792865239), INT32_C( 167838662), INT32_C(-1158285246), INT32_C( 788705850), INT32_C(-1470598876), INT32_C( -300747724), INT32_C( -732019428), INT32_C(-1060860437)), simde_mm512_set_epi32(INT32_C(-1871683157), INT32_C( 203489561), INT32_C( 941895937), INT32_C( 403009536), INT32_C( 281297537), INT32_C( 85281466), INT32_C(-2121969388), INT32_C(-2146807408), INT32_C( 1085800480), INT32_C( 65536), INT32_C(-1169913792), INT32_C( 771756058), INT32_C( 537407488), INT32_C(-2147299312), INT32_C( 6160660), INT32_C( 12615712)) }, { simde_mm512_set_epi32(INT32_C( 782435122), INT32_C( 1862046610), INT32_C( 2063073020), INT32_C(-2039040635), INT32_C( 1210624813), INT32_C( 1482889596), INT32_C(-1693737823), INT32_C( -742414353), INT32_C( 769657412), INT32_C(-1049696640), INT32_C( 237587070), INT32_C( 1546361918), INT32_C( -364413489), INT32_C(-1858108224), INT32_C(-1524047519), INT32_C( -892082969)), simde_mm512_set_epi32(INT32_C( 1276319466), INT32_C( -348382036), INT32_C( -54124638), INT32_C(-1613416797), INT32_C( -277896350), INT32_C(-1555914365), INT32_C( 1602672291), INT32_C( 612591504), INT32_C(-1670560036), INT32_C( 2118020891), INT32_C(-1204159467), INT32_C( 299945581), INT32_C( 1470077526), INT32_C(-1901456818), INT32_C( 1982811443), INT32_C( 366998615)), simde_mm512_set_epi32(INT32_C( 1074795720), INT32_C(-2130703316), INT32_C(-2080374526), INT32_C( 427885090), INT32_C(-1488519102), INT32_C(-1560239997), INT32_C( 1149518338), INT32_C( 603996176), INT32_C(-1878178664), INT32_C( 1041238299), INT32_C(-1341082623), INT32_C( 29377089), INT32_C( 362316304), INT32_C( 243274254), INT32_C( 1376193554), INT32_C( 353112080)) }, { simde_mm512_set_epi32(INT32_C( -664438730), INT32_C( 1158162569), INT32_C(-1048438639), INT32_C( 819552403), INT32_C( 486427093), INT32_C(-1267830843), INT32_C( 1178270581), INT32_C(-1348447676), INT32_C( -981472284), INT32_C( 1962298807), INT32_C( -393093452), INT32_C(-1754911100), INT32_C(-1506604227), INT32_C( -220324223), INT32_C( 856278899), INT32_C( 15706156)), simde_mm512_set_epi32(INT32_C( -689282393), INT32_C( -261985647), INT32_C(-1390325708), INT32_C(-1552766747), INT32_C(-1576064212), INT32_C( -185898645), INT32_C(-1798232738), INT32_C( -401409831), INT32_C( 1975803231), INT32_C( 1826250001), INT32_C(-1038398890), INT32_C( -306355124), INT32_C(-1154269982), INT32_C( -209110535), INT32_C(-2033491342), INT32_C( -971905248)), simde_mm512_set_epi32(INT32_C( 109707905), INT32_C(-1335737840), INT32_C( 740376612), INT32_C(-2094888860), INT32_C(-1576984024), INT32_C( 1082196010), INT32_C(-1866398710), INT32_C( 1074964633), INT32_C( 813700123), INT32_C( 134746112), INT32_C( 34209858), INT32_C( 1754873928), INT32_C( 419443906), INT32_C( 16851320), INT32_C(-2067652608), INT32_C( -972011776)) }, { simde_mm512_set_epi32(INT32_C(-1519344071), INT32_C( 1556822852), INT32_C(-1382496853), INT32_C( -624683333), INT32_C( 1477411394), INT32_C( -704833096), INT32_C(-1957423151), INT32_C( -471773069), INT32_C( 1263493389), INT32_C( 2117955521), INT32_C(-1143959230), INT32_C( -832581030), INT32_C(-1273834890), INT32_C( -392148704), INT32_C( 1764655366), INT32_C( -721713055)), simde_mm512_set_epi32(INT32_C(-1396008954), INT32_C( -651865449), INT32_C( 452267102), INT32_C( -741136221), INT32_C( 1539744858), INT32_C(-2014766256), INT32_C(-1095604449), INT32_C(-1527666044), INT32_C( -826073132), INT32_C( -8340331), INT32_C( 1447376741), INT32_C( 1608478316), INT32_C( 1253487795), INT32_C( 2056029052), INT32_C( -880457902), INT32_C( -691872315)), simde_mm512_set_epi32(INT32_C( 143267846), INT32_C(-2128330605), INT32_C( 308611156), INT32_C( 18032640), INT32_C( 62923800), INT32_C( 33555008), INT32_C( 883056654), INT32_C( 68201092), INT32_C(-2071978288), INT32_C(-2122280940), INT32_C( 1141188133), INT32_C( 293612580), INT32_C( 1252271233), INT32_C( 302809692), INT32_C(-2105457072), INT32_C( 33576324)) } }; for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) { simde__m512i r = simde_mm512_andnot_epi32(test_vec[i].a, test_vec[i].b); simde_assert_m512i_i32(r, ==, test_vec[i].r); } return 0; } static int test_simde_mm512_mask_andnot_epi32(SIMDE_MUNIT_TEST_ARGS) { const struct { simde__m512i src; simde__mmask16 k; simde__m512i a; simde__m512i b; simde__m512i r; } test_vec[8] = { { simde_mm512_set_epi32(INT32_C(-1056724565), INT32_C( 1525326722), INT32_C( -860629095), INT32_C( 1674345138), INT32_C( -780517906), INT32_C(-1953060088), INT32_C(-1307294727), INT32_C(-1463687440), INT32_C( -675695615), INT32_C( 1308561010), INT32_C( 639253006), INT32_C( -651243687), INT32_C( -612977662), INT32_C( 549809264), INT32_C( 644920842), INT32_C( 1882016760)), UINT16_C(49595), simde_mm512_set_epi32(INT32_C( 1189938329), INT32_C( 1797835672), INT32_C( 297527233), INT32_C( 1889709809), INT32_C( -409509393), INT32_C( 994472936), INT32_C( -666015338), INT32_C( -260985600), INT32_C( 750956055), INT32_C( 1716384261), INT32_C(-1960820967), INT32_C( 548004165), INT32_C( 1158678479), INT32_C( 1692264694), INT32_C( 789910754), INT32_C(-1468927401)), simde_mm512_set_epi32(INT32_C( -428021677), INT32_C( 2072345032), INT32_C(-1760567882), INT32_C( -446864592), INT32_C( 1299362117), INT32_C( 1402678741), INT32_C( -667918085), INT32_C( 1296019907), INT32_C(-1260791809), INT32_C( 1231406525), INT32_C( -414651973), INT32_C( 1577314987), INT32_C( 1453608195), INT32_C( 1199168765), INT32_C( 1764761558), INT32_C(-1053144882)), simde_mm512_set_epi32(INT32_C(-1609504702), INT32_C( 277164096), INT32_C( -860629095), INT32_C( 1674345138), INT32_C( -780517906), INT32_C(-1953060088), INT32_C(-1307294727), INT32_C( 219025603), INT32_C(-1877388824), INT32_C( 1308561010), INT32_C( 1682489506), INT32_C( 1577192106), INT32_C( 312756224), INT32_C( 549809264), INT32_C( 1075841812), INT32_C( 1091176584)) }, { simde_mm512_set_epi32(INT32_C( -922226792), INT32_C( 1177794317), INT32_C(-1987384202), INT32_C( 817250921), INT32_C( 1296662639), INT32_C( 64131133), INT32_C(-1048693918), INT32_C( 1748498328), INT32_C( -392119279), INT32_C(-1074948281), INT32_C( 1219088991), INT32_C( 346956559), INT32_C( -778487174), INT32_C( 2030262893), INT32_C( -325938509), INT32_C( 2088865417)), UINT16_C(43842), simde_mm512_set_epi32(INT32_C( -911190750), INT32_C( -150954698), INT32_C(-2108244068), INT32_C( -219871492), INT32_C( 954142226), INT32_C( -657696450), INT32_C( -40171606), INT32_C( 523799369), INT32_C(-1984820679), INT32_C( -352318109), INT32_C( 1527484465), INT32_C( 1078897849), INT32_C( -979432773), INT32_C( -222789591), INT32_C( -127333602), INT32_C( 1547833861)), simde_mm512_set_epi32(INT32_C( 1706771302), INT32_C(-1876132949), INT32_C( -300867745), INT32_C(-1574226708), INT32_C( 909541228), INT32_C(-1473521559), INT32_C(-2035272090), INT32_C( -843632177), INT32_C(-1617888467), INT32_C( -960934829), INT32_C( -805571508), INT32_C( -811280081), INT32_C(-1033748670), INT32_C(-1374688928), INT32_C( -924697051), INT32_C( -396703151)), simde_mm512_set_epi32(INT32_C( 604701252), INT32_C( 1177794317), INT32_C( 1812004931), INT32_C( 817250921), INT32_C( 102789484), INT32_C( 64131133), INT32_C( 35663940), INT32_C(-1064882042), INT32_C( -392119279), INT32_C( 79249424), INT32_C( 1219088991), INT32_C( 346956559), INT32_C( -778487174), INT32_C( 2030262893), INT32_C( 8533025), INT32_C( 2088865417)) }, { simde_mm512_set_epi32(INT32_C(-1406718947), INT32_C( 276558393), INT32_C( 154803470), INT32_C( 1010355861), INT32_C( -906943422), INT32_C(-1458735792), INT32_C( -135902673), INT32_C( 2125322250), INT32_C( 668612521), INT32_C( 2134097324), INT32_C( 1431164540), INT32_C(-1097880462), INT32_C( 1895279922), INT32_C( -455917584), INT32_C(-1635623774), INT32_C( 1646110584)), UINT16_C(61721), simde_mm512_set_epi32(INT32_C(-1147100012), INT32_C( -529153170), INT32_C(-1710107397), INT32_C( 1085126684), INT32_C( -365628842), INT32_C( 1126939173), INT32_C(-1962930746), INT32_C(-2032518388), INT32_C( -893793955), INT32_C(-1793978656), INT32_C( 353794556), INT32_C( 484459160), INT32_C( 1795576890), INT32_C(-1800969495), INT32_C( 570832120), INT32_C( -805110645)), simde_mm512_set_epi32(INT32_C(-1152323073), INT32_C(-1880366011), INT32_C( 1623795528), INT32_C( 779718762), INT32_C( -950308445), INT32_C( 601329882), INT32_C( 1983067756), INT32_C( 1014514692), INT32_C( 192697146), INT32_C( 1393627685), INT32_C( -618845734), INT32_C(-1526656596), INT32_C( -668243521), INT32_C( 858775967), INT32_C( -874197170), INT32_C(-1013451033)), simde_mm512_set_epi32(INT32_C( 5263723), INT32_C( 260711425), INT32_C( 1623728896), INT32_C( 776994914), INT32_C( -906943422), INT32_C(-1458735792), INT32_C( -135902673), INT32_C( 941638656), INT32_C( 668612521), INT32_C( 2134097324), INT32_C( 1431164540), INT32_C(-1593765596), INT32_C(-1876350587), INT32_C( -455917584), INT32_C(-1635623774), INT32_C( 60097124)) }, { simde_mm512_set_epi32(INT32_C( 73765979), INT32_C( 1196192749), INT32_C( -212227718), INT32_C(-1980699203), INT32_C( -37222007), INT32_C(-1986328859), INT32_C( 1483201456), INT32_C( 129080387), INT32_C( -259597220), INT32_C(-1814466623), INT32_C( 1536667113), INT32_C( 1702406736), INT32_C( 1032855403), INT32_C( -907220805), INT32_C( -744099936), INT32_C( -484286001)), UINT16_C(60398), simde_mm512_set_epi32(INT32_C( 2131878120), INT32_C( -709717494), INT32_C( 677603870), INT32_C( 1110837767), INT32_C( 137332416), INT32_C( 1049147481), INT32_C( -429123521), INT32_C( 562109282), INT32_C( -475857832), INT32_C(-1750530864), INT32_C(-1098694184), INT32_C(-1278646805), INT32_C( 274075622), INT32_C( 310096866), INT32_C( 1944249360), INT32_C(-1457965117)), simde_mm512_set_epi32(INT32_C(-1770120574), INT32_C(-1267999916), INT32_C( 920660290), INT32_C( 1218524275), INT32_C( -813719782), INT32_C( 17574100), INT32_C( 1228269274), INT32_C( -540460196), INT32_C( -544630186), INT32_C( -973323962), INT32_C( -900762472), INT32_C( 1800691074), INT32_C( -934840396), INT32_C(-2024059127), INT32_C( 2050139755), INT32_C(-1648520849)), simde_mm512_set_epi32(INT32_C(-2140268030), INT32_C( 541673812), INT32_C( 377487680), INT32_C(-1980699203), INT32_C( -951052006), INT32_C(-1986328859), INT32_C( 152168128), INT32_C( -565698532), INT32_C( 470352390), INT32_C( 1079263494), INT32_C( 1078735872), INT32_C( 1702406736), INT32_C( -939429872), INT32_C(-2063578103), INT32_C( 135266923), INT32_C( -484286001)) }, { simde_mm512_set_epi32(INT32_C( 359551557), INT32_C( 851518101), INT32_C( 1700885885), INT32_C( 1144006274), INT32_C( 718077661), INT32_C( 1054313754), INT32_C( 65647391), INT32_C(-1867262731), INT32_C( 208941224), INT32_C( 989467762), INT32_C(-1763663368), INT32_C( 732190820), INT32_C( -780985117), INT32_C(-1786203682), INT32_C( -893464048), INT32_C(-1930046056)), UINT16_C( 5280), simde_mm512_set_epi32(INT32_C( 2082802710), INT32_C( 398405458), INT32_C( -610997258), INT32_C( 830342728), INT32_C( -327286830), INT32_C( 1285368273), INT32_C(-1636339073), INT32_C( 1467021210), INT32_C( -637556884), INT32_C( 1464578281), INT32_C( -78771124), INT32_C(-1194071193), INT32_C(-1454776494), INT32_C( 224158188), INT32_C( 1578376173), INT32_C( 2022699384)), simde_mm512_set_epi32(INT32_C(-1580866758), INT32_C( 1705729088), INT32_C(-1204463345), INT32_C( 806420788), INT32_C(-1410408996), INT32_C( 863225653), INT32_C(-2071560363), INT32_C( 1819484417), INT32_C( -246595685), INT32_C( 243263522), INT32_C( 2052176477), INT32_C( 253176681), INT32_C( 1676258794), INT32_C(-1129907739), INT32_C( 395133900), INT32_C( -86934818)), simde_mm512_set_epi32(INT32_C( 359551557), INT32_C( 851518101), INT32_C( 1700885885), INT32_C( 65844), INT32_C( 718077661), INT32_C( 862111268), INT32_C( 65647391), INT32_C(-1867262731), INT32_C( 536877203), INT32_C( 989467762), INT32_C( 1159697), INT32_C( 732190820), INT32_C( -780985117), INT32_C(-1786203682), INT32_C( -893464048), INT32_C(-1930046056)) }, { simde_mm512_set_epi32(INT32_C( -763717484), INT32_C(-1454287993), INT32_C( -815713015), INT32_C( -381645662), INT32_C( 1143121149), INT32_C(-2120634980), INT32_C( -259357121), INT32_C( -593579957), INT32_C(-1529041977), INT32_C(-2065541499), INT32_C( 1009471119), INT32_C( 674532491), INT32_C( -605291509), INT32_C( -802607554), INT32_C( -850350011), INT32_C( 732847081)), UINT16_C(41568), simde_mm512_set_epi32(INT32_C( 1295870302), INT32_C( 336570348), INT32_C(-1662536141), INT32_C(-1054381248), INT32_C( 1593114303), INT32_C(-1017054773), INT32_C(-1409414000), INT32_C( 227338784), INT32_C( 1117509139), INT32_C( 1937140770), INT32_C( 1843080524), INT32_C( 775622876), INT32_C( 903821795), INT32_C(-1108923393), INT32_C( -348808591), INT32_C( 691553406)), simde_mm512_set_epi32(INT32_C( -957741997), INT32_C( -389978329), INT32_C(-1992364300), INT32_C(-1194120095), INT32_C( 1460280679), INT32_C( -461012902), INT32_C( 191451119), INT32_C( 395863574), INT32_C( 2007897293), INT32_C( 647995187), INT32_C( 1812181798), INT32_C(-1288356108), INT32_C(-1946740515), INT32_C(-1688294491), INT32_C( -146679692), INT32_C( -960173252)), simde_mm512_set_epi32(INT32_C(-2101214207), INT32_C(-1454287993), INT32_C( 18368708), INT32_C( -381645662), INT32_C( 1143121149), INT32_C(-2120634980), INT32_C( 82799), INT32_C( -593579957), INT32_C(-1529041977), INT32_C( 76124945), INT32_C( 37410), INT32_C( 674532491), INT32_C( -605291509), INT32_C( -802607554), INT32_C( -850350011), INT32_C( 732847081)) }, { simde_mm512_set_epi32(INT32_C(-1543080560), INT32_C( 326946931), INT32_C( 691349892), INT32_C( 1226829378), INT32_C( 1127061143), INT32_C( 1548237043), INT32_C(-1885371906), INT32_C( 673215002), INT32_C( -2545554), INT32_C(-1367277302), INT32_C( -227991301), INT32_C( 746457208), INT32_C(-1737407854), INT32_C( 1988034150), INT32_C( -605858038), INT32_C( -752579769)), UINT16_C(24718), simde_mm512_set_epi32(INT32_C( 1517976828), INT32_C( 453076709), INT32_C( 1155311084), INT32_C(-1730593997), INT32_C( 2009897302), INT32_C( -813354987), INT32_C( 1160389453), INT32_C(-1543844644), INT32_C( -908777016), INT32_C( 107061968), INT32_C(-1889800585), INT32_C(-1309816398), INT32_C( 1760607631), INT32_C(-1373730647), INT32_C( 1475928392), INT32_C(-1415204909)), simde_mm512_set_epi32(INT32_C( 901302066), INT32_C( 236605933), INT32_C( 1144123725), INT32_C( 765559000), INT32_C( -272466037), INT32_C( 489940181), INT32_C( 1285546635), INT32_C( 894611583), INT32_C(-1280504231), INT32_C( -511809158), INT32_C( 517714821), INT32_C( -458114298), INT32_C(-1583011646), INT32_C( 2050708057), INT32_C(-1873361568), INT32_C( 1295393304)), simde_mm512_set_epi32(INT32_C(-1543080560), INT32_C( 68817160), INT32_C( 2183169), INT32_C( 1226829378), INT32_C( 1127061143), INT32_C( 1548237043), INT32_C(-1885371906), INT32_C( 673215002), INT32_C( 841483793), INT32_C(-1367277302), INT32_C( -227991301), INT32_C( 746457208), INT32_C(-2130378688), INT32_C( 1344361040), INT32_C(-2147089376), INT32_C( -752579769)) }, { simde_mm512_set_epi32(INT32_C( -203532895), INT32_C(-1671983312), INT32_C( -485765980), INT32_C(-1920770849), INT32_C( -87193791), INT32_C( 1659979037), INT32_C(-1337410362), INT32_C( 1209029675), INT32_C( 587197109), INT32_C( -530755740), INT32_C( 281664792), INT32_C( -47077792), INT32_C( -945013045), INT32_C( -166692659), INT32_C( 1790118115), INT32_C( 689330771)), UINT16_C( 7519), simde_mm512_set_epi32(INT32_C( -384323470), INT32_C( 473195364), INT32_C( 206146438), INT32_C(-1217279332), INT32_C(-1088463893), INT32_C( 970520784), INT32_C( -929499045), INT32_C(-1086034653), INT32_C(-1051759609), INT32_C(-1753508816), INT32_C( 1464082608), INT32_C( 492133710), INT32_C( 1610388137), INT32_C(-2026322187), INT32_C(-1721391979), INT32_C( 466414066)), simde_mm512_set_epi32(INT32_C( 1039275088), INT32_C( -195464931), INT32_C(-1467895249), INT32_C( 1829711637), INT32_C( 2006708634), INT32_C( 837542220), INT32_C( -759309790), INT32_C( -498075629), INT32_C( 922280800), INT32_C( 925077084), INT32_C( 1941328295), INT32_C( 27280850), INT32_C( -499921640), INT32_C( 738410205), INT32_C( 972641353), INT32_C( 1011602801)), simde_mm512_set_epi32(INT32_C( -203532895), INT32_C(-1671983312), INT32_C( -485765980), INT32_C( 1208886529), INT32_C( 1082171408), INT32_C( 2294028), INT32_C(-1337410362), INT32_C( 1074499600), INT32_C( 587197109), INT32_C( 536873548), INT32_C( 281664792), INT32_C( 10485904), INT32_C(-1610396400), INT32_C( 671299592), INT32_C( 546852936), INT32_C( 604181505)) } }; for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) { simde__m512i r = simde_mm512_mask_andnot_epi32(test_vec[i].src, test_vec[i].k, test_vec[i].a, test_vec[i].b); simde_assert_m512i_i32(r, ==, test_vec[i].r); } return 0; } static int test_simde_mm512_maskz_andnot_epi32(SIMDE_MUNIT_TEST_ARGS) { const struct { simde__mmask16 k; simde__m512i a; simde__m512i b; simde__m512i r; } test_vec[8] = { { UINT16_C(56303), simde_mm512_set_epi32(INT32_C( 684353163), INT32_C( -624296854), INT32_C(-1626870831), INT32_C( 1693659819), INT32_C( 1814966119), INT32_C( 1428960968), INT32_C( 1709146671), INT32_C(-1269736679), INT32_C( -399245267), INT32_C( 128121852), INT32_C( 623395494), INT32_C( 1817163956), INT32_C( 1991308671), INT32_C( -978886098), INT32_C( 1436967950), INT32_C( 227176170)), simde_mm512_set_epi32(INT32_C( -155316348), INT32_C( 1821995326), INT32_C(-1956349521), INT32_C( 2078645861), INT32_C(-2002962850), INT32_C( 1961273418), INT32_C( 1026886280), INT32_C( 1852456749), INT32_C( 1549356853), INT32_C( 905982506), INT32_C( -562722910), INT32_C( 1231420121), INT32_C( 786944005), INT32_C(-1682464667), INT32_C( 12357782), INT32_C( 913777965)), simde_mm512_set_epi32(INT32_C( -701232892), INT32_C( 605028628), INT32_C( 0), INT32_C( 453282884), INT32_C(-2137976808), INT32_C( 0), INT32_C( 404752512), INT32_C( 1244275748), INT32_C( 340348688), INT32_C( 805306370), INT32_C( -631929600), INT32_C( 0), INT32_C( 138870784), INT32_C( 437289025), INT32_C( 1609872), INT32_C( 846528773)) }, { UINT16_C(56200), simde_mm512_set_epi32(INT32_C( -452164103), INT32_C( 1890508390), INT32_C( 1258638805), INT32_C( -750109723), INT32_C( -513503890), INT32_C( -379667747), INT32_C(-1651966538), INT32_C( 418163645), INT32_C(-1484633406), INT32_C( 128570401), INT32_C(-1432905388), INT32_C(-1460529893), INT32_C( -808466332), INT32_C(-1300168003), INT32_C( 153276923), INT32_C( -912847520)), simde_mm512_set_epi32(INT32_C( 1849401350), INT32_C(-2046167065), INT32_C(-1772087293), INT32_C( 763578781), INT32_C( -59556630), INT32_C( -574235850), INT32_C(-1931079616), INT32_C( 856557360), INT32_C( 1798494574), INT32_C( -255236934), INT32_C( -498039931), INT32_C( 1916101155), INT32_C( 1291737736), INT32_C(-1818740725), INT32_C( 1042711156), INT32_C( 770521823)), simde_mm512_set_epi32(INT32_C( 171122694), INT32_C(-2046746239), INT32_C( 0), INT32_C( 746668056), INT32_C( 471019648), INT32_C( 0), INT32_C( 6684736), INT32_C( 587334656), INT32_C( 1211142444), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 3150472), INT32_C( 0), INT32_C( 0), INT32_C( 0)) }, { UINT16_C(29534), simde_mm512_set_epi32(INT32_C(-1569526022), INT32_C( -566961257), INT32_C( -454262297), INT32_C(-2011970966), INT32_C( 1729229439), INT32_C( 515441803), INT32_C( 1629075756), INT32_C( -633945234), INT32_C(-1517000454), INT32_C(-2129179491), INT32_C(-1082415130), INT32_C( -643068488), INT32_C(-1177678851), INT32_C( 811665360), INT32_C(-1120986687), INT32_C( 1945770944)), simde_mm512_set_epi32(INT32_C( 1206445472), INT32_C( 1685117563), INT32_C( -105634979), INT32_C( 300875900), INT32_C( 1292473590), INT32_C( -154568093), INT32_C( -725481309), INT32_C( 1537059805), INT32_C(-1299234249), INT32_C( 1342055246), INT32_C( 1121196977), INT32_C( -936323200), INT32_C( 284920534), INT32_C( -501374627), INT32_C( 523356394), INT32_C( 2082914622)), simde_mm512_set_epi32(INT32_C( 0), INT32_C( 541065320), INT32_C( 420487704), INT32_C( 300679188), INT32_C( 0), INT32_C( 0), INT32_C(-1799225213), INT32_C( 25766033), INT32_C( 0), INT32_C( 1323836226), INT32_C( 0), INT32_C( 1069568), INT32_C( 3244034), INT32_C(-1038311411), INT32_C( 34652202), INT32_C( 0)) }, { UINT16_C(18467), simde_mm512_set_epi32(INT32_C(-1126901666), INT32_C(-1540993522), INT32_C( -310394649), INT32_C( 1569425965), INT32_C( 1860055197), INT32_C( 1022884520), INT32_C( 886587779), INT32_C( -7751100), INT32_C( 725782952), INT32_C( 1524528742), INT32_C(-1901622691), INT32_C( -205155472), INT32_C( 1297212229), INT32_C(-1562315637), INT32_C(-1561800150), INT32_C( 1969817622)), simde_mm512_set_epi32(INT32_C( 1691822441), INT32_C( -747576101), INT32_C( 526461787), INT32_C(-1551035253), INT32_C( -494445545), INT32_C( 601243904), INT32_C( 1621282220), INT32_C( 87983768), INT32_C( 1749180883), INT32_C( 653596692), INT32_C( 1933605299), INT32_C( 2110990238), INT32_C( 1287872496), INT32_C( -947101027), INT32_C(-1469323630), INT32_C( -103698146)), simde_mm512_set_epi32(INT32_C( 0), INT32_C( 1397792977), INT32_C( 0), INT32_C( 0), INT32_C(-2147398654), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 1900048802), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 134423696), INT32_C(-2003783416)) }, { UINT16_C(10499), simde_mm512_set_epi32(INT32_C(-1800578563), INT32_C( 1189147870), INT32_C( -918534753), INT32_C(-2046784432), INT32_C( 2146267513), INT32_C( 1185116678), INT32_C( 743422455), INT32_C( -958735431), INT32_C(-1272492795), INT32_C(-1993475811), INT32_C( -901911405), INT32_C( -444376352), INT32_C( 1645484254), INT32_C( 1890851846), INT32_C( 632187417), INT32_C( 2142729898)), simde_mm512_set_epi32(INT32_C( -752859034), INT32_C( -661272677), INT32_C( 1736074301), INT32_C( 1246429845), INT32_C(-1327059157), INT32_C(-1760626525), INT32_C( 693999571), INT32_C( 179503183), INT32_C(-1261277577), INT32_C( 2014601419), INT32_C( 45385261), INT32_C( 1333239387), INT32_C( 1950214560), INT32_C( 2050540474), INT32_C( -73887902), INT32_C(-1586317941)), simde_mm512_set_epi32(INT32_C( 0), INT32_C( 0), INT32_C( 641343520), INT32_C( 0), INT32_C(-2147316222), INT32_C( 0), INT32_C( 0), INT32_C( 136380486), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( -636451486), INT32_C(-2143256319)) }, { UINT16_C(17481), simde_mm512_set_epi32(INT32_C( -441498123), INT32_C( 324738064), INT32_C( -27713047), INT32_C( 322022433), INT32_C( -623687192), INT32_C( 441486000), INT32_C(-1091397610), INT32_C( 486920838), INT32_C( 727930899), INT32_C( 134578624), INT32_C( -229821250), INT32_C(-1459771681), INT32_C( 786852212), INT32_C(-1562273484), INT32_C( 592450244), INT32_C( -391708168)), simde_mm512_set_epi32(INT32_C( 792156312), INT32_C( 407601311), INT32_C(-1255558455), INT32_C( 1648353396), INT32_C(-1874603621), INT32_C(-1962724996), INT32_C(-1379808132), INT32_C(-1917277067), INT32_C( -327375348), INT32_C( -266290190), INT32_C( -446684576), INT32_C( -218289365), INT32_C( 1659849163), INT32_C( 313080914), INT32_C( 914897986), INT32_C( -690088867)), simde_mm512_set_epi32(INT32_C( 0), INT32_C( 134250639), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C(-2130497204), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( -266323406), INT32_C( 0), INT32_C( 0), INT32_C( 1074331787), INT32_C( 0), INT32_C( 0), INT32_C( 374871045)) }, { UINT16_C(25655), simde_mm512_set_epi32(INT32_C( 7734189), INT32_C(-1107618186), INT32_C( 1291997837), INT32_C( -657618671), INT32_C( -523204184), INT32_C( 197247571), INT32_C(-1924672781), INT32_C( 1367953812), INT32_C( 1671605226), INT32_C( -667696065), INT32_C( 734579404), INT32_C( -25998720), INT32_C( -791898275), INT32_C(-1848361166), INT32_C( 302446873), INT32_C(-1290034089)), simde_mm512_set_epi32(INT32_C(-2140777278), INT32_C( 1356458144), INT32_C( 990615850), INT32_C( 122581591), INT32_C( 1842174798), INT32_C( 1633161914), INT32_C( 1487544794), INT32_C( 1680890315), INT32_C(-1051319145), INT32_C( 1671869354), INT32_C( -657093416), INT32_C( 76483879), INT32_C( 897241075), INT32_C(-1385812547), INT32_C( 518745683), INT32_C( 1278998383)), simde_mm512_set_epi32(INT32_C( 0), INT32_C( 1073801344), INT32_C( 839485730), INT32_C( 0), INT32_C( 0), INT32_C( 1612189864), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( -803929072), INT32_C( 9176359), INT32_C( 0), INT32_C( 740425869), INT32_C( 216598082), INT32_C( 1277186856)) }, { UINT16_C( 9319), simde_mm512_set_epi32(INT32_C( 359510622), INT32_C( 1667719225), INT32_C( 630674948), INT32_C( 610105763), INT32_C( 20744378), INT32_C(-1334671422), INT32_C( 1934181344), INT32_C( -207473635), INT32_C( -12247390), INT32_C( 935971775), INT32_C( -814870615), INT32_C( 272416728), INT32_C(-2094904434), INT32_C( 118285194), INT32_C( 1770668331), INT32_C(-1463910375)), simde_mm512_set_epi32(INT32_C( 399098366), INT32_C(-1713281213), INT32_C( 2124618772), INT32_C(-1052563089), INT32_C( 1851869047), INT32_C( 2020277970), INT32_C(-1035589842), INT32_C(-1789987668), INT32_C( 733487930), INT32_C( -497440680), INT32_C(-1951336884), INT32_C(-1752937795), INT32_C(-1263292061), INT32_C( 242422), INT32_C( 1531342059), INT32_C( -447099781)), simde_mm512_set_epi32(INT32_C( 0), INT32_C( 0), INT32_C( 1512048656), INT32_C( 0), INT32_C( 0), INT32_C( 1208514576), INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C(-1072684992), INT32_C( 9498692), INT32_C( 0), INT32_C( 0), INT32_C( 200820), INT32_C( 306457792), INT32_C( 1161907298)) } }; for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) { simde__m512i r = simde_mm512_maskz_andnot_epi32(test_vec[i].k, test_vec[i].a, test_vec[i].b); simde_assert_m512i_i32(r, ==, test_vec[i].r); } return 0; } static int test_simde_mm512_andnot_epi64(SIMDE_MUNIT_TEST_ARGS) { const struct { simde__m512i a; simde__m512i b; simde__m512i r; } test_vec[8] = { { simde_mm512_set_epi64(INT64_C( 207721957124820559), INT64_C( 7800065217939756514), INT64_C(-3924116943760495845), INT64_C(-4670511705337769443), INT64_C( 8681164262815197674), INT64_C(-1748050366477277388), INT64_C( 6521714148432251392), INT64_C( -441034964778727222)), simde_mm512_set_epi64(INT64_C( 1906622887772594248), INT64_C(-6188571553716009650), INT64_C( 264280323541139152), INT64_C( 1584607577489802492), INT64_C( 1109502791419861047), INT64_C( 7178327557348084990), INT64_C( 1395553581907359924), INT64_C(-6533533183118051768)), simde_mm512_set_epi64(INT64_C( 1735017709269196800), INT64_C(-9079113909020786676), INT64_C( 153194412888495296), INT64_C( 58731659148920032), INT64_C( 505544490090532885), INT64_C( 565705191721162), INT64_C( 98516792007995572), INT64_C( 293888628881438208)) }, { simde_mm512_set_epi64(INT64_C(-6724768156717290819), INT64_C(-5250906792133082841), INT64_C( 7101763469273509464), INT64_C(-6606445878350250265), INT64_C( -992513133092468415), INT64_C( 6991549638647222936), INT64_C(-6702609966967541799), INT64_C( 6463119549714578187)), simde_mm512_set_epi64(INT64_C( -887590357697526439), INT64_C( 7877951253899372304), INT64_C(-2913340636735054567), INT64_C(-9221955371178601401), INT64_C(-8332586207462320569), INT64_C(-6065729331557277752), INT64_C(-5495188752553836498), INT64_C(-4545091831756868823)), simde_mm512_set_epi64(INT64_C( 5837268749247317312), INT64_C( 5211811456626140688), INT64_C(-7705320311288082175), INT64_C( 1134704830971904), INT64_C( 883853889565267462), INT64_C(-8444247080808460992), INT64_C( 1226140460016631846), INT64_C(-9201976626802327520)) }, { simde_mm512_set_epi64(INT64_C(-8081018174907924542), INT64_C( 6936249846129023242), INT64_C(-1059210610078769383), INT64_C( 1593162574725548027), INT64_C( 2194029932784271057), INT64_C( 2297742112014824027), INT64_C( 6872936620014531062), INT64_C(-4458741002964204726)), simde_mm512_set_epi64(INT64_C( 7389599045220123111), INT64_C(-4734617337151831127), INT64_C(-3688698012661984630), INT64_C( 2942411497108224949), INT64_C( 3088165388972230068), INT64_C(-8598989874996476457), INT64_C(-2925060949778391940), INT64_C( 1600057734617632940)), simde_mm512_set_epi64(INT64_C( 6918937665425915941), INT64_C(-7059040014775614815), INT64_C( 901582149085413506), INT64_C( 2936772469119858692), INT64_C( 2344435893274706212), INT64_C(-9221049868269222524), INT64_C(-9221110889849910264), INT64_C( 1450299817904312484)) }, { simde_mm512_set_epi64(INT64_C(-2851531746227363368), INT64_C( 2067892326136395565), INT64_C( 5955544350840259834), INT64_C(-9215158447496033102), INT64_C(-6496129397571023850), INT64_C( 6580537045822776099), INT64_C(-1881492268188536860), INT64_C( 6477581622128112348)), simde_mm512_set_epi64(INT64_C( 4736931688263401886), INT64_C( -422510099501192510), INT64_C( 3904035851984069712), INT64_C(-1269778779692298262), INT64_C( 7103388094266435672), INT64_C( 8538164081108009860), INT64_C( 7657481289221491954), INT64_C(-6346831563088898420)), simde_mm512_set_epi64(INT64_C( 112770318310899718), INT64_C(-2161639582911543102), INT64_C( 2596786860877701120), INT64_C( 7953586499903062856), INT64_C( 4756998866794012744), INT64_C( 2606779805598826628), INT64_C( 721778983603339282), INT64_C(-6482086895067069440)) }, { simde_mm512_set_epi64(INT64_C( -821005629772787069), INT64_C(-4647973389902912809), INT64_C( 6459900742609080709), INT64_C( -1266809698382208), INT64_C( 701020828809534395), INT64_C(-8547290149729742964), INT64_C( -440779604644636577), INT64_C(-3509307452635316669)), simde_mm512_set_epi64(INT64_C( 8999318376500703433), INT64_C( 1719097867730734351), INT64_C( 360091487853740826), INT64_C(-6254537314592943558), INT64_C( -632347399973673450), INT64_C( 2614451855333869078), INT64_C( 6887846494654494209), INT64_C( 6275950466702179569)), simde_mm512_set_epi64(INT64_C( 604608525006544968), INT64_C( 36136703980768520), INT64_C( 313352018360009242), INT64_C( 137573240890), INT64_C( -720169941136284668), INT64_C( 2596327487390613522), INT64_C( 438118704866436608), INT64_C( 1157566394459521200)) }, { simde_mm512_set_epi64(INT64_C(-5483950330033170066), INT64_C(-4153699507396814554), INT64_C( 1686943364333831141), INT64_C(-6155572369391990976), INT64_C(-2338197867102969548), INT64_C( 4970317907692585902), INT64_C( -659027381808082615), INT64_C(-8301976371410819309)), simde_mm512_set_epi64(INT64_C(-5922203424268985599), INT64_C( 1802271341012641429), INT64_C(-7199161640250473305), INT64_C( 4184910176757162424), INT64_C(-5885970898589897236), INT64_C( 5320604596895707800), INT64_C(-7049806138053003152), INT64_C( 7856069210784274088)), simde_mm512_set_epi64(INT64_C( 869198318683570689), INT64_C( 1801690747234690705), INT64_C(-8640647776843037694), INT64_C( 1153141544681808056), INT64_C( 2328590264702274760), INT64_C( 649785191505621008), INT64_C( 585473076492838960), INT64_C( 6991285376398659752)) }, { simde_mm512_set_epi64(INT64_C( 772369500911491951), INT64_C(-3487181344595680581), INT64_C(-6776954808191866646), INT64_C( 1437133779275187040), INT64_C(-3742444221385296201), INT64_C( 3619551202282748987), INT64_C(-5676058734881350704), INT64_C( 3034639668798379519)), simde_mm512_set_epi64(INT64_C( 7799576852730631653), INT64_C(-4611614721990756478), INT64_C( 4179897201710999091), INT64_C(-6554042946408561565), INT64_C( 7858455943023474684), INT64_C(-4868663260305658784), INT64_C(-6563387696243649675), INT64_C( -252761203575600938)), simde_mm512_set_epi64(INT64_C( 7207351508714783872), INT64_C( 71283551638784), INT64_C( 1873656161226589713), INT64_C(-6626408997484215293), INT64_C( 2382069952524845384), INT64_C(-8339540561327800256), INT64_C( 342318686555209765), INT64_C(-3142946274104309760)) }, { simde_mm512_set_epi64(INT64_C(-6272776462503295319), INT64_C(-8894851852280934479), INT64_C( 6828037840473322695), INT64_C( -784763491569829334), INT64_C(-6956613286547242208), INT64_C(-7641604144835014945), INT64_C( 4137535773895137731), INT64_C( 3122415965305276610)), simde_mm512_set_epi64(INT64_C( 5967240469174938071), INT64_C( 2271146860082105533), INT64_C( 2488999494207974941), INT64_C(-7245269557183082373), INT64_C(-6094983942162054282), INT64_C( 5272800144124782830), INT64_C(-1112016268759137335), INT64_C( 3873297534982922048)), simde_mm512_set_epi64(INT64_C( 5912488079989451094), INT64_C( 1945726568221376524), INT64_C( 2308274862648494616), INT64_C( 747597780979417169), INT64_C( 2308728562190385238), INT64_C( 5191575370143047712), INT64_C(-4571152522202316280), INT64_C( 1477377559112455936)) } }; for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) { simde__m512i r = simde_mm512_andnot_epi64(test_vec[i].a, test_vec[i].b); simde_assert_m512i_i64(r, ==, test_vec[i].r); } return 0; } static int test_simde_mm512_mask_andnot_epi64(SIMDE_MUNIT_TEST_ARGS) { const struct { simde__m512i src; simde__mmask8 k; simde__m512i a; simde__m512i b; simde__m512i r; } test_vec[8] = { { simde_mm512_set_epi64(INT64_C(-8706055201876274534), INT64_C(-2974526497282267924), INT64_C(-5064099105424399850), INT64_C( 4173762680971677425), INT64_C( 5058953897646810163), INT64_C( 3129329827313761969), INT64_C(-7680990319456213473), INT64_C( 3095613893972693568)), UINT8_C(148), simde_mm512_set_epi64(INT64_C( -438459145642420823), INT64_C( 2788318060387771818), INT64_C(-6405634033298828022), INT64_C( 5697280571633296693), INT64_C(-4038706177987584167), INT64_C( 7050984609072161968), INT64_C( 2749018709708772273), INT64_C(-2265592192997989021)), simde_mm512_set_epi64(INT64_C(-1049270424665539045), INT64_C(-5614406584732574076), INT64_C( 631202638299991092), INT64_C(-8590255914187036925), INT64_C(-6307315262773811693), INT64_C(-1209843912248425712), INT64_C(-3872834841544228683), INT64_C(-3085083838104197908)), simde_mm512_set_epi64(INT64_C( 4565176708278802), INT64_C(-2974526497282267924), INT64_C(-5064099105424399850), INT64_C(-9166793916060532222), INT64_C( 5058953897646810163), INT64_C(-8203935250787499264), INT64_C(-7680990319456213473), INT64_C( 3095613893972693568)) }, { simde_mm512_set_epi64(INT64_C(-4842938149095873389), INT64_C( -846085209911123390), INT64_C( 902030110892207375), INT64_C(-8179884512098486778), INT64_C( 7136180633023633249), INT64_C(-7202514001649392691), INT64_C(-4512985345247872566), INT64_C( 6280820093975482096)), UINT8_C( 88), simde_mm512_set_epi64(INT64_C(-5899542268894168412), INT64_C( 5687678929880926481), INT64_C( 754471637334648472), INT64_C( 1530269878614188173), INT64_C(-3481843836368626596), INT64_C( 7214537798473258692), INT64_C( 3186147264512503626), INT64_C(-2220217993706522327)), simde_mm512_set_epi64(INT64_C( 4741426381855247639), INT64_C(-6093431436741802321), INT64_C(-7277776184535270866), INT64_C(-5890238516652006119), INT64_C(-8031043717190201593), INT64_C( 7604814614465185239), INT64_C( 6712821644684838579), INT64_C(-1700024539209227072)), simde_mm512_set_epi64(INT64_C(-4842938149095873389), INT64_C(-6845110636993050962), INT64_C( 902030110892207375), INT64_C(-6178618704551475952), INT64_C( 1152921504676217603), INT64_C(-7202514001649392691), INT64_C(-4512985345247872566), INT64_C( 6280820093975482096)) }, { simde_mm512_set_epi64(INT64_C( -647905387169688868), INT64_C(-8461625299591442725), INT64_C(-4959110866452894415), INT64_C(-6046186632754619075), INT64_C(-1792277330244185216), INT64_C( 7899374623587606112), INT64_C(-2530906147097710338), INT64_C(-3452464982464189359)), UINT8_C(234), simde_mm512_set_epi64(INT64_C( 1092825191169264761), INT64_C( 518154175979275913), INT64_C(-2540128939765803497), INT64_C( 7206989642204137224), INT64_C( 5053971549089664110), INT64_C( 275130895293265200), INT64_C( 5870095287105445532), INT64_C( 3766077764635497461)), simde_mm512_set_epi64(INT64_C( 4726923138274336458), INT64_C( 3036293318033390010), INT64_C( 3265833753663381966), INT64_C(-5548402770380826836), INT64_C(-1910939043053590920), INT64_C(-2803972634053834044), INT64_C( 8571307896088376800), INT64_C(-2906367800591944553)), simde_mm512_set_epi64(INT64_C( 4652501007819903618), INT64_C( 2883153157893175602), INT64_C( 2395932937578488264), INT64_C(-6046186632754619075), INT64_C(-6820513618777071088), INT64_C( 7899374623587606112), INT64_C( 2774537390188929376), INT64_C(-3452464982464189359)) }, { simde_mm512_set_epi64(INT64_C( 1235103765186305905), INT64_C( 8251648155281492223), INT64_C( 6607793927948629202), INT64_C(-4956133557414585628), INT64_C( -962568210701922461), INT64_C( 7520783669412628517), INT64_C( 4493695514722238610), INT64_C( 6191552237626999876)), UINT8_C(175), simde_mm512_set_epi64(INT64_C(-1999731829913464848), INT64_C( 7072204574593617968), INT64_C( -329416891633690006), INT64_C( 4219653511875682573), INT64_C(-5631405021388401918), INT64_C( -157450572284011331), INT64_C(-6448890677231800514), INT64_C(-7780641104162742337)), simde_mm512_set_epi64(INT64_C( 261057906798578959), INT64_C(-4964336716206621793), INT64_C(-2469501117696455323), INT64_C( 2339328587648411167), INT64_C( 8220620103791574591), INT64_C( 273538927111600315), INT64_C(-3298288074488883789), INT64_C(-8357787233131660724)), simde_mm512_set_epi64(INT64_C( 252325274594050063), INT64_C( 8251648155281492223), INT64_C( 329344140649481477), INT64_C(-4956133557414585628), INT64_C( 4757067868831771709), INT64_C( 147282005282398210), INT64_C( 5780933484690985089), INT64_C( 577059746971148352)) }, { simde_mm512_set_epi64(INT64_C(-4285851555602414983), INT64_C(-8492982904341423564), INT64_C(-2837093742585682248), INT64_C( 267283033869441308), INT64_C( 4311088349833897908), INT64_C( -647706517356585524), INT64_C(-3770716194274572842), INT64_C(-8566807519504738391)), UINT8_C( 75), simde_mm512_set_epi64(INT64_C(-6282230583383062251), INT64_C(-7841791912404359359), INT64_C(-7579575622870303941), INT64_C(-2922061146712111361), INT64_C( 4606944383693507801), INT64_C(-6882069134795290712), INT64_C(-4540648442557822523), INT64_C( 8626282944079879495)), simde_mm512_set_epi64(INT64_C(-1823698107073259294), INT64_C( 8029233569224881686), INT64_C( 46900467487790247), INT64_C( 8663098726891022114), INT64_C( 2596646339415618602), INT64_C( 7059567741718714192), INT64_C( 7446336952031093968), INT64_C( 16931348739669095)), simde_mm512_set_epi64(INT64_C(-4285851555602414983), INT64_C( 7800656914580246550), INT64_C(-2837093742585682248), INT64_C( 267283033869441308), INT64_C( 88250757154), INT64_C( -647706517356585524), INT64_C( 2810971851134903312), INT64_C( 2252181026775072)) }, { simde_mm512_set_epi64(INT64_C( 2037127205197222183), INT64_C( 3451898891201360501), INT64_C( 1455211247092394628), INT64_C( 2206658725580708086), INT64_C( 5349364315141837270), INT64_C( 7849256443344717184), INT64_C( 4856719246957022704), INT64_C(-4923001172558722698)), UINT8_C(149), simde_mm512_set_epi64(INT64_C( 6411014556179012579), INT64_C(-8290562023531042118), INT64_C( 3513406971994598159), INT64_C( 170515694744852127), INT64_C( 7762613428125762288), INT64_C( 4486051683696872920), INT64_C(-3347799382542858009), INT64_C( 7877354972766519961)), simde_mm512_set_epi64(INT64_C( 2384233607786009160), INT64_C( 7136321197786935066), INT64_C(-2775012291419678803), INT64_C( 1447324989515017380), INT64_C(-5436087904826886612), INT64_C( 7888585058472078205), INT64_C(-7864278168616859201), INT64_C( 8559884086409161720)), simde_mm512_set_epi64(INT64_C( 2379589521848270856), INT64_C( 3451898891201360501), INT64_C( 1455211247092394628), INT64_C( 1441191875528796192), INT64_C( 5349364315141837270), INT64_C( 4699579053875929637), INT64_C( 4856719246957022704), INT64_C( 1335881482333858144)) }, { simde_mm512_set_epi64(INT64_C( -626073311570320561), INT64_C( 4678237318537021585), INT64_C( 7326175960335696621), INT64_C( 2614088339478761539), INT64_C(-3404519381245739218), INT64_C( 8481274767690754747), INT64_C(-4945537623263429760), INT64_C( 5945167030889147721)), UINT8_C(209), simde_mm512_set_epi64(INT64_C( 1396956538408270925), INT64_C( 433531675836732237), INT64_C(-2740776246441943234), INT64_C( 627773489989817177), INT64_C( 2334235533617502306), INT64_C( 5200994462656867787), INT64_C( 6058971438237170661), INT64_C(-1718043134590880356)), simde_mm512_set_epi64(INT64_C( 6582702301060698834), INT64_C(-6620728110496909408), INT64_C(-2674893574601157335), INT64_C(-3191892667818640289), INT64_C(-1755995440120031315), INT64_C(-9164966479234216120), INT64_C( -811539623059483440), INT64_C(-8790398035654865383)), simde_mm512_set_epi64(INT64_C( 5194902496598033042), INT64_C(-6910140186789469024), INT64_C( 7326175960335696621), INT64_C(-3242571914706752506), INT64_C(-3404519381245739218), INT64_C( 8481274767690754747), INT64_C(-4945537623263429760), INT64_C( 432964590381304321)) }, { simde_mm512_set_epi64(INT64_C(-6743158443935274483), INT64_C( -109319504177728220), INT64_C(-4028288193005214442), INT64_C( 132288430860812468), INT64_C( 917336920958928215), INT64_C(-8592087087533075804), INT64_C( -911564553413882344), INT64_C(-5778334739542351628)), UINT8_C(132), simde_mm512_set_epi64(INT64_C(-8373098054511418162), INT64_C( 7896680406183363835), INT64_C( 4931162839211744539), INT64_C(-7345169465412510410), INT64_C(-7349547769362151281), INT64_C( 1089692206936889), INT64_C( 6524506004040415129), INT64_C( 6226593529101379713)), simde_mm512_set_epi64(INT64_C( 3458147115787789114), INT64_C( 7210094384770191006), INT64_C( 7088560670460655534), INT64_C( -803268445524244375), INT64_C( 4723424603414443741), INT64_C( 1370109689785890561), INT64_C(-4376650697011830162), INT64_C( -620804834547376669)), simde_mm512_set_epi64(INT64_C( 2607874799996928816), INT64_C( -109319504177728220), INT64_C(-4028288193005214442), INT64_C( 132288430860812468), INT64_C( 917336920958928215), INT64_C( 1369094837600650240), INT64_C( -911564553413882344), INT64_C(-5778334739542351628)) } }; for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) { simde__m512i r = simde_mm512_mask_andnot_epi64(test_vec[i].src, test_vec[i].k, test_vec[i].a, test_vec[i].b); simde_assert_m512i_i64(r, ==, test_vec[i].r); } return 0; } static int test_simde_mm512_maskz_andnot_epi64(SIMDE_MUNIT_TEST_ARGS) { const struct { simde__mmask8 k; simde__m512i a; simde__m512i b; simde__m512i r; } test_vec[8] = { { UINT8_C( 7), simde_mm512_set_epi64(INT64_C(-2016264017930850215), INT64_C( 6207900603916400351), INT64_C( 7392720324711365837), INT64_C( 8770333430120422633), INT64_C( 490532205378570002), INT64_C(-6106476949393880649), INT64_C(-1854090463849988422), INT64_C( 2161894352221900559)), simde_mm512_set_epi64(INT64_C( 2471053143203888378), INT64_C( 4307108638624930374), INT64_C( 8813537095665060151), INT64_C( -722272124812023485), INT64_C( -967288076808354317), INT64_C(-6013850093851417513), INT64_C( 3331958923341291108), INT64_C( -281534168919433716)), simde_mm512_set_epi64(INT64_C( 0), INT64_C( 0), INT64_C( 0), INT64_C( 0), INT64_C( 0), INT64_C( 327214808695383104), INT64_C( 592518518720905284), INT64_C(-2299289876066988032)) }, { UINT8_C( 76), simde_mm512_set_epi64(INT64_C(-7188491746248886702), INT64_C( 3795103503776882624), INT64_C( 8025930014425820340), INT64_C(-7929605366413196523), INT64_C( 5924420044782879602), INT64_C(-3302350069387149227), INT64_C(-1821341009738891830), INT64_C(-6812922588519498817)), simde_mm512_set_epi64(INT64_C(-1266328346505933550), INT64_C( 1669938728598205410), INT64_C(-7350359895777029108), INT64_C( 9139543262716722238), INT64_C(-9200593584210926828), INT64_C(-3449434666635797941), INT64_C( 4314658246940308870), INT64_C( -478133805478226079)), simde_mm512_set_epi64(INT64_C( 0), INT64_C( 217316721059520546), INT64_C( 0), INT64_C( 0), INT64_C(-9205313376526131196), INT64_C( 5910164412938), INT64_C( 0), INT64_C( 0)) }, { UINT8_C(148), simde_mm512_set_epi64(INT64_C( 2173045647004856331), INT64_C(-9109531323294262314), INT64_C(-2493109132018654878), INT64_C( 6270825741977490200), INT64_C( 8719769943602297687), INT64_C(-4201021528893071940), INT64_C( 9011627797455533120), INT64_C( 6620301637478416060)), simde_mm512_set_epi64(INT64_C(-4851330938418837166), INT64_C( 8567660546009495156), INT64_C(-2946935282469126440), INT64_C(-3944680176869437518), INT64_C(-3189291857021003507), INT64_C( 852944387991302704), INT64_C( 5948575888921546761), INT64_C( 4930911444432807162)), simde_mm512_set_epi64(INT64_C(-6880224560885528240), INT64_C( 0), INT64_C( 0), INT64_C(-8628461452576158558), INT64_C( 0), INT64_C( 739720922782507520), INT64_C( 0), INT64_C( 0)) }, { UINT8_C( 97), simde_mm512_set_epi64(INT64_C( -924406031683798297), INT64_C( 1082742291630099615), INT64_C( 3950666752159487194), INT64_C( 8443851551588188807), INT64_C( 5838662214875022266), INT64_C(-6073322957639126750), INT64_C( 1174103819847041898), INT64_C( 693926700598930845)), simde_mm512_set_epi64(INT64_C( 917406711858321823), INT64_C(-2954398701286057389), INT64_C( 580508427727522845), INT64_C(-4656281121400174897), INT64_C(-3028496641912979897), INT64_C( 6357018899588818011), INT64_C( 5102737467710367164), INT64_C( 1099306012957445482)), simde_mm512_set_epi64(INT64_C( 0), INT64_C(-3388587049163943360), INT64_C( 579945122294155269), INT64_C( 0), INT64_C( 0), INT64_C( 0), INT64_C( 0), INT64_C( 450505469795237986)) }, { UINT8_C(210), simde_mm512_set_epi64(INT64_C( 4586733821042914141), INT64_C(-6562128612845469564), INT64_C(-5088971089241108691), INT64_C( 4584509013736167571), INT64_C( 7541158438725419821), INT64_C(-6577447853347647248), INT64_C( 8000393737083977627), INT64_C(-3838210298295657456)), simde_mm512_set_epi64(INT64_C(-3810154219907114893), INT64_C( 1390546034528663938), INT64_C(-7278948997228835946), INT64_C(-6400015342302035742), INT64_C(-5025729231272531675), INT64_C( -727304839347940122), INT64_C( 5841837551579279726), INT64_C(-6256756974903097514)), simde_mm512_set_epi64(INT64_C(-4604784503990056926), INT64_C( 1369116277674653954), INT64_C( 0), INT64_C(-9214222637876019104), INT64_C( 0), INT64_C( 0), INT64_C( 1157530966609723492), INT64_C( 0)) }, { UINT8_C(171), simde_mm512_set_epi64(INT64_C( 2614947921582018787), INT64_C(-4851561713766233132), INT64_C(-9121795968209612126), INT64_C( 784084589312935430), INT64_C( 3206750945776122646), INT64_C( 2956179786298753960), INT64_C( 5449808455866424595), INT64_C( 314020808054955060)), simde_mm512_set_epi64(INT64_C( 420924716680581769), INT64_C( 634178498505834615), INT64_C(-2861544115657502554), INT64_C(-7045300656768620560), INT64_C( 3724569018417139461), INT64_C( 7684038547017787602), INT64_C( 4661447160348399809), INT64_C( 8780209518656646828)), simde_mm512_set_epi64(INT64_C( 114072716522619400), INT64_C( 0), INT64_C( 6341349786890797060), INT64_C( 0), INT64_C( 1382694151414203393), INT64_C( 0), INT64_C( 4574054841401536), INT64_C( 8755017506026431112)) }, { UINT8_C(225), simde_mm512_set_epi64(INT64_C(-3697729744057786539), INT64_C(-2459882991819182775), INT64_C( 6065837030945349572), INT64_C( 8437722782224197038), INT64_C( 1700648554253726454), INT64_C(-4293199790864835662), INT64_C( 6581402203822969825), INT64_C(-6231169800047978744)), simde_mm512_set_epi64(INT64_C( 8326587265612039337), INT64_C( 6780517041864519531), INT64_C(-7817226648374121699), INT64_C(-3500732471169369834), INT64_C( 1796671772602068213), INT64_C( 1885612779837593615), INT64_C(-6040660189943903948), INT64_C( 675381603587673544)), simde_mm512_set_epi64(INT64_C( 3675211075874242728), INT64_C( 144396663190979106), INT64_C(-8970746854625959911), INT64_C( 0), INT64_C( 0), INT64_C( 0), INT64_C( 0), INT64_C( 25068767419582656)) }, { UINT8_C(182), simde_mm512_set_epi64(INT64_C(-3172486234888138881), INT64_C( 3556874573334620913), INT64_C(-7174772828994546158), INT64_C( -768272060832782008), INT64_C(-7948383401788128664), INT64_C(-3962825949835743119), INT64_C(-4177466042331622142), INT64_C(-4344904134560657490)), simde_mm512_set_epi64(INT64_C( 3131865100191000199), INT64_C( 3277342092864256055), INT64_C( 2638156770812089616), INT64_C(-5499406567603861656), INT64_C( 5836973950118592576), INT64_C(-4232123399129603430), INT64_C( 8656431254350139121), INT64_C(-8853511068983619849)), simde_mm512_set_epi64(INT64_C( 2884148896870883456), INT64_C( 0), INT64_C( 2346526704673489152), INT64_C( 191440763308049952), INT64_C( 0), INT64_C( 307450048046744202), INT64_C( 4044604204229069553), INT64_C( 0)) } }; for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) { simde__m512i r = simde_mm512_maskz_andnot_epi64(test_vec[i].k, test_vec[i].a, test_vec[i].b); simde_assert_m512i_i64(r, ==, test_vec[i].r); } return 0; } SIMDE_TEST_FUNC_LIST_BEGIN SIMDE_TEST_FUNC_LIST_ENTRY(mm512_andnot_ps) SIMDE_TEST_FUNC_LIST_ENTRY(mm512_mask_andnot_ps) SIMDE_TEST_FUNC_LIST_ENTRY(mm512_maskz_andnot_ps) SIMDE_TEST_FUNC_LIST_ENTRY(mm512_andnot_pd) SIMDE_TEST_FUNC_LIST_ENTRY(mm512_mask_andnot_pd) SIMDE_TEST_FUNC_LIST_ENTRY(mm512_maskz_andnot_pd) SIMDE_TEST_FUNC_LIST_ENTRY(mm512_andnot_si512) SIMDE_TEST_FUNC_LIST_ENTRY(mm512_andnot_epi32) SIMDE_TEST_FUNC_LIST_ENTRY(mm512_mask_andnot_epi32) SIMDE_TEST_FUNC_LIST_ENTRY(mm512_maskz_andnot_epi32) SIMDE_TEST_FUNC_LIST_ENTRY(mm512_andnot_epi64) SIMDE_TEST_FUNC_LIST_ENTRY(mm512_mask_andnot_epi64) SIMDE_TEST_FUNC_LIST_ENTRY(mm512_maskz_andnot_epi64) SIMDE_TEST_FUNC_LIST_END #include