Get the static test table. Used by both runSimdTests() and the RPC handler.
| 1280 | |
| 1281 | /// Get the static test table. Used by both runSimdTests() and the RPC handler. |
| 1282 | inline void getTests(const SimdTestEntry** out_tests, int* out_count) { |
| 1283 | static const SimdTestEntry tests[] = { |
| 1284 | // Load/Store u8x16 |
| 1285 | {"load/store u8x16", test_load_store_u8_16}, |
| 1286 | {"load/store u8x16 boundary", test_load_store_u8_16_boundary}, |
| 1287 | // Load/Store u32x4 |
| 1288 | {"load/store u32x4", test_load_store_u32_4}, |
| 1289 | {"load/store u32x4 boundary", test_load_store_u32_4_boundary}, |
| 1290 | {"load/store u32x4 aligned", test_load_store_u32_4_aligned}, |
| 1291 | // Load/Store f32x4 |
| 1292 | {"load/store f32x4", test_load_store_f32_4}, |
| 1293 | {"load/store f32x4 special", test_load_store_f32_4_special}, |
| 1294 | // Saturating Arithmetic u8x16 |
| 1295 | {"add_sat u8x16", test_add_sat_u8_16}, |
| 1296 | {"add_sat u8x16 full saturate", test_add_sat_u8_16_full_saturate}, |
| 1297 | {"sub_sat u8x16", test_sub_sat_u8_16}, |
| 1298 | {"sub_sat u8x16 full clamp", test_sub_sat_u8_16_full_clamp}, |
| 1299 | // Scale / Blend u8x16 |
| 1300 | {"scale u8x16", test_scale_u8_16}, |
| 1301 | {"scale u8x16 zero", test_scale_u8_16_zero}, |
| 1302 | {"scale u8x16 full", test_scale_u8_16_full}, |
| 1303 | {"blend u8x16", test_blend_u8_16}, |
| 1304 | {"blend u8x16 endpoints", test_blend_u8_16_endpoints}, |
| 1305 | // Comparison u8x16 |
| 1306 | {"min u8x16", test_min_u8_16}, |
| 1307 | {"max u8x16", test_max_u8_16}, |
| 1308 | {"avg u8x16", test_avg_u8_16}, |
| 1309 | {"avg_round u8x16", test_avg_round_u8_16}, |
| 1310 | // Bitwise u8x16 |
| 1311 | {"and u8x16", test_and_u8_16}, |
| 1312 | {"or u8x16", test_or_u8_16}, |
| 1313 | {"xor u8x16", test_xor_u8_16}, |
| 1314 | {"andnot u8x16", test_andnot_u8_16}, |
| 1315 | // Broadcast / Construct u32x4 |
| 1316 | {"set1 u32x4", test_set1_u32_4}, |
| 1317 | {"set1 u32x4 zero", test_set1_u32_4_zero}, |
| 1318 | {"set u32x4", test_set_u32_4}, |
| 1319 | {"set1 f32x4", test_set1_f32_4}, |
| 1320 | // Extract u32x4 |
| 1321 | {"extract u32x4", test_extract_u32_4}, |
| 1322 | // Bitwise u32x4 |
| 1323 | {"xor u32x4", test_xor_u32_4}, |
| 1324 | {"and u32x4", test_and_u32_4}, |
| 1325 | {"or u32x4", test_or_u32_4}, |
| 1326 | // Arithmetic i32x4 |
| 1327 | {"add i32x4", test_add_i32_4}, |
| 1328 | {"sub i32x4", test_sub_i32_4}, |
| 1329 | // Shift u32x4 / i32x4 |
| 1330 | {"srl u32x4", test_srl_u32_4}, |
| 1331 | {"sll u32x4", test_sll_u32_4}, |
| 1332 | {"sra i32x4", test_sra_i32_4}, |
| 1333 | // Min/Max i32x4 (signed) |
| 1334 | {"min i32x4", test_min_i32_4}, |
| 1335 | {"max i32x4", test_max_i32_4}, |
| 1336 | // Fixed-Point Multiply |
| 1337 | {"mulhi i32x4 (Q16.16)", test_mulhi_i32_4}, |
| 1338 | {"mulhi u32x4 (Q16.16)", test_mulhi_u32_4}, |
| 1339 | {"mulhi su32x4 (Q16.16)", test_mulhi_su32_4}, |
no outgoing calls
no test coverage detected