Changes between Initial Version and Version 1 of Ticket #19866


Ignore:
Timestamp:
Feb 20, 2026, 10:26:37 AM (7 days ago)
Author:
Eric Pettersen
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #19866

    • Property Cc Tom Goddard Eric Pettersen added
    • Property Component UnassignedThird Party
    • Property Owner set to Tristan Croll
    • Property Platformall
    • Property ProjectChimeraX
    • Property Status newassigned
    • Property Summary ChimeraX bug report submissionISOLde sim start: various OpenMM/OpenCL errors on Tahoe
  • Ticket #19866 – Description

    initial v1  
    22442244EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    22452245
    2246 program_source:172:9: note: expanded from macro '\ 
    2247 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    2248 __asm("air." #EXPR "." #AIR_TYPE); \ 
    2249 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    2250 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    2251 is invalid in OpenCL 
    2252 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    2253 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    2254 
    2255 program_source:175:10: note: expanded from macro '\ 
    2256 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    2257 return ___metal_##EXPR(x, false); \ 
    2258 
    2259 <scratch space>:16:1: note: expanded from here 
    2260 ___metal_ctz 
    2261 
    2262 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    2263 invalid in OpenCL 
    2264 DECLARE_REDUCTION_UNIFORM(sum, reduce_add) 
    2265 
    2266 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2267 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2268 
    2269 program_source:305:26: note: expanded from macro '\ 
    2270 DECLARE_I_REDUCTION_UNIFORM' 
    2271 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2272 
    2273 <scratch space>:17:1: note: expanded from here 
    2274 simd_sum 
    2275 
    2276 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    2277 invalid in OpenCL 
    2278 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2279 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2280 
    2281 program_source:305:26: note: expanded from macro '\ 
    2282 DECLARE_I_REDUCTION_UNIFORM' 
    2283 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2284 
    2285 <scratch space>:17:1: note: expanded from here 
    2286 simd_sum 
    2287 
    2288 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    2289 invalid in OpenCL 
    2290 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2291 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2292 
    2293 program_source:308:26: note: expanded from macro '\ 
    2294 DECLARE_F_REDUCTION_UNIFORM' 
    2295 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2296 
    2297 <scratch space>:19:1: note: expanded from here 
    2298 simd_sum 
    2299 
    2300 program_source:318:1: error: implicit declaration of function
    2301 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    2302 DECLARE_REDUCTION_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    2303 
    2304 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2305 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2306 
    2307 program_source:305:26: note: expanded from macro '\ 
    2308 DECLARE_I_REDUCTION_UNIFORM' 
    2309 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2310 
    2311 <scratch space>:21:1: note: expanded from here 
    2312 simd_prefix_inclusive_sum 
    2313 
    2314 program_source:318:1: error: implicit declaration of function
    2315 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    2316 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2317 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2318 
    2319 program_source:305:26: note: expanded from macro '\ 
    2320 DECLARE_I_REDUCTION_UNIFORM' 
    2321 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2322 
    2323 <scratch space>:21:1: note: expanded from here 
    2324 simd_prefix_inclusive_sum 
    2325 
    2326 program_source:318:1: error: implicit declaration of function
    2327 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    2328 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2329 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2330 
    2331 program_source:308:26: note: expanded from macro '\ 
    2332 DECLARE_F_REDUCTION_UNIFORM' 
    2333 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2334 
    2335 <scratch space>:23:1: note: expanded from here 
    2336 simd_prefix_inclusive_sum 
    2337 
    2338 program_source:319:1: error: implicit declaration of function
    2339 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2340 DECLARE_REDUCTION_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    2341 
    2342 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2343 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2344 
    2345 program_source:305:26: note: expanded from macro '\ 
    2346 DECLARE_I_REDUCTION_UNIFORM' 
    2347 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2348 
    2349 <scratch space>:25:1: note: expanded from here 
    2350 simd_prefix_exclusive_sum 
    2351 
    2352 program_source:319:1: error: implicit declaration of function
    2353 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2354 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2355 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2356 
    2357 program_source:305:26: note: expanded from macro '\ 
    2358 DECLARE_I_REDUCTION_UNIFORM' 
    2359 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2360 
    2361 <scratch space>:25:1: note: expanded from here 
    2362 simd_prefix_exclusive_sum 
    2363 
    2364 program_source:319:1: error: implicit declaration of function
    2365 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2366 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2367 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2368 
    2369 program_source:308:26: note: expanded from macro '\ 
    2370 DECLARE_F_REDUCTION_UNIFORM' 
    2371 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2372 
    2373 <scratch space>:27:1: note: expanded from here 
    2374 simd_prefix_exclusive_sum 
    2375 
    2376 program_source:320:1: error: implicit declaration of function 'simd_min' is
    2377 invalid in OpenCL 
    2378 DECLARE_REDUCTION_UNIFORM(min, reduce_min) 
    2379 
    2380 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2381 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2382 
    2383 program_source:305:26: note: expanded from macro '\ 
    2384 DECLARE_I_REDUCTION_UNIFORM' 
    2385 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2386 
    2387 <scratch space>:29:1: note: expanded from here 
    2388 simd_min 
    2389 
    2390 program_source:320:1: error: implicit declaration of function 'simd_min' is
    2391 invalid in OpenCL 
    2392 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2393 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2394 
    2395 program_source:305:26: note: expanded from macro '\ 
    2396 DECLARE_I_REDUCTION_UNIFORM' 
    2397 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2398 
    2399 <scratch space>:29:1: note: expanded from here 
    2400 simd_min 
    2401 
    2402 program_source:320:1: error: implicit declaration of function 'simd_min' is
    2403 invalid in OpenCL 
    2404 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2405 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2406 
    2407 program_source:308:26: note: expanded from macro '\ 
    2408 DECLARE_F_REDUCTION_UNIFORM' 
    2409 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2410 
    2411 <scratch space>:31:1: note: expanded from here 
    2412 simd_min 
    2413 
    2414 program_source:321:1: error: implicit declaration of function 'simd_max' is
    2415 invalid in OpenCL 
    2416 DECLARE_REDUCTION_UNIFORM(max, reduce_max) 
    2417 
    2418 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2419 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2420 
    2421 program_source:305:26: note: expanded from macro '\ 
    2422 DECLARE_I_REDUCTION_UNIFORM' 
    2423 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2424 
    2425 <scratch space>:33:1: note: expanded from here 
    2426 simd_max 
    2427 
    2428 program_source:321:1: error: implicit declaration of function 'simd_max' is
    2429 invalid in OpenCL 
    2430 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2431 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2432 
    2433 program_source:305:26: note: expanded from macro '\ 
    2434 DECLARE_I_REDUCTION_UNIFORM' 
    2435 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2436 
    2437 <scratch space>:33:1: note: expanded from here 
    2438 simd_max 
    2439 
    2440 program_source:321:1: error: implicit declaration of function 'simd_max' is
    2441 invalid in OpenCL 
    2442 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2443 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2444 
    2445 program_source:308:26: note: expanded from macro '\ 
    2446 DECLARE_F_REDUCTION_UNIFORM' 
    2447 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2448 
    2449 <scratch space>:35:1: note: expanded from here 
    2450 simd_max 
    2451 
    2452 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    2453 is invalid in OpenCL 
    2454 DECLARE_SHUFFLE_UNIFORM(shuffle, shuffle) 
    2455 
    2456 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2457 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2458 
    2459 <scratch space>:37:1: note: expanded from here 
    2460 simd_shuffle 
    2461 
    2462 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    2463 is invalid in OpenCL 
    2464 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2465 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2466 
    2467 <scratch space>:37:1: note: expanded from here 
    2468 simd_shuffle 
    2469 
    2470 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    2471 is invalid in OpenCL 
    2472 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2473 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2474 
    2475 <scratch space>:37:1: note: expanded from here 
    2476 simd_shuffle 
    2477 
    2478 program_source:324:1: error: implicit declaration of function
    2479 'simd_shuffle_xor' is invalid in OpenCL 
    2480 DECLARE_SHUFFLE_UNIFORM(shuffle_xor, shuffle_xor) 
    2481 
    2482 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2483 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2484 
    2485 <scratch space>:39:1: note: expanded from here 
    2486 simd_shuffle_xor 
    2487 
    2488 program_source:324:1: error: implicit declaration of function
    2489 'simd_shuffle_xor' is invalid in OpenCL 
    2490 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2491 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2492 
    2493 <scratch space>:39:1: note: expanded from here 
    2494 simd_shuffle_xor 
    2495 
    2496 program_source:324:1: error: implicit declaration of function
    2497 'simd_shuffle_xor' is invalid in OpenCL 
    2498 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2499 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2500 
    2501 <scratch space>:39:1: note: expanded from here 
    2502 simd_shuffle_xor 
    2503 
    2504 program_source:325:1: error: implicit declaration of function
    2505 'simd_shuffle_up' is invalid in OpenCL 
    2506 DECLARE_SHUFFLE_UNIFORM(shuffle_up, shuffle_up) 
    2507 
    2508 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2509 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2510 
    2511 <scratch space>:41:1: note: expanded from here 
    2512 simd_shuffle_up 
    2513 
    2514 program_source:325:1: error: implicit declaration of function
    2515 'simd_shuffle_up' is invalid in OpenCL 
    2516 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2517 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2518 
    2519 <scratch space>:41:1: note: expanded from here 
    2520 simd_shuffle_up 
    2521 
    2522 program_source:325:1: error: implicit declaration of function
    2523 'simd_shuffle_up' is invalid in OpenCL 
    2524 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2525 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2526 
    2527 <scratch space>:41:1: note: expanded from here 
    2528 simd_shuffle_up 
    2529 
    2530 program_source:326:1: error: implicit declaration of function
    2531 'simd_shuffle_down' is invalid in OpenCL 
    2532 DECLARE_SHUFFLE_UNIFORM(shuffle_down, shuffle_down) 
    2533 
    2534 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2535 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2536 
    2537 <scratch space>:43:1: note: expanded from here 
    2538 simd_shuffle_down 
    2539 
    2540 program_source:326:1: error: implicit declaration of function
    2541 'simd_shuffle_down' is invalid in OpenCL 
    2542 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2543 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2544 
    2545 <scratch space>:43:1: note: expanded from here 
    2546 simd_shuffle_down 
    2547 
    2548 program_source:326:1: error: implicit declaration of function
    2549 'simd_shuffle_down' is invalid in OpenCL 
    2550 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2551 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2552 
    2553 <scratch space>:43:1: note: expanded from here 
    2554 simd_shuffle_down 
    2555 
    2556 program_source:327:1: error: implicit declaration of function
    2557 'simd_shuffle_rotate_down' is invalid in OpenCL 
    2558 DECLARE_SHUFFLE_UNIFORM(shuffle_rotate_down, rotate) 
    2559 
    2560 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2561 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2562 
    2563 <scratch space>:45:1: note: expanded from here 
    2564 simd_shuffle_rotate_down 
    2565 
    2566 program_source:327:1: error: implicit declaration of function
    2567 'simd_shuffle_rotate_down' is invalid in OpenCL 
    2568 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2569 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2570 
    2571 <scratch space>:45:1: note: expanded from here 
    2572 simd_shuffle_rotate_down 
    2573 
    2574 program_source:327:1: error: implicit declaration of function
    2575 'simd_shuffle_rotate_down' is invalid in OpenCL 
    2576 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2577 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2578 
    2579 <scratch space>:45:1: note: expanded from here 
    2580 simd_shuffle_rotate_down 
    2581 
    2582 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    2583 is invalid in OpenCL 
    2584 DECLARE_SHUFFLE_UNIFORM(broadcast, broadcast) 
    2585 
    2586 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2587 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2588 
    2589 <scratch space>:47:1: note: expanded from here 
    2590 simd_broadcast 
    2591 
    2592 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    2593 is invalid in OpenCL 
    2594 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2595 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2596 
    2597 <scratch space>:47:1: note: expanded from here 
    2598 simd_broadcast 
    2599 
    2600 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    2601 is invalid in OpenCL 
    2602 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2603 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2604 
    2605 <scratch space>:47:1: note: expanded from here 
    2606 simd_broadcast 
    2607 
    2608 program_source:330:1: error: implicit declaration of function
    2609 'simd_broadcast_first' is invalid in OpenCL 
    2610 DECLARE_REDUCTION_UNIFORM(broadcast_first, broadcast_first) 
    2611 
    2612 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2613 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2614 
    2615 program_source:305:26: note: expanded from macro '\ 
    2616 DECLARE_I_REDUCTION_UNIFORM' 
    2617 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2618 
    2619 <scratch space>:49:1: note: expanded from here 
    2620 simd_broadcast_first 
    2621 
    2622 program_source:330:1: error: implicit declaration of function
    2623 'simd_broadcast_first' is invalid in OpenCL 
    2624 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2625 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2626 
    2627 program_source:305:26: note: expanded from macro '\ 
    2628 DECLARE_I_REDUCTION_UNIFORM' 
    2629 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2630 
    2631 <scratch space>:49:1: note: expanded from here 
    2632 simd_broadcast_first 
    2633 
    2634 program_source:330:1: error: implicit declaration of function
    2635 'simd_broadcast_first' is invalid in OpenCL 
    2636 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2637 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2638 
    2639 program_source:308:26: note: expanded from macro '\ 
    2640 DECLARE_F_REDUCTION_UNIFORM' 
    2641 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2642 
    2643 <scratch space>:51:1: note: expanded from here 
    2644 simd_broadcast_first 
    2645 
    2646 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    2647 invalid in OpenCL 
    2648 DECLARE_REDUCTION_NON_UNIFORM(sum, reduce_add) 
    2649 
    2650 program_source:338:60: note: expanded from macro
    2651 'DECLARE_REDUCTION_NON_UNIFORM' 
    2652 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2653 
    2654 program_source:333:26: note: expanded from macro '\ 
    2655 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2656 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2657 
    2658 <scratch space>:53:1: note: expanded from here 
    2659 simd_sum 
    2660 
    2661 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    2662 invalid in OpenCL 
    2663 program_source:338:60: note: expanded from macro
    2664 'DECLARE_REDUCTION_NON_UNIFORM' 
    2665 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2666 
    2667 program_source:333:26: note: expanded from macro '\ 
    2668 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2669 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2670 
    2671 <scratch space>:53:1: note: expanded from here 
    2672 simd_sum 
    2673 
    2674 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    2675 invalid in OpenCL 
    2676 program_source:339:54: note: expanded from macro
    2677 'DECLARE_REDUCTION_NON_UNIFORM' 
    2678 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2679 
    2680 program_source:336:26: note: expanded from macro '\ 
    2681 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2682 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2683 
    2684 <scratch space>:55:1: note: expanded from here 
    2685 simd_sum 
    2686 
    2687 program_source:346:1: error: implicit declaration of function
    2688 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    2689 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    2690 
    2691 program_source:338:60: note: expanded from macro
    2692 'DECLARE_REDUCTION_NON_UNIFORM' 
    2693 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2694 
    2695 program_source:333:26: note: expanded from macro '\ 
    2696 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2697 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2698 
    2699 <scratch space>:57:1: note: expanded from here 
    2700 simd_prefix_inclusive_sum 
    2701 
    2702 program_source:346:1: error: implicit declaration of function
    2703 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    2704 program_source:338:60: note: expanded from macro
    2705 'DECLARE_REDUCTION_NON_UNIFORM' 
    2706 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2707 
    2708 program_source:333:26: note: expanded from macro '\ 
    2709 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2710 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2711 
    2712 <scratch space>:57:1: note: expanded from here 
    2713 simd_prefix_inclusive_sum 
    2714 
    2715 program_source:346:1: error: implicit declaration of function
    2716 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    2717 program_source:339:54: note: expanded from macro
    2718 'DECLARE_REDUCTION_NON_UNIFORM' 
    2719 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2720 
    2721 program_source:336:26: note: expanded from macro '\ 
    2722 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2723 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2724 
    2725 <scratch space>:59:1: note: expanded from here 
    2726 simd_prefix_inclusive_sum 
    2727 
    2728 program_source:347:1: error: implicit declaration of function
    2729 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2730 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    2731 
    2732 program_source:338:60: note: expanded from macro
    2733 'DECLARE_REDUCTION_NON_UNIFORM' 
    2734 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2735 
    2736 program_source:333:26: note: expanded from macro '\ 
    2737 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2738 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2739 
    2740 <scratch space>:61:1: note: expanded from here 
    2741 simd_prefix_exclusive_sum 
    2742 
    2743 program_source:347:1: error: implicit declaration of function
    2744 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2745 program_source:338:60: note: expanded from macro
    2746 'DECLARE_REDUCTION_NON_UNIFORM' 
    2747 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2748 
    2749 program_source:333:26: note: expanded from macro '\ 
    2750 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2751 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2752 
    2753 <scratch space>:61:1: note: expanded from here 
    2754 simd_prefix_exclusive_sum 
    2755 
    2756 program_source:347:1: error: implicit declaration of function
    2757 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2758 program_source:339:54: note: expanded from macro
    2759 'DECLARE_REDUCTION_NON_UNIFORM' 
    2760 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2761 
    2762 program_source:336:26: note: expanded from macro '\ 
    2763 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2764 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2765 
    2766 <scratch space>:63:1: note: expanded from here 
    2767 simd_prefix_exclusive_sum 
    2768 
    2769 program_source:348:1: error: implicit declaration of function 'simd_min' is
    2770 invalid in OpenCL 
    2771 DECLARE_REDUCTION_NON_UNIFORM(min, reduce_min) 
    2772 
    2773 program_source:338:60: note: expanded from macro
    2774 'DECLARE_REDUCTION_NON_UNIFORM' 
    2775 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2776 
    2777 program_source:333:26: note: expanded from macro '\ 
    2778 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2779 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2780 
    2781 <scratch space>:65:1: note: expanded from here 
    2782 simd_min 
    2783 
    2784 program_source:348:1: error: implicit declaration of function 'simd_min' is
    2785 invalid in OpenCL 
    2786 program_source:338:60: note: expanded from macro
    2787 'DECLARE_REDUCTION_NON_UNIFORM' 
    2788 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2789 
    2790 program_source:333:26: note: expanded from macro '\ 
    2791 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2792 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2793 
    2794 <scratch space>:65:1: note: expanded from here 
    2795 simd_min 
    2796 
    2797 program_source:348:1: error: implicit declaration of function 'simd_min' is
    2798 invalid in OpenCL 
    2799 program_source:339:54: note: expanded from macro
    2800 'DECLARE_REDUCTION_NON_UNIFORM' 
    2801 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2802 
    2803 program_source:336:26: note: expanded from macro '\ 
    2804 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2805 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2806 
    2807 <scratch space>:67:1: note: expanded from here 
    2808 simd_min 
    2809 
    2810 program_source:349:1: error: implicit declaration of function 'simd_max' is
    2811 invalid in OpenCL 
    2812 DECLARE_REDUCTION_NON_UNIFORM(max, reduce_max) 
    2813 
    2814 program_source:338:60: note: expanded from macro
    2815 'DECLARE_REDUCTION_NON_UNIFORM' 
    2816 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2817 
    2818 program_source:333:26: note: expanded from macro '\ 
    2819 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2820 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2821 
    2822 <scratch space>:69:1: note: expanded from here 
    2823 simd_max 
    2824 
    2825 program_source:349:1: error: implicit declaration of function 'simd_max' is
    2826 invalid in OpenCL 
    2827 program_source:338:60: note: expanded from macro
    2828 'DECLARE_REDUCTION_NON_UNIFORM' 
    2829 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2830 
    2831 program_source:333:26: note: expanded from macro '\ 
    2832 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2833 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2834 
    2835 <scratch space>:69:1: note: expanded from here 
    2836 simd_max 
    2837 
    2838 program_source:349:1: error: implicit declaration of function 'simd_max' is
    2839 invalid in OpenCL 
    2840 program_source:339:54: note: expanded from macro
    2841 'DECLARE_REDUCTION_NON_UNIFORM' 
    2842 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2843 
    2844 program_source:336:26: note: expanded from macro '\ 
    2845 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2846 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2847 
    2848 <scratch space>:71:1: note: expanded from here 
    2849 simd_max 
    2850 
    2851 program_source:351:1: error: implicit declaration of function 'simd_product'
    2852 is invalid in OpenCL 
    2853 DECLARE_REDUCTION_NON_UNIFORM(product, reduce_mul) 
    2854 
    2855 program_source:338:60: note: expanded from macro
    2856 'DECLARE_REDUCTION_NON_UNIFORM' 
    2857 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2858 
    2859 program_source:333:26: note: expanded from macro '\ 
    2860 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2861 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2862 
    2863 <scratch space>:73:1: note: expanded from here 
    2864 simd_product 
    2865 
    2866 program_source:351:1: error: implicit declaration of function 'simd_product'
    2867 is invalid in OpenCL 
    2868 program_source:338:60: note: expanded from macro
    2869 'DECLARE_REDUCTION_NON_UNIFORM' 
    2870 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2871 
    2872 program_source:333:26: note: expanded from macro '\ 
    2873 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2874 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2875 
    2876 <scratch space>:73:1: note: expanded from here 
    2877 simd_product 
    2878 
    2879 program_source:351:1: error: implicit declaration of function 'simd_product'
    2880 is invalid in OpenCL 
    2881 program_source:339:54: note: expanded from macro
    2882 'DECLARE_REDUCTION_NON_UNIFORM' 
    2883 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2884 
    2885 program_source:336:26: note: expanded from macro '\ 
    2886 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2887 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2888 
    2889 <scratch space>:75:1: note: expanded from here 
    2890 simd_product 
    2891 
    2892 program_source:352:1: error: implicit declaration of function
    2893 'simd_prefix_inclusive_product' is invalid in OpenCL 
    2894 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_product, scan_inclusive_mul) 
    2895 
    2896 program_source:338:60: note: expanded from macro
    2897 'DECLARE_REDUCTION_NON_UNIFORM' 
    2898 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2899 
    2900 program_source:333:26: note: expanded from macro '\ 
    2901 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2902 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2903 
    2904 <scratch space>:77:1: note: expanded from here 
    2905 simd_prefix_inclusive_product 
    2906 
    2907 program_source:352:1: error: implicit declaration of function
    2908 'simd_prefix_inclusive_product' is invalid in OpenCL 
    2909 program_source:338:60: note: expanded from macro
    2910 'DECLARE_REDUCTION_NON_UNIFORM' 
    2911 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2912 
    2913 program_source:333:26: note: expanded from macro '\ 
    2914 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2915 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2916 
    2917 <scratch space>:77:1: note: expanded from here 
    2918 simd_prefix_inclusive_product 
    2919 
    2920 program_source:352:1: error: implicit declaration of function
    2921 'simd_prefix_inclusive_product' is invalid in OpenCL 
    2922 program_source:339:54: note: expanded from macro
    2923 'DECLARE_REDUCTION_NON_UNIFORM' 
    2924 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2925 
    2926 program_source:336:26: note: expanded from macro '\ 
    2927 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2928 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2929 
    2930 <scratch space>:79:1: note: expanded from here 
    2931 simd_prefix_inclusive_product 
    2932 
    2933 program_source:353:1: error: implicit declaration of function
    2934 'simd_prefix_exclusive_product' is invalid in OpenCL 
    2935 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_product, scan_exclusive_mul) 
    2936 
    2937 program_source:338:60: note: expanded from macro
    2938 'DECLARE_REDUCTION_NON_UNIFORM' 
    2939 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2940 
    2941 program_source:333:26: note: expanded from macro '\ 
    2942 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2943 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2944 
    2945 <scratch space>:81:1: note: expanded from here 
    2946 simd_prefix_exclusive_product 
    2947 
    2948 program_source:353:1: error: implicit declaration of function
    2949 'simd_prefix_exclusive_product' is invalid in OpenCL 
    2950 program_source:338:60: note: expanded from macro
    2951 'DECLARE_REDUCTION_NON_UNIFORM' 
    2952 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2953 
    2954 program_source:333:26: note: expanded from macro '\ 
    2955 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2956 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2957 
    2958 <scratch space>:81:1: note: expanded from here 
    2959 simd_prefix_exclusive_product 
    2960 
    2961 program_source:353:1: error: implicit declaration of function
    2962 'simd_prefix_exclusive_product' is invalid in OpenCL 
    2963 program_source:339:54: note: expanded from macro
    2964 'DECLARE_REDUCTION_NON_UNIFORM' 
    2965 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2966 
    2967 program_source:336:26: note: expanded from macro '\ 
    2968 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2969 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2970 
    2971 <scratch space>:83:1: note: expanded from here 
    2972 simd_prefix_exclusive_product 
    2973 
    2974 program_source:354:1: error: implicit declaration of function 'simd_and' is
    2975 invalid in OpenCL 
    2976 DECLARE_I_REDUCTION_NON_UNIFORM(and, reduce_and) 
    2977 
    2978 program_source:333:26: note: expanded from macro
    2979 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    2980 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2981 
    2982 <scratch space>:85:1: note: expanded from here 
    2983 simd_and 
    2984 
    2985 program_source:354:1: error: implicit declaration of function 'simd_and' is
    2986 invalid in OpenCL 
    2987 program_source:333:26: note: expanded from macro
    2988 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    2989 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2990 
    2991 <scratch space>:85:1: note: expanded from here 
    2992 simd_and 
    2993 
    2994 program_source:355:1: error: implicit declaration of function 'simd_or' is
    2995 invalid in OpenCL 
    2996 DECLARE_I_REDUCTION_NON_UNIFORM(or, reduce_or) 
    2997 
    2998 program_source:333:26: note: expanded from macro
    2999 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    3000 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    3001 
    3002 <scratch space>:87:1: note: expanded from here 
    3003 simd_or 
    3004 
    3005 program_source:355:1: error: implicit declaration of function 'simd_or' is
    3006 invalid in OpenCL 
    3007 program_source:333:26: note: expanded from macro
    3008 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    3009 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    3010 
    3011 <scratch space>:87:1: note: expanded from here 
    3012 simd_or 
    3013 
    3014 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    3015 invalid in OpenCL 
    3016 DECLARE_I_REDUCTION_NON_UNIFORM(xor, reduce_xor) 
    3017 
    3018 program_source:333:26: note: expanded from macro
    3019 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    3020 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    3021 
    3022 <scratch space>:89:1: note: expanded from here 
    3023 simd_xor 
    3024 
    3025 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    3026 invalid in OpenCL 
    3027 program_source:333:26: note: expanded from macro
    3028 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    3029 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    3030 
    3031 <scratch space>:89:1: note: expanded from here 
    3032 simd_xor 
    3033 
    3034 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    3035 is invalid in OpenCL 
    3036 DECLARE_SHUFFLE_NON_UNIFORM(broadcast, broadcast) 
    3037 
    3038 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    3039 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    3040 
    3041 <scratch space>:91:1: note: expanded from here 
    3042 simd_broadcast 
    3043 
    3044 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    3045 is invalid in OpenCL 
    3046 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    3047 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    3048 
    3049 <scratch space>:91:1: note: expanded from here 
    3050 simd_broadcast 
    3051 
    3052 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    3053 is invalid in OpenCL 
    3054 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    3055 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    3056 
    3057 <scratch space>:91:1: note: expanded from here 
    3058 simd_broadcast 
    3059 
    3060 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    3061 invalid in OpenCL 
    3062 DECLARE_REDUCTION_CLUSTERED(sum, reduce_add) 
    3063 
    3064 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3065 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3066 
    3067 program_source:360:60: note: expanded from macro '\ 
    3068 DECLARE_I_REDUCTION_CLUSTERED' 
    3069 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3070 
    3071 program_source:245:71: note: expanded from macro '\ 
    3072 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3073 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3074 
    3075 program_source:196:12: note: expanded from macro '\ 
    3076 OVERLOAD_CLUSTERED_ARGS_1' 
    3077 return quad_##METAL_SUFFIX(x); \ 
    3078 
    3079 <scratch space>:94:1: note: expanded from here 
    3080 quad_sum 
    3081 
    3082 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    3083 invalid in OpenCL 
    3084 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3085 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3086 
    3087 program_source:360:60: note: expanded from macro '\ 
    3088 DECLARE_I_REDUCTION_CLUSTERED' 
    3089 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3090 
    3091 program_source:245:71: note: expanded from macro '\ 
    3092 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3093 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3094 
    3095 program_source:198:12: note: expanded from macro '\ 
    3096 OVERLOAD_CLUSTERED_ARGS_1' 
    3097 return simd_##METAL_SUFFIX(x); \ 
    3098 
    3099 <scratch space>:95:1: note: expanded from here 
    3100 simd_sum 
    3101 
    3102 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    3103 invalid in OpenCL 
    3104 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3105 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3106 
    3107 program_source:360:60: note: expanded from macro '\ 
    3108 DECLARE_I_REDUCTION_CLUSTERED' 
    3109 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3110 
    3111 program_source:246:59: note: expanded from macro '\ 
    3112 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3113 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3114 
    3115 program_source:196:12: note: expanded from macro '\ 
    3116 OVERLOAD_CLUSTERED_ARGS_1' 
    3117 return quad_##METAL_SUFFIX(x); \ 
    3118 
    3119 <scratch space>:96:1: note: expanded from here 
    3120 quad_sum 
    3121 
    3122 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    3123 invalid in OpenCL 
    3124 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3125 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3126 
    3127 program_source:360:60: note: expanded from macro '\ 
    3128 DECLARE_I_REDUCTION_CLUSTERED' 
    3129 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3130 
    3131 program_source:246:59: note: expanded from macro '\ 
    3132 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3133 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3134 
    3135 program_source:198:12: note: expanded from macro '\ 
    3136 OVERLOAD_CLUSTERED_ARGS_1' 
    3137 return simd_##METAL_SUFFIX(x); \ 
    3138 
    3139 <scratch space>:97:1: note: expanded from here 
    3140 simd_sum 
    3141 
    3142 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    3143 invalid in OpenCL 
    3144 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3145 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3146 
    3147 program_source:363:60: note: expanded from macro '\ 
    3148 DECLARE_F_REDUCTION_CLUSTERED' 
    3149 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3150 
    3151 program_source:249:71: note: expanded from macro '\ 
    3152 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3153 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3154 
    3155 program_source:196:12: note: expanded from macro '\ 
    3156 OVERLOAD_CLUSTERED_ARGS_1' 
    3157 return quad_##METAL_SUFFIX(x); \ 
    3158 
    3159 <scratch space>:99:1: note: expanded from here 
    3160 quad_sum 
    3161 
    3162 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    3163 invalid in OpenCL 
    3164 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3165 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3166 
    3167 program_source:363:60: note: expanded from macro '\ 
    3168 DECLARE_F_REDUCTION_CLUSTERED' 
    3169 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3170 
    3171 program_source:249:71: note: expanded from macro '\ 
    3172 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3173 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3174 
    3175 program_source:198:12: note: expanded from macro '\ 
    3176 OVERLOAD_CLUSTERED_ARGS_1' 
    3177 return simd_##METAL_SUFFIX(x); \ 
    3178 
    3179 <scratch space>:100:1: note: expanded from here 
    3180 simd_sum 
    3181 
    3182 program_source:392:1: error: implicit declaration of function 'quad_min' is
    3183 invalid in OpenCL 
    3184 DECLARE_REDUCTION_CLUSTERED(min, reduce_min) 
    3185 
    3186 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3187 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3188 
    3189 program_source:360:60: note: expanded from macro '\ 
    3190 DECLARE_I_REDUCTION_CLUSTERED' 
    3191 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3192 
    3193 program_source:245:71: note: expanded from macro '\ 
    3194 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3195 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3196 
    3197 program_source:196:12: note: expanded from macro '\ 
    3198 OVERLOAD_CLUSTERED_ARGS_1' 
    3199 return quad_##METAL_SUFFIX(x); \ 
    3200 
    3201 <scratch space>:102:1: note: expanded from here 
    3202 quad_min 
    3203 
    3204 program_source:392:1: error: implicit declaration of function 'simd_min' is
    3205 invalid in OpenCL 
    3206 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3207 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3208 
    3209 program_source:360:60: note: expanded from macro '\ 
    3210 DECLARE_I_REDUCTION_CLUSTERED' 
    3211 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3212 
    3213 program_source:245:71: note: expanded from macro '\ 
    3214 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3215 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3216 
    3217 program_source:198:12: note: expanded from macro '\ 
    3218 OVERLOAD_CLUSTERED_ARGS_1' 
    3219 return simd_##METAL_SUFFIX(x); \ 
    3220 
    3221 <scratch space>:103:1: note: expanded from here 
    3222 simd_min 
    3223 
    3224 program_source:392:1: error: implicit declaration of function 'quad_min' is
    3225 invalid in OpenCL 
    3226 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3227 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3228 
    3229 program_source:360:60: note: expanded from macro '\ 
    3230 DECLARE_I_REDUCTION_CLUSTERED' 
    3231 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3232 
    3233 program_source:246:59: note: expanded from macro '\ 
    3234 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3235 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3236 
    3237 program_source:196:12: note: expanded from macro '\ 
    3238 OVERLOAD_CLUSTERED_ARGS_1' 
    3239 return quad_##METAL_SUFFIX(x); \ 
    3240 
    3241 <scratch space>:104:1: note: expanded from here 
    3242 quad_min 
    3243 
    3244 program_source:392:1: error: implicit declaration of function 'simd_min' is
    3245 invalid in OpenCL 
    3246 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3247 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3248 
    3249 program_source:360:60: note: expanded from macro '\ 
    3250 DECLARE_I_REDUCTION_CLUSTERED' 
    3251 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3252 
    3253 program_source:246:59: note: expanded from macro '\ 
    3254 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3255 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3256 
    3257 program_source:198:12: note: expanded from macro '\ 
    3258 OVERLOAD_CLUSTERED_ARGS_1' 
    3259 return simd_##METAL_SUFFIX(x); \ 
    3260 
    3261 <scratch space>:105:1: note: expanded from here 
    3262 simd_min 
    3263 
    3264 program_source:392:1: error: implicit declaration of function 'quad_min' is
    3265 invalid in OpenCL 
    3266 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3267 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3268 
    3269 program_source:363:60: note: expanded from macro '\ 
    3270 DECLARE_F_REDUCTION_CLUSTERED' 
    3271 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3272 
    3273 program_source:249:71: note: expanded from macro '\ 
    3274 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3275 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3276 
    3277 program_source:196:12: note: expanded from macro '\ 
    3278 OVERLOAD_CLUSTERED_ARGS_1' 
    3279 return quad_##METAL_SUFFIX(x); \ 
    3280 
    3281 <scratch space>:107:1: note: expanded from here 
    3282 quad_min 
    3283 
    3284 program_source:392:1: error: implicit declaration of function 'simd_min' is
    3285 invalid in OpenCL 
    3286 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3287 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3288 
    3289 program_source:363:60: note: expanded from macro '\ 
    3290 DECLARE_F_REDUCTION_CLUSTERED' 
    3291 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3292 
    3293 program_source:249:71: note: expanded from macro '\ 
    3294 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3295 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3296 
    3297 program_source:198:12: note: expanded from macro '\ 
    3298 OVERLOAD_CLUSTERED_ARGS_1' 
    3299 return simd_##METAL_SUFFIX(x); \ 
    3300 
    3301 <scratch space>:108:1: note: expanded from here 
    3302 simd_min 
    3303 
    3304 program_source:393:1: error: implicit declaration of function 'quad_max' is
    3305 invalid in OpenCL 
    3306 DECLARE_REDUCTION_CLUSTERED(max, reduce_max) 
    3307 
    3308 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3309 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3310 
    3311 program_source:360:60: note: expanded from macro '\ 
    3312 DECLARE_I_REDUCTION_CLUSTERED' 
    3313 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3314 
    3315 program_source:245:71: note: expanded from macro '\ 
    3316 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3317 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3318 
    3319 program_source:196:12: note: expanded from macro '\ 
    3320 OVERLOAD_CLUSTERED_ARGS_1' 
    3321 return quad_##METAL_SUFFIX(x); \ 
    3322 
    3323 <scratch space>:110:1: note: expanded from here 
    3324 quad_max 
    3325 
    3326 program_source:393:1: error: implicit declaration of function 'simd_max' is
    3327 invalid in OpenCL 
    3328 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3329 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3330 
    3331 program_source:360:60: note: expanded from macro '\ 
    3332 DECLARE_I_REDUCTION_CLUSTERED' 
    3333 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3334 
    3335 program_source:245:71: note: expanded from macro '\ 
    3336 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3337 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3338 
    3339 program_source:198:12: note: expanded from macro '\ 
    3340 OVERLOAD_CLUSTERED_ARGS_1' 
    3341 return simd_##METAL_SUFFIX(x); \ 
    3342 
    3343 <scratch space>:111:1: note: expanded from here 
    3344 simd_max 
    3345 
    3346 program_source:393:1: error: implicit declaration of function 'quad_max' is
    3347 invalid in OpenCL 
    3348 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3349 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3350 
    3351 program_source:360:60: note: expanded from macro '\ 
    3352 DECLARE_I_REDUCTION_CLUSTERED' 
    3353 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3354 
    3355 program_source:246:59: note: expanded from macro '\ 
    3356 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3357 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3358 
    3359 program_source:196:12: note: expanded from macro '\ 
    3360 OVERLOAD_CLUSTERED_ARGS_1' 
    3361 return quad_##METAL_SUFFIX(x); \ 
    3362 
    3363 <scratch space>:112:1: note: expanded from here 
    3364 quad_max 
    3365 
    3366 program_source:393:1: error: implicit declaration of function 'simd_max' is
    3367 invalid in OpenCL 
    3368 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3369 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3370 
    3371 program_source:360:60: note: expanded from macro '\ 
    3372 DECLARE_I_REDUCTION_CLUSTERED' 
    3373 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3374 
    3375 program_source:246:59: note: expanded from macro '\ 
    3376 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3377 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3378 
    3379 program_source:198:12: note: expanded from macro '\ 
    3380 OVERLOAD_CLUSTERED_ARGS_1' 
    3381 return simd_##METAL_SUFFIX(x); \ 
    3382 
    3383 <scratch space>:113:1: note: expanded from here 
    3384 simd_max 
    3385 
    3386 program_source:393:1: error: implicit declaration of function 'quad_max' is
    3387 invalid in OpenCL 
    3388 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3389 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3390 
    3391 program_source:363:60: note: expanded from macro '\ 
    3392 DECLARE_F_REDUCTION_CLUSTERED' 
    3393 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3394 
    3395 program_source:249:71: note: expanded from macro '\ 
    3396 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3397 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3398 
    3399 program_source:196:12: note: expanded from macro '\ 
    3400 OVERLOAD_CLUSTERED_ARGS_1' 
    3401 return quad_##METAL_SUFFIX(x); \ 
    3402 
    3403 <scratch space>:115:1: note: expanded from here 
    3404 quad_max 
    3405 
    3406 program_source:393:1: error: implicit declaration of function 'simd_max' is
    3407 invalid in OpenCL 
    3408 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3409 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3410 
    3411 program_source:363:60: note: expanded from macro '\ 
    3412 DECLARE_F_REDUCTION_CLUSTERED' 
    3413 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3414 
    3415 program_source:249:71: note: expanded from macro '\ 
    3416 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3417 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3418 
    3419 program_source:198:12: note: expanded from macro '\ 
    3420 OVERLOAD_CLUSTERED_ARGS_1' 
    3421 return simd_##METAL_SUFFIX(x); \ 
    3422 
    3423 <scratch space>:116:1: note: expanded from here 
    3424 simd_max 
    3425 
    3426 program_source:395:1: error: implicit declaration of function 'quad_product'
    3427 is invalid in OpenCL 
    3428 DECLARE_REDUCTION_CLUSTERED(product, reduce_mul) 
    3429 
    3430 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3431 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3432 
    3433 program_source:360:60: note: expanded from macro '\ 
    3434 DECLARE_I_REDUCTION_CLUSTERED' 
    3435 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3436 
    3437 program_source:245:71: note: expanded from macro '\ 
    3438 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3439 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3440 
    3441 program_source:196:12: note: expanded from macro '\ 
    3442 OVERLOAD_CLUSTERED_ARGS_1' 
    3443 return quad_##METAL_SUFFIX(x); \ 
    3444 
    3445 <scratch space>:118:1: note: expanded from here 
    3446 quad_product 
    3447 
    3448 program_source:395:1: error: implicit declaration of function 'simd_product'
    3449 is invalid in OpenCL 
    3450 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3451 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3452 
    3453 program_source:360:60: note: expanded from macro '\ 
    3454 DECLARE_I_REDUCTION_CLUSTERED' 
    3455 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3456 
    3457 program_source:245:71: note: expanded from macro '\ 
    3458 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3459 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3460 
    3461 program_source:198:12: note: expanded from macro '\ 
    3462 OVERLOAD_CLUSTERED_ARGS_1' 
    3463 return simd_##METAL_SUFFIX(x); \ 
    3464 
    3465 <scratch space>:119:1: note: expanded from here 
    3466 simd_product 
    3467 
    3468 program_source:395:1: error: implicit declaration of function 'quad_product'
    3469 is invalid in OpenCL 
    3470 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3471 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3472 
    3473 program_source:360:60: note: expanded from macro '\ 
    3474 DECLARE_I_REDUCTION_CLUSTERED' 
    3475 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3476 
    3477 program_source:246:59: note: expanded from macro '\ 
    3478 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3479 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3480 
    3481 program_source:196:12: note: expanded from macro '\ 
    3482 OVERLOAD_CLUSTERED_ARGS_1' 
    3483 return quad_##METAL_SUFFIX(x); \ 
    3484 
    3485 <scratch space>:120:1: note: expanded from here 
    3486 quad_product 
    3487 
    3488 program_source:395:1: error: implicit declaration of function 'simd_product'
    3489 is invalid in OpenCL 
    3490 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3491 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3492 
    3493 program_source:360:60: note: expanded from macro '\ 
    3494 DECLARE_I_REDUCTION_CLUSTERED' 
    3495 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3496 
    3497 program_source:246:59: note: expanded from macro '\ 
    3498 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3499 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3500 
    3501 program_source:198:12: note: expanded from macro '\ 
    3502 OVERLOAD_CLUSTERED_ARGS_1' 
    3503 return simd_##METAL_SUFFIX(x); \ 
    3504 
    3505 <scratch space>:121:1: note: expanded from here 
    3506 simd_product 
    3507 
    3508 program_source:395:1: error: implicit declaration of function 'quad_product'
    3509 is invalid in OpenCL 
    3510 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3511 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3512 
    3513 program_source:363:60: note: expanded from macro '\ 
    3514 DECLARE_F_REDUCTION_CLUSTERED' 
    3515 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3516 
    3517 program_source:249:71: note: expanded from macro '\ 
    3518 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3519 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3520 
    3521 program_source:196:12: note: expanded from macro '\ 
    3522 OVERLOAD_CLUSTERED_ARGS_1' 
    3523 return quad_##METAL_SUFFIX(x); \ 
    3524 
    3525 <scratch space>:123:1: note: expanded from here 
    3526 quad_product 
    3527 
    3528 program_source:395:1: error: implicit declaration of function 'simd_product'
    3529 is invalid in OpenCL 
    3530 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3531 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3532 
    3533 program_source:363:60: note: expanded from macro '\ 
    3534 DECLARE_F_REDUCTION_CLUSTERED' 
    3535 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3536 
    3537 program_source:249:71: note: expanded from macro '\ 
    3538 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3539 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3540 
    3541 program_source:198:12: note: expanded from macro '\ 
    3542 OVERLOAD_CLUSTERED_ARGS_1' 
    3543 return simd_##METAL_SUFFIX(x); \ 
    3544 
    3545 <scratch space>:124:1: note: expanded from here 
    3546 simd_product 
    3547 
    3548 program_source:396:1: error: implicit declaration of function 'quad_and' is
    3549 invalid in OpenCL 
    3550 DECLARE_I_REDUCTION_CLUSTERED(and, reduce_and) 
    3551 
    3552 program_source:360:60: note: expanded from macro
    3553 'DECLARE_I_REDUCTION_CLUSTERED' 
    3554 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3555 
    3556 program_source:245:71: note: expanded from macro '\ 
    3557 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3558 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3559 
    3560 program_source:196:12: note: expanded from macro '\ 
    3561 OVERLOAD_CLUSTERED_ARGS_1' 
    3562 return quad_##METAL_SUFFIX(x); \ 
    3563 
    3564 <scratch space>:126:1: note: expanded from here 
    3565 quad_and 
    3566 
    3567 program_source:396:1: error: implicit declaration of function 'simd_and' is
    3568 invalid in OpenCL 
    3569 program_source:360:60: note: expanded from macro
    3570 'DECLARE_I_REDUCTION_CLUSTERED' 
    3571 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3572 
    3573 program_source:245:71: note: expanded from macro '\ 
    3574 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3575 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3576 
    3577 program_source:198:12: note: expanded from macro '\ 
    3578 OVERLOAD_CLUSTERED_ARGS_1' 
    3579 return simd_##METAL_SUFFIX(x); \ 
    3580 
    3581 <scratch space>:127:1: note: expanded from here 
    3582 simd_and 
    3583 
    3584 program_source:396:1: error: implicit declaration of function 'quad_and' is
    3585 invalid in OpenCL 
    3586 program_source:360:60: note: expanded from macro
    3587 'DECLARE_I_REDUCTION_CLUSTERED' 
    3588 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3589 
    3590 program_source:246:59: note: expanded from macro '\ 
    3591 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3592 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3593 
    3594 program_source:196:12: note: expanded from macro '\ 
    3595 OVERLOAD_CLUSTERED_ARGS_1' 
    3596 return quad_##METAL_SUFFIX(x); \ 
    3597 
    3598 <scratch space>:128:1: note: expanded from here 
    3599 quad_and 
    3600 
    3601 program_source:396:1: error: implicit declaration of function 'simd_and' is
    3602 invalid in OpenCL 
    3603 program_source:360:60: note: expanded from macro
    3604 'DECLARE_I_REDUCTION_CLUSTERED' 
    3605 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3606 
    3607 program_source:246:59: note: expanded from macro '\ 
    3608 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3609 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3610 
    3611 program_source:198:12: note: expanded from macro '\ 
    3612 OVERLOAD_CLUSTERED_ARGS_1' 
    3613 return simd_##METAL_SUFFIX(x); \ 
    3614 
    3615 <scratch space>:129:1: note: expanded from here 
    3616 simd_and 
    3617 
    3618 program_source:397:1: error: implicit declaration of function 'quad_or' is
    3619 invalid in OpenCL 
    3620 DECLARE_I_REDUCTION_CLUSTERED(or, reduce_or) 
    3621 
    3622 program_source:360:60: note: expanded from macro
    3623 'DECLARE_I_REDUCTION_CLUSTERED' 
    3624 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3625 
    3626 program_source:245:71: note: expanded from macro '\ 
    3627 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3628 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3629 
    3630 program_source:196:12: note: expanded from macro '\ 
    3631 OVERLOAD_CLUSTERED_ARGS_1' 
    3632 return quad_##METAL_SUFFIX(x); \ 
    3633 
    3634 <scratch space>:131:1: note: expanded from here 
    3635 quad_or 
    3636 
    3637 program_source:397:1: error: implicit declaration of function 'simd_or' is
    3638 invalid in OpenCL 
    3639 program_source:360:60: note: expanded from macro
    3640 'DECLARE_I_REDUCTION_CLUSTERED' 
    3641 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3642 
    3643 program_source:245:71: note: expanded from macro '\ 
    3644 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3645 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3646 
    3647 program_source:198:12: note: expanded from macro '\ 
    3648 OVERLOAD_CLUSTERED_ARGS_1' 
    3649 return simd_##METAL_SUFFIX(x); \ 
    3650 
    3651 <scratch space>:132:1: note: expanded from here 
    3652 simd_or 
    3653 
    3654 program_source:397:1: error: implicit declaration of function 'quad_or' is
    3655 invalid in OpenCL 
    3656 program_source:360:60: note: expanded from macro
    3657 'DECLARE_I_REDUCTION_CLUSTERED' 
    3658 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3659 
    3660 program_source:246:59: note: expanded from macro '\ 
    3661 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3662 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3663 
    3664 program_source:196:12: note: expanded from macro '\ 
    3665 OVERLOAD_CLUSTERED_ARGS_1' 
    3666 return quad_##METAL_SUFFIX(x); \ 
    3667 
    3668 <scratch space>:133:1: note: expanded from here 
    3669 quad_or 
    3670 
    3671 program_source:397:1: error: implicit declaration of function 'simd_or' is
    3672 invalid in OpenCL 
    3673 program_source:360:60: note: expanded from macro
    3674 'DECLARE_I_REDUCTION_CLUSTERED' 
    3675 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3676 
    3677 program_source:246:59: note: expanded from macro '\ 
    3678 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3679 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3680 
    3681 program_source:198:12: note: expanded from macro '\ 
    3682 OVERLOAD_CLUSTERED_ARGS_1' 
    3683 return simd_##METAL_SUFFIX(x); \ 
    3684 
    3685 <scratch space>:134:1: note: expanded from here 
    3686 simd_or 
    3687 
    3688 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    3689 invalid in OpenCL 
    3690 DECLARE_I_REDUCTION_CLUSTERED(xor, reduce_xor) 
    3691 
    3692 program_source:360:60: note: expanded from macro
    3693 'DECLARE_I_REDUCTION_CLUSTERED' 
    3694 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3695 
    3696 program_source:245:71: note: expanded from macro '\ 
    3697 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3698 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3699 
    3700 program_source:196:12: note: expanded from macro '\ 
    3701 OVERLOAD_CLUSTERED_ARGS_1' 
    3702 return quad_##METAL_SUFFIX(x); \ 
    3703 
    3704 <scratch space>:136:1: note: expanded from here 
    3705 quad_xor 
    3706 
    3707 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    3708 invalid in OpenCL 
    3709 program_source:360:60: note: expanded from macro
    3710 'DECLARE_I_REDUCTION_CLUSTERED' 
    3711 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3712 
    3713 program_source:245:71: note: expanded from macro '\ 
    3714 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3715 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3716 
    3717 program_source:198:12: note: expanded from macro '\ 
    3718 OVERLOAD_CLUSTERED_ARGS_1' 
    3719 return simd_##METAL_SUFFIX(x); \ 
    3720 
    3721 <scratch space>:137:1: note: expanded from here 
    3722 simd_xor 
    3723 
    3724 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    3725 invalid in OpenCL 
    3726 program_source:360:60: note: expanded from macro
    3727 'DECLARE_I_REDUCTION_CLUSTERED' 
    3728 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3729 
    3730 program_source:246:59: note: expanded from macro '\ 
    3731 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3732 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3733 
    3734 program_source:196:12: note: expanded from macro '\ 
    3735 OVERLOAD_CLUSTERED_ARGS_1' 
    3736 return quad_##METAL_SUFFIX(x); \ 
    3737 
    3738 <scratch space>:138:1: note: expanded from here 
    3739 quad_xor 
    3740 
    3741 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    3742 invalid in OpenCL 
    3743 program_source:360:60: note: expanded from macro
    3744 'DECLARE_I_REDUCTION_CLUSTERED' 
    3745 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3746 
    3747 program_source:246:59: note: expanded from macro '\ 
    3748 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3749 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3750 
    3751 program_source:198:12: note: expanded from macro '\ 
    3752 OVERLOAD_CLUSTERED_ARGS_1' 
    3753 return simd_##METAL_SUFFIX(x); \ 
    3754 
    3755 <scratch space>:139:1: note: expanded from here 
    3756 simd_xor 
    3757 
    3758 program_source:399:1: error: implicit declaration of function 'simd_and' is
    3759 invalid in OpenCL 
    3760 DECLARE_B_REDUCTION_CLUSTERED(and) 
    3761 
    3762 program_source:369:8: note: expanded from macro
    3763 'DECLARE_B_REDUCTION_CLUSTERED' 
    3764 return simd_##OP(select(0, 1, predicate != 0)); \ 
    3765 
    3766 <scratch space>:141:1: note: expanded from here 
    3767 simd_and 
    3768 
    3769 program_source:399:1: error: implicit declaration of function 'quad_and' is
    3770 invalid in OpenCL 
    3771 program_source:378:12: note: expanded from macro
    3772 'DECLARE_B_REDUCTION_CLUSTERED' 
    3773 return quad_##OP(x); \ 
    3774 
    3775 <scratch space>:143:1: note: expanded from here 
    3776 quad_and 
    3777 
    3778 program_source:399:1: error: implicit declaration of function 'simd_and' is
    3779 invalid in OpenCL 
    3780 program_source:380:12: note: expanded from macro
    3781 'DECLARE_B_REDUCTION_CLUSTERED' 
    3782 return simd_##OP(x); \ 
    3783 
    3784 <scratch space>:144:1: note: expanded from here 
    3785 simd_and 
    3786 
    3787 program_source:400:1: error: implicit declaration of function 'simd_or' is
    3788 invalid in OpenCL 
    3789 DECLARE_B_REDUCTION_CLUSTERED(or) 
    3790 
    3791 program_source:369:8: note: expanded from macro
    3792 'DECLARE_B_REDUCTION_CLUSTERED' 
    3793 return simd_##OP(select(0, 1, predicate != 0)); \ 
    3794 
    3795 <scratch space>:146:1: note: expanded from here 
    3796 simd_or 
    3797 
    3798 program_source:400:1: error: implicit declaration of function 'quad_or' is
    3799 invalid in OpenCL 
    3800 program_source:378:12: note: expanded from macro
    3801 'DECLARE_B_REDUCTION_CLUSTERED' 
    3802 return quad_##OP(x); \ 
    3803 
    3804 <scratch space>:148:1: note: expanded from here 
    3805 quad_or 
    3806 
    3807 program_source:400:1: error: implicit declaration of function 'simd_or' is
    3808 invalid in OpenCL 
    3809 program_source:380:12: note: expanded from macro
    3810 'DECLARE_B_REDUCTION_CLUSTERED' 
    3811 return simd_##OP(x); \ 
    3812 
    3813 <scratch space>:149:1: note: expanded from here 
    3814 simd_or 
    3815 
    3816 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    3817 invalid in OpenCL 
    3818 DECLARE_B_REDUCTION_CLUSTERED(xor) 
    3819 
    3820 program_source:369:8: note: expanded from macro
    3821 'DECLARE_B_REDUCTION_CLUSTERED' 
    3822 return simd_##OP(select(0, 1, predicate != 0)); \ 
    3823 
    3824 <scratch space>:151:1: note: expanded from here 
    3825 simd_xor 
    3826 
    3827 program_source:401:1: error: implicit declaration of function 'quad_xor' is
    3828 invalid in OpenCL 
    3829 program_source:378:12: note: expanded from macro
    3830 'DECLARE_B_REDUCTION_CLUSTERED' 
    3831 return quad_##OP(x); \ 
    3832 
    3833 <scratch space>:153:1: note: expanded from here 
    3834 quad_xor 
    3835 
    3836 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    3837 invalid in OpenCL 
    3838 program_source:380:12: note: expanded from macro
    3839 'DECLARE_B_REDUCTION_CLUSTERED' 
    3840 return simd_##OP(x); \ 
    3841 
    3842 <scratch space>:154:1: note: expanded from here 
    3843 simd_xor 
    3844 
    3845 program_source:403:1: error: implicit declaration of function
    3846 'quad_shuffle_rotate_down' is invalid in OpenCL 
    3847 DECLARE_SHUFFLE_CLUSTERED(shuffle_rotate_down, rotate) 
    3848 
    3849 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3850 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3851 
    3852 program_source:252:69: note: expanded from macro '\ 
    3853 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3854 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    3855 
    3856 program_source:208:12: note: expanded from macro '\ 
    3857 OVERLOAD_CLUSTERED_ARGS_2' 
    3858 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    3859 
    3860 <scratch space>:156:1: note: expanded from here 
    3861 quad_shuffle_rotate_down 
    3862 
    3863 program_source:403:1: error: implicit declaration of function
    3864 'simd_shuffle_rotate_down' is invalid in OpenCL 
    3865 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3866 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3867 
    3868 program_source:252:69: note: expanded from macro '\ 
    3869 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3870 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    3871 
    3872 program_source:210:12: note: expanded from macro '\ 
    3873 OVERLOAD_CLUSTERED_ARGS_2' 
    3874 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    3875 
    3876 <scratch space>:157:1: note: expanded from here 
    3877 simd_shuffle_rotate_down 
    3878 
    3879 program_source:403:1: error: implicit declaration of function
    3880 'quad_shuffle_rotate_down' is invalid in OpenCL 
    3881 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3882 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3883 
    3884 program_source:253:59: note: expanded from macro '\ 
    3885 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3886 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3887 
    3888 program_source:208:12: note: expanded from macro '\ 
    3889 OVERLOAD_CLUSTERED_ARGS_2' 
    3890 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    3891 
    3892 <scratch space>:158:1: note: expanded from here 
    3893 quad_shuffle_rotate_down 
    3894 
    3895 program_source:403:1: error: implicit declaration of function
    3896 'simd_shuffle_rotate_down' is invalid in OpenCL 
    3897 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3898 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3899 
    3900 program_source:253:59: note: expanded from macro '\ 
    3901 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3902 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3903 
    3904 program_source:210:12: note: expanded from macro '\ 
    3905 OVERLOAD_CLUSTERED_ARGS_2' 
    3906 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    3907 
    3908 <scratch space>:159:1: note: expanded from here 
    3909 simd_shuffle_rotate_down 
    3910 
    3911 program_source:403:1: error: implicit declaration of function
    3912 'quad_shuffle_rotate_down' is invalid in OpenCL 
    3913 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3914 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3915 
    3916 program_source:254:60: note: expanded from macro '\ 
    3917 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3918 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    3919 
    3920 program_source:208:12: note: expanded from macro '\ 
    3921 OVERLOAD_CLUSTERED_ARGS_2' 
    3922 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    3923 
    3924 <scratch space>:160:1: note: expanded from here 
    3925 quad_shuffle_rotate_down 
    3926 
    3927 program_source:403:1: error: implicit declaration of function
    3928 'simd_shuffle_rotate_down' is invalid in OpenCL 
    3929 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3930 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3931 
    3932 program_source:254:60: note: expanded from macro '\ 
    3933 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3934 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    3935 
    3936 program_source:210:12: note: expanded from macro '\ 
    3937 OVERLOAD_CLUSTERED_ARGS_2' 
    3938 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    3939 
    3940 <scratch space>:161:1: note: expanded from here 
    3941 simd_shuffle_rotate_down 
    3942 
    3943 program_source:409:1: error: illegal string literal in 'asm' 
    3944 EXPOSE_BALLOT(simd_is_first, , bool, ) 
    3945 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3946 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3947 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3948 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3949 program_source:410:1: error: illegal string literal in 'asm' 
    3950 EXPOSE_BALLOT(simd_all, bool expr, bool, ) 
    3951 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3952 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3953 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3954 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3955 program_source:411:1: error: illegal string literal in 'asm' 
    3956 EXPOSE_BALLOT(simd_any, bool expr, bool, ) 
    3957 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3958 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3959 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3960 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3961 program_source:412:1: error: illegal string literal in 'asm' 
    3962 EXPOSE_BALLOT(simd_ballot, bool expr, ulong, .i64) 
    3963 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3964 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3965 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3966 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3967 program_source:413:1: error: illegal string literal in 'asm' 
    3968 EXPOSE_BALLOT(simd_active_threads_mask, , ulong, .i64) 
    3969 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3970 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3971 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3972 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3973 program_source:415:1: error: illegal string literal in 'asm' 
    3974 EXPOSE_BALLOT(quad_is_first, , bool, ) 
    3975 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3976 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3977 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3978 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3979 program_source:416:1: error: illegal string literal in 'asm' 
    3980 EXPOSE_BALLOT(quad_all, bool expr, bool, ) 
    3981 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3982 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3983 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3984 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3985 program_source:417:1: error: illegal string literal in 'asm' 
    3986 EXPOSE_BALLOT(quad_any, bool expr, bool, ) 
    3987 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3988 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3989 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3990 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3991 program_source:418:1: error: illegal string literal in 'asm' 
    3992 EXPOSE_BALLOT(quad_ballot, bool expr, ushort, ) 
    3993 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3994 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3995 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3996 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3997 program_source:419:1: error: illegal string literal in 'asm' 
    3998 EXPOSE_BALLOT(quad_active_threads_mask, , ushort, ) 
    3999 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4000 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    4001 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    4002 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4003 program_source:422:23: error: implicit declaration of function 'simd_is_first'
    4004 is invalid in OpenCL 
    4005 return select(0, 1, simd_is_first()); 
    4006 
    4007 program_source:426:23: error: implicit declaration of function 'simd_all' is
    4008 invalid in OpenCL 
    4009 return select(0, 1, simd_all(predicate != 0)); 
    4010 
    4011 program_source:430:23: error: implicit declaration of function 'simd_any' is
    4012 invalid in OpenCL 
    4013 return select(0, 1, simd_any(predicate != 0)); 
    4014 
    4015 program_source:434:23: error: implicit declaration of function 'simd_all' is
    4016 invalid in OpenCL 
    4017 return select(0, 1, simd_all(predicate != 0)); 
    4018 
    4019 program_source:438:23: error: implicit declaration of function 'simd_any' is
    4020 invalid in OpenCL 
    4021 return select(0, 1, simd_any(predicate != 0)); 
    4022 
    4023 program_source:443:14: error: implicit declaration of function 'simd_ballot'
    4024 is invalid in OpenCL 
    4025 output.x = simd_ballot(predicate != 0); 
    4026 
    4027 program_source:480:9: error: illegal string literal in 'asm' 
    4028 __asm("air.simdgroup.barrier"); 
    4029 ^~~~~~~~~~~~~~~~~~~~~~~ 
    4030 program_source:487:3: error: implicit declaration of function
    4031 '__metal_simdgroup_barrier' is invalid in OpenCL 
    4032 __metal_simdgroup_barrier(flags, 1); 
    4033 
    4034 program_source:487:3: note: did you mean 'simdgroup_barrier'? 
    4035 program_source:483:6: note: 'simdgroup_barrier' declared here 
    4036 void simdgroup_barrier(int flags) { 
    4037 
    4038 program_source:681:9: error: implicit declaration of function 'simd_is_first'
    4039 is invalid in OpenCL 
    4040 if (simd_is_first()) { 
    4041 
    4042 program_source:673:45: warning: comparison of integers of different signs:
    4043 '__private unsigned int' and '__private int' [-Wsign-compare] 
    4044 for (unsigned int index = thread; index < bufferSize; index +=
    4045 get_local_size(0)) 
    4046 ~~~~~ ^ ~~~~~~~~~~ 
    4047 program_source:685:45: warning: comparison of integers of different signs:
    4048 'unsigned int' and '__private int' [-Wsign-compare] 
    4049 if (thread%(32*2) == 0 && thread+32 < workGroupSize) 
    4050 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    4051 program_source:689:45: warning: comparison of integers of different signs:
    4052 'unsigned int' and '__private int' [-Wsign-compare] 
    4053 if (thread%(64*2) == 0 && thread+64 < workGroupSize) 
    4054 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    4055 program_source:693:47: warning: comparison of integers of different signs:
    4056 'unsigned int' and '__private int' [-Wsign-compare] 
    4057 if (thread%(128*2) == 0 && thread+128 < workGroupSize) 
    4058 ~~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    4059  
    4060  
    4061 openmm.OpenMMException: Error compiling kernel: program_source:279:1: error:
    4062 illegal string literal in 'asm' 
    4063 DECLARE_REDUCTION_BASE(sum) 
    4064 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4065 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4066 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4067 
    4068 program_source:263:44: note: expanded from macro '\ 
    4069 DECLARE_I_REDUCTION_BASE' 
    4070 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4071 
    4072 program_source:217:40: note: expanded from macro '\ 
    4073 EXPOSE_FUNCTION_I_ARGS_1' 
    4074 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4075 
    4076 program_source:164:9: note: expanded from macro '\ 
    4077 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4078 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4079 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4080 program_source:279:1: error: illegal string literal in 'asm' 
    4081 DECLARE_REDUCTION_BASE(sum) 
    4082 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4083 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4084 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4085 
    4086 program_source:263:44: note: expanded from macro '\ 
    4087 DECLARE_I_REDUCTION_BASE' 
    4088 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4089 
    4090 program_source:218:51: note: expanded from macro '\ 
    4091 EXPOSE_FUNCTION_I_ARGS_1' 
    4092 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4093 
    4094 program_source:164:9: note: expanded from macro '\ 
    4095 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4096 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4097 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4098 program_source:279:1: error: illegal string literal in 'asm' 
    4099 DECLARE_REDUCTION_BASE(sum) 
    4100 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4101 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4102 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4103 
    4104 program_source:264:43: note: expanded from macro '\ 
    4105 DECLARE_I_REDUCTION_BASE' 
    4106 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4107 
    4108 program_source:217:40: note: expanded from macro '\ 
    4109 EXPOSE_FUNCTION_I_ARGS_1' 
    4110 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4111 
    4112 program_source:164:9: note: expanded from macro '\ 
    4113 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4114 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4115 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4116 program_source:279:1: error: illegal string literal in 'asm' 
    4117 DECLARE_REDUCTION_BASE(sum) 
    4118 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4119 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4120 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4121 
    4122 program_source:264:43: note: expanded from macro '\ 
    4123 DECLARE_I_REDUCTION_BASE' 
    4124 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4125 
    4126 program_source:218:51: note: expanded from macro '\ 
    4127 EXPOSE_FUNCTION_I_ARGS_1' 
    4128 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4129 
    4130 program_source:164:9: note: expanded from macro '\ 
    4131 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4132 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4133 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4134 program_source:279:1: error: illegal string literal in 'asm' 
    4135 DECLARE_REDUCTION_BASE(sum) 
    4136 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4137 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4138 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4139 
    4140 program_source:267:44: note: expanded from macro '\ 
    4141 DECLARE_F_REDUCTION_BASE' 
    4142 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4143 
    4144 program_source:221:40: note: expanded from macro '\ 
    4145 EXPOSE_FUNCTION_F_ARGS_1' 
    4146 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4147 
    4148 program_source:164:9: note: expanded from macro '\ 
    4149 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4150 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4151 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4152 program_source:279:1: error: illegal string literal in 'asm' 
    4153 DECLARE_REDUCTION_BASE(sum) 
    4154 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4155 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4156 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4157 
    4158 program_source:268:43: note: expanded from macro '\ 
    4159 DECLARE_F_REDUCTION_BASE' 
    4160 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4161 
    4162 program_source:221:40: note: expanded from macro '\ 
    4163 EXPOSE_FUNCTION_F_ARGS_1' 
    4164 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4165 
    4166 program_source:164:9: note: expanded from macro '\ 
    4167 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4168 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4169 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4170 program_source:280:1: error: illegal string literal in 'asm' 
    4171 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    4172 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4173 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4174 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4175 
    4176 program_source:263:44: note: expanded from macro '\ 
    4177 DECLARE_I_REDUCTION_BASE' 
    4178 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4179 
    4180 program_source:217:40: note: expanded from macro '\ 
    4181 EXPOSE_FUNCTION_I_ARGS_1' 
    4182 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4183 
    4184 program_source:164:9: note: expanded from macro '\ 
    4185 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4186 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4187 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4188 program_source:280:1: error: illegal string literal in 'asm' 
    4189 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    4190 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4191 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4192 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4193 
    4194 program_source:263:44: note: expanded from macro '\ 
    4195 DECLARE_I_REDUCTION_BASE' 
    4196 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4197 
    4198 program_source:218:51: note: expanded from macro '\ 
    4199 EXPOSE_FUNCTION_I_ARGS_1' 
    4200 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4201 
    4202 program_source:164:9: note: expanded from macro '\ 
    4203 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4204 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4205 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4206 program_source:280:1: error: illegal string literal in 'asm' 
    4207 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    4208 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4209 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4210 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4211 
    4212 program_source:264:43: note: expanded from macro '\ 
    4213 DECLARE_I_REDUCTION_BASE' 
    4214 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4215 
    4216 program_source:217:40: note: expanded from macro '\ 
    4217 EXPOSE_FUNCTION_I_ARGS_1' 
    4218 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4219 
    4220 program_source:164:9: note: expanded from macro '\ 
    4221 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4222 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4223 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4224 program_source:280:1: error: illegal string literal in 'asm' 
    4225 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    4226 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4227 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4228 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4229 
    4230 program_source:264:43: note: expanded from macro '\ 
    4231 DECLARE_I_REDUCTION_BASE' 
    4232 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4233 
    4234 program_source:218:51: note: expanded from macro '\ 
    4235 EXPOSE_FUNCTION_I_ARGS_1' 
    4236 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4237 
    4238 program_source:164:9: note: expanded from macro '\ 
    4239 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4240 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4241 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4242 program_source:280:1: error: illegal string literal in 'asm' 
    4243 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    4244 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4245 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4246 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4247 
    4248 program_source:267:44: note: expanded from macro '\ 
    4249 DECLARE_F_REDUCTION_BASE' 
    4250 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4251 
    4252 program_source:221:40: note: expanded from macro '\ 
    4253 EXPOSE_FUNCTION_F_ARGS_1' 
    4254 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4255 
    4256 program_source:164:9: note: expanded from macro '\ 
    4257 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4258 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4259 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4260 program_source:280:1: error: illegal string literal in 'asm' 
    4261 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    4262 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4263 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4264 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4265 
    4266 program_source:268:43: note: expanded from macro '\ 
    4267 DECLARE_F_REDUCTION_BASE' 
    4268 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4269 
    4270 program_source:221:40: note: expanded from macro '\ 
    4271 EXPOSE_FUNCTION_F_ARGS_1' 
    4272 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4273 
    4274 program_source:164:9: note: expanded from macro '\ 
    4275 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4276 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4277 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4278 program_source:281:1: error: illegal string literal in 'asm' 
    4279 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4280 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4281 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4282 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4283 
    4284 program_source:263:44: note: expanded from macro '\ 
    4285 DECLARE_I_REDUCTION_BASE' 
    4286 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4287 
    4288 program_source:217:40: note: expanded from macro '\ 
    4289 EXPOSE_FUNCTION_I_ARGS_1' 
    4290 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4291 
    4292 program_source:164:9: note: expanded from macro '\ 
    4293 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4294 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4295 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4296 program_source:281:1: error: illegal string literal in 'asm' 
    4297 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4298 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4299 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4300 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4301 
    4302 program_source:263:44: note: expanded from macro '\ 
    4303 DECLARE_I_REDUCTION_BASE' 
    4304 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4305 
    4306 program_source:218:51: note: expanded from macro '\ 
    4307 EXPOSE_FUNCTION_I_ARGS_1' 
    4308 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4309 
    4310 program_source:164:9: note: expanded from macro '\ 
    4311 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4312 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4313 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4314 program_source:281:1: error: illegal string literal in 'asm' 
    4315 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4316 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4317 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4318 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4319 
    4320 program_source:264:43: note: expanded from macro '\ 
    4321 DECLARE_I_REDUCTION_BASE' 
    4322 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4323 
    4324 program_source:217:40: note: expanded from macro '\ 
    4325 EXPOSE_FUNCTION_I_ARGS_1' 
    4326 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4327 
    4328 program_source:164:9: note: expanded from macro '\ 
    4329 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4330 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4331 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4332 program_source:281:1: error: illegal string literal in 'asm' 
    4333 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4334 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4335 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4336 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4337 
    4338 program_source:264:43: note: expanded from macro '\ 
    4339 DECLARE_I_REDUCTION_BASE' 
    4340 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4341 
    4342 program_source:218:51: note: expanded from macro '\ 
    4343 EXPOSE_FUNCTION_I_ARGS_1' 
    4344 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4345 
    4346 program_source:164:9: note: expanded from macro '\ 
    4347 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4348 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4349 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4350 program_source:281:1: error: illegal string literal in 'asm' 
    4351 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4352 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4353 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4354 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4355 
    4356 program_source:267:44: note: expanded from macro '\ 
    4357 DECLARE_F_REDUCTION_BASE' 
    4358 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4359 
    4360 program_source:221:40: note: expanded from macro '\ 
    4361 EXPOSE_FUNCTION_F_ARGS_1' 
    4362 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4363 
    4364 program_source:164:9: note: expanded from macro '\ 
    4365 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4366 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4367 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4368 program_source:281:1: error: illegal string literal in 'asm' 
    4369 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4370 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4371 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4372 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4373 
    4374 program_source:268:43: note: expanded from macro '\ 
    4375 DECLARE_F_REDUCTION_BASE' 
    4376 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4377 
    4378 program_source:221:40: note: expanded from macro '\ 
    4379 EXPOSE_FUNCTION_F_ARGS_1' 
    4380 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4381 
    4382 program_source:164:9: note: expanded from macro '\ 
    4383 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4384 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4385 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4386 program_source:282:1: error: illegal string literal in 'asm' 
    4387 DECLARE_REDUCTION_BASE(min) 
    4388 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4389 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4390 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4391 
    4392 program_source:263:44: note: expanded from macro '\ 
    4393 DECLARE_I_REDUCTION_BASE' 
    4394 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4395 
    4396 program_source:217:40: note: expanded from macro '\ 
    4397 EXPOSE_FUNCTION_I_ARGS_1' 
    4398 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4399 
    4400 program_source:164:9: note: expanded from macro '\ 
    4401 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4402 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4403 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4404 program_source:282:1: error: illegal string literal in 'asm' 
    4405 DECLARE_REDUCTION_BASE(min) 
    4406 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4407 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4408 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4409 
    4410 program_source:263:44: note: expanded from macro '\ 
    4411 DECLARE_I_REDUCTION_BASE' 
    4412 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4413 
    4414 program_source:218:51: note: expanded from macro '\ 
    4415 EXPOSE_FUNCTION_I_ARGS_1' 
    4416 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4417 
    4418 program_source:164:9: note: expanded from macro '\ 
    4419 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4420 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4421 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4422 program_source:282:1: error: illegal string literal in 'asm' 
    4423 DECLARE_REDUCTION_BASE(min) 
    4424 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4425 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4426 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4427 
    4428 program_source:264:43: note: expanded from macro '\ 
    4429 DECLARE_I_REDUCTION_BASE' 
    4430 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4431 
    4432 program_source:217:40: note: expanded from macro '\ 
    4433 EXPOSE_FUNCTION_I_ARGS_1' 
    4434 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4435 
    4436 program_source:164:9: note: expanded from macro '\ 
    4437 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4438 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4439 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4440 program_source:282:1: error: illegal string literal in 'asm' 
    4441 DECLARE_REDUCTION_BASE(min) 
    4442 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4443 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4444 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4445 
    4446 program_source:264:43: note: expanded from macro '\ 
    4447 DECLARE_I_REDUCTION_BASE' 
    4448 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4449 
    4450 program_source:218:51: note: expanded from macro '\ 
    4451 EXPOSE_FUNCTION_I_ARGS_1' 
    4452 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4453 
    4454 program_source:164:9: note: expanded from macro '\ 
    4455 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4456 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4457 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4458 program_source:282:1: error: illegal string literal in 'asm' 
    4459 DECLARE_REDUCTION_BASE(min) 
    4460 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4461 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4462 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4463 
    4464 program_source:267:44: note: expanded from macro '\ 
    4465 DECLARE_F_REDUCTION_BASE' 
    4466 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4467 
    4468 program_source:221:40: note: expanded from macro '\ 
    4469 EXPOSE_FUNCTION_F_ARGS_1' 
    4470 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4471 
    4472 program_source:164:9: note: expanded from macro '\ 
    4473 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4474 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4475 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4476 program_source:282:1: error: illegal string literal in 'asm' 
    4477 DECLARE_REDUCTION_BASE(min) 
    4478 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4479 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4480 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4481 
    4482 program_source:268:43: note: expanded from macro '\ 
    4483 DECLARE_F_REDUCTION_BASE' 
    4484 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4485 
    4486 program_source:221:40: note: expanded from macro '\ 
    4487 EXPOSE_FUNCTION_F_ARGS_1' 
    4488 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4489 
    4490 program_source:164:9: note: expanded from macro '\ 
    4491 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4492 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4493 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4494 program_source:283:1: error: illegal string literal in 'asm' 
    4495 DECLARE_REDUCTION_BASE(max) 
    4496 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4497 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4498 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4499 
    4500 program_source:263:44: note: expanded from macro '\ 
    4501 DECLARE_I_REDUCTION_BASE' 
    4502 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4503 
    4504 program_source:217:40: note: expanded from macro '\ 
    4505 EXPOSE_FUNCTION_I_ARGS_1' 
    4506 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4507 
    4508 program_source:164:9: note: expanded from macro '\ 
    4509 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4510 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4511 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4512 program_source:283:1: error: illegal string literal in 'asm' 
    4513 DECLARE_REDUCTION_BASE(max) 
    4514 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4515 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4516 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4517 
    4518 program_source:263:44: note: expanded from macro '\ 
    4519 DECLARE_I_REDUCTION_BASE' 
    4520 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4521 
    4522 program_source:218:51: note: expanded from macro '\ 
    4523 EXPOSE_FUNCTION_I_ARGS_1' 
    4524 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4525 
    4526 program_source:164:9: note: expanded from macro '\ 
    4527 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4528 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4529 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4530 program_source:283:1: error: illegal string literal in 'asm' 
    4531 DECLARE_REDUCTION_BASE(max) 
    4532 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4533 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4534 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4535 
    4536 program_source:264:43: note: expanded from macro '\ 
    4537 DECLARE_I_REDUCTION_BASE' 
    4538 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4539 
    4540 program_source:217:40: note: expanded from macro '\ 
    4541 EXPOSE_FUNCTION_I_ARGS_1' 
    4542 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4543 
    4544 program_source:164:9: note: expanded from macro '\ 
    4545 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4546 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4547 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4548 program_source:283:1: error: illegal string literal in 'asm' 
    4549 DECLARE_REDUCTION_BASE(max) 
    4550 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4551 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4552 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4553 
    4554 program_source:264:43: note: expanded from macro '\ 
    4555 DECLARE_I_REDUCTION_BASE' 
    4556 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4557 
    4558 program_source:218:51: note: expanded from macro '\ 
    4559 EXPOSE_FUNCTION_I_ARGS_1' 
    4560 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4561 
    4562 program_source:164:9: note: expanded from macro '\ 
    4563 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4564 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4565 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4566 program_source:283:1: error: illegal string literal in 'asm' 
    4567 DECLARE_REDUCTION_BASE(max) 
    4568 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4569 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4570 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4571 
    4572 program_source:267:44: note: expanded from macro '\ 
    4573 DECLARE_F_REDUCTION_BASE' 
    4574 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4575 
    4576 program_source:221:40: note: expanded from macro '\ 
    4577 EXPOSE_FUNCTION_F_ARGS_1' 
    4578 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4579 
    4580 program_source:164:9: note: expanded from macro '\ 
    4581 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4582 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4583 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4584 program_source:283:1: error: illegal string literal in 'asm' 
    4585 DECLARE_REDUCTION_BASE(max) 
    4586 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4587 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4588 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4589 
    4590 program_source:268:43: note: expanded from macro '\ 
    4591 DECLARE_F_REDUCTION_BASE' 
    4592 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4593 
    4594 program_source:221:40: note: expanded from macro '\ 
    4595 EXPOSE_FUNCTION_F_ARGS_1' 
    4596 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4597 
    4598 program_source:164:9: note: expanded from macro '\ 
    4599 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4600 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4601 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4602 program_source:285:1: error: illegal string literal in 'asm' 
    4603 DECLARE_REDUCTION_BASE(product) 
    4604 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4605 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4606 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4607 
    4608 program_source:263:44: note: expanded from macro '\ 
    4609 DECLARE_I_REDUCTION_BASE' 
    4610 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4611 
    4612 program_source:217:40: note: expanded from macro '\ 
    4613 EXPOSE_FUNCTION_I_ARGS_1' 
    4614 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4615 
    4616 program_source:164:9: note: expanded from macro '\ 
    4617 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4618 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4619 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4620 program_source:285:1: error: illegal string literal in 'asm' 
    4621 DECLARE_REDUCTION_BASE(product) 
    4622 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4623 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4624 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4625 
    4626 program_source:263:44: note: expanded from macro '\ 
    4627 DECLARE_I_REDUCTION_BASE' 
    4628 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4629 
    4630 program_source:218:51: note: expanded from macro '\ 
    4631 EXPOSE_FUNCTION_I_ARGS_1' 
    4632 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4633 
    4634 program_source:164:9: note: expanded from macro '\ 
    4635 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4636 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4637 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4638 program_source:285:1: error: illegal string literal in 'asm' 
    4639 DECLARE_REDUCTION_BASE(product) 
    4640 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4641 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4642 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4643 
    4644 program_source:264:43: note: expanded from macro '\ 
    4645 DECLARE_I_REDUCTION_BASE' 
    4646 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4647 
    4648 program_source:217:40: note: expanded from macro '\ 
    4649 EXPOSE_FUNCTION_I_ARGS_1' 
    4650 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4651 
    4652 program_source:164:9: note: expanded from macro '\ 
    4653 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4654 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4655 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4656 program_source:285:1: error: illegal string literal in 'asm' 
    4657 DECLARE_REDUCTION_BASE(product) 
    4658 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4659 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4660 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4661 
    4662 program_source:264:43: note: expanded from macro '\ 
    4663 DECLARE_I_REDUCTION_BASE' 
    4664 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4665 
    4666 program_source:218:51: note: expanded from macro '\ 
    4667 EXPOSE_FUNCTION_I_ARGS_1' 
    4668 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4669 
    4670 program_source:164:9: note: expanded from macro '\ 
    4671 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4672 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4673 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4674 program_source:285:1: error: illegal string literal in 'asm' 
    4675 DECLARE_REDUCTION_BASE(product) 
    4676 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4677 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4678 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4679 
    4680 program_source:267:44: note: expanded from macro '\ 
    4681 DECLARE_F_REDUCTION_BASE' 
    4682 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4683 
    4684 program_source:221:40: note: expanded from macro '\ 
    4685 EXPOSE_FUNCTION_F_ARGS_1' 
    4686 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4687 
    4688 program_source:164:9: note: expanded from macro '\ 
    4689 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4690 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4691 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4692 program_source:285:1: error: illegal string literal in 'asm' 
    4693 DECLARE_REDUCTION_BASE(product) 
    4694 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4695 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4696 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4697 
    4698 program_source:268:43: note: expanded from macro '\ 
    4699 DECLARE_F_REDUCTION_BASE' 
    4700 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4701 
    4702 program_source:221:40: note: expanded from macro '\ 
    4703 EXPOSE_FUNCTION_F_ARGS_1' 
    4704 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4705 
    4706 program_source:164:9: note: expanded from macro '\ 
    4707 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4708 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4709 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4710 program_source:286:1: error: illegal string literal in 'asm' 
    4711 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4712 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4713 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4714 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4715 
    4716 program_source:263:44: note: expanded from macro '\ 
    4717 DECLARE_I_REDUCTION_BASE' 
    4718 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4719 
    4720 program_source:217:40: note: expanded from macro '\ 
    4721 EXPOSE_FUNCTION_I_ARGS_1' 
    4722 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4723 
    4724 program_source:164:9: note: expanded from macro '\ 
    4725 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4726 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4727 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4728 program_source:286:1: error: illegal string literal in 'asm' 
    4729 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4730 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4731 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4732 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4733 
    4734 program_source:263:44: note: expanded from macro '\ 
    4735 DECLARE_I_REDUCTION_BASE' 
    4736 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4737 
    4738 program_source:218:51: note: expanded from macro '\ 
    4739 EXPOSE_FUNCTION_I_ARGS_1' 
    4740 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4741 
    4742 program_source:164:9: note: expanded from macro '\ 
    4743 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4744 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4745 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4746 program_source:286:1: error: illegal string literal in 'asm' 
    4747 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4748 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4749 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4750 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4751 
    4752 program_source:264:43: note: expanded from macro '\ 
    4753 DECLARE_I_REDUCTION_BASE' 
    4754 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4755 
    4756 program_source:217:40: note: expanded from macro '\ 
    4757 EXPOSE_FUNCTION_I_ARGS_1' 
    4758 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4759 
    4760 program_source:164:9: note: expanded from macro '\ 
    4761 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4762 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4763 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4764 program_source:286:1: error: illegal string literal in 'asm' 
    4765 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4766 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4767 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4768 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4769 
    4770 program_source:264:43: note: expanded from macro '\ 
    4771 DECLARE_I_REDUCTION_BASE' 
    4772 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4773 
    4774 program_source:218:51: note: expanded from macro '\ 
    4775 EXPOSE_FUNCTION_I_ARGS_1' 
    4776 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4777 
    4778 program_source:164:9: note: expanded from macro '\ 
    4779 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4780 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4781 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4782 program_source:286:1: error: illegal string literal in 'asm' 
    4783 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4784 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4785 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4786 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4787 
    4788 program_source:267:44: note: expanded from macro '\ 
    4789 DECLARE_F_REDUCTION_BASE' 
    4790 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4791 
    4792 program_source:221:40: note: expanded from macro '\ 
    4793 EXPOSE_FUNCTION_F_ARGS_1' 
    4794 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4795 
    4796 program_source:164:9: note: expanded from macro '\ 
    4797 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4798 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4799 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4800 program_source:286:1: error: illegal string literal in 'asm' 
    4801 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4802 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4803 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4804 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4805 
    4806 program_source:268:43: note: expanded from macro '\ 
    4807 DECLARE_F_REDUCTION_BASE' 
    4808 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4809 
    4810 program_source:221:40: note: expanded from macro '\ 
    4811 EXPOSE_FUNCTION_F_ARGS_1' 
    4812 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4813 
    4814 program_source:164:9: note: expanded from macro '\ 
    4815 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4816 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4817 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4818 program_source:287:1: error: illegal string literal in 'asm' 
    4819 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4820 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4821 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4822 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4823 
    4824 program_source:263:44: note: expanded from macro '\ 
    4825 DECLARE_I_REDUCTION_BASE' 
    4826 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4827 
    4828 program_source:217:40: note: expanded from macro '\ 
    4829 EXPOSE_FUNCTION_I_ARGS_1' 
    4830 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4831 
    4832 program_source:164:9: note: expanded from macro '\ 
    4833 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4834 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4835 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4836 program_source:287:1: error: illegal string literal in 'asm' 
    4837 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4838 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4839 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4840 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4841 
    4842 program_source:263:44: note: expanded from macro '\ 
    4843 DECLARE_I_REDUCTION_BASE' 
    4844 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4845 
    4846 program_source:218:51: note: expanded from macro '\ 
    4847 EXPOSE_FUNCTION_I_ARGS_1' 
    4848 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4849 
    4850 program_source:164:9: note: expanded from macro '\ 
    4851 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4852 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4853 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4854 program_source:287:1: error: illegal string literal in 'asm' 
    4855 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4856 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4857 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4858 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4859 
    4860 program_source:264:43: note: expanded from macro '\ 
    4861 DECLARE_I_REDUCTION_BASE' 
    4862 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4863 
    4864 program_source:217:40: note: expanded from macro '\ 
    4865 EXPOSE_FUNCTION_I_ARGS_1' 
    4866 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4867 
    4868 program_source:164:9: note: expanded from macro '\ 
    4869 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4870 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4871 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4872 program_source:287:1: error: illegal string literal in 'asm' 
    4873 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4874 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4875 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4876 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4877 
    4878 program_source:264:43: note: expanded from macro '\ 
    4879 DECLARE_I_REDUCTION_BASE' 
    4880 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4881 
    4882 program_source:218:51: note: expanded from macro '\ 
    4883 EXPOSE_FUNCTION_I_ARGS_1' 
    4884 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4885 
    4886 program_source:164:9: note: expanded from macro '\ 
    4887 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4888 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4889 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4890 program_source:287:1: error: illegal string literal in 'asm' 
    4891 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4892 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4893 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4894 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4895 
    4896 program_source:267:44: note: expanded from macro '\ 
    4897 DECLARE_F_REDUCTION_BASE' 
    4898 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4899 
    4900 program_source:221:40: note: expanded from macro '\ 
    4901 EXPOSE_FUNCTION_F_ARGS_1' 
    4902 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4903 
    4904 program_source:164:9: note: expanded from macro '\ 
    4905 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4906 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4907 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4908 program_source:287:1: error: illegal string literal in 'asm' 
    4909 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4910 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4911 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4912 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4913 
    4914 program_source:268:43: note: expanded from macro '\ 
    4915 DECLARE_F_REDUCTION_BASE' 
    4916 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4917 
    4918 program_source:221:40: note: expanded from macro '\ 
    4919 EXPOSE_FUNCTION_F_ARGS_1' 
    4920 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4921 
    4922 program_source:164:9: note: expanded from macro '\ 
    4923 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4924 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4925 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4926 program_source:288:1: error: illegal string literal in 'asm' 
    4927 DECLARE_I_REDUCTION_BASE(and) 
    4928 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4929 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4930 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4931 
    4932 program_source:217:40: note: expanded from macro '\ 
    4933 EXPOSE_FUNCTION_I_ARGS_1' 
    4934 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4935 
    4936 program_source:164:9: note: expanded from macro '\ 
    4937 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4938 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4939 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4940 program_source:288:1: error: illegal string literal in 'asm' 
    4941 DECLARE_I_REDUCTION_BASE(and) 
    4942 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4943 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4944 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4945 
    4946 program_source:218:51: note: expanded from macro '\ 
    4947 EXPOSE_FUNCTION_I_ARGS_1' 
    4948 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4949 
    4950 program_source:164:9: note: expanded from macro '\ 
    4951 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4952 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4953 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4954 program_source:288:1: error: illegal string literal in 'asm' 
    4955 DECLARE_I_REDUCTION_BASE(and) 
    4956 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4957 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4958 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4959 
    4960 program_source:217:40: note: expanded from macro '\ 
    4961 EXPOSE_FUNCTION_I_ARGS_1' 
    4962 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4963 
    4964 program_source:164:9: note: expanded from macro '\ 
    4965 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4966 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4967 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4968 program_source:288:1: error: illegal string literal in 'asm' 
    4969 DECLARE_I_REDUCTION_BASE(and) 
    4970 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4971 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4972 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4973 
    4974 program_source:218:51: note: expanded from macro '\ 
    4975 EXPOSE_FUNCTION_I_ARGS_1' 
    4976 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4977 
    4978 program_source:164:9: note: expanded from macro '\ 
    4979 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4980 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4981 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4982 program_source:289:1: error: illegal string literal in 'asm' 
    4983 DECLARE_I_REDUCTION_BASE(or) 
    4984 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4985 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4986 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4987 
    4988 program_source:217:40: note: expanded from macro '\ 
    4989 EXPOSE_FUNCTION_I_ARGS_1' 
    4990 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4991 
    4992 program_source:164:9: note: expanded from macro '\ 
    4993 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4994 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4995 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4996 program_source:289:1: error: illegal string literal in 'asm' 
    4997 DECLARE_I_REDUCTION_BASE(or) 
    4998 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4999 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    5000 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    5001 
    5002 program_source:218:51: note: expanded from macro '\ 
    5003 EXPOSE_FUNCTION_I_ARGS_1' 
    5004 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    5005 
    5006 program_source:164:9: note: expanded from macro '\ 
    5007 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5008 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5009 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5010 program_source:289:1: error: illegal string literal in 'asm' 
    5011 DECLARE_I_REDUCTION_BASE(or) 
    5012 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5013 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    5014 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    5015 
    5016 program_source:217:40: note: expanded from macro '\ 
    5017 EXPOSE_FUNCTION_I_ARGS_1' 
    5018 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    5019 
    5020 program_source:164:9: note: expanded from macro '\ 
    5021 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5022 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5023 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5024 program_source:289:1: error: illegal string literal in 'asm' 
    5025 DECLARE_I_REDUCTION_BASE(or) 
    5026 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5027 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    5028 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    5029 
    5030 program_source:218:51: note: expanded from macro '\ 
    5031 EXPOSE_FUNCTION_I_ARGS_1' 
    5032 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    5033 
    5034 program_source:164:9: note: expanded from macro '\ 
    5035 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5036 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5037 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5038 program_source:290:1: error: illegal string literal in 'asm' 
    5039 DECLARE_I_REDUCTION_BASE(xor) 
    5040 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5041 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    5042 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    5043 
    5044 program_source:217:40: note: expanded from macro '\ 
    5045 EXPOSE_FUNCTION_I_ARGS_1' 
    5046 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    5047 
    5048 program_source:164:9: note: expanded from macro '\ 
    5049 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5050 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5051 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5052 program_source:290:1: error: illegal string literal in 'asm' 
    5053 DECLARE_I_REDUCTION_BASE(xor) 
    5054 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5055 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    5056 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    5057 
    5058 program_source:218:51: note: expanded from macro '\ 
    5059 EXPOSE_FUNCTION_I_ARGS_1' 
    5060 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    5061 
    5062 program_source:164:9: note: expanded from macro '\ 
    5063 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5064 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5065 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5066 program_source:290:1: error: illegal string literal in 'asm' 
    5067 DECLARE_I_REDUCTION_BASE(xor) 
    5068 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5069 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    5070 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    5071 
    5072 program_source:217:40: note: expanded from macro '\ 
    5073 EXPOSE_FUNCTION_I_ARGS_1' 
    5074 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    5075 
    5076 program_source:164:9: note: expanded from macro '\ 
    5077 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5078 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5079 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5080 program_source:290:1: error: illegal string literal in 'asm' 
    5081 DECLARE_I_REDUCTION_BASE(xor) 
    5082 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5083 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    5084 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    5085 
    5086 program_source:218:51: note: expanded from macro '\ 
    5087 EXPOSE_FUNCTION_I_ARGS_1' 
    5088 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    5089 
    5090 program_source:164:9: note: expanded from macro '\ 
    5091 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5092 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5093 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5094 program_source:292:1: error: illegal string literal in 'asm' 
    5095 DECLARE_SHUFFLE_BASE(broadcast) 
    5096 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5097 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5098 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5099 
    5100 program_source:224:38: note: expanded from macro '\ 
    5101 EXPOSE_FUNCTION_ARGS_2' 
    5102 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5103 
    5104 program_source:168:9: note: expanded from macro '\ 
    5105 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5106 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5107 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5108 program_source:292:1: error: illegal string literal in 'asm' 
    5109 DECLARE_SHUFFLE_BASE(broadcast) 
    5110 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5111 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5112 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5113 
    5114 program_source:225:51: note: expanded from macro '\ 
    5115 EXPOSE_FUNCTION_ARGS_2' 
    5116 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5117 
    5118 program_source:168:9: note: expanded from macro '\ 
    5119 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5120 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5121 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5122 program_source:292:1: error: illegal string literal in 'asm' 
    5123 DECLARE_SHUFFLE_BASE(broadcast) 
    5124 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5125 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5126 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5127 
    5128 program_source:226:52: note: expanded from macro '\ 
    5129 EXPOSE_FUNCTION_ARGS_2' 
    5130 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5131 
    5132 program_source:168:9: note: expanded from macro '\ 
    5133 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5134 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5135 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5136 program_source:292:1: error: illegal string literal in 'asm' 
    5137 DECLARE_SHUFFLE_BASE(broadcast) 
    5138 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5139 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5140 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5141 
    5142 program_source:224:38: note: expanded from macro '\ 
    5143 EXPOSE_FUNCTION_ARGS_2' 
    5144 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5145 
    5146 program_source:168:9: note: expanded from macro '\ 
    5147 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5148 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5149 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5150 program_source:292:1: error: illegal string literal in 'asm' 
    5151 DECLARE_SHUFFLE_BASE(broadcast) 
    5152 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5153 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5154 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5155 
    5156 program_source:225:51: note: expanded from macro '\ 
    5157 EXPOSE_FUNCTION_ARGS_2' 
    5158 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5159 
    5160 program_source:168:9: note: expanded from macro '\ 
    5161 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5162 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5163 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5164 program_source:292:1: error: illegal string literal in 'asm' 
    5165 DECLARE_SHUFFLE_BASE(broadcast) 
    5166 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5167 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5168 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5169 
    5170 program_source:226:52: note: expanded from macro '\ 
    5171 EXPOSE_FUNCTION_ARGS_2' 
    5172 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5173 
    5174 program_source:168:9: note: expanded from macro '\ 
    5175 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5176 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5177 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5178 program_source:293:1: error: illegal string literal in 'asm' 
    5179 DECLARE_REDUCTION_BASE(broadcast_first) 
    5180 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5181 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    5182 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    5183 
    5184 program_source:263:44: note: expanded from macro '\ 
    5185 DECLARE_I_REDUCTION_BASE' 
    5186 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    5187 
    5188 program_source:217:40: note: expanded from macro '\ 
    5189 EXPOSE_FUNCTION_I_ARGS_1' 
    5190 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    5191 
    5192 program_source:164:9: note: expanded from macro '\ 
    5193 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5194 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5195 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5196 program_source:293:1: error: illegal string literal in 'asm' 
    5197 DECLARE_REDUCTION_BASE(broadcast_first) 
    5198 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5199 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    5200 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    5201 
    5202 program_source:263:44: note: expanded from macro '\ 
    5203 DECLARE_I_REDUCTION_BASE' 
    5204 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    5205 
    5206 program_source:218:51: note: expanded from macro '\ 
    5207 EXPOSE_FUNCTION_I_ARGS_1' 
    5208 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    5209 
    5210 program_source:164:9: note: expanded from macro '\ 
    5211 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5212 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5213 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5214 program_source:293:1: error: illegal string literal in 'asm' 
    5215 DECLARE_REDUCTION_BASE(broadcast_first) 
    5216 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5217 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    5218 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    5219 
    5220 program_source:264:43: note: expanded from macro '\ 
    5221 DECLARE_I_REDUCTION_BASE' 
    5222 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    5223 
    5224 program_source:217:40: note: expanded from macro '\ 
    5225 EXPOSE_FUNCTION_I_ARGS_1' 
    5226 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    5227 
    5228 program_source:164:9: note: expanded from macro '\ 
    5229 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5230 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5231 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5232 program_source:293:1: error: illegal string literal in 'asm' 
    5233 DECLARE_REDUCTION_BASE(broadcast_first) 
    5234 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5235 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    5236 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    5237 
    5238 program_source:264:43: note: expanded from macro '\ 
    5239 DECLARE_I_REDUCTION_BASE' 
    5240 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    5241 
    5242 program_source:218:51: note: expanded from macro '\ 
    5243 EXPOSE_FUNCTION_I_ARGS_1' 
    5244 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    5245 
    5246 program_source:164:9: note: expanded from macro '\ 
    5247 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5248 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5249 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5250 program_source:293:1: error: illegal string literal in 'asm' 
    5251 DECLARE_REDUCTION_BASE(broadcast_first) 
    5252 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5253 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    5254 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    5255 
    5256 program_source:267:44: note: expanded from macro '\ 
    5257 DECLARE_F_REDUCTION_BASE' 
    5258 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    5259 
    5260 program_source:221:40: note: expanded from macro '\ 
    5261 EXPOSE_FUNCTION_F_ARGS_1' 
    5262 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    5263 
    5264 program_source:164:9: note: expanded from macro '\ 
    5265 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5266 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5267 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5268 program_source:293:1: error: illegal string literal in 'asm' 
    5269 DECLARE_REDUCTION_BASE(broadcast_first) 
    5270 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5271 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    5272 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    5273 
    5274 program_source:268:43: note: expanded from macro '\ 
    5275 DECLARE_F_REDUCTION_BASE' 
    5276 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    5277 
    5278 program_source:221:40: note: expanded from macro '\ 
    5279 EXPOSE_FUNCTION_F_ARGS_1' 
    5280 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    5281 
    5282 program_source:164:9: note: expanded from macro '\ 
    5283 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5284 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5285 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5286 program_source:295:1: error: illegal string literal in 'asm' 
    5287 DECLARE_SHUFFLE_BASE(shuffle) 
    5288 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5289 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5290 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5291 
    5292 program_source:224:38: note: expanded from macro '\ 
    5293 EXPOSE_FUNCTION_ARGS_2' 
    5294 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5295 
    5296 program_source:168:9: note: expanded from macro '\ 
    5297 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5298 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5299 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5300 program_source:295:1: error: illegal string literal in 'asm' 
    5301 DECLARE_SHUFFLE_BASE(shuffle) 
    5302 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5303 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5304 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5305 
    5306 program_source:225:51: note: expanded from macro '\ 
    5307 EXPOSE_FUNCTION_ARGS_2' 
    5308 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5309 
    5310 program_source:168:9: note: expanded from macro '\ 
    5311 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5312 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5313 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5314 program_source:295:1: error: illegal string literal in 'asm' 
    5315 DECLARE_SHUFFLE_BASE(shuffle) 
    5316 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5317 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5318 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5319 
    5320 program_source:226:52: note: expanded from macro '\ 
    5321 EXPOSE_FUNCTION_ARGS_2' 
    5322 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5323 
    5324 program_source:168:9: note: expanded from macro '\ 
    5325 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5326 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5327 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5328 program_source:295:1: error: illegal string literal in 'asm' 
    5329 DECLARE_SHUFFLE_BASE(shuffle) 
    5330 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5331 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5332 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5333 
    5334 program_source:224:38: note: expanded from macro '\ 
    5335 EXPOSE_FUNCTION_ARGS_2' 
    5336 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5337 
    5338 program_source:168:9: note: expanded from macro '\ 
    5339 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5340 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5341 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5342 program_source:295:1: error: illegal string literal in 'asm' 
    5343 DECLARE_SHUFFLE_BASE(shuffle) 
    5344 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5345 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5346 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5347 
    5348 program_source:225:51: note: expanded from macro '\ 
    5349 EXPOSE_FUNCTION_ARGS_2' 
    5350 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5351 
    5352 program_source:168:9: note: expanded from macro '\ 
    5353 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5354 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5355 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5356 program_source:295:1: error: illegal string literal in 'asm' 
    5357 DECLARE_SHUFFLE_BASE(shuffle) 
    5358 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5359 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5360 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5361 
    5362 program_source:226:52: note: expanded from macro '\ 
    5363 EXPOSE_FUNCTION_ARGS_2' 
    5364 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5365 
    5366 program_source:168:9: note: expanded from macro '\ 
    5367 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5368 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5369 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5370 program_source:296:1: error: illegal string literal in 'asm' 
    5371 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5372 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5373 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5374 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5375 
    5376 program_source:224:38: note: expanded from macro '\ 
    5377 EXPOSE_FUNCTION_ARGS_2' 
    5378 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5379 
    5380 program_source:168:9: note: expanded from macro '\ 
    5381 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5382 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5383 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5384 program_source:296:1: error: illegal string literal in 'asm' 
    5385 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5386 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5387 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5388 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5389 
    5390 program_source:225:51: note: expanded from macro '\ 
    5391 EXPOSE_FUNCTION_ARGS_2' 
    5392 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5393 
    5394 program_source:168:9: note: expanded from macro '\ 
    5395 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5396 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5397 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5398 program_source:296:1: error: illegal string literal in 'asm' 
    5399 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5400 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5401 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5402 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5403 
    5404 program_source:226:52: note: expanded from macro '\ 
    5405 EXPOSE_FUNCTION_ARGS_2' 
    5406 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5407 
    5408 program_source:168:9: note: expanded from macro '\ 
    5409 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5410 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5411 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5412 program_source:296:1: error: illegal string literal in 'asm' 
    5413 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5414 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5415 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5416 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5417 
    5418 program_source:224:38: note: expanded from macro '\ 
    5419 EXPOSE_FUNCTION_ARGS_2' 
    5420 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5421 
    5422 program_source:168:9: note: expanded from macro '\ 
    5423 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5424 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5425 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5426 program_source:296:1: error: illegal string literal in 'asm' 
    5427 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5428 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5429 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5430 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5431 
    5432 program_source:225:51: note: expanded from macro '\ 
    5433 EXPOSE_FUNCTION_ARGS_2' 
    5434 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5435 
    5436 program_source:168:9: note: expanded from macro '\ 
    5437 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5438 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5439 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5440 program_source:296:1: error: illegal string literal in 'asm' 
    5441 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5442 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5443 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5444 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5445 
    5446 program_source:226:52: note: expanded from macro '\ 
    5447 EXPOSE_FUNCTION_ARGS_2' 
    5448 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5449 
    5450 program_source:168:9: note: expanded from macro '\ 
    5451 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5452 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5453 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5454 program_source:297:1: error: illegal string literal in 'asm' 
    5455 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5456 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5457 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5458 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5459 
    5460 program_source:224:38: note: expanded from macro '\ 
    5461 EXPOSE_FUNCTION_ARGS_2' 
    5462 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5463 
    5464 program_source:168:9: note: expanded from macro '\ 
    5465 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5466 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5467 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5468 program_source:297:1: error: illegal string literal in 'asm' 
    5469 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5470 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5471 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5472 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5473 
    5474 program_source:225:51: note: expanded from macro '\ 
    5475 EXPOSE_FUNCTION_ARGS_2' 
    5476 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5477 
    5478 program_source:168:9: note: expanded from macro '\ 
    5479 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5480 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5481 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5482 program_source:297:1: error: illegal string literal in 'asm' 
    5483 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5484 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5485 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5486 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5487 
    5488 program_source:226:52: note: expanded from macro '\ 
    5489 EXPOSE_FUNCTION_ARGS_2' 
    5490 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5491 
    5492 program_source:168:9: note: expanded from macro '\ 
    5493 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5494 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5495 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5496 program_source:297:1: error: illegal string literal in 'asm' 
    5497 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5498 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5499 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5500 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5501 
    5502 program_source:224:38: note: expanded from macro '\ 
    5503 EXPOSE_FUNCTION_ARGS_2' 
    5504 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5505 
    5506 program_source:168:9: note: expanded from macro '\ 
    5507 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5508 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5509 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5510 program_source:297:1: error: illegal string literal in 'asm' 
    5511 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5512 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5513 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5514 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5515 
    5516 program_source:225:51: note: expanded from macro '\ 
    5517 EXPOSE_FUNCTION_ARGS_2' 
    5518 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5519 
    5520 program_source:168:9: note: expanded from macro '\ 
    5521 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5522 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5523 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5524 program_source:297:1: error: illegal string literal in 'asm' 
    5525 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5526 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5527 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5528 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5529 
    5530 program_source:226:52: note: expanded from macro '\ 
    5531 EXPOSE_FUNCTION_ARGS_2' 
    5532 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5533 
    5534 program_source:168:9: note: expanded from macro '\ 
    5535 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5536 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5537 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5538 program_source:298:1: error: illegal string literal in 'asm' 
    5539 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5540 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5541 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5542 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5543 
    5544 program_source:224:38: note: expanded from macro '\ 
    5545 EXPOSE_FUNCTION_ARGS_2' 
    5546 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5547 
    5548 program_source:168:9: note: expanded from macro '\ 
    5549 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5550 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5551 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5552 program_source:298:1: error: illegal string literal in 'asm' 
    5553 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5554 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5555 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5556 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5557 
    5558 program_source:225:51: note: expanded from macro '\ 
    5559 EXPOSE_FUNCTION_ARGS_2' 
    5560 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5561 
    5562 program_source:168:9: note: expanded from macro '\ 
    5563 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5564 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5565 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5566 program_source:298:1: error: illegal string literal in 'asm' 
    5567 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5568 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5569 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5570 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5571 
    5572 program_source:226:52: note: expanded from macro '\ 
    5573 EXPOSE_FUNCTION_ARGS_2' 
    5574 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5575 
    5576 program_source:168:9: note: expanded from macro '\ 
    5577 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5578 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5579 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5580 program_source:298:1: error: illegal string literal in 'asm' 
    5581 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5582 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5583 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5584 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5585 
    5586 program_source:224:38: note: expanded from macro '\ 
    5587 EXPOSE_FUNCTION_ARGS_2' 
    5588 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5589 
    5590 program_source:168:9: note: expanded from macro '\ 
    5591 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5592 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5593 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5594 program_source:298:1: error: illegal string literal in 'asm' 
    5595 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5596 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5597 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5598 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5599 
    5600 program_source:225:51: note: expanded from macro '\ 
    5601 EXPOSE_FUNCTION_ARGS_2' 
    5602 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5603 
    5604 program_source:168:9: note: expanded from macro '\ 
    5605 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5606 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5607 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5608 program_source:298:1: error: illegal string literal in 'asm' 
    5609 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5610 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5611 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5612 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5613 
    5614 program_source:226:52: note: expanded from macro '\ 
    5615 EXPOSE_FUNCTION_ARGS_2' 
    5616 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5617 
    5618 program_source:168:9: note: expanded from macro '\ 
    5619 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5620 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5621 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5622 program_source:299:1: error: illegal string literal in 'asm' 
    5623 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5624 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5625 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5626 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5627 
    5628 program_source:224:38: note: expanded from macro '\ 
    5629 EXPOSE_FUNCTION_ARGS_2' 
    5630 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5631 
    5632 program_source:168:9: note: expanded from macro '\ 
    5633 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5634 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5635 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5636 program_source:299:1: error: illegal string literal in 'asm' 
    5637 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5638 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5639 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5640 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5641 
    5642 program_source:225:51: note: expanded from macro '\ 
    5643 EXPOSE_FUNCTION_ARGS_2' 
    5644 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5645 
    5646 program_source:168:9: note: expanded from macro '\ 
    5647 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5648 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5649 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5650 program_source:299:1: error: illegal string literal in 'asm' 
    5651 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5652 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5653 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5654 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5655 
    5656 program_source:226:52: note: expanded from macro '\ 
    5657 EXPOSE_FUNCTION_ARGS_2' 
    5658 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5659 
    5660 program_source:168:9: note: expanded from macro '\ 
    5661 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5662 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5663 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5664 program_source:299:1: error: illegal string literal in 'asm' 
    5665 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5666 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5667 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5668 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5669 
    5670 program_source:224:38: note: expanded from macro '\ 
    5671 EXPOSE_FUNCTION_ARGS_2' 
    5672 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5673 
    5674 program_source:168:9: note: expanded from macro '\ 
    5675 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5676 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5677 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5678 program_source:299:1: error: illegal string literal in 'asm' 
    5679 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5680 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5681 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5682 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5683 
    5684 program_source:225:51: note: expanded from macro '\ 
    5685 EXPOSE_FUNCTION_ARGS_2' 
    5686 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5687 
    5688 program_source:168:9: note: expanded from macro '\ 
    5689 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5690 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5691 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5692 program_source:299:1: error: illegal string literal in 'asm' 
    5693 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5694 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5695 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5696 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5697 
    5698 program_source:226:52: note: expanded from macro '\ 
    5699 EXPOSE_FUNCTION_ARGS_2' 
    5700 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5701 
    5702 program_source:168:9: note: expanded from macro '\ 
    5703 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5704 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5705 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5706 program_source:300:1: error: illegal string literal in 'asm' 
    5707 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5708 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5709 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5710 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5711 
    5712 program_source:224:38: note: expanded from macro '\ 
    5713 EXPOSE_FUNCTION_ARGS_2' 
    5714 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5715 
    5716 program_source:168:9: note: expanded from macro '\ 
    5717 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5718 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5719 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5720 program_source:300:1: error: illegal string literal in 'asm' 
    5721 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5722 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5723 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5724 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5725 
    5726 program_source:225:51: note: expanded from macro '\ 
    5727 EXPOSE_FUNCTION_ARGS_2' 
    5728 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5729 
    5730 program_source:168:9: note: expanded from macro '\ 
    5731 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5732 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5733 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5734 program_source:300:1: error: illegal string literal in 'asm' 
    5735 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5736 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5737 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5738 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5739 
    5740 program_source:226:52: note: expanded from macro '\ 
    5741 EXPOSE_FUNCTION_ARGS_2' 
    5742 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5743 
    5744 program_source:168:9: note: expanded from macro '\ 
    5745 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5746 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5747 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5748 program_source:300:1: error: illegal string literal in 'asm' 
    5749 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5750 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5751 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5752 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5753 
    5754 program_source:224:38: note: expanded from macro '\ 
    5755 EXPOSE_FUNCTION_ARGS_2' 
    5756 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5757 
    5758 program_source:168:9: note: expanded from macro '\ 
    5759 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5760 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5761 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5762 program_source:300:1: error: illegal string literal in 'asm' 
    5763 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5764 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5765 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5766 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5767 
    5768 program_source:225:51: note: expanded from macro '\ 
    5769 EXPOSE_FUNCTION_ARGS_2' 
    5770 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5771 
    5772 program_source:168:9: note: expanded from macro '\ 
    5773 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5774 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5775 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5776 program_source:300:1: error: illegal string literal in 'asm' 
    5777 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5778 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5779 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5780 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5781 
    5782 program_source:226:52: note: expanded from macro '\ 
    5783 EXPOSE_FUNCTION_ARGS_2' 
    5784 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5785 
    5786 program_source:168:9: note: expanded from macro '\ 
    5787 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5788 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5789 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5790 program_source:302:1: error: illegal string literal in 'asm' 
    5791 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    5792 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5793 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    5794 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    5795 
    5796 program_source:172:9: note: expanded from macro '\ 
    5797 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    5798 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5799 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5800 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    5801 is invalid in OpenCL 
    5802 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    5803 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    5804 
    5805 program_source:175:10: note: expanded from macro '\ 
    5806 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    5807 return ___metal_##EXPR(x, false); \ 
    5808 
    5809 :12:1: note: expanded from here 
    5810 ___metal_ctz 
    5811 
    5812 program_source:302:1: error: illegal string literal in 'asm' 
    5813 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    5814 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5815 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    5816 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    5817 
    5818 program_source:172:9: note: expanded from macro '\ 
    5819 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    5820 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5821 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5822 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    5823 is invalid in OpenCL 
    5824 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    5825 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    5826 
    5827 program_source:175:10: note: expanded from macro '\ 
    5828 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    5829 return ___metal_##EXPR(x, false); \ 
    5830 
    5831 :16:1: note: expanded from here 
    5832 ___metal_ctz 
    5833 
    5834 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    5835 invalid in OpenCL 
    5836 DECLARE_REDUCTION_UNIFORM(sum, reduce_add) 
    5837 
    5838 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5839 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5840 
    5841 program_source:305:26: note: expanded from macro '\ 
    5842 DECLARE_I_REDUCTION_UNIFORM' 
    5843 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5844 
    5845 :17:1: note: expanded from here 
    5846 simd_sum 
    5847 
    5848 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    5849 invalid in OpenCL 
    5850 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5851 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5852 
    5853 program_source:305:26: note: expanded from macro '\ 
    5854 DECLARE_I_REDUCTION_UNIFORM' 
    5855 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5856 
    5857 :17:1: note: expanded from here 
    5858 simd_sum 
    5859 
    5860 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    5861 invalid in OpenCL 
    5862 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5863 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5864 
    5865 program_source:308:26: note: expanded from macro '\ 
    5866 DECLARE_F_REDUCTION_UNIFORM' 
    5867 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5868 
    5869 :19:1: note: expanded from here 
    5870 simd_sum 
    5871 
    5872 program_source:318:1: error: implicit declaration of function
    5873 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    5874 DECLARE_REDUCTION_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    5875 
    5876 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5877 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5878 
    5879 program_source:305:26: note: expanded from macro '\ 
    5880 DECLARE_I_REDUCTION_UNIFORM' 
    5881 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5882 
    5883 :21:1: note: expanded from here 
    5884 simd_prefix_inclusive_sum 
    5885 
    5886 program_source:318:1: error: implicit declaration of function
    5887 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    5888 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5889 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5890 
    5891 program_source:305:26: note: expanded from macro '\ 
    5892 DECLARE_I_REDUCTION_UNIFORM' 
    5893 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5894 
    5895 :21:1: note: expanded from here 
    5896 simd_prefix_inclusive_sum 
    5897 
    5898 program_source:318:1: error: implicit declaration of function
    5899 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    5900 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5901 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5902 
    5903 program_source:308:26: note: expanded from macro '\ 
    5904 DECLARE_F_REDUCTION_UNIFORM' 
    5905 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5906 
    5907 :23:1: note: expanded from here 
    5908 simd_prefix_inclusive_sum 
    5909 
    5910 program_source:319:1: error: implicit declaration of function
    5911 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    5912 DECLARE_REDUCTION_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    5913 
    5914 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5915 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5916 
    5917 program_source:305:26: note: expanded from macro '\ 
    5918 DECLARE_I_REDUCTION_UNIFORM' 
    5919 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5920 
    5921 :25:1: note: expanded from here 
    5922 simd_prefix_exclusive_sum 
    5923 
    5924 program_source:319:1: error: implicit declaration of function
    5925 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    5926 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5927 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5928 
    5929 program_source:305:26: note: expanded from macro '\ 
    5930 DECLARE_I_REDUCTION_UNIFORM' 
    5931 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5932 
    5933 :25:1: note: expanded from here 
    5934 simd_prefix_exclusive_sum 
    5935 
    5936 program_source:319:1: error: implicit declaration of function
    5937 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    5938 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5939 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5940 
    5941 program_source:308:26: note: expanded from macro '\ 
    5942 DECLARE_F_REDUCTION_UNIFORM' 
    5943 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5944 
    5945 :27:1: note: expanded from here 
    5946 simd_prefix_exclusive_sum 
    5947 
    5948 program_source:320:1: error: implicit declaration of function 'simd_min' is
    5949 invalid in OpenCL 
    5950 DECLARE_REDUCTION_UNIFORM(min, reduce_min) 
    5951 
    5952 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5953 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5954 
    5955 program_source:305:26: note: expanded from macro '\ 
    5956 DECLARE_I_REDUCTION_UNIFORM' 
    5957 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5958 
    5959 :29:1: note: expanded from here 
    5960 simd_min 
    5961 
    5962 program_source:320:1: error: implicit declaration of function 'simd_min' is
    5963 invalid in OpenCL 
    5964 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5965 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5966 
    5967 program_source:305:26: note: expanded from macro '\ 
    5968 DECLARE_I_REDUCTION_UNIFORM' 
    5969 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5970 
    5971 :29:1: note: expanded from here 
    5972 simd_min 
    5973 
    5974 program_source:320:1: error: implicit declaration of function 'simd_min' is
    5975 invalid in OpenCL 
    5976 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5977 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5978 
    5979 program_source:308:26: note: expanded from macro '\ 
    5980 DECLARE_F_REDUCTION_UNIFORM' 
    5981 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5982 
    5983 :31:1: note: expanded from here 
    5984 simd_min 
    5985 
    5986 program_source:321:1: error: implicit declaration of function 'simd_max' is
    5987 invalid in OpenCL 
    5988 DECLARE_REDUCTION_UNIFORM(max, reduce_max) 
    5989 
    5990 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5991 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5992 
    5993 program_source:305:26: note: expanded from macro '\ 
    5994 DECLARE_I_REDUCTION_UNIFORM' 
    5995 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5996 
    5997 :33:1: note: expanded from here 
    5998 simd_max 
    5999 
    6000 program_source:321:1: error: implicit declaration of function 'simd_max' is
    6001 invalid in OpenCL 
    6002 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    6003 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6004 
    6005 program_source:305:26: note: expanded from macro '\ 
    6006 DECLARE_I_REDUCTION_UNIFORM' 
    6007 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6008 
    6009 :33:1: note: expanded from here 
    6010 simd_max 
    6011 
    6012 program_source:321:1: error: implicit declaration of function 'simd_max' is
    6013 invalid in OpenCL 
    6014 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    6015 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6016 
    6017 program_source:308:26: note: expanded from macro '\ 
    6018 DECLARE_F_REDUCTION_UNIFORM' 
    6019 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6020 
    6021 :35:1: note: expanded from here 
    6022 simd_max 
    6023 
    6024 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    6025 is invalid in OpenCL 
    6026 DECLARE_SHUFFLE_UNIFORM(shuffle, shuffle) 
    6027 
    6028 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6029 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6030 
    6031 :37:1: note: expanded from here 
    6032 simd_shuffle 
    6033 
    6034 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    6035 is invalid in OpenCL 
    6036 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6037 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6038 
    6039 :37:1: note: expanded from here 
    6040 simd_shuffle 
    6041 
    6042 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    6043 is invalid in OpenCL 
    6044 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6045 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6046 
    6047 :37:1: note: expanded from here 
    6048 simd_shuffle 
    6049 
    6050 program_source:324:1: error: implicit declaration of function
    6051 'simd_shuffle_xor' is invalid in OpenCL 
    6052 DECLARE_SHUFFLE_UNIFORM(shuffle_xor, shuffle_xor) 
    6053 
    6054 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6055 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6056 
    6057 :39:1: note: expanded from here 
    6058 simd_shuffle_xor 
    6059 
    6060 program_source:324:1: error: implicit declaration of function
    6061 'simd_shuffle_xor' is invalid in OpenCL 
    6062 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6063 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6064 
    6065 :39:1: note: expanded from here 
    6066 simd_shuffle_xor 
    6067 
    6068 program_source:324:1: error: implicit declaration of function
    6069 'simd_shuffle_xor' is invalid in OpenCL 
    6070 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6071 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6072 
    6073 :39:1: note: expanded from here 
    6074 simd_shuffle_xor 
    6075 
    6076 program_source:325:1: error: implicit declaration of function
    6077 'simd_shuffle_up' is invalid in OpenCL 
    6078 DECLARE_SHUFFLE_UNIFORM(shuffle_up, shuffle_up) 
    6079 
    6080 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6081 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6082 
    6083 :41:1: note: expanded from here 
    6084 simd_shuffle_up 
    6085 
    6086 program_source:325:1: error: implicit declaration of function
    6087 'simd_shuffle_up' is invalid in OpenCL 
    6088 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6089 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6090 
    6091 :41:1: note: expanded from here 
    6092 simd_shuffle_up 
    6093 
    6094 program_source:325:1: error: implicit declaration of function
    6095 'simd_shuffle_up' is invalid in OpenCL 
    6096 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6097 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6098 
    6099 :41:1: note: expanded from here 
    6100 simd_shuffle_up 
    6101 
    6102 program_source:326:1: error: implicit declaration of function
    6103 'simd_shuffle_down' is invalid in OpenCL 
    6104 DECLARE_SHUFFLE_UNIFORM(shuffle_down, shuffle_down) 
    6105 
    6106 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6107 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6108 
    6109 :43:1: note: expanded from here 
    6110 simd_shuffle_down 
    6111 
    6112 program_source:326:1: error: implicit declaration of function
    6113 'simd_shuffle_down' is invalid in OpenCL 
    6114 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6115 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6116 
    6117 :43:1: note: expanded from here 
    6118 simd_shuffle_down 
    6119 
    6120 program_source:326:1: error: implicit declaration of function
    6121 'simd_shuffle_down' is invalid in OpenCL 
    6122 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6123 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6124 
    6125 :43:1: note: expanded from here 
    6126 simd_shuffle_down 
    6127 
    6128 program_source:327:1: error: implicit declaration of function
    6129 'simd_shuffle_rotate_down' is invalid in OpenCL 
    6130 DECLARE_SHUFFLE_UNIFORM(shuffle_rotate_down, rotate) 
    6131 
    6132 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6133 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6134 
    6135 :45:1: note: expanded from here 
    6136 simd_shuffle_rotate_down 
    6137 
    6138 program_source:327:1: error: implicit declaration of function
    6139 'simd_shuffle_rotate_down' is invalid in OpenCL 
    6140 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6141 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6142 
    6143 :45:1: note: expanded from here 
    6144 simd_shuffle_rotate_down 
    6145 
    6146 program_source:327:1: error: implicit declaration of function
    6147 'simd_shuffle_rotate_down' is invalid in OpenCL 
    6148 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6149 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6150 
    6151 :45:1: note: expanded from here 
    6152 simd_shuffle_rotate_down 
    6153 
    6154 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    6155 is invalid in OpenCL 
    6156 DECLARE_SHUFFLE_UNIFORM(broadcast, broadcast) 
    6157 
    6158 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6159 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6160 
    6161 :47:1: note: expanded from here 
    6162 simd_broadcast 
    6163 
    6164 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    6165 is invalid in OpenCL 
    6166 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6167 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6168 
    6169 :47:1: note: expanded from here 
    6170 simd_broadcast 
    6171 
    6172 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    6173 is invalid in OpenCL 
    6174 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6175 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6176 
    6177 :47:1: note: expanded from here 
    6178 simd_broadcast 
    6179 
    6180 program_source:330:1: error: implicit declaration of function
    6181 'simd_broadcast_first' is invalid in OpenCL 
    6182 DECLARE_REDUCTION_UNIFORM(broadcast_first, broadcast_first) 
    6183 
    6184 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    6185 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6186 
    6187 program_source:305:26: note: expanded from macro '\ 
    6188 DECLARE_I_REDUCTION_UNIFORM' 
    6189 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6190 
    6191 :49:1: note: expanded from here 
    6192 simd_broadcast_first 
    6193 
    6194 program_source:330:1: error: implicit declaration of function
    6195 'simd_broadcast_first' is invalid in OpenCL 
    6196 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    6197 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6198 
    6199 program_source:305:26: note: expanded from macro '\ 
    6200 DECLARE_I_REDUCTION_UNIFORM' 
    6201 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6202 
    6203 :49:1: note: expanded from here 
    6204 simd_broadcast_first 
    6205 
    6206 program_source:330:1: error: implicit declaration of function
    6207 'simd_broadcast_first' is invalid in OpenCL 
    6208 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    6209 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6210 
    6211 program_source:308:26: note: expanded from macro '\ 
    6212 DECLARE_F_REDUCTION_UNIFORM' 
    6213 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6214 
    6215 :51:1: note: expanded from here 
    6216 simd_broadcast_first 
    6217 
    6218 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    6219 invalid in OpenCL 
    6220 DECLARE_REDUCTION_NON_UNIFORM(sum, reduce_add) 
    6221 
    6222 program_source:338:60: note: expanded from macro
    6223 'DECLARE_REDUCTION_NON_UNIFORM' 
    6224 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6225 
    6226 program_source:333:26: note: expanded from macro '\ 
    6227 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6228 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6229 
    6230 :53:1: note: expanded from here 
    6231 simd_sum 
    6232 
    6233 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    6234 invalid in OpenCL 
    6235 program_source:338:60: note: expanded from macro
    6236 'DECLARE_REDUCTION_NON_UNIFORM' 
    6237 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6238 
    6239 program_source:333:26: note: expanded from macro '\ 
    6240 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6241 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6242 
    6243 :53:1: note: expanded from here 
    6244 simd_sum 
    6245 
    6246 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    6247 invalid in OpenCL 
    6248 program_source:339:54: note: expanded from macro
    6249 'DECLARE_REDUCTION_NON_UNIFORM' 
    6250 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6251 
    6252 program_source:336:26: note: expanded from macro '\ 
    6253 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6254 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6255 
    6256 :55:1: note: expanded from here 
    6257 simd_sum 
    6258 
    6259 program_source:346:1: error: implicit declaration of function
    6260 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    6261 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    6262 
    6263 program_source:338:60: note: expanded from macro
    6264 'DECLARE_REDUCTION_NON_UNIFORM' 
    6265 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6266 
    6267 program_source:333:26: note: expanded from macro '\ 
    6268 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6269 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6270 
    6271 :57:1: note: expanded from here 
    6272 simd_prefix_inclusive_sum 
    6273 
    6274 program_source:346:1: error: implicit declaration of function
    6275 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    6276 program_source:338:60: note: expanded from macro
    6277 'DECLARE_REDUCTION_NON_UNIFORM' 
    6278 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6279 
    6280 program_source:333:26: note: expanded from macro '\ 
    6281 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6282 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6283 
    6284 :57:1: note: expanded from here 
    6285 simd_prefix_inclusive_sum 
    6286 
    6287 program_source:346:1: error: implicit declaration of function
    6288 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    6289 program_source:339:54: note: expanded from macro
    6290 'DECLARE_REDUCTION_NON_UNIFORM' 
    6291 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6292 
    6293 program_source:336:26: note: expanded from macro '\ 
    6294 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6295 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6296 
    6297 :59:1: note: expanded from here 
    6298 simd_prefix_inclusive_sum 
    6299 
    6300 program_source:347:1: error: implicit declaration of function
    6301 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    6302 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    6303 
    6304 program_source:338:60: note: expanded from macro
    6305 'DECLARE_REDUCTION_NON_UNIFORM' 
    6306 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6307 
    6308 program_source:333:26: note: expanded from macro '\ 
    6309 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6310 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6311 
    6312 :61:1: note: expanded from here 
    6313 simd_prefix_exclusive_sum 
    6314 
    6315 program_source:347:1: error: implicit declaration of function
    6316 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    6317 program_source:338:60: note: expanded from macro
    6318 'DECLARE_REDUCTION_NON_UNIFORM' 
    6319 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6320 
    6321 program_source:333:26: note: expanded from macro '\ 
    6322 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6323 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6324 
    6325 :61:1: note: expanded from here 
    6326 simd_prefix_exclusive_sum 
    6327 
    6328 program_source:347:1: error: implicit declaration of function
    6329 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    6330 program_source:339:54: note: expanded from macro
    6331 'DECLARE_REDUCTION_NON_UNIFORM' 
    6332 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6333 
    6334 program_source:336:26: note: expanded from macro '\ 
    6335 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6336 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6337 
    6338 :63:1: note: expanded from here 
    6339 simd_prefix_exclusive_sum 
    6340 
    6341 program_source:348:1: error: implicit declaration of function 'simd_min' is
    6342 invalid in OpenCL 
    6343 DECLARE_REDUCTION_NON_UNIFORM(min, reduce_min) 
    6344 
    6345 program_source:338:60: note: expanded from macro
    6346 'DECLARE_REDUCTION_NON_UNIFORM' 
    6347 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6348 
    6349 program_source:333:26: note: expanded from macro '\ 
    6350 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6351 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6352 
    6353 :65:1: note: expanded from here 
    6354 simd_min 
    6355 
    6356 program_source:348:1: error: implicit declaration of function 'simd_min' is
    6357 invalid in OpenCL 
    6358 program_source:338:60: note: expanded from macro
    6359 'DECLARE_REDUCTION_NON_UNIFORM' 
    6360 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6361 
    6362 program_source:333:26: note: expanded from macro '\ 
    6363 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6364 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6365 
    6366 :65:1: note: expanded from here 
    6367 simd_min 
    6368 
    6369 program_source:348:1: error: implicit declaration of function 'simd_min' is
    6370 invalid in OpenCL 
    6371 program_source:339:54: note: expanded from macro
    6372 'DECLARE_REDUCTION_NON_UNIFORM' 
    6373 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6374 
    6375 program_source:336:26: note: expanded from macro '\ 
    6376 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6377 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6378 
    6379 :67:1: note: expanded from here 
    6380 simd_min 
    6381 
    6382 program_source:349:1: error: implicit declaration of function 'simd_max' is
    6383 invalid in OpenCL 
    6384 DECLARE_REDUCTION_NON_UNIFORM(max, reduce_max) 
    6385 
    6386 program_source:338:60: note: expanded from macro
    6387 'DECLARE_REDUCTION_NON_UNIFORM' 
    6388 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6389 
    6390 program_source:333:26: note: expanded from macro '\ 
    6391 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6392 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6393 
    6394 :69:1: note: expanded from here 
    6395 simd_max 
    6396 
    6397 program_source:349:1: error: implicit declaration of function 'simd_max' is
    6398 invalid in OpenCL 
    6399 program_source:338:60: note: expanded from macro
    6400 'DECLARE_REDUCTION_NON_UNIFORM' 
    6401 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6402 
    6403 program_source:333:26: note: expanded from macro '\ 
    6404 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6405 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6406 
    6407 :69:1: note: expanded from here 
    6408 simd_max 
    6409 
    6410 program_source:349:1: error: implicit declaration of function 'simd_max' is
    6411 invalid in OpenCL 
    6412 program_source:339:54: note: expanded from macro
    6413 'DECLARE_REDUCTION_NON_UNIFORM' 
    6414 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6415 
    6416 program_source:336:26: note: expanded from macro '\ 
    6417 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6418 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6419 
    6420 :71:1: note: expanded from here 
    6421 simd_max 
    6422 
    6423 program_source:351:1: error: implicit declaration of function 'simd_product'
    6424 is invalid in OpenCL 
    6425 DECLARE_REDUCTION_NON_UNIFORM(product, reduce_mul) 
    6426 
    6427 program_source:338:60: note: expanded from macro
    6428 'DECLARE_REDUCTION_NON_UNIFORM' 
    6429 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6430 
    6431 program_source:333:26: note: expanded from macro '\ 
    6432 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6433 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6434 
    6435 :73:1: note: expanded from here 
    6436 simd_product 
    6437 
    6438 program_source:351:1: error: implicit declaration of function 'simd_product'
    6439 is invalid in OpenCL 
    6440 program_source:338:60: note: expanded from macro
    6441 'DECLARE_REDUCTION_NON_UNIFORM' 
    6442 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6443 
    6444 program_source:333:26: note: expanded from macro '\ 
    6445 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6446 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6447 
    6448 :73:1: note: expanded from here 
    6449 simd_product 
    6450 
    6451 program_source:351:1: error: implicit declaration of function 'simd_product'
    6452 is invalid in OpenCL 
    6453 program_source:339:54: note: expanded from macro
    6454 'DECLARE_REDUCTION_NON_UNIFORM' 
    6455 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6456 
    6457 program_source:336:26: note: expanded from macro '\ 
    6458 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6459 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6460 
    6461 :75:1: note: expanded from here 
    6462 simd_product 
    6463 
    6464 program_source:352:1: error: implicit declaration of function
    6465 'simd_prefix_inclusive_product' is invalid in OpenCL 
    6466 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_product, scan_inclusive_mul) 
    6467 
    6468 program_source:338:60: note: expanded from macro
    6469 'DECLARE_REDUCTION_NON_UNIFORM' 
    6470 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6471 
    6472 program_source:333:26: note: expanded from macro '\ 
    6473 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6474 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6475 
    6476 :77:1: note: expanded from here 
    6477 simd_prefix_inclusive_product 
    6478 
    6479 program_source:352:1: error: implicit declaration of function
    6480 'simd_prefix_inclusive_product' is invalid in OpenCL 
    6481 program_source:338:60: note: expanded from macro
    6482 'DECLARE_REDUCTION_NON_UNIFORM' 
    6483 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6484 
    6485 program_source:333:26: note: expanded from macro '\ 
    6486 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6487 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6488 
    6489 :77:1: note: expanded from here 
    6490 simd_prefix_inclusive_product 
    6491 
    6492 program_source:352:1: error: implicit declaration of function
    6493 'simd_prefix_inclusive_product' is invalid in OpenCL 
    6494 program_source:339:54: note: expanded from macro
    6495 'DECLARE_REDUCTION_NON_UNIFORM' 
    6496 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6497 
    6498 program_source:336:26: note: expanded from macro '\ 
    6499 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6500 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6501 
    6502 :79:1: note: expanded from here 
    6503 simd_prefix_inclusive_product 
    6504 
    6505 program_source:353:1: error: implicit declaration of function
    6506 'simd_prefix_exclusive_product' is invalid in OpenCL 
    6507 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_product, scan_exclusive_mul) 
    6508 
    6509 program_source:338:60: note: expanded from macro
    6510 'DECLARE_REDUCTION_NON_UNIFORM' 
    6511 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6512 
    6513 program_source:333:26: note: expanded from macro '\ 
    6514 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6515 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6516 
    6517 :81:1: note: expanded from here 
    6518 simd_prefix_exclusive_product 
    6519 
    6520 program_source:353:1: error: implicit declaration of function
    6521 'simd_prefix_exclusive_product' is invalid in OpenCL 
    6522 program_source:338:60: note: expanded from macro
    6523 'DECLARE_REDUCTION_NON_UNIFORM' 
    6524 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6525 
    6526 program_source:333:26: note: expanded from macro '\ 
    6527 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6528 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6529 
    6530 :81:1: note: expanded from here 
    6531 simd_prefix_exclusive_product 
    6532 
    6533 program_source:353:1: error: implicit declaration of function
    6534 'simd_prefix_exclusive_product' is invalid in OpenCL 
    6535 program_source:339:54: note: expanded from macro
    6536 'DECLARE_REDUCTION_NON_UNIFORM' 
    6537 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6538 
    6539 program_source:336:26: note: expanded from macro '\ 
    6540 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6541 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6542 
    6543 :83:1: note: expanded from here 
    6544 simd_prefix_exclusive_product 
    6545 
    6546 program_source:354:1: error: implicit declaration of function 'simd_and' is
    6547 invalid in OpenCL 
    6548 DECLARE_I_REDUCTION_NON_UNIFORM(and, reduce_and) 
    6549 
    6550 program_source:333:26: note: expanded from macro
    6551 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6552 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6553 
    6554 :85:1: note: expanded from here 
    6555 simd_and 
    6556 
    6557 program_source:354:1: error: implicit declaration of function 'simd_and' is
    6558 invalid in OpenCL 
    6559 program_source:333:26: note: expanded from macro
    6560 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6561 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6562 
    6563 :85:1: note: expanded from here 
    6564 simd_and 
    6565 
    6566 program_source:355:1: error: implicit declaration of function 'simd_or' is
    6567 invalid in OpenCL 
    6568 DECLARE_I_REDUCTION_NON_UNIFORM(or, reduce_or) 
    6569 
    6570 program_source:333:26: note: expanded from macro
    6571 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6572 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6573 
    6574 :87:1: note: expanded from here 
    6575 simd_or 
    6576 
    6577 program_source:355:1: error: implicit declaration of function 'simd_or' is
    6578 invalid in OpenCL 
    6579 program_source:333:26: note: expanded from macro
    6580 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6581 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6582 
    6583 :87:1: note: expanded from here 
    6584 simd_or 
    6585 
    6586 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    6587 invalid in OpenCL 
    6588 DECLARE_I_REDUCTION_NON_UNIFORM(xor, reduce_xor) 
    6589 
    6590 program_source:333:26: note: expanded from macro
    6591 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6592 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6593 
    6594 :89:1: note: expanded from here 
    6595 simd_xor 
    6596 
    6597 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    6598 invalid in OpenCL 
    6599 program_source:333:26: note: expanded from macro
    6600 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6601 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6602 
    6603 :89:1: note: expanded from here 
    6604 simd_xor 
    6605 
    6606 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    6607 is invalid in OpenCL 
    6608 DECLARE_SHUFFLE_NON_UNIFORM(broadcast, broadcast) 
    6609 
    6610 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    6611 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6612 
    6613 :91:1: note: expanded from here 
    6614 simd_broadcast 
    6615 
    6616 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    6617 is invalid in OpenCL 
    6618 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    6619 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6620 
    6621 :91:1: note: expanded from here 
    6622 simd_broadcast 
    6623 
    6624 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    6625 is invalid in OpenCL 
    6626 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    6627 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6628 
    6629 :91:1: note: expanded from here 
    6630 simd_broadcast 
    6631 
    6632 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    6633 invalid in OpenCL 
    6634 DECLARE_REDUCTION_CLUSTERED(sum, reduce_add) 
    6635 
    6636 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6637 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6638 
    6639 program_source:360:60: note: expanded from macro '\ 
    6640 DECLARE_I_REDUCTION_CLUSTERED' 
    6641 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6642 
    6643 program_source:245:71: note: expanded from macro '\ 
    6644 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6645 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6646 
    6647 program_source:196:12: note: expanded from macro '\ 
    6648 OVERLOAD_CLUSTERED_ARGS_1' 
    6649 return quad_##METAL_SUFFIX(x); \ 
    6650 
    6651 :94:1: note: expanded from here 
    6652 quad_sum 
    6653 
    6654 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    6655 invalid in OpenCL 
    6656 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6657 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6658 
    6659 program_source:360:60: note: expanded from macro '\ 
    6660 DECLARE_I_REDUCTION_CLUSTERED' 
    6661 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6662 
    6663 program_source:245:71: note: expanded from macro '\ 
    6664 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6665 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6666 
    6667 program_source:198:12: note: expanded from macro '\ 
    6668 OVERLOAD_CLUSTERED_ARGS_1' 
    6669 return simd_##METAL_SUFFIX(x); \ 
    6670 
    6671 :95:1: note: expanded from here 
    6672 simd_sum 
    6673 
    6674 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    6675 invalid in OpenCL 
    6676 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6677 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6678 
    6679 program_source:360:60: note: expanded from macro '\ 
    6680 DECLARE_I_REDUCTION_CLUSTERED' 
    6681 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6682 
    6683 program_source:246:59: note: expanded from macro '\ 
    6684 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6685 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6686 
    6687 program_source:196:12: note: expanded from macro '\ 
    6688 OVERLOAD_CLUSTERED_ARGS_1' 
    6689 return quad_##METAL_SUFFIX(x); \ 
    6690 
    6691 :96:1: note: expanded from here 
    6692 quad_sum 
    6693 
    6694 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    6695 invalid in OpenCL 
    6696 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6697 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6698 
    6699 program_source:360:60: note: expanded from macro '\ 
    6700 DECLARE_I_REDUCTION_CLUSTERED' 
    6701 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6702 
    6703 program_source:246:59: note: expanded from macro '\ 
    6704 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6705 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6706 
    6707 program_source:198:12: note: expanded from macro '\ 
    6708 OVERLOAD_CLUSTERED_ARGS_1' 
    6709 return simd_##METAL_SUFFIX(x); \ 
    6710 
    6711 :97:1: note: expanded from here 
    6712 simd_sum 
    6713 
    6714 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    6715 invalid in OpenCL 
    6716 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6717 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6718 
    6719 program_source:363:60: note: expanded from macro '\ 
    6720 DECLARE_F_REDUCTION_CLUSTERED' 
    6721 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6722 
    6723 program_source:249:71: note: expanded from macro '\ 
    6724 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6725 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6726 
    6727 program_source:196:12: note: expanded from macro '\ 
    6728 OVERLOAD_CLUSTERED_ARGS_1' 
    6729 return quad_##METAL_SUFFIX(x); \ 
    6730 
    6731 :99:1: note: expanded from here 
    6732 quad_sum 
    6733 
    6734 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    6735 invalid in OpenCL 
    6736 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6737 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6738 
    6739 program_source:363:60: note: expanded from macro '\ 
    6740 DECLARE_F_REDUCTION_CLUSTERED' 
    6741 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6742 
    6743 program_source:249:71: note: expanded from macro '\ 
    6744 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6745 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6746 
    6747 program_source:198:12: note: expanded from macro '\ 
    6748 OVERLOAD_CLUSTERED_ARGS_1' 
    6749 return simd_##METAL_SUFFIX(x); \ 
    6750 
    6751 :100:1: note: expanded from here 
    6752 simd_sum 
    6753 
    6754 program_source:392:1: error: implicit declaration of function 'quad_min' is
    6755 invalid in OpenCL 
    6756 DECLARE_REDUCTION_CLUSTERED(min, reduce_min) 
    6757 
    6758 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6759 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6760 
    6761 program_source:360:60: note: expanded from macro '\ 
    6762 DECLARE_I_REDUCTION_CLUSTERED' 
    6763 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6764 
    6765 program_source:245:71: note: expanded from macro '\ 
    6766 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6767 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6768 
    6769 program_source:196:12: note: expanded from macro '\ 
    6770 OVERLOAD_CLUSTERED_ARGS_1' 
    6771 return quad_##METAL_SUFFIX(x); \ 
    6772 
    6773 :102:1: note: expanded from here 
    6774 quad_min 
    6775 
    6776 program_source:392:1: error: implicit declaration of function 'simd_min' is
    6777 invalid in OpenCL 
    6778 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6779 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6780 
    6781 program_source:360:60: note: expanded from macro '\ 
    6782 DECLARE_I_REDUCTION_CLUSTERED' 
    6783 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6784 
    6785 program_source:245:71: note: expanded from macro '\ 
    6786 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6787 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6788 
    6789 program_source:198:12: note: expanded from macro '\ 
    6790 OVERLOAD_CLUSTERED_ARGS_1' 
    6791 return simd_##METAL_SUFFIX(x); \ 
    6792 
    6793 :103:1: note: expanded from here 
    6794 simd_min 
    6795 
    6796 program_source:392:1: error: implicit declaration of function 'quad_min' is
    6797 invalid in OpenCL 
    6798 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6799 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6800 
    6801 program_source:360:60: note: expanded from macro '\ 
    6802 DECLARE_I_REDUCTION_CLUSTERED' 
    6803 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6804 
    6805 program_source:246:59: note: expanded from macro '\ 
    6806 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6807 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6808 
    6809 program_source:196:12: note: expanded from macro '\ 
    6810 OVERLOAD_CLUSTERED_ARGS_1' 
    6811 return quad_##METAL_SUFFIX(x); \ 
    6812 
    6813 :104:1: note: expanded from here 
    6814 quad_min 
    6815 
    6816 program_source:392:1: error: implicit declaration of function 'simd_min' is
    6817 invalid in OpenCL 
    6818 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6819 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6820 
    6821 program_source:360:60: note: expanded from macro '\ 
    6822 DECLARE_I_REDUCTION_CLUSTERED' 
    6823 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6824 
    6825 program_source:246:59: note: expanded from macro '\ 
    6826 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6827 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6828 
    6829 program_source:198:12: note: expanded from macro '\ 
    6830 OVERLOAD_CLUSTERED_ARGS_1' 
    6831 return simd_##METAL_SUFFIX(x); \ 
    6832 
    6833 :105:1: note: expanded from here 
    6834 simd_min 
    6835 
    6836 program_source:392:1: error: implicit declaration of function 'quad_min' is
    6837 invalid in OpenCL 
    6838 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6839 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6840 
    6841 program_source:363:60: note: expanded from macro '\ 
    6842 DECLARE_F_REDUCTION_CLUSTERED' 
    6843 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6844 
    6845 program_source:249:71: note: expanded from macro '\ 
    6846 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6847 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6848 
    6849 program_source:196:12: note: expanded from macro '\ 
    6850 OVERLOAD_CLUSTERED_ARGS_1' 
    6851 return quad_##METAL_SUFFIX(x); \ 
    6852 
    6853 :107:1: note: expanded from here 
    6854 quad_min 
    6855 
    6856 program_source:392:1: error: implicit declaration of function 'simd_min' is
    6857 invalid in OpenCL 
    6858 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6859 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6860 
    6861 program_source:363:60: note: expanded from macro '\ 
    6862 DECLARE_F_REDUCTION_CLUSTERED' 
    6863 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6864 
    6865 program_source:249:71: note: expanded from macro '\ 
    6866 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6867 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6868 
    6869 program_source:198:12: note: expanded from macro '\ 
    6870 OVERLOAD_CLUSTERED_ARGS_1' 
    6871 return simd_##METAL_SUFFIX(x); \ 
    6872 
    6873 :108:1: note: expanded from here 
    6874 simd_min 
    6875 
    6876 program_source:393:1: error: implicit declaration of function 'quad_max' is
    6877 invalid in OpenCL 
    6878 DECLARE_REDUCTION_CLUSTERED(max, reduce_max) 
    6879 
    6880 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6881 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6882 
    6883 program_source:360:60: note: expanded from macro '\ 
    6884 DECLARE_I_REDUCTION_CLUSTERED' 
    6885 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6886 
    6887 program_source:245:71: note: expanded from macro '\ 
    6888 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6889 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6890 
    6891 program_source:196:12: note: expanded from macro '\ 
    6892 OVERLOAD_CLUSTERED_ARGS_1' 
    6893 return quad_##METAL_SUFFIX(x); \ 
    6894 
    6895 :110:1: note: expanded from here 
    6896 quad_max 
    6897 
    6898 program_source:393:1: error: implicit declaration of function 'simd_max' is
    6899 invalid in OpenCL 
    6900 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6901 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6902 
    6903 program_source:360:60: note: expanded from macro '\ 
    6904 DECLARE_I_REDUCTION_CLUSTERED' 
    6905 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6906 
    6907 program_source:245:71: note: expanded from macro '\ 
    6908 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6909 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6910 
    6911 program_source:198:12: note: expanded from macro '\ 
    6912 OVERLOAD_CLUSTERED_ARGS_1' 
    6913 return simd_##METAL_SUFFIX(x); \ 
    6914 
    6915 :111:1: note: expanded from here 
    6916 simd_max 
    6917 
    6918 program_source:393:1: error: implicit declaration of function 'quad_max' is
    6919 invalid in OpenCL 
    6920 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6921 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6922 
    6923 program_source:360:60: note: expanded from macro '\ 
    6924 DECLARE_I_REDUCTION_CLUSTERED' 
    6925 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6926 
    6927 program_source:246:59: note: expanded from macro '\ 
    6928 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6929 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6930 
    6931 program_source:196:12: note: expanded from macro '\ 
    6932 OVERLOAD_CLUSTERED_ARGS_1' 
    6933 return quad_##METAL_SUFFIX(x); \ 
    6934 
    6935 :112:1: note: expanded from here 
    6936 quad_max 
    6937 
    6938 program_source:393:1: error: implicit declaration of function 'simd_max' is
    6939 invalid in OpenCL 
    6940 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6941 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6942 
    6943 program_source:360:60: note: expanded from macro '\ 
    6944 DECLARE_I_REDUCTION_CLUSTERED' 
    6945 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6946 
    6947 program_source:246:59: note: expanded from macro '\ 
    6948 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6949 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6950 
    6951 program_source:198:12: note: expanded from macro '\ 
    6952 OVERLOAD_CLUSTERED_ARGS_1' 
    6953 return simd_##METAL_SUFFIX(x); \ 
    6954 
    6955 :113:1: note: expanded from here 
    6956 simd_max 
    6957 
    6958 program_source:393:1: error: implicit declaration of function 'quad_max' is
    6959 invalid in OpenCL 
    6960 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6961 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6962 
    6963 program_source:363:60: note: expanded from macro '\ 
    6964 DECLARE_F_REDUCTION_CLUSTERED' 
    6965 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6966 
    6967 program_source:249:71: note: expanded from macro '\ 
    6968 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6969 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6970 
    6971 program_source:196:12: note: expanded from macro '\ 
    6972 OVERLOAD_CLUSTERED_ARGS_1' 
    6973 return quad_##METAL_SUFFIX(x); \ 
    6974 
    6975 :115:1: note: expanded from here 
    6976 quad_max 
    6977 
    6978 program_source:393:1: error: implicit declaration of function 'simd_max' is
    6979 invalid in OpenCL 
    6980 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6981 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6982 
    6983 program_source:363:60: note: expanded from macro '\ 
    6984 DECLARE_F_REDUCTION_CLUSTERED' 
    6985 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6986 
    6987 program_source:249:71: note: expanded from macro '\ 
    6988 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6989 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6990 
    6991 program_source:198:12: note: expanded from macro '\ 
    6992 OVERLOAD_CLUSTERED_ARGS_1' 
    6993 return simd_##METAL_SUFFIX(x); \ 
    6994 
    6995 :116:1: note: expanded from here 
    6996 simd_max 
    6997 
    6998 program_source:395:1: error: implicit declaration of function 'quad_product'
    6999 is invalid in OpenCL 
    7000 DECLARE_REDUCTION_CLUSTERED(product, reduce_mul) 
    7001 
    7002 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    7003 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7004 
    7005 program_source:360:60: note: expanded from macro '\ 
    7006 DECLARE_I_REDUCTION_CLUSTERED' 
    7007 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7008 
    7009 program_source:245:71: note: expanded from macro '\ 
    7010 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7011 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7012 
    7013 program_source:196:12: note: expanded from macro '\ 
    7014 OVERLOAD_CLUSTERED_ARGS_1' 
    7015 return quad_##METAL_SUFFIX(x); \ 
    7016 
    7017 :118:1: note: expanded from here 
    7018 quad_product 
    7019 
    7020 program_source:395:1: error: implicit declaration of function 'simd_product'
    7021 is invalid in OpenCL 
    7022 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    7023 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7024 
    7025 program_source:360:60: note: expanded from macro '\ 
    7026 DECLARE_I_REDUCTION_CLUSTERED' 
    7027 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7028 
    7029 program_source:245:71: note: expanded from macro '\ 
    7030 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7031 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7032 
    7033 program_source:198:12: note: expanded from macro '\ 
    7034 OVERLOAD_CLUSTERED_ARGS_1' 
    7035 return simd_##METAL_SUFFIX(x); \ 
    7036 
    7037 :119:1: note: expanded from here 
    7038 simd_product 
    7039 
    7040 program_source:395:1: error: implicit declaration of function 'quad_product'
    7041 is invalid in OpenCL 
    7042 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    7043 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7044 
    7045 program_source:360:60: note: expanded from macro '\ 
    7046 DECLARE_I_REDUCTION_CLUSTERED' 
    7047 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7048 
    7049 program_source:246:59: note: expanded from macro '\ 
    7050 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7051 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7052 
    7053 program_source:196:12: note: expanded from macro '\ 
    7054 OVERLOAD_CLUSTERED_ARGS_1' 
    7055 return quad_##METAL_SUFFIX(x); \ 
    7056 
    7057 :120:1: note: expanded from here 
    7058 quad_product 
    7059 
    7060 program_source:395:1: error: implicit declaration of function 'simd_product'
    7061 is invalid in OpenCL 
    7062 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    7063 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7064 
    7065 program_source:360:60: note: expanded from macro '\ 
    7066 DECLARE_I_REDUCTION_CLUSTERED' 
    7067 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7068 
    7069 program_source:246:59: note: expanded from macro '\ 
    7070 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7071 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7072 
    7073 program_source:198:12: note: expanded from macro '\ 
    7074 OVERLOAD_CLUSTERED_ARGS_1' 
    7075 return simd_##METAL_SUFFIX(x); \ 
    7076 
    7077 :121:1: note: expanded from here 
    7078 simd_product 
    7079 
    7080 program_source:395:1: error: implicit declaration of function 'quad_product'
    7081 is invalid in OpenCL 
    7082 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    7083 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7084 
    7085 program_source:363:60: note: expanded from macro '\ 
    7086 DECLARE_F_REDUCTION_CLUSTERED' 
    7087 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7088 
    7089 program_source:249:71: note: expanded from macro '\ 
    7090 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    7091 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7092 
    7093 program_source:196:12: note: expanded from macro '\ 
    7094 OVERLOAD_CLUSTERED_ARGS_1' 
    7095 return quad_##METAL_SUFFIX(x); \ 
    7096 
    7097 :123:1: note: expanded from here 
    7098 quad_product 
    7099 
    7100 program_source:395:1: error: implicit declaration of function 'simd_product'
    7101 is invalid in OpenCL 
    7102 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    7103 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7104 
    7105 program_source:363:60: note: expanded from macro '\ 
    7106 DECLARE_F_REDUCTION_CLUSTERED' 
    7107 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7108 
    7109 program_source:249:71: note: expanded from macro '\ 
    7110 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    7111 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7112 
    7113 program_source:198:12: note: expanded from macro '\ 
    7114 OVERLOAD_CLUSTERED_ARGS_1' 
    7115 return simd_##METAL_SUFFIX(x); \ 
    7116 
    7117 :124:1: note: expanded from here 
    7118 simd_product 
    7119 
    7120 program_source:396:1: error: implicit declaration of function 'quad_and' is
    7121 invalid in OpenCL 
    7122 DECLARE_I_REDUCTION_CLUSTERED(and, reduce_and) 
    7123 
    7124 program_source:360:60: note: expanded from macro
    7125 'DECLARE_I_REDUCTION_CLUSTERED' 
    7126 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7127 
    7128 program_source:245:71: note: expanded from macro '\ 
    7129 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7130 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7131 
    7132 program_source:196:12: note: expanded from macro '\ 
    7133 OVERLOAD_CLUSTERED_ARGS_1' 
    7134 return quad_##METAL_SUFFIX(x); \ 
    7135 
    7136 :126:1: note: expanded from here 
    7137 quad_and 
    7138 
    7139 program_source:396:1: error: implicit declaration of function 'simd_and' is
    7140 invalid in OpenCL 
    7141 program_source:360:60: note: expanded from macro
    7142 'DECLARE_I_REDUCTION_CLUSTERED' 
    7143 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7144 
    7145 program_source:245:71: note: expanded from macro '\ 
    7146 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7147 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7148 
    7149 program_source:198:12: note: expanded from macro '\ 
    7150 OVERLOAD_CLUSTERED_ARGS_1' 
    7151 return simd_##METAL_SUFFIX(x); \ 
    7152 
    7153 :127:1: note: expanded from here 
    7154 simd_and 
    7155 
    7156 program_source:396:1: error: implicit declaration of function 'quad_and' is
    7157 invalid in OpenCL 
    7158 program_source:360:60: note: expanded from macro
    7159 'DECLARE_I_REDUCTION_CLUSTERED' 
    7160 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7161 
    7162 program_source:246:59: note: expanded from macro '\ 
    7163 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7164 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7165 
    7166 program_source:196:12: note: expanded from macro '\ 
    7167 OVERLOAD_CLUSTERED_ARGS_1' 
    7168 return quad_##METAL_SUFFIX(x); \ 
    7169 
    7170 :128:1: note: expanded from here 
    7171 quad_and 
    7172 
    7173 program_source:396:1: error: implicit declaration of function 'simd_and' is
    7174 invalid in OpenCL 
    7175 program_source:360:60: note: expanded from macro
    7176 'DECLARE_I_REDUCTION_CLUSTERED' 
    7177 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7178 
    7179 program_source:246:59: note: expanded from macro '\ 
    7180 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7181 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7182 
    7183 program_source:198:12: note: expanded from macro '\ 
    7184 OVERLOAD_CLUSTERED_ARGS_1' 
    7185 return simd_##METAL_SUFFIX(x); \ 
    7186 
    7187 :129:1: note: expanded from here 
    7188 simd_and 
    7189 
    7190 program_source:397:1: error: implicit declaration of function 'quad_or' is
    7191 invalid in OpenCL 
    7192 DECLARE_I_REDUCTION_CLUSTERED(or, reduce_or) 
    7193 
    7194 program_source:360:60: note: expanded from macro
    7195 'DECLARE_I_REDUCTION_CLUSTERED' 
    7196 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7197 
    7198 program_source:245:71: note: expanded from macro '\ 
    7199 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7200 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7201 
    7202 program_source:196:12: note: expanded from macro '\ 
    7203 OVERLOAD_CLUSTERED_ARGS_1' 
    7204 return quad_##METAL_SUFFIX(x); \ 
    7205 
    7206 :131:1: note: expanded from here 
    7207 quad_or 
    7208 
    7209 program_source:397:1: error: implicit declaration of function 'simd_or' is
    7210 invalid in OpenCL 
    7211 program_source:360:60: note: expanded from macro
    7212 'DECLARE_I_REDUCTION_CLUSTERED' 
    7213 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7214 
    7215 program_source:245:71: note: expanded from macro '\ 
    7216 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7217 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7218 
    7219 program_source:198:12: note: expanded from macro '\ 
    7220 OVERLOAD_CLUSTERED_ARGS_1' 
    7221 return simd_##METAL_SUFFIX(x); \ 
    7222 
    7223 :132:1: note: expanded from here 
    7224 simd_or 
    7225 
    7226 program_source:397:1: error: implicit declaration of function 'quad_or' is
    7227 invalid in OpenCL 
    7228 program_source:360:60: note: expanded from macro
    7229 'DECLARE_I_REDUCTION_CLUSTERED' 
    7230 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7231 
    7232 program_source:246:59: note: expanded from macro '\ 
    7233 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7234 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7235 
    7236 program_source:196:12: note: expanded from macro '\ 
    7237 OVERLOAD_CLUSTERED_ARGS_1' 
    7238 return quad_##METAL_SUFFIX(x); \ 
    7239 
    7240 :133:1: note: expanded from here 
    7241 quad_or 
    7242 
    7243 program_source:397:1: error: implicit declaration of function 'simd_or' is
    7244 invalid in OpenCL 
    7245 program_source:360:60: note: expanded from macro
    7246 'DECLARE_I_REDUCTION_CLUSTERED' 
    7247 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7248 
    7249 program_source:246:59: note: expanded from macro '\ 
    7250 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7251 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7252 
    7253 program_source:198:12: note: expanded from macro '\ 
    7254 OVERLOAD_CLUSTERED_ARGS_1' 
    7255 return simd_##METAL_SUFFIX(x); \ 
    7256 
    7257 :134:1: note: expanded from here 
    7258 simd_or 
    7259 
    7260 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    7261 invalid in OpenCL 
    7262 DECLARE_I_REDUCTION_CLUSTERED(xor, reduce_xor) 
    7263 
    7264 program_source:360:60: note: expanded from macro
    7265 'DECLARE_I_REDUCTION_CLUSTERED' 
    7266 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7267 
    7268 program_source:245:71: note: expanded from macro '\ 
    7269 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7270 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7271 
    7272 program_source:196:12: note: expanded from macro '\ 
    7273 OVERLOAD_CLUSTERED_ARGS_1' 
    7274 return quad_##METAL_SUFFIX(x); \ 
    7275 
    7276 :136:1: note: expanded from here 
    7277 quad_xor 
    7278 
    7279 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    7280 invalid in OpenCL 
    7281 program_source:360:60: note: expanded from macro
    7282 'DECLARE_I_REDUCTION_CLUSTERED' 
    7283 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7284 
    7285 program_source:245:71: note: expanded from macro '\ 
    7286 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7287 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7288 
    7289 program_source:198:12: note: expanded from macro '\ 
    7290 OVERLOAD_CLUSTERED_ARGS_1' 
    7291 return simd_##METAL_SUFFIX(x); \ 
    7292 
    7293 :137:1: note: expanded from here 
    7294 simd_xor 
    7295 
    7296 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    7297 invalid in OpenCL 
    7298 program_source:360:60: note: expanded from macro
    7299 'DECLARE_I_REDUCTION_CLUSTERED' 
    7300 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7301 
    7302 program_source:246:59: note: expanded from macro '\ 
    7303 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7304 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7305 
    7306 program_source:196:12: note: expanded from macro '\ 
    7307 OVERLOAD_CLUSTERED_ARGS_1' 
    7308 return quad_##METAL_SUFFIX(x); \ 
    7309 
    7310 :138:1: note: expanded from here 
    7311 quad_xor 
    7312 
    7313 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    7314 invalid in OpenCL 
    7315 program_source:360:60: note: expanded from macro
    7316 'DECLARE_I_REDUCTION_CLUSTERED' 
    7317 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7318 
    7319 program_source:246:59: note: expanded from macro '\ 
    7320 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7321 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7322 
    7323 program_source:198:12: note: expanded from macro '\ 
    7324 OVERLOAD_CLUSTERED_ARGS_1' 
    7325 return simd_##METAL_SUFFIX(x); \ 
    7326 
    7327 :139:1: note: expanded from here 
    7328 simd_xor 
    7329 
    7330 program_source:399:1: error: implicit declaration of function 'simd_and' is
    7331 invalid in OpenCL 
    7332 DECLARE_B_REDUCTION_CLUSTERED(and) 
    7333 
    7334 program_source:369:8: note: expanded from macro
    7335 'DECLARE_B_REDUCTION_CLUSTERED' 
    7336 return simd_##OP(select(0, 1, predicate != 0)); \ 
    7337 
    7338 :141:1: note: expanded from here 
    7339 simd_and 
    7340 
    7341 program_source:399:1: error: implicit declaration of function 'quad_and' is
    7342 invalid in OpenCL 
    7343 program_source:378:12: note: expanded from macro
    7344 'DECLARE_B_REDUCTION_CLUSTERED' 
    7345 return quad_##OP(x); \ 
    7346 
    7347 :143:1: note: expanded from here 
    7348 quad_and 
    7349 
    7350 program_source:399:1: error: implicit declaration of function 'simd_and' is
    7351 invalid in OpenCL 
    7352 program_source:380:12: note: expanded from macro
    7353 'DECLARE_B_REDUCTION_CLUSTERED' 
    7354 return simd_##OP(x); \ 
    7355 
    7356 :144:1: note: expanded from here 
    7357 simd_and 
    7358 
    7359 program_source:400:1: error: implicit declaration of function 'simd_or' is
    7360 invalid in OpenCL 
    7361 DECLARE_B_REDUCTION_CLUSTERED(or) 
    7362 
    7363 program_source:369:8: note: expanded from macro
    7364 'DECLARE_B_REDUCTION_CLUSTERED' 
    7365 return simd_##OP(select(0, 1, predicate != 0)); \ 
    7366 
    7367 :146:1: note: expanded from here 
    7368 simd_or 
    7369 
    7370 program_source:400:1: error: implicit declaration of function 'quad_or' is
    7371 invalid in OpenCL 
    7372 program_source:378:12: note: expanded from macro
    7373 'DECLARE_B_REDUCTION_CLUSTERED' 
    7374 return quad_##OP(x); \ 
    7375 
    7376 :148:1: note: expanded from here 
    7377 quad_or 
    7378 
    7379 program_source:400:1: error: implicit declaration of function 'simd_or' is
    7380 invalid in OpenCL 
    7381 program_source:380:12: note: expanded from macro
    7382 'DECLARE_B_REDUCTION_CLUSTERED' 
    7383 return simd_##OP(x); \ 
    7384 
    7385 :149:1: note: expanded from here 
    7386 simd_or 
    7387 
    7388 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    7389 invalid in OpenCL 
    7390 DECLARE_B_REDUCTION_CLUSTERED(xor) 
    7391 
    7392 program_source:369:8: note: expanded from macro
    7393 'DECLARE_B_REDUCTION_CLUSTERED' 
    7394 return simd_##OP(select(0, 1, predicate != 0)); \ 
    7395 
    7396 :151:1: note: expanded from here 
    7397 simd_xor 
    7398 
    7399 program_source:401:1: error: implicit declaration of function 'quad_xor' is
    7400 invalid in OpenCL 
    7401 program_source:378:12: note: expanded from macro
    7402 'DECLARE_B_REDUCTION_CLUSTERED' 
    7403 return quad_##OP(x); \ 
    7404 
    7405 :153:1: note: expanded from here 
    7406 quad_xor 
    7407 
    7408 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    7409 invalid in OpenCL 
    7410 program_source:380:12: note: expanded from macro
    7411 'DECLARE_B_REDUCTION_CLUSTERED' 
    7412 return simd_##OP(x); \ 
    7413 
    7414 :154:1: note: expanded from here 
    7415 simd_xor 
    7416 
    7417 program_source:403:1: error: implicit declaration of function
    7418 'quad_shuffle_rotate_down' is invalid in OpenCL 
    7419 DECLARE_SHUFFLE_CLUSTERED(shuffle_rotate_down, rotate) 
    7420 
    7421 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7422 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7423 
    7424 program_source:252:69: note: expanded from macro '\ 
    7425 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7426 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    7427 
    7428 program_source:208:12: note: expanded from macro '\ 
    7429 OVERLOAD_CLUSTERED_ARGS_2' 
    7430 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    7431 
    7432 :156:1: note: expanded from here 
    7433 quad_shuffle_rotate_down 
    7434 
    7435 program_source:403:1: error: implicit declaration of function
    7436 'simd_shuffle_rotate_down' is invalid in OpenCL 
    7437 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7438 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7439 
    7440 program_source:252:69: note: expanded from macro '\ 
    7441 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7442 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    7443 
    7444 program_source:210:12: note: expanded from macro '\ 
    7445 OVERLOAD_CLUSTERED_ARGS_2' 
    7446 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    7447 
    7448 :157:1: note: expanded from here 
    7449 simd_shuffle_rotate_down 
    7450 
    7451 program_source:403:1: error: implicit declaration of function
    7452 'quad_shuffle_rotate_down' is invalid in OpenCL 
    7453 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7454 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7455 
    7456 program_source:253:59: note: expanded from macro '\ 
    7457 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7458 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7459 
    7460 program_source:208:12: note: expanded from macro '\ 
    7461 OVERLOAD_CLUSTERED_ARGS_2' 
    7462 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    7463 
    7464 :158:1: note: expanded from here 
    7465 quad_shuffle_rotate_down 
    7466 
    7467 program_source:403:1: error: implicit declaration of function
    7468 'simd_shuffle_rotate_down' is invalid in OpenCL 
    7469 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7470 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7471 
    7472 program_source:253:59: note: expanded from macro '\ 
    7473 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7474 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7475 
    7476 program_source:210:12: note: expanded from macro '\ 
    7477 OVERLOAD_CLUSTERED_ARGS_2' 
    7478 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    7479 
    7480 :159:1: note: expanded from here 
    7481 simd_shuffle_rotate_down 
    7482 
    7483 program_source:403:1: error: implicit declaration of function
    7484 'quad_shuffle_rotate_down' is invalid in OpenCL 
    7485 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7486 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7487 
    7488 program_source:254:60: note: expanded from macro '\ 
    7489 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7490 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    7491 
    7492 program_source:208:12: note: expanded from macro '\ 
    7493 OVERLOAD_CLUSTERED_ARGS_2' 
    7494 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    7495 
    7496 :160:1: note: expanded from here 
    7497 quad_shuffle_rotate_down 
    7498 
    7499 program_source:403:1: error: implicit declaration of function
    7500 'simd_shuffle_rotate_down' is invalid in OpenCL 
    7501 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7502 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7503 
    7504 program_source:254:60: note: expanded from macro '\ 
    7505 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7506 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    7507 
    7508 program_source:210:12: note: expanded from macro '\ 
    7509 OVERLOAD_CLUSTERED_ARGS_2' 
    7510 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    7511 
    7512 :161:1: note: expanded from here 
    7513 simd_shuffle_rotate_down 
    7514 
    7515 program_source:409:1: error: illegal string literal in 'asm' 
    7516 EXPOSE_BALLOT(simd_is_first, , bool, ) 
    7517 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7518 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7519 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7520 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7521 program_source:410:1: error: illegal string literal in 'asm' 
    7522 EXPOSE_BALLOT(simd_all, bool expr, bool, ) 
    7523 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7524 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7525 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7526 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7527 program_source:411:1: error: illegal string literal in 'asm' 
    7528 EXPOSE_BALLOT(simd_any, bool expr, bool, ) 
    7529 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7530 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7531 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7532 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7533 program_source:412:1: error: illegal string literal in 'asm' 
    7534 EXPOSE_BALLOT(simd_ballot, bool expr, ulong, .i64) 
    7535 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7536 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7537 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7538 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7539 program_source:413:1: error: illegal string literal in 'asm' 
    7540 EXPOSE_BALLOT(simd_active_threads_mask, , ulong, .i64) 
    7541 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7542 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7543 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7544 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7545 program_source:415:1: error: illegal string literal in 'asm' 
    7546 EXPOSE_BALLOT(quad_is_first, , bool, ) 
    7547 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7548 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7549 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7550 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7551 program_source:416:1: error: illegal string literal in 'asm' 
    7552 EXPOSE_BALLOT(quad_all, bool expr, bool, ) 
    7553 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7554 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7555 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7556 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7557 program_source:417:1: error: illegal string literal in 'asm' 
    7558 EXPOSE_BALLOT(quad_any, bool expr, bool, ) 
    7559 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7560 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7561 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7562 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7563 program_source:418:1: error: illegal string literal in 'asm' 
    7564 EXPOSE_BALLOT(quad_ballot, bool expr, ushort, ) 
    7565 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7566 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7567 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7568 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7569 program_source:419:1: error: illegal string literal in 'asm' 
    7570 EXPOSE_BALLOT(quad_active_threads_mask, , ushort, ) 
    7571 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7572 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7573 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7574 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7575 program_source:422:23: error: implicit declaration of function 'simd_is_first'
    7576 is invalid in OpenCL 
    7577 return select(0, 1, simd_is_first()); 
    7578 
    7579 program_source:426:23: error: implicit declaration of function 'simd_all' is
    7580 invalid in OpenCL 
    7581 return select(0, 1, simd_all(predicate != 0)); 
    7582 
    7583 program_source:430:23: error: implicit declaration of function 'simd_any' is
    7584 invalid in OpenCL 
    7585 return select(0, 1, simd_any(predicate != 0)); 
    7586 
    7587 program_source:434:23: error: implicit declaration of function 'simd_all' is
    7588 invalid in OpenCL 
    7589 return select(0, 1, simd_all(predicate != 0)); 
    7590 
    7591 program_source:438:23: error: implicit declaration of function 'simd_any' is
    7592 invalid in OpenCL 
    7593 return select(0, 1, simd_any(predicate != 0)); 
    7594 
    7595 program_source:443:14: error: implicit declaration of function 'simd_ballot'
    7596 is invalid in OpenCL 
    7597 output.x = simd_ballot(predicate != 0); 
    7598 
    7599 program_source:480:9: error: illegal string literal in 'asm' 
    7600 __asm("air.simdgroup.barrier"); 
    7601 ^~~~~~~~~~~~~~~~~~~~~~~ 
    7602 program_source:487:3: error: implicit declaration of function
    7603 '__metal_simdgroup_barrier' is invalid in OpenCL 
    7604 __metal_simdgroup_barrier(flags, 1); 
    7605 
    7606 program_source:487:3: note: did you mean 'simdgroup_barrier'? 
    7607 program_source:483:6: note: 'simdgroup_barrier' declared here 
    7608 void simdgroup_barrier(int flags) { 
    7609 
    7610 program_source:681:9: error: implicit declaration of function 'simd_is_first'
    7611 is invalid in OpenCL 
    7612 if (simd_is_first()) { 
    7613 
    7614 program_source:673:45: warning: comparison of integers of different signs:
    7615 '__private unsigned int' and '__private int' [-Wsign-compare] 
    7616 for (unsigned int index = thread; index ~~~~~ ^ ~~~~~~~~~~ 
    7617 program_source:685:45: warning: comparison of integers of different signs:
    7618 'unsigned int' and '__private int' [-Wsign-compare] 
    7619 if (thread%(32*2) == 0 && thread+32 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    7620 program_source:689:45: warning: comparison of integers of different signs:
    7621 'unsigned int' and '__private int' [-Wsign-compare] 
    7622 if (thread%(64*2) == 0 && thread+64 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    7623 program_source:693:47: warning: comparison of integers of different signs:
    7624 'unsigned int' and '__private int' [-Wsign-compare] 
    7625 if (thread%(128*2) == 0 && thread+128 ~~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    7626  
    7627  
    7628 File
    7629 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7630 packages/openmm/openmm.py", line 2469, in __init__ 
    7631 _openmm.Context_swiginit(self, _openmm.new_Context(*args)) 
    7632 ^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7633  
    7634 See log for complete Python traceback. 
    7635  
    7636 
    7637 > isolde sim start /1-9,0,AA-AZ
    7638 
    7639 Traceback (most recent call last): 
    7640 File
    7641 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7642 packages/chimerax/toolbar/tool.py", line 205, in callback 
    7643 bundle_info.run_provider(session, name, session.toolbar,
    7644 display_name=display_name) 
    7645 File
    7646 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7647 packages/chimerax/core/toolshed/info.py", line 397, in run_provider 
    7648 return api._api_caller.run_provider(api, session, name, mgr, **kw) 
    7649 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7650 File
    7651 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7652 packages/chimerax/core/toolshed/__init__.py", line 1302, in run_provider 
    7653 return cls._get_func(api, "run_provider")(session, name, mgr, **kw) 
    7654 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7655 File "/Users/giann/Library/Application Support/ChimeraX/1.7/lib/python/site-
    7656 packages/chimerax/isolde/__init__.py", line 183, in run_provider 
    7657 toolbar_command(session, name) 
    7658 File "/Users/giann/Library/Application Support/ChimeraX/1.7/lib/python/site-
    7659 packages/chimerax/isolde/toolbar.py", line 21, in toolbar_command 
    7660 run(session, f'isolde sim start {_current_residue_sel_string(session)}') 
    7661 File
    7662 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7663 packages/chimerax/core/commands/run.py", line 49, in run 
    7664 results = command.run(text, log=log, return_json=return_json) 
    7665 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7666 File
    7667 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7668 packages/chimerax/core/commands/cli.py", line 2908, in run 
    7669 result = ci.function(session, **kw_args) 
    7670 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7671 File "/Users/giann/Library/Application Support/ChimeraX/1.7/lib/python/site-
    7672 packages/chimerax/isolde/cmd/cmd.py", line 122, in isolde_sim 
    7673 isolde.start_sim() 
    7674 File "/Users/giann/Library/Application Support/ChimeraX/1.7/lib/python/site-
    7675 packages/chimerax/isolde/isolde.py", line 896, in start_sim 
    7676 sm.start_sim() 
    7677 File "/Users/giann/Library/Application Support/ChimeraX/1.7/lib/python/site-
    7678 packages/chimerax/isolde/openmm/openmm_interface.py", line 401, in start_sim 
    7679 sh.start_sim() 
    7680 File "/Users/giann/Library/Application Support/ChimeraX/1.7/lib/python/site-
    7681 packages/chimerax/isolde/openmm/openmm_interface.py", line 1432, in start_sim 
    7682 self._prepare_sim() 
    7683 File "/Users/giann/Library/Application Support/ChimeraX/1.7/lib/python/site-
    7684 packages/chimerax/isolde/openmm/openmm_interface.py", line 1377, in
    7685 _prepare_sim 
    7686 s = self._simulation = app.Simulation(self.topology, self._system, 
    7687 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7688 File
    7689 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7690 packages/openmm/app/simulation.py", line 103, in __init__ 
    7691 self.context = mm.Context(self.system, self.integrator, platform,
    7692 platformProperties) 
    7693 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7694 File
    7695 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7696 packages/openmm/openmm.py", line 2469, in __init__ 
    7697 _openmm.Context_swiginit(self, _openmm.new_Context(*args)) 
    7698 ^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7699 openmm.OpenMMException: Error compiling kernel: program_source:279:1: error:
    7700 illegal string literal in 'asm' 
    7701 DECLARE_REDUCTION_BASE(sum) 
    7702 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7703 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7704 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7705 
    7706 program_source:263:44: note: expanded from macro '\ 
    7707 DECLARE_I_REDUCTION_BASE' 
    7708 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7709 
    7710 program_source:217:40: note: expanded from macro '\ 
    7711 EXPOSE_FUNCTION_I_ARGS_1' 
    7712 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7713 
    7714 program_source:164:9: note: expanded from macro '\ 
    7715 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7716 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7717 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7718 program_source:279:1: error: illegal string literal in 'asm' 
    7719 DECLARE_REDUCTION_BASE(sum) 
    7720 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7721 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7722 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7723 
    7724 program_source:263:44: note: expanded from macro '\ 
    7725 DECLARE_I_REDUCTION_BASE' 
    7726 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7727 
    7728 program_source:218:51: note: expanded from macro '\ 
    7729 EXPOSE_FUNCTION_I_ARGS_1' 
    7730 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7731 
    7732 program_source:164:9: note: expanded from macro '\ 
    7733 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7734 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7735 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7736 program_source:279:1: error: illegal string literal in 'asm' 
    7737 DECLARE_REDUCTION_BASE(sum) 
    7738 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7739 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7740 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7741 
    7742 program_source:264:43: note: expanded from macro '\ 
    7743 DECLARE_I_REDUCTION_BASE' 
    7744 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7745 
    7746 program_source:217:40: note: expanded from macro '\ 
    7747 EXPOSE_FUNCTION_I_ARGS_1' 
    7748 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7749 
    7750 program_source:164:9: note: expanded from macro '\ 
    7751 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7752 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7753 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7754 program_source:279:1: error: illegal string literal in 'asm' 
    7755 DECLARE_REDUCTION_BASE(sum) 
    7756 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7757 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7758 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7759 
    7760 program_source:264:43: note: expanded from macro '\ 
    7761 DECLARE_I_REDUCTION_BASE' 
    7762 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7763 
    7764 program_source:218:51: note: expanded from macro '\ 
    7765 EXPOSE_FUNCTION_I_ARGS_1' 
    7766 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7767 
    7768 program_source:164:9: note: expanded from macro '\ 
    7769 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7770 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7771 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7772 program_source:279:1: error: illegal string literal in 'asm' 
    7773 DECLARE_REDUCTION_BASE(sum) 
    7774 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7775 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7776 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7777 
    7778 program_source:267:44: note: expanded from macro '\ 
    7779 DECLARE_F_REDUCTION_BASE' 
    7780 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    7781 
    7782 program_source:221:40: note: expanded from macro '\ 
    7783 EXPOSE_FUNCTION_F_ARGS_1' 
    7784 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7785 
    7786 program_source:164:9: note: expanded from macro '\ 
    7787 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7788 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7789 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7790 program_source:279:1: error: illegal string literal in 'asm' 
    7791 DECLARE_REDUCTION_BASE(sum) 
    7792 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7793 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7794 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7795 
    7796 program_source:268:43: note: expanded from macro '\ 
    7797 DECLARE_F_REDUCTION_BASE' 
    7798 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    7799 
    7800 program_source:221:40: note: expanded from macro '\ 
    7801 EXPOSE_FUNCTION_F_ARGS_1' 
    7802 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7803 
    7804 program_source:164:9: note: expanded from macro '\ 
    7805 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7806 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7807 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7808 program_source:280:1: error: illegal string literal in 'asm' 
    7809 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7810 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7811 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7812 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7813 
    7814 program_source:263:44: note: expanded from macro '\ 
    7815 DECLARE_I_REDUCTION_BASE' 
    7816 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7817 
    7818 program_source:217:40: note: expanded from macro '\ 
    7819 EXPOSE_FUNCTION_I_ARGS_1' 
    7820 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7821 
    7822 program_source:164:9: note: expanded from macro '\ 
    7823 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7824 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7825 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7826 program_source:280:1: error: illegal string literal in 'asm' 
    7827 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7828 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7829 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7830 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7831 
    7832 program_source:263:44: note: expanded from macro '\ 
    7833 DECLARE_I_REDUCTION_BASE' 
    7834 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7835 
    7836 program_source:218:51: note: expanded from macro '\ 
    7837 EXPOSE_FUNCTION_I_ARGS_1' 
    7838 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7839 
    7840 program_source:164:9: note: expanded from macro '\ 
    7841 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7842 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7843 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7844 program_source:280:1: error: illegal string literal in 'asm' 
    7845 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7846 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7847 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7848 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7849 
    7850 program_source:264:43: note: expanded from macro '\ 
    7851 DECLARE_I_REDUCTION_BASE' 
    7852 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7853 
    7854 program_source:217:40: note: expanded from macro '\ 
    7855 EXPOSE_FUNCTION_I_ARGS_1' 
    7856 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7857 
    7858 program_source:164:9: note: expanded from macro '\ 
    7859 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7860 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7861 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7862 program_source:280:1: error: illegal string literal in 'asm' 
    7863 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7864 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7865 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7866 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7867 
    7868 program_source:264:43: note: expanded from macro '\ 
    7869 DECLARE_I_REDUCTION_BASE' 
    7870 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7871 
    7872 program_source:218:51: note: expanded from macro '\ 
    7873 EXPOSE_FUNCTION_I_ARGS_1' 
    7874 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7875 
    7876 program_source:164:9: note: expanded from macro '\ 
    7877 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7878 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7879 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7880 program_source:280:1: error: illegal string literal in 'asm' 
    7881 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7882 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7883 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7884 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7885 
    7886 program_source:267:44: note: expanded from macro '\ 
    7887 DECLARE_F_REDUCTION_BASE' 
    7888 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    7889 
    7890 program_source:221:40: note: expanded from macro '\ 
    7891 EXPOSE_FUNCTION_F_ARGS_1' 
    7892 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7893 
    7894 program_source:164:9: note: expanded from macro '\ 
    7895 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7896 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7897 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7898 program_source:280:1: error: illegal string literal in 'asm' 
    7899 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7900 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7901 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7902 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7903 
    7904 program_source:268:43: note: expanded from macro '\ 
    7905 DECLARE_F_REDUCTION_BASE' 
    7906 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    7907 
    7908 program_source:221:40: note: expanded from macro '\ 
    7909 EXPOSE_FUNCTION_F_ARGS_1' 
    7910 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7911 
    7912 program_source:164:9: note: expanded from macro '\ 
    7913 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7914 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7915 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7916 program_source:281:1: error: illegal string literal in 'asm' 
    7917 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7918 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7919 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7920 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7921 
    7922 program_source:263:44: note: expanded from macro '\ 
    7923 DECLARE_I_REDUCTION_BASE' 
    7924 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7925 
    7926 program_source:217:40: note: expanded from macro '\ 
    7927 EXPOSE_FUNCTION_I_ARGS_1' 
    7928 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7929 
    7930 program_source:164:9: note: expanded from macro '\ 
    7931 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7932 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7933 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7934 program_source:281:1: error: illegal string literal in 'asm' 
    7935 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7936 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7937 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7938 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7939 
    7940 program_source:263:44: note: expanded from macro '\ 
    7941 DECLARE_I_REDUCTION_BASE' 
    7942 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7943 
    7944 program_source:218:51: note: expanded from macro '\ 
    7945 EXPOSE_FUNCTION_I_ARGS_1' 
    7946 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7947 
    7948 program_source:164:9: note: expanded from macro '\ 
    7949 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7950 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7951 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7952 program_source:281:1: error: illegal string literal in 'asm' 
    7953 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7954 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7955 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7956 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7957 
    7958 program_source:264:43: note: expanded from macro '\ 
    7959 DECLARE_I_REDUCTION_BASE' 
    7960 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7961 
    7962 program_source:217:40: note: expanded from macro '\ 
    7963 EXPOSE_FUNCTION_I_ARGS_1' 
    7964 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7965 
    7966 program_source:164:9: note: expanded from macro '\ 
    7967 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7968 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7969 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7970 program_source:281:1: error: illegal string literal in 'asm' 
    7971 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7972 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7973 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7974 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7975 
    7976 program_source:264:43: note: expanded from macro '\ 
    7977 DECLARE_I_REDUCTION_BASE' 
    7978 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7979 
    7980 program_source:218:51: note: expanded from macro '\ 
    7981 EXPOSE_FUNCTION_I_ARGS_1' 
    7982 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7983 
    7984 program_source:164:9: note: expanded from macro '\ 
    7985 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7986 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7987 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7988 program_source:281:1: error: illegal string literal in 'asm' 
    7989 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7990 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7991 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7992 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7993 
    7994 program_source:267:44: note: expanded from macro '\ 
    7995 DECLARE_F_REDUCTION_BASE' 
    7996 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    7997 
    7998 program_source:221:40: note: expanded from macro '\ 
    7999 EXPOSE_FUNCTION_F_ARGS_1' 
    8000 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8001 
    8002 program_source:164:9: note: expanded from macro '\ 
    8003 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8004 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8005 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8006 program_source:281:1: error: illegal string literal in 'asm' 
    8007 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    8008 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8009 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8010 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8011 
    8012 program_source:268:43: note: expanded from macro '\ 
    8013 DECLARE_F_REDUCTION_BASE' 
    8014 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8015 
    8016 program_source:221:40: note: expanded from macro '\ 
    8017 EXPOSE_FUNCTION_F_ARGS_1' 
    8018 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8019 
    8020 program_source:164:9: note: expanded from macro '\ 
    8021 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8022 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8023 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8024 program_source:282:1: error: illegal string literal in 'asm' 
    8025 DECLARE_REDUCTION_BASE(min) 
    8026 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8027 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8028 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8029 
    8030 program_source:263:44: note: expanded from macro '\ 
    8031 DECLARE_I_REDUCTION_BASE' 
    8032 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8033 
    8034 program_source:217:40: note: expanded from macro '\ 
    8035 EXPOSE_FUNCTION_I_ARGS_1' 
    8036 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8037 
    8038 program_source:164:9: note: expanded from macro '\ 
    8039 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8040 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8041 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8042 program_source:282:1: error: illegal string literal in 'asm' 
    8043 DECLARE_REDUCTION_BASE(min) 
    8044 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8045 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8046 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8047 
    8048 program_source:263:44: note: expanded from macro '\ 
    8049 DECLARE_I_REDUCTION_BASE' 
    8050 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8051 
    8052 program_source:218:51: note: expanded from macro '\ 
    8053 EXPOSE_FUNCTION_I_ARGS_1' 
    8054 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8055 
    8056 program_source:164:9: note: expanded from macro '\ 
    8057 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8058 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8059 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8060 program_source:282:1: error: illegal string literal in 'asm' 
    8061 DECLARE_REDUCTION_BASE(min) 
    8062 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8063 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8064 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8065 
    8066 program_source:264:43: note: expanded from macro '\ 
    8067 DECLARE_I_REDUCTION_BASE' 
    8068 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8069 
    8070 program_source:217:40: note: expanded from macro '\ 
    8071 EXPOSE_FUNCTION_I_ARGS_1' 
    8072 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8073 
    8074 program_source:164:9: note: expanded from macro '\ 
    8075 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8076 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8077 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8078 program_source:282:1: error: illegal string literal in 'asm' 
    8079 DECLARE_REDUCTION_BASE(min) 
    8080 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8081 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8082 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8083 
    8084 program_source:264:43: note: expanded from macro '\ 
    8085 DECLARE_I_REDUCTION_BASE' 
    8086 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8087 
    8088 program_source:218:51: note: expanded from macro '\ 
    8089 EXPOSE_FUNCTION_I_ARGS_1' 
    8090 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8091 
    8092 program_source:164:9: note: expanded from macro '\ 
    8093 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8094 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8095 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8096 program_source:282:1: error: illegal string literal in 'asm' 
    8097 DECLARE_REDUCTION_BASE(min) 
    8098 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8099 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8100 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8101 
    8102 program_source:267:44: note: expanded from macro '\ 
    8103 DECLARE_F_REDUCTION_BASE' 
    8104 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8105 
    8106 program_source:221:40: note: expanded from macro '\ 
    8107 EXPOSE_FUNCTION_F_ARGS_1' 
    8108 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8109 
    8110 program_source:164:9: note: expanded from macro '\ 
    8111 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8112 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8113 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8114 program_source:282:1: error: illegal string literal in 'asm' 
    8115 DECLARE_REDUCTION_BASE(min) 
    8116 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8117 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8118 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8119 
    8120 program_source:268:43: note: expanded from macro '\ 
    8121 DECLARE_F_REDUCTION_BASE' 
    8122 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8123 
    8124 program_source:221:40: note: expanded from macro '\ 
    8125 EXPOSE_FUNCTION_F_ARGS_1' 
    8126 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8127 
    8128 program_source:164:9: note: expanded from macro '\ 
    8129 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8130 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8131 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8132 program_source:283:1: error: illegal string literal in 'asm' 
    8133 DECLARE_REDUCTION_BASE(max) 
    8134 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8135 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8136 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8137 
    8138 program_source:263:44: note: expanded from macro '\ 
    8139 DECLARE_I_REDUCTION_BASE' 
    8140 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8141 
    8142 program_source:217:40: note: expanded from macro '\ 
    8143 EXPOSE_FUNCTION_I_ARGS_1' 
    8144 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8145 
    8146 program_source:164:9: note: expanded from macro '\ 
    8147 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8148 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8149 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8150 program_source:283:1: error: illegal string literal in 'asm' 
    8151 DECLARE_REDUCTION_BASE(max) 
    8152 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8153 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8154 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8155 
    8156 program_source:263:44: note: expanded from macro '\ 
    8157 DECLARE_I_REDUCTION_BASE' 
    8158 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8159 
    8160 program_source:218:51: note: expanded from macro '\ 
    8161 EXPOSE_FUNCTION_I_ARGS_1' 
    8162 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8163 
    8164 program_source:164:9: note: expanded from macro '\ 
    8165 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8166 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8167 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8168 program_source:283:1: error: illegal string literal in 'asm' 
    8169 DECLARE_REDUCTION_BASE(max) 
    8170 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8171 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8172 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8173 
    8174 program_source:264:43: note: expanded from macro '\ 
    8175 DECLARE_I_REDUCTION_BASE' 
    8176 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8177 
    8178 program_source:217:40: note: expanded from macro '\ 
    8179 EXPOSE_FUNCTION_I_ARGS_1' 
    8180 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8181 
    8182 program_source:164:9: note: expanded from macro '\ 
    8183 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8184 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8185 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8186 program_source:283:1: error: illegal string literal in 'asm' 
    8187 DECLARE_REDUCTION_BASE(max) 
    8188 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8189 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8190 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8191 
    8192 program_source:264:43: note: expanded from macro '\ 
    8193 DECLARE_I_REDUCTION_BASE' 
    8194 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8195 
    8196 program_source:218:51: note: expanded from macro '\ 
    8197 EXPOSE_FUNCTION_I_ARGS_1' 
    8198 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8199 
    8200 program_source:164:9: note: expanded from macro '\ 
    8201 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8202 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8203 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8204 program_source:283:1: error: illegal string literal in 'asm' 
    8205 DECLARE_REDUCTION_BASE(max) 
    8206 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8207 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8208 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8209 
    8210 program_source:267:44: note: expanded from macro '\ 
    8211 DECLARE_F_REDUCTION_BASE' 
    8212 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8213 
    8214 program_source:221:40: note: expanded from macro '\ 
    8215 EXPOSE_FUNCTION_F_ARGS_1' 
    8216 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8217 
    8218 program_source:164:9: note: expanded from macro '\ 
    8219 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8220 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8221 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8222 program_source:283:1: error: illegal string literal in 'asm' 
    8223 DECLARE_REDUCTION_BASE(max) 
    8224 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8225 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8226 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8227 
    8228 program_source:268:43: note: expanded from macro '\ 
    8229 DECLARE_F_REDUCTION_BASE' 
    8230 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8231 
    8232 program_source:221:40: note: expanded from macro '\ 
    8233 EXPOSE_FUNCTION_F_ARGS_1' 
    8234 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8235 
    8236 program_source:164:9: note: expanded from macro '\ 
    8237 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8238 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8239 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8240 program_source:285:1: error: illegal string literal in 'asm' 
    8241 DECLARE_REDUCTION_BASE(product) 
    8242 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8243 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8244 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8245 
    8246 program_source:263:44: note: expanded from macro '\ 
    8247 DECLARE_I_REDUCTION_BASE' 
    8248 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8249 
    8250 program_source:217:40: note: expanded from macro '\ 
    8251 EXPOSE_FUNCTION_I_ARGS_1' 
    8252 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8253 
    8254 program_source:164:9: note: expanded from macro '\ 
    8255 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8256 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8257 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8258 program_source:285:1: error: illegal string literal in 'asm' 
    8259 DECLARE_REDUCTION_BASE(product) 
    8260 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8261 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8262 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8263 
    8264 program_source:263:44: note: expanded from macro '\ 
    8265 DECLARE_I_REDUCTION_BASE' 
    8266 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8267 
    8268 program_source:218:51: note: expanded from macro '\ 
    8269 EXPOSE_FUNCTION_I_ARGS_1' 
    8270 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8271 
    8272 program_source:164:9: note: expanded from macro '\ 
    8273 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8274 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8275 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8276 program_source:285:1: error: illegal string literal in 'asm' 
    8277 DECLARE_REDUCTION_BASE(product) 
    8278 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8279 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8280 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8281 
    8282 program_source:264:43: note: expanded from macro '\ 
    8283 DECLARE_I_REDUCTION_BASE' 
    8284 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8285 
    8286 program_source:217:40: note: expanded from macro '\ 
    8287 EXPOSE_FUNCTION_I_ARGS_1' 
    8288 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8289 
    8290 program_source:164:9: note: expanded from macro '\ 
    8291 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8292 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8293 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8294 program_source:285:1: error: illegal string literal in 'asm' 
    8295 DECLARE_REDUCTION_BASE(product) 
    8296 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8297 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8298 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8299 
    8300 program_source:264:43: note: expanded from macro '\ 
    8301 DECLARE_I_REDUCTION_BASE' 
    8302 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8303 
    8304 program_source:218:51: note: expanded from macro '\ 
    8305 EXPOSE_FUNCTION_I_ARGS_1' 
    8306 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8307 
    8308 program_source:164:9: note: expanded from macro '\ 
    8309 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8310 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8311 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8312 program_source:285:1: error: illegal string literal in 'asm' 
    8313 DECLARE_REDUCTION_BASE(product) 
    8314 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8315 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8316 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8317 
    8318 program_source:267:44: note: expanded from macro '\ 
    8319 DECLARE_F_REDUCTION_BASE' 
    8320 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8321 
    8322 program_source:221:40: note: expanded from macro '\ 
    8323 EXPOSE_FUNCTION_F_ARGS_1' 
    8324 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8325 
    8326 program_source:164:9: note: expanded from macro '\ 
    8327 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8328 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8329 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8330 program_source:285:1: error: illegal string literal in 'asm' 
    8331 DECLARE_REDUCTION_BASE(product) 
    8332 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8333 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8334 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8335 
    8336 program_source:268:43: note: expanded from macro '\ 
    8337 DECLARE_F_REDUCTION_BASE' 
    8338 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8339 
    8340 program_source:221:40: note: expanded from macro '\ 
    8341 EXPOSE_FUNCTION_F_ARGS_1' 
    8342 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8343 
    8344 program_source:164:9: note: expanded from macro '\ 
    8345 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8346 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8347 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8348 program_source:286:1: error: illegal string literal in 'asm' 
    8349 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8350 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8351 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8352 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8353 
    8354 program_source:263:44: note: expanded from macro '\ 
    8355 DECLARE_I_REDUCTION_BASE' 
    8356 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8357 
    8358 program_source:217:40: note: expanded from macro '\ 
    8359 EXPOSE_FUNCTION_I_ARGS_1' 
    8360 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8361 
    8362 program_source:164:9: note: expanded from macro '\ 
    8363 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8364 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8365 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8366 program_source:286:1: error: illegal string literal in 'asm' 
    8367 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8368 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8369 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8370 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8371 
    8372 program_source:263:44: note: expanded from macro '\ 
    8373 DECLARE_I_REDUCTION_BASE' 
    8374 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8375 
    8376 program_source:218:51: note: expanded from macro '\ 
    8377 EXPOSE_FUNCTION_I_ARGS_1' 
    8378 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8379 
    8380 program_source:164:9: note: expanded from macro '\ 
    8381 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8382 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8383 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8384 program_source:286:1: error: illegal string literal in 'asm' 
    8385 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8386 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8387 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8388 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8389 
    8390 program_source:264:43: note: expanded from macro '\ 
    8391 DECLARE_I_REDUCTION_BASE' 
    8392 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8393 
    8394 program_source:217:40: note: expanded from macro '\ 
    8395 EXPOSE_FUNCTION_I_ARGS_1' 
    8396 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8397 
    8398 program_source:164:9: note: expanded from macro '\ 
    8399 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8400 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8401 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8402 program_source:286:1: error: illegal string literal in 'asm' 
    8403 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8404 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8405 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8406 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8407 
    8408 program_source:264:43: note: expanded from macro '\ 
    8409 DECLARE_I_REDUCTION_BASE' 
    8410 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8411 
    8412 program_source:218:51: note: expanded from macro '\ 
    8413 EXPOSE_FUNCTION_I_ARGS_1' 
    8414 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8415 
    8416 program_source:164:9: note: expanded from macro '\ 
    8417 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8418 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8419 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8420 program_source:286:1: error: illegal string literal in 'asm' 
    8421 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8422 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8423 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8424 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8425 
    8426 program_source:267:44: note: expanded from macro '\ 
    8427 DECLARE_F_REDUCTION_BASE' 
    8428 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8429 
    8430 program_source:221:40: note: expanded from macro '\ 
    8431 EXPOSE_FUNCTION_F_ARGS_1' 
    8432 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8433 
    8434 program_source:164:9: note: expanded from macro '\ 
    8435 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8436 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8437 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8438 program_source:286:1: error: illegal string literal in 'asm' 
    8439 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8440 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8441 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8442 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8443 
    8444 program_source:268:43: note: expanded from macro '\ 
    8445 DECLARE_F_REDUCTION_BASE' 
    8446 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8447 
    8448 program_source:221:40: note: expanded from macro '\ 
    8449 EXPOSE_FUNCTION_F_ARGS_1' 
    8450 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8451 
    8452 program_source:164:9: note: expanded from macro '\ 
    8453 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8454 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8455 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8456 program_source:287:1: error: illegal string literal in 'asm' 
    8457 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8458 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8459 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8460 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8461 
    8462 program_source:263:44: note: expanded from macro '\ 
    8463 DECLARE_I_REDUCTION_BASE' 
    8464 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8465 
    8466 program_source:217:40: note: expanded from macro '\ 
    8467 EXPOSE_FUNCTION_I_ARGS_1' 
    8468 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8469 
    8470 program_source:164:9: note: expanded from macro '\ 
    8471 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8472 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8473 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8474 program_source:287:1: error: illegal string literal in 'asm' 
    8475 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8476 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8477 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8478 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8479 
    8480 program_source:263:44: note: expanded from macro '\ 
    8481 DECLARE_I_REDUCTION_BASE' 
    8482 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8483 
    8484 program_source:218:51: note: expanded from macro '\ 
    8485 EXPOSE_FUNCTION_I_ARGS_1' 
    8486 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8487 
    8488 program_source:164:9: note: expanded from macro '\ 
    8489 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8490 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8491 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8492 program_source:287:1: error: illegal string literal in 'asm' 
    8493 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8494 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8495 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8496 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8497 
    8498 program_source:264:43: note: expanded from macro '\ 
    8499 DECLARE_I_REDUCTION_BASE' 
    8500 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8501 
    8502 program_source:217:40: note: expanded from macro '\ 
    8503 EXPOSE_FUNCTION_I_ARGS_1' 
    8504 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8505 
    8506 program_source:164:9: note: expanded from macro '\ 
    8507 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8508 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8509 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8510 program_source:287:1: error: illegal string literal in 'asm' 
    8511 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8512 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8513 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8514 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8515 
    8516 program_source:264:43: note: expanded from macro '\ 
    8517 DECLARE_I_REDUCTION_BASE' 
    8518 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8519 
    8520 program_source:218:51: note: expanded from macro '\ 
    8521 EXPOSE_FUNCTION_I_ARGS_1' 
    8522 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8523 
    8524 program_source:164:9: note: expanded from macro '\ 
    8525 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8526 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8527 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8528 program_source:287:1: error: illegal string literal in 'asm' 
    8529 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8530 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8531 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8532 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8533 
    8534 program_source:267:44: note: expanded from macro '\ 
    8535 DECLARE_F_REDUCTION_BASE' 
    8536 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8537 
    8538 program_source:221:40: note: expanded from macro '\ 
    8539 EXPOSE_FUNCTION_F_ARGS_1' 
    8540 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8541 
    8542 program_source:164:9: note: expanded from macro '\ 
    8543 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8544 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8545 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8546 program_source:287:1: error: illegal string literal in 'asm' 
    8547 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8548 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8549 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8550 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8551 
    8552 program_source:268:43: note: expanded from macro '\ 
    8553 DECLARE_F_REDUCTION_BASE' 
    8554 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8555 
    8556 program_source:221:40: note: expanded from macro '\ 
    8557 EXPOSE_FUNCTION_F_ARGS_1' 
    8558 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8559 
    8560 program_source:164:9: note: expanded from macro '\ 
    8561 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8562 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8563 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8564 program_source:288:1: error: illegal string literal in 'asm' 
    8565 DECLARE_I_REDUCTION_BASE(and) 
    8566 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8567 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8568 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8569 
    8570 program_source:217:40: note: expanded from macro '\ 
    8571 EXPOSE_FUNCTION_I_ARGS_1' 
    8572 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8573 
    8574 program_source:164:9: note: expanded from macro '\ 
    8575 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8576 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8577 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8578 program_source:288:1: error: illegal string literal in 'asm' 
    8579 DECLARE_I_REDUCTION_BASE(and) 
    8580 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8581 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8582 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8583 
    8584 program_source:218:51: note: expanded from macro '\ 
    8585 EXPOSE_FUNCTION_I_ARGS_1' 
    8586 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8587 
    8588 program_source:164:9: note: expanded from macro '\ 
    8589 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8590 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8591 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8592 program_source:288:1: error: illegal string literal in 'asm' 
    8593 DECLARE_I_REDUCTION_BASE(and) 
    8594 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8595 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8596 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8597 
    8598 program_source:217:40: note: expanded from macro '\ 
    8599 EXPOSE_FUNCTION_I_ARGS_1' 
    8600 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8601 
    8602 program_source:164:9: note: expanded from macro '\ 
    8603 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8604 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8605 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8606 program_source:288:1: error: illegal string literal in 'asm' 
    8607 DECLARE_I_REDUCTION_BASE(and) 
    8608 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8609 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8610 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8611 
    8612 program_source:218:51: note: expanded from macro '\ 
    8613 EXPOSE_FUNCTION_I_ARGS_1' 
    8614 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8615 
    8616 program_source:164:9: note: expanded from macro '\ 
    8617 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8618 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8619 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8620 program_source:289:1: error: illegal string literal in 'asm' 
    8621 DECLARE_I_REDUCTION_BASE(or) 
    8622 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8623 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8624 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8625 
    8626 program_source:217:40: note: expanded from macro '\ 
    8627 EXPOSE_FUNCTION_I_ARGS_1' 
    8628 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8629 
    8630 program_source:164:9: note: expanded from macro '\ 
    8631 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8632 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8633 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8634 program_source:289:1: error: illegal string literal in 'asm' 
    8635 DECLARE_I_REDUCTION_BASE(or) 
    8636 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8637 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8638 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8639 
    8640 program_source:218:51: note: expanded from macro '\ 
    8641 EXPOSE_FUNCTION_I_ARGS_1' 
    8642 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8643 
    8644 program_source:164:9: note: expanded from macro '\ 
    8645 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8646 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8647 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8648 program_source:289:1: error: illegal string literal in 'asm' 
    8649 DECLARE_I_REDUCTION_BASE(or) 
    8650 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8651 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8652 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8653 
    8654 program_source:217:40: note: expanded from macro '\ 
    8655 EXPOSE_FUNCTION_I_ARGS_1' 
    8656 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8657 
    8658 program_source:164:9: note: expanded from macro '\ 
    8659 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8660 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8661 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8662 program_source:289:1: error: illegal string literal in 'asm' 
    8663 DECLARE_I_REDUCTION_BASE(or) 
    8664 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8665 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8666 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8667 
    8668 program_source:218:51: note: expanded from macro '\ 
    8669 EXPOSE_FUNCTION_I_ARGS_1' 
    8670 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8671 
    8672 program_source:164:9: note: expanded from macro '\ 
    8673 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8674 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8675 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8676 program_source:290:1: error: illegal string literal in 'asm' 
    8677 DECLARE_I_REDUCTION_BASE(xor) 
    8678 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8679 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8680 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8681 
    8682 program_source:217:40: note: expanded from macro '\ 
    8683 EXPOSE_FUNCTION_I_ARGS_1' 
    8684 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8685 
    8686 program_source:164:9: note: expanded from macro '\ 
    8687 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8688 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8689 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8690 program_source:290:1: error: illegal string literal in 'asm' 
    8691 DECLARE_I_REDUCTION_BASE(xor) 
    8692 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8693 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8694 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8695 
    8696 program_source:218:51: note: expanded from macro '\ 
    8697 EXPOSE_FUNCTION_I_ARGS_1' 
    8698 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8699 
    8700 program_source:164:9: note: expanded from macro '\ 
    8701 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8702 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8703 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8704 program_source:290:1: error: illegal string literal in 'asm' 
    8705 DECLARE_I_REDUCTION_BASE(xor) 
    8706 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8707 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8708 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8709 
    8710 program_source:217:40: note: expanded from macro '\ 
    8711 EXPOSE_FUNCTION_I_ARGS_1' 
    8712 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8713 
    8714 program_source:164:9: note: expanded from macro '\ 
    8715 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8716 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8717 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8718 program_source:290:1: error: illegal string literal in 'asm' 
    8719 DECLARE_I_REDUCTION_BASE(xor) 
    8720 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8721 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8722 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8723 
    8724 program_source:218:51: note: expanded from macro '\ 
    8725 EXPOSE_FUNCTION_I_ARGS_1' 
    8726 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8727 
    8728 program_source:164:9: note: expanded from macro '\ 
    8729 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8730 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8731 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8732 program_source:292:1: error: illegal string literal in 'asm' 
    8733 DECLARE_SHUFFLE_BASE(broadcast) 
    8734 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8735 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8736 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8737 
    8738 program_source:224:38: note: expanded from macro '\ 
    8739 EXPOSE_FUNCTION_ARGS_2' 
    8740 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8741 
    8742 program_source:168:9: note: expanded from macro '\ 
    8743 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8744 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8745 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8746 program_source:292:1: error: illegal string literal in 'asm' 
    8747 DECLARE_SHUFFLE_BASE(broadcast) 
    8748 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8749 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8750 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8751 
    8752 program_source:225:51: note: expanded from macro '\ 
    8753 EXPOSE_FUNCTION_ARGS_2' 
    8754 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8755 
    8756 program_source:168:9: note: expanded from macro '\ 
    8757 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8758 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8759 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8760 program_source:292:1: error: illegal string literal in 'asm' 
    8761 DECLARE_SHUFFLE_BASE(broadcast) 
    8762 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8763 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8764 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8765 
    8766 program_source:226:52: note: expanded from macro '\ 
    8767 EXPOSE_FUNCTION_ARGS_2' 
    8768 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8769 
    8770 program_source:168:9: note: expanded from macro '\ 
    8771 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8772 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8773 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8774 program_source:292:1: error: illegal string literal in 'asm' 
    8775 DECLARE_SHUFFLE_BASE(broadcast) 
    8776 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8777 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8778 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8779 
    8780 program_source:224:38: note: expanded from macro '\ 
    8781 EXPOSE_FUNCTION_ARGS_2' 
    8782 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8783 
    8784 program_source:168:9: note: expanded from macro '\ 
    8785 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8786 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8787 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8788 program_source:292:1: error: illegal string literal in 'asm' 
    8789 DECLARE_SHUFFLE_BASE(broadcast) 
    8790 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8791 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8792 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8793 
    8794 program_source:225:51: note: expanded from macro '\ 
    8795 EXPOSE_FUNCTION_ARGS_2' 
    8796 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8797 
    8798 program_source:168:9: note: expanded from macro '\ 
    8799 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8800 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8801 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8802 program_source:292:1: error: illegal string literal in 'asm' 
    8803 DECLARE_SHUFFLE_BASE(broadcast) 
    8804 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8805 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8806 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8807 
    8808 program_source:226:52: note: expanded from macro '\ 
    8809 EXPOSE_FUNCTION_ARGS_2' 
    8810 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8811 
    8812 program_source:168:9: note: expanded from macro '\ 
    8813 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8814 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8815 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8816 program_source:293:1: error: illegal string literal in 'asm' 
    8817 DECLARE_REDUCTION_BASE(broadcast_first) 
    8818 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8819 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8820 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8821 
    8822 program_source:263:44: note: expanded from macro '\ 
    8823 DECLARE_I_REDUCTION_BASE' 
    8824 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8825 
    8826 program_source:217:40: note: expanded from macro '\ 
    8827 EXPOSE_FUNCTION_I_ARGS_1' 
    8828 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8829 
    8830 program_source:164:9: note: expanded from macro '\ 
    8831 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8832 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8833 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8834 program_source:293:1: error: illegal string literal in 'asm' 
    8835 DECLARE_REDUCTION_BASE(broadcast_first) 
    8836 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8837 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8838 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8839 
    8840 program_source:263:44: note: expanded from macro '\ 
    8841 DECLARE_I_REDUCTION_BASE' 
    8842 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8843 
    8844 program_source:218:51: note: expanded from macro '\ 
    8845 EXPOSE_FUNCTION_I_ARGS_1' 
    8846 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8847 
    8848 program_source:164:9: note: expanded from macro '\ 
    8849 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8850 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8851 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8852 program_source:293:1: error: illegal string literal in 'asm' 
    8853 DECLARE_REDUCTION_BASE(broadcast_first) 
    8854 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8855 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8856 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8857 
    8858 program_source:264:43: note: expanded from macro '\ 
    8859 DECLARE_I_REDUCTION_BASE' 
    8860 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8861 
    8862 program_source:217:40: note: expanded from macro '\ 
    8863 EXPOSE_FUNCTION_I_ARGS_1' 
    8864 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8865 
    8866 program_source:164:9: note: expanded from macro '\ 
    8867 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8868 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8869 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8870 program_source:293:1: error: illegal string literal in 'asm' 
    8871 DECLARE_REDUCTION_BASE(broadcast_first) 
    8872 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8873 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8874 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8875 
    8876 program_source:264:43: note: expanded from macro '\ 
    8877 DECLARE_I_REDUCTION_BASE' 
    8878 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8879 
    8880 program_source:218:51: note: expanded from macro '\ 
    8881 EXPOSE_FUNCTION_I_ARGS_1' 
    8882 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8883 
    8884 program_source:164:9: note: expanded from macro '\ 
    8885 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8886 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8887 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8888 program_source:293:1: error: illegal string literal in 'asm' 
    8889 DECLARE_REDUCTION_BASE(broadcast_first) 
    8890 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8891 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8892 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8893 
    8894 program_source:267:44: note: expanded from macro '\ 
    8895 DECLARE_F_REDUCTION_BASE' 
    8896 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8897 
    8898 program_source:221:40: note: expanded from macro '\ 
    8899 EXPOSE_FUNCTION_F_ARGS_1' 
    8900 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8901 
    8902 program_source:164:9: note: expanded from macro '\ 
    8903 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8904 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8905 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8906 program_source:293:1: error: illegal string literal in 'asm' 
    8907 DECLARE_REDUCTION_BASE(broadcast_first) 
    8908 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8909 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8910 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8911 
    8912 program_source:268:43: note: expanded from macro '\ 
    8913 DECLARE_F_REDUCTION_BASE' 
    8914 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8915 
    8916 program_source:221:40: note: expanded from macro '\ 
    8917 EXPOSE_FUNCTION_F_ARGS_1' 
    8918 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8919 
    8920 program_source:164:9: note: expanded from macro '\ 
    8921 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8922 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8923 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8924 program_source:295:1: error: illegal string literal in 'asm' 
    8925 DECLARE_SHUFFLE_BASE(shuffle) 
    8926 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8927 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8928 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8929 
    8930 program_source:224:38: note: expanded from macro '\ 
    8931 EXPOSE_FUNCTION_ARGS_2' 
    8932 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8933 
    8934 program_source:168:9: note: expanded from macro '\ 
    8935 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8936 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8937 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8938 program_source:295:1: error: illegal string literal in 'asm' 
    8939 DECLARE_SHUFFLE_BASE(shuffle) 
    8940 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8941 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8942 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8943 
    8944 program_source:225:51: note: expanded from macro '\ 
    8945 EXPOSE_FUNCTION_ARGS_2' 
    8946 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8947 
    8948 program_source:168:9: note: expanded from macro '\ 
    8949 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8950 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8951 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8952 program_source:295:1: error: illegal string literal in 'asm' 
    8953 DECLARE_SHUFFLE_BASE(shuffle) 
    8954 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8955 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8956 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8957 
    8958 program_source:226:52: note: expanded from macro '\ 
    8959 EXPOSE_FUNCTION_ARGS_2' 
    8960 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8961 
    8962 program_source:168:9: note: expanded from macro '\ 
    8963 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8964 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8965 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8966 program_source:295:1: error: illegal string literal in 'asm' 
    8967 DECLARE_SHUFFLE_BASE(shuffle) 
    8968 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8969 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8970 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8971 
    8972 program_source:224:38: note: expanded from macro '\ 
    8973 EXPOSE_FUNCTION_ARGS_2' 
    8974 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8975 
    8976 program_source:168:9: note: expanded from macro '\ 
    8977 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8978 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8979 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8980 program_source:295:1: error: illegal string literal in 'asm' 
    8981 DECLARE_SHUFFLE_BASE(shuffle) 
    8982 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8983 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8984 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8985 
    8986 program_source:225:51: note: expanded from macro '\ 
    8987 EXPOSE_FUNCTION_ARGS_2' 
    8988 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8989 
    8990 program_source:168:9: note: expanded from macro '\ 
    8991 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8992 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8993 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8994 program_source:295:1: error: illegal string literal in 'asm' 
    8995 DECLARE_SHUFFLE_BASE(shuffle) 
    8996 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8997 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8998 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8999 
    9000 program_source:226:52: note: expanded from macro '\ 
    9001 EXPOSE_FUNCTION_ARGS_2' 
    9002 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9003 
    9004 program_source:168:9: note: expanded from macro '\ 
    9005 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9006 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9007 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9008 program_source:296:1: error: illegal string literal in 'asm' 
    9009 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    9010 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9011 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9012 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9013 
    9014 program_source:224:38: note: expanded from macro '\ 
    9015 EXPOSE_FUNCTION_ARGS_2' 
    9016 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9017 
    9018 program_source:168:9: note: expanded from macro '\ 
    9019 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9020 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9021 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9022 program_source:296:1: error: illegal string literal in 'asm' 
    9023 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    9024 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9025 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9026 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9027 
    9028 program_source:225:51: note: expanded from macro '\ 
    9029 EXPOSE_FUNCTION_ARGS_2' 
    9030 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9031 
    9032 program_source:168:9: note: expanded from macro '\ 
    9033 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9034 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9035 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9036 program_source:296:1: error: illegal string literal in 'asm' 
    9037 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    9038 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9039 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9040 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9041 
    9042 program_source:226:52: note: expanded from macro '\ 
    9043 EXPOSE_FUNCTION_ARGS_2' 
    9044 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9045 
    9046 program_source:168:9: note: expanded from macro '\ 
    9047 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9048 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9049 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9050 program_source:296:1: error: illegal string literal in 'asm' 
    9051 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    9052 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9053 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9054 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9055 
    9056 program_source:224:38: note: expanded from macro '\ 
    9057 EXPOSE_FUNCTION_ARGS_2' 
    9058 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9059 
    9060 program_source:168:9: note: expanded from macro '\ 
    9061 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9062 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9063 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9064 program_source:296:1: error: illegal string literal in 'asm' 
    9065 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    9066 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9067 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9068 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9069 
    9070 program_source:225:51: note: expanded from macro '\ 
    9071 EXPOSE_FUNCTION_ARGS_2' 
    9072 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9073 
    9074 program_source:168:9: note: expanded from macro '\ 
    9075 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9076 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9077 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9078 program_source:296:1: error: illegal string literal in 'asm' 
    9079 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    9080 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9081 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9082 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9083 
    9084 program_source:226:52: note: expanded from macro '\ 
    9085 EXPOSE_FUNCTION_ARGS_2' 
    9086 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9087 
    9088 program_source:168:9: note: expanded from macro '\ 
    9089 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9090 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9091 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9092 program_source:297:1: error: illegal string literal in 'asm' 
    9093 DECLARE_SHUFFLE_BASE(shuffle_up) 
    9094 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9095 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9096 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9097 
    9098 program_source:224:38: note: expanded from macro '\ 
    9099 EXPOSE_FUNCTION_ARGS_2' 
    9100 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9101 
    9102 program_source:168:9: note: expanded from macro '\ 
    9103 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9104 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9105 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9106 program_source:297:1: error: illegal string literal in 'asm' 
    9107 DECLARE_SHUFFLE_BASE(shuffle_up) 
    9108 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9109 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9110 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9111 
    9112 program_source:225:51: note: expanded from macro '\ 
    9113 EXPOSE_FUNCTION_ARGS_2' 
    9114 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9115 
    9116 program_source:168:9: note: expanded from macro '\ 
    9117 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9118 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9119 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9120 program_source:297:1: error: illegal string literal in 'asm' 
    9121 DECLARE_SHUFFLE_BASE(shuffle_up) 
    9122 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9123 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9124 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9125 
    9126 program_source:226:52: note: expanded from macro '\ 
    9127 EXPOSE_FUNCTION_ARGS_2' 
    9128 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9129 
    9130 program_source:168:9: note: expanded from macro '\ 
    9131 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9132 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9133 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9134 program_source:297:1: error: illegal string literal in 'asm' 
    9135 DECLARE_SHUFFLE_BASE(shuffle_up) 
    9136 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9137 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9138 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9139 
    9140 program_source:224:38: note: expanded from macro '\ 
    9141 EXPOSE_FUNCTION_ARGS_2' 
    9142 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9143 
    9144 program_source:168:9: note: expanded from macro '\ 
    9145 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9146 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9147 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9148 program_source:297:1: error: illegal string literal in 'asm' 
    9149 DECLARE_SHUFFLE_BASE(shuffle_up) 
    9150 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9151 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9152 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9153 
    9154 program_source:225:51: note: expanded from macro '\ 
    9155 EXPOSE_FUNCTION_ARGS_2' 
    9156 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9157 
    9158 program_source:168:9: note: expanded from macro '\ 
    9159 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9160 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9161 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9162 program_source:297:1: error: illegal string literal in 'asm' 
    9163 DECLARE_SHUFFLE_BASE(shuffle_up) 
    9164 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9165 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9166 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9167 
    9168 program_source:226:52: note: expanded from macro '\ 
    9169 EXPOSE_FUNCTION_ARGS_2' 
    9170 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9171 
    9172 program_source:168:9: note: expanded from macro '\ 
    9173 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9174 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9175 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9176 program_source:298:1: error: illegal string literal in 'asm' 
    9177 DECLARE_SHUFFLE_BASE(shuffle_down) 
    9178 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9179 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9180 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9181 
    9182 program_source:224:38: note: expanded from macro '\ 
    9183 EXPOSE_FUNCTION_ARGS_2' 
    9184 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9185 
    9186 program_source:168:9: note: expanded from macro '\ 
    9187 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9188 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9189 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9190 program_source:298:1: error: illegal string literal in 'asm' 
    9191 DECLARE_SHUFFLE_BASE(shuffle_down) 
    9192 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9193 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9194 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9195 
    9196 program_source:225:51: note: expanded from macro '\ 
    9197 EXPOSE_FUNCTION_ARGS_2' 
    9198 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9199 
    9200 program_source:168:9: note: expanded from macro '\ 
    9201 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9202 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9203 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9204 program_source:298:1: error: illegal string literal in 'asm' 
    9205 DECLARE_SHUFFLE_BASE(shuffle_down) 
    9206 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9207 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9208 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9209 
    9210 program_source:226:52: note: expanded from macro '\ 
    9211 EXPOSE_FUNCTION_ARGS_2' 
    9212 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9213 
    9214 program_source:168:9: note: expanded from macro '\ 
    9215 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9216 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9217 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9218 program_source:298:1: error: illegal string literal in 'asm' 
    9219 DECLARE_SHUFFLE_BASE(shuffle_down) 
    9220 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9221 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9222 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9223 
    9224 program_source:224:38: note: expanded from macro '\ 
    9225 EXPOSE_FUNCTION_ARGS_2' 
    9226 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9227 
    9228 program_source:168:9: note: expanded from macro '\ 
    9229 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9230 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9231 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9232 program_source:298:1: error: illegal string literal in 'asm' 
    9233 DECLARE_SHUFFLE_BASE(shuffle_down) 
    9234 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9235 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9236 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9237 
    9238 program_source:225:51: note: expanded from macro '\ 
    9239 EXPOSE_FUNCTION_ARGS_2' 
    9240 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9241 
    9242 program_source:168:9: note: expanded from macro '\ 
    9243 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9244 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9245 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9246 program_source:298:1: error: illegal string literal in 'asm' 
    9247 DECLARE_SHUFFLE_BASE(shuffle_down) 
    9248 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9249 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9250 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9251 
    9252 program_source:226:52: note: expanded from macro '\ 
    9253 EXPOSE_FUNCTION_ARGS_2' 
    9254 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9255 
    9256 program_source:168:9: note: expanded from macro '\ 
    9257 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9258 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9259 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9260 program_source:299:1: error: illegal string literal in 'asm' 
    9261 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    9262 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9263 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9264 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9265 
    9266 program_source:224:38: note: expanded from macro '\ 
    9267 EXPOSE_FUNCTION_ARGS_2' 
    9268 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9269 
    9270 program_source:168:9: note: expanded from macro '\ 
    9271 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9272 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9273 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9274 program_source:299:1: error: illegal string literal in 'asm' 
    9275 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    9276 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9277 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9278 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9279 
    9280 program_source:225:51: note: expanded from macro '\ 
    9281 EXPOSE_FUNCTION_ARGS_2' 
    9282 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9283 
    9284 program_source:168:9: note: expanded from macro '\ 
    9285 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9286 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9287 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9288 program_source:299:1: error: illegal string literal in 'asm' 
    9289 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    9290 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9291 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9292 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9293 
    9294 program_source:226:52: note: expanded from macro '\ 
    9295 EXPOSE_FUNCTION_ARGS_2' 
    9296 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9297 
    9298 program_source:168:9: note: expanded from macro '\ 
    9299 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9300 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9301 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9302 program_source:299:1: error: illegal string literal in 'asm' 
    9303 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    9304 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9305 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9306 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9307 
    9308 program_source:224:38: note: expanded from macro '\ 
    9309 EXPOSE_FUNCTION_ARGS_2' 
    9310 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9311 
    9312 program_source:168:9: note: expanded from macro '\ 
    9313 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9314 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9315 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9316 program_source:299:1: error: illegal string literal in 'asm' 
    9317 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    9318 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9319 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9320 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9321 
    9322 program_source:225:51: note: expanded from macro '\ 
    9323 EXPOSE_FUNCTION_ARGS_2' 
    9324 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9325 
    9326 program_source:168:9: note: expanded from macro '\ 
    9327 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9328 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9329 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9330 program_source:299:1: error: illegal string literal in 'asm' 
    9331 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    9332 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9333 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9334 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9335 
    9336 program_source:226:52: note: expanded from macro '\ 
    9337 EXPOSE_FUNCTION_ARGS_2' 
    9338 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9339 
    9340 program_source:168:9: note: expanded from macro '\ 
    9341 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9342 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9343 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9344 program_source:300:1: error: illegal string literal in 'asm' 
    9345 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9346 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9347 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9348 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9349 
    9350 program_source:224:38: note: expanded from macro '\ 
    9351 EXPOSE_FUNCTION_ARGS_2' 
    9352 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9353 
    9354 program_source:168:9: note: expanded from macro '\ 
    9355 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9356 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9357 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9358 program_source:300:1: error: illegal string literal in 'asm' 
    9359 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9360 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9361 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9362 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9363 
    9364 program_source:225:51: note: expanded from macro '\ 
    9365 EXPOSE_FUNCTION_ARGS_2' 
    9366 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9367 
    9368 program_source:168:9: note: expanded from macro '\ 
    9369 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9370 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9371 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9372 program_source:300:1: error: illegal string literal in 'asm' 
    9373 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9374 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9375 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9376 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9377 
    9378 program_source:226:52: note: expanded from macro '\ 
    9379 EXPOSE_FUNCTION_ARGS_2' 
    9380 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9381 
    9382 program_source:168:9: note: expanded from macro '\ 
    9383 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9384 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9385 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9386 program_source:300:1: error: illegal string literal in 'asm' 
    9387 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9388 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9389 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9390 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9391 
    9392 program_source:224:38: note: expanded from macro '\ 
    9393 EXPOSE_FUNCTION_ARGS_2' 
    9394 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9395 
    9396 program_source:168:9: note: expanded from macro '\ 
    9397 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9398 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9399 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9400 program_source:300:1: error: illegal string literal in 'asm' 
    9401 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9402 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9403 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9404 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9405 
    9406 program_source:225:51: note: expanded from macro '\ 
    9407 EXPOSE_FUNCTION_ARGS_2' 
    9408 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9409 
    9410 program_source:168:9: note: expanded from macro '\ 
    9411 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9412 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9413 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9414 program_source:300:1: error: illegal string literal in 'asm' 
    9415 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9416 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9417 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9418 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9419 
    9420 program_source:226:52: note: expanded from macro '\ 
    9421 EXPOSE_FUNCTION_ARGS_2' 
    9422 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9423 
    9424 program_source:168:9: note: expanded from macro '\ 
    9425 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9426 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9427 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9428 program_source:302:1: error: illegal string literal in 'asm' 
    9429 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    9430 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9431 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    9432 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    9433 
    9434 program_source:172:9: note: expanded from macro '\ 
    9435 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    9436 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9437 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9438 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    9439 is invalid in OpenCL 
    9440 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    9441 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    9442 
    9443 program_source:175:10: note: expanded from macro '\ 
    9444 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    9445 return ___metal_##EXPR(x, false); \ 
    9446 
    9447 <scratch space>:12:1: note: expanded from here 
    9448 ___metal_ctz 
    9449 
    9450 program_source:302:1: error: illegal string literal in 'asm' 
    9451 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    9452 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9453 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    9454 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    9455 
    9456 program_source:172:9: note: expanded from macro '\ 
    9457 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    9458 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9459 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9460 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    9461 is invalid in OpenCL 
    9462 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    9463 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    9464 
    9465 program_source:175:10: note: expanded from macro '\ 
    9466 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    9467 return ___metal_##EXPR(x, false); \ 
    9468 
    9469 <scratch space>:16:1: note: expanded from here 
    9470 ___metal_ctz 
    9471 
    9472 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    9473 invalid in OpenCL 
    9474 DECLARE_REDUCTION_UNIFORM(sum, reduce_add) 
    9475 
    9476 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9477 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9478 
    9479 program_source:305:26: note: expanded from macro '\ 
    9480 DECLARE_I_REDUCTION_UNIFORM' 
    9481 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9482 
    9483 <scratch space>:17:1: note: expanded from here 
    9484 simd_sum 
    9485 
    9486 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    9487 invalid in OpenCL 
    9488 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9489 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9490 
    9491 program_source:305:26: note: expanded from macro '\ 
    9492 DECLARE_I_REDUCTION_UNIFORM' 
    9493 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9494 
    9495 <scratch space>:17:1: note: expanded from here 
    9496 simd_sum 
    9497 
    9498 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    9499 invalid in OpenCL 
    9500 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9501 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9502 
    9503 program_source:308:26: note: expanded from macro '\ 
    9504 DECLARE_F_REDUCTION_UNIFORM' 
    9505 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9506 
    9507 <scratch space>:19:1: note: expanded from here 
    9508 simd_sum 
    9509 
    9510 program_source:318:1: error: implicit declaration of function
    9511 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9512 DECLARE_REDUCTION_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    9513 
    9514 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9515 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9516 
    9517 program_source:305:26: note: expanded from macro '\ 
    9518 DECLARE_I_REDUCTION_UNIFORM' 
    9519 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9520 
    9521 <scratch space>:21:1: note: expanded from here 
    9522 simd_prefix_inclusive_sum 
    9523 
    9524 program_source:318:1: error: implicit declaration of function
    9525 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9526 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9527 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9528 
    9529 program_source:305:26: note: expanded from macro '\ 
    9530 DECLARE_I_REDUCTION_UNIFORM' 
    9531 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9532 
    9533 <scratch space>:21:1: note: expanded from here 
    9534 simd_prefix_inclusive_sum 
    9535 
    9536 program_source:318:1: error: implicit declaration of function
    9537 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9538 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9539 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9540 
    9541 program_source:308:26: note: expanded from macro '\ 
    9542 DECLARE_F_REDUCTION_UNIFORM' 
    9543 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9544 
    9545 <scratch space>:23:1: note: expanded from here 
    9546 simd_prefix_inclusive_sum 
    9547 
    9548 program_source:319:1: error: implicit declaration of function
    9549 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9550 DECLARE_REDUCTION_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    9551 
    9552 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9553 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9554 
    9555 program_source:305:26: note: expanded from macro '\ 
    9556 DECLARE_I_REDUCTION_UNIFORM' 
    9557 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9558 
    9559 <scratch space>:25:1: note: expanded from here 
    9560 simd_prefix_exclusive_sum 
    9561 
    9562 program_source:319:1: error: implicit declaration of function
    9563 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9564 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9565 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9566 
    9567 program_source:305:26: note: expanded from macro '\ 
    9568 DECLARE_I_REDUCTION_UNIFORM' 
    9569 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9570 
    9571 <scratch space>:25:1: note: expanded from here 
    9572 simd_prefix_exclusive_sum 
    9573 
    9574 program_source:319:1: error: implicit declaration of function
    9575 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9576 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9577 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9578 
    9579 program_source:308:26: note: expanded from macro '\ 
    9580 DECLARE_F_REDUCTION_UNIFORM' 
    9581 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9582 
    9583 <scratch space>:27:1: note: expanded from here 
    9584 simd_prefix_exclusive_sum 
    9585 
    9586 program_source:320:1: error: implicit declaration of function 'simd_min' is
    9587 invalid in OpenCL 
    9588 DECLARE_REDUCTION_UNIFORM(min, reduce_min) 
    9589 
    9590 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9591 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9592 
    9593 program_source:305:26: note: expanded from macro '\ 
    9594 DECLARE_I_REDUCTION_UNIFORM' 
    9595 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9596 
    9597 <scratch space>:29:1: note: expanded from here 
    9598 simd_min 
    9599 
    9600 program_source:320:1: error: implicit declaration of function 'simd_min' is
    9601 invalid in OpenCL 
    9602 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9603 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9604 
    9605 program_source:305:26: note: expanded from macro '\ 
    9606 DECLARE_I_REDUCTION_UNIFORM' 
    9607 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9608 
    9609 <scratch space>:29:1: note: expanded from here 
    9610 simd_min 
    9611 
    9612 program_source:320:1: error: implicit declaration of function 'simd_min' is
    9613 invalid in OpenCL 
    9614 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9615 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9616 
    9617 program_source:308:26: note: expanded from macro '\ 
    9618 DECLARE_F_REDUCTION_UNIFORM' 
    9619 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9620 
    9621 <scratch space>:31:1: note: expanded from here 
    9622 simd_min 
    9623 
    9624 program_source:321:1: error: implicit declaration of function 'simd_max' is
    9625 invalid in OpenCL 
    9626 DECLARE_REDUCTION_UNIFORM(max, reduce_max) 
    9627 
    9628 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9629 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9630 
    9631 program_source:305:26: note: expanded from macro '\ 
    9632 DECLARE_I_REDUCTION_UNIFORM' 
    9633 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9634 
    9635 <scratch space>:33:1: note: expanded from here 
    9636 simd_max 
    9637 
    9638 program_source:321:1: error: implicit declaration of function 'simd_max' is
    9639 invalid in OpenCL 
    9640 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9641 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9642 
    9643 program_source:305:26: note: expanded from macro '\ 
    9644 DECLARE_I_REDUCTION_UNIFORM' 
    9645 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9646 
    9647 <scratch space>:33:1: note: expanded from here 
    9648 simd_max 
    9649 
    9650 program_source:321:1: error: implicit declaration of function 'simd_max' is
    9651 invalid in OpenCL 
    9652 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9653 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9654 
    9655 program_source:308:26: note: expanded from macro '\ 
    9656 DECLARE_F_REDUCTION_UNIFORM' 
    9657 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9658 
    9659 <scratch space>:35:1: note: expanded from here 
    9660 simd_max 
    9661 
    9662 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    9663 is invalid in OpenCL 
    9664 DECLARE_SHUFFLE_UNIFORM(shuffle, shuffle) 
    9665 
    9666 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9667 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9668 
    9669 <scratch space>:37:1: note: expanded from here 
    9670 simd_shuffle 
    9671 
    9672 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    9673 is invalid in OpenCL 
    9674 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9675 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9676 
    9677 <scratch space>:37:1: note: expanded from here 
    9678 simd_shuffle 
    9679 
    9680 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    9681 is invalid in OpenCL 
    9682 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9683 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9684 
    9685 <scratch space>:37:1: note: expanded from here 
    9686 simd_shuffle 
    9687 
    9688 program_source:324:1: error: implicit declaration of function
    9689 'simd_shuffle_xor' is invalid in OpenCL 
    9690 DECLARE_SHUFFLE_UNIFORM(shuffle_xor, shuffle_xor) 
    9691 
    9692 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9693 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9694 
    9695 <scratch space>:39:1: note: expanded from here 
    9696 simd_shuffle_xor 
    9697 
    9698 program_source:324:1: error: implicit declaration of function
    9699 'simd_shuffle_xor' is invalid in OpenCL 
    9700 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9701 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9702 
    9703 <scratch space>:39:1: note: expanded from here 
    9704 simd_shuffle_xor 
    9705 
    9706 program_source:324:1: error: implicit declaration of function
    9707 'simd_shuffle_xor' is invalid in OpenCL 
    9708 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9709 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9710 
    9711 <scratch space>:39:1: note: expanded from here 
    9712 simd_shuffle_xor 
    9713 
    9714 program_source:325:1: error: implicit declaration of function
    9715 'simd_shuffle_up' is invalid in OpenCL 
    9716 DECLARE_SHUFFLE_UNIFORM(shuffle_up, shuffle_up) 
    9717 
    9718 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9719 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9720 
    9721 <scratch space>:41:1: note: expanded from here 
    9722 simd_shuffle_up 
    9723 
    9724 program_source:325:1: error: implicit declaration of function
    9725 'simd_shuffle_up' is invalid in OpenCL 
    9726 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9727 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9728 
    9729 <scratch space>:41:1: note: expanded from here 
    9730 simd_shuffle_up 
    9731 
    9732 program_source:325:1: error: implicit declaration of function
    9733 'simd_shuffle_up' is invalid in OpenCL 
    9734 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9735 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9736 
    9737 <scratch space>:41:1: note: expanded from here 
    9738 simd_shuffle_up 
    9739 
    9740 program_source:326:1: error: implicit declaration of function
    9741 'simd_shuffle_down' is invalid in OpenCL 
    9742 DECLARE_SHUFFLE_UNIFORM(shuffle_down, shuffle_down) 
    9743 
    9744 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9745 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9746 
    9747 <scratch space>:43:1: note: expanded from here 
    9748 simd_shuffle_down 
    9749 
    9750 program_source:326:1: error: implicit declaration of function
    9751 'simd_shuffle_down' is invalid in OpenCL 
    9752 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9753 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9754 
    9755 <scratch space>:43:1: note: expanded from here 
    9756 simd_shuffle_down 
    9757 
    9758 program_source:326:1: error: implicit declaration of function
    9759 'simd_shuffle_down' is invalid in OpenCL 
    9760 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9761 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9762 
    9763 <scratch space>:43:1: note: expanded from here 
    9764 simd_shuffle_down 
    9765 
    9766 program_source:327:1: error: implicit declaration of function
    9767 'simd_shuffle_rotate_down' is invalid in OpenCL 
    9768 DECLARE_SHUFFLE_UNIFORM(shuffle_rotate_down, rotate) 
    9769 
    9770 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9771 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9772 
    9773 <scratch space>:45:1: note: expanded from here 
    9774 simd_shuffle_rotate_down 
    9775 
    9776 program_source:327:1: error: implicit declaration of function
    9777 'simd_shuffle_rotate_down' is invalid in OpenCL 
    9778 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9779 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9780 
    9781 <scratch space>:45:1: note: expanded from here 
    9782 simd_shuffle_rotate_down 
    9783 
    9784 program_source:327:1: error: implicit declaration of function
    9785 'simd_shuffle_rotate_down' is invalid in OpenCL 
    9786 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9787 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9788 
    9789 <scratch space>:45:1: note: expanded from here 
    9790 simd_shuffle_rotate_down 
    9791 
    9792 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    9793 is invalid in OpenCL 
    9794 DECLARE_SHUFFLE_UNIFORM(broadcast, broadcast) 
    9795 
    9796 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9797 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9798 
    9799 <scratch space>:47:1: note: expanded from here 
    9800 simd_broadcast 
    9801 
    9802 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    9803 is invalid in OpenCL 
    9804 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9805 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9806 
    9807 <scratch space>:47:1: note: expanded from here 
    9808 simd_broadcast 
    9809 
    9810 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    9811 is invalid in OpenCL 
    9812 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9813 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9814 
    9815 <scratch space>:47:1: note: expanded from here 
    9816 simd_broadcast 
    9817 
    9818 program_source:330:1: error: implicit declaration of function
    9819 'simd_broadcast_first' is invalid in OpenCL 
    9820 DECLARE_REDUCTION_UNIFORM(broadcast_first, broadcast_first) 
    9821 
    9822 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9823 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9824 
    9825 program_source:305:26: note: expanded from macro '\ 
    9826 DECLARE_I_REDUCTION_UNIFORM' 
    9827 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9828 
    9829 <scratch space>:49:1: note: expanded from here 
    9830 simd_broadcast_first 
    9831 
    9832 program_source:330:1: error: implicit declaration of function
    9833 'simd_broadcast_first' is invalid in OpenCL 
    9834 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9835 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9836 
    9837 program_source:305:26: note: expanded from macro '\ 
    9838 DECLARE_I_REDUCTION_UNIFORM' 
    9839 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9840 
    9841 <scratch space>:49:1: note: expanded from here 
    9842 simd_broadcast_first 
    9843 
    9844 program_source:330:1: error: implicit declaration of function
    9845 'simd_broadcast_first' is invalid in OpenCL 
    9846 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9847 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9848 
    9849 program_source:308:26: note: expanded from macro '\ 
    9850 DECLARE_F_REDUCTION_UNIFORM' 
    9851 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9852 
    9853 <scratch space>:51:1: note: expanded from here 
    9854 simd_broadcast_first 
    9855 
    9856 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    9857 invalid in OpenCL 
    9858 DECLARE_REDUCTION_NON_UNIFORM(sum, reduce_add) 
    9859 
    9860 program_source:338:60: note: expanded from macro
    9861 'DECLARE_REDUCTION_NON_UNIFORM' 
    9862 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9863 
    9864 program_source:333:26: note: expanded from macro '\ 
    9865 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9866 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9867 
    9868 <scratch space>:53:1: note: expanded from here 
    9869 simd_sum 
    9870 
    9871 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    9872 invalid in OpenCL 
    9873 program_source:338:60: note: expanded from macro
    9874 'DECLARE_REDUCTION_NON_UNIFORM' 
    9875 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9876 
    9877 program_source:333:26: note: expanded from macro '\ 
    9878 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9879 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9880 
    9881 <scratch space>:53:1: note: expanded from here 
    9882 simd_sum 
    9883 
    9884 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    9885 invalid in OpenCL 
    9886 program_source:339:54: note: expanded from macro
    9887 'DECLARE_REDUCTION_NON_UNIFORM' 
    9888 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9889 
    9890 program_source:336:26: note: expanded from macro '\ 
    9891 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9892 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9893 
    9894 <scratch space>:55:1: note: expanded from here 
    9895 simd_sum 
    9896 
    9897 program_source:346:1: error: implicit declaration of function
    9898 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9899 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    9900 
    9901 program_source:338:60: note: expanded from macro
    9902 'DECLARE_REDUCTION_NON_UNIFORM' 
    9903 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9904 
    9905 program_source:333:26: note: expanded from macro '\ 
    9906 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9907 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9908 
    9909 <scratch space>:57:1: note: expanded from here 
    9910 simd_prefix_inclusive_sum 
    9911 
    9912 program_source:346:1: error: implicit declaration of function
    9913 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9914 program_source:338:60: note: expanded from macro
    9915 'DECLARE_REDUCTION_NON_UNIFORM' 
    9916 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9917 
    9918 program_source:333:26: note: expanded from macro '\ 
    9919 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9920 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9921 
    9922 <scratch space>:57:1: note: expanded from here 
    9923 simd_prefix_inclusive_sum 
    9924 
    9925 program_source:346:1: error: implicit declaration of function
    9926 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9927 program_source:339:54: note: expanded from macro
    9928 'DECLARE_REDUCTION_NON_UNIFORM' 
    9929 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9930 
    9931 program_source:336:26: note: expanded from macro '\ 
    9932 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9933 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9934 
    9935 <scratch space>:59:1: note: expanded from here 
    9936 simd_prefix_inclusive_sum 
    9937 
    9938 program_source:347:1: error: implicit declaration of function
    9939 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9940 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    9941 
    9942 program_source:338:60: note: expanded from macro
    9943 'DECLARE_REDUCTION_NON_UNIFORM' 
    9944 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9945 
    9946 program_source:333:26: note: expanded from macro '\ 
    9947 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9948 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9949 
    9950 <scratch space>:61:1: note: expanded from here 
    9951 simd_prefix_exclusive_sum 
    9952 
    9953 program_source:347:1: error: implicit declaration of function
    9954 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9955 program_source:338:60: note: expanded from macro
    9956 'DECLARE_REDUCTION_NON_UNIFORM' 
    9957 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9958 
    9959 program_source:333:26: note: expanded from macro '\ 
    9960 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9961 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9962 
    9963 <scratch space>:61:1: note: expanded from here 
    9964 simd_prefix_exclusive_sum 
    9965 
    9966 program_source:347:1: error: implicit declaration of function
    9967 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9968 program_source:339:54: note: expanded from macro
    9969 'DECLARE_REDUCTION_NON_UNIFORM' 
    9970 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9971 
    9972 program_source:336:26: note: expanded from macro '\ 
    9973 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9974 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9975 
    9976 <scratch space>:63:1: note: expanded from here 
    9977 simd_prefix_exclusive_sum 
    9978 
    9979 program_source:348:1: error: implicit declaration of function 'simd_min' is
    9980 invalid in OpenCL 
    9981 DECLARE_REDUCTION_NON_UNIFORM(min, reduce_min) 
    9982 
    9983 program_source:338:60: note: expanded from macro
    9984 'DECLARE_REDUCTION_NON_UNIFORM' 
    9985 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9986 
    9987 program_source:333:26: note: expanded from macro '\ 
    9988 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9989 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9990 
    9991 <scratch space>:65:1: note: expanded from here 
    9992 simd_min 
    9993 
    9994 program_source:348:1: error: implicit declaration of function 'simd_min' is
    9995 invalid in OpenCL 
    9996 program_source:338:60: note: expanded from macro
    9997 'DECLARE_REDUCTION_NON_UNIFORM' 
    9998 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9999 
    10000 program_source:333:26: note: expanded from macro '\ 
    10001 DECLARE_I_REDUCTION_NON_UNIFORM' 
    10002 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10003 
    10004 <scratch space>:65:1: note: expanded from here 
    10005 simd_min 
    10006 
    10007 program_source:348:1: error: implicit declaration of function 'simd_min' is
    10008 invalid in OpenCL 
    10009 program_source:339:54: note: expanded from macro
    10010 'DECLARE_REDUCTION_NON_UNIFORM' 
    10011 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10012 
    10013 program_source:336:26: note: expanded from macro '\ 
    10014 DECLARE_F_REDUCTION_NON_UNIFORM' 
    10015 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10016 
    10017 <scratch space>:67:1: note: expanded from here 
    10018 simd_min 
    10019 
    10020 program_source:349:1: error: implicit declaration of function 'simd_max' is
    10021 invalid in OpenCL 
    10022 DECLARE_REDUCTION_NON_UNIFORM(max, reduce_max) 
    10023 
    10024 program_source:338:60: note: expanded from macro
    10025 'DECLARE_REDUCTION_NON_UNIFORM' 
    10026 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10027 
    10028 program_source:333:26: note: expanded from macro '\ 
    10029 DECLARE_I_REDUCTION_NON_UNIFORM' 
    10030 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10031 
    10032 <scratch space>:69:1: note: expanded from here 
    10033 simd_max 
    10034 
    10035 program_source:349:1: error: implicit declaration of function 'simd_max' is
    10036 invalid in OpenCL 
    10037 program_source:338:60: note: expanded from macro
    10038 'DECLARE_REDUCTION_NON_UNIFORM' 
    10039 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10040 
    10041 program_source:333:26: note: expanded from macro '\ 
    10042 DECLARE_I_REDUCTION_NON_UNIFORM' 
    10043 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10044 
    10045 <scratch space>:69:1: note: expanded from here 
    10046 simd_max 
    10047 
    10048 program_source:349:1: error: implicit declaration of function 'simd_max' is
    10049 invalid in OpenCL 
    10050 program_source:339:54: note: expanded from macro
    10051 'DECLARE_REDUCTION_NON_UNIFORM' 
    10052 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10053 
    10054 program_source:336:26: note: expanded from macro '\ 
    10055 DECLARE_F_REDUCTION_NON_UNIFORM' 
    10056 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10057 
    10058 <scratch space>:71:1: note: expanded from here 
    10059 simd_max 
    10060 
    10061 program_source:351:1: error: implicit declaration of function 'simd_product'
    10062 is invalid in OpenCL 
    10063 DECLARE_REDUCTION_NON_UNIFORM(product, reduce_mul) 
    10064 
    10065 program_source:338:60: note: expanded from macro
    10066 'DECLARE_REDUCTION_NON_UNIFORM' 
    10067 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10068 
    10069 program_source:333:26: note: expanded from macro '\ 
    10070 DECLARE_I_REDUCTION_NON_UNIFORM' 
    10071 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10072 
    10073 <scratch space>:73:1: note: expanded from here 
    10074 simd_product 
    10075 
    10076 program_source:351:1: error: implicit declaration of function 'simd_product'
    10077 is invalid in OpenCL 
    10078 program_source:338:60: note: expanded from macro
    10079 'DECLARE_REDUCTION_NON_UNIFORM' 
    10080 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10081 
    10082 program_source:333:26: note: expanded from macro '\ 
    10083 DECLARE_I_REDUCTION_NON_UNIFORM' 
    10084 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10085 
    10086 <scratch space>:73:1: note: expanded from here 
    10087 simd_product 
    10088 
    10089 program_source:351:1: error: implicit declaration of function 'simd_product'
    10090 is invalid in OpenCL 
    10091 program_source:339:54: note: expanded from macro
    10092 'DECLARE_REDUCTION_NON_UNIFORM' 
    10093 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10094 
    10095 program_source:336:26: note: expanded from macro '\ 
    10096 DECLARE_F_REDUCTION_NON_UNIFORM' 
    10097 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10098 
    10099 <scratch space>:75:1: note: expanded from here 
    10100 simd_product 
    10101 
    10102 program_source:352:1: error: implicit declaration of function
    10103 'simd_prefix_inclusive_product' is invalid in OpenCL 
    10104 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_product, scan_inclusive_mul) 
    10105 
    10106 program_source:338:60: note: expanded from macro
    10107 'DECLARE_REDUCTION_NON_UNIFORM' 
    10108 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10109 
    10110 program_source:333:26: note: expanded from macro '\ 
    10111 DECLARE_I_REDUCTION_NON_UNIFORM' 
    10112 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10113 
    10114 <scratch space>:77:1: note: expanded from here 
    10115 simd_prefix_inclusive_product 
    10116 
    10117 program_source:352:1: error: implicit declaration of function
    10118 'simd_prefix_inclusive_product' is invalid in OpenCL 
    10119 program_source:338:60: note: expanded from macro
    10120 'DECLARE_REDUCTION_NON_UNIFORM' 
    10121 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10122 
    10123 program_source:333:26: note: expanded from macro '\ 
    10124 DECLARE_I_REDUCTION_NON_UNIFORM' 
    10125 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10126 
    10127 <scratch space>:77:1: note: expanded from here 
    10128 simd_prefix_inclusive_product 
    10129 
    10130 program_source:352:1: error: implicit declaration of function
    10131 'simd_prefix_inclusive_product' is invalid in OpenCL 
    10132 program_source:339:54: note: expanded from macro
    10133 'DECLARE_REDUCTION_NON_UNIFORM' 
    10134 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10135 
    10136 program_source:336:26: note: expanded from macro '\ 
    10137 DECLARE_F_REDUCTION_NON_UNIFORM' 
    10138 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10139 
    10140 <scratch space>:79:1: note: expanded from here 
    10141 simd_prefix_inclusive_product 
    10142 
    10143 program_source:353:1: error: implicit declaration of function
    10144 'simd_prefix_exclusive_product' is invalid in OpenCL 
    10145 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_product, scan_exclusive_mul) 
    10146 
    10147 program_source:338:60: note: expanded from macro
    10148 'DECLARE_REDUCTION_NON_UNIFORM' 
    10149 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10150 
    10151 program_source:333:26: note: expanded from macro '\ 
    10152 DECLARE_I_REDUCTION_NON_UNIFORM' 
    10153 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10154 
    10155 <scratch space>:81:1: note: expanded from here 
    10156 simd_prefix_exclusive_product 
    10157 
    10158 program_source:353:1: error: implicit declaration of function
    10159 'simd_prefix_exclusive_product' is invalid in OpenCL 
    10160 program_source:338:60: note: expanded from macro
    10161 'DECLARE_REDUCTION_NON_UNIFORM' 
    10162 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10163 
    10164 program_source:333:26: note: expanded from macro '\ 
    10165 DECLARE_I_REDUCTION_NON_UNIFORM' 
    10166 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10167 
    10168 <scratch space>:81:1: note: expanded from here 
    10169 simd_prefix_exclusive_product 
    10170 
    10171 program_source:353:1: error: implicit declaration of function
    10172 'simd_prefix_exclusive_product' is invalid in OpenCL 
    10173 program_source:339:54: note: expanded from macro
    10174 'DECLARE_REDUCTION_NON_UNIFORM' 
    10175 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10176 
    10177 program_source:336:26: note: expanded from macro '\ 
    10178 DECLARE_F_REDUCTION_NON_UNIFORM' 
    10179 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10180 
    10181 <scratch space>:83:1: note: expanded from here 
    10182 simd_prefix_exclusive_product 
    10183 
    10184 program_source:354:1: error: implicit declaration of function 'simd_and' is
    10185 invalid in OpenCL 
    10186 DECLARE_I_REDUCTION_NON_UNIFORM(and, reduce_and) 
    10187 
    10188 program_source:333:26: note: expanded from macro
    10189 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    10190 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10191 
    10192 <scratch space>:85:1: note: expanded from here 
    10193 simd_and 
    10194 
    10195 program_source:354:1: error: implicit declaration of function 'simd_and' is
    10196 invalid in OpenCL 
    10197 program_source:333:26: note: expanded from macro
    10198 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    10199 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10200 
    10201 <scratch space>:85:1: note: expanded from here 
    10202 simd_and 
    10203 
    10204 program_source:355:1: error: implicit declaration of function 'simd_or' is
    10205 invalid in OpenCL 
    10206 DECLARE_I_REDUCTION_NON_UNIFORM(or, reduce_or) 
    10207 
    10208 program_source:333:26: note: expanded from macro
    10209 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    10210 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10211 
    10212 <scratch space>:87:1: note: expanded from here 
    10213 simd_or 
    10214 
    10215 program_source:355:1: error: implicit declaration of function 'simd_or' is
    10216 invalid in OpenCL 
    10217 program_source:333:26: note: expanded from macro
    10218 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    10219 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10220 
    10221 <scratch space>:87:1: note: expanded from here 
    10222 simd_or 
    10223 
    10224 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    10225 invalid in OpenCL 
    10226 DECLARE_I_REDUCTION_NON_UNIFORM(xor, reduce_xor) 
    10227 
    10228 program_source:333:26: note: expanded from macro
    10229 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    10230 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10231 
    10232 <scratch space>:89:1: note: expanded from here 
    10233 simd_xor 
    10234 
    10235 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    10236 invalid in OpenCL 
    10237 program_source:333:26: note: expanded from macro
    10238 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    10239 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10240 
    10241 <scratch space>:89:1: note: expanded from here 
    10242 simd_xor 
    10243 
    10244 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    10245 is invalid in OpenCL 
    10246 DECLARE_SHUFFLE_NON_UNIFORM(broadcast, broadcast) 
    10247 
    10248 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    10249 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10250 
    10251 <scratch space>:91:1: note: expanded from here 
    10252 simd_broadcast 
    10253 
    10254 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    10255 is invalid in OpenCL 
    10256 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    10257 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10258 
    10259 <scratch space>:91:1: note: expanded from here 
    10260 simd_broadcast 
    10261 
    10262 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    10263 is invalid in OpenCL 
    10264 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    10265 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10266 
    10267 <scratch space>:91:1: note: expanded from here 
    10268 simd_broadcast 
    10269 
    10270 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    10271 invalid in OpenCL 
    10272 DECLARE_REDUCTION_CLUSTERED(sum, reduce_add) 
    10273 
    10274 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10275 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10276 
    10277 program_source:360:60: note: expanded from macro '\ 
    10278 DECLARE_I_REDUCTION_CLUSTERED' 
    10279 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10280 
    10281 program_source:245:71: note: expanded from macro '\ 
    10282 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10283 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10284 
    10285 program_source:196:12: note: expanded from macro '\ 
    10286 OVERLOAD_CLUSTERED_ARGS_1' 
    10287 return quad_##METAL_SUFFIX(x); \ 
    10288 
    10289 <scratch space>:94:1: note: expanded from here 
    10290 quad_sum 
    10291 
    10292 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    10293 invalid in OpenCL 
    10294 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10295 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10296 
    10297 program_source:360:60: note: expanded from macro '\ 
    10298 DECLARE_I_REDUCTION_CLUSTERED' 
    10299 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10300 
    10301 program_source:245:71: note: expanded from macro '\ 
    10302 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10303 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10304 
    10305 program_source:198:12: note: expanded from macro '\ 
    10306 OVERLOAD_CLUSTERED_ARGS_1' 
    10307 return simd_##METAL_SUFFIX(x); \ 
    10308 
    10309 <scratch space>:95:1: note: expanded from here 
    10310 simd_sum 
    10311 
    10312 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    10313 invalid in OpenCL 
    10314 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10315 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10316 
    10317 program_source:360:60: note: expanded from macro '\ 
    10318 DECLARE_I_REDUCTION_CLUSTERED' 
    10319 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10320 
    10321 program_source:246:59: note: expanded from macro '\ 
    10322 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10323 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10324 
    10325 program_source:196:12: note: expanded from macro '\ 
    10326 OVERLOAD_CLUSTERED_ARGS_1' 
    10327 return quad_##METAL_SUFFIX(x); \ 
    10328 
    10329 <scratch space>:96:1: note: expanded from here 
    10330 quad_sum 
    10331 
    10332 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    10333 invalid in OpenCL 
    10334 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10335 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10336 
    10337 program_source:360:60: note: expanded from macro '\ 
    10338 DECLARE_I_REDUCTION_CLUSTERED' 
    10339 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10340 
    10341 program_source:246:59: note: expanded from macro '\ 
    10342 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10343 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10344 
    10345 program_source:198:12: note: expanded from macro '\ 
    10346 OVERLOAD_CLUSTERED_ARGS_1' 
    10347 return simd_##METAL_SUFFIX(x); \ 
    10348 
    10349 <scratch space>:97:1: note: expanded from here 
    10350 simd_sum 
    10351 
    10352 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    10353 invalid in OpenCL 
    10354 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10355 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10356 
    10357 program_source:363:60: note: expanded from macro '\ 
    10358 DECLARE_F_REDUCTION_CLUSTERED' 
    10359 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10360 
    10361 program_source:249:71: note: expanded from macro '\ 
    10362 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10363 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10364 
    10365 program_source:196:12: note: expanded from macro '\ 
    10366 OVERLOAD_CLUSTERED_ARGS_1' 
    10367 return quad_##METAL_SUFFIX(x); \ 
    10368 
    10369 <scratch space>:99:1: note: expanded from here 
    10370 quad_sum 
    10371 
    10372 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    10373 invalid in OpenCL 
    10374 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10375 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10376 
    10377 program_source:363:60: note: expanded from macro '\ 
    10378 DECLARE_F_REDUCTION_CLUSTERED' 
    10379 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10380 
    10381 program_source:249:71: note: expanded from macro '\ 
    10382 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10383 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10384 
    10385 program_source:198:12: note: expanded from macro '\ 
    10386 OVERLOAD_CLUSTERED_ARGS_1' 
    10387 return simd_##METAL_SUFFIX(x); \ 
    10388 
    10389 <scratch space>:100:1: note: expanded from here 
    10390 simd_sum 
    10391 
    10392 program_source:392:1: error: implicit declaration of function 'quad_min' is
    10393 invalid in OpenCL 
    10394 DECLARE_REDUCTION_CLUSTERED(min, reduce_min) 
    10395 
    10396 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10397 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10398 
    10399 program_source:360:60: note: expanded from macro '\ 
    10400 DECLARE_I_REDUCTION_CLUSTERED' 
    10401 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10402 
    10403 program_source:245:71: note: expanded from macro '\ 
    10404 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10405 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10406 
    10407 program_source:196:12: note: expanded from macro '\ 
    10408 OVERLOAD_CLUSTERED_ARGS_1' 
    10409 return quad_##METAL_SUFFIX(x); \ 
    10410 
    10411 <scratch space>:102:1: note: expanded from here 
    10412 quad_min 
    10413 
    10414 program_source:392:1: error: implicit declaration of function 'simd_min' is
    10415 invalid in OpenCL 
    10416 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10417 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10418 
    10419 program_source:360:60: note: expanded from macro '\ 
    10420 DECLARE_I_REDUCTION_CLUSTERED' 
    10421 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10422 
    10423 program_source:245:71: note: expanded from macro '\ 
    10424 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10425 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10426 
    10427 program_source:198:12: note: expanded from macro '\ 
    10428 OVERLOAD_CLUSTERED_ARGS_1' 
    10429 return simd_##METAL_SUFFIX(x); \ 
    10430 
    10431 <scratch space>:103:1: note: expanded from here 
    10432 simd_min 
    10433 
    10434 program_source:392:1: error: implicit declaration of function 'quad_min' is
    10435 invalid in OpenCL 
    10436 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10437 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10438 
    10439 program_source:360:60: note: expanded from macro '\ 
    10440 DECLARE_I_REDUCTION_CLUSTERED' 
    10441 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10442 
    10443 program_source:246:59: note: expanded from macro '\ 
    10444 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10445 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10446 
    10447 program_source:196:12: note: expanded from macro '\ 
    10448 OVERLOAD_CLUSTERED_ARGS_1' 
    10449 return quad_##METAL_SUFFIX(x); \ 
    10450 
    10451 <scratch space>:104:1: note: expanded from here 
    10452 quad_min 
    10453 
    10454 program_source:392:1: error: implicit declaration of function 'simd_min' is
    10455 invalid in OpenCL 
    10456 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10457 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10458 
    10459 program_source:360:60: note: expanded from macro '\ 
    10460 DECLARE_I_REDUCTION_CLUSTERED' 
    10461 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10462 
    10463 program_source:246:59: note: expanded from macro '\ 
    10464 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10465 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10466 
    10467 program_source:198:12: note: expanded from macro '\ 
    10468 OVERLOAD_CLUSTERED_ARGS_1' 
    10469 return simd_##METAL_SUFFIX(x); \ 
    10470 
    10471 <scratch space>:105:1: note: expanded from here 
    10472 simd_min 
    10473 
    10474 program_source:392:1: error: implicit declaration of function 'quad_min' is
    10475 invalid in OpenCL 
    10476 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10477 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10478 
    10479 program_source:363:60: note: expanded from macro '\ 
    10480 DECLARE_F_REDUCTION_CLUSTERED' 
    10481 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10482 
    10483 program_source:249:71: note: expanded from macro '\ 
    10484 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10485 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10486 
    10487 program_source:196:12: note: expanded from macro '\ 
    10488 OVERLOAD_CLUSTERED_ARGS_1' 
    10489 return quad_##METAL_SUFFIX(x); \ 
    10490 
    10491 <scratch space>:107:1: note: expanded from here 
    10492 quad_min 
    10493 
    10494 program_source:392:1: error: implicit declaration of function 'simd_min' is
    10495 invalid in OpenCL 
    10496 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10497 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10498 
    10499 program_source:363:60: note: expanded from macro '\ 
    10500 DECLARE_F_REDUCTION_CLUSTERED' 
    10501 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10502 
    10503 program_source:249:71: note: expanded from macro '\ 
    10504 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10505 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10506 
    10507 program_source:198:12: note: expanded from macro '\ 
    10508 OVERLOAD_CLUSTERED_ARGS_1' 
    10509 return simd_##METAL_SUFFIX(x); \ 
    10510 
    10511 <scratch space>:108:1: note: expanded from here 
    10512 simd_min 
    10513 
    10514 program_source:393:1: error: implicit declaration of function 'quad_max' is
    10515 invalid in OpenCL 
    10516 DECLARE_REDUCTION_CLUSTERED(max, reduce_max) 
    10517 
    10518 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10519 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10520 
    10521 program_source:360:60: note: expanded from macro '\ 
    10522 DECLARE_I_REDUCTION_CLUSTERED' 
    10523 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10524 
    10525 program_source:245:71: note: expanded from macro '\ 
    10526 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10527 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10528 
    10529 program_source:196:12: note: expanded from macro '\ 
    10530 OVERLOAD_CLUSTERED_ARGS_1' 
    10531 return quad_##METAL_SUFFIX(x); \ 
    10532 
    10533 <scratch space>:110:1: note: expanded from here 
    10534 quad_max 
    10535 
    10536 program_source:393:1: error: implicit declaration of function 'simd_max' is
    10537 invalid in OpenCL 
    10538 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10539 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10540 
    10541 program_source:360:60: note: expanded from macro '\ 
    10542 DECLARE_I_REDUCTION_CLUSTERED' 
    10543 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10544 
    10545 program_source:245:71: note: expanded from macro '\ 
    10546 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10547 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10548 
    10549 program_source:198:12: note: expanded from macro '\ 
    10550 OVERLOAD_CLUSTERED_ARGS_1' 
    10551 return simd_##METAL_SUFFIX(x); \ 
    10552 
    10553 <scratch space>:111:1: note: expanded from here 
    10554 simd_max 
    10555 
    10556 program_source:393:1: error: implicit declaration of function 'quad_max' is
    10557 invalid in OpenCL 
    10558 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10559 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10560 
    10561 program_source:360:60: note: expanded from macro '\ 
    10562 DECLARE_I_REDUCTION_CLUSTERED' 
    10563 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10564 
    10565 program_source:246:59: note: expanded from macro '\ 
    10566 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10567 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10568 
    10569 program_source:196:12: note: expanded from macro '\ 
    10570 OVERLOAD_CLUSTERED_ARGS_1' 
    10571 return quad_##METAL_SUFFIX(x); \ 
    10572 
    10573 <scratch space>:112:1: note: expanded from here 
    10574 quad_max 
    10575 
    10576 program_source:393:1: error: implicit declaration of function 'simd_max' is
    10577 invalid in OpenCL 
    10578 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10579 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10580 
    10581 program_source:360:60: note: expanded from macro '\ 
    10582 DECLARE_I_REDUCTION_CLUSTERED' 
    10583 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10584 
    10585 program_source:246:59: note: expanded from macro '\ 
    10586 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10587 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10588 
    10589 program_source:198:12: note: expanded from macro '\ 
    10590 OVERLOAD_CLUSTERED_ARGS_1' 
    10591 return simd_##METAL_SUFFIX(x); \ 
    10592 
    10593 <scratch space>:113:1: note: expanded from here 
    10594 simd_max 
    10595 
    10596 program_source:393:1: error: implicit declaration of function 'quad_max' is
    10597 invalid in OpenCL 
    10598 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10599 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10600 
    10601 program_source:363:60: note: expanded from macro '\ 
    10602 DECLARE_F_REDUCTION_CLUSTERED' 
    10603 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10604 
    10605 program_source:249:71: note: expanded from macro '\ 
    10606 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10607 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10608 
    10609 program_source:196:12: note: expanded from macro '\ 
    10610 OVERLOAD_CLUSTERED_ARGS_1' 
    10611 return quad_##METAL_SUFFIX(x); \ 
    10612 
    10613 <scratch space>:115:1: note: expanded from here 
    10614 quad_max 
    10615 
    10616 program_source:393:1: error: implicit declaration of function 'simd_max' is
    10617 invalid in OpenCL 
    10618 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10619 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10620 
    10621 program_source:363:60: note: expanded from macro '\ 
    10622 DECLARE_F_REDUCTION_CLUSTERED' 
    10623 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10624 
    10625 program_source:249:71: note: expanded from macro '\ 
    10626 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10627 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10628 
    10629 program_source:198:12: note: expanded from macro '\ 
    10630 OVERLOAD_CLUSTERED_ARGS_1' 
    10631 return simd_##METAL_SUFFIX(x); \ 
    10632 
    10633 <scratch space>:116:1: note: expanded from here 
    10634 simd_max 
    10635 
    10636 program_source:395:1: error: implicit declaration of function 'quad_product'
    10637 is invalid in OpenCL 
    10638 DECLARE_REDUCTION_CLUSTERED(product, reduce_mul) 
    10639 
    10640 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10641 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10642 
    10643 program_source:360:60: note: expanded from macro '\ 
    10644 DECLARE_I_REDUCTION_CLUSTERED' 
    10645 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10646 
    10647 program_source:245:71: note: expanded from macro '\ 
    10648 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10649 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10650 
    10651 program_source:196:12: note: expanded from macro '\ 
    10652 OVERLOAD_CLUSTERED_ARGS_1' 
    10653 return quad_##METAL_SUFFIX(x); \ 
    10654 
    10655 <scratch space>:118:1: note: expanded from here 
    10656 quad_product 
    10657 
    10658 program_source:395:1: error: implicit declaration of function 'simd_product'
    10659 is invalid in OpenCL 
    10660 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10661 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10662 
    10663 program_source:360:60: note: expanded from macro '\ 
    10664 DECLARE_I_REDUCTION_CLUSTERED' 
    10665 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10666 
    10667 program_source:245:71: note: expanded from macro '\ 
    10668 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10669 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10670 
    10671 program_source:198:12: note: expanded from macro '\ 
    10672 OVERLOAD_CLUSTERED_ARGS_1' 
    10673 return simd_##METAL_SUFFIX(x); \ 
    10674 
    10675 <scratch space>:119:1: note: expanded from here 
    10676 simd_product 
    10677 
    10678 program_source:395:1: error: implicit declaration of function 'quad_product'
    10679 is invalid in OpenCL 
    10680 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10681 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10682 
    10683 program_source:360:60: note: expanded from macro '\ 
    10684 DECLARE_I_REDUCTION_CLUSTERED' 
    10685 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10686 
    10687 program_source:246:59: note: expanded from macro '\ 
    10688 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10689 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10690 
    10691 program_source:196:12: note: expanded from macro '\ 
    10692 OVERLOAD_CLUSTERED_ARGS_1' 
    10693 return quad_##METAL_SUFFIX(x); \ 
    10694 
    10695 <scratch space>:120:1: note: expanded from here 
    10696 quad_product 
    10697 
    10698 program_source:395:1: error: implicit declaration of function 'simd_product'
    10699 is invalid in OpenCL 
    10700 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10701 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10702 
    10703 program_source:360:60: note: expanded from macro '\ 
    10704 DECLARE_I_REDUCTION_CLUSTERED' 
    10705 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10706 
    10707 program_source:246:59: note: expanded from macro '\ 
    10708 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10709 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10710 
    10711 program_source:198:12: note: expanded from macro '\ 
    10712 OVERLOAD_CLUSTERED_ARGS_1' 
    10713 return simd_##METAL_SUFFIX(x); \ 
    10714 
    10715 <scratch space>:121:1: note: expanded from here 
    10716 simd_product 
    10717 
    10718 program_source:395:1: error: implicit declaration of function 'quad_product'
    10719 is invalid in OpenCL 
    10720 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10721 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10722 
    10723 program_source:363:60: note: expanded from macro '\ 
    10724 DECLARE_F_REDUCTION_CLUSTERED' 
    10725 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10726 
    10727 program_source:249:71: note: expanded from macro '\ 
    10728 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10729 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10730 
    10731 program_source:196:12: note: expanded from macro '\ 
    10732 OVERLOAD_CLUSTERED_ARGS_1' 
    10733 return quad_##METAL_SUFFIX(x); \ 
    10734 
    10735 <scratch space>:123:1: note: expanded from here 
    10736 quad_product 
    10737 
    10738 program_source:395:1: error: implicit declaration of function 'simd_product'
    10739 is invalid in OpenCL 
    10740 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10741 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10742 
    10743 program_source:363:60: note: expanded from macro '\ 
    10744 DECLARE_F_REDUCTION_CLUSTERED' 
    10745 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10746 
    10747 program_source:249:71: note: expanded from macro '\ 
    10748 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10749 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10750 
    10751 program_source:198:12: note: expanded from macro '\ 
    10752 OVERLOAD_CLUSTERED_ARGS_1' 
    10753 return simd_##METAL_SUFFIX(x); \ 
    10754 
    10755 <scratch space>:124:1: note: expanded from here 
    10756 simd_product 
    10757 
    10758 program_source:396:1: error: implicit declaration of function 'quad_and' is
    10759 invalid in OpenCL 
    10760 DECLARE_I_REDUCTION_CLUSTERED(and, reduce_and) 
    10761 
    10762 program_source:360:60: note: expanded from macro
    10763 'DECLARE_I_REDUCTION_CLUSTERED' 
    10764 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10765 
    10766 program_source:245:71: note: expanded from macro '\ 
    10767 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10768 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10769 
    10770 program_source:196:12: note: expanded from macro '\ 
    10771 OVERLOAD_CLUSTERED_ARGS_1' 
    10772 return quad_##METAL_SUFFIX(x); \ 
    10773 
    10774 <scratch space>:126:1: note: expanded from here 
    10775 quad_and 
    10776 
    10777 program_source:396:1: error: implicit declaration of function 'simd_and' is
    10778 invalid in OpenCL 
    10779 program_source:360:60: note: expanded from macro
    10780 'DECLARE_I_REDUCTION_CLUSTERED' 
    10781 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10782 
    10783 program_source:245:71: note: expanded from macro '\ 
    10784 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10785 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10786 
    10787 program_source:198:12: note: expanded from macro '\ 
    10788 OVERLOAD_CLUSTERED_ARGS_1' 
    10789 return simd_##METAL_SUFFIX(x); \ 
    10790 
    10791 <scratch space>:127:1: note: expanded from here 
    10792 simd_and 
    10793 
    10794 program_source:396:1: error: implicit declaration of function 'quad_and' is
    10795 invalid in OpenCL 
    10796 program_source:360:60: note: expanded from macro
    10797 'DECLARE_I_REDUCTION_CLUSTERED' 
    10798 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10799 
    10800 program_source:246:59: note: expanded from macro '\ 
    10801 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10802 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10803 
    10804 program_source:196:12: note: expanded from macro '\ 
    10805 OVERLOAD_CLUSTERED_ARGS_1' 
    10806 return quad_##METAL_SUFFIX(x); \ 
    10807 
    10808 <scratch space>:128:1: note: expanded from here 
    10809 quad_and 
    10810 
    10811 program_source:396:1: error: implicit declaration of function 'simd_and' is
    10812 invalid in OpenCL 
    10813 program_source:360:60: note: expanded from macro
    10814 'DECLARE_I_REDUCTION_CLUSTERED' 
    10815 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10816 
    10817 program_source:246:59: note: expanded from macro '\ 
    10818 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10819 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10820 
    10821 program_source:198:12: note: expanded from macro '\ 
    10822 OVERLOAD_CLUSTERED_ARGS_1' 
    10823 return simd_##METAL_SUFFIX(x); \ 
    10824 
    10825 <scratch space>:129:1: note: expanded from here 
    10826 simd_and 
    10827 
    10828 program_source:397:1: error: implicit declaration of function 'quad_or' is
    10829 invalid in OpenCL 
    10830 DECLARE_I_REDUCTION_CLUSTERED(or, reduce_or) 
    10831 
    10832 program_source:360:60: note: expanded from macro
    10833 'DECLARE_I_REDUCTION_CLUSTERED' 
    10834 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10835 
    10836 program_source:245:71: note: expanded from macro '\ 
    10837 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10838 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10839 
    10840 program_source:196:12: note: expanded from macro '\ 
    10841 OVERLOAD_CLUSTERED_ARGS_1' 
    10842 return quad_##METAL_SUFFIX(x); \ 
    10843 
    10844 <scratch space>:131:1: note: expanded from here 
    10845 quad_or 
    10846 
    10847 program_source:397:1: error: implicit declaration of function 'simd_or' is
    10848 invalid in OpenCL 
    10849 program_source:360:60: note: expanded from macro
    10850 'DECLARE_I_REDUCTION_CLUSTERED' 
    10851 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10852 
    10853 program_source:245:71: note: expanded from macro '\ 
    10854 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10855 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10856 
    10857 program_source:198:12: note: expanded from macro '\ 
    10858 OVERLOAD_CLUSTERED_ARGS_1' 
    10859 return simd_##METAL_SUFFIX(x); \ 
    10860 
    10861 <scratch space>:132:1: note: expanded from here 
    10862 simd_or 
    10863 
    10864 program_source:397:1: error: implicit declaration of function 'quad_or' is
    10865 invalid in OpenCL 
    10866 program_source:360:60: note: expanded from macro
    10867 'DECLARE_I_REDUCTION_CLUSTERED' 
    10868 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10869 
    10870 program_source:246:59: note: expanded from macro '\ 
    10871 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10872 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10873 
    10874 program_source:196:12: note: expanded from macro '\ 
    10875 OVERLOAD_CLUSTERED_ARGS_1' 
    10876 return quad_##METAL_SUFFIX(x); \ 
    10877 
    10878 <scratch space>:133:1: note: expanded from here 
    10879 quad_or 
    10880 
    10881 program_source:397:1: error: implicit declaration of function 'simd_or' is
    10882 invalid in OpenCL 
    10883 program_source:360:60: note: expanded from macro
    10884 'DECLARE_I_REDUCTION_CLUSTERED' 
    10885 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10886 
    10887 program_source:246:59: note: expanded from macro '\ 
    10888 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10889 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10890 
    10891 program_source:198:12: note: expanded from macro '\ 
    10892 OVERLOAD_CLUSTERED_ARGS_1' 
    10893 return simd_##METAL_SUFFIX(x); \ 
    10894 
    10895 <scratch space>:134:1: note: expanded from here 
    10896 simd_or 
    10897 
    10898 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    10899 invalid in OpenCL 
    10900 DECLARE_I_REDUCTION_CLUSTERED(xor, reduce_xor) 
    10901 
    10902 program_source:360:60: note: expanded from macro
    10903 'DECLARE_I_REDUCTION_CLUSTERED' 
    10904 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10905 
    10906 program_source:245:71: note: expanded from macro '\ 
    10907 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10908 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10909 
    10910 program_source:196:12: note: expanded from macro '\ 
    10911 OVERLOAD_CLUSTERED_ARGS_1' 
    10912 return quad_##METAL_SUFFIX(x); \ 
    10913 
    10914 <scratch space>:136:1: note: expanded from here 
    10915 quad_xor 
    10916 
    10917 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    10918 invalid in OpenCL 
    10919 program_source:360:60: note: expanded from macro
    10920 'DECLARE_I_REDUCTION_CLUSTERED' 
    10921 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10922 
    10923 program_source:245:71: note: expanded from macro '\ 
    10924 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10925 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10926 
    10927 program_source:198:12: note: expanded from macro '\ 
    10928 OVERLOAD_CLUSTERED_ARGS_1' 
    10929 return simd_##METAL_SUFFIX(x); \ 
    10930 
    10931 <scratch space>:137:1: note: expanded from here 
    10932 simd_xor 
    10933 
    10934 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    10935 invalid in OpenCL 
    10936 program_source:360:60: note: expanded from macro
    10937 'DECLARE_I_REDUCTION_CLUSTERED' 
    10938 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10939 
    10940 program_source:246:59: note: expanded from macro '\ 
    10941 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10942 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10943 
    10944 program_source:196:12: note: expanded from macro '\ 
    10945 OVERLOAD_CLUSTERED_ARGS_1' 
    10946 return quad_##METAL_SUFFIX(x); \ 
    10947 
    10948 <scratch space>:138:1: note: expanded from here 
    10949 quad_xor 
    10950 
    10951 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    10952 invalid in OpenCL 
    10953 program_source:360:60: note: expanded from macro
    10954 'DECLARE_I_REDUCTION_CLUSTERED' 
    10955 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10956 
    10957 program_source:246:59: note: expanded from macro '\ 
    10958 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10959 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10960 
    10961 program_source:198:12: note: expanded from macro '\ 
    10962 OVERLOAD_CLUSTERED_ARGS_1' 
    10963 return simd_##METAL_SUFFIX(x); \ 
    10964 
    10965 <scratch space>:139:1: note: expanded from here 
    10966 simd_xor 
    10967 
    10968 program_source:399:1: error: implicit declaration of function 'simd_and' is
    10969 invalid in OpenCL 
    10970 DECLARE_B_REDUCTION_CLUSTERED(and) 
    10971 
    10972 program_source:369:8: note: expanded from macro
    10973 'DECLARE_B_REDUCTION_CLUSTERED' 
    10974 return simd_##OP(select(0, 1, predicate != 0)); \ 
    10975 
    10976 <scratch space>:141:1: note: expanded from here 
    10977 simd_and 
    10978 
    10979 program_source:399:1: error: implicit declaration of function 'quad_and' is
    10980 invalid in OpenCL 
    10981 program_source:378:12: note: expanded from macro
    10982 'DECLARE_B_REDUCTION_CLUSTERED' 
    10983 return quad_##OP(x); \ 
    10984 
    10985 <scratch space>:143:1: note: expanded from here 
    10986 quad_and 
    10987 
    10988 program_source:399:1: error: implicit declaration of function 'simd_and' is
    10989 invalid in OpenCL 
    10990 program_source:380:12: note: expanded from macro
    10991 'DECLARE_B_REDUCTION_CLUSTERED' 
    10992 return simd_##OP(x); \ 
    10993 
    10994 <scratch space>:144:1: note: expanded from here 
    10995 simd_and 
    10996 
    10997 program_source:400:1: error: implicit declaration of function 'simd_or' is
    10998 invalid in OpenCL 
    10999 DECLARE_B_REDUCTION_CLUSTERED(or) 
    11000 
    11001 program_source:369:8: note: expanded from macro
    11002 'DECLARE_B_REDUCTION_CLUSTERED' 
    11003 return simd_##OP(select(0, 1, predicate != 0)); \ 
    11004 
    11005 <scratch space>:146:1: note: expanded from here 
    11006 simd_or 
    11007 
    11008 program_source:400:1: error: implicit declaration of function 'quad_or' is
    11009 invalid in OpenCL 
    11010 program_source:378:12: note: expanded from macro
    11011 'DECLARE_B_REDUCTION_CLUSTERED' 
    11012 return quad_##OP(x); \ 
    11013 
    11014 <scratch space>:148:1: note: expanded from here 
    11015 quad_or 
    11016 
    11017 program_source:400:1: error: implicit declaration of function 'simd_or' is
    11018 invalid in OpenCL 
    11019 program_source:380:12: note: expanded from macro
    11020 'DECLARE_B_REDUCTION_CLUSTERED' 
    11021 return simd_##OP(x); \ 
    11022 
    11023 <scratch space>:149:1: note: expanded from here 
    11024 simd_or 
    11025 
    11026 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    11027 invalid in OpenCL 
    11028 DECLARE_B_REDUCTION_CLUSTERED(xor) 
    11029 
    11030 program_source:369:8: note: expanded from macro
    11031 'DECLARE_B_REDUCTION_CLUSTERED' 
    11032 return simd_##OP(select(0, 1, predicate != 0)); \ 
    11033 
    11034 <scratch space>:151:1: note: expanded from here 
    11035 simd_xor 
    11036 
    11037 program_source:401:1: error: implicit declaration of function 'quad_xor' is
    11038 invalid in OpenCL 
    11039 program_source:378:12: note: expanded from macro
    11040 'DECLARE_B_REDUCTION_CLUSTERED' 
    11041 return quad_##OP(x); \ 
    11042 
    11043 <scratch space>:153:1: note: expanded from here 
    11044 quad_xor 
    11045 
    11046 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    11047 invalid in OpenCL 
    11048 program_source:380:12: note: expanded from macro
    11049 'DECLARE_B_REDUCTION_CLUSTERED' 
    11050 return simd_##OP(x); \ 
    11051 
    11052 <scratch space>:154:1: note: expanded from here 
    11053 simd_xor 
    11054 
    11055 program_source:403:1: error: implicit declaration of function
    11056 'quad_shuffle_rotate_down' is invalid in OpenCL 
    11057 DECLARE_SHUFFLE_CLUSTERED(shuffle_rotate_down, rotate) 
    11058 
    11059 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    11060 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    11061 
    11062 program_source:252:69: note: expanded from macro '\ 
    11063 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    11064 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    11065 
    11066 program_source:208:12: note: expanded from macro '\ 
    11067 OVERLOAD_CLUSTERED_ARGS_2' 
    11068 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    11069 
    11070 <scratch space>:156:1: note: expanded from here 
    11071 quad_shuffle_rotate_down 
    11072 
    11073 program_source:403:1: error: implicit declaration of function
    11074 'simd_shuffle_rotate_down' is invalid in OpenCL 
    11075 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    11076 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    11077 
    11078 program_source:252:69: note: expanded from macro '\ 
    11079 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    11080 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    11081 
    11082 program_source:210:12: note: expanded from macro '\ 
    11083 OVERLOAD_CLUSTERED_ARGS_2' 
    11084 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    11085 
    11086 <scratch space>:157:1: note: expanded from here 
    11087 simd_shuffle_rotate_down 
    11088 
    11089 program_source:403:1: error: implicit declaration of function
    11090 'quad_shuffle_rotate_down' is invalid in OpenCL 
    11091 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    11092 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    11093 
    11094 program_source:253:59: note: expanded from macro '\ 
    11095 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    11096 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    11097 
    11098 program_source:208:12: note: expanded from macro '\ 
    11099 OVERLOAD_CLUSTERED_ARGS_2' 
    11100 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    11101 
    11102 <scratch space>:158:1: note: expanded from here 
    11103 quad_shuffle_rotate_down 
    11104 
    11105 program_source:403:1: error: implicit declaration of function
    11106 'simd_shuffle_rotate_down' is invalid in OpenCL 
    11107 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    11108 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    11109 
    11110 program_source:253:59: note: expanded from macro '\ 
    11111 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    11112 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    11113 
    11114 program_source:210:12: note: expanded from macro '\ 
    11115 OVERLOAD_CLUSTERED_ARGS_2' 
    11116 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    11117 
    11118 <scratch space>:159:1: note: expanded from here 
    11119 simd_shuffle_rotate_down 
    11120 
    11121 program_source:403:1: error: implicit declaration of function
    11122 'quad_shuffle_rotate_down' is invalid in OpenCL 
    11123 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    11124 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    11125 
    11126 program_source:254:60: note: expanded from macro '\ 
    11127 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    11128 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    11129 
    11130 program_source:208:12: note: expanded from macro '\ 
    11131 OVERLOAD_CLUSTERED_ARGS_2' 
    11132 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    11133 
    11134 <scratch space>:160:1: note: expanded from here 
    11135 quad_shuffle_rotate_down 
    11136 
    11137 program_source:403:1: error: implicit declaration of function
    11138 'simd_shuffle_rotate_down' is invalid in OpenCL 
    11139 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    11140 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    11141 
    11142 program_source:254:60: note: expanded from macro '\ 
    11143 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    11144 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    11145 
    11146 program_source:210:12: note: expanded from macro '\ 
    11147 OVERLOAD_CLUSTERED_ARGS_2' 
    11148 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    11149 
    11150 <scratch space>:161:1: note: expanded from here 
    11151 simd_shuffle_rotate_down 
    11152 
    11153 program_source:409:1: error: illegal string literal in 'asm' 
    11154 EXPOSE_BALLOT(simd_is_first, , bool, ) 
    11155 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11156 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11157 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11158 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11159 program_source:410:1: error: illegal string literal in 'asm' 
    11160 EXPOSE_BALLOT(simd_all, bool expr, bool, ) 
    11161 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11162 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11163 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11164 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11165 program_source:411:1: error: illegal string literal in 'asm' 
    11166 EXPOSE_BALLOT(simd_any, bool expr, bool, ) 
    11167 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11168 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11169 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11170 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11171 program_source:412:1: error: illegal string literal in 'asm' 
    11172 EXPOSE_BALLOT(simd_ballot, bool expr, ulong, .i64) 
    11173 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11174 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11175 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11176 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11177 program_source:413:1: error: illegal string literal in 'asm' 
    11178 EXPOSE_BALLOT(simd_active_threads_mask, , ulong, .i64) 
    11179 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11180 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11181 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11182 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11183 program_source:415:1: error: illegal string literal in 'asm' 
    11184 EXPOSE_BALLOT(quad_is_first, , bool, ) 
    11185 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11186 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11187 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11188 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11189 program_source:416:1: error: illegal string literal in 'asm' 
    11190 EXPOSE_BALLOT(quad_all, bool expr, bool, ) 
    11191 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11192 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11193 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11194 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11195 program_source:417:1: error: illegal string literal in 'asm' 
    11196 EXPOSE_BALLOT(quad_any, bool expr, bool, ) 
    11197 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11198 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11199 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11200 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11201 program_source:418:1: error: illegal string literal in 'asm' 
    11202 EXPOSE_BALLOT(quad_ballot, bool expr, ushort, ) 
    11203 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11204 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11205 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11206 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11207 program_source:419:1: error: illegal string literal in 'asm' 
    11208 EXPOSE_BALLOT(quad_active_threads_mask, , ushort, ) 
    11209 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11210 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11211 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11212 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11213 program_source:422:23: error: implicit declaration of function 'simd_is_first'
    11214 is invalid in OpenCL 
    11215 return select(0, 1, simd_is_first()); 
    11216 
    11217 program_source:426:23: error: implicit declaration of function 'simd_all' is
    11218 invalid in OpenCL 
    11219 return select(0, 1, simd_all(predicate != 0)); 
    11220 
    11221 program_source:430:23: error: implicit declaration of function 'simd_any' is
    11222 invalid in OpenCL 
    11223 return select(0, 1, simd_any(predicate != 0)); 
    11224 
    11225 program_source:434:23: error: implicit declaration of function 'simd_all' is
    11226 invalid in OpenCL 
    11227 return select(0, 1, simd_all(predicate != 0)); 
    11228 
    11229 program_source:438:23: error: implicit declaration of function 'simd_any' is
    11230 invalid in OpenCL 
    11231 return select(0, 1, simd_any(predicate != 0)); 
    11232 
    11233 program_source:443:14: error: implicit declaration of function 'simd_ballot'
    11234 is invalid in OpenCL 
    11235 output.x = simd_ballot(predicate != 0); 
    11236 
    11237 program_source:480:9: error: illegal string literal in 'asm' 
    11238 __asm("air.simdgroup.barrier"); 
    11239 ^~~~~~~~~~~~~~~~~~~~~~~ 
    11240 program_source:487:3: error: implicit declaration of function
    11241 '__metal_simdgroup_barrier' is invalid in OpenCL 
    11242 __metal_simdgroup_barrier(flags, 1); 
    11243 
    11244 program_source:487:3: note: did you mean 'simdgroup_barrier'? 
    11245 program_source:483:6: note: 'simdgroup_barrier' declared here 
    11246 void simdgroup_barrier(int flags) { 
    11247 
    11248 program_source:681:9: error: implicit declaration of function 'simd_is_first'
    11249 is invalid in OpenCL 
    11250 if (simd_is_first()) { 
    11251 
    11252 program_source:673:45: warning: comparison of integers of different signs:
    11253 '__private unsigned int' and '__private int' [-Wsign-compare] 
    11254 for (unsigned int index = thread; index < bufferSize; index +=
    11255 get_local_size(0)) 
    11256 ~~~~~ ^ ~~~~~~~~~~ 
    11257 program_source:685:45: warning: comparison of integers of different signs:
    11258 'unsigned int' and '__private int' [-Wsign-compare] 
    11259 if (thread%(32*2) == 0 && thread+32 < workGroupSize) 
    11260 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    11261 program_source:689:45: warning: comparison of integers of different signs:
    11262 'unsigned int' and '__private int' [-Wsign-compare] 
    11263 if (thread%(64*2) == 0 && thread+64 < workGroupSize) 
    11264 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    11265 program_source:693:47: warning: comparison of integers of different signs:
    11266 'unsigned int' and '__private int' [-Wsign-compare] 
    11267 if (thread%(128*2) == 0 && thread+128 < workGroupSize) 
    11268 ~~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    11269  
    11270  
    11271 openmm.OpenMMException: Error compiling kernel: program_source:279:1: error:
    11272 illegal string literal in 'asm' 
    11273 DECLARE_REDUCTION_BASE(sum) 
    11274 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11275 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11276 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11277 
    11278 program_source:263:44: note: expanded from macro '\ 
    11279 DECLARE_I_REDUCTION_BASE' 
    11280 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11281 
    11282 program_source:217:40: note: expanded from macro '\ 
    11283 EXPOSE_FUNCTION_I_ARGS_1' 
    11284 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11285 
    11286 program_source:164:9: note: expanded from macro '\ 
    11287 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11288 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11289 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11290 program_source:279:1: error: illegal string literal in 'asm' 
    11291 DECLARE_REDUCTION_BASE(sum) 
    11292 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11293 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11294 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11295 
    11296 program_source:263:44: note: expanded from macro '\ 
    11297 DECLARE_I_REDUCTION_BASE' 
    11298 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11299 
    11300 program_source:218:51: note: expanded from macro '\ 
    11301 EXPOSE_FUNCTION_I_ARGS_1' 
    11302 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11303 
    11304 program_source:164:9: note: expanded from macro '\ 
    11305 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11306 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11307 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11308 program_source:279:1: error: illegal string literal in 'asm' 
    11309 DECLARE_REDUCTION_BASE(sum) 
    11310 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11311 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11312 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11313 
    11314 program_source:264:43: note: expanded from macro '\ 
    11315 DECLARE_I_REDUCTION_BASE' 
    11316 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11317 
    11318 program_source:217:40: note: expanded from macro '\ 
    11319 EXPOSE_FUNCTION_I_ARGS_1' 
    11320 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11321 
    11322 program_source:164:9: note: expanded from macro '\ 
    11323 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11324 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11325 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11326 program_source:279:1: error: illegal string literal in 'asm' 
    11327 DECLARE_REDUCTION_BASE(sum) 
    11328 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11329 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11330 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11331 
    11332 program_source:264:43: note: expanded from macro '\ 
    11333 DECLARE_I_REDUCTION_BASE' 
    11334 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11335 
    11336 program_source:218:51: note: expanded from macro '\ 
    11337 EXPOSE_FUNCTION_I_ARGS_1' 
    11338 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11339 
    11340 program_source:164:9: note: expanded from macro '\ 
    11341 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11342 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11343 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11344 program_source:279:1: error: illegal string literal in 'asm' 
    11345 DECLARE_REDUCTION_BASE(sum) 
    11346 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11347 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11348 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11349 
    11350 program_source:267:44: note: expanded from macro '\ 
    11351 DECLARE_F_REDUCTION_BASE' 
    11352 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11353 
    11354 program_source:221:40: note: expanded from macro '\ 
    11355 EXPOSE_FUNCTION_F_ARGS_1' 
    11356 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11357 
    11358 program_source:164:9: note: expanded from macro '\ 
    11359 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11360 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11361 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11362 program_source:279:1: error: illegal string literal in 'asm' 
    11363 DECLARE_REDUCTION_BASE(sum) 
    11364 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11365 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11366 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11367 
    11368 program_source:268:43: note: expanded from macro '\ 
    11369 DECLARE_F_REDUCTION_BASE' 
    11370 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11371 
    11372 program_source:221:40: note: expanded from macro '\ 
    11373 EXPOSE_FUNCTION_F_ARGS_1' 
    11374 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11375 
    11376 program_source:164:9: note: expanded from macro '\ 
    11377 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11378 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11379 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11380 program_source:280:1: error: illegal string literal in 'asm' 
    11381 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11382 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11383 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11384 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11385 
    11386 program_source:263:44: note: expanded from macro '\ 
    11387 DECLARE_I_REDUCTION_BASE' 
    11388 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11389 
    11390 program_source:217:40: note: expanded from macro '\ 
    11391 EXPOSE_FUNCTION_I_ARGS_1' 
    11392 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11393 
    11394 program_source:164:9: note: expanded from macro '\ 
    11395 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11396 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11397 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11398 program_source:280:1: error: illegal string literal in 'asm' 
    11399 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11400 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11401 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11402 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11403 
    11404 program_source:263:44: note: expanded from macro '\ 
    11405 DECLARE_I_REDUCTION_BASE' 
    11406 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11407 
    11408 program_source:218:51: note: expanded from macro '\ 
    11409 EXPOSE_FUNCTION_I_ARGS_1' 
    11410 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11411 
    11412 program_source:164:9: note: expanded from macro '\ 
    11413 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11414 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11415 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11416 program_source:280:1: error: illegal string literal in 'asm' 
    11417 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11418 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11419 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11420 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11421 
    11422 program_source:264:43: note: expanded from macro '\ 
    11423 DECLARE_I_REDUCTION_BASE' 
    11424 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11425 
    11426 program_source:217:40: note: expanded from macro '\ 
    11427 EXPOSE_FUNCTION_I_ARGS_1' 
    11428 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11429 
    11430 program_source:164:9: note: expanded from macro '\ 
    11431 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11432 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11433 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11434 program_source:280:1: error: illegal string literal in 'asm' 
    11435 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11436 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11437 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11438 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11439 
    11440 program_source:264:43: note: expanded from macro '\ 
    11441 DECLARE_I_REDUCTION_BASE' 
    11442 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11443 
    11444 program_source:218:51: note: expanded from macro '\ 
    11445 EXPOSE_FUNCTION_I_ARGS_1' 
    11446 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11447 
    11448 program_source:164:9: note: expanded from macro '\ 
    11449 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11450 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11451 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11452 program_source:280:1: error: illegal string literal in 'asm' 
    11453 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11454 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11455 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11456 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11457 
    11458 program_source:267:44: note: expanded from macro '\ 
    11459 DECLARE_F_REDUCTION_BASE' 
    11460 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11461 
    11462 program_source:221:40: note: expanded from macro '\ 
    11463 EXPOSE_FUNCTION_F_ARGS_1' 
    11464 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11465 
    11466 program_source:164:9: note: expanded from macro '\ 
    11467 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11468 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11469 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11470 program_source:280:1: error: illegal string literal in 'asm' 
    11471 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11472 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11473 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11474 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11475 
    11476 program_source:268:43: note: expanded from macro '\ 
    11477 DECLARE_F_REDUCTION_BASE' 
    11478 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11479 
    11480 program_source:221:40: note: expanded from macro '\ 
    11481 EXPOSE_FUNCTION_F_ARGS_1' 
    11482 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11483 
    11484 program_source:164:9: note: expanded from macro '\ 
    11485 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11486 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11487 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11488 program_source:281:1: error: illegal string literal in 'asm' 
    11489 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11490 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11491 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11492 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11493 
    11494 program_source:263:44: note: expanded from macro '\ 
    11495 DECLARE_I_REDUCTION_BASE' 
    11496 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11497 
    11498 program_source:217:40: note: expanded from macro '\ 
    11499 EXPOSE_FUNCTION_I_ARGS_1' 
    11500 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11501 
    11502 program_source:164:9: note: expanded from macro '\ 
    11503 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11504 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11505 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11506 program_source:281:1: error: illegal string literal in 'asm' 
    11507 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11508 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11509 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11510 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11511 
    11512 program_source:263:44: note: expanded from macro '\ 
    11513 DECLARE_I_REDUCTION_BASE' 
    11514 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11515 
    11516 program_source:218:51: note: expanded from macro '\ 
    11517 EXPOSE_FUNCTION_I_ARGS_1' 
    11518 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11519 
    11520 program_source:164:9: note: expanded from macro '\ 
    11521 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11522 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11523 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11524 program_source:281:1: error: illegal string literal in 'asm' 
    11525 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11526 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11527 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11528 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11529 
    11530 program_source:264:43: note: expanded from macro '\ 
    11531 DECLARE_I_REDUCTION_BASE' 
    11532 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11533 
    11534 program_source:217:40: note: expanded from macro '\ 
    11535 EXPOSE_FUNCTION_I_ARGS_1' 
    11536 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11537 
    11538 program_source:164:9: note: expanded from macro '\ 
    11539 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11540 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11541 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11542 program_source:281:1: error: illegal string literal in 'asm' 
    11543 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11544 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11545 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11546 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11547 
    11548 program_source:264:43: note: expanded from macro '\ 
    11549 DECLARE_I_REDUCTION_BASE' 
    11550 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11551 
    11552 program_source:218:51: note: expanded from macro '\ 
    11553 EXPOSE_FUNCTION_I_ARGS_1' 
    11554 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11555 
    11556 program_source:164:9: note: expanded from macro '\ 
    11557 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11558 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11559 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11560 program_source:281:1: error: illegal string literal in 'asm' 
    11561 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11562 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11563 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11564 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11565 
    11566 program_source:267:44: note: expanded from macro '\ 
    11567 DECLARE_F_REDUCTION_BASE' 
    11568 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11569 
    11570 program_source:221:40: note: expanded from macro '\ 
    11571 EXPOSE_FUNCTION_F_ARGS_1' 
    11572 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11573 
    11574 program_source:164:9: note: expanded from macro '\ 
    11575 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11576 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11577 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11578 program_source:281:1: error: illegal string literal in 'asm' 
    11579 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11580 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11581 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11582 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11583 
    11584 program_source:268:43: note: expanded from macro '\ 
    11585 DECLARE_F_REDUCTION_BASE' 
    11586 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11587 
    11588 program_source:221:40: note: expanded from macro '\ 
    11589 EXPOSE_FUNCTION_F_ARGS_1' 
    11590 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11591 
    11592 program_source:164:9: note: expanded from macro '\ 
    11593 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11594 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11595 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11596 program_source:282:1: error: illegal string literal in 'asm' 
    11597 DECLARE_REDUCTION_BASE(min) 
    11598 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11599 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11600 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11601 
    11602 program_source:263:44: note: expanded from macro '\ 
    11603 DECLARE_I_REDUCTION_BASE' 
    11604 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11605 
    11606 program_source:217:40: note: expanded from macro '\ 
    11607 EXPOSE_FUNCTION_I_ARGS_1' 
    11608 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11609 
    11610 program_source:164:9: note: expanded from macro '\ 
    11611 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11612 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11613 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11614 program_source:282:1: error: illegal string literal in 'asm' 
    11615 DECLARE_REDUCTION_BASE(min) 
    11616 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11617 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11618 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11619 
    11620 program_source:263:44: note: expanded from macro '\ 
    11621 DECLARE_I_REDUCTION_BASE' 
    11622 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11623 
    11624 program_source:218:51: note: expanded from macro '\ 
    11625 EXPOSE_FUNCTION_I_ARGS_1' 
    11626 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11627 
    11628 program_source:164:9: note: expanded from macro '\ 
    11629 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11630 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11631 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11632 program_source:282:1: error: illegal string literal in 'asm' 
    11633 DECLARE_REDUCTION_BASE(min) 
    11634 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11635 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11636 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11637 
    11638 program_source:264:43: note: expanded from macro '\ 
    11639 DECLARE_I_REDUCTION_BASE' 
    11640 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11641 
    11642 program_source:217:40: note: expanded from macro '\ 
    11643 EXPOSE_FUNCTION_I_ARGS_1' 
    11644 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11645 
    11646 program_source:164:9: note: expanded from macro '\ 
    11647 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11648 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11649 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11650 program_source:282:1: error: illegal string literal in 'asm' 
    11651 DECLARE_REDUCTION_BASE(min) 
    11652 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11653 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11654 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11655 
    11656 program_source:264:43: note: expanded from macro '\ 
    11657 DECLARE_I_REDUCTION_BASE' 
    11658 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11659 
    11660 program_source:218:51: note: expanded from macro '\ 
    11661 EXPOSE_FUNCTION_I_ARGS_1' 
    11662 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11663 
    11664 program_source:164:9: note: expanded from macro '\ 
    11665 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11666 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11667 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11668 program_source:282:1: error: illegal string literal in 'asm' 
    11669 DECLARE_REDUCTION_BASE(min) 
    11670 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11671 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11672 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11673 
    11674 program_source:267:44: note: expanded from macro '\ 
    11675 DECLARE_F_REDUCTION_BASE' 
    11676 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11677 
    11678 program_source:221:40: note: expanded from macro '\ 
    11679 EXPOSE_FUNCTION_F_ARGS_1' 
    11680 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11681 
    11682 program_source:164:9: note: expanded from macro '\ 
    11683 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11684 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11685 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11686 program_source:282:1: error: illegal string literal in 'asm' 
    11687 DECLARE_REDUCTION_BASE(min) 
    11688 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11689 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11690 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11691 
    11692 program_source:268:43: note: expanded from macro '\ 
    11693 DECLARE_F_REDUCTION_BASE' 
    11694 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11695 
    11696 program_source:221:40: note: expanded from macro '\ 
    11697 EXPOSE_FUNCTION_F_ARGS_1' 
    11698 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11699 
    11700 program_source:164:9: note: expanded from macro '\ 
    11701 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11702 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11703 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11704 program_source:283:1: error: illegal string literal in 'asm' 
    11705 DECLARE_REDUCTION_BASE(max) 
    11706 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11707 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11708 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11709 
    11710 program_source:263:44: note: expanded from macro '\ 
    11711 DECLARE_I_REDUCTION_BASE' 
    11712 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11713 
    11714 program_source:217:40: note: expanded from macro '\ 
    11715 EXPOSE_FUNCTION_I_ARGS_1' 
    11716 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11717 
    11718 program_source:164:9: note: expanded from macro '\ 
    11719 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11720 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11721 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11722 program_source:283:1: error: illegal string literal in 'asm' 
    11723 DECLARE_REDUCTION_BASE(max) 
    11724 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11725 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11726 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11727 
    11728 program_source:263:44: note: expanded from macro '\ 
    11729 DECLARE_I_REDUCTION_BASE' 
    11730 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11731 
    11732 program_source:218:51: note: expanded from macro '\ 
    11733 EXPOSE_FUNCTION_I_ARGS_1' 
    11734 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11735 
    11736 program_source:164:9: note: expanded from macro '\ 
    11737 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11738 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11739 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11740 program_source:283:1: error: illegal string literal in 'asm' 
    11741 DECLARE_REDUCTION_BASE(max) 
    11742 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11743 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11744 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11745 
    11746 program_source:264:43: note: expanded from macro '\ 
    11747 DECLARE_I_REDUCTION_BASE' 
    11748 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11749 
    11750 program_source:217:40: note: expanded from macro '\ 
    11751 EXPOSE_FUNCTION_I_ARGS_1' 
    11752 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11753 
    11754 program_source:164:9: note: expanded from macro '\ 
    11755 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11756 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11757 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11758 program_source:283:1: error: illegal string literal in 'asm' 
    11759 DECLARE_REDUCTION_BASE(max) 
    11760 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11761 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11762 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11763 
    11764 program_source:264:43: note: expanded from macro '\ 
    11765 DECLARE_I_REDUCTION_BASE' 
    11766 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11767 
    11768 program_source:218:51: note: expanded from macro '\ 
    11769 EXPOSE_FUNCTION_I_ARGS_1' 
    11770 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11771 
    11772 program_source:164:9: note: expanded from macro '\ 
    11773 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11774 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11775 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11776 program_source:283:1: error: illegal string literal in 'asm' 
    11777 DECLARE_REDUCTION_BASE(max) 
    11778 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11779 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11780 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11781 
    11782 program_source:267:44: note: expanded from macro '\ 
    11783 DECLARE_F_REDUCTION_BASE' 
    11784 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11785 
    11786 program_source:221:40: note: expanded from macro '\ 
    11787 EXPOSE_FUNCTION_F_ARGS_1' 
    11788 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11789 
    11790 program_source:164:9: note: expanded from macro '\ 
    11791 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11792 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11793 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11794 program_source:283:1: error: illegal string literal in 'asm' 
    11795 DECLARE_REDUCTION_BASE(max) 
    11796 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11797 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11798 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11799 
    11800 program_source:268:43: note: expanded from macro '\ 
    11801 DECLARE_F_REDUCTION_BASE' 
    11802 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11803 
    11804 program_source:221:40: note: expanded from macro '\ 
    11805 EXPOSE_FUNCTION_F_ARGS_1' 
    11806 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11807 
    11808 program_source:164:9: note: expanded from macro '\ 
    11809 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11810 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11811 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11812 program_source:285:1: error: illegal string literal in 'asm' 
    11813 DECLARE_REDUCTION_BASE(product) 
    11814 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11815 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11816 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11817 
    11818 program_source:263:44: note: expanded from macro '\ 
    11819 DECLARE_I_REDUCTION_BASE' 
    11820 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11821 
    11822 program_source:217:40: note: expanded from macro '\ 
    11823 EXPOSE_FUNCTION_I_ARGS_1' 
    11824 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11825 
    11826 program_source:164:9: note: expanded from macro '\ 
    11827 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11828 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11829 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11830 program_source:285:1: error: illegal string literal in 'asm' 
    11831 DECLARE_REDUCTION_BASE(product) 
    11832 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11833 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11834 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11835 
    11836 program_source:263:44: note: expanded from macro '\ 
    11837 DECLARE_I_REDUCTION_BASE' 
    11838 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11839 
    11840 program_source:218:51: note: expanded from macro '\ 
    11841 EXPOSE_FUNCTION_I_ARGS_1' 
    11842 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11843 
    11844 program_source:164:9: note: expanded from macro '\ 
    11845 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11846 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11847 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11848 program_source:285:1: error: illegal string literal in 'asm' 
    11849 DECLARE_REDUCTION_BASE(product) 
    11850 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11851 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11852 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11853 
    11854 program_source:264:43: note: expanded from macro '\ 
    11855 DECLARE_I_REDUCTION_BASE' 
    11856 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11857 
    11858 program_source:217:40: note: expanded from macro '\ 
    11859 EXPOSE_FUNCTION_I_ARGS_1' 
    11860 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11861 
    11862 program_source:164:9: note: expanded from macro '\ 
    11863 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11864 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11865 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11866 program_source:285:1: error: illegal string literal in 'asm' 
    11867 DECLARE_REDUCTION_BASE(product) 
    11868 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11869 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11870 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11871 
    11872 program_source:264:43: note: expanded from macro '\ 
    11873 DECLARE_I_REDUCTION_BASE' 
    11874 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11875 
    11876 program_source:218:51: note: expanded from macro '\ 
    11877 EXPOSE_FUNCTION_I_ARGS_1' 
    11878 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11879 
    11880 program_source:164:9: note: expanded from macro '\ 
    11881 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11882 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11883 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11884 program_source:285:1: error: illegal string literal in 'asm' 
    11885 DECLARE_REDUCTION_BASE(product) 
    11886 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11887 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11888 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11889 
    11890 program_source:267:44: note: expanded from macro '\ 
    11891 DECLARE_F_REDUCTION_BASE' 
    11892 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11893 
    11894 program_source:221:40: note: expanded from macro '\ 
    11895 EXPOSE_FUNCTION_F_ARGS_1' 
    11896 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11897 
    11898 program_source:164:9: note: expanded from macro '\ 
    11899 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11900 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11901 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11902 program_source:285:1: error: illegal string literal in 'asm' 
    11903 DECLARE_REDUCTION_BASE(product) 
    11904 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11905 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11906 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11907 
    11908 program_source:268:43: note: expanded from macro '\ 
    11909 DECLARE_F_REDUCTION_BASE' 
    11910 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11911 
    11912 program_source:221:40: note: expanded from macro '\ 
    11913 EXPOSE_FUNCTION_F_ARGS_1' 
    11914 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11915 
    11916 program_source:164:9: note: expanded from macro '\ 
    11917 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11918 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11919 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11920 program_source:286:1: error: illegal string literal in 'asm' 
    11921 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11922 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11923 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11924 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11925 
    11926 program_source:263:44: note: expanded from macro '\ 
    11927 DECLARE_I_REDUCTION_BASE' 
    11928 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11929 
    11930 program_source:217:40: note: expanded from macro '\ 
    11931 EXPOSE_FUNCTION_I_ARGS_1' 
    11932 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11933 
    11934 program_source:164:9: note: expanded from macro '\ 
    11935 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11936 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11937 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11938 program_source:286:1: error: illegal string literal in 'asm' 
    11939 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11940 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11941 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11942 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11943 
    11944 program_source:263:44: note: expanded from macro '\ 
    11945 DECLARE_I_REDUCTION_BASE' 
    11946 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11947 
    11948 program_source:218:51: note: expanded from macro '\ 
    11949 EXPOSE_FUNCTION_I_ARGS_1' 
    11950 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11951 
    11952 program_source:164:9: note: expanded from macro '\ 
    11953 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11954 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11955 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11956 program_source:286:1: error: illegal string literal in 'asm' 
    11957 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11958 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11959 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11960 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11961 
    11962 program_source:264:43: note: expanded from macro '\ 
    11963 DECLARE_I_REDUCTION_BASE' 
    11964 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11965 
    11966 program_source:217:40: note: expanded from macro '\ 
    11967 EXPOSE_FUNCTION_I_ARGS_1' 
    11968 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11969 
    11970 program_source:164:9: note: expanded from macro '\ 
    11971 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11972 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11973 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11974 program_source:286:1: error: illegal string literal in 'asm' 
    11975 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11976 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11977 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11978 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11979 
    11980 program_source:264:43: note: expanded from macro '\ 
    11981 DECLARE_I_REDUCTION_BASE' 
    11982 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11983 
    11984 program_source:218:51: note: expanded from macro '\ 
    11985 EXPOSE_FUNCTION_I_ARGS_1' 
    11986 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11987 
    11988 program_source:164:9: note: expanded from macro '\ 
    11989 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11990 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11991 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11992 program_source:286:1: error: illegal string literal in 'asm' 
    11993 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11994 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11995 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11996 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11997 
    11998 program_source:267:44: note: expanded from macro '\ 
    11999 DECLARE_F_REDUCTION_BASE' 
    12000 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    12001 
    12002 program_source:221:40: note: expanded from macro '\ 
    12003 EXPOSE_FUNCTION_F_ARGS_1' 
    12004 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    12005 
    12006 program_source:164:9: note: expanded from macro '\ 
    12007 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12008 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12009 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12010 program_source:286:1: error: illegal string literal in 'asm' 
    12011 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    12012 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12013 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12014 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12015 
    12016 program_source:268:43: note: expanded from macro '\ 
    12017 DECLARE_F_REDUCTION_BASE' 
    12018 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    12019 
    12020 program_source:221:40: note: expanded from macro '\ 
    12021 EXPOSE_FUNCTION_F_ARGS_1' 
    12022 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    12023 
    12024 program_source:164:9: note: expanded from macro '\ 
    12025 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12026 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12027 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12028 program_source:287:1: error: illegal string literal in 'asm' 
    12029 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    12030 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12031 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12032 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12033 
    12034 program_source:263:44: note: expanded from macro '\ 
    12035 DECLARE_I_REDUCTION_BASE' 
    12036 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12037 
    12038 program_source:217:40: note: expanded from macro '\ 
    12039 EXPOSE_FUNCTION_I_ARGS_1' 
    12040 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12041 
    12042 program_source:164:9: note: expanded from macro '\ 
    12043 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12044 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12045 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12046 program_source:287:1: error: illegal string literal in 'asm' 
    12047 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    12048 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12049 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12050 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12051 
    12052 program_source:263:44: note: expanded from macro '\ 
    12053 DECLARE_I_REDUCTION_BASE' 
    12054 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12055 
    12056 program_source:218:51: note: expanded from macro '\ 
    12057 EXPOSE_FUNCTION_I_ARGS_1' 
    12058 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12059 
    12060 program_source:164:9: note: expanded from macro '\ 
    12061 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12062 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12063 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12064 program_source:287:1: error: illegal string literal in 'asm' 
    12065 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    12066 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12067 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12068 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12069 
    12070 program_source:264:43: note: expanded from macro '\ 
    12071 DECLARE_I_REDUCTION_BASE' 
    12072 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12073 
    12074 program_source:217:40: note: expanded from macro '\ 
    12075 EXPOSE_FUNCTION_I_ARGS_1' 
    12076 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12077 
    12078 program_source:164:9: note: expanded from macro '\ 
    12079 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12080 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12081 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12082 program_source:287:1: error: illegal string literal in 'asm' 
    12083 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    12084 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12085 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12086 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12087 
    12088 program_source:264:43: note: expanded from macro '\ 
    12089 DECLARE_I_REDUCTION_BASE' 
    12090 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12091 
    12092 program_source:218:51: note: expanded from macro '\ 
    12093 EXPOSE_FUNCTION_I_ARGS_1' 
    12094 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12095 
    12096 program_source:164:9: note: expanded from macro '\ 
    12097 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12098 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12099 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12100 program_source:287:1: error: illegal string literal in 'asm' 
    12101 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    12102 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12103 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12104 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12105 
    12106 program_source:267:44: note: expanded from macro '\ 
    12107 DECLARE_F_REDUCTION_BASE' 
    12108 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    12109 
    12110 program_source:221:40: note: expanded from macro '\ 
    12111 EXPOSE_FUNCTION_F_ARGS_1' 
    12112 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    12113 
    12114 program_source:164:9: note: expanded from macro '\ 
    12115 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12116 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12117 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12118 program_source:287:1: error: illegal string literal in 'asm' 
    12119 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    12120 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12121 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12122 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12123 
    12124 program_source:268:43: note: expanded from macro '\ 
    12125 DECLARE_F_REDUCTION_BASE' 
    12126 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    12127 
    12128 program_source:221:40: note: expanded from macro '\ 
    12129 EXPOSE_FUNCTION_F_ARGS_1' 
    12130 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    12131 
    12132 program_source:164:9: note: expanded from macro '\ 
    12133 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12134 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12135 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12136 program_source:288:1: error: illegal string literal in 'asm' 
    12137 DECLARE_I_REDUCTION_BASE(and) 
    12138 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12139 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12140 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12141 
    12142 program_source:217:40: note: expanded from macro '\ 
    12143 EXPOSE_FUNCTION_I_ARGS_1' 
    12144 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12145 
    12146 program_source:164:9: note: expanded from macro '\ 
    12147 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12148 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12149 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12150 program_source:288:1: error: illegal string literal in 'asm' 
    12151 DECLARE_I_REDUCTION_BASE(and) 
    12152 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12153 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12154 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12155 
    12156 program_source:218:51: note: expanded from macro '\ 
    12157 EXPOSE_FUNCTION_I_ARGS_1' 
    12158 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12159 
    12160 program_source:164:9: note: expanded from macro '\ 
    12161 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12162 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12163 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12164 program_source:288:1: error: illegal string literal in 'asm' 
    12165 DECLARE_I_REDUCTION_BASE(and) 
    12166 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12167 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12168 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12169 
    12170 program_source:217:40: note: expanded from macro '\ 
    12171 EXPOSE_FUNCTION_I_ARGS_1' 
    12172 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12173 
    12174 program_source:164:9: note: expanded from macro '\ 
    12175 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12176 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12177 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12178 program_source:288:1: error: illegal string literal in 'asm' 
    12179 DECLARE_I_REDUCTION_BASE(and) 
    12180 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12181 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12182 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12183 
    12184 program_source:218:51: note: expanded from macro '\ 
    12185 EXPOSE_FUNCTION_I_ARGS_1' 
    12186 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12187 
    12188 program_source:164:9: note: expanded from macro '\ 
    12189 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12190 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12191 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12192 program_source:289:1: error: illegal string literal in 'asm' 
    12193 DECLARE_I_REDUCTION_BASE(or) 
    12194 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12195 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12196 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12197 
    12198 program_source:217:40: note: expanded from macro '\ 
    12199 EXPOSE_FUNCTION_I_ARGS_1' 
    12200 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12201 
    12202 program_source:164:9: note: expanded from macro '\ 
    12203 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12204 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12205 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12206 program_source:289:1: error: illegal string literal in 'asm' 
    12207 DECLARE_I_REDUCTION_BASE(or) 
    12208 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12209 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12210 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12211 
    12212 program_source:218:51: note: expanded from macro '\ 
    12213 EXPOSE_FUNCTION_I_ARGS_1' 
    12214 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12215 
    12216 program_source:164:9: note: expanded from macro '\ 
    12217 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12218 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12219 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12220 program_source:289:1: error: illegal string literal in 'asm' 
    12221 DECLARE_I_REDUCTION_BASE(or) 
    12222 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12223 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12224 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12225 
    12226 program_source:217:40: note: expanded from macro '\ 
    12227 EXPOSE_FUNCTION_I_ARGS_1' 
    12228 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12229 
    12230 program_source:164:9: note: expanded from macro '\ 
    12231 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12232 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12233 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12234 program_source:289:1: error: illegal string literal in 'asm' 
    12235 DECLARE_I_REDUCTION_BASE(or) 
    12236 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12237 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12238 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12239 
    12240 program_source:218:51: note: expanded from macro '\ 
    12241 EXPOSE_FUNCTION_I_ARGS_1' 
    12242 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12243 
    12244 program_source:164:9: note: expanded from macro '\ 
    12245 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12246 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12247 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12248 program_source:290:1: error: illegal string literal in 'asm' 
    12249 DECLARE_I_REDUCTION_BASE(xor) 
    12250 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12251 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12252 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12253 
    12254 program_source:217:40: note: expanded from macro '\ 
    12255 EXPOSE_FUNCTION_I_ARGS_1' 
    12256 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12257 
    12258 program_source:164:9: note: expanded from macro '\ 
    12259 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12260 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12261 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12262 program_source:290:1: error: illegal string literal in 'asm' 
    12263 DECLARE_I_REDUCTION_BASE(xor) 
    12264 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12265 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12266 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12267 
    12268 program_source:218:51: note: expanded from macro '\ 
    12269 EXPOSE_FUNCTION_I_ARGS_1' 
    12270 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12271 
    12272 program_source:164:9: note: expanded from macro '\ 
    12273 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12274 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12275 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12276 program_source:290:1: error: illegal string literal in 'asm' 
    12277 DECLARE_I_REDUCTION_BASE(xor) 
    12278 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12279 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12280 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12281 
    12282 program_source:217:40: note: expanded from macro '\ 
    12283 EXPOSE_FUNCTION_I_ARGS_1' 
    12284 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12285 
    12286 program_source:164:9: note: expanded from macro '\ 
    12287 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12288 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12289 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12290 program_source:290:1: error: illegal string literal in 'asm' 
    12291 DECLARE_I_REDUCTION_BASE(xor) 
    12292 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12293 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12294 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12295 
    12296 program_source:218:51: note: expanded from macro '\ 
    12297 EXPOSE_FUNCTION_I_ARGS_1' 
    12298 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12299 
    12300 program_source:164:9: note: expanded from macro '\ 
    12301 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12302 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12303 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12304 program_source:292:1: error: illegal string literal in 'asm' 
    12305 DECLARE_SHUFFLE_BASE(broadcast) 
    12306 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12307 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12308 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12309 
    12310 program_source:224:38: note: expanded from macro '\ 
    12311 EXPOSE_FUNCTION_ARGS_2' 
    12312 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12313 
    12314 program_source:168:9: note: expanded from macro '\ 
    12315 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12316 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12317 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12318 program_source:292:1: error: illegal string literal in 'asm' 
    12319 DECLARE_SHUFFLE_BASE(broadcast) 
    12320 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12321 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12322 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12323 
    12324 program_source:225:51: note: expanded from macro '\ 
    12325 EXPOSE_FUNCTION_ARGS_2' 
    12326 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12327 
    12328 program_source:168:9: note: expanded from macro '\ 
    12329 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12330 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12331 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12332 program_source:292:1: error: illegal string literal in 'asm' 
    12333 DECLARE_SHUFFLE_BASE(broadcast) 
    12334 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12335 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12336 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12337 
    12338 program_source:226:52: note: expanded from macro '\ 
    12339 EXPOSE_FUNCTION_ARGS_2' 
    12340 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12341 
    12342 program_source:168:9: note: expanded from macro '\ 
    12343 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12344 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12345 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12346 program_source:292:1: error: illegal string literal in 'asm' 
    12347 DECLARE_SHUFFLE_BASE(broadcast) 
    12348 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12349 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12350 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12351 
    12352 program_source:224:38: note: expanded from macro '\ 
    12353 EXPOSE_FUNCTION_ARGS_2' 
    12354 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12355 
    12356 program_source:168:9: note: expanded from macro '\ 
    12357 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12358 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12359 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12360 program_source:292:1: error: illegal string literal in 'asm' 
    12361 DECLARE_SHUFFLE_BASE(broadcast) 
    12362 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12363 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12364 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12365 
    12366 program_source:225:51: note: expanded from macro '\ 
    12367 EXPOSE_FUNCTION_ARGS_2' 
    12368 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12369 
    12370 program_source:168:9: note: expanded from macro '\ 
    12371 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12372 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12373 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12374 program_source:292:1: error: illegal string literal in 'asm' 
    12375 DECLARE_SHUFFLE_BASE(broadcast) 
    12376 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12377 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12378 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12379 
    12380 program_source:226:52: note: expanded from macro '\ 
    12381 EXPOSE_FUNCTION_ARGS_2' 
    12382 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12383 
    12384 program_source:168:9: note: expanded from macro '\ 
    12385 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12386 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12387 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12388 program_source:293:1: error: illegal string literal in 'asm' 
    12389 DECLARE_REDUCTION_BASE(broadcast_first) 
    12390 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12391 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12392 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12393 
    12394 program_source:263:44: note: expanded from macro '\ 
    12395 DECLARE_I_REDUCTION_BASE' 
    12396 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12397 
    12398 program_source:217:40: note: expanded from macro '\ 
    12399 EXPOSE_FUNCTION_I_ARGS_1' 
    12400 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12401 
    12402 program_source:164:9: note: expanded from macro '\ 
    12403 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12404 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12405 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12406 program_source:293:1: error: illegal string literal in 'asm' 
    12407 DECLARE_REDUCTION_BASE(broadcast_first) 
    12408 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12409 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12410 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12411 
    12412 program_source:263:44: note: expanded from macro '\ 
    12413 DECLARE_I_REDUCTION_BASE' 
    12414 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12415 
    12416 program_source:218:51: note: expanded from macro '\ 
    12417 EXPOSE_FUNCTION_I_ARGS_1' 
    12418 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12419 
    12420 program_source:164:9: note: expanded from macro '\ 
    12421 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12422 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12423 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12424 program_source:293:1: error: illegal string literal in 'asm' 
    12425 DECLARE_REDUCTION_BASE(broadcast_first) 
    12426 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12427 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12428 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12429 
    12430 program_source:264:43: note: expanded from macro '\ 
    12431 DECLARE_I_REDUCTION_BASE' 
    12432 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12433 
    12434 program_source:217:40: note: expanded from macro '\ 
    12435 EXPOSE_FUNCTION_I_ARGS_1' 
    12436 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12437 
    12438 program_source:164:9: note: expanded from macro '\ 
    12439 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12440 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12441 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12442 program_source:293:1: error: illegal string literal in 'asm' 
    12443 DECLARE_REDUCTION_BASE(broadcast_first) 
    12444 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12445 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12446 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12447 
    12448 program_source:264:43: note: expanded from macro '\ 
    12449 DECLARE_I_REDUCTION_BASE' 
    12450 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12451 
    12452 program_source:218:51: note: expanded from macro '\ 
    12453 EXPOSE_FUNCTION_I_ARGS_1' 
    12454 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12455 
    12456 program_source:164:9: note: expanded from macro '\ 
    12457 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12458 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12459 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12460 program_source:293:1: error: illegal string literal in 'asm' 
    12461 DECLARE_REDUCTION_BASE(broadcast_first) 
    12462 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12463 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12464 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12465 
    12466 program_source:267:44: note: expanded from macro '\ 
    12467 DECLARE_F_REDUCTION_BASE' 
    12468 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    12469 
    12470 program_source:221:40: note: expanded from macro '\ 
    12471 EXPOSE_FUNCTION_F_ARGS_1' 
    12472 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    12473 
    12474 program_source:164:9: note: expanded from macro '\ 
    12475 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12476 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12477 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12478 program_source:293:1: error: illegal string literal in 'asm' 
    12479 DECLARE_REDUCTION_BASE(broadcast_first) 
    12480 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12481 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12482 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12483 
    12484 program_source:268:43: note: expanded from macro '\ 
    12485 DECLARE_F_REDUCTION_BASE' 
    12486 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    12487 
    12488 program_source:221:40: note: expanded from macro '\ 
    12489 EXPOSE_FUNCTION_F_ARGS_1' 
    12490 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    12491 
    12492 program_source:164:9: note: expanded from macro '\ 
    12493 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12494 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12495 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12496 program_source:295:1: error: illegal string literal in 'asm' 
    12497 DECLARE_SHUFFLE_BASE(shuffle) 
    12498 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12499 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12500 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12501 
    12502 program_source:224:38: note: expanded from macro '\ 
    12503 EXPOSE_FUNCTION_ARGS_2' 
    12504 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12505 
    12506 program_source:168:9: note: expanded from macro '\ 
    12507 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12508 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12509 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12510 program_source:295:1: error: illegal string literal in 'asm' 
    12511 DECLARE_SHUFFLE_BASE(shuffle) 
    12512 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12513 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12514 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12515 
    12516 program_source:225:51: note: expanded from macro '\ 
    12517 EXPOSE_FUNCTION_ARGS_2' 
    12518 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12519 
    12520 program_source:168:9: note: expanded from macro '\ 
    12521 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12522 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12523 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12524 program_source:295:1: error: illegal string literal in 'asm' 
    12525 DECLARE_SHUFFLE_BASE(shuffle) 
    12526 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12527 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12528 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12529 
    12530 program_source:226:52: note: expanded from macro '\ 
    12531 EXPOSE_FUNCTION_ARGS_2' 
    12532 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12533 
    12534 program_source:168:9: note: expanded from macro '\ 
    12535 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12536 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12537 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12538 program_source:295:1: error: illegal string literal in 'asm' 
    12539 DECLARE_SHUFFLE_BASE(shuffle) 
    12540 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12541 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12542 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12543 
    12544 program_source:224:38: note: expanded from macro '\ 
    12545 EXPOSE_FUNCTION_ARGS_2' 
    12546 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12547 
    12548 program_source:168:9: note: expanded from macro '\ 
    12549 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12550 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12551 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12552 program_source:295:1: error: illegal string literal in 'asm' 
    12553 DECLARE_SHUFFLE_BASE(shuffle) 
    12554 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12555 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12556 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12557 
    12558 program_source:225:51: note: expanded from macro '\ 
    12559 EXPOSE_FUNCTION_ARGS_2' 
    12560 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12561 
    12562 program_source:168:9: note: expanded from macro '\ 
    12563 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12564 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12565 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12566 program_source:295:1: error: illegal string literal in 'asm' 
    12567 DECLARE_SHUFFLE_BASE(shuffle) 
    12568 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12569 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12570 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12571 
    12572 program_source:226:52: note: expanded from macro '\ 
    12573 EXPOSE_FUNCTION_ARGS_2' 
    12574 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12575 
    12576 program_source:168:9: note: expanded from macro '\ 
    12577 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12578 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12579 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12580 program_source:296:1: error: illegal string literal in 'asm' 
    12581 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12582 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12583 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12584 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12585 
    12586 program_source:224:38: note: expanded from macro '\ 
    12587 EXPOSE_FUNCTION_ARGS_2' 
    12588 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12589 
    12590 program_source:168:9: note: expanded from macro '\ 
    12591 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12592 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12593 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12594 program_source:296:1: error: illegal string literal in 'asm' 
    12595 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12596 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12597 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12598 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12599 
    12600 program_source:225:51: note: expanded from macro '\ 
    12601 EXPOSE_FUNCTION_ARGS_2' 
    12602 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12603 
    12604 program_source:168:9: note: expanded from macro '\ 
    12605 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12606 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12607 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12608 program_source:296:1: error: illegal string literal in 'asm' 
    12609 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12610 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12611 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12612 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12613 
    12614 program_source:226:52: note: expanded from macro '\ 
    12615 EXPOSE_FUNCTION_ARGS_2' 
    12616 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12617 
    12618 program_source:168:9: note: expanded from macro '\ 
    12619 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12620 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12621 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12622 program_source:296:1: error: illegal string literal in 'asm' 
    12623 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12624 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12625 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12626 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12627 
    12628 program_source:224:38: note: expanded from macro '\ 
    12629 EXPOSE_FUNCTION_ARGS_2' 
    12630 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12631 
    12632 program_source:168:9: note: expanded from macro '\ 
    12633 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12634 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12635 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12636 program_source:296:1: error: illegal string literal in 'asm' 
    12637 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12638 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12639 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12640 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12641 
    12642 program_source:225:51: note: expanded from macro '\ 
    12643 EXPOSE_FUNCTION_ARGS_2' 
    12644 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12645 
    12646 program_source:168:9: note: expanded from macro '\ 
    12647 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12648 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12649 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12650 program_source:296:1: error: illegal string literal in 'asm' 
    12651 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12652 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12653 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12654 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12655 
    12656 program_source:226:52: note: expanded from macro '\ 
    12657 EXPOSE_FUNCTION_ARGS_2' 
    12658 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12659 
    12660 program_source:168:9: note: expanded from macro '\ 
    12661 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12662 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12663 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12664 program_source:297:1: error: illegal string literal in 'asm' 
    12665 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12666 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12667 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12668 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12669 
    12670 program_source:224:38: note: expanded from macro '\ 
    12671 EXPOSE_FUNCTION_ARGS_2' 
    12672 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12673 
    12674 program_source:168:9: note: expanded from macro '\ 
    12675 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12676 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12677 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12678 program_source:297:1: error: illegal string literal in 'asm' 
    12679 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12680 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12681 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12682 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12683 
    12684 program_source:225:51: note: expanded from macro '\ 
    12685 EXPOSE_FUNCTION_ARGS_2' 
    12686 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12687 
    12688 program_source:168:9: note: expanded from macro '\ 
    12689 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12690 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12691 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12692 program_source:297:1: error: illegal string literal in 'asm' 
    12693 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12694 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12695 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12696 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12697 
    12698 program_source:226:52: note: expanded from macro '\ 
    12699 EXPOSE_FUNCTION_ARGS_2' 
    12700 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12701 
    12702 program_source:168:9: note: expanded from macro '\ 
    12703 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12704 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12705 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12706 program_source:297:1: error: illegal string literal in 'asm' 
    12707 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12708 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12709 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12710 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12711 
    12712 program_source:224:38: note: expanded from macro '\ 
    12713 EXPOSE_FUNCTION_ARGS_2' 
    12714 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12715 
    12716 program_source:168:9: note: expanded from macro '\ 
    12717 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12718 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12719 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12720 program_source:297:1: error: illegal string literal in 'asm' 
    12721 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12722 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12723 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12724 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12725 
    12726 program_source:225:51: note: expanded from macro '\ 
    12727 EXPOSE_FUNCTION_ARGS_2' 
    12728 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12729 
    12730 program_source:168:9: note: expanded from macro '\ 
    12731 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12732 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12733 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12734 program_source:297:1: error: illegal string literal in 'asm' 
    12735 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12736 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12737 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12738 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12739 
    12740 program_source:226:52: note: expanded from macro '\ 
    12741 EXPOSE_FUNCTION_ARGS_2' 
    12742 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12743 
    12744 program_source:168:9: note: expanded from macro '\ 
    12745 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12746 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12747 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12748 program_source:298:1: error: illegal string literal in 'asm' 
    12749 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12750 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12751 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12752 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12753 
    12754 program_source:224:38: note: expanded from macro '\ 
    12755 EXPOSE_FUNCTION_ARGS_2' 
    12756 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12757 
    12758 program_source:168:9: note: expanded from macro '\ 
    12759 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12760 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12761 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12762 program_source:298:1: error: illegal string literal in 'asm' 
    12763 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12764 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12765 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12766 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12767 
    12768 program_source:225:51: note: expanded from macro '\ 
    12769 EXPOSE_FUNCTION_ARGS_2' 
    12770 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12771 
    12772 program_source:168:9: note: expanded from macro '\ 
    12773 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12774 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12775 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12776 program_source:298:1: error: illegal string literal in 'asm' 
    12777 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12778 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12779 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12780 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12781 
    12782 program_source:226:52: note: expanded from macro '\ 
    12783 EXPOSE_FUNCTION_ARGS_2' 
    12784 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12785 
    12786 program_source:168:9: note: expanded from macro '\ 
    12787 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12788 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12789 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12790 program_source:298:1: error: illegal string literal in 'asm' 
    12791 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12792 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12793 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12794 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12795 
    12796 program_source:224:38: note: expanded from macro '\ 
    12797 EXPOSE_FUNCTION_ARGS_2' 
    12798 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12799 
    12800 program_source:168:9: note: expanded from macro '\ 
    12801 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12802 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12803 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12804 program_source:298:1: error: illegal string literal in 'asm' 
    12805 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12806 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12807 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12808 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12809 
    12810 program_source:225:51: note: expanded from macro '\ 
    12811 EXPOSE_FUNCTION_ARGS_2' 
    12812 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12813 
    12814 program_source:168:9: note: expanded from macro '\ 
    12815 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12816 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12817 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12818 program_source:298:1: error: illegal string literal in 'asm' 
    12819 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12820 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12821 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12822 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12823 
    12824 program_source:226:52: note: expanded from macro '\ 
    12825 EXPOSE_FUNCTION_ARGS_2' 
    12826 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12827 
    12828 program_source:168:9: note: expanded from macro '\ 
    12829 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12830 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12831 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12832 program_source:299:1: error: illegal string literal in 'asm' 
    12833 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    12834 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12835 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12836 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12837 
    12838 program_source:224:38: note: expanded from macro '\ 
    12839 EXPOSE_FUNCTION_ARGS_2' 
    12840 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12841 
    12842 program_source:168:9: note: expanded from macro '\ 
    12843 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12844 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12845 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12846 program_source:299:1: error: illegal string literal in 'asm' 
    12847 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    12848 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12849 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12850 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12851 
    12852 program_source:225:51: note: expanded from macro '\ 
    12853 EXPOSE_FUNCTION_ARGS_2' 
    12854 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12855 
    12856 program_source:168:9: note: expanded from macro '\ 
    12857 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12858 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12859 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
     2246[deleted to fit within ticket limits]
     2247
    128602248program_source:299:1: error: illegal string literal in 'asm' 
    128612249DECLARE_SHUFFLE_BASE(shuffle_rotate_up)