authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2025-03-25 10:08:46-04:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2025-04-09 20:14:12-04:00
log426684b2f84bfa6389553c8dfee921875eb8c888
treeae055cd5822f3696a43924a8c7d11286e96c6da9
parentddcf6fcdf3452a4a7d55a27e7112e794447120b6

behavior: fix issues with x86_64 backend tests

* Oops, I accidentally disabled most of them. * Cleanup some workarounds for now closed issues. * Test binary operations with more scalar integer types.

2 files changed, 241 insertions(+), 429 deletions(-)

test/behavior/x86_64.zig+3-1
...@@ -7,6 +7,8 @@ test {...@@ -7,6 +7,8 @@ test {
7 if (builtin.object_format == .macho) return error.SkipZigTest;7 if (builtin.object_format == .macho) return error.SkipZigTest;
8 // COFF linker does not support the new backend.8 // COFF linker does not support the new backend.
9 if (builtin.object_format == .coff) return error.SkipZigTest;9 if (builtin.object_format == .coff) return error.SkipZigTest;
10 _ = @import("x86_64/math.zig");10 _ = @import("x86_64/binary.zig");
11 _ = @import("x86_64/cast.zig");
11 _ = @import("x86_64/mem.zig");12 _ = @import("x86_64/mem.zig");
13 _ = @import("x86_64/unary.zig");
12}14}
test/behavior/x86_64/binary.zig+238-428
...@@ -81,26 +81,88 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela...@@ -81,26 +81,88 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela
81 );81 );
82 }82 }
83 fn testInts() !void {83 fn testInts() !void {
84 try testArgs(i4, 0x3, 0x2);84 try testArgs(i1, 0x0, -0x1);
85 try testArgs(u4, 0xe, 0x6);85 try testArgs(u1, 0x1, 0x1);
86 try testArgs(i8, 0x48, 0x6c);86 try testArgs(i2, 0x0, -0x2);
87 try testArgs(u8, 0xbb, 0x43);87 try testArgs(u2, 0x2, 0x1);
88 try testArgs(i16, -0x0fdf, 0x302e);88 try testArgs(i3, 0x1, -0x3);
89 try testArgs(u16, 0xb8bf, 0x626d);89 try testArgs(u3, 0x6, 0x1);
90 try testArgs(i32, -0x6280178f, 0x6802c034);90 try testArgs(i4, 0x6, 0x3);
91 try testArgs(u32, 0x80d7a2c6, 0xbff6a402);91 try testArgs(u4, 0x8, 0x5);
92 try testArgs(i64, 0x0365a53b8ee0c987, -0x1bb6d3013500a7d2);92 try testArgs(i5, -0x9, -0xd);
93 try testArgs(u64, 0x71138bc6b4a38898, 0x1bc4043de9438c7b);93 try testArgs(u5, 0x5, 0x13);
94 try testArgs(i128, 0x76d428c46cdeaa2ac43de8abffb22f6d, 0x427f7545abe434a12544fdbe2a012889);94 try testArgs(i7, 0x34, 0x1d);
95 try testArgs(u128, 0xe05fc132ef2cd8affee00a907f0a851f, 0x29f912a72cfc6a7c6973426a9636da9a);95 try testArgs(u7, 0x31, 0x56);
96 try testArgs(i256, -0x53d4148cee74ea43477a65b3daa7b8fdadcbf4508e793f4af113b8d8da5a7eb6, -0x30dcbaf7b9b7a3df033694e6795444d842fb0b8f79bc18b3ea8a6b7ccad3ea91);96 try testArgs(i8, -0x57, -0x70);
97 try testArgs(u256, 0xb7935f5c2f3b1ae7a422c0a7c446884294b7d5370bada307d2fe5a4c4284a999, 0x310e6e196ba4f143b8d285ca6addf7f3bb3344224aff221b27607a31e148be08);97 try testArgs(u8, 0x12, 0xd6);
98 try testArgs(i258, -0x0eee283365108dbeea0bec82f5147418d8ffe86f9eed00e414b4eccd65c21239a, -0x122c730073fc29a24cd6e3e6263566879bc5325d8566b8db31fcb4a76f7ab95eb);98 try testArgs(i9, -0x8a, -0xa0);
99 try testArgs(u258, 0x186d5ddaab8cb8cb04e5b41e36f812e039d008baf49f12894c39e29a07796d800, 0x2072daba6ffad168826163eb136f6d28ca4360c8e7e5e41e29755e19e4753a4f5);99 try testArgs(u9, 0xf8, 0x95);
100 try testArgs(i495, 0x2fe6bc5448c55ce18252e2c9d44777505dfe63ff249a8027a6626c7d8dd9893fd5731e51474727be556f757facb586a4e04bbc0148c6c7ad692302f46fbd, -0x016a358821ef8240172f3a08e8830c06e6bcf2225f5f4d41ed42b44d249385f55cc594e1278ecac31c73faed890e5054af1a561483bb1bb6fb1f753514cf);100 try testArgs(i15, -0x790, 0x116f);
101 try testArgs(u495, 0x6eaf4e252b3bf74b75bac59e0b43ca5326bad2a25b3fdb74a67ef132ac5e47d72eebc3316fb2351ee66c50dc5afb92a75cea9b0e35160652c7db39eeb158, 0x49fbed744a92b549d8c05bb3512c617d24dd824f3f69bdf3923bc326a75674b85f5b828d2566fab9c86f571d12c2a63c9164feb0d191d27905533d09622a);101 try testArgs(u15, 0x548b, 0x4cd6);
102 try testArgs(i512, -0x3a6876ca92775286c6e1504a64a9b8d56985bebf4a1b66539d404e0e96f24b226f70c4bcff295fdc2043b82513b2052dc45fd78f7e9e80e5b3e101757289f054, 0x5080c516a819bd32a0a5f0976441bbfbcf89e77684f1f10eb326aeb28e1f8d593278cff60fc99b8ffc87d8696882c64728dd3c322b7142803f4341f85a03bc10);102 try testArgs(i16, -0x2d17, -0x5c17);
103 try testArgs(u512, 0xe5b1fedca3c77db765e517aabd05ffc524a3a8aff1784bbf67c45b894447ede32b65b9940e78173c591e56e078932d465f235aece7ad47b7f229df7ba8f12295, 0x8b4bb7c2969e3b121cc1082c442f8b4330f0a50058438fed56447175bb10178607ecfe425cb54dacc25ef26810f3e04681de1844f1aa8d029aca75d658634806);103 try testArgs(u16, 0xadc0, 0xb223);
104 try testArgs(i17, 0xe543, 0xaad5);
105 try testArgs(u17, 0x9515, 0xa3c1);
106 try testArgs(i31, -0x28858a2f, 0x369e917a);
107 try testArgs(u31, 0x32bab794, 0x75464e7f);
108 try testArgs(i32, 0x79e74e44, 0x61fe4ab1);
109 try testArgs(u32, 0xc82f8e2, 0x5dde37e2);
110 try testArgs(i33, -0xa4cbaa13, -0x4d20ee61);
111 try testArgs(u33, 0x17461d437, 0x16cbc228f);
112 try testArgs(i63, 0x333220e16b1e53fb, 0x121a0d970a5a4504);
113 try testArgs(u63, 0x2dcd94e2ae4aa2af, 0x5f401e6e287a4dd7);
114 try testArgs(i64, 0x17e6bb7d8d430410, 0x760d42736f4b445c);
115 try testArgs(u64, 0x430970421452be50, 0xb4b5e96f4183b5fc);
116 try testArgs(i65, 0xb4477484679a6576, 0x21c9a3100d35de49);
117 try testArgs(u65, 0x1b7ffa914193a316, 0x6751268790308460);
118 try testArgs(i95, 0xd573e2100686f5df03aa29f, 0x4f7c921eb980b43a554b763);
119 try testArgs(u95, 0x62791162d2740f3ae84a9fcf, 0x1b6e66ae70bb9785a2118ecc);
120 try testArgs(i96, -0x6dc72375264ab887ea6073d5, 0x357ca705a600e94f6dd114c9);
121 try testArgs(u96, 0x77867877aae9bc90b2b57ce7, 0xd9a5352eb86061b67a61b212);
122 try testArgs(i97, 0x76f421e0ccfc6e7531c03ad5, 0x6775cdacdfca5455771c0dae);
123 try testArgs(u97, 0xaeb79499018e490b6aa2a5fc, 0x6cf53b08068cf25bdc307606);
124 try testArgs(i127, -0xc6de705251f892f8ba6a4f10aee0c7, -0x1598d3c6fd635ec0796a584af7479027);
125 try testArgs(u127, 0x5b3ec94f88a61621be2f745e90153390, 0x72456ad6a7ef886decf13195a50ca4d6);
126 try testArgs(i128, -0x44570544f745b89beb111016359577d5, -0x48904e59a05caede0974f916efba61a0);
127 try testArgs(u128, 0x3b14f670f6ac712d087a9ec7b15394d2, 0x19b69cb71a6763a9dc5baec5bb818450);
128 try testArgs(i129, 0xd58a765abb324106d83362db47fc374d, 0x548642028e222abf2ee21a1999a8ac5f);
129 try testArgs(u129, 0x1144fb18eba36e437bc45a73bbe25f10e, 0xdc7cb5f65f5127b00a842adf3f5a5231);
130 try testArgs(i159, 0x3121c6ae74c46679386f2051ee0520d9264e01cf, -0x34fec2cf28ce549281a5dc79f7ed834483f418af);
131 try testArgs(u159, 0x2e479684775f86a8ff1a9c6fab9022b18a6f6be4, 0x63c77ea3d97ad2c715fd13db972e678fefe3efba);
132 try testArgs(i160, 0x1e55924219aa114ef8d2b3193d09ae7849a3e551, -0x13f1ff6a62e562f7b78559f032bb05b2e2d15748);
133 try testArgs(u160, 0x8ed3d206fcc59350cf23dcd9e042eb36bcc63e52, 0xc88e1c5a42abf98aee0a3479e7f4fe88ab53b6f2);
134 try testArgs(i161, -0xd3d6885c0df36bd513aca744561684d12a62f044, 0xa519d3c4a7ea2e4768d840ec8641995689de6116);
135 try testArgs(u161, 0x10b4afdfa36471c77a2b629ef85e1289b798161b, 0x15e89da33c31ec01adf6921b8d13bc943f139fba2);
136 try testArgs(i191, 0x2436122b85c017733d9d28347544298d148223e1d9cbf0a2, 0x46b80688a0e0b59e66628940772893fcce258d3da7c0193);
137 try testArgs(u191, 0x3d00a8da821de44f98fa70d298bda9e25f99d8f54936d09f, 0x4ad4440686be966599985094f16e364c961503214ff86519);
138 try testArgs(i192, 0x124d0580271a71745f842e3a81d8cb6154c7f6f4b8b0cf39, -0x5bae9d7d471e609f1570a3f9805b80c4d672a086d44107eb);
139 try testArgs(u192, 0x3b882677dc62d5c76cc942bea0d2f72925ff0a9e234d7ce9, 0x5d7825e3f2254bf214257ebe84716dc88fde6c9563218ac4);
140 try testArgs(i193, 0x9c143db83d19c8fff1c23f3c93b103eaf8be02910a1cbe5, 0xcfa1059ba12508d2ff3ef9763ce8224eb1d0a0f22def289d);
141 try testArgs(u193, 0x635890f170da79117490445db595c1f2bb5a5cf640abc8e8, 0xdb5a2a6a3c6db7f43949123f0886cb93bbbed2d5dd7690e);
142 try testArgs(i223, -0x25e4a8d454e5957a9906a66a0c02ad53e727e3e18ca4b8be98561306, 0x8d6d3977afce56a5dffc537de19d4c73f2e5603699373d010e51d10);
143 try testArgs(u223, 0x5721636a3c6d271fe9eb08420d29454775666266801a7d23d61075be, 0x7e573fd8dcbd6dc780d13b61d5255cae790ea697d1c9a5479fa51ee);
144 try testArgs(i224, 0x51f97aaa96493aaed2677294bfde0715d69d961fef97a557ae9dbc84, 0x306d9305e2d5162dd0ce0454d2daaa54879b11a77386bb03e779a23e);
145 try testArgs(u224, 0xdc7eb2070c048b6fd22d6df97b3ef5e9fc5f28d8d229710333defecd, 0x475662887f29712bc927fae9de37cd842d883682a26e653d7b3f2ed9);
146 try testArgs(i225, -0x9b3dba4fe2026e8d90d9be4b8b2334034d2ae23569c4e1a3a311925d, -0x2ae4c074cff2da1e7fcab269ce6da7f4a9f763062f97526c0b4abf34);
147 try testArgs(u225, 0xb36dd536afb070e9be7fba5eaf548fe741182cabaf9f9510f86b3ffb, 0x1f35e5728f29e2566afd9a325beaf17ebf5f894e744825bdd56bb12d0);
148 try testArgs(i255, 0x2db696171e4045e17cb2a96763ff2728b459e5bf9ade6e9cd118bbc4f91aca89, -0x1580d80086052560091fe42077ce66c45d7e93173f74327f44fec7b63ed9f2aa);
149 try testArgs(u255, 0x392b3639141d03da49d576fd0ce498e1bafb8fc032604e68e91e589f6d2a05a3, 0x46f60e500f01bdbe18f71fb8dbef0395245a94f55421637ca50eb8922a751977);
150 try testArgs(i256, -0x2f3c22cb1d12628b2eccd705f1526d8a91258183742d9521bdc97d943591d87c, -0x864d3ef8b592e041289dbb54def60ceee798673138aa750a5efdaffcd42b62d);
151 try testArgs(u256, 0x25776f0ce5f3c6761eec99ace965f9162e9416e4d4e298674e5723b64e443528, 0xb1ee7fd2efaddd5d25eea49bde34e53c40d59221757f17d53d9a4c9ab7eca3f5);
152 try testArgs(i257, 0xd599706e1a09217f1f698520993d2b62ee877a4150bd8db6e5546657900dc7ce, 0x51d0faef82bb0878a4fd4331dcaec6ed57156acc2377c7e301eca6989e897346);
153 try testArgs(u257, 0xb0d42105facc0db629c5a65d6e975d25163841051efb1e187b70015f8c9e22ba, 0xf0eb6d0529e15fac6e97e850f50b7bf5056c9010345884926bf056590ddf3187);
154 try testArgs(i511, 0x23c07fa26fea1595de6e368cb42d05696562d8fb05a2aab6b304c443275071a31684a369f69f30fd53223017669dcf8157f7ff1bcda05ad28dcf46c92f7f2bd5, 0x44884ae45727d2c249b280cbb6795f237015f1082ade12167c52f0318422b3ae9c1753263011878e3fa4fce0db683efdd249e325188a40ccb959bd6bf050fbf);
155 try testArgs(u511, 0x642d98a41a7cc71dab7845c2c568696d0d77733c266846019756937cc29382d46074c8eb86502f4855c35f6354e51d98c41674166a9a7385ab94b0c7a63f58c0, 0x3cc5230f530a12c8cae29654e55a6d7cd26fe7606beed5c9a8fef443b107bf18dd8cc034683b47a213a3a885abd7048188713e8e7b9157145cd24748e256f5b7);
156 try testArgs(i512, -0x4b6d88a77e2a42d67daada905d16c6045b4dd57e608a0482f45531781d4994e2a6b71ad41a106b2dfc76e60aebd9e1d357b24b8d6889de3cf3e58ff3a48f54aa, -0x2e28e1b21ec33fd5dd9b1fbdc312e32884208b549ce0ca1661ca1150a6bd43363d4d186aa8ac70ad0595b44b5279ff070df8bd0b51095c62c8c499bfcaa7494c);
157 try testArgs(u512, 0xf40ad922664478a7b71a5676fc49434a45ba86975cef377c8321159cd880b67cd543fcca70187d5912675c0bc1fa4129cb470f280cde56ac4ec848ca589f143f, 0xe20a8110780ff05718adc173677ff0579126576f1fc3857ac41d6b7d5334d93134181af15ce2d35224d2e5c63384f33e331b16ecbc6db44edbb4074134d23e97);
158 try testArgs(i513, 0x55a556c6b6605897ffb7a791bdf309d5edb879f2841d1bba37006cdd0e7d00d971c85def024e28b7a17e53f3bcf5a5d5c43e780c6d13d67de1ca7b8f05deddfb, 0x53f475716443b38792e618ce109cec641aa351ce2e258a99153820c5522a4acc7f2b5b4ecd0000bcbe5a410bbee200576f6ff17ce7e8b7d1f0752390d1bb9b3f);
159 try testArgs(u513, 0x1e4e15bc406c558c14f48b83090647d7f2254fa571eac7f8aad8edb76a90547f7854bd6315e50ad44ea93034db9fab450a584b53abf8537e31d39cd706a31eaa7, 0x1d348de8124b72ca1d0e382501024c9e1b0f6fc16c5cd4a86aef2731bd39c29173749afe94bb2992ea805148fe0d96abdc5980b2143bd81419c1e40bf81b2496f);
160 try testArgs(i1023, -0x37781a6086d9310e4cdb24f5f374736e32af53c9545298aa53fe17854f73052cd808f658efacea622c59adb51af4d2dd636521ca2717acc43389c975505b7543da2c62f33c3152907f13b1ffa5b9881b33acec3cab1d8e33c2239ea6835277c474629a9157f8acd7c1d83076c2e75a48a8d3a94067e801c51057e47e09f0be14, 0x39ad04132dec8b795b98fd7cd085605ce8354655633068ee485d9dc78853feb922a54a3df6209989d1137e4ea8b0ad2cae48b21df2e0c04feeca56d2551f12782312a6ae483ffff466ff78446ebd4d47a61c1cba2603a62b44a72800060dda7eec8bc9060b8c5533afa7946bd38e93fddb863392500c22616dd4ae4932f20fe4);
161 try testArgs(u1023, 0x6e14a9d998a9ef7ac77b6fe08225fcc176e687685736e0e32c9e6b8fe96e9a7b14b3318310e945f7f84128455075eedb4a7b7736185f58e5640688c5d3b47d785338a0b70e77f4d237fd85f7820f3ebe6eb30f5a71231e813a70d6c76963d66291f271cd6f462ce685a0270ec5f6e856340f91d7597cd2b779566fe3ff4d4a98, 0x211eafbd449691e390d14dd34cb9c4d32627ecbec485d4a0a7cca1b28bd81d2153a7a75c2f62c4c3c7f198740cfe65dfa3c86156aa0b6d22757fd07f4070ddd50e334782f045a58b96c5a8f04b4615968501e9b5e801c475bdc034919c9e9df6df3cbbd59bacfa9409b21c3365d10e132d75958774c6244446127b043d155ec4);
162 try testArgs(i1024, 0xa6bd15fd4c529a24e4d727c5c0db9422ed7038ba23944b2b54ffc8d3731e2ffc19e12d885010fb10d208ea045e2a4cfec32d190f221bd453ec73fcecc03e37fd70be3fba3945c881cb9bce69f3f6ad9a6ee0d42a393b3669d1ca518d0b7b06a2c47978f22bc1db8802ef6ce29ea51b48256c6fed82e04355665f9d27ff485b, -0x69f258c2a86e97161ce2e683801591976a8e5a71b88605450961ee271637e6c2fee13459c29d42d4c5fb408f80236d3b2db34752e307fee6cbce2e5088adc817902a5adbbba72c8be84b9f8af5ce0fac464cae61cff9cbbe3a8dcdbec0af855b2e6c2c19fbe4f01baec9ca28b78bd7d383281c71d81da74fd0a2c8a5b754ee57);
163 try testArgs(u1024, 0x111e0a4e0c61ab3c5229154539ddb010542cb528533b4ea13813d8dbbaca7de395aac3c22dae1bd9db8bf9005ea9ef3df253aefabdce060a93e60da6edc3b1b2d78aead4647e7a589b66aa53fb953742b71f823b539150918df0fe781ee4d00279e4da9995804391bb19504de2f108f7d6ba14d624fa175842bd429f638de8f9, 0xcf9160dcb7ed13a738f7c8b2a17ca2fe84f53620a50f6a948698c4efca88392dc104ef5d26f19c82c8f770f727585702cc8d1c4cc2bba9e691e61b055d98cd636347a7c50b3bd2b2f5dfa416dadbdd76c111d45598c93ef729588cf998a55260cfe94d376ec4e8dc132afa42b66b68bc826c50169f9f4fc798cf7e8f29df639a);
164 try testArgs(i1025, 0xef2102c2cab6ad6bf2f2ba09c154440e65acc56cb14c5221a12b12404f7eafefeab4537f70cc10afb945e93c935223ffd3146911021666fd68fcaa494ded54ce66d2832b1d82b0654f24f1183bbc3ee45eb15c424a74ad41f22c7009b86cb404ac3b810445679417d7e0c5d5f4e88dec7c90352afa367004facbc1d668ab0a7, 0xc7743d3a52bad9bed0d24dbeaac4f27f4790ee14e984484f7ee077e6285394f046f2ba6d3a9c6e0aea1c07de98741a88669a035ec4d9755130fe96414223486e89d710a743ca2c2b53871fdb4851d90a595111d8d12e6732e4b580e235218edee3bc56fca3de99bc5f9a37c9dbc9a8ca5aaba710ec5e498b58b239a1be56915b);
165 try testArgs(u1025, 0x1dea81169800bac2f3afcf3be5dbd2d8eefbace8a24a2da0a383a928d1109459f34028be4413119f1af00ad90ce4d63064016dc1cee5b783c79c1998a0a49de21c4db71d432273576503589fc966c7ec2d730fa9bc4c5ff3128a82653ab8149528de67804718e39722f89b91c75d012ea41c642c889f0db95c882a9790a5e922f, 0x156fe02946ab9069a644dcc1f2b1afa04ee88ab1de19575a2715abf4a52bf374d297fdf78455ccdb87a934d3d818d774b63865eaedfdad3c56a56b8fcc62703c391aedf16cf770af06d7d205f93778c012df54fe5290084e1cd2bbec86a2f295cdce69a2cd774e064580f3c9cfae60d17b12f610e86566e68d5183d706c8ad8af);
104 }166 }
105 fn testFloats() !void {167 fn testFloats() !void {
106 @setEvalBranchQuota(21_700);168 @setEvalBranchQuota(21_700);
...@@ -1942,130 +2004,67 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela...@@ -1942,130 +2004,67 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela
1942 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,2004 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1943 });2005 });
19442006
1945 // workaround https://github.com/ziglang/zig/issues/22914
1946 // TODO: try testArgs(@Vector(1, i2), .{
1947 // 0x1,
1948 // }, .{
1949 // 0x1,
1950 // });
1951 // try testArgs(@Vector(2, i2), .{
1952 // 0x0, -0x2,
1953 // }, .{
1954 // -0x2, -0x2,
1955 // });
1956 // try testArgs(@Vector(4, i2), .{
1957 // -0x2, -0x1, 0x0, -0x2,
1958 // }, .{
1959 // -0x2, 0x1, -0x1, -0x2,
1960 // });
1961 // try testArgs(@Vector(8, i2), .{
1962 // -0x1, 0x1, 0x1, -0x1, -0x2, -0x2, 0x0, -0x2,
1963 // }, .{
1964 // -0x1, -0x1, -0x2, -0x1, -0x2, 0x1, -0x1, 0x1,
1965 // });
1966 // try testArgs(@Vector(16, i2), .{
1967 // 0x0, -0x2, -0x1, -0x2, 0x1, 0x0, -0x1, 0x0, 0x1, -0x2, 0x1, -0x1, -0x2, -0x2, 0x1, 0x0,
1968 // }, .{
1969 // -0x2, -0x2, 0x1, -0x2, -0x1, -0x2, -0x1, -0x2, -0x2, -0x2, -0x1, -0x2, 0x1, -0x2, -0x2, -0x2,
1970 // });
1971 // try testArgs(@Vector(32, i2), .{
1972 // -0x2, 0x1, -0x1, 0x1, 0x0, -0x2, 0x1, -0x2, -0x2, 0x0, -0x1, 0x0, -0x2, -0x2, 0x0, 0x1,
1973 // -0x1, 0x1, -0x1, 0x1, 0x1, 0x1, 0x1, -0x2, -0x1, -0x1, 0x1, -0x2, 0x0, -0x1, 0x0, -0x2,
1974 // }, .{
1975 // 0x1, -0x1, 0x1, -0x1, 0x1, 0x1, 0x1, -0x2, 0x1, -0x2, -0x1, -0x2, 0x1, 0x1, 0x1, -0x1,
1976 // -0x2, 0x1, 0x1, -0x1, -0x2, -0x2, -0x1, -0x2, -0x1, -0x2, 0x1, -0x2, -0x1, 0x1, -0x2, -0x2,
1977 // });
1978 // try testArgs(@Vector(64, i2), .{
1979 // 0x1, -0x2, -0x1, 0x0, 0x1, -0x2, -0x1, -0x2, -0x2, -0x1, -0x2, -0x1, 0x1, 0x1, 0x0, 0x1,
1980 // -0x1, -0x1, -0x1, 0x1, 0x1, -0x1, 0x0, 0x1, -0x1, 0x0, 0x0, 0x1, 0x1, 0x0, -0x2, -0x2,
1981 // 0x1, 0x0, -0x2, -0x2, 0x1, -0x2, -0x2, 0x1, 0x1, -0x2, 0x1, 0x0, 0x0, -0x1, 0x0, 0x1,
1982 // -0x2, 0x0, 0x0, -0x1, -0x1, 0x1, -0x2, 0x0, -0x2, 0x0, -0x2, 0x1, 0x0, -0x1, -0x1, 0x1,
1983 // }, .{
1984 // -0x2, -0x2, 0x1, -0x1, -0x2, -0x2, -0x1, -0x2, 0x1, 0x1, 0x1, -0x1, 0x1, 0x1, 0x1, -0x1,
1985 // -0x2, 0x1, 0x1, -0x2, -0x2, 0x1, 0x1, -0x1, -0x2, -0x2, 0x1, -0x1, -0x2, 0x1, -0x2, 0x1,
1986 // 0x1, -0x2, -0x2, -0x2, -0x2, 0x1, 0x1, 0x1, -0x2, 0x1, -0x1, 0x1, -0x1, 0x1, 0x1, -0x1,
1987 // -0x2, 0x1, -0x1, 0x1, -0x1, -0x1, 0x1, 0x1, -0x2, 0x1, 0x1, -0x2, -0x2, -0x1, -0x2, -0x2,
1988 // });
1989 // try testArgs(@Vector(128, i2), .{
1990 // -0x1, -0x2, 0x0, -0x2, -0x2, 0x1, -0x1, 0x0, -0x1, -0x2, 0x0, -0x2, 0x0, 0x1, 0x0, -0x1,
1991 // 0x0, -0x2, 0x1, 0x0, 0x1, 0x0, -0x2, 0x1, 0x1, 0x1, -0x1, 0x1, 0x0, -0x1, 0x1, -0x1,
1992 // 0x1, -0x2, 0x1, -0x2, 0x1, -0x2, 0x1, -0x2, -0x2, -0x2, 0x0, 0x0, 0x1, 0x1, -0x2, -0x1,
1993 // 0x1, 0x0, 0x0, 0x1, -0x2, -0x1, 0x0, -0x1, 0x1, -0x2, 0x1, 0x0, 0x1, 0x0, 0x0, -0x2,
1994 // 0x0, 0x0, -0x1, 0x1, -0x1, 0x0, -0x1, -0x2, 0x1, -0x2, -0x2, -0x1, -0x2, 0x0, 0x0, 0x0,
1995 // -0x1, -0x1, -0x1, -0x1, -0x2, 0x0, -0x1, 0x1, 0x0, 0x0, -0x2, 0x0, 0x0, 0x0, 0x0, 0x1,
1996 // 0x1, -0x2, 0x0, 0x0, -0x1, -0x1, 0x1, -0x1, -0x2, 0x0, -0x1, -0x1, -0x2, -0x2, 0x0, 0x0,
1997 // -0x1, 0x0, 0x1, 0x0, -0x1, -0x2, 0x1, -0x2, -0x1, -0x1, 0x0, 0x0, -0x1, 0x0, 0x0, 0x1,
1998 // }, .{
1999 // -0x2, -0x2, 0x1, 0x1, -0x2, -0x1, 0x1, 0x1, 0x1, -0x2, -0x2, 0x1, -0x2, -0x2, 0x1, -0x1,
2000 // -0x1, -0x2, 0x1, -0x1, 0x1, 0x1, 0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, 0x1, 0x1, -0x2,
2001 // -0x1, -0x2, -0x2, -0x2, -0x2, -0x2, -0x1, -0x2, 0x1, 0x1, -0x1, -0x1, -0x1, -0x1, 0x1, -0x2,
2002 // 0x1, -0x1, 0x1, -0x1, 0x1, 0x1, -0x1, -0x2, 0x1, 0x1, -0x2, -0x2, -0x2, 0x1, 0x1, -0x2,
2003 // -0x1, 0x1, -0x2, -0x1, -0x1, 0x1, -0x2, -0x2, 0x1, 0x1, -0x2, -0x1, -0x2, -0x2, -0x2, -0x2,
2004 // 0x1, -0x1, 0x1, -0x2, 0x1, -0x1, -0x1, 0x1, 0x1, -0x1, 0x1, -0x1, -0x2, -0x2, -0x1, -0x2,
2005 // -0x2, 0x1, -0x2, -0x2, -0x1, -0x1, -0x1, -0x2, 0x1, -0x2, 0x1, -0x2, 0x1, -0x2, -0x2, 0x1,
2006 // 0x1, -0x1, 0x1, 0x1, -0x1, -0x2, 0x1, 0x1, -0x1, -0x2, -0x1, -0x1, 0x1, -0x2, -0x2, -0x2,
2007 // });
2008 try testArgs(@Vector(1, i2), .{2007 try testArgs(@Vector(1, i2), .{
2009 -0x1,2008 0x1,
2010 }, .{2009 }, .{
2011 -0x2,2010 0x1,
2012 });2011 });
2013 try testArgs(@Vector(2, i2), .{2012 try testArgs(@Vector(2, i2), .{
2014 -0x1, -0x1,2013 0x0, -0x2,
2015 }, .{2014 }, .{
2016 0x1, -0x1,2015 -0x2, -0x2,
2017 });2016 });
2018 try testArgs(@Vector(4, i2), .{2017 try testArgs(@Vector(4, i2), .{
2019 -0x1, 0x1, -0x1, -0x1,2018 -0x2, -0x1, 0x0, -0x2,
2020 }, .{2019 }, .{
2021 0x1, -0x1, -0x1, 0x1,2020 -0x2, 0x1, -0x1, -0x2,
2022 });2021 });
2023 try testArgs(@Vector(8, i2), .{2022 try testArgs(@Vector(8, i2), .{
2024 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, -0x1, 0x1,2023 -0x1, 0x1, 0x1, -0x1, -0x2, -0x2, 0x0, -0x2,
2025 }, .{2024 }, .{
2026 0x1, -0x1, -0x1, -0x2, -0x1, -0x2, -0x1, 0x1,2025 -0x1, -0x1, -0x2, -0x1, -0x2, 0x1, -0x1, 0x1,
2027 });2026 });
2028 try testArgs(@Vector(16, i2), .{2027 try testArgs(@Vector(16, i2), .{
2029 0x1, 0x0, 0x0, -0x1, 0x1, 0x0, 0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, 0x1, 0x1, 0x0,2028 0x0, -0x2, -0x1, -0x2, 0x1, 0x0, -0x1, 0x0, 0x1, -0x2, 0x1, -0x1, -0x2, -0x2, 0x1, 0x0,
2030 }, .{2029 }, .{
2031 0x1, 0x1, 0x1, 0x1, -0x2, -0x2, -0x1, -0x1, -0x1, -0x2, 0x1, 0x1, -0x1, -0x2, -0x1, -0x1,2030 -0x2, -0x2, 0x1, -0x2, -0x1, -0x2, -0x1, -0x2, -0x2, -0x2, -0x1, -0x2, 0x1, -0x2, -0x2, -0x2,
2032 });2031 });
2033 try testArgs(@Vector(32, i2), .{2032 try testArgs(@Vector(32, i2), .{
2034 0x0, 0x1, -0x1, -0x1, -0x1, 0x0, -0x1, 0x0, -0x1, -0x1, 0x1, -0x1, 0x0, -0x1, 0x0, -0x1,2033 -0x2, 0x1, -0x1, 0x1, 0x0, -0x2, 0x1, -0x2, -0x2, 0x0, -0x1, 0x0, -0x2, -0x2, 0x0, 0x1,
2035 -0x1, 0x1, 0x1, 0x1, -0x1, -0x1, 0x1, -0x1, -0x1, 0x1, -0x1, -0x1, 0x1, 0x0, 0x0, 0x1,2034 -0x1, 0x1, -0x1, 0x1, 0x1, 0x1, 0x1, -0x2, -0x1, -0x1, 0x1, -0x2, 0x0, -0x1, 0x0, -0x2,
2036 }, .{2035 }, .{
2037 -0x2, -0x1, -0x2, 0x1, -0x1, 0x1, -0x2, -0x2, -0x1, -0x1, -0x1, -0x1, 0x1, 0x1, 0x1, -0x2,2036 0x1, -0x1, 0x1, -0x1, 0x1, 0x1, 0x1, -0x2, 0x1, -0x2, -0x1, -0x2, 0x1, 0x1, 0x1, -0x1,
2038 -0x1, -0x1, -0x2, -0x2, -0x1, -0x2, -0x1, 0x1, -0x2, -0x1, -0x1, -0x2, 0x1, -0x2, -0x2, -0x1,2037 -0x2, 0x1, 0x1, -0x1, -0x2, -0x2, -0x1, -0x2, -0x1, -0x2, 0x1, -0x2, -0x1, 0x1, -0x2, -0x2,
2039 });2038 });
2040 try testArgs(@Vector(64, i2), .{2039 try testArgs(@Vector(64, i2), .{
2041 0x1, 0x1, -0x1, 0x0, 0x0, 0x1, 0x1, -0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0,2040 0x1, -0x2, -0x1, 0x0, 0x1, -0x2, -0x1, -0x2, -0x2, -0x1, -0x2, -0x1, 0x1, 0x1, 0x0, 0x1,
2042 -0x1, 0x0, 0x0, 0x0, 0x0, -0x1, 0x0, 0x1, 0x1, 0x0, 0x1, -0x1, -0x1, 0x0, -0x1, 0x0,2041 -0x1, -0x1, -0x1, 0x1, 0x1, -0x1, 0x0, 0x1, -0x1, 0x0, 0x0, 0x1, 0x1, 0x0, -0x2, -0x2,
2043 -0x1, 0x1, -0x1, 0x0, -0x1, 0x1, 0x0, 0x0, 0x0, 0x1, -0x1, 0x0, -0x1, 0x1, 0x0, 0x0,2042 0x1, 0x0, -0x2, -0x2, 0x1, -0x2, -0x2, 0x1, 0x1, -0x2, 0x1, 0x0, 0x0, -0x1, 0x0, 0x1,
2044 0x1, -0x1, -0x1, 0x0, 0x1, -0x1, -0x1, 0x0, 0x1, 0x1, -0x1, 0x0, 0x1, -0x1, 0x0, 0x0,2043 -0x2, 0x0, 0x0, -0x1, -0x1, 0x1, -0x2, 0x0, -0x2, 0x0, -0x2, 0x1, 0x0, -0x1, -0x1, 0x1,
2045 }, .{2044 }, .{
2046 -0x1, 0x1, -0x2, -0x1, -0x1, 0x1, 0x1, -0x2, -0x2, 0x1, 0x1, -0x1, -0x2, 0x1, 0x1, -0x1,2045 -0x2, -0x2, 0x1, -0x1, -0x2, -0x2, -0x1, -0x2, 0x1, 0x1, 0x1, -0x1, 0x1, 0x1, 0x1, -0x1,
2047 -0x1, -0x1, 0x1, -0x2, -0x2, -0x2, -0x1, -0x1, -0x2, 0x1, -0x2, -0x2, -0x2, 0x1, -0x2, -0x2,2046 -0x2, 0x1, 0x1, -0x2, -0x2, 0x1, 0x1, -0x1, -0x2, -0x2, 0x1, -0x1, -0x2, 0x1, -0x2, 0x1,
2048 -0x2, -0x1, -0x1, 0x1, -0x2, -0x1, -0x1, -0x1, -0x2, 0x1, -0x1, 0x1, -0x2, -0x2, 0x1, -0x1,2047 0x1, -0x2, -0x2, -0x2, -0x2, 0x1, 0x1, 0x1, -0x2, 0x1, -0x1, 0x1, -0x1, 0x1, 0x1, -0x1,
2049 -0x1, 0x1, -0x2, -0x2, -0x2, -0x2, -0x2, -0x2, -0x2, 0x1, 0x1, -0x1, 0x1, 0x1, -0x1, -0x2,2048 -0x2, 0x1, -0x1, 0x1, -0x1, -0x1, 0x1, 0x1, -0x2, 0x1, 0x1, -0x2, -0x2, -0x1, -0x2, -0x2,
2050 });2049 });
2051 try testArgs(@Vector(128, i2), .{2050 try testArgs(@Vector(128, i2), .{
2052 0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, 0x0, 0x1, 0x0, -0x1, 0x0, -0x1, 0x0, 0x0, 0x0,2051 -0x1, -0x2, 0x0, -0x2, -0x2, 0x1, -0x1, 0x0, -0x1, -0x2, 0x0, -0x2, 0x0, 0x1, 0x0, -0x1,
2053 0x0, 0x0, 0x1, -0x1, 0x1, -0x1, -0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, -0x1, 0x0, -0x1,2052 0x0, -0x2, 0x1, 0x0, 0x1, 0x0, -0x2, 0x1, 0x1, 0x1, -0x1, 0x1, 0x0, -0x1, 0x1, -0x1,
2054 0x0, 0x1, -0x1, 0x1, -0x1, -0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, -0x1, 0x1,2053 0x1, -0x2, 0x1, -0x2, 0x1, -0x2, 0x1, -0x2, -0x2, -0x2, 0x0, 0x0, 0x1, 0x1, -0x2, -0x1,
2055 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, -0x1, 0x1, 0x1, -0x1, 0x1, -0x1, 0x0, 0x1, 0x0, 0x1,2054 0x1, 0x0, 0x0, 0x1, -0x2, -0x1, 0x0, -0x1, 0x1, -0x2, 0x1, 0x0, 0x1, 0x0, 0x0, -0x2,
2056 0x0, -0x1, 0x0, 0x0, 0x1, -0x1, 0x0, 0x0, -0x1, -0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1,2055 0x0, 0x0, -0x1, 0x1, -0x1, 0x0, -0x1, -0x2, 0x1, -0x2, -0x2, -0x1, -0x2, 0x0, 0x0, 0x0,
2057 0x0, -0x1, 0x1, -0x1, -0x1, 0x0, 0x0, 0x1, -0x1, -0x1, 0x1, 0x0, -0x1, 0x1, 0x0, -0x1,2056 -0x1, -0x1, -0x1, -0x1, -0x2, 0x0, -0x1, 0x1, 0x0, 0x0, -0x2, 0x0, 0x0, 0x0, 0x0, 0x1,
2058 0x1, 0x0, 0x1, -0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, -0x1, -0x1, 0x0, 0x1, 0x0,2057 0x1, -0x2, 0x0, 0x0, -0x1, -0x1, 0x1, -0x1, -0x2, 0x0, -0x1, -0x1, -0x2, -0x2, 0x0, 0x0,
2059 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, -0x1, 0x0, -0x1, -0x1, 0x0, 0x0, 0x0, 0x1, 0x1, -0x1,2058 -0x1, 0x0, 0x1, 0x0, -0x1, -0x2, 0x1, -0x2, -0x1, -0x1, 0x0, 0x0, -0x1, 0x0, 0x0, 0x1,
2060 }, .{2059 }, .{
2061 -0x2, -0x2, -0x1, -0x2, -0x1, -0x1, -0x2, -0x2, -0x2, 0x1, -0x2, -0x2, -0x2, -0x2, -0x2, 0x1,2060 -0x2, -0x2, 0x1, 0x1, -0x2, -0x1, 0x1, 0x1, 0x1, -0x2, -0x2, 0x1, -0x2, -0x2, 0x1, -0x1,
2062 -0x1, 0x1, -0x1, -0x1, -0x2, -0x2, -0x1, -0x2, 0x1, -0x2, -0x1, -0x2, -0x2, -0x1, 0x1, -0x1,2061 -0x1, -0x2, 0x1, -0x1, 0x1, 0x1, 0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, 0x1, 0x1, -0x2,
2063 -0x2, -0x1, -0x1, -0x2, -0x1, -0x2, -0x1, 0x1, -0x1, -0x1, 0x1, -0x1, -0x2, 0x1, -0x2, -0x1,2062 -0x1, -0x2, -0x2, -0x2, -0x2, -0x2, -0x1, -0x2, 0x1, 0x1, -0x1, -0x1, -0x1, -0x1, 0x1, -0x2,
2064 -0x2, 0x1, -0x1, -0x2, -0x2, -0x2, -0x2, -0x1, 0x1, 0x1, 0x1, 0x1, -0x1, -0x2, -0x1, -0x1,2063 0x1, -0x1, 0x1, -0x1, 0x1, 0x1, -0x1, -0x2, 0x1, 0x1, -0x2, -0x2, -0x2, 0x1, 0x1, -0x2,
2065 -0x2, -0x2, 0x1, 0x1, -0x2, -0x1, 0x1, -0x2, -0x1, -0x2, -0x1, -0x2, -0x2, 0x1, -0x1, 0x1,2064 -0x1, 0x1, -0x2, -0x1, -0x1, 0x1, -0x2, -0x2, 0x1, 0x1, -0x2, -0x1, -0x2, -0x2, -0x2, -0x2,
2066 -0x2, -0x2, 0x1, -0x2, -0x1, -0x1, 0x1, -0x1, -0x1, -0x1, -0x2, -0x2, -0x1, 0x1, 0x1, -0x2,2065 0x1, -0x1, 0x1, -0x2, 0x1, -0x1, -0x1, 0x1, 0x1, -0x1, 0x1, -0x1, -0x2, -0x2, -0x1, -0x2,
2067 -0x1, -0x2, 0x1, 0x1, 0x1, 0x1, -0x2, 0x1, -0x1, -0x1, -0x2, 0x1, -0x1, -0x2, -0x1, -0x2,2066 -0x2, 0x1, -0x2, -0x2, -0x1, -0x1, -0x1, -0x2, 0x1, -0x2, 0x1, -0x2, 0x1, -0x2, -0x2, 0x1,
2068 -0x2, -0x2, -0x1, -0x1, -0x2, -0x1, 0x1, -0x1, 0x1, 0x1, 0x1, -0x2, -0x1, 0x1, -0x2, 0x1,2067 0x1, -0x1, 0x1, 0x1, -0x1, -0x2, 0x1, 0x1, -0x1, -0x2, -0x1, -0x1, 0x1, -0x2, -0x2, -0x2,
2069 });2068 });
20702069
2071 try testArgs(@Vector(1, u2), .{2070 try testArgs(@Vector(1, u2), .{
...@@ -2131,130 +2130,67 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela...@@ -2131,130 +2130,67 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela
2131 0x2, 0x2, 0x3, 0x3, 0x1, 0x1, 0x1, 0x1, 0x2, 0x1, 0x3, 0x1, 0x3, 0x2, 0x3, 0x1,2130 0x2, 0x2, 0x3, 0x3, 0x1, 0x1, 0x1, 0x1, 0x2, 0x1, 0x3, 0x1, 0x3, 0x2, 0x3, 0x1,
2132 });2131 });
21332132
2134 // workaround https://github.com/ziglang/zig/issues/22914
2135 // TODO: try testArgs(@Vector(1, i3), .{
2136 // -0x3,
2137 // }, .{
2138 // -0x1,
2139 // });
2140 // try testArgs(@Vector(2, i3), .{
2141 // 0x2, -0x3,
2142 // }, .{
2143 // 0x1, 0x3,
2144 // });
2145 // try testArgs(@Vector(4, i3), .{
2146 // 0x1, -0x4, -0x2, -0x3,
2147 // }, .{
2148 // -0x2, -0x4, 0x2, 0x2,
2149 // });
2150 // try testArgs(@Vector(8, i3), .{
2151 // 0x0, 0x1, 0x3, 0x1, -0x3, 0x1, 0x3, 0x3,
2152 // }, .{
2153 // -0x3, 0x2, 0x1, 0x1, -0x4, -0x1, 0x3, -0x2,
2154 // });
2155 // try testArgs(@Vector(16, i3), .{
2156 // -0x4, 0x3, -0x2, 0x0, -0x2, -0x1, 0x2, -0x4, 0x1, -0x3, 0x2, -0x2, 0x1, -0x2, 0x2, -0x4,
2157 // }, .{
2158 // 0x2, -0x3, 0x3, 0x1, -0x4, 0x1, -0x1, 0x1, -0x1, -0x3, -0x4, 0x2, 0x3, 0x3, -0x1, -0x4,
2159 // });
2160 // try testArgs(@Vector(32, i3), .{
2161 // 0x1, -0x3, -0x1, -0x3, -0x3, 0x2, 0x1, 0x0, 0x0, -0x1, 0x3, -0x2, 0x3, 0x0, -0x3, 0x0,
2162 // -0x4, -0x2, -0x1, -0x4, -0x4, 0x2, 0x2, 0x3, 0x1, 0x2, -0x4, -0x4, -0x3, 0x1, -0x1, -0x2,
2163 // }, .{
2164 // -0x4, -0x2, 0x1, -0x1, 0x3, 0x1, 0x2, -0x3, 0x2, -0x2, 0x1, -0x1, -0x2, -0x1, -0x1, -0x2,
2165 // -0x2, -0x3, 0x3, -0x3, -0x4, 0x1, -0x3, 0x3, 0x1, -0x3, 0x3, 0x3, -0x4, 0x3, 0x2, -0x2,
2166 // });
2167 // try testArgs(@Vector(64, i3), .{
2168 // 0x1, 0x2, 0x1, 0x2, -0x2, 0x2, 0x2, -0x1, -0x4, 0x1, 0x3, 0x0, -0x2, -0x2, 0x2, -0x2,
2169 // 0x0, -0x4, -0x3, -0x4, -0x1, -0x1, 0x2, 0x2, -0x2, -0x1, -0x1, 0x3, 0x3, -0x4, 0x2, 0x0,
2170 // 0x3, 0x2, -0x4, -0x1, 0x1, 0x1, 0x3, 0x1, 0x2, 0x3, -0x3, 0x1, -0x4, -0x2, 0x1, -0x3,
2171 // -0x3, -0x1, 0x1, -0x3, -0x1, 0x3, -0x4, -0x4, 0x0, 0x0, -0x4, -0x2, 0x3, -0x1, -0x3, -0x3,
2172 // }, .{
2173 // 0x3, -0x2, 0x1, -0x4, 0x1, 0x3, -0x3, 0x1, 0x3, 0x1, 0x1, -0x1, -0x2, 0x1, -0x3, 0x1,
2174 // -0x2, -0x2, 0x3, -0x3, -0x1, -0x3, 0x1, -0x1, -0x3, -0x3, 0x1, -0x2, 0x1, -0x2, 0x1, 0x2,
2175 // 0x3, -0x4, -0x4, -0x1, 0x1, 0x3, 0x1, 0x1, -0x4, 0x2, -0x3, 0x3, 0x3, -0x1, 0x1, -0x1,
2176 // -0x2, 0x2, 0x2, -0x4, -0x4, 0x3, -0x2, -0x4, -0x1, -0x2, -0x4, 0x1, 0x2, 0x1, -0x1, -0x2,
2177 // });
2178 // try testArgs(@Vector(128, i3), .{
2179 // -0x4, 0x1, 0x0, -0x4, -0x4, 0x1, -0x4, -0x2, 0x2, 0x2, -0x3, 0x1, 0x2, -0x2, 0x1, 0x1,
2180 // 0x3, 0x0, 0x3, -0x4, -0x1, 0x3, 0x3, -0x4, 0x0, -0x3, 0x2, -0x2, 0x0, 0x3, 0x1, -0x2,
2181 // -0x1, -0x1, 0x3, -0x1, -0x2, 0x3, 0x3, 0x1, -0x3, 0x1, -0x1, -0x2, -0x4, 0x2, -0x2, -0x1,
2182 // 0x1, 0x1, 0x1, 0x0, -0x1, 0x2, -0x1, 0x3, 0x2, -0x1, -0x2, 0x3, -0x2, 0x3, 0x3, 0x1,
2183 // 0x3, -0x3, -0x4, -0x1, 0x2, 0x2, -0x2, 0x3, -0x4, -0x2, -0x1, 0x0, 0x1, -0x1, 0x0, 0x0,
2184 // -0x2, 0x3, 0x0, -0x3, -0x4, 0x2, -0x3, -0x2, -0x4, 0x0, -0x3, -0x4, -0x4, -0x2, -0x1, -0x3,
2185 // 0x0, -0x1, 0x0, -0x1, 0x2, -0x4, -0x3, 0x0, -0x4, 0x0, -0x2, 0x1, -0x2, -0x4, -0x1, -0x1,
2186 // -0x3, 0x3, -0x1, -0x1, -0x2, 0x1, 0x3, 0x1, -0x3, 0x1, -0x4, -0x2, 0x0, -0x1, -0x2, 0x2,
2187 // }, .{
2188 // -0x3, 0x2, -0x3, 0x1, -0x2, -0x1, -0x3, 0x1, 0x2, 0x2, -0x2, 0x2, 0x2, 0x1, 0x3, -0x1,
2189 // -0x4, -0x3, 0x2, -0x3, -0x2, 0x3, -0x3, 0x2, -0x1, -0x3, 0x1, 0x2, -0x4, 0x2, -0x2, -0x3,
2190 // 0x1, -0x1, 0x2, 0x2, -0x1, -0x3, -0x4, 0x2, 0x1, -0x4, 0x1, -0x4, 0x2, -0x1, 0x2, -0x2,
2191 // 0x2, 0x1, -0x4, 0x3, 0x1, -0x2, -0x3, -0x4, 0x3, -0x1, 0x3, -0x4, -0x2, 0x1, -0x2, 0x3,
2192 // 0x1, 0x1, 0x2, 0x1, -0x1, -0x2, 0x2, -0x1, 0x1, -0x1, -0x3, -0x1, 0x1, -0x4, -0x1, -0x1,
2193 // -0x3, -0x1, -0x4, 0x3, 0x1, -0x1, -0x1, -0x1, 0x1, -0x4, 0x1, -0x2, -0x4, 0x2, -0x4, -0x3,
2194 // 0x2, -0x4, -0x1, 0x1, 0x3, 0x2, -0x1, 0x3, 0x2, 0x2, 0x1, -0x4, -0x3, 0x1, -0x1, 0x1,
2195 // -0x2, -0x4, 0x1, 0x3, -0x1, 0x3, 0x1, 0x2, -0x4, 0x2, 0x2, -0x3, -0x3, -0x4, -0x2, 0x3,
2196 // });
2197 try testArgs(@Vector(1, i3), .{2133 try testArgs(@Vector(1, i3), .{
2198 -0x1,
2199 }, .{
2200 -0x3,2134 -0x3,
2135 }, .{
2136 -0x1,
2201 });2137 });
2202 try testArgs(@Vector(2, i3), .{2138 try testArgs(@Vector(2, i3), .{
2203 0x2, -0x2,2139 0x2, -0x3,
2204 }, .{2140 }, .{
2205 0x3, 0x3,2141 0x1, 0x3,
2206 });2142 });
2207 try testArgs(@Vector(4, i3), .{2143 try testArgs(@Vector(4, i3), .{
2208 0x1, 0x0, -0x2, 0x0,2144 0x1, -0x4, -0x2, -0x3,
2209 }, .{2145 }, .{
2210 0x2, -0x2, -0x4, 0x3,2146 -0x2, -0x4, 0x2, 0x2,
2211 });2147 });
2212 try testArgs(@Vector(8, i3), .{2148 try testArgs(@Vector(8, i3), .{
2213 0x3, -0x1, -0x3, -0x3, -0x3, -0x2, 0x2, -0x3,2149 0x0, 0x1, 0x3, 0x1, -0x3, 0x1, 0x3, 0x3,
2214 }, .{2150 }, .{
2215 -0x1, 0x1, -0x2, 0x2, 0x1, -0x2, -0x3, -0x1,2151 -0x3, 0x2, 0x1, 0x1, -0x4, -0x1, 0x3, -0x2,
2216 });2152 });
2217 try testArgs(@Vector(16, i3), .{2153 try testArgs(@Vector(16, i3), .{
2218 -0x1, -0x1, 0x3, -0x2, -0x2, -0x2, -0x2, -0x1, 0x2, 0x1, -0x2, 0x2, -0x2, 0x1, 0x1, -0x3,2154 -0x4, 0x3, -0x2, 0x0, -0x2, -0x1, 0x2, -0x4, 0x1, -0x3, 0x2, -0x2, 0x1, -0x2, 0x2, -0x4,
2219 }, .{2155 }, .{
2220 0x1, -0x1, -0x1, -0x1, 0x1, 0x3, -0x1, -0x1, 0x1, 0x3, -0x1, -0x3, 0x1, 0x3, 0x1, -0x2,2156 0x2, -0x3, 0x3, 0x1, -0x4, 0x1, -0x1, 0x1, -0x1, -0x3, -0x4, 0x2, 0x3, 0x3, -0x1, -0x4,
2221 });2157 });
2222 try testArgs(@Vector(32, i3), .{2158 try testArgs(@Vector(32, i3), .{
2223 0x3, -0x1, -0x3, 0x1, 0x0, 0x0, -0x3, -0x1, -0x3, 0x1, 0x1, 0x2, -0x1, 0x1, -0x1, -0x1,2159 0x1, -0x3, -0x1, -0x3, -0x3, 0x2, 0x1, 0x0, 0x0, -0x1, 0x3, -0x2, 0x3, 0x0, -0x3, 0x0,
2224 0x1, -0x3, 0x1, -0x1, 0x1, 0x0, -0x2, 0x3, -0x2, -0x3, 0x3, 0x1, -0x1, 0x0, 0x3, -0x1,2160 -0x4, -0x2, -0x1, -0x4, -0x4, 0x2, 0x2, 0x3, 0x1, 0x2, -0x4, -0x4, -0x3, 0x1, -0x1, -0x2,
2225 }, .{2161 }, .{
2226 0x1, -0x2, -0x4, -0x4, 0x2, 0x1, -0x4, -0x3, -0x4, 0x1, -0x3, -0x4, -0x1, 0x2, -0x1, 0x1,2162 -0x4, -0x2, 0x1, -0x1, 0x3, 0x1, 0x2, -0x3, 0x2, -0x2, 0x1, -0x1, -0x2, -0x1, -0x1, -0x2,
2227 0x2, -0x2, -0x4, 0x3, -0x3, 0x1, 0x2, -0x2, -0x2, 0x3, 0x3, 0x2, -0x2, -0x4, -0x2, -0x3,2163 -0x2, -0x3, 0x3, -0x3, -0x4, 0x1, -0x3, 0x3, 0x1, -0x3, 0x3, 0x3, -0x4, 0x3, 0x2, -0x2,
2228 });2164 });
2229 try testArgs(@Vector(64, i3), .{2165 try testArgs(@Vector(64, i3), .{
2230 -0x2, 0x1, 0x3, -0x1, -0x3, -0x1, 0x1, -0x3, 0x1, -0x2, 0x0, 0x3, 0x0, -0x2, 0x1, -0x3,2166 0x1, 0x2, 0x1, 0x2, -0x2, 0x2, 0x2, -0x1, -0x4, 0x1, 0x3, 0x0, -0x2, -0x2, 0x2, -0x2,
2231 -0x2, 0x1, -0x2, 0x2, 0x0, 0x1, -0x3, 0x0, -0x3, 0x0, -0x3, -0x2, -0x2, -0x3, -0x2, 0x3,2167 0x0, -0x4, -0x3, -0x4, -0x1, -0x1, 0x2, 0x2, -0x2, -0x1, -0x1, 0x3, 0x3, -0x4, 0x2, 0x0,
2232 -0x1, 0x1, 0x1, 0x1, -0x1, 0x0, -0x3, -0x3, -0x3, -0x3, -0x2, 0x2, 0x3, 0x2, -0x3, 0x1,2168 0x3, 0x2, -0x4, -0x1, 0x1, 0x1, 0x3, 0x1, 0x2, 0x3, -0x3, 0x1, -0x4, -0x2, 0x1, -0x3,
2233 -0x3, -0x3, -0x1, -0x1, -0x1, -0x3, -0x2, -0x2, 0x2, 0x3, 0x3, -0x3, 0x0, 0x3, -0x3, -0x3,2169 -0x3, -0x1, 0x1, -0x3, -0x1, 0x3, -0x4, -0x4, 0x0, 0x0, -0x4, -0x2, 0x3, -0x1, -0x3, -0x3,
2234 }, .{2170 }, .{
2235 0x2, 0x1, -0x1, -0x3, -0x1, -0x4, -0x2, -0x3, 0x2, -0x2, -0x4, 0x2, 0x2, -0x2, 0x1, 0x1,2171 0x3, -0x2, 0x1, -0x4, 0x1, 0x3, -0x3, 0x1, 0x3, 0x1, 0x1, -0x1, -0x2, 0x1, -0x3, 0x1,
2236 0x1, -0x1, -0x3, 0x2, -0x2, 0x2, -0x1, 0x3, 0x3, -0x1, -0x1, -0x3, -0x1, 0x2, -0x2, 0x2,2172 -0x2, -0x2, 0x3, -0x3, -0x1, -0x3, 0x1, -0x1, -0x3, -0x3, 0x1, -0x2, 0x1, -0x2, 0x1, 0x2,
2237 0x1, -0x4, -0x2, -0x4, 0x2, -0x1, -0x2, 0x3, 0x3, 0x3, -0x4, -0x2, 0x3, -0x4, 0x1, -0x2,2173 0x3, -0x4, -0x4, -0x1, 0x1, 0x3, 0x1, 0x1, -0x4, 0x2, -0x3, 0x3, 0x3, -0x1, 0x1, -0x1,
2238 -0x2, 0x2, -0x3, -0x3, 0x1, -0x3, 0x3, 0x2, 0x1, 0x3, -0x3, 0x3, 0x2, -0x2, -0x2, 0x2,2174 -0x2, 0x2, 0x2, -0x4, -0x4, 0x3, -0x2, -0x4, -0x1, -0x2, -0x4, 0x1, 0x2, 0x1, -0x1, -0x2,
2239 });2175 });
2240 try testArgs(@Vector(128, i3), .{2176 try testArgs(@Vector(128, i3), .{
2241 -0x1, 0x2, 0x1, 0x2, 0x1, 0x1, 0x2, 0x1, -0x3, 0x1, -0x2, -0x1, 0x0, 0x2, 0x3, -0x3,2177 -0x4, 0x1, 0x0, -0x4, -0x4, 0x1, -0x4, -0x2, 0x2, 0x2, -0x3, 0x1, 0x2, -0x2, 0x1, 0x1,
2242 -0x1, -0x1, -0x2, 0x3, 0x1, 0x2, 0x2, 0x3, -0x2, 0x3, -0x2, -0x3, 0x1, 0x0, -0x1, -0x2,2178 0x3, 0x0, 0x3, -0x4, -0x1, 0x3, 0x3, -0x4, 0x0, -0x3, 0x2, -0x2, 0x0, 0x3, 0x1, -0x2,
2243 -0x1, -0x1, 0x1, -0x1, 0x2, -0x3, 0x1, -0x2, -0x1, 0x2, -0x2, 0x1, 0x1, -0x3, -0x2, 0x3,2179 -0x1, -0x1, 0x3, -0x1, -0x2, 0x3, 0x3, 0x1, -0x3, 0x1, -0x1, -0x2, -0x4, 0x2, -0x2, -0x1,
2244 -0x1, -0x1, 0x1, -0x3, -0x1, -0x2, 0x0, 0x1, -0x1, 0x0, -0x1, 0x2, 0x1, 0x2, 0x3, -0x1,2180 0x1, 0x1, 0x1, 0x0, -0x1, 0x2, -0x1, 0x3, 0x2, -0x1, -0x2, 0x3, -0x2, 0x3, 0x3, 0x1,
2245 0x0, 0x1, 0x2, 0x3, -0x2, 0x2, -0x3, 0x2, 0x0, -0x2, -0x3, -0x2, 0x0, 0x1, 0x2, 0x1,2181 0x3, -0x3, -0x4, -0x1, 0x2, 0x2, -0x2, 0x3, -0x4, -0x2, -0x1, 0x0, 0x1, -0x1, 0x0, 0x0,
2246 -0x3, 0x0, -0x2, -0x3, -0x1, 0x2, -0x3, 0x2, 0x3, 0x1, 0x1, -0x1, 0x2, 0x1, -0x1, 0x2,2182 -0x2, 0x3, 0x0, -0x3, -0x4, 0x2, -0x3, -0x2, -0x4, 0x0, -0x3, -0x4, -0x4, -0x2, -0x1, -0x3,
2247 0x2, 0x0, 0x1, -0x3, -0x3, 0x1, 0x2, 0x0, 0x1, 0x0, 0x0, -0x1, 0x0, 0x0, 0x3, 0x3,2183 0x0, -0x1, 0x0, -0x1, 0x2, -0x4, -0x3, 0x0, -0x4, 0x0, -0x2, 0x1, -0x2, -0x4, -0x1, -0x1,
2248 0x0, -0x2, -0x2, -0x2, 0x3, 0x0, -0x1, -0x2, 0x0, 0x3, -0x3, 0x1, 0x2, -0x1, 0x1, 0x1,2184 -0x3, 0x3, -0x1, -0x1, -0x2, 0x1, 0x3, 0x1, -0x3, 0x1, -0x4, -0x2, 0x0, -0x1, -0x2, 0x2,
2249 }, .{2185 }, .{
2250 0x3, 0x3, 0x2, 0x3, -0x3, -0x4, 0x1, -0x3, 0x2, 0x3, 0x3, -0x2, 0x2, -0x1, 0x1, 0x3,2186 -0x3, 0x2, -0x3, 0x1, -0x2, -0x1, -0x3, 0x1, 0x2, 0x2, -0x2, 0x2, 0x2, 0x1, 0x3, -0x1,
2251 -0x4, -0x4, -0x1, -0x1, 0x2, -0x3, -0x3, -0x3, -0x2, -0x3, -0x2, -0x1, 0x1, 0x3, -0x4, -0x2,2187 -0x4, -0x3, 0x2, -0x3, -0x2, 0x3, -0x3, 0x2, -0x1, -0x3, 0x1, 0x2, -0x4, 0x2, -0x2, -0x3,
2252 -0x3, 0x1, 0x3, 0x1, -0x2, 0x1, 0x1, 0x2, 0x1, 0x2, -0x4, -0x4, -0x3, -0x2, -0x1, -0x2,2188 0x1, -0x1, 0x2, 0x2, -0x1, -0x3, -0x4, 0x2, 0x1, -0x4, 0x1, -0x4, 0x2, -0x1, 0x2, -0x2,
2253 0x3, 0x2, -0x3, -0x2, -0x2, 0x3, -0x3, -0x4, 0x3, -0x3, 0x3, -0x1, 0x3, -0x1, -0x1, 0x2,2189 0x2, 0x1, -0x4, 0x3, 0x1, -0x2, -0x3, -0x4, 0x3, -0x1, 0x3, -0x4, -0x2, 0x1, -0x2, 0x3,
2254 0x3, -0x4, -0x4, -0x2, -0x4, 0x2, -0x2, -0x4, -0x2, -0x2, -0x3, 0x3, 0x2, 0x2, 0x2, -0x4,2190 0x1, 0x1, 0x2, 0x1, -0x1, -0x2, 0x2, -0x1, 0x1, -0x1, -0x3, -0x1, 0x1, -0x4, -0x1, -0x1,
2255 0x1, -0x4, -0x3, -0x2, -0x4, -0x4, 0x1, -0x4, -0x1, 0x3, -0x2, -0x4, 0x3, -0x4, 0x3, -0x1,2191 -0x3, -0x1, -0x4, 0x3, 0x1, -0x1, -0x1, -0x1, 0x1, -0x4, 0x1, -0x2, -0x4, 0x2, -0x4, -0x3,
2256 0x3, 0x1, -0x1, 0x1, 0x1, 0x2, 0x1, -0x3, -0x4, -0x1, -0x1, -0x2, -0x3, -0x2, 0x3, -0x2,2192 0x2, -0x4, -0x1, 0x1, 0x3, 0x2, -0x1, 0x3, 0x2, 0x2, 0x1, -0x4, -0x3, 0x1, -0x1, 0x1,
2257 -0x1, 0x3, 0x3, -0x1, 0x3, 0x1, 0x1, 0x2, -0x3, 0x3, -0x1, 0x3, -0x3, -0x4, -0x4, 0x1,2193 -0x2, -0x4, 0x1, 0x3, -0x1, 0x3, 0x1, 0x2, -0x4, 0x2, 0x2, -0x3, -0x3, -0x4, -0x2, 0x3,
2258 });2194 });
22592195
2260 try testArgs(@Vector(1, u3), .{2196 try testArgs(@Vector(1, u3), .{
...@@ -2320,130 +2256,67 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela...@@ -2320,130 +2256,67 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela
2320 0x1, 0x1, 0x2, 0x7, 0x2, 0x5, 0x1, 0x6, 0x4, 0x6, 0x1, 0x6, 0x5, 0x1, 0x2, 0x1,2256 0x1, 0x1, 0x2, 0x7, 0x2, 0x5, 0x1, 0x6, 0x4, 0x6, 0x1, 0x6, 0x5, 0x1, 0x2, 0x1,
2321 });2257 });
23222258
2323 // workaround https://github.com/ziglang/zig/issues/22914
2324 // TODO: try testArgs(@Vector(1, i4), .{
2325 // 0x2,
2326 // }, .{
2327 // 0x1,
2328 // });
2329 // try testArgs(@Vector(2, i4), .{
2330 // -0x2, 0x5,
2331 // }, .{
2332 // -0x1, 0x2,
2333 // });
2334 // try testArgs(@Vector(4, i4), .{
2335 // -0x8, 0x5, 0x5, -0x2,
2336 // }, .{
2337 // -0x3, -0x7, -0x4, -0x5,
2338 // });
2339 // try testArgs(@Vector(8, i4), .{
2340 // 0x7, 0x3, 0x2, -0x1, -0x8, -0x2, 0x7, 0x1,
2341 // }, .{
2342 // -0x2, 0x4, -0x8, 0x7, 0x1, -0x5, 0x6, -0x7,
2343 // });
2344 // try testArgs(@Vector(16, i4), .{
2345 // 0x6, -0x3, 0x6, 0x6, -0x5, 0x6, 0x3, 0x7, -0x6, 0x7, -0x7, 0x6, -0x2, -0x2, -0x5, 0x0,
2346 // }, .{
2347 // 0x2, -0x3, -0x4, -0x5, 0x3, 0x3, -0x5, 0x5, 0x4, -0x1, -0x6, 0x4, 0x7, -0x2, 0x3, 0x2,
2348 // });
2349 // try testArgs(@Vector(32, i4), .{
2350 // -0x1, -0x4, 0x6, 0x6, 0x5, 0x3, 0x4, 0x0, 0x3, 0x7, -0x6, 0x7, -0x2, -0x7, -0x4, 0x6,
2351 // 0x3, -0x7, -0x5, 0x1, -0x7, -0x6, 0x1, 0x3, 0x7, -0x8, -0x5, 0x6, -0x5, 0x0, 0x0, -0x8,
2352 // }, .{
2353 // -0x4, -0x4, -0x4, 0x4, -0x5, 0x3, -0x1, 0x6, 0x1, -0x3, -0x1, 0x6, 0x5, -0x8, 0x1, -0x4,
2354 // -0x1, -0x4, 0x1, -0x3, 0x4, 0x6, -0x3, -0x8, -0x7, -0x4, 0x2, -0x3, -0x1, -0x2, 0x6, -0x6,
2355 // });
2356 // try testArgs(@Vector(64, i4), .{
2357 // 0x0, -0x3, -0x3, 0x5, 0x2, -0x1, 0x4, 0x5, 0x6, -0x2, 0x1, 0x5, -0x3, -0x1, -0x2, -0x1,
2358 // -0x8, 0x2, -0x1, -0x2, 0x7, -0x3, -0x2, -0x3, 0x1, -0x5, 0x5, 0x2, -0x1, -0x6, -0x2, -0x1,
2359 // -0x2, -0x5, 0x0, 0x6, 0x3, -0x4, -0x5, -0x5, -0x4, -0x7, -0x4, 0x1, 0x0, -0x6, -0x7, -0x6,
2360 // 0x1, -0x6, 0x4, -0x4, -0x2, 0x6, -0x7, 0x4, 0x4, 0x5, 0x3, -0x6, -0x8, -0x5, 0x5, -0x7,
2361 // }, .{
2362 // -0x1, -0x5, 0x5, -0x2, 0x6, -0x6, -0x4, -0x5, -0x4, 0x7, -0x6, 0x7, 0x4, -0x5, 0x5, 0x7,
2363 // -0x6, 0x3, -0x4, 0x2, -0x8, 0x4, -0x2, 0x5, -0x5, -0x5, -0x8, 0x3, -0x1, -0x4, -0x8, -0x2,
2364 // -0x2, 0x5, -0x7, -0x3, 0x2, -0x5, -0x6, -0x7, -0x8, -0x2, 0x5, -0x3, 0x2, -0x1, -0x7, -0x4,
2365 // -0x3, -0x3, 0x6, -0x8, 0x3, -0x4, 0x7, 0x3, -0x2, 0x7, -0x1, 0x1, 0x1, 0x6, -0x2, -0x2,
2366 // });
2367 // try testArgs(@Vector(128, i4), .{
2368 // -0x1, -0x3, -0x3, -0x4, 0x3, -0x4, 0x0, -0x4, 0x7, 0x3, 0x5, -0x4, -0x5, -0x4, -0x2, -0x7,
2369 // 0x2, 0x0, -0x4, 0x7, 0x3, -0x5, 0x4, 0x5, -0x2, -0x3, -0x4, 0x6, -0x7, -0x1, 0x1, -0x6,
2370 // 0x1, 0x5, 0x2, 0x5, 0x2, 0x2, -0x4, -0x4, 0x5, 0x2, -0x2, -0x8, -0x1, -0x2, 0x5, 0x3,
2371 // 0x0, -0x5, 0x5, 0x7, 0x6, -0x3, -0x2, 0x0, -0x7, -0x7, -0x4, 0x2, -0x4, 0x7, 0x1, -0x5,
2372 // -0x4, -0x8, 0x2, -0x7, 0x3, -0x4, 0x7, 0x6, -0x7, -0x3, -0x7, 0x2, 0x4, 0x2, -0x5, -0x6,
2373 // 0x3, 0x5, 0x1, 0x6, 0x5, 0x7, 0x7, -0x4, -0x7, -0x1, 0x0, -0x7, 0x6, 0x0, 0x6, 0x0,
2374 // 0x0, -0x5, -0x1, -0x8, 0x7, -0x6, -0x5, -0x2, -0x4, 0x1, 0x1, -0x8, 0x2, 0x6, -0x1, -0x3,
2375 // -0x6, 0x5, -0x8, 0x3, 0x3, 0x1, -0x1, -0x3, -0x3, -0x6, 0x7, -0x6, -0x8, 0x1, -0x7, -0x8,
2376 // }, .{
2377 // 0x1, 0x3, 0x1, 0x3, -0x6, 0x6, 0x2, -0x3, 0x1, -0x7, 0x7, -0x3, -0x1, -0x1, 0x7, 0x2,
2378 // -0x8, 0x2, -0x3, -0x4, 0x4, -0x4, 0x7, 0x6, -0x5, -0x2, -0x1, 0x6, -0x7, 0x4, 0x7, -0x3,
2379 // -0x5, -0x8, -0x5, -0x6, -0x6, 0x2, 0x1, -0x8, 0x4, 0x3, -0x5, 0x7, -0x8, 0x3, -0x1, 0x7,
2380 // -0x3, 0x7, -0x3, -0x2, -0x6, 0x4, 0x2, -0x2, -0x2, -0x7, 0x5, -0x1, -0x6, 0x7, -0x5, 0x5,
2381 // 0x4, 0x5, -0x8, -0x5, 0x6, 0x1, -0x5, 0x7, -0x6, -0x3, -0x4, 0x6, -0x8, 0x7, 0x7, -0x6,
2382 // 0x6, -0x4, 0x2, -0x8, -0x8, -0x4, -0x8, -0x3, 0x6, 0x5, 0x7, -0x6, 0x1, 0x2, -0x7, -0x3,
2383 // -0x3, 0x1, -0x3, 0x3, -0x1, 0x3, -0x7, -0x8, 0x1, -0x3, -0x3, -0x3, -0x4, 0x5, 0x7, -0x7,
2384 // 0x3, 0x2, 0x6, -0x2, -0x4, -0x3, -0x1, 0x5, -0x6, 0x2, 0x3, -0x5, 0x5, -0x3, -0x2, -0x8,
2385 // });
2386 try testArgs(@Vector(1, i4), .{2259 try testArgs(@Vector(1, i4), .{
2387 -0x1,2260 0x2,
2388 }, .{2261 }, .{
2389 -0x1,2262 0x1,
2390 });2263 });
2391 try testArgs(@Vector(2, i4), .{2264 try testArgs(@Vector(2, i4), .{
2392 0x7, 0x5,2265 -0x2, 0x5,
2393 }, .{2266 }, .{
2394 0x4, 0x1,2267 -0x1, 0x2,
2395 });2268 });
2396 try testArgs(@Vector(4, i4), .{2269 try testArgs(@Vector(4, i4), .{
2397 -0x2, -0x3, -0x6, 0x1,2270 -0x8, 0x5, 0x5, -0x2,
2398 }, .{2271 }, .{
2399 0x3, -0x5, -0x1, -0x3,2272 -0x3, -0x7, -0x4, -0x5,
2400 });2273 });
2401 try testArgs(@Vector(8, i4), .{2274 try testArgs(@Vector(8, i4), .{
2402 -0x5, -0x3, -0x2, 0x2, -0x4, -0x4, 0x0, 0x1,2275 0x7, 0x3, 0x2, -0x1, -0x8, -0x2, 0x7, 0x1,
2403 }, .{2276 }, .{
2404 -0x7, -0x2, -0x7, 0x1, 0x6, 0x2, -0x7, 0x7,2277 -0x2, 0x4, -0x8, 0x7, 0x1, -0x5, 0x6, -0x7,
2405 });2278 });
2406 try testArgs(@Vector(16, i4), .{2279 try testArgs(@Vector(16, i4), .{
2407 -0x1, -0x1, 0x6, 0x3, -0x1, 0x2, -0x6, 0x6, 0x1, 0x5, -0x1, 0x7, 0x7, -0x3, -0x1, 0x4,2280 0x6, -0x3, 0x6, 0x6, -0x5, 0x6, 0x3, 0x7, -0x6, 0x7, -0x7, 0x6, -0x2, -0x2, -0x5, 0x0,
2408 }, .{2281 }, .{
2409 0x1, -0x3, 0x4, -0x1, 0x2, 0x5, -0x3, -0x5, -0x5, 0x5, -0x7, 0x7, 0x1, 0x5, -0x5, -0x6,2282 0x2, -0x3, -0x4, -0x5, 0x3, 0x3, -0x5, 0x5, 0x4, -0x1, -0x6, 0x4, 0x7, -0x2, 0x3, 0x2,
2410 });2283 });
2411 try testArgs(@Vector(32, i4), .{2284 try testArgs(@Vector(32, i4), .{
2412 -0x7, 0x4, -0x5, -0x5, -0x5, 0x1, 0x7, 0x3, -0x2, 0x7, -0x3, -0x7, -0x3, -0x2, -0x5, -0x7,2285 -0x1, -0x4, 0x6, 0x6, 0x5, 0x3, 0x4, 0x0, 0x3, 0x7, -0x6, 0x7, -0x2, -0x7, -0x4, 0x6,
2413 0x5, 0x4, 0x3, 0x0, -0x6, -0x2, -0x4, -0x1, 0x5, 0x4, -0x7, -0x7, -0x5, 0x5, -0x5, -0x1,2286 0x3, -0x7, -0x5, 0x1, -0x7, -0x6, 0x1, 0x3, 0x7, -0x8, -0x5, 0x6, -0x5, 0x0, 0x0, -0x8,
2414 }, .{2287 }, .{
2415 0x4, 0x4, 0x5, 0x2, 0x3, -0x4, 0x6, 0x2, -0x7, 0x3, 0x7, 0x2, 0x6, 0x2, 0x2, 0x3,2288 -0x4, -0x4, -0x4, 0x4, -0x5, 0x3, -0x1, 0x6, 0x1, -0x3, -0x1, 0x6, 0x5, -0x8, 0x1, -0x4,
2416 0x7, -0x3, -0x7, -0x2, 0x3, -0x1, -0x4, 0x4, -0x8, 0x1, 0x6, -0x7, 0x5, 0x1, 0x7, -0x2,2289 -0x1, -0x4, 0x1, -0x3, 0x4, 0x6, -0x3, -0x8, -0x7, -0x4, 0x2, -0x3, -0x1, -0x2, 0x6, -0x6,
2417 });2290 });
2418 try testArgs(@Vector(64, i4), .{2291 try testArgs(@Vector(64, i4), .{
2419 0x0, 0x3, 0x7, -0x7, 0x1, -0x5, -0x4, 0x2, 0x2, 0x5, 0x4, 0x0, -0x3, -0x4, -0x4, -0x4,2292 0x0, -0x3, -0x3, 0x5, 0x2, -0x1, 0x4, 0x5, 0x6, -0x2, 0x1, 0x5, -0x3, -0x1, -0x2, -0x1,
2420 -0x7, 0x6, 0x2, 0x1, 0x0, 0x3, -0x6, 0x4, -0x4, 0x2, 0x7, 0x3, -0x4, -0x3, -0x3, -0x3,2293 -0x8, 0x2, -0x1, -0x2, 0x7, -0x3, -0x2, -0x3, 0x1, -0x5, 0x5, 0x2, -0x1, -0x6, -0x2, -0x1,
2421 -0x4, 0x0, -0x3, -0x6, 0x0, 0x1, -0x5, -0x7, -0x2, -0x1, -0x1, -0x7, 0x3, -0x5, -0x4, -0x3,2294 -0x2, -0x5, 0x0, 0x6, 0x3, -0x4, -0x5, -0x5, -0x4, -0x7, -0x4, 0x1, 0x0, -0x6, -0x7, -0x6,
2422 0x5, 0x1, -0x4, 0x7, 0x1, 0x7, -0x5, 0x4, 0x5, -0x4, 0x1, -0x4, 0x4, 0x5, 0x4, -0x2,2295 0x1, -0x6, 0x4, -0x4, -0x2, 0x6, -0x7, 0x4, 0x4, 0x5, 0x3, -0x6, -0x8, -0x5, 0x5, -0x7,
2423 }, .{2296 }, .{
2424 0x2, -0x4, -0x1, 0x4, 0x4, -0x1, -0x3, 0x6, 0x4, 0x2, 0x4, 0x3, -0x6, -0x7, -0x4, 0x6,2297 -0x1, -0x5, 0x5, -0x2, 0x6, -0x6, -0x4, -0x5, -0x4, 0x7, -0x6, 0x7, 0x4, -0x5, 0x5, 0x7,
2425 0x6, 0x4, 0x6, -0x7, 0x2, 0x4, -0x8, -0x1, -0x8, 0x3, -0x2, -0x7, 0x1, 0x5, -0x3, -0x6,2298 -0x6, 0x3, -0x4, 0x2, -0x8, 0x4, -0x2, 0x5, -0x5, -0x5, -0x8, 0x3, -0x1, -0x4, -0x8, -0x2,
2426 -0x8, 0x2, -0x5, 0x7, 0x4, 0x7, -0x4, 0x3, 0x6, -0x7, -0x1, 0x1, -0x8, -0x2, -0x3, 0x3,2299 -0x2, 0x5, -0x7, -0x3, 0x2, -0x5, -0x6, -0x7, -0x8, -0x2, 0x5, -0x3, 0x2, -0x1, -0x7, -0x4,
2427 0x3, -0x4, 0x4, -0x7, 0x5, -0x4, -0x1, 0x2, 0x6, -0x2, -0x5, 0x2, 0x7, 0x2, -0x8, -0x3,2300 -0x3, -0x3, 0x6, -0x8, 0x3, -0x4, 0x7, 0x3, -0x2, 0x7, -0x1, 0x1, 0x1, 0x6, -0x2, -0x2,
2428 });2301 });
2429 try testArgs(@Vector(128, i4), .{2302 try testArgs(@Vector(128, i4), .{
2430 0x3, 0x3, -0x6, 0x3, 0x2, 0x1, 0x5, -0x2, 0x0, -0x7, 0x4, 0x3, 0x0, -0x3, -0x7, -0x5,2303 -0x1, -0x3, -0x3, -0x4, 0x3, -0x4, 0x0, -0x4, 0x7, 0x3, 0x5, -0x4, -0x5, -0x4, -0x2, -0x7,
2431 0x4, 0x0, 0x1, 0x6, 0x3, 0x3, -0x4, 0x7, -0x6, -0x6, 0x6, 0x1, 0x6, -0x5, -0x6, -0x6,2304 0x2, 0x0, -0x4, 0x7, 0x3, -0x5, 0x4, 0x5, -0x2, -0x3, -0x4, 0x6, -0x7, -0x1, 0x1, -0x6,
2432 0x4, -0x2, 0x3, -0x1, -0x4, -0x6, -0x1, 0x2, 0x4, 0x3, -0x2, 0x2, 0x3, 0x5, 0x0, -0x2,2305 0x1, 0x5, 0x2, 0x5, 0x2, 0x2, -0x4, -0x4, 0x5, 0x2, -0x2, -0x8, -0x1, -0x2, 0x5, 0x3,
2433 0x5, 0x6, -0x1, -0x5, 0x6, 0x7, 0x7, -0x6, -0x6, 0x0, 0x0, -0x6, -0x2, -0x7, -0x6, 0x3,2306 0x0, -0x5, 0x5, 0x7, 0x6, -0x3, -0x2, 0x0, -0x7, -0x7, -0x4, 0x2, -0x4, 0x7, 0x1, -0x5,
2434 -0x6, -0x6, 0x4, -0x4, 0x4, -0x5, 0x0, 0x6, 0x6, 0x7, 0x4, -0x5, 0x5, -0x7, -0x7, 0x6,2307 -0x4, -0x8, 0x2, -0x7, 0x3, -0x4, 0x7, 0x6, -0x7, -0x3, -0x7, 0x2, 0x4, 0x2, -0x5, -0x6,
2435 -0x4, 0x4, -0x7, 0x4, 0x3, 0x2, -0x4, -0x1, -0x6, -0x2, 0x5, -0x2, 0x4, -0x7, -0x3, -0x3,2308 0x3, 0x5, 0x1, 0x6, 0x5, 0x7, 0x7, -0x4, -0x7, -0x1, 0x0, -0x7, 0x6, 0x0, 0x6, 0x0,
2436 0x4, 0x1, -0x1, 0x2, -0x1, 0x4, -0x5, -0x3, -0x1, -0x3, 0x3, 0x7, 0x5, -0x1, -0x1, -0x4,2309 0x0, -0x5, -0x1, -0x8, 0x7, -0x6, -0x5, -0x2, -0x4, 0x1, 0x1, -0x8, 0x2, 0x6, -0x1, -0x3,
2437 0x2, 0x1, -0x3, 0x7, -0x6, -0x7, -0x6, -0x4, -0x5, -0x2, 0x5, 0x0, -0x5, 0x7, -0x7, 0x5,2310 -0x6, 0x5, -0x8, 0x3, 0x3, 0x1, -0x1, -0x3, -0x3, -0x6, 0x7, -0x6, -0x8, 0x1, -0x7, -0x8,
2438 }, .{2311 }, .{
2439 -0x6, -0x5, -0x1, 0x4, 0x6, 0x4, -0x1, -0x7, -0x3, 0x4, -0x6, -0x2, -0x3, 0x1, 0x6, 0x2,2312 0x1, 0x3, 0x1, 0x3, -0x6, 0x6, 0x2, -0x3, 0x1, -0x7, 0x7, -0x3, -0x1, -0x1, 0x7, 0x2,
2440 -0x1, -0x3, -0x4, 0x2, 0x3, 0x6, -0x7, 0x3, 0x7, -0x6, 0x1, -0x7, -0x5, 0x6, 0x7, -0x4,2313 -0x8, 0x2, -0x3, -0x4, 0x4, -0x4, 0x7, 0x6, -0x5, -0x2, -0x1, 0x6, -0x7, 0x4, 0x7, -0x3,
2441 0x7, -0x4, 0x2, -0x5, 0x4, 0x5, 0x5, -0x3, -0x1, 0x6, -0x6, -0x2, -0x4, 0x3, -0x4, -0x4,2314 -0x5, -0x8, -0x5, -0x6, -0x6, 0x2, 0x1, -0x8, 0x4, 0x3, -0x5, 0x7, -0x8, 0x3, -0x1, 0x7,
2442 -0x5, 0x6, -0x6, 0x3, -0x6, -0x3, 0x6, 0x5, 0x6, -0x6, -0x3, 0x1, -0x4, -0x5, -0x8, -0x3,2315 -0x3, 0x7, -0x3, -0x2, -0x6, 0x4, 0x2, -0x2, -0x2, -0x7, 0x5, -0x1, -0x6, 0x7, -0x5, 0x5,
2443 -0x4, 0x7, -0x2, -0x1, 0x4, 0x2, -0x3, 0x6, 0x4, 0x6, -0x3, 0x6, 0x5, -0x2, -0x1, 0x5,2316 0x4, 0x5, -0x8, -0x5, 0x6, 0x1, -0x5, 0x7, -0x6, -0x3, -0x4, 0x6, -0x8, 0x7, 0x7, -0x6,
2444 0x6, -0x6, -0x8, -0x2, -0x3, 0x6, -0x6, 0x5, -0x2, -0x6, 0x5, -0x6, 0x2, 0x1, 0x3, -0x3,2317 0x6, -0x4, 0x2, -0x8, -0x8, -0x4, -0x8, -0x3, 0x6, 0x5, 0x7, -0x6, 0x1, 0x2, -0x7, -0x3,
2445 0x7, 0x7, 0x3, -0x1, 0x5, -0x2, -0x3, 0x4, 0x7, -0x7, 0x7, 0x6, -0x2, -0x5, 0x4, -0x5,2318 -0x3, 0x1, -0x3, 0x3, -0x1, 0x3, -0x7, -0x8, 0x1, -0x3, -0x3, -0x3, -0x4, 0x5, 0x7, -0x7,
2446 -0x1, -0x2, 0x1, 0x4, -0x2, 0x1, -0x3, 0x1, -0x4, 0x3, -0x2, -0x6, -0x4, -0x2, -0x8, 0x2,2319 0x3, 0x2, 0x6, -0x2, -0x4, -0x3, -0x1, 0x5, -0x6, 0x2, 0x3, -0x5, 0x5, -0x3, -0x2, -0x8,
2447 });2320 });
24482321
2449 try testArgs(@Vector(1, u4), .{2322 try testArgs(@Vector(1, u4), .{
...@@ -2509,130 +2382,67 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela...@@ -2509,130 +2382,67 @@ fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .rela
2509 0x9, 0x6, 0x4, 0x5, 0xf, 0xe, 0x8, 0x5, 0x2, 0x5, 0xf, 0xb, 0xf, 0x4, 0x6, 0x4,2382 0x9, 0x6, 0x4, 0x5, 0xf, 0xe, 0x8, 0x5, 0x2, 0x5, 0xf, 0xb, 0xf, 0x4, 0x6, 0x4,
2510 });2383 });
25112384
2512 // workaround https://github.com/ziglang/zig/issues/22914
2513 // TODO: try testArgs(@Vector(1, i5), .{
2514 // 0x03,
2515 // }, .{
2516 // 0x0a,
2517 // });
2518 // try testArgs(@Vector(2, i5), .{
2519 // 0x0c, -0x0e,
2520 // }, .{
2521 // -0x0f, -0x0e,
2522 // });
2523 // try testArgs(@Vector(4, i5), .{
2524 // -0x0a, 0x06, -0x05, 0x09,
2525 // }, .{
2526 // -0x0f, 0x05, 0x05, 0x09,
2527 // });
2528 // try testArgs(@Vector(8, i5), .{
2529 // -0x04, -0x04, 0x05, -0x05, 0x0f, -0x0e, 0x0f, -0x0e,
2530 // }, .{
2531 // -0x09, -0x0d, 0x02, 0x01, 0x08, -0x05, -0x09, -0x03,
2532 // });
2533 // try testArgs(@Vector(16, i5), .{
2534 // -0x0e, -0x08, -0x10, -0x0b, -0x10, -0x09, -0x0f, -0x05, -0x10, 0x06, 0x0d, -0x04, 0x09, -0x0e, -0x10, -0x10,
2535 // }, .{
2536 // 0x03, 0x0b, 0x0c, 0x06, -0x0d, 0x0e, -0x09, -0x04, 0x0a, -0x0e, -0x0d, 0x0f, -0x09, -0x0e, -0x0b, 0x03,
2537 // });
2538 // try testArgs(@Vector(32, i5), .{
2539 // -0x08, -0x05, 0x09, -0x08, 0x01, 0x0e, -0x0c, 0x0b, -0x0e, 0x0f, -0x0b, 0x01, -0x03, 0x03, 0x08, 0x04,
2540 // 0x02, 0x0f, -0x0b, -0x0b, 0x0d, 0x00, 0x09, 0x00, -0x06, -0x08, -0x01, 0x0b, 0x05, 0x03, -0x05, -0x07,
2541 // }, .{
2542 // -0x0c, 0x07, 0x0d, -0x09, 0x0a, 0x06, -0x0b, -0x07, -0x0a, 0x08, 0x07, -0x0d, 0x08, 0x07, 0x09, -0x07,
2543 // 0x0b, -0x02, -0x02, -0x02, -0x06, -0x08, 0x0a, -0x0a, 0x02, -0x07, -0x0a, 0x0d, -0x07, -0x05, -0x0e, 0x05,
2544 // });
2545 // try testArgs(@Vector(64, i5), .{
2546 // 0x04, -0x0d, 0x0d, -0x01, 0x07, 0x0c, 0x00, 0x01, -0x07, 0x0a, -0x01, -0x01, 0x08, -0x0b, -0x03, -0x06,
2547 // -0x03, -0x03, -0x0c, 0x0e, -0x0c, -0x02, 0x07, -0x03, 0x0e, -0x0a, -0x0e, -0x06, -0x08, 0x0a, -0x0c, -0x0c,
2548 // 0x06, -0x04, 0x04, 0x00, 0x05, 0x07, 0x04, 0x06, -0x01, 0x0a, 0x07, -0x08, 0x00, 0x0f, 0x0f, 0x0d,
2549 // -0x07, 0x0f, 0x05, -0x0b, -0x08, -0x0c, 0x0d, -0x05, -0x05, 0x0e, 0x02, 0x06, 0x0d, 0x06, 0x00, 0x0a,
2550 // }, .{
2551 // 0x02, -0x09, -0x01, -0x10, -0x0c, -0x0f, -0x10, -0x0d, 0x02, 0x0e, 0x07, -0x01, -0x0a, -0x0b, 0x05, -0x0e,
2552 // -0x09, 0x03, 0x08, -0x0d, 0x0d, 0x03, -0x02, 0x0e, 0x0c, 0x03, 0x0b, -0x0d, -0x04, -0x10, 0x0e, 0x0d,
2553 // 0x09, -0x03, -0x0e, -0x03, -0x05, -0x0c, -0x07, 0x08, -0x06, 0x08, -0x0e, 0x02, -0x10, 0x01, 0x01, -0x0a,
2554 // 0x01, -0x09, 0x03, -0x01, 0x05, 0x09, 0x06, -0x03, -0x0a, 0x08, -0x0e, 0x0e, 0x07, -0x05, -0x0c, -0x10,
2555 // });
2556 // try testArgs(@Vector(128, i5), .{
2557 // 0x01, 0x0b, -0x01, -0x10, -0x05, 0x05, -0x09, 0x0e, -0x0e, 0x04, 0x0f, -0x06, 0x0f, 0x04, -0x02, 0x0a,
2558 // -0x08, -0x06, 0x08, -0x07, -0x08, 0x0e, 0x06, 0x0d, -0x07, -0x04, 0x04, -0x0b, 0x02, -0x06, 0x07, -0x10,
2559 // 0x0d, 0x09, 0x0b, -0x04, 0x0e, -0x06, -0x0a, 0x01, 0x06, 0x08, 0x01, -0x0b, -0x09, -0x08, -0x0c, -0x0b,
2560 // 0x07, 0x06, 0x0d, 0x0c, -0x0b, -0x03, -0x06, -0x0c, -0x0e, 0x05, 0x0b, 0x08, -0x01, 0x00, 0x01, 0x0a,
2561 // 0x00, 0x0a, 0x06, 0x06, -0x10, -0x05, -0x05, -0x0f, 0x02, -0x06, -0x08, -0x08, 0x0f, 0x09, -0x07, -0x05,
2562 // 0x07, 0x06, 0x03, 0x05, 0x02, 0x0f, 0x0d, -0x0e, -0x03, -0x01, -0x06, -0x02, -0x01, -0x07, 0x09, 0x05,
2563 // -0x07, -0x07, -0x08, 0x0c, -0x0e, 0x09, -0x0c, -0x0d, 0x07, 0x04, 0x07, -0x03, 0x09, 0x0e, 0x04, 0x02,
2564 // 0x0f, -0x02, -0x10, -0x03, -0x0d, -0x04, 0x0c, -0x06, -0x01, -0x0e, -0x0e, -0x0a, 0x0d, -0x0e, 0x04, 0x03,
2565 // }, .{
2566 // -0x08, -0x09, -0x04, 0x0f, -0x0f, -0x08, -0x04, 0x0b, 0x09, -0x0b, -0x02, 0x0f, 0x01, -0x01, -0x0a, -0x0a,
2567 // 0x08, 0x09, 0x0d, -0x06, 0x0f, -0x02, 0x0c, 0x01, 0x0c, 0x02, -0x04, 0x0b, 0x05, 0x02, -0x08, -0x09,
2568 // 0x01, 0x0f, -0x0b, 0x02, -0x06, 0x08, -0x0e, -0x02, -0x0b, -0x03, -0x01, 0x0c, 0x09, -0x04, 0x08, -0x0a,
2569 // 0x09, -0x05, 0x08, 0x0e, 0x05, 0x03, -0x0a, 0x0d, -0x03, 0x06, 0x0f, -0x09, 0x0a, 0x03, 0x02, 0x0c,
2570 // 0x08, -0x0a, 0x06, 0x0e, 0x08, 0x02, 0x08, -0x04, -0x0d, -0x02, -0x08, -0x0a, 0x0a, 0x0c, -0x03, 0x04,
2571 // 0x0b, -0x0c, -0x0e, 0x01, 0x07, -0x01, 0x09, 0x0f, -0x06, -0x05, -0x0e, -0x01, -0x04, 0x0a, -0x0a, -0x0d,
2572 // -0x10, -0x10, -0x03, -0x0f, -0x0c, -0x0a, -0x0b, -0x06, -0x04, -0x0f, -0x0b, -0x08, 0x0e, 0x04, -0x01, -0x0b,
2573 // -0x06, 0x0a, 0x0a, -0x0c, -0x0c, 0x0b, -0x02, 0x0c, -0x04, -0x06, -0x0c, -0x09, -0x09, -0x0b, -0x0c, -0x0b,
2574 // });
2575 try testArgs(@Vector(1, i5), .{2385 try testArgs(@Vector(1, i5), .{
2576 -0x0f,2386 0x03,
2577 }, .{2387 }, .{
2578 -0x03,2388 0x0a,
2579 });2389 });
2580 try testArgs(@Vector(2, i5), .{2390 try testArgs(@Vector(2, i5), .{
2581 0x0b, -0x04,2391 0x0c, -0x0e,
2582 }, .{2392 }, .{
2583 -0x05, -0x08,2393 -0x0f, -0x0e,
2584 });2394 });
2585 try testArgs(@Vector(4, i5), .{2395 try testArgs(@Vector(4, i5), .{
2586 0x08, 0x0f, -0x06, -0x0d,2396 -0x0a, 0x06, -0x05, 0x09,
2587 }, .{2397 }, .{
2588 -0x03, -0x0a, -0x05, -0x03,2398 -0x0f, 0x05, 0x05, 0x09,
2589 });2399 });
2590 try testArgs(@Vector(8, i5), .{2400 try testArgs(@Vector(8, i5), .{
2591 0x08, 0x0c, 0x07, 0x00, -0x06, 0x08, 0x08, 0x0d,2401 -0x04, -0x04, 0x05, -0x05, 0x0f, -0x0e, 0x0f, -0x0e,
2592 }, .{2402 }, .{
2593 0x07, 0x09, 0x05, -0x08, 0x08, -0x0e, -0x0e, -0x0e,2403 -0x09, -0x0d, 0x02, 0x01, 0x08, -0x05, -0x09, -0x03,
2594 });2404 });
2595 try testArgs(@Vector(16, i5), .{2405 try testArgs(@Vector(16, i5), .{
2596 0x06, 0x0b, 0x07, 0x0e, 0x0e, 0x02, -0x08, -0x0b, -0x03, 0x09, -0x08, 0x0e, -0x03, -0x0a, 0x01, 0x0b,2406 -0x0e, -0x08, -0x10, -0x0b, -0x10, -0x09, -0x0f, -0x05, -0x10, 0x06, 0x0d, -0x04, 0x09, -0x0e, -0x10, -0x10,
2597 }, .{2407 }, .{
2598 -0x05, 0x0f, -0x08, -0x10, -0x07, 0x06, 0x08, 0x01, 0x0a, 0x06, 0x05, -0x0f, 0x03, 0x05, 0x0b, -0x06,2408 0x03, 0x0b, 0x0c, 0x06, -0x0d, 0x0e, -0x09, -0x04, 0x0a, -0x0e, -0x0d, 0x0f, -0x09, -0x0e, -0x0b, 0x03,
2599 });2409 });
2600 try testArgs(@Vector(32, i5), .{2410 try testArgs(@Vector(32, i5), .{
2601 0x0e, 0x07, -0x08, 0x0b, 0x04, -0x05, 0x0f, 0x02, 0x04, -0x0c, 0x0d, 0x09, 0x0e, -0x02, -0x0f, 0x04,2411 -0x08, -0x05, 0x09, -0x08, 0x01, 0x0e, -0x0c, 0x0b, -0x0e, 0x0f, -0x0b, 0x01, -0x03, 0x03, 0x08, 0x04,
2602 -0x03, -0x02, 0x09, -0x0d, 0x01, 0x00, -0x0e, -0x0a, 0x02, -0x06, 0x0c, 0x03, 0x06, 0x0e, 0x06, -0x07,2412 0x02, 0x0f, -0x0b, -0x0b, 0x0d, 0x00, 0x09, 0x00, -0x06, -0x08, -0x01, 0x0b, 0x05, 0x03, -0x05, -0x07,
2603 }, .{2413 }, .{
2604 -0x0a, 0x01, 0x0a, -0x10, 0x06, 0x09, 0x0e, 0x03, 0x0e, -0x09, 0x08, -0x08, 0x06, 0x0c, -0x0a, -0x07,2414 -0x0c, 0x07, 0x0d, -0x09, 0x0a, 0x06, -0x0b, -0x07, -0x0a, 0x08, 0x07, -0x0d, 0x08, 0x07, 0x09, -0x07,
2605 0x04, -0x02, -0x09, 0x0b, 0x0e, -0x03, -0x01, -0x0d, 0x0e, -0x0a, -0x02, 0x08, 0x0e, 0x02, -0x04, -0x05,2415 0x0b, -0x02, -0x02, -0x02, -0x06, -0x08, 0x0a, -0x0a, 0x02, -0x07, -0x0a, 0x0d, -0x07, -0x05, -0x0e, 0x05,
2606 });2416 });
2607 try testArgs(@Vector(64, i5), .{2417 try testArgs(@Vector(64, i5), .{
2608 0x04, 0x02, -0x04, -0x0a, -0x0b, -0x0b, -0x0c, -0x08, -0x0b, -0x05, 0x0c, 0x0b, 0x05, 0x02, -0x01, -0x06,2418 0x04, -0x0d, 0x0d, -0x01, 0x07, 0x0c, 0x00, 0x01, -0x07, 0x0a, -0x01, -0x01, 0x08, -0x0b, -0x03, -0x06,
2609 -0x09, -0x06, 0x0a, 0x0f, -0x06, -0x0d, 0x0c, 0x05, 0x0b, -0x06, -0x02, 0x09, 0x0e, -0x09, 0x05, 0x0a,2419 -0x03, -0x03, -0x0c, 0x0e, -0x0c, -0x02, 0x07, -0x03, 0x0e, -0x0a, -0x0e, -0x06, -0x08, 0x0a, -0x0c, -0x0c,
2610 -0x0c, 0x0b, -0x01, -0x04, 0x01, 0x0c, 0x0f, -0x0f, -0x07, 0x0a, 0x04, 0x02, 0x08, -0x01, -0x03, 0x0a,2420 0x06, -0x04, 0x04, 0x00, 0x05, 0x07, 0x04, 0x06, -0x01, 0x0a, 0x07, -0x08, 0x00, 0x0f, 0x0f, 0x0d,
2611 -0x0e, -0x04, -0x03, -0x0b, -0x01, 0x02, -0x05, 0x08, -0x03, 0x02, -0x01, -0x05, 0x07, -0x09, 0x0f, 0x00,2421 -0x07, 0x0f, 0x05, -0x0b, -0x08, -0x0c, 0x0d, -0x05, -0x05, 0x0e, 0x02, 0x06, 0x0d, 0x06, 0x00, 0x0a,
2612 }, .{2422 }, .{
2613 -0x09, -0x02, -0x0a, -0x05, -0x05, -0x0d, 0x04, -0x05, 0x0e, -0x01, -0x07, 0x04, 0x0d, -0x0f, -0x09, -0x04,2423 0x02, -0x09, -0x01, -0x10, -0x0c, -0x0f, -0x10, -0x0d, 0x02, 0x0e, 0x07, -0x01, -0x0a, -0x0b, 0x05, -0x0e,
2614 -0x0b, -0x0b, 0x0e, 0x01, 0x06, -0x0f, -0x0b, 0x03, -0x04, 0x05, -0x03, -0x09, 0x0a, 0x04, 0x04, -0x06,2424 -0x09, 0x03, 0x08, -0x0d, 0x0d, 0x03, -0x02, 0x0e, 0x0c, 0x03, 0x0b, -0x0d, -0x04, -0x10, 0x0e, 0x0d,
2615 -0x02, 0x01, 0x0e, 0x0c, -0x10, 0x0f, -0x09, -0x08, -0x10, -0x02, -0x07, -0x0d, 0x08, 0x07, -0x03, 0x01,2425 0x09, -0x03, -0x0e, -0x03, -0x05, -0x0c, -0x07, 0x08, -0x06, 0x08, -0x0e, 0x02, -0x10, 0x01, 0x01, -0x0a,
2616 -0x0d, -0x10, -0x07, 0x08, 0x0d, 0x07, 0x09, 0x0f, 0x04, 0x06, -0x05, -0x09, 0x04, -0x04, -0x04, 0x0d,2426 0x01, -0x09, 0x03, -0x01, 0x05, 0x09, 0x06, -0x03, -0x0a, 0x08, -0x0e, 0x0e, 0x07, -0x05, -0x0c, -0x10,
2617 });2427 });
2618 try testArgs(@Vector(128, i5), .{2428 try testArgs(@Vector(128, i5), .{
2619 -0x02, -0x07, -0x03, 0x08, -0x0b, -0x09, -0x0c, 0x0d, -0x0e, 0x08, -0x03, -0x09, 0x0a, 0x02, -0x0d, 0x05,2429 0x01, 0x0b, -0x01, -0x10, -0x05, 0x05, -0x09, 0x0e, -0x0e, 0x04, 0x0f, -0x06, 0x0f, 0x04, -0x02, 0x0a,
2620 -0x04, -0x0c, -0x07, 0x08, -0x0a, 0x04, 0x08, -0x07, 0x0c, 0x03, 0x0e, 0x0f, 0x08, -0x08, -0x02, -0x0a,2430 -0x08, -0x06, 0x08, -0x07, -0x08, 0x0e, 0x06, 0x0d, -0x07, -0x04, 0x04, -0x0b, 0x02, -0x06, 0x07, -0x10,
2621 -0x08, 0x04, -0x0c, -0x09, 0x0a, -0x0e, -0x04, -0x05, 0x02, 0x0d, -0x04, -0x0f, -0x0d, -0x02, 0x05, -0x07,2431 0x0d, 0x09, 0x0b, -0x04, 0x0e, -0x06, -0x0a, 0x01, 0x06, 0x08, 0x01, -0x0b, -0x09, -0x08, -0x0c, -0x0b,
2622 0x06, 0x0b, -0x0b, -0x04, -0x04, -0x0e, -0x0c, 0x09, 0x02, -0x0c, 0x0e, 0x09, 0x02, -0x04, 0x05, 0x04,2432 0x07, 0x06, 0x0d, 0x0c, -0x0b, -0x03, -0x06, -0x0c, -0x0e, 0x05, 0x0b, 0x08, -0x01, 0x00, 0x01, 0x0a,
2623 -0x0e, -0x02, -0x08, 0x05, 0x00, 0x0f, -0x0a, 0x0a, 0x0b, 0x0b, 0x02, -0x02, -0x0d, -0x08, -0x0d, 0x03,2433 0x00, 0x0a, 0x06, 0x06, -0x10, -0x05, -0x05, -0x0f, 0x02, -0x06, -0x08, -0x08, 0x0f, 0x09, -0x07, -0x05,
2624 0x0b, -0x0b, 0x02, 0x05, -0x06, -0x07, -0x08, -0x0a, -0x09, -0x03, -0x0e, -0x0f, -0x0b, 0x03, 0x00, 0x09,2434 0x07, 0x06, 0x03, 0x05, 0x02, 0x0f, 0x0d, -0x0e, -0x03, -0x01, -0x06, -0x02, -0x01, -0x07, 0x09, 0x05,
2625 0x07, 0x0a, -0x0b, 0x06, 0x01, -0x03, -0x0a, -0x09, -0x07, -0x0d, 0x0a, -0x0c, 0x01, -0x09, -0x01, -0x01,2435 -0x07, -0x07, -0x08, 0x0c, -0x0e, 0x09, -0x0c, -0x0d, 0x07, 0x04, 0x07, -0x03, 0x09, 0x0e, 0x04, 0x02,
2626 -0x09, 0x00, 0x0f, 0x05, -0x0b, 0x0c, 0x04, 0x0c, 0x0b, -0x08, 0x01, -0x05, -0x04, 0x02, 0x0c, 0x04,2436 0x0f, -0x02, -0x10, -0x03, -0x0d, -0x04, 0x0c, -0x06, -0x01, -0x0e, -0x0e, -0x0a, 0x0d, -0x0e, 0x04, 0x03,
2627 }, .{2437 }, .{
2628 -0x08, -0x05, -0x0a, 0x06, -0x06, -0x04, 0x01, 0x07, 0x0d, -0x0a, -0x02, 0x0b, -0x01, -0x0c, -0x04, 0x0c,2438 -0x08, -0x09, -0x04, 0x0f, -0x0f, -0x08, -0x04, 0x0b, 0x09, -0x0b, -0x02, 0x0f, 0x01, -0x01, -0x0a, -0x0a,
2629 -0x06, 0x0d, 0x04, 0x0b, 0x07, 0x0c, 0x02, 0x02, -0x02, 0x09, 0x0d, -0x07, -0x08, 0x07, -0x04, 0x06,2439 0x08, 0x09, 0x0d, -0x06, 0x0f, -0x02, 0x0c, 0x01, 0x0c, 0x02, -0x04, 0x0b, 0x05, 0x02, -0x08, -0x09,
2630 -0x0a, 0x07, 0x01, 0x07, -0x0d, 0x02, 0x09, -0x02, 0x0e, -0x08, -0x03, -0x07, 0x07, 0x0a, -0x0e, -0x06,2440 0x01, 0x0f, -0x0b, 0x02, -0x06, 0x08, -0x0e, -0x02, -0x0b, -0x03, -0x01, 0x0c, 0x09, -0x04, 0x08, -0x0a,
2631 0x0b, -0x0d, 0x0c, -0x06, -0x07, 0x0a, 0x0b, -0x0a, 0x05, 0x01, -0x0d, -0x08, -0x0e, -0x08, -0x07, -0x01,2441 0x09, -0x05, 0x08, 0x0e, 0x05, 0x03, -0x0a, 0x0d, -0x03, 0x06, 0x0f, -0x09, 0x0a, 0x03, 0x02, 0x0c,
2632 -0x10, 0x07, 0x03, 0x06, 0x03, 0x0a, 0x08, -0x0a, 0x04, -0x09, 0x0c, 0x01, -0x10, 0x02, 0x09, 0x0d,2442 0x08, -0x0a, 0x06, 0x0e, 0x08, 0x02, 0x08, -0x04, -0x0d, -0x02, -0x08, -0x0a, 0x0a, 0x0c, -0x03, 0x04,
2633 0x0f, -0x01, -0x06, -0x0a, 0x04, 0x01, 0x07, 0x07, 0x0e, 0x0e, -0x04, -0x0a, -0x03, 0x07, 0x07, -0x10,2443 0x0b, -0x0c, -0x0e, 0x01, 0x07, -0x01, 0x09, 0x0f, -0x06, -0x05, -0x0e, -0x01, -0x04, 0x0a, -0x0a, -0x0d,
2634 -0x04, 0x0e, -0x09, -0x0f, -0x0b, -0x0e, 0x0c, -0x0d, 0x0b, -0x06, 0x0f, -0x0d, 0x0b, 0x04, -0x10, -0x10,2444 -0x10, -0x10, -0x03, -0x0f, -0x0c, -0x0a, -0x0b, -0x06, -0x04, -0x0f, -0x0b, -0x08, 0x0e, 0x04, -0x01, -0x0b,
2635 -0x0e, 0x09, 0x0d, -0x02, -0x0e, -0x06, -0x0b, -0x0f, -0x08, -0x0f, -0x0d, -0x0a, -0x02, 0x03, 0x0b, -0x0a,2445 -0x06, 0x0a, 0x0a, -0x0c, -0x0c, 0x0b, -0x02, 0x0c, -0x04, -0x06, -0x0c, -0x09, -0x09, -0x0b, -0x0c, -0x0b,
2636 });2446 });
26372447
2638 try testArgs(@Vector(1, u5), .{2448 try testArgs(@Vector(1, u5), .{