Changes between Initial Version and Version 2 of Ticket #19003


Ignore:
Timestamp:
Oct 1, 2025, 9:27:14 AM (2 months ago)
Author:
Eric Pettersen
Comment:

Reported by Azadeh Shahsavar

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #19003

    • 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: OpenMMException: Error compiling kernel
  • Ticket #19003 – Description

    initial v2  
    25842584BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    25852585
    2586 <scratch space>:45:1: note: expanded from here 
    2587 simd_shuffle_rotate_down 
    2588 
    2589 program_source:327:1: error: implicit declaration of function
    2590 'simd_shuffle_rotate_down' is invalid in OpenCL 
    2591 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2592 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2593 
    2594 <scratch space>:45:1: note: expanded from here 
    2595 simd_shuffle_rotate_down 
    2596 
    2597 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    2598 is invalid in OpenCL 
    2599 DECLARE_SHUFFLE_UNIFORM(broadcast, broadcast) 
    2600 
    2601 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2602 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2603 
    2604 <scratch space>:47:1: note: expanded from here 
    2605 simd_broadcast 
    2606 
    2607 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    2608 is invalid in OpenCL 
    2609 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2610 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2611 
    2612 <scratch space>:47:1: note: expanded from here 
    2613 simd_broadcast 
    2614 
    2615 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    2616 is invalid in OpenCL 
    2617 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2618 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2619 
    2620 <scratch space>:47:1: note: expanded from here 
    2621 simd_broadcast 
    2622 
    2623 program_source:330:1: error: implicit declaration of function
    2624 'simd_broadcast_first' is invalid in OpenCL 
    2625 DECLARE_REDUCTION_UNIFORM(broadcast_first, broadcast_first) 
    2626 
    2627 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2628 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2629 
    2630 program_source:305:26: note: expanded from macro '\ 
    2631 DECLARE_I_REDUCTION_UNIFORM' 
    2632 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2633 
    2634 <scratch space>:49:1: note: expanded from here 
    2635 simd_broadcast_first 
    2636 
    2637 program_source:330:1: error: implicit declaration of function
    2638 'simd_broadcast_first' is invalid in OpenCL 
    2639 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2640 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2641 
    2642 program_source:305:26: note: expanded from macro '\ 
    2643 DECLARE_I_REDUCTION_UNIFORM' 
    2644 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2645 
    2646 <scratch space>:49:1: note: expanded from here 
    2647 simd_broadcast_first 
    2648 
    2649 program_source:330:1: error: implicit declaration of function
    2650 'simd_broadcast_first' is invalid in OpenCL 
    2651 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2652 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2653 
    2654 program_source:308:26: note: expanded from macro '\ 
    2655 DECLARE_F_REDUCTION_UNIFORM' 
    2656 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2657 
    2658 <scratch space>:51:1: note: expanded from here 
    2659 simd_broadcast_first 
    2660 
    2661 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    2662 invalid in OpenCL 
    2663 DECLARE_REDUCTION_NON_UNIFORM(sum, reduce_add) 
    2664 
    2665 program_source:338:60: note: expanded from macro
    2666 'DECLARE_REDUCTION_NON_UNIFORM' 
    2667 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2668 
    2669 program_source:333:26: note: expanded from macro '\ 
    2670 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2671 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2672 
    2673 <scratch space>:53:1: note: expanded from here 
    2674 simd_sum 
    2675 
    2676 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    2677 invalid in OpenCL 
    2678 program_source:338:60: note: expanded from macro
    2679 'DECLARE_REDUCTION_NON_UNIFORM' 
    2680 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2681 
    2682 program_source:333:26: note: expanded from macro '\ 
    2683 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2684 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2685 
    2686 <scratch space>:53:1: note: expanded from here 
    2687 simd_sum 
    2688 
    2689 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    2690 invalid in OpenCL 
    2691 program_source:339:54: note: expanded from macro
    2692 'DECLARE_REDUCTION_NON_UNIFORM' 
    2693 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2694 
    2695 program_source:336:26: note: expanded from macro '\ 
    2696 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2697 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2698 
    2699 <scratch space>:55:1: note: expanded from here 
    2700 simd_sum 
    2701 
    2702 program_source:346:1: error: implicit declaration of function
    2703 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    2704 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    2705 
    2706 program_source:338:60: note: expanded from macro
    2707 'DECLARE_REDUCTION_NON_UNIFORM' 
    2708 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2709 
    2710 program_source:333:26: note: expanded from macro '\ 
    2711 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2712 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2713 
    2714 <scratch space>:57:1: note: expanded from here 
    2715 simd_prefix_inclusive_sum 
    2716 
    2717 program_source:346:1: error: implicit declaration of function
    2718 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    2719 program_source:338:60: note: expanded from macro
    2720 'DECLARE_REDUCTION_NON_UNIFORM' 
    2721 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2722 
    2723 program_source:333:26: note: expanded from macro '\ 
    2724 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2725 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2726 
    2727 <scratch space>:57:1: note: expanded from here 
    2728 simd_prefix_inclusive_sum 
    2729 
    2730 program_source:346:1: error: implicit declaration of function
    2731 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    2732 program_source:339:54: note: expanded from macro
    2733 'DECLARE_REDUCTION_NON_UNIFORM' 
    2734 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2735 
    2736 program_source:336:26: note: expanded from macro '\ 
    2737 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2738 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2739 
    2740 <scratch space>:59:1: note: expanded from here 
    2741 simd_prefix_inclusive_sum 
    2742 
    2743 program_source:347:1: error: implicit declaration of function
    2744 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2745 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    2746 
    2747 program_source:338:60: note: expanded from macro
    2748 'DECLARE_REDUCTION_NON_UNIFORM' 
    2749 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2750 
    2751 program_source:333:26: note: expanded from macro '\ 
    2752 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2753 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2754 
    2755 <scratch space>:61:1: note: expanded from here 
    2756 simd_prefix_exclusive_sum 
    2757 
    2758 program_source:347:1: error: implicit declaration of function
    2759 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2760 program_source:338:60: note: expanded from macro
    2761 'DECLARE_REDUCTION_NON_UNIFORM' 
    2762 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2763 
    2764 program_source:333:26: note: expanded from macro '\ 
    2765 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2766 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2767 
    2768 <scratch space>:61:1: note: expanded from here 
    2769 simd_prefix_exclusive_sum 
    2770 
    2771 program_source:347:1: error: implicit declaration of function
    2772 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2773 program_source:339:54: note: expanded from macro
    2774 'DECLARE_REDUCTION_NON_UNIFORM' 
    2775 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2776 
    2777 program_source:336:26: note: expanded from macro '\ 
    2778 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2779 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2780 
    2781 <scratch space>:63:1: note: expanded from here 
    2782 simd_prefix_exclusive_sum 
    2783 
    2784 program_source:348:1: error: implicit declaration of function 'simd_min' is
    2785 invalid in OpenCL 
    2786 DECLARE_REDUCTION_NON_UNIFORM(min, reduce_min) 
    2787 
    2788 program_source:338:60: note: expanded from macro
    2789 'DECLARE_REDUCTION_NON_UNIFORM' 
    2790 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2791 
    2792 program_source:333:26: note: expanded from macro '\ 
    2793 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2794 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2795 
    2796 <scratch space>:65:1: note: expanded from here 
    2797 simd_min 
    2798 
    2799 program_source:348:1: error: implicit declaration of function 'simd_min' is
    2800 invalid in OpenCL 
    2801 program_source:338:60: note: expanded from macro
    2802 'DECLARE_REDUCTION_NON_UNIFORM' 
    2803 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2804 
    2805 program_source:333:26: note: expanded from macro '\ 
    2806 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2807 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2808 
    2809 <scratch space>:65:1: note: expanded from here 
    2810 simd_min 
    2811 
    2812 program_source:348:1: error: implicit declaration of function 'simd_min' is
    2813 invalid in OpenCL 
    2814 program_source:339:54: note: expanded from macro
    2815 'DECLARE_REDUCTION_NON_UNIFORM' 
    2816 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2817 
    2818 program_source:336:26: note: expanded from macro '\ 
    2819 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2820 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2821 
    2822 <scratch space>:67:1: note: expanded from here 
    2823 simd_min 
    2824 
    2825 program_source:349:1: error: implicit declaration of function 'simd_max' is
    2826 invalid in OpenCL 
    2827 DECLARE_REDUCTION_NON_UNIFORM(max, reduce_max) 
    2828 
    2829 program_source:338:60: note: expanded from macro
    2830 'DECLARE_REDUCTION_NON_UNIFORM' 
    2831 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2832 
    2833 program_source:333:26: note: expanded from macro '\ 
    2834 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2835 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2836 
    2837 <scratch space>:69:1: note: expanded from here 
    2838 simd_max 
    2839 
    2840 program_source:349:1: error: implicit declaration of function 'simd_max' is
    2841 invalid in OpenCL 
    2842 program_source:338:60: note: expanded from macro
    2843 'DECLARE_REDUCTION_NON_UNIFORM' 
    2844 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2845 
    2846 program_source:333:26: note: expanded from macro '\ 
    2847 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2848 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2849 
    2850 <scratch space>:69:1: note: expanded from here 
    2851 simd_max 
    2852 
    2853 program_source:349:1: error: implicit declaration of function 'simd_max' is
    2854 invalid in OpenCL 
    2855 program_source:339:54: note: expanded from macro
    2856 'DECLARE_REDUCTION_NON_UNIFORM' 
    2857 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2858 
    2859 program_source:336:26: note: expanded from macro '\ 
    2860 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2861 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2862 
    2863 <scratch space>:71:1: note: expanded from here 
    2864 simd_max 
    2865 
    2866 program_source:351:1: error: implicit declaration of function 'simd_product'
    2867 is invalid in OpenCL 
    2868 DECLARE_REDUCTION_NON_UNIFORM(product, reduce_mul) 
    2869 
    2870 program_source:338:60: note: expanded from macro
    2871 'DECLARE_REDUCTION_NON_UNIFORM' 
    2872 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2873 
    2874 program_source:333:26: note: expanded from macro '\ 
    2875 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2876 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2877 
    2878 <scratch space>:73:1: note: expanded from here 
    2879 simd_product 
    2880 
    2881 program_source:351:1: error: implicit declaration of function 'simd_product'
    2882 is invalid in OpenCL 
    2883 program_source:338:60: note: expanded from macro
    2884 'DECLARE_REDUCTION_NON_UNIFORM' 
    2885 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2886 
    2887 program_source:333:26: note: expanded from macro '\ 
    2888 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2889 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2890 
    2891 <scratch space>:73:1: note: expanded from here 
    2892 simd_product 
    2893 
    2894 program_source:351:1: error: implicit declaration of function 'simd_product'
    2895 is invalid in OpenCL 
    2896 program_source:339:54: note: expanded from macro
    2897 'DECLARE_REDUCTION_NON_UNIFORM' 
    2898 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2899 
    2900 program_source:336:26: note: expanded from macro '\ 
    2901 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2902 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2903 
    2904 <scratch space>:75:1: note: expanded from here 
    2905 simd_product 
    2906 
    2907 program_source:352:1: error: implicit declaration of function
    2908 'simd_prefix_inclusive_product' is invalid in OpenCL 
    2909 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_product, scan_inclusive_mul) 
    2910 
    2911 program_source:338:60: note: expanded from macro
    2912 'DECLARE_REDUCTION_NON_UNIFORM' 
    2913 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2914 
    2915 program_source:333:26: note: expanded from macro '\ 
    2916 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2917 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2918 
    2919 <scratch space>:77:1: note: expanded from here 
    2920 simd_prefix_inclusive_product 
    2921 
    2922 program_source:352:1: error: implicit declaration of function
    2923 'simd_prefix_inclusive_product' is invalid in OpenCL 
    2924 program_source:338:60: note: expanded from macro
    2925 'DECLARE_REDUCTION_NON_UNIFORM' 
    2926 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2927 
    2928 program_source:333:26: note: expanded from macro '\ 
    2929 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2930 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2931 
    2932 <scratch space>:77:1: note: expanded from here 
    2933 simd_prefix_inclusive_product 
    2934 
    2935 program_source:352:1: error: implicit declaration of function
    2936 'simd_prefix_inclusive_product' is invalid in OpenCL 
    2937 program_source:339:54: note: expanded from macro
    2938 'DECLARE_REDUCTION_NON_UNIFORM' 
    2939 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2940 
    2941 program_source:336:26: note: expanded from macro '\ 
    2942 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2943 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2944 
    2945 <scratch space>:79:1: note: expanded from here 
    2946 simd_prefix_inclusive_product 
    2947 
    2948 program_source:353:1: error: implicit declaration of function
    2949 'simd_prefix_exclusive_product' is invalid in OpenCL 
    2950 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_product, scan_exclusive_mul) 
    2951 
    2952 program_source:338:60: note: expanded from macro
    2953 'DECLARE_REDUCTION_NON_UNIFORM' 
    2954 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2955 
    2956 program_source:333:26: note: expanded from macro '\ 
    2957 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2958 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2959 
    2960 <scratch space>:81:1: note: expanded from here 
    2961 simd_prefix_exclusive_product 
    2962 
    2963 program_source:353:1: error: implicit declaration of function
    2964 'simd_prefix_exclusive_product' is invalid in OpenCL 
    2965 program_source:338:60: note: expanded from macro
    2966 'DECLARE_REDUCTION_NON_UNIFORM' 
    2967 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2968 
    2969 program_source:333:26: note: expanded from macro '\ 
    2970 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2971 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2972 
    2973 <scratch space>:81:1: note: expanded from here 
    2974 simd_prefix_exclusive_product 
    2975 
    2976 program_source:353:1: error: implicit declaration of function
    2977 'simd_prefix_exclusive_product' is invalid in OpenCL 
    2978 program_source:339:54: note: expanded from macro
    2979 'DECLARE_REDUCTION_NON_UNIFORM' 
    2980 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2981 
    2982 program_source:336:26: note: expanded from macro '\ 
    2983 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2984 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2985 
    2986 <scratch space>:83:1: note: expanded from here 
    2987 simd_prefix_exclusive_product 
    2988 
    2989 program_source:354:1: error: implicit declaration of function 'simd_and' is
    2990 invalid in OpenCL 
    2991 DECLARE_I_REDUCTION_NON_UNIFORM(and, reduce_and) 
    2992 
    2993 program_source:333:26: note: expanded from macro
    2994 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    2995 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2996 
    2997 <scratch space>:85:1: note: expanded from here 
    2998 simd_and 
    2999 
    3000 program_source:354:1: error: implicit declaration of function 'simd_and' is
    3001 invalid in OpenCL 
    3002 program_source:333:26: note: expanded from macro
    3003 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    3004 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    3005 
    3006 <scratch space>:85:1: note: expanded from here 
    3007 simd_and 
    3008 
    3009 program_source:355:1: error: implicit declaration of function 'simd_or' is
    3010 invalid in OpenCL 
    3011 DECLARE_I_REDUCTION_NON_UNIFORM(or, reduce_or) 
    3012 
    3013 program_source:333:26: note: expanded from macro
    3014 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    3015 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    3016 
    3017 <scratch space>:87:1: note: expanded from here 
    3018 simd_or 
    3019 
    3020 program_source:355:1: error: implicit declaration of function 'simd_or' is
    3021 invalid in OpenCL 
    3022 program_source:333:26: note: expanded from macro
    3023 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    3024 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    3025 
    3026 <scratch space>:87:1: note: expanded from here 
    3027 simd_or 
    3028 
    3029 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    3030 invalid in OpenCL 
    3031 DECLARE_I_REDUCTION_NON_UNIFORM(xor, reduce_xor) 
    3032 
    3033 program_source:333:26: note: expanded from macro
    3034 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    3035 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    3036 
    3037 <scratch space>:89:1: note: expanded from here 
    3038 simd_xor 
    3039 
    3040 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    3041 invalid in OpenCL 
    3042 program_source:333:26: note: expanded from macro
    3043 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    3044 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    3045 
    3046 <scratch space>:89:1: note: expanded from here 
    3047 simd_xor 
    3048 
    3049 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    3050 is invalid in OpenCL 
    3051 DECLARE_SHUFFLE_NON_UNIFORM(broadcast, broadcast) 
    3052 
    3053 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    3054 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    3055 
    3056 <scratch space>:91:1: note: expanded from here 
    3057 simd_broadcast 
    3058 
    3059 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    3060 is invalid in OpenCL 
    3061 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    3062 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    3063 
    3064 <scratch space>:91:1: note: expanded from here 
    3065 simd_broadcast 
    3066 
    3067 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    3068 is invalid in OpenCL 
    3069 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    3070 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    3071 
    3072 <scratch space>:91:1: note: expanded from here 
    3073 simd_broadcast 
    3074 
    3075 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    3076 invalid in OpenCL 
    3077 DECLARE_REDUCTION_CLUSTERED(sum, reduce_add) 
    3078 
    3079 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3080 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3081 
    3082 program_source:360:60: note: expanded from macro '\ 
    3083 DECLARE_I_REDUCTION_CLUSTERED' 
    3084 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3085 
    3086 program_source:245:71: note: expanded from macro '\ 
    3087 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3088 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3089 
    3090 program_source:196:12: note: expanded from macro '\ 
    3091 OVERLOAD_CLUSTERED_ARGS_1' 
    3092 return quad_##METAL_SUFFIX(x); \ 
    3093 
    3094 <scratch space>:94:1: note: expanded from here 
    3095 quad_sum 
    3096 
    3097 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    3098 invalid in OpenCL 
    3099 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3100 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3101 
    3102 program_source:360:60: note: expanded from macro '\ 
    3103 DECLARE_I_REDUCTION_CLUSTERED' 
    3104 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3105 
    3106 program_source:245:71: note: expanded from macro '\ 
    3107 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3108 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3109 
    3110 program_source:198:12: note: expanded from macro '\ 
    3111 OVERLOAD_CLUSTERED_ARGS_1' 
    3112 return simd_##METAL_SUFFIX(x); \ 
    3113 
    3114 <scratch space>:95:1: note: expanded from here 
    3115 simd_sum 
    3116 
    3117 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    3118 invalid in OpenCL 
    3119 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3120 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3121 
    3122 program_source:360:60: note: expanded from macro '\ 
    3123 DECLARE_I_REDUCTION_CLUSTERED' 
    3124 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3125 
    3126 program_source:246:59: note: expanded from macro '\ 
    3127 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3128 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3129 
    3130 program_source:196:12: note: expanded from macro '\ 
    3131 OVERLOAD_CLUSTERED_ARGS_1' 
    3132 return quad_##METAL_SUFFIX(x); \ 
    3133 
    3134 <scratch space>:96:1: note: expanded from here 
    3135 quad_sum 
    3136 
    3137 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    3138 invalid in OpenCL 
    3139 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3140 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3141 
    3142 program_source:360:60: note: expanded from macro '\ 
    3143 DECLARE_I_REDUCTION_CLUSTERED' 
    3144 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3145 
    3146 program_source:246:59: note: expanded from macro '\ 
    3147 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3148 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3149 
    3150 program_source:198:12: note: expanded from macro '\ 
    3151 OVERLOAD_CLUSTERED_ARGS_1' 
    3152 return simd_##METAL_SUFFIX(x); \ 
    3153 
    3154 <scratch space>:97:1: note: expanded from here 
    3155 simd_sum 
    3156 
    3157 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    3158 invalid in OpenCL 
    3159 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3160 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3161 
    3162 program_source:363:60: note: expanded from macro '\ 
    3163 DECLARE_F_REDUCTION_CLUSTERED' 
    3164 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3165 
    3166 program_source:249:71: note: expanded from macro '\ 
    3167 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3168 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3169 
    3170 program_source:196:12: note: expanded from macro '\ 
    3171 OVERLOAD_CLUSTERED_ARGS_1' 
    3172 return quad_##METAL_SUFFIX(x); \ 
    3173 
    3174 <scratch space>:99:1: note: expanded from here 
    3175 quad_sum 
    3176 
    3177 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    3178 invalid in OpenCL 
    3179 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3180 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3181 
    3182 program_source:363:60: note: expanded from macro '\ 
    3183 DECLARE_F_REDUCTION_CLUSTERED' 
    3184 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3185 
    3186 program_source:249:71: note: expanded from macro '\ 
    3187 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3188 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3189 
    3190 program_source:198:12: note: expanded from macro '\ 
    3191 OVERLOAD_CLUSTERED_ARGS_1' 
    3192 return simd_##METAL_SUFFIX(x); \ 
    3193 
    3194 <scratch space>:100:1: note: expanded from here 
    3195 simd_sum 
    3196 
    3197 program_source:392:1: error: implicit declaration of function 'quad_min' is
    3198 invalid in OpenCL 
    3199 DECLARE_REDUCTION_CLUSTERED(min, reduce_min) 
    3200 
    3201 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3202 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3203 
    3204 program_source:360:60: note: expanded from macro '\ 
    3205 DECLARE_I_REDUCTION_CLUSTERED' 
    3206 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3207 
    3208 program_source:245:71: note: expanded from macro '\ 
    3209 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3210 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3211 
    3212 program_source:196:12: note: expanded from macro '\ 
    3213 OVERLOAD_CLUSTERED_ARGS_1' 
    3214 return quad_##METAL_SUFFIX(x); \ 
    3215 
    3216 <scratch space>:102:1: note: expanded from here 
    3217 quad_min 
    3218 
    3219 program_source:392:1: error: implicit declaration of function 'simd_min' is
    3220 invalid in OpenCL 
    3221 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3222 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3223 
    3224 program_source:360:60: note: expanded from macro '\ 
    3225 DECLARE_I_REDUCTION_CLUSTERED' 
    3226 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3227 
    3228 program_source:245:71: note: expanded from macro '\ 
    3229 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3230 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3231 
    3232 program_source:198:12: note: expanded from macro '\ 
    3233 OVERLOAD_CLUSTERED_ARGS_1' 
    3234 return simd_##METAL_SUFFIX(x); \ 
    3235 
    3236 <scratch space>:103:1: note: expanded from here 
    3237 simd_min 
    3238 
    3239 program_source:392:1: error: implicit declaration of function 'quad_min' is
    3240 invalid in OpenCL 
    3241 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3242 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3243 
    3244 program_source:360:60: note: expanded from macro '\ 
    3245 DECLARE_I_REDUCTION_CLUSTERED' 
    3246 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3247 
    3248 program_source:246:59: note: expanded from macro '\ 
    3249 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3250 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3251 
    3252 program_source:196:12: note: expanded from macro '\ 
    3253 OVERLOAD_CLUSTERED_ARGS_1' 
    3254 return quad_##METAL_SUFFIX(x); \ 
    3255 
    3256 <scratch space>:104:1: note: expanded from here 
    3257 quad_min 
    3258 
    3259 program_source:392:1: error: implicit declaration of function 'simd_min' is
    3260 invalid in OpenCL 
    3261 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3262 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3263 
    3264 program_source:360:60: note: expanded from macro '\ 
    3265 DECLARE_I_REDUCTION_CLUSTERED' 
    3266 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3267 
    3268 program_source:246:59: note: expanded from macro '\ 
    3269 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3270 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3271 
    3272 program_source:198:12: note: expanded from macro '\ 
    3273 OVERLOAD_CLUSTERED_ARGS_1' 
    3274 return simd_##METAL_SUFFIX(x); \ 
    3275 
    3276 <scratch space>:105:1: note: expanded from here 
    3277 simd_min 
    3278 
    3279 program_source:392:1: error: implicit declaration of function 'quad_min' is
    3280 invalid in OpenCL 
    3281 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3282 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3283 
    3284 program_source:363:60: note: expanded from macro '\ 
    3285 DECLARE_F_REDUCTION_CLUSTERED' 
    3286 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3287 
    3288 program_source:249:71: note: expanded from macro '\ 
    3289 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3290 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3291 
    3292 program_source:196:12: note: expanded from macro '\ 
    3293 OVERLOAD_CLUSTERED_ARGS_1' 
    3294 return quad_##METAL_SUFFIX(x); \ 
    3295 
    3296 <scratch space>:107:1: note: expanded from here 
    3297 quad_min 
    3298 
    3299 program_source:392:1: error: implicit declaration of function 'simd_min' is
    3300 invalid in OpenCL 
    3301 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3302 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3303 
    3304 program_source:363:60: note: expanded from macro '\ 
    3305 DECLARE_F_REDUCTION_CLUSTERED' 
    3306 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3307 
    3308 program_source:249:71: note: expanded from macro '\ 
    3309 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3310 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3311 
    3312 program_source:198:12: note: expanded from macro '\ 
    3313 OVERLOAD_CLUSTERED_ARGS_1' 
    3314 return simd_##METAL_SUFFIX(x); \ 
    3315 
    3316 <scratch space>:108:1: note: expanded from here 
    3317 simd_min 
    3318 
    3319 program_source:393:1: error: implicit declaration of function 'quad_max' is
    3320 invalid in OpenCL 
    3321 DECLARE_REDUCTION_CLUSTERED(max, reduce_max) 
    3322 
    3323 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3324 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3325 
    3326 program_source:360:60: note: expanded from macro '\ 
    3327 DECLARE_I_REDUCTION_CLUSTERED' 
    3328 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3329 
    3330 program_source:245:71: note: expanded from macro '\ 
    3331 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3332 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3333 
    3334 program_source:196:12: note: expanded from macro '\ 
    3335 OVERLOAD_CLUSTERED_ARGS_1' 
    3336 return quad_##METAL_SUFFIX(x); \ 
    3337 
    3338 <scratch space>:110:1: note: expanded from here 
    3339 quad_max 
    3340 
    3341 program_source:393:1: error: implicit declaration of function 'simd_max' is
    3342 invalid in OpenCL 
    3343 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3344 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3345 
    3346 program_source:360:60: note: expanded from macro '\ 
    3347 DECLARE_I_REDUCTION_CLUSTERED' 
    3348 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3349 
    3350 program_source:245:71: note: expanded from macro '\ 
    3351 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3352 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3353 
    3354 program_source:198:12: note: expanded from macro '\ 
    3355 OVERLOAD_CLUSTERED_ARGS_1' 
    3356 return simd_##METAL_SUFFIX(x); \ 
    3357 
    3358 <scratch space>:111:1: note: expanded from here 
    3359 simd_max 
    3360 
    3361 program_source:393:1: error: implicit declaration of function 'quad_max' is
    3362 invalid in OpenCL 
    3363 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3364 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3365 
    3366 program_source:360:60: note: expanded from macro '\ 
    3367 DECLARE_I_REDUCTION_CLUSTERED' 
    3368 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3369 
    3370 program_source:246:59: note: expanded from macro '\ 
    3371 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3372 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3373 
    3374 program_source:196:12: note: expanded from macro '\ 
    3375 OVERLOAD_CLUSTERED_ARGS_1' 
    3376 return quad_##METAL_SUFFIX(x); \ 
    3377 
    3378 <scratch space>:112:1: note: expanded from here 
    3379 quad_max 
    3380 
    3381 program_source:393:1: error: implicit declaration of function 'simd_max' is
    3382 invalid in OpenCL 
    3383 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3384 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3385 
    3386 program_source:360:60: note: expanded from macro '\ 
    3387 DECLARE_I_REDUCTION_CLUSTERED' 
    3388 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3389 
    3390 program_source:246:59: note: expanded from macro '\ 
    3391 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3392 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3393 
    3394 program_source:198:12: note: expanded from macro '\ 
    3395 OVERLOAD_CLUSTERED_ARGS_1' 
    3396 return simd_##METAL_SUFFIX(x); \ 
    3397 
    3398 <scratch space>:113:1: note: expanded from here 
    3399 simd_max 
    3400 
    3401 program_source:393:1: error: implicit declaration of function 'quad_max' is
    3402 invalid in OpenCL 
    3403 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3404 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3405 
    3406 program_source:363:60: note: expanded from macro '\ 
    3407 DECLARE_F_REDUCTION_CLUSTERED' 
    3408 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3409 
    3410 program_source:249:71: note: expanded from macro '\ 
    3411 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3412 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3413 
    3414 program_source:196:12: note: expanded from macro '\ 
    3415 OVERLOAD_CLUSTERED_ARGS_1' 
    3416 return quad_##METAL_SUFFIX(x); \ 
    3417 
    3418 <scratch space>:115:1: note: expanded from here 
    3419 quad_max 
    3420 
    3421 program_source:393:1: error: implicit declaration of function 'simd_max' is
    3422 invalid in OpenCL 
    3423 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3424 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3425 
    3426 program_source:363:60: note: expanded from macro '\ 
    3427 DECLARE_F_REDUCTION_CLUSTERED' 
    3428 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3429 
    3430 program_source:249:71: note: expanded from macro '\ 
    3431 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3432 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3433 
    3434 program_source:198:12: note: expanded from macro '\ 
    3435 OVERLOAD_CLUSTERED_ARGS_1' 
    3436 return simd_##METAL_SUFFIX(x); \ 
    3437 
    3438 <scratch space>:116:1: note: expanded from here 
    3439 simd_max 
    3440 
    3441 program_source:395:1: error: implicit declaration of function 'quad_product'
    3442 is invalid in OpenCL 
    3443 DECLARE_REDUCTION_CLUSTERED(product, reduce_mul) 
    3444 
    3445 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3446 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3447 
    3448 program_source:360:60: note: expanded from macro '\ 
    3449 DECLARE_I_REDUCTION_CLUSTERED' 
    3450 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3451 
    3452 program_source:245:71: note: expanded from macro '\ 
    3453 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3454 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3455 
    3456 program_source:196:12: note: expanded from macro '\ 
    3457 OVERLOAD_CLUSTERED_ARGS_1' 
    3458 return quad_##METAL_SUFFIX(x); \ 
    3459 
    3460 <scratch space>:118:1: note: expanded from here 
    3461 quad_product 
    3462 
    3463 program_source:395:1: error: implicit declaration of function 'simd_product'
    3464 is invalid in OpenCL 
    3465 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3466 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3467 
    3468 program_source:360:60: note: expanded from macro '\ 
    3469 DECLARE_I_REDUCTION_CLUSTERED' 
    3470 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3471 
    3472 program_source:245:71: note: expanded from macro '\ 
    3473 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3474 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3475 
    3476 program_source:198:12: note: expanded from macro '\ 
    3477 OVERLOAD_CLUSTERED_ARGS_1' 
    3478 return simd_##METAL_SUFFIX(x); \ 
    3479 
    3480 <scratch space>:119:1: note: expanded from here 
    3481 simd_product 
    3482 
    3483 program_source:395:1: error: implicit declaration of function 'quad_product'
    3484 is invalid in OpenCL 
    3485 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3486 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3487 
    3488 program_source:360:60: note: expanded from macro '\ 
    3489 DECLARE_I_REDUCTION_CLUSTERED' 
    3490 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3491 
    3492 program_source:246:59: note: expanded from macro '\ 
    3493 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3494 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3495 
    3496 program_source:196:12: note: expanded from macro '\ 
    3497 OVERLOAD_CLUSTERED_ARGS_1' 
    3498 return quad_##METAL_SUFFIX(x); \ 
    3499 
    3500 <scratch space>:120:1: note: expanded from here 
    3501 quad_product 
    3502 
    3503 program_source:395:1: error: implicit declaration of function 'simd_product'
    3504 is invalid in OpenCL 
    3505 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3506 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3507 
    3508 program_source:360:60: note: expanded from macro '\ 
    3509 DECLARE_I_REDUCTION_CLUSTERED' 
    3510 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3511 
    3512 program_source:246:59: note: expanded from macro '\ 
    3513 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3514 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3515 
    3516 program_source:198:12: note: expanded from macro '\ 
    3517 OVERLOAD_CLUSTERED_ARGS_1' 
    3518 return simd_##METAL_SUFFIX(x); \ 
    3519 
    3520 <scratch space>:121:1: note: expanded from here 
    3521 simd_product 
    3522 
    3523 program_source:395:1: error: implicit declaration of function 'quad_product'
    3524 is invalid in OpenCL 
    3525 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3526 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3527 
    3528 program_source:363:60: note: expanded from macro '\ 
    3529 DECLARE_F_REDUCTION_CLUSTERED' 
    3530 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3531 
    3532 program_source:249:71: note: expanded from macro '\ 
    3533 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3534 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3535 
    3536 program_source:196:12: note: expanded from macro '\ 
    3537 OVERLOAD_CLUSTERED_ARGS_1' 
    3538 return quad_##METAL_SUFFIX(x); \ 
    3539 
    3540 <scratch space>:123:1: note: expanded from here 
    3541 quad_product 
    3542 
    3543 program_source:395:1: error: implicit declaration of function 'simd_product'
    3544 is invalid in OpenCL 
    3545 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3546 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3547 
    3548 program_source:363:60: note: expanded from macro '\ 
    3549 DECLARE_F_REDUCTION_CLUSTERED' 
    3550 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3551 
    3552 program_source:249:71: note: expanded from macro '\ 
    3553 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3554 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3555 
    3556 program_source:198:12: note: expanded from macro '\ 
    3557 OVERLOAD_CLUSTERED_ARGS_1' 
    3558 return simd_##METAL_SUFFIX(x); \ 
    3559 
    3560 <scratch space>:124:1: note: expanded from here 
    3561 simd_product 
    3562 
    3563 program_source:396:1: error: implicit declaration of function 'quad_and' is
    3564 invalid in OpenCL 
    3565 DECLARE_I_REDUCTION_CLUSTERED(and, reduce_and) 
    3566 
    3567 program_source:360:60: note: expanded from macro
    3568 'DECLARE_I_REDUCTION_CLUSTERED' 
    3569 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3570 
    3571 program_source:245:71: note: expanded from macro '\ 
    3572 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3573 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3574 
    3575 program_source:196:12: note: expanded from macro '\ 
    3576 OVERLOAD_CLUSTERED_ARGS_1' 
    3577 return quad_##METAL_SUFFIX(x); \ 
    3578 
    3579 <scratch space>:126:1: note: expanded from here 
    3580 quad_and 
    3581 
    3582 program_source:396:1: error: implicit declaration of function 'simd_and' is
    3583 invalid in OpenCL 
    3584 program_source:360:60: note: expanded from macro
    3585 'DECLARE_I_REDUCTION_CLUSTERED' 
    3586 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3587 
    3588 program_source:245:71: note: expanded from macro '\ 
    3589 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3590 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3591 
    3592 program_source:198:12: note: expanded from macro '\ 
    3593 OVERLOAD_CLUSTERED_ARGS_1' 
    3594 return simd_##METAL_SUFFIX(x); \ 
    3595 
    3596 <scratch space>:127:1: note: expanded from here 
    3597 simd_and 
    3598 
    3599 program_source:396:1: error: implicit declaration of function 'quad_and' is
    3600 invalid in OpenCL 
    3601 program_source:360:60: note: expanded from macro
    3602 'DECLARE_I_REDUCTION_CLUSTERED' 
    3603 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3604 
    3605 program_source:246:59: note: expanded from macro '\ 
    3606 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3607 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3608 
    3609 program_source:196:12: note: expanded from macro '\ 
    3610 OVERLOAD_CLUSTERED_ARGS_1' 
    3611 return quad_##METAL_SUFFIX(x); \ 
    3612 
    3613 <scratch space>:128:1: note: expanded from here 
    3614 quad_and 
    3615 
    3616 program_source:396:1: error: implicit declaration of function 'simd_and' is
    3617 invalid in OpenCL 
    3618 program_source:360:60: note: expanded from macro
    3619 'DECLARE_I_REDUCTION_CLUSTERED' 
    3620 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3621 
    3622 program_source:246:59: note: expanded from macro '\ 
    3623 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3624 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3625 
    3626 program_source:198:12: note: expanded from macro '\ 
    3627 OVERLOAD_CLUSTERED_ARGS_1' 
    3628 return simd_##METAL_SUFFIX(x); \ 
    3629 
    3630 <scratch space>:129:1: note: expanded from here 
    3631 simd_and 
    3632 
    3633 program_source:397:1: error: implicit declaration of function 'quad_or' is
    3634 invalid in OpenCL 
    3635 DECLARE_I_REDUCTION_CLUSTERED(or, reduce_or) 
    3636 
    3637 program_source:360:60: note: expanded from macro
    3638 'DECLARE_I_REDUCTION_CLUSTERED' 
    3639 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3640 
    3641 program_source:245:71: note: expanded from macro '\ 
    3642 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3643 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3644 
    3645 program_source:196:12: note: expanded from macro '\ 
    3646 OVERLOAD_CLUSTERED_ARGS_1' 
    3647 return quad_##METAL_SUFFIX(x); \ 
    3648 
    3649 <scratch space>:131:1: note: expanded from here 
    3650 quad_or 
    3651 
    3652 program_source:397:1: error: implicit declaration of function 'simd_or' is
    3653 invalid in OpenCL 
    3654 program_source:360:60: note: expanded from macro
    3655 'DECLARE_I_REDUCTION_CLUSTERED' 
    3656 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3657 
    3658 program_source:245:71: note: expanded from macro '\ 
    3659 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3660 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3661 
    3662 program_source:198:12: note: expanded from macro '\ 
    3663 OVERLOAD_CLUSTERED_ARGS_1' 
    3664 return simd_##METAL_SUFFIX(x); \ 
    3665 
    3666 <scratch space>:132:1: note: expanded from here 
    3667 simd_or 
    3668 
    3669 program_source:397:1: error: implicit declaration of function 'quad_or' is
    3670 invalid in OpenCL 
    3671 program_source:360:60: note: expanded from macro
    3672 'DECLARE_I_REDUCTION_CLUSTERED' 
    3673 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3674 
    3675 program_source:246:59: note: expanded from macro '\ 
    3676 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3677 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3678 
    3679 program_source:196:12: note: expanded from macro '\ 
    3680 OVERLOAD_CLUSTERED_ARGS_1' 
    3681 return quad_##METAL_SUFFIX(x); \ 
    3682 
    3683 <scratch space>:133:1: note: expanded from here 
    3684 quad_or 
    3685 
    3686 program_source:397:1: error: implicit declaration of function 'simd_or' is
    3687 invalid in OpenCL 
    3688 program_source:360:60: note: expanded from macro
    3689 'DECLARE_I_REDUCTION_CLUSTERED' 
    3690 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3691 
    3692 program_source:246:59: note: expanded from macro '\ 
    3693 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3694 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3695 
    3696 program_source:198:12: note: expanded from macro '\ 
    3697 OVERLOAD_CLUSTERED_ARGS_1' 
    3698 return simd_##METAL_SUFFIX(x); \ 
    3699 
    3700 <scratch space>:134:1: note: expanded from here 
    3701 simd_or 
    3702 
    3703 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    3704 invalid in OpenCL 
    3705 DECLARE_I_REDUCTION_CLUSTERED(xor, reduce_xor) 
    3706 
    3707 program_source:360:60: note: expanded from macro
    3708 'DECLARE_I_REDUCTION_CLUSTERED' 
    3709 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3710 
    3711 program_source:245:71: note: expanded from macro '\ 
    3712 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3713 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3714 
    3715 program_source:196:12: note: expanded from macro '\ 
    3716 OVERLOAD_CLUSTERED_ARGS_1' 
    3717 return quad_##METAL_SUFFIX(x); \ 
    3718 
    3719 <scratch space>:136:1: note: expanded from here 
    3720 quad_xor 
    3721 
    3722 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    3723 invalid in OpenCL 
    3724 program_source:360:60: note: expanded from macro
    3725 'DECLARE_I_REDUCTION_CLUSTERED' 
    3726 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3727 
    3728 program_source:245:71: note: expanded from macro '\ 
    3729 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3730 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3731 
    3732 program_source:198:12: note: expanded from macro '\ 
    3733 OVERLOAD_CLUSTERED_ARGS_1' 
    3734 return simd_##METAL_SUFFIX(x); \ 
    3735 
    3736 <scratch space>:137:1: note: expanded from here 
    3737 simd_xor 
    3738 
    3739 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    3740 invalid in OpenCL 
    3741 program_source:360:60: note: expanded from macro
    3742 'DECLARE_I_REDUCTION_CLUSTERED' 
    3743 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3744 
    3745 program_source:246:59: note: expanded from macro '\ 
    3746 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3747 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3748 
    3749 program_source:196:12: note: expanded from macro '\ 
    3750 OVERLOAD_CLUSTERED_ARGS_1' 
    3751 return quad_##METAL_SUFFIX(x); \ 
    3752 
    3753 <scratch space>:138:1: note: expanded from here 
    3754 quad_xor 
    3755 
    3756 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    3757 invalid in OpenCL 
    3758 program_source:360:60: note: expanded from macro
    3759 'DECLARE_I_REDUCTION_CLUSTERED' 
    3760 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3761 
    3762 program_source:246:59: note: expanded from macro '\ 
    3763 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3764 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3765 
    3766 program_source:198:12: note: expanded from macro '\ 
    3767 OVERLOAD_CLUSTERED_ARGS_1' 
    3768 return simd_##METAL_SUFFIX(x); \ 
    3769 
    3770 <scratch space>:139:1: note: expanded from here 
    3771 simd_xor 
    3772 
    3773 program_source:399:1: error: implicit declaration of function 'simd_and' is
    3774 invalid in OpenCL 
    3775 DECLARE_B_REDUCTION_CLUSTERED(and) 
    3776 
    3777 program_source:369:8: note: expanded from macro
    3778 'DECLARE_B_REDUCTION_CLUSTERED' 
    3779 return simd_##OP(select(0, 1, predicate != 0)); \ 
    3780 
    3781 <scratch space>:141:1: note: expanded from here 
    3782 simd_and 
    3783 
    3784 program_source:399:1: error: implicit declaration of function 'quad_and' is
    3785 invalid in OpenCL 
    3786 program_source:378:12: note: expanded from macro
    3787 'DECLARE_B_REDUCTION_CLUSTERED' 
    3788 return quad_##OP(x); \ 
    3789 
    3790 <scratch space>:143:1: note: expanded from here 
    3791 quad_and 
    3792 
    3793 program_source:399:1: error: implicit declaration of function 'simd_and' is
    3794 invalid in OpenCL 
    3795 program_source:380:12: note: expanded from macro
    3796 'DECLARE_B_REDUCTION_CLUSTERED' 
    3797 return simd_##OP(x); \ 
    3798 
    3799 <scratch space>:144:1: note: expanded from here 
    3800 simd_and 
    3801 
    3802 program_source:400:1: error: implicit declaration of function 'simd_or' is
    3803 invalid in OpenCL 
    3804 DECLARE_B_REDUCTION_CLUSTERED(or) 
    3805 
    3806 program_source:369:8: note: expanded from macro
    3807 'DECLARE_B_REDUCTION_CLUSTERED' 
    3808 return simd_##OP(select(0, 1, predicate != 0)); \ 
    3809 
    3810 <scratch space>:146:1: note: expanded from here 
    3811 simd_or 
    3812 
    3813 program_source:400:1: error: implicit declaration of function 'quad_or' is
    3814 invalid in OpenCL 
    3815 program_source:378:12: note: expanded from macro
    3816 'DECLARE_B_REDUCTION_CLUSTERED' 
    3817 return quad_##OP(x); \ 
    3818 
    3819 <scratch space>:148:1: note: expanded from here 
    3820 quad_or 
    3821 
    3822 program_source:400:1: error: implicit declaration of function 'simd_or' is
    3823 invalid in OpenCL 
    3824 program_source:380:12: note: expanded from macro
    3825 'DECLARE_B_REDUCTION_CLUSTERED' 
    3826 return simd_##OP(x); \ 
    3827 
    3828 <scratch space>:149:1: note: expanded from here 
    3829 simd_or 
    3830 
    3831 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    3832 invalid in OpenCL 
    3833 DECLARE_B_REDUCTION_CLUSTERED(xor) 
    3834 
    3835 program_source:369:8: note: expanded from macro
    3836 'DECLARE_B_REDUCTION_CLUSTERED' 
    3837 return simd_##OP(select(0, 1, predicate != 0)); \ 
    3838 
    3839 <scratch space>:151:1: note: expanded from here 
    3840 simd_xor 
    3841 
    3842 program_source:401:1: error: implicit declaration of function 'quad_xor' is
    3843 invalid in OpenCL 
    3844 program_source:378:12: note: expanded from macro
    3845 'DECLARE_B_REDUCTION_CLUSTERED' 
    3846 return quad_##OP(x); \ 
    3847 
    3848 <scratch space>:153:1: note: expanded from here 
    3849 quad_xor 
    3850 
    3851 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    3852 invalid in OpenCL 
    3853 program_source:380:12: note: expanded from macro
    3854 'DECLARE_B_REDUCTION_CLUSTERED' 
    3855 return simd_##OP(x); \ 
    3856 
    3857 <scratch space>:154:1: note: expanded from here 
    3858 simd_xor 
    3859 
    3860 program_source:403:1: error: implicit declaration of function
    3861 'quad_shuffle_rotate_down' is invalid in OpenCL 
    3862 DECLARE_SHUFFLE_CLUSTERED(shuffle_rotate_down, rotate) 
    3863 
    3864 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3865 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3866 
    3867 program_source:252:69: note: expanded from macro '\ 
    3868 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3869 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    3870 
    3871 program_source:208:12: note: expanded from macro '\ 
    3872 OVERLOAD_CLUSTERED_ARGS_2' 
    3873 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    3874 
    3875 <scratch space>:156:1: note: expanded from here 
    3876 quad_shuffle_rotate_down 
    3877 
    3878 program_source:403:1: error: implicit declaration of function
    3879 'simd_shuffle_rotate_down' is invalid in OpenCL 
    3880 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3881 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3882 
    3883 program_source:252:69: note: expanded from macro '\ 
    3884 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3885 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    3886 
    3887 program_source:210:12: note: expanded from macro '\ 
    3888 OVERLOAD_CLUSTERED_ARGS_2' 
    3889 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    3890 
    3891 <scratch space>:157:1: note: expanded from here 
    3892 simd_shuffle_rotate_down 
    3893 
    3894 program_source:403:1: error: implicit declaration of function
    3895 'quad_shuffle_rotate_down' is invalid in OpenCL 
    3896 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3897 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3898 
    3899 program_source:253:59: note: expanded from macro '\ 
    3900 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3901 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3902 
    3903 program_source:208:12: note: expanded from macro '\ 
    3904 OVERLOAD_CLUSTERED_ARGS_2' 
    3905 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    3906 
    3907 <scratch space>:158:1: note: expanded from here 
    3908 quad_shuffle_rotate_down 
    3909 
    3910 program_source:403:1: error: implicit declaration of function
    3911 'simd_shuffle_rotate_down' is invalid in OpenCL 
    3912 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3913 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3914 
    3915 program_source:253:59: note: expanded from macro '\ 
    3916 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3917 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3918 
    3919 program_source:210:12: note: expanded from macro '\ 
    3920 OVERLOAD_CLUSTERED_ARGS_2' 
    3921 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    3922 
    3923 <scratch space>:159:1: note: expanded from here 
    3924 simd_shuffle_rotate_down 
    3925 
    3926 program_source:403:1: error: implicit declaration of function
    3927 'quad_shuffle_rotate_down' is invalid in OpenCL 
    3928 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3929 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3930 
    3931 program_source:254:60: note: expanded from macro '\ 
    3932 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3933 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    3934 
    3935 program_source:208:12: note: expanded from macro '\ 
    3936 OVERLOAD_CLUSTERED_ARGS_2' 
    3937 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    3938 
    3939 <scratch space>:160:1: note: expanded from here 
    3940 quad_shuffle_rotate_down 
    3941 
    3942 program_source:403:1: error: implicit declaration of function
    3943 'simd_shuffle_rotate_down' is invalid in OpenCL 
    3944 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3945 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3946 
    3947 program_source:254:60: note: expanded from macro '\ 
    3948 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3949 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    3950 
    3951 program_source:210:12: note: expanded from macro '\ 
    3952 OVERLOAD_CLUSTERED_ARGS_2' 
    3953 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    3954 
    3955 <scratch space>:161:1: note: expanded from here 
    3956 simd_shuffle_rotate_down 
    3957 
    3958 program_source:409:1: error: illegal string literal in 'asm' 
    3959 EXPOSE_BALLOT(simd_is_first, , bool, ) 
    3960 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3961 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3962 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3963 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3964 program_source:410:1: error: illegal string literal in 'asm' 
    3965 EXPOSE_BALLOT(simd_all, bool expr, bool, ) 
    3966 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3967 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3968 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3969 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3970 program_source:411:1: error: illegal string literal in 'asm' 
    3971 EXPOSE_BALLOT(simd_any, bool expr, bool, ) 
    3972 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3973 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3974 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3975 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3976 program_source:412:1: error: illegal string literal in 'asm' 
    3977 EXPOSE_BALLOT(simd_ballot, bool expr, ulong, .i64) 
    3978 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3979 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3980 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3981 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3982 program_source:413:1: error: illegal string literal in 'asm' 
    3983 EXPOSE_BALLOT(simd_active_threads_mask, , ulong, .i64) 
    3984 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3985 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3986 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3987 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3988 program_source:415:1: error: illegal string literal in 'asm' 
    3989 EXPOSE_BALLOT(quad_is_first, , bool, ) 
    3990 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3991 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3992 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3993 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3994 program_source:416:1: error: illegal string literal in 'asm' 
    3995 EXPOSE_BALLOT(quad_all, bool expr, bool, ) 
    3996 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3997 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3998 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3999 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4000 program_source:417:1: error: illegal string literal in 'asm' 
    4001 EXPOSE_BALLOT(quad_any, bool expr, bool, ) 
    4002 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4003 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    4004 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    4005 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4006 program_source:418:1: error: illegal string literal in 'asm' 
    4007 EXPOSE_BALLOT(quad_ballot, bool expr, ushort, ) 
    4008 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4009 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    4010 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    4011 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4012 program_source:419:1: error: illegal string literal in 'asm' 
    4013 EXPOSE_BALLOT(quad_active_threads_mask, , ushort, ) 
    4014 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4015 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    4016 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    4017 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4018 program_source:422:23: error: implicit declaration of function 'simd_is_first'
    4019 is invalid in OpenCL 
    4020 return select(0, 1, simd_is_first()); 
    4021 
    4022 program_source:426:23: error: implicit declaration of function 'simd_all' is
    4023 invalid in OpenCL 
    4024 return select(0, 1, simd_all(predicate != 0)); 
    4025 
    4026 program_source:430:23: error: implicit declaration of function 'simd_any' is
    4027 invalid in OpenCL 
    4028 return select(0, 1, simd_any(predicate != 0)); 
    4029 
    4030 program_source:434:23: error: implicit declaration of function 'simd_all' is
    4031 invalid in OpenCL 
    4032 return select(0, 1, simd_all(predicate != 0)); 
    4033 
    4034 program_source:438:23: error: implicit declaration of function 'simd_any' is
    4035 invalid in OpenCL 
    4036 return select(0, 1, simd_any(predicate != 0)); 
    4037 
    4038 program_source:443:14: error: implicit declaration of function 'simd_ballot'
    4039 is invalid in OpenCL 
    4040 output.x = simd_ballot(predicate != 0); 
    4041 
    4042 program_source:480:9: error: illegal string literal in 'asm' 
    4043 __asm("air.simdgroup.barrier"); 
    4044 ^~~~~~~~~~~~~~~~~~~~~~~ 
    4045 program_source:487:3: error: implicit declaration of function
    4046 '__metal_simdgroup_barrier' is invalid in OpenCL 
    4047 __metal_simdgroup_barrier(flags, 1); 
    4048 
    4049 program_source:487:3: note: did you mean 'simdgroup_barrier'? 
    4050 program_source:483:6: note: 'simdgroup_barrier' declared here 
    4051 void simdgroup_barrier(int flags) { 
    4052 
    4053 program_source:681:9: error: implicit declaration of function 'simd_is_first'
    4054 is invalid in OpenCL 
    4055 if (simd_is_first()) { 
    4056 
    4057 program_source:673:45: warning: comparison of integers of different signs:
    4058 '__private unsigned int' and '__private int' [-Wsign-compare] 
    4059 for (unsigned int index = thread; index < bufferSize; index +=
    4060 get_local_size(0)) 
    4061 ~~~~~ ^ ~~~~~~~~~~ 
    4062 program_source:685:45: warning: comparison of integers of different signs:
    4063 'unsigned int' and '__private int' [-Wsign-compare] 
    4064 if (thread%(32*2) == 0 && thread+32 < workGroupSize) 
    4065 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    4066 program_source:689:45: warning: comparison of integers of different signs:
    4067 'unsigned int' and '__private int' [-Wsign-compare] 
    4068 if (thread%(64*2) == 0 && thread+64 < workGroupSize) 
    4069 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    4070 program_source:693:47: warning: comparison of integers of different signs:
    4071 'unsigned int' and '__private int' [-Wsign-compare] 
    4072 if (thread%(128*2) == 0 && thread+128 < workGroupSize) 
    4073 ~~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    4074  
    4075  
    4076 openmm.OpenMMException: Error compiling kernel: program_source:279:1: error:
    4077 illegal string literal in 'asm' 
    4078 DECLARE_REDUCTION_BASE(sum) 
    4079 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4080 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4081 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4082 
    4083 program_source:263:44: note: expanded from macro '\ 
    4084 DECLARE_I_REDUCTION_BASE' 
    4085 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4086 
    4087 program_source:217:40: note: expanded from macro '\ 
    4088 EXPOSE_FUNCTION_I_ARGS_1' 
    4089 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4090 
    4091 program_source:164:9: note: expanded from macro '\ 
    4092 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4093 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4094 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4095 program_source:279:1: error: illegal string literal in 'asm' 
    4096 DECLARE_REDUCTION_BASE(sum) 
    4097 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4098 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4099 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4100 
    4101 program_source:263:44: note: expanded from macro '\ 
    4102 DECLARE_I_REDUCTION_BASE' 
    4103 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4104 
    4105 program_source:218:51: note: expanded from macro '\ 
    4106 EXPOSE_FUNCTION_I_ARGS_1' 
    4107 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4108 
    4109 program_source:164:9: note: expanded from macro '\ 
    4110 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4111 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4112 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4113 program_source:279:1: error: illegal string literal in 'asm' 
    4114 DECLARE_REDUCTION_BASE(sum) 
    4115 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4116 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4117 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4118 
    4119 program_source:264:43: note: expanded from macro '\ 
    4120 DECLARE_I_REDUCTION_BASE' 
    4121 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4122 
    4123 program_source:217:40: note: expanded from macro '\ 
    4124 EXPOSE_FUNCTION_I_ARGS_1' 
    4125 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4126 
    4127 program_source:164:9: note: expanded from macro '\ 
    4128 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4129 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4130 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4131 program_source:279:1: error: illegal string literal in 'asm' 
    4132 DECLARE_REDUCTION_BASE(sum) 
    4133 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4134 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4135 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4136 
    4137 program_source:264:43: note: expanded from macro '\ 
    4138 DECLARE_I_REDUCTION_BASE' 
    4139 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4140 
    4141 program_source:218:51: note: expanded from macro '\ 
    4142 EXPOSE_FUNCTION_I_ARGS_1' 
    4143 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4144 
    4145 program_source:164:9: note: expanded from macro '\ 
    4146 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4147 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4148 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4149 program_source:279:1: error: illegal string literal in 'asm' 
    4150 DECLARE_REDUCTION_BASE(sum) 
    4151 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4152 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4153 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4154 
    4155 program_source:267:44: note: expanded from macro '\ 
    4156 DECLARE_F_REDUCTION_BASE' 
    4157 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4158 
    4159 program_source:221:40: note: expanded from macro '\ 
    4160 EXPOSE_FUNCTION_F_ARGS_1' 
    4161 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4162 
    4163 program_source:164:9: note: expanded from macro '\ 
    4164 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4165 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4166 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4167 program_source:279:1: error: illegal string literal in 'asm' 
    4168 DECLARE_REDUCTION_BASE(sum) 
    4169 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4170 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4171 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4172 
    4173 program_source:268:43: note: expanded from macro '\ 
    4174 DECLARE_F_REDUCTION_BASE' 
    4175 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4176 
    4177 program_source:221:40: note: expanded from macro '\ 
    4178 EXPOSE_FUNCTION_F_ARGS_1' 
    4179 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4180 
    4181 program_source:164:9: note: expanded from macro '\ 
    4182 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4183 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4184 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4185 program_source:280:1: error: illegal string literal in 'asm' 
    4186 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    4187 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4188 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4189 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4190 
    4191 program_source:263:44: note: expanded from macro '\ 
    4192 DECLARE_I_REDUCTION_BASE' 
    4193 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4194 
    4195 program_source:217:40: note: expanded from macro '\ 
    4196 EXPOSE_FUNCTION_I_ARGS_1' 
    4197 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4198 
    4199 program_source:164:9: note: expanded from macro '\ 
    4200 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4201 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4202 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4203 program_source:280:1: error: illegal string literal in 'asm' 
    4204 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    4205 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4206 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4207 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4208 
    4209 program_source:263:44: note: expanded from macro '\ 
    4210 DECLARE_I_REDUCTION_BASE' 
    4211 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4212 
    4213 program_source:218:51: note: expanded from macro '\ 
    4214 EXPOSE_FUNCTION_I_ARGS_1' 
    4215 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4216 
    4217 program_source:164:9: note: expanded from macro '\ 
    4218 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4219 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4220 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4221 program_source:280:1: error: illegal string literal in 'asm' 
    4222 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    4223 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4224 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4225 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4226 
    4227 program_source:264:43: note: expanded from macro '\ 
    4228 DECLARE_I_REDUCTION_BASE' 
    4229 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4230 
    4231 program_source:217:40: note: expanded from macro '\ 
    4232 EXPOSE_FUNCTION_I_ARGS_1' 
    4233 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4234 
    4235 program_source:164:9: note: expanded from macro '\ 
    4236 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4237 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4238 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4239 program_source:280:1: error: illegal string literal in 'asm' 
    4240 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    4241 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4242 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4243 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4244 
    4245 program_source:264:43: note: expanded from macro '\ 
    4246 DECLARE_I_REDUCTION_BASE' 
    4247 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4248 
    4249 program_source:218:51: note: expanded from macro '\ 
    4250 EXPOSE_FUNCTION_I_ARGS_1' 
    4251 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4252 
    4253 program_source:164:9: note: expanded from macro '\ 
    4254 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4255 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4256 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4257 program_source:280:1: error: illegal string literal in 'asm' 
    4258 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    4259 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4260 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4261 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4262 
    4263 program_source:267:44: note: expanded from macro '\ 
    4264 DECLARE_F_REDUCTION_BASE' 
    4265 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4266 
    4267 program_source:221:40: note: expanded from macro '\ 
    4268 EXPOSE_FUNCTION_F_ARGS_1' 
    4269 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4270 
    4271 program_source:164:9: note: expanded from macro '\ 
    4272 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4273 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4274 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4275 program_source:280:1: error: illegal string literal in 'asm' 
    4276 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    4277 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4278 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4279 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4280 
    4281 program_source:268:43: note: expanded from macro '\ 
    4282 DECLARE_F_REDUCTION_BASE' 
    4283 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4284 
    4285 program_source:221:40: note: expanded from macro '\ 
    4286 EXPOSE_FUNCTION_F_ARGS_1' 
    4287 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4288 
    4289 program_source:164:9: note: expanded from macro '\ 
    4290 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4291 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4292 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4293 program_source:281:1: error: illegal string literal in 'asm' 
    4294 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4295 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4296 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4297 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4298 
    4299 program_source:263:44: note: expanded from macro '\ 
    4300 DECLARE_I_REDUCTION_BASE' 
    4301 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4302 
    4303 program_source:217:40: note: expanded from macro '\ 
    4304 EXPOSE_FUNCTION_I_ARGS_1' 
    4305 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4306 
    4307 program_source:164:9: note: expanded from macro '\ 
    4308 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4309 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4310 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4311 program_source:281:1: error: illegal string literal in 'asm' 
    4312 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4313 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4314 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4315 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4316 
    4317 program_source:263:44: note: expanded from macro '\ 
    4318 DECLARE_I_REDUCTION_BASE' 
    4319 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4320 
    4321 program_source:218:51: note: expanded from macro '\ 
    4322 EXPOSE_FUNCTION_I_ARGS_1' 
    4323 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4324 
    4325 program_source:164:9: note: expanded from macro '\ 
    4326 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4327 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4328 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4329 program_source:281:1: error: illegal string literal in 'asm' 
    4330 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4331 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4332 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4333 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4334 
    4335 program_source:264:43: note: expanded from macro '\ 
    4336 DECLARE_I_REDUCTION_BASE' 
    4337 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4338 
    4339 program_source:217:40: note: expanded from macro '\ 
    4340 EXPOSE_FUNCTION_I_ARGS_1' 
    4341 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4342 
    4343 program_source:164:9: note: expanded from macro '\ 
    4344 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4345 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4346 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4347 program_source:281:1: error: illegal string literal in 'asm' 
    4348 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4349 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4350 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4351 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4352 
    4353 program_source:264:43: note: expanded from macro '\ 
    4354 DECLARE_I_REDUCTION_BASE' 
    4355 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4356 
    4357 program_source:218:51: note: expanded from macro '\ 
    4358 EXPOSE_FUNCTION_I_ARGS_1' 
    4359 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4360 
    4361 program_source:164:9: note: expanded from macro '\ 
    4362 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4363 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4364 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4365 program_source:281:1: error: illegal string literal in 'asm' 
    4366 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4367 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4368 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4369 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4370 
    4371 program_source:267:44: note: expanded from macro '\ 
    4372 DECLARE_F_REDUCTION_BASE' 
    4373 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4374 
    4375 program_source:221:40: note: expanded from macro '\ 
    4376 EXPOSE_FUNCTION_F_ARGS_1' 
    4377 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4378 
    4379 program_source:164:9: note: expanded from macro '\ 
    4380 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4381 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4382 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4383 program_source:281:1: error: illegal string literal in 'asm' 
    4384 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4385 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4386 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4387 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4388 
    4389 program_source:268:43: note: expanded from macro '\ 
    4390 DECLARE_F_REDUCTION_BASE' 
    4391 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4392 
    4393 program_source:221:40: note: expanded from macro '\ 
    4394 EXPOSE_FUNCTION_F_ARGS_1' 
    4395 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4396 
    4397 program_source:164:9: note: expanded from macro '\ 
    4398 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4399 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4400 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4401 program_source:282:1: error: illegal string literal in 'asm' 
    4402 DECLARE_REDUCTION_BASE(min) 
    4403 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4404 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4405 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4406 
    4407 program_source:263:44: note: expanded from macro '\ 
    4408 DECLARE_I_REDUCTION_BASE' 
    4409 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4410 
    4411 program_source:217:40: note: expanded from macro '\ 
    4412 EXPOSE_FUNCTION_I_ARGS_1' 
    4413 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4414 
    4415 program_source:164:9: note: expanded from macro '\ 
    4416 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4417 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4418 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4419 program_source:282:1: error: illegal string literal in 'asm' 
    4420 DECLARE_REDUCTION_BASE(min) 
    4421 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4422 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4423 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4424 
    4425 program_source:263:44: note: expanded from macro '\ 
    4426 DECLARE_I_REDUCTION_BASE' 
    4427 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4428 
    4429 program_source:218:51: note: expanded from macro '\ 
    4430 EXPOSE_FUNCTION_I_ARGS_1' 
    4431 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4432 
    4433 program_source:164:9: note: expanded from macro '\ 
    4434 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4435 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4436 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4437 program_source:282:1: error: illegal string literal in 'asm' 
    4438 DECLARE_REDUCTION_BASE(min) 
    4439 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4440 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4441 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4442 
    4443 program_source:264:43: note: expanded from macro '\ 
    4444 DECLARE_I_REDUCTION_BASE' 
    4445 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4446 
    4447 program_source:217:40: note: expanded from macro '\ 
    4448 EXPOSE_FUNCTION_I_ARGS_1' 
    4449 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4450 
    4451 program_source:164:9: note: expanded from macro '\ 
    4452 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4453 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4454 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4455 program_source:282:1: error: illegal string literal in 'asm' 
    4456 DECLARE_REDUCTION_BASE(min) 
    4457 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4458 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4459 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4460 
    4461 program_source:264:43: note: expanded from macro '\ 
    4462 DECLARE_I_REDUCTION_BASE' 
    4463 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4464 
    4465 program_source:218:51: note: expanded from macro '\ 
    4466 EXPOSE_FUNCTION_I_ARGS_1' 
    4467 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4468 
    4469 program_source:164:9: note: expanded from macro '\ 
    4470 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4471 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4472 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4473 program_source:282:1: error: illegal string literal in 'asm' 
    4474 DECLARE_REDUCTION_BASE(min) 
    4475 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4476 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4477 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4478 
    4479 program_source:267:44: note: expanded from macro '\ 
    4480 DECLARE_F_REDUCTION_BASE' 
    4481 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4482 
    4483 program_source:221:40: note: expanded from macro '\ 
    4484 EXPOSE_FUNCTION_F_ARGS_1' 
    4485 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4486 
    4487 program_source:164:9: note: expanded from macro '\ 
    4488 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4489 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4490 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4491 program_source:282:1: error: illegal string literal in 'asm' 
    4492 DECLARE_REDUCTION_BASE(min) 
    4493 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4494 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4495 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4496 
    4497 program_source:268:43: note: expanded from macro '\ 
    4498 DECLARE_F_REDUCTION_BASE' 
    4499 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4500 
    4501 program_source:221:40: note: expanded from macro '\ 
    4502 EXPOSE_FUNCTION_F_ARGS_1' 
    4503 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4504 
    4505 program_source:164:9: note: expanded from macro '\ 
    4506 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4507 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4508 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4509 program_source:283:1: error: illegal string literal in 'asm' 
    4510 DECLARE_REDUCTION_BASE(max) 
    4511 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4512 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4513 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4514 
    4515 program_source:263:44: note: expanded from macro '\ 
    4516 DECLARE_I_REDUCTION_BASE' 
    4517 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4518 
    4519 program_source:217:40: note: expanded from macro '\ 
    4520 EXPOSE_FUNCTION_I_ARGS_1' 
    4521 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4522 
    4523 program_source:164:9: note: expanded from macro '\ 
    4524 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4525 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4526 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4527 program_source:283:1: error: illegal string literal in 'asm' 
    4528 DECLARE_REDUCTION_BASE(max) 
    4529 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4530 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4531 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4532 
    4533 program_source:263:44: note: expanded from macro '\ 
    4534 DECLARE_I_REDUCTION_BASE' 
    4535 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4536 
    4537 program_source:218:51: note: expanded from macro '\ 
    4538 EXPOSE_FUNCTION_I_ARGS_1' 
    4539 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4540 
    4541 program_source:164:9: note: expanded from macro '\ 
    4542 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4543 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4544 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4545 program_source:283:1: error: illegal string literal in 'asm' 
    4546 DECLARE_REDUCTION_BASE(max) 
    4547 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4548 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4549 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4550 
    4551 program_source:264:43: note: expanded from macro '\ 
    4552 DECLARE_I_REDUCTION_BASE' 
    4553 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4554 
    4555 program_source:217:40: note: expanded from macro '\ 
    4556 EXPOSE_FUNCTION_I_ARGS_1' 
    4557 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4558 
    4559 program_source:164:9: note: expanded from macro '\ 
    4560 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4561 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4562 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4563 program_source:283:1: error: illegal string literal in 'asm' 
    4564 DECLARE_REDUCTION_BASE(max) 
    4565 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4566 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4567 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4568 
    4569 program_source:264:43: note: expanded from macro '\ 
    4570 DECLARE_I_REDUCTION_BASE' 
    4571 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4572 
    4573 program_source:218:51: note: expanded from macro '\ 
    4574 EXPOSE_FUNCTION_I_ARGS_1' 
    4575 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4576 
    4577 program_source:164:9: note: expanded from macro '\ 
    4578 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4579 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4580 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4581 program_source:283:1: error: illegal string literal in 'asm' 
    4582 DECLARE_REDUCTION_BASE(max) 
    4583 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4584 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4585 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4586 
    4587 program_source:267:44: note: expanded from macro '\ 
    4588 DECLARE_F_REDUCTION_BASE' 
    4589 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4590 
    4591 program_source:221:40: note: expanded from macro '\ 
    4592 EXPOSE_FUNCTION_F_ARGS_1' 
    4593 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4594 
    4595 program_source:164:9: note: expanded from macro '\ 
    4596 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4597 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4598 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4599 program_source:283:1: error: illegal string literal in 'asm' 
    4600 DECLARE_REDUCTION_BASE(max) 
    4601 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4602 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4603 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4604 
    4605 program_source:268:43: note: expanded from macro '\ 
    4606 DECLARE_F_REDUCTION_BASE' 
    4607 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4608 
    4609 program_source:221:40: note: expanded from macro '\ 
    4610 EXPOSE_FUNCTION_F_ARGS_1' 
    4611 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4612 
    4613 program_source:164:9: note: expanded from macro '\ 
    4614 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4615 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4616 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4617 program_source:285:1: error: illegal string literal in 'asm' 
    4618 DECLARE_REDUCTION_BASE(product) 
    4619 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4620 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4621 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4622 
    4623 program_source:263:44: note: expanded from macro '\ 
    4624 DECLARE_I_REDUCTION_BASE' 
    4625 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4626 
    4627 program_source:217:40: note: expanded from macro '\ 
    4628 EXPOSE_FUNCTION_I_ARGS_1' 
    4629 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4630 
    4631 program_source:164:9: note: expanded from macro '\ 
    4632 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4633 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4634 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4635 program_source:285:1: error: illegal string literal in 'asm' 
    4636 DECLARE_REDUCTION_BASE(product) 
    4637 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4638 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4639 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4640 
    4641 program_source:263:44: note: expanded from macro '\ 
    4642 DECLARE_I_REDUCTION_BASE' 
    4643 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4644 
    4645 program_source:218:51: note: expanded from macro '\ 
    4646 EXPOSE_FUNCTION_I_ARGS_1' 
    4647 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4648 
    4649 program_source:164:9: note: expanded from macro '\ 
    4650 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4651 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4652 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4653 program_source:285:1: error: illegal string literal in 'asm' 
    4654 DECLARE_REDUCTION_BASE(product) 
    4655 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4656 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4657 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4658 
    4659 program_source:264:43: note: expanded from macro '\ 
    4660 DECLARE_I_REDUCTION_BASE' 
    4661 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4662 
    4663 program_source:217:40: note: expanded from macro '\ 
    4664 EXPOSE_FUNCTION_I_ARGS_1' 
    4665 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4666 
    4667 program_source:164:9: note: expanded from macro '\ 
    4668 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4669 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4670 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4671 program_source:285:1: error: illegal string literal in 'asm' 
    4672 DECLARE_REDUCTION_BASE(product) 
    4673 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4674 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4675 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4676 
    4677 program_source:264:43: note: expanded from macro '\ 
    4678 DECLARE_I_REDUCTION_BASE' 
    4679 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4680 
    4681 program_source:218:51: note: expanded from macro '\ 
    4682 EXPOSE_FUNCTION_I_ARGS_1' 
    4683 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4684 
    4685 program_source:164:9: note: expanded from macro '\ 
    4686 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4687 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4688 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4689 program_source:285:1: error: illegal string literal in 'asm' 
    4690 DECLARE_REDUCTION_BASE(product) 
    4691 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4692 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4693 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4694 
    4695 program_source:267:44: note: expanded from macro '\ 
    4696 DECLARE_F_REDUCTION_BASE' 
    4697 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4698 
    4699 program_source:221:40: note: expanded from macro '\ 
    4700 EXPOSE_FUNCTION_F_ARGS_1' 
    4701 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4702 
    4703 program_source:164:9: note: expanded from macro '\ 
    4704 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4705 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4706 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4707 program_source:285:1: error: illegal string literal in 'asm' 
    4708 DECLARE_REDUCTION_BASE(product) 
    4709 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4710 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4711 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4712 
    4713 program_source:268:43: note: expanded from macro '\ 
    4714 DECLARE_F_REDUCTION_BASE' 
    4715 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4716 
    4717 program_source:221:40: note: expanded from macro '\ 
    4718 EXPOSE_FUNCTION_F_ARGS_1' 
    4719 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4720 
    4721 program_source:164:9: note: expanded from macro '\ 
    4722 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4723 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4724 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4725 program_source:286:1: error: illegal string literal in 'asm' 
    4726 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4727 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4728 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4729 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4730 
    4731 program_source:263:44: note: expanded from macro '\ 
    4732 DECLARE_I_REDUCTION_BASE' 
    4733 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4734 
    4735 program_source:217:40: note: expanded from macro '\ 
    4736 EXPOSE_FUNCTION_I_ARGS_1' 
    4737 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4738 
    4739 program_source:164:9: note: expanded from macro '\ 
    4740 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4741 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4742 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4743 program_source:286:1: error: illegal string literal in 'asm' 
    4744 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4745 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4746 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4747 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4748 
    4749 program_source:263:44: note: expanded from macro '\ 
    4750 DECLARE_I_REDUCTION_BASE' 
    4751 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4752 
    4753 program_source:218:51: note: expanded from macro '\ 
    4754 EXPOSE_FUNCTION_I_ARGS_1' 
    4755 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4756 
    4757 program_source:164:9: note: expanded from macro '\ 
    4758 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4759 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4760 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4761 program_source:286:1: error: illegal string literal in 'asm' 
    4762 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4763 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4764 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4765 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4766 
    4767 program_source:264:43: note: expanded from macro '\ 
    4768 DECLARE_I_REDUCTION_BASE' 
    4769 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4770 
    4771 program_source:217:40: note: expanded from macro '\ 
    4772 EXPOSE_FUNCTION_I_ARGS_1' 
    4773 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4774 
    4775 program_source:164:9: note: expanded from macro '\ 
    4776 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4777 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4778 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4779 program_source:286:1: error: illegal string literal in 'asm' 
    4780 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4781 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4782 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4783 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4784 
    4785 program_source:264:43: note: expanded from macro '\ 
    4786 DECLARE_I_REDUCTION_BASE' 
    4787 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4788 
    4789 program_source:218:51: note: expanded from macro '\ 
    4790 EXPOSE_FUNCTION_I_ARGS_1' 
    4791 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4792 
    4793 program_source:164:9: note: expanded from macro '\ 
    4794 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4795 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4796 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4797 program_source:286:1: error: illegal string literal in 'asm' 
    4798 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4799 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4800 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4801 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4802 
    4803 program_source:267:44: note: expanded from macro '\ 
    4804 DECLARE_F_REDUCTION_BASE' 
    4805 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4806 
    4807 program_source:221:40: note: expanded from macro '\ 
    4808 EXPOSE_FUNCTION_F_ARGS_1' 
    4809 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4810 
    4811 program_source:164:9: note: expanded from macro '\ 
    4812 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4813 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4814 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4815 program_source:286:1: error: illegal string literal in 'asm' 
    4816 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4817 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4818 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4819 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4820 
    4821 program_source:268:43: note: expanded from macro '\ 
    4822 DECLARE_F_REDUCTION_BASE' 
    4823 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4824 
    4825 program_source:221:40: note: expanded from macro '\ 
    4826 EXPOSE_FUNCTION_F_ARGS_1' 
    4827 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4828 
    4829 program_source:164:9: note: expanded from macro '\ 
    4830 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4831 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4832 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4833 program_source:287:1: error: illegal string literal in 'asm' 
    4834 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4835 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4836 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4837 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4838 
    4839 program_source:263:44: note: expanded from macro '\ 
    4840 DECLARE_I_REDUCTION_BASE' 
    4841 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4842 
    4843 program_source:217:40: note: expanded from macro '\ 
    4844 EXPOSE_FUNCTION_I_ARGS_1' 
    4845 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4846 
    4847 program_source:164:9: note: expanded from macro '\ 
    4848 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4849 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4850 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4851 program_source:287:1: error: illegal string literal in 'asm' 
    4852 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4853 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4854 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4855 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4856 
    4857 program_source:263:44: note: expanded from macro '\ 
    4858 DECLARE_I_REDUCTION_BASE' 
    4859 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4860 
    4861 program_source:218:51: note: expanded from macro '\ 
    4862 EXPOSE_FUNCTION_I_ARGS_1' 
    4863 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4864 
    4865 program_source:164:9: note: expanded from macro '\ 
    4866 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4867 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4868 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4869 program_source:287:1: error: illegal string literal in 'asm' 
    4870 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4871 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4872 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4873 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4874 
    4875 program_source:264:43: note: expanded from macro '\ 
    4876 DECLARE_I_REDUCTION_BASE' 
    4877 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4878 
    4879 program_source:217:40: note: expanded from macro '\ 
    4880 EXPOSE_FUNCTION_I_ARGS_1' 
    4881 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4882 
    4883 program_source:164:9: note: expanded from macro '\ 
    4884 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4885 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4886 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4887 program_source:287:1: error: illegal string literal in 'asm' 
    4888 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4889 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4890 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4891 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4892 
    4893 program_source:264:43: note: expanded from macro '\ 
    4894 DECLARE_I_REDUCTION_BASE' 
    4895 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4896 
    4897 program_source:218:51: note: expanded from macro '\ 
    4898 EXPOSE_FUNCTION_I_ARGS_1' 
    4899 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4900 
    4901 program_source:164:9: note: expanded from macro '\ 
    4902 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4903 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4904 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4905 program_source:287:1: error: illegal string literal in 'asm' 
    4906 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4907 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4908 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4909 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4910 
    4911 program_source:267:44: note: expanded from macro '\ 
    4912 DECLARE_F_REDUCTION_BASE' 
    4913 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4914 
    4915 program_source:221:40: note: expanded from macro '\ 
    4916 EXPOSE_FUNCTION_F_ARGS_1' 
    4917 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4918 
    4919 program_source:164:9: note: expanded from macro '\ 
    4920 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4921 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4922 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4923 program_source:287:1: error: illegal string literal in 'asm' 
    4924 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4925 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4926 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4927 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4928 
    4929 program_source:268:43: note: expanded from macro '\ 
    4930 DECLARE_F_REDUCTION_BASE' 
    4931 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4932 
    4933 program_source:221:40: note: expanded from macro '\ 
    4934 EXPOSE_FUNCTION_F_ARGS_1' 
    4935 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4936 
    4937 program_source:164:9: note: expanded from macro '\ 
    4938 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4939 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4940 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4941 program_source:288:1: error: illegal string literal in 'asm' 
    4942 DECLARE_I_REDUCTION_BASE(and) 
    4943 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4944 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4945 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4946 
    4947 program_source:217:40: note: expanded from macro '\ 
    4948 EXPOSE_FUNCTION_I_ARGS_1' 
    4949 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4950 
    4951 program_source:164:9: note: expanded from macro '\ 
    4952 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4953 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4954 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4955 program_source:288:1: error: illegal string literal in 'asm' 
    4956 DECLARE_I_REDUCTION_BASE(and) 
    4957 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4958 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4959 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4960 
    4961 program_source:218:51: note: expanded from macro '\ 
    4962 EXPOSE_FUNCTION_I_ARGS_1' 
    4963 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4964 
    4965 program_source:164:9: note: expanded from macro '\ 
    4966 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4967 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4968 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4969 program_source:288:1: error: illegal string literal in 'asm' 
    4970 DECLARE_I_REDUCTION_BASE(and) 
    4971 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4972 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4973 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4974 
    4975 program_source:217:40: note: expanded from macro '\ 
    4976 EXPOSE_FUNCTION_I_ARGS_1' 
    4977 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4978 
    4979 program_source:164:9: note: expanded from macro '\ 
    4980 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4981 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4982 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4983 program_source:288:1: error: illegal string literal in 'asm' 
    4984 DECLARE_I_REDUCTION_BASE(and) 
    4985 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4986 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4987 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4988 
    4989 program_source:218:51: note: expanded from macro '\ 
    4990 EXPOSE_FUNCTION_I_ARGS_1' 
    4991 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4992 
    4993 program_source:164:9: note: expanded from macro '\ 
    4994 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4995 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4996 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4997 program_source:289:1: error: illegal string literal in 'asm' 
    4998 DECLARE_I_REDUCTION_BASE(or) 
    4999 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5000 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    5001 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    5002 
    5003 program_source:217:40: note: expanded from macro '\ 
    5004 EXPOSE_FUNCTION_I_ARGS_1' 
    5005 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    5006 
    5007 program_source:164:9: note: expanded from macro '\ 
    5008 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5009 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5010 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5011 program_source:289:1: error: illegal string literal in 'asm' 
    5012 DECLARE_I_REDUCTION_BASE(or) 
    5013 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5014 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    5015 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    5016 
    5017 program_source:218:51: note: expanded from macro '\ 
    5018 EXPOSE_FUNCTION_I_ARGS_1' 
    5019 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    5020 
    5021 program_source:164:9: note: expanded from macro '\ 
    5022 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5023 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5024 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5025 program_source:289:1: error: illegal string literal in 'asm' 
    5026 DECLARE_I_REDUCTION_BASE(or) 
    5027 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5028 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    5029 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    5030 
    5031 program_source:217:40: note: expanded from macro '\ 
    5032 EXPOSE_FUNCTION_I_ARGS_1' 
    5033 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    5034 
    5035 program_source:164:9: note: expanded from macro '\ 
    5036 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5037 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5038 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5039 program_source:289:1: error: illegal string literal in 'asm' 
    5040 DECLARE_I_REDUCTION_BASE(or) 
    5041 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5042 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    5043 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    5044 
    5045 program_source:218:51: note: expanded from macro '\ 
    5046 EXPOSE_FUNCTION_I_ARGS_1' 
    5047 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    5048 
    5049 program_source:164:9: note: expanded from macro '\ 
    5050 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5051 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5052 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5053 program_source:290:1: error: illegal string literal in 'asm' 
    5054 DECLARE_I_REDUCTION_BASE(xor) 
    5055 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5056 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    5057 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    5058 
    5059 program_source:217:40: note: expanded from macro '\ 
    5060 EXPOSE_FUNCTION_I_ARGS_1' 
    5061 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    5062 
    5063 program_source:164:9: note: expanded from macro '\ 
    5064 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5065 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5066 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5067 program_source:290:1: error: illegal string literal in 'asm' 
    5068 DECLARE_I_REDUCTION_BASE(xor) 
    5069 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5070 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    5071 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    5072 
    5073 program_source:218:51: note: expanded from macro '\ 
    5074 EXPOSE_FUNCTION_I_ARGS_1' 
    5075 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    5076 
    5077 program_source:164:9: note: expanded from macro '\ 
    5078 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5079 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5080 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5081 program_source:290:1: error: illegal string literal in 'asm' 
    5082 DECLARE_I_REDUCTION_BASE(xor) 
    5083 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5084 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    5085 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    5086 
    5087 program_source:217:40: note: expanded from macro '\ 
    5088 EXPOSE_FUNCTION_I_ARGS_1' 
    5089 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    5090 
    5091 program_source:164:9: note: expanded from macro '\ 
    5092 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5093 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5094 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5095 program_source:290:1: error: illegal string literal in 'asm' 
    5096 DECLARE_I_REDUCTION_BASE(xor) 
    5097 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5098 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    5099 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    5100 
    5101 program_source:218:51: note: expanded from macro '\ 
    5102 EXPOSE_FUNCTION_I_ARGS_1' 
    5103 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    5104 
    5105 program_source:164:9: note: expanded from macro '\ 
    5106 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5107 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5108 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5109 program_source:292:1: error: illegal string literal in 'asm' 
    5110 DECLARE_SHUFFLE_BASE(broadcast) 
    5111 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5112 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5113 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5114 
    5115 program_source:224:38: note: expanded from macro '\ 
    5116 EXPOSE_FUNCTION_ARGS_2' 
    5117 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5118 
    5119 program_source:168:9: note: expanded from macro '\ 
    5120 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5121 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5122 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5123 program_source:292:1: error: illegal string literal in 'asm' 
    5124 DECLARE_SHUFFLE_BASE(broadcast) 
    5125 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5126 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5127 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5128 
    5129 program_source:225:51: note: expanded from macro '\ 
    5130 EXPOSE_FUNCTION_ARGS_2' 
    5131 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5132 
    5133 program_source:168:9: note: expanded from macro '\ 
    5134 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5135 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5136 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5137 program_source:292:1: error: illegal string literal in 'asm' 
    5138 DECLARE_SHUFFLE_BASE(broadcast) 
    5139 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5140 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5141 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5142 
    5143 program_source:226:52: note: expanded from macro '\ 
    5144 EXPOSE_FUNCTION_ARGS_2' 
    5145 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5146 
    5147 program_source:168:9: note: expanded from macro '\ 
    5148 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5149 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5150 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5151 program_source:292:1: error: illegal string literal in 'asm' 
    5152 DECLARE_SHUFFLE_BASE(broadcast) 
    5153 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5154 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5155 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5156 
    5157 program_source:224:38: note: expanded from macro '\ 
    5158 EXPOSE_FUNCTION_ARGS_2' 
    5159 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5160 
    5161 program_source:168:9: note: expanded from macro '\ 
    5162 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5163 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5164 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5165 program_source:292:1: error: illegal string literal in 'asm' 
    5166 DECLARE_SHUFFLE_BASE(broadcast) 
    5167 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5168 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5169 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5170 
    5171 program_source:225:51: note: expanded from macro '\ 
    5172 EXPOSE_FUNCTION_ARGS_2' 
    5173 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5174 
    5175 program_source:168:9: note: expanded from macro '\ 
    5176 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5177 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5178 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5179 program_source:292:1: error: illegal string literal in 'asm' 
    5180 DECLARE_SHUFFLE_BASE(broadcast) 
    5181 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5182 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5183 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5184 
    5185 program_source:226:52: note: expanded from macro '\ 
    5186 EXPOSE_FUNCTION_ARGS_2' 
    5187 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5188 
    5189 program_source:168:9: note: expanded from macro '\ 
    5190 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5191 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5192 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5193 program_source:293:1: error: illegal string literal in 'asm' 
    5194 DECLARE_REDUCTION_BASE(broadcast_first) 
    5195 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5196 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    5197 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    5198 
    5199 program_source:263:44: note: expanded from macro '\ 
    5200 DECLARE_I_REDUCTION_BASE' 
    5201 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    5202 
    5203 program_source:217:40: note: expanded from macro '\ 
    5204 EXPOSE_FUNCTION_I_ARGS_1' 
    5205 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    5206 
    5207 program_source:164:9: note: expanded from macro '\ 
    5208 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5209 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5210 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5211 program_source:293:1: error: illegal string literal in 'asm' 
    5212 DECLARE_REDUCTION_BASE(broadcast_first) 
    5213 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5214 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    5215 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    5216 
    5217 program_source:263:44: note: expanded from macro '\ 
    5218 DECLARE_I_REDUCTION_BASE' 
    5219 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    5220 
    5221 program_source:218:51: note: expanded from macro '\ 
    5222 EXPOSE_FUNCTION_I_ARGS_1' 
    5223 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    5224 
    5225 program_source:164:9: note: expanded from macro '\ 
    5226 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5227 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5228 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5229 program_source:293:1: error: illegal string literal in 'asm' 
    5230 DECLARE_REDUCTION_BASE(broadcast_first) 
    5231 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5232 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    5233 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    5234 
    5235 program_source:264:43: note: expanded from macro '\ 
    5236 DECLARE_I_REDUCTION_BASE' 
    5237 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    5238 
    5239 program_source:217:40: note: expanded from macro '\ 
    5240 EXPOSE_FUNCTION_I_ARGS_1' 
    5241 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    5242 
    5243 program_source:164:9: note: expanded from macro '\ 
    5244 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5245 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5246 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5247 program_source:293:1: error: illegal string literal in 'asm' 
    5248 DECLARE_REDUCTION_BASE(broadcast_first) 
    5249 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5250 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    5251 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    5252 
    5253 program_source:264:43: note: expanded from macro '\ 
    5254 DECLARE_I_REDUCTION_BASE' 
    5255 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    5256 
    5257 program_source:218:51: note: expanded from macro '\ 
    5258 EXPOSE_FUNCTION_I_ARGS_1' 
    5259 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    5260 
    5261 program_source:164:9: note: expanded from macro '\ 
    5262 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5263 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5264 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5265 program_source:293:1: error: illegal string literal in 'asm' 
    5266 DECLARE_REDUCTION_BASE(broadcast_first) 
    5267 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5268 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    5269 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    5270 
    5271 program_source:267:44: note: expanded from macro '\ 
    5272 DECLARE_F_REDUCTION_BASE' 
    5273 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    5274 
    5275 program_source:221:40: note: expanded from macro '\ 
    5276 EXPOSE_FUNCTION_F_ARGS_1' 
    5277 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    5278 
    5279 program_source:164:9: note: expanded from macro '\ 
    5280 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5281 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5282 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5283 program_source:293:1: error: illegal string literal in 'asm' 
    5284 DECLARE_REDUCTION_BASE(broadcast_first) 
    5285 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5286 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    5287 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    5288 
    5289 program_source:268:43: note: expanded from macro '\ 
    5290 DECLARE_F_REDUCTION_BASE' 
    5291 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    5292 
    5293 program_source:221:40: note: expanded from macro '\ 
    5294 EXPOSE_FUNCTION_F_ARGS_1' 
    5295 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    5296 
    5297 program_source:164:9: note: expanded from macro '\ 
    5298 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5299 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5300 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5301 program_source:295:1: error: illegal string literal in 'asm' 
    5302 DECLARE_SHUFFLE_BASE(shuffle) 
    5303 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5304 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5305 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5306 
    5307 program_source:224:38: note: expanded from macro '\ 
    5308 EXPOSE_FUNCTION_ARGS_2' 
    5309 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5310 
    5311 program_source:168:9: note: expanded from macro '\ 
    5312 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5313 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5314 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5315 program_source:295:1: error: illegal string literal in 'asm' 
    5316 DECLARE_SHUFFLE_BASE(shuffle) 
    5317 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5318 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5319 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5320 
    5321 program_source:225:51: note: expanded from macro '\ 
    5322 EXPOSE_FUNCTION_ARGS_2' 
    5323 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5324 
    5325 program_source:168:9: note: expanded from macro '\ 
    5326 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5327 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5328 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5329 program_source:295:1: error: illegal string literal in 'asm' 
    5330 DECLARE_SHUFFLE_BASE(shuffle) 
    5331 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5332 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5333 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5334 
    5335 program_source:226:52: note: expanded from macro '\ 
    5336 EXPOSE_FUNCTION_ARGS_2' 
    5337 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5338 
    5339 program_source:168:9: note: expanded from macro '\ 
    5340 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5341 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5342 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5343 program_source:295:1: error: illegal string literal in 'asm' 
    5344 DECLARE_SHUFFLE_BASE(shuffle) 
    5345 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5346 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5347 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5348 
    5349 program_source:224:38: note: expanded from macro '\ 
    5350 EXPOSE_FUNCTION_ARGS_2' 
    5351 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5352 
    5353 program_source:168:9: note: expanded from macro '\ 
    5354 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5355 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5356 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5357 program_source:295:1: error: illegal string literal in 'asm' 
    5358 DECLARE_SHUFFLE_BASE(shuffle) 
    5359 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5360 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5361 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5362 
    5363 program_source:225:51: note: expanded from macro '\ 
    5364 EXPOSE_FUNCTION_ARGS_2' 
    5365 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5366 
    5367 program_source:168:9: note: expanded from macro '\ 
    5368 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5369 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5370 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5371 program_source:295:1: error: illegal string literal in 'asm' 
    5372 DECLARE_SHUFFLE_BASE(shuffle) 
    5373 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5374 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5375 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5376 
    5377 program_source:226:52: note: expanded from macro '\ 
    5378 EXPOSE_FUNCTION_ARGS_2' 
    5379 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5380 
    5381 program_source:168:9: note: expanded from macro '\ 
    5382 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5383 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5384 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5385 program_source:296:1: error: illegal string literal in 'asm' 
    5386 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5387 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5388 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5389 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5390 
    5391 program_source:224:38: note: expanded from macro '\ 
    5392 EXPOSE_FUNCTION_ARGS_2' 
    5393 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5394 
    5395 program_source:168:9: note: expanded from macro '\ 
    5396 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5397 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5398 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5399 program_source:296:1: error: illegal string literal in 'asm' 
    5400 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5401 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5402 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5403 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5404 
    5405 program_source:225:51: note: expanded from macro '\ 
    5406 EXPOSE_FUNCTION_ARGS_2' 
    5407 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5408 
    5409 program_source:168:9: note: expanded from macro '\ 
    5410 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5411 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5412 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5413 program_source:296:1: error: illegal string literal in 'asm' 
    5414 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5415 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5416 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5417 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5418 
    5419 program_source:226:52: note: expanded from macro '\ 
    5420 EXPOSE_FUNCTION_ARGS_2' 
    5421 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5422 
    5423 program_source:168:9: note: expanded from macro '\ 
    5424 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5425 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5426 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5427 program_source:296:1: error: illegal string literal in 'asm' 
    5428 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5429 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5430 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5431 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5432 
    5433 program_source:224:38: note: expanded from macro '\ 
    5434 EXPOSE_FUNCTION_ARGS_2' 
    5435 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5436 
    5437 program_source:168:9: note: expanded from macro '\ 
    5438 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5439 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5440 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5441 program_source:296:1: error: illegal string literal in 'asm' 
    5442 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5443 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5444 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5445 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5446 
    5447 program_source:225:51: note: expanded from macro '\ 
    5448 EXPOSE_FUNCTION_ARGS_2' 
    5449 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5450 
    5451 program_source:168:9: note: expanded from macro '\ 
    5452 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5453 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5454 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5455 program_source:296:1: error: illegal string literal in 'asm' 
    5456 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5457 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5458 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5459 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5460 
    5461 program_source:226:52: note: expanded from macro '\ 
    5462 EXPOSE_FUNCTION_ARGS_2' 
    5463 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5464 
    5465 program_source:168:9: note: expanded from macro '\ 
    5466 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5467 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5468 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5469 program_source:297:1: error: illegal string literal in 'asm' 
    5470 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5471 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5472 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5473 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5474 
    5475 program_source:224:38: note: expanded from macro '\ 
    5476 EXPOSE_FUNCTION_ARGS_2' 
    5477 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5478 
    5479 program_source:168:9: note: expanded from macro '\ 
    5480 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5481 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5482 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5483 program_source:297:1: error: illegal string literal in 'asm' 
    5484 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5485 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5486 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5487 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5488 
    5489 program_source:225:51: note: expanded from macro '\ 
    5490 EXPOSE_FUNCTION_ARGS_2' 
    5491 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5492 
    5493 program_source:168:9: note: expanded from macro '\ 
    5494 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5495 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5496 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5497 program_source:297:1: error: illegal string literal in 'asm' 
    5498 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5499 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5500 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5501 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5502 
    5503 program_source:226:52: note: expanded from macro '\ 
    5504 EXPOSE_FUNCTION_ARGS_2' 
    5505 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5506 
    5507 program_source:168:9: note: expanded from macro '\ 
    5508 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5509 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5510 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5511 program_source:297:1: error: illegal string literal in 'asm' 
    5512 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5513 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5514 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5515 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5516 
    5517 program_source:224:38: note: expanded from macro '\ 
    5518 EXPOSE_FUNCTION_ARGS_2' 
    5519 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5520 
    5521 program_source:168:9: note: expanded from macro '\ 
    5522 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5523 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5524 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5525 program_source:297:1: error: illegal string literal in 'asm' 
    5526 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5527 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5528 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5529 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5530 
    5531 program_source:225:51: note: expanded from macro '\ 
    5532 EXPOSE_FUNCTION_ARGS_2' 
    5533 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5534 
    5535 program_source:168:9: note: expanded from macro '\ 
    5536 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5537 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5538 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5539 program_source:297:1: error: illegal string literal in 'asm' 
    5540 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5541 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5542 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5543 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5544 
    5545 program_source:226:52: note: expanded from macro '\ 
    5546 EXPOSE_FUNCTION_ARGS_2' 
    5547 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5548 
    5549 program_source:168:9: note: expanded from macro '\ 
    5550 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5551 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5552 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5553 program_source:298:1: error: illegal string literal in 'asm' 
    5554 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5555 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5556 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5557 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5558 
    5559 program_source:224:38: note: expanded from macro '\ 
    5560 EXPOSE_FUNCTION_ARGS_2' 
    5561 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5562 
    5563 program_source:168:9: note: expanded from macro '\ 
    5564 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5565 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5566 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5567 program_source:298:1: error: illegal string literal in 'asm' 
    5568 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5569 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5570 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5571 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5572 
    5573 program_source:225:51: note: expanded from macro '\ 
    5574 EXPOSE_FUNCTION_ARGS_2' 
    5575 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5576 
    5577 program_source:168:9: note: expanded from macro '\ 
    5578 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5579 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5580 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5581 program_source:298:1: error: illegal string literal in 'asm' 
    5582 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5583 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5584 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5585 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5586 
    5587 program_source:226:52: note: expanded from macro '\ 
    5588 EXPOSE_FUNCTION_ARGS_2' 
    5589 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5590 
    5591 program_source:168:9: note: expanded from macro '\ 
    5592 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5593 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5594 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5595 program_source:298:1: error: illegal string literal in 'asm' 
    5596 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5597 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5598 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5599 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5600 
    5601 program_source:224:38: note: expanded from macro '\ 
    5602 EXPOSE_FUNCTION_ARGS_2' 
    5603 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5604 
    5605 program_source:168:9: note: expanded from macro '\ 
    5606 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5607 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5608 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5609 program_source:298:1: error: illegal string literal in 'asm' 
    5610 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5611 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5612 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5613 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5614 
    5615 program_source:225:51: note: expanded from macro '\ 
    5616 EXPOSE_FUNCTION_ARGS_2' 
    5617 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5618 
    5619 program_source:168:9: note: expanded from macro '\ 
    5620 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5621 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5622 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5623 program_source:298:1: error: illegal string literal in 'asm' 
    5624 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5625 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5626 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5627 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5628 
    5629 program_source:226:52: note: expanded from macro '\ 
    5630 EXPOSE_FUNCTION_ARGS_2' 
    5631 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5632 
    5633 program_source:168:9: note: expanded from macro '\ 
    5634 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5635 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5636 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5637 program_source:299:1: error: illegal string literal in 'asm' 
    5638 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5639 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5640 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5641 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5642 
    5643 program_source:224:38: note: expanded from macro '\ 
    5644 EXPOSE_FUNCTION_ARGS_2' 
    5645 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5646 
    5647 program_source:168:9: note: expanded from macro '\ 
    5648 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5649 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5650 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5651 program_source:299:1: error: illegal string literal in 'asm' 
    5652 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5653 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5654 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5655 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5656 
    5657 program_source:225:51: note: expanded from macro '\ 
    5658 EXPOSE_FUNCTION_ARGS_2' 
    5659 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5660 
    5661 program_source:168:9: note: expanded from macro '\ 
    5662 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5663 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5664 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5665 program_source:299:1: error: illegal string literal in 'asm' 
    5666 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5667 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5668 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5669 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5670 
    5671 program_source:226:52: note: expanded from macro '\ 
    5672 EXPOSE_FUNCTION_ARGS_2' 
    5673 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5674 
    5675 program_source:168:9: note: expanded from macro '\ 
    5676 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5677 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5678 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5679 program_source:299:1: error: illegal string literal in 'asm' 
    5680 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5681 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5682 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5683 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5684 
    5685 program_source:224:38: note: expanded from macro '\ 
    5686 EXPOSE_FUNCTION_ARGS_2' 
    5687 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5688 
    5689 program_source:168:9: note: expanded from macro '\ 
    5690 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5691 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5692 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5693 program_source:299:1: error: illegal string literal in 'asm' 
    5694 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5695 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5696 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5697 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5698 
    5699 program_source:225:51: note: expanded from macro '\ 
    5700 EXPOSE_FUNCTION_ARGS_2' 
    5701 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5702 
    5703 program_source:168:9: note: expanded from macro '\ 
    5704 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5705 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5706 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5707 program_source:299:1: error: illegal string literal in 'asm' 
    5708 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5709 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5710 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5711 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5712 
    5713 program_source:226:52: note: expanded from macro '\ 
    5714 EXPOSE_FUNCTION_ARGS_2' 
    5715 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5716 
    5717 program_source:168:9: note: expanded from macro '\ 
    5718 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5719 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5720 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5721 program_source:300:1: error: illegal string literal in 'asm' 
    5722 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5723 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5724 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5725 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5726 
    5727 program_source:224:38: note: expanded from macro '\ 
    5728 EXPOSE_FUNCTION_ARGS_2' 
    5729 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5730 
    5731 program_source:168:9: note: expanded from macro '\ 
    5732 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5733 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5734 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5735 program_source:300:1: error: illegal string literal in 'asm' 
    5736 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5737 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5738 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5739 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5740 
    5741 program_source:225:51: note: expanded from macro '\ 
    5742 EXPOSE_FUNCTION_ARGS_2' 
    5743 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5744 
    5745 program_source:168:9: note: expanded from macro '\ 
    5746 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5747 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5748 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5749 program_source:300:1: error: illegal string literal in 'asm' 
    5750 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5751 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5752 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5753 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5754 
    5755 program_source:226:52: note: expanded from macro '\ 
    5756 EXPOSE_FUNCTION_ARGS_2' 
    5757 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5758 
    5759 program_source:168:9: note: expanded from macro '\ 
    5760 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5761 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5762 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5763 program_source:300:1: error: illegal string literal in 'asm' 
    5764 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5765 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5766 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5767 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5768 
    5769 program_source:224:38: note: expanded from macro '\ 
    5770 EXPOSE_FUNCTION_ARGS_2' 
    5771 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5772 
    5773 program_source:168:9: note: expanded from macro '\ 
    5774 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5775 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5776 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5777 program_source:300:1: error: illegal string literal in 'asm' 
    5778 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5779 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5780 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5781 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5782 
    5783 program_source:225:51: note: expanded from macro '\ 
    5784 EXPOSE_FUNCTION_ARGS_2' 
    5785 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5786 
    5787 program_source:168:9: note: expanded from macro '\ 
    5788 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5789 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5790 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5791 program_source:300:1: error: illegal string literal in 'asm' 
    5792 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5793 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5794 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5795 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5796 
    5797 program_source:226:52: note: expanded from macro '\ 
    5798 EXPOSE_FUNCTION_ARGS_2' 
    5799 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5800 
    5801 program_source:168:9: note: expanded from macro '\ 
    5802 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5803 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5804 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5805 program_source:302:1: error: illegal string literal in 'asm' 
    5806 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    5807 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5808 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    5809 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    5810 
    5811 program_source:172:9: note: expanded from macro '\ 
    5812 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    5813 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5814 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5815 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    5816 is invalid in OpenCL 
    5817 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    5818 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    5819 
    5820 program_source:175:10: note: expanded from macro '\ 
    5821 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    5822 return ___metal_##EXPR(x, false); \ 
    5823 
    5824 :12:1: note: expanded from here 
    5825 ___metal_ctz 
    5826 
    5827 program_source:302:1: error: illegal string literal in 'asm' 
    5828 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    5829 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5830 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    5831 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    5832 
    5833 program_source:172:9: note: expanded from macro '\ 
    5834 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    5835 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5836 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5837 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    5838 is invalid in OpenCL 
    5839 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    5840 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    5841 
    5842 program_source:175:10: note: expanded from macro '\ 
    5843 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    5844 return ___metal_##EXPR(x, false); \ 
    5845 
    5846 :16:1: note: expanded from here 
    5847 ___metal_ctz 
    5848 
    5849 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    5850 invalid in OpenCL 
    5851 DECLARE_REDUCTION_UNIFORM(sum, reduce_add) 
    5852 
    5853 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5854 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5855 
    5856 program_source:305:26: note: expanded from macro '\ 
    5857 DECLARE_I_REDUCTION_UNIFORM' 
    5858 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5859 
    5860 :17:1: note: expanded from here 
    5861 simd_sum 
    5862 
    5863 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    5864 invalid in OpenCL 
    5865 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5866 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5867 
    5868 program_source:305:26: note: expanded from macro '\ 
    5869 DECLARE_I_REDUCTION_UNIFORM' 
    5870 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5871 
    5872 :17:1: note: expanded from here 
    5873 simd_sum 
    5874 
    5875 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    5876 invalid in OpenCL 
    5877 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5878 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5879 
    5880 program_source:308:26: note: expanded from macro '\ 
    5881 DECLARE_F_REDUCTION_UNIFORM' 
    5882 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5883 
    5884 :19:1: note: expanded from here 
    5885 simd_sum 
    5886 
    5887 program_source:318:1: error: implicit declaration of function
    5888 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    5889 DECLARE_REDUCTION_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    5890 
    5891 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5892 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5893 
    5894 program_source:305:26: note: expanded from macro '\ 
    5895 DECLARE_I_REDUCTION_UNIFORM' 
    5896 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5897 
    5898 :21:1: note: expanded from here 
    5899 simd_prefix_inclusive_sum 
    5900 
    5901 program_source:318:1: error: implicit declaration of function
    5902 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    5903 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5904 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5905 
    5906 program_source:305:26: note: expanded from macro '\ 
    5907 DECLARE_I_REDUCTION_UNIFORM' 
    5908 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5909 
    5910 :21:1: note: expanded from here 
    5911 simd_prefix_inclusive_sum 
    5912 
    5913 program_source:318:1: error: implicit declaration of function
    5914 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    5915 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5916 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5917 
    5918 program_source:308:26: note: expanded from macro '\ 
    5919 DECLARE_F_REDUCTION_UNIFORM' 
    5920 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5921 
    5922 :23:1: note: expanded from here 
    5923 simd_prefix_inclusive_sum 
    5924 
    5925 program_source:319:1: error: implicit declaration of function
    5926 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    5927 DECLARE_REDUCTION_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    5928 
    5929 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5930 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5931 
    5932 program_source:305:26: note: expanded from macro '\ 
    5933 DECLARE_I_REDUCTION_UNIFORM' 
    5934 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5935 
    5936 :25:1: note: expanded from here 
    5937 simd_prefix_exclusive_sum 
    5938 
    5939 program_source:319:1: error: implicit declaration of function
    5940 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    5941 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5942 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5943 
    5944 program_source:305:26: note: expanded from macro '\ 
    5945 DECLARE_I_REDUCTION_UNIFORM' 
    5946 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5947 
    5948 :25:1: note: expanded from here 
    5949 simd_prefix_exclusive_sum 
    5950 
    5951 program_source:319:1: error: implicit declaration of function
    5952 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    5953 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5954 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5955 
    5956 program_source:308:26: note: expanded from macro '\ 
    5957 DECLARE_F_REDUCTION_UNIFORM' 
    5958 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5959 
    5960 :27:1: note: expanded from here 
    5961 simd_prefix_exclusive_sum 
    5962 
    5963 program_source:320:1: error: implicit declaration of function 'simd_min' is
    5964 invalid in OpenCL 
    5965 DECLARE_REDUCTION_UNIFORM(min, reduce_min) 
    5966 
    5967 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5968 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5969 
    5970 program_source:305:26: note: expanded from macro '\ 
    5971 DECLARE_I_REDUCTION_UNIFORM' 
    5972 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5973 
    5974 :29:1: note: expanded from here 
    5975 simd_min 
    5976 
    5977 program_source:320:1: error: implicit declaration of function 'simd_min' is
    5978 invalid in OpenCL 
    5979 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5980 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5981 
    5982 program_source:305:26: note: expanded from macro '\ 
    5983 DECLARE_I_REDUCTION_UNIFORM' 
    5984 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5985 
    5986 :29:1: note: expanded from here 
    5987 simd_min 
    5988 
    5989 program_source:320:1: error: implicit declaration of function 'simd_min' is
    5990 invalid in OpenCL 
    5991 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5992 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5993 
    5994 program_source:308:26: note: expanded from macro '\ 
    5995 DECLARE_F_REDUCTION_UNIFORM' 
    5996 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5997 
    5998 :31:1: note: expanded from here 
    5999 simd_min 
    6000 
    6001 program_source:321:1: error: implicit declaration of function 'simd_max' is
    6002 invalid in OpenCL 
    6003 DECLARE_REDUCTION_UNIFORM(max, reduce_max) 
    6004 
    6005 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    6006 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6007 
    6008 program_source:305:26: note: expanded from macro '\ 
    6009 DECLARE_I_REDUCTION_UNIFORM' 
    6010 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6011 
    6012 :33:1: note: expanded from here 
    6013 simd_max 
    6014 
    6015 program_source:321:1: error: implicit declaration of function 'simd_max' is
    6016 invalid in OpenCL 
    6017 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    6018 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6019 
    6020 program_source:305:26: note: expanded from macro '\ 
    6021 DECLARE_I_REDUCTION_UNIFORM' 
    6022 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6023 
    6024 :33:1: note: expanded from here 
    6025 simd_max 
    6026 
    6027 program_source:321:1: error: implicit declaration of function 'simd_max' is
    6028 invalid in OpenCL 
    6029 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    6030 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6031 
    6032 program_source:308:26: note: expanded from macro '\ 
    6033 DECLARE_F_REDUCTION_UNIFORM' 
    6034 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6035 
    6036 :35:1: note: expanded from here 
    6037 simd_max 
    6038 
    6039 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    6040 is invalid in OpenCL 
    6041 DECLARE_SHUFFLE_UNIFORM(shuffle, shuffle) 
    6042 
    6043 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6044 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6045 
    6046 :37:1: note: expanded from here 
    6047 simd_shuffle 
    6048 
    6049 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    6050 is invalid in OpenCL 
    6051 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6052 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6053 
    6054 :37:1: note: expanded from here 
    6055 simd_shuffle 
    6056 
    6057 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    6058 is invalid in OpenCL 
    6059 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6060 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6061 
    6062 :37:1: note: expanded from here 
    6063 simd_shuffle 
    6064 
    6065 program_source:324:1: error: implicit declaration of function
    6066 'simd_shuffle_xor' is invalid in OpenCL 
    6067 DECLARE_SHUFFLE_UNIFORM(shuffle_xor, shuffle_xor) 
    6068 
    6069 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6070 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6071 
    6072 :39:1: note: expanded from here 
    6073 simd_shuffle_xor 
    6074 
    6075 program_source:324:1: error: implicit declaration of function
    6076 'simd_shuffle_xor' is invalid in OpenCL 
    6077 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6078 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6079 
    6080 :39:1: note: expanded from here 
    6081 simd_shuffle_xor 
    6082 
    6083 program_source:324:1: error: implicit declaration of function
    6084 'simd_shuffle_xor' is invalid in OpenCL 
    6085 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6086 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6087 
    6088 :39:1: note: expanded from here 
    6089 simd_shuffle_xor 
    6090 
    6091 program_source:325:1: error: implicit declaration of function
    6092 'simd_shuffle_up' is invalid in OpenCL 
    6093 DECLARE_SHUFFLE_UNIFORM(shuffle_up, shuffle_up) 
    6094 
    6095 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6096 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6097 
    6098 :41:1: note: expanded from here 
    6099 simd_shuffle_up 
    6100 
    6101 program_source:325:1: error: implicit declaration of function
    6102 'simd_shuffle_up' is invalid in OpenCL 
    6103 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6104 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6105 
    6106 :41:1: note: expanded from here 
    6107 simd_shuffle_up 
    6108 
    6109 program_source:325:1: error: implicit declaration of function
    6110 'simd_shuffle_up' is invalid in OpenCL 
    6111 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6112 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6113 
    6114 :41:1: note: expanded from here 
    6115 simd_shuffle_up 
    6116 
    6117 program_source:326:1: error: implicit declaration of function
    6118 'simd_shuffle_down' is invalid in OpenCL 
    6119 DECLARE_SHUFFLE_UNIFORM(shuffle_down, shuffle_down) 
    6120 
    6121 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6122 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6123 
    6124 :43:1: note: expanded from here 
    6125 simd_shuffle_down 
    6126 
    6127 program_source:326:1: error: implicit declaration of function
    6128 'simd_shuffle_down' is invalid in OpenCL 
    6129 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6130 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6131 
    6132 :43:1: note: expanded from here 
    6133 simd_shuffle_down 
    6134 
    6135 program_source:326:1: error: implicit declaration of function
    6136 'simd_shuffle_down' is invalid in OpenCL 
    6137 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6138 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6139 
    6140 :43:1: note: expanded from here 
    6141 simd_shuffle_down 
    6142 
    6143 program_source:327:1: error: implicit declaration of function
    6144 'simd_shuffle_rotate_down' is invalid in OpenCL 
    6145 DECLARE_SHUFFLE_UNIFORM(shuffle_rotate_down, rotate) 
    6146 
    6147 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6148 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6149 
    6150 :45:1: note: expanded from here 
    6151 simd_shuffle_rotate_down 
    6152 
    6153 program_source:327:1: error: implicit declaration of function
    6154 'simd_shuffle_rotate_down' is invalid in OpenCL 
    6155 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6156 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6157 
    6158 :45:1: note: expanded from here 
    6159 simd_shuffle_rotate_down 
    6160 
    6161 program_source:327:1: error: implicit declaration of function
    6162 'simd_shuffle_rotate_down' is invalid in OpenCL 
    6163 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6164 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6165 
    6166 :45:1: note: expanded from here 
    6167 simd_shuffle_rotate_down 
    6168 
    6169 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    6170 is invalid in OpenCL 
    6171 DECLARE_SHUFFLE_UNIFORM(broadcast, broadcast) 
    6172 
    6173 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6174 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6175 
    6176 :47:1: note: expanded from here 
    6177 simd_broadcast 
    6178 
    6179 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    6180 is invalid in OpenCL 
    6181 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6182 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6183 
    6184 :47:1: note: expanded from here 
    6185 simd_broadcast 
    6186 
    6187 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    6188 is invalid in OpenCL 
    6189 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    6190 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6191 
    6192 :47:1: note: expanded from here 
    6193 simd_broadcast 
    6194 
    6195 program_source:330:1: error: implicit declaration of function
    6196 'simd_broadcast_first' is invalid in OpenCL 
    6197 DECLARE_REDUCTION_UNIFORM(broadcast_first, broadcast_first) 
    6198 
    6199 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    6200 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6201 
    6202 program_source:305:26: note: expanded from macro '\ 
    6203 DECLARE_I_REDUCTION_UNIFORM' 
    6204 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6205 
    6206 :49:1: note: expanded from here 
    6207 simd_broadcast_first 
    6208 
    6209 program_source:330:1: error: implicit declaration of function
    6210 'simd_broadcast_first' is invalid in OpenCL 
    6211 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    6212 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6213 
    6214 program_source:305:26: note: expanded from macro '\ 
    6215 DECLARE_I_REDUCTION_UNIFORM' 
    6216 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6217 
    6218 :49:1: note: expanded from here 
    6219 simd_broadcast_first 
    6220 
    6221 program_source:330:1: error: implicit declaration of function
    6222 'simd_broadcast_first' is invalid in OpenCL 
    6223 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    6224 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6225 
    6226 program_source:308:26: note: expanded from macro '\ 
    6227 DECLARE_F_REDUCTION_UNIFORM' 
    6228 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    6229 
    6230 :51:1: note: expanded from here 
    6231 simd_broadcast_first 
    6232 
    6233 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    6234 invalid in OpenCL 
    6235 DECLARE_REDUCTION_NON_UNIFORM(sum, reduce_add) 
    6236 
    6237 program_source:338:60: note: expanded from macro
    6238 'DECLARE_REDUCTION_NON_UNIFORM' 
    6239 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6240 
    6241 program_source:333:26: note: expanded from macro '\ 
    6242 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6243 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6244 
    6245 :53:1: note: expanded from here 
    6246 simd_sum 
    6247 
    6248 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    6249 invalid in OpenCL 
    6250 program_source:338:60: note: expanded from macro
    6251 'DECLARE_REDUCTION_NON_UNIFORM' 
    6252 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6253 
    6254 program_source:333:26: note: expanded from macro '\ 
    6255 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6256 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6257 
    6258 :53:1: note: expanded from here 
    6259 simd_sum 
    6260 
    6261 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    6262 invalid in OpenCL 
    6263 program_source:339:54: note: expanded from macro
    6264 'DECLARE_REDUCTION_NON_UNIFORM' 
    6265 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6266 
    6267 program_source:336:26: note: expanded from macro '\ 
    6268 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6269 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6270 
    6271 :55:1: note: expanded from here 
    6272 simd_sum 
    6273 
    6274 program_source:346:1: error: implicit declaration of function
    6275 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    6276 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    6277 
    6278 program_source:338:60: note: expanded from macro
    6279 'DECLARE_REDUCTION_NON_UNIFORM' 
    6280 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6281 
    6282 program_source:333:26: note: expanded from macro '\ 
    6283 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6284 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6285 
    6286 :57:1: note: expanded from here 
    6287 simd_prefix_inclusive_sum 
    6288 
    6289 program_source:346:1: error: implicit declaration of function
    6290 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    6291 program_source:338:60: note: expanded from macro
    6292 'DECLARE_REDUCTION_NON_UNIFORM' 
    6293 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6294 
    6295 program_source:333:26: note: expanded from macro '\ 
    6296 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6297 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6298 
    6299 :57:1: note: expanded from here 
    6300 simd_prefix_inclusive_sum 
    6301 
    6302 program_source:346:1: error: implicit declaration of function
    6303 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    6304 program_source:339:54: note: expanded from macro
    6305 'DECLARE_REDUCTION_NON_UNIFORM' 
    6306 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6307 
    6308 program_source:336:26: note: expanded from macro '\ 
    6309 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6310 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6311 
    6312 :59:1: note: expanded from here 
    6313 simd_prefix_inclusive_sum 
    6314 
    6315 program_source:347:1: error: implicit declaration of function
    6316 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    6317 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    6318 
    6319 program_source:338:60: note: expanded from macro
    6320 'DECLARE_REDUCTION_NON_UNIFORM' 
    6321 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6322 
    6323 program_source:333:26: note: expanded from macro '\ 
    6324 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6325 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6326 
    6327 :61:1: note: expanded from here 
    6328 simd_prefix_exclusive_sum 
    6329 
    6330 program_source:347:1: error: implicit declaration of function
    6331 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    6332 program_source:338:60: note: expanded from macro
    6333 'DECLARE_REDUCTION_NON_UNIFORM' 
    6334 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6335 
    6336 program_source:333:26: note: expanded from macro '\ 
    6337 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6338 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6339 
    6340 :61:1: note: expanded from here 
    6341 simd_prefix_exclusive_sum 
    6342 
    6343 program_source:347:1: error: implicit declaration of function
    6344 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    6345 program_source:339:54: note: expanded from macro
    6346 'DECLARE_REDUCTION_NON_UNIFORM' 
    6347 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6348 
    6349 program_source:336:26: note: expanded from macro '\ 
    6350 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6351 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6352 
    6353 :63:1: note: expanded from here 
    6354 simd_prefix_exclusive_sum 
    6355 
    6356 program_source:348:1: error: implicit declaration of function 'simd_min' is
    6357 invalid in OpenCL 
    6358 DECLARE_REDUCTION_NON_UNIFORM(min, reduce_min) 
    6359 
    6360 program_source:338:60: note: expanded from macro
    6361 'DECLARE_REDUCTION_NON_UNIFORM' 
    6362 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6363 
    6364 program_source:333:26: note: expanded from macro '\ 
    6365 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6366 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6367 
    6368 :65:1: note: expanded from here 
    6369 simd_min 
    6370 
    6371 program_source:348:1: error: implicit declaration of function 'simd_min' is
    6372 invalid in OpenCL 
    6373 program_source:338:60: note: expanded from macro
    6374 'DECLARE_REDUCTION_NON_UNIFORM' 
    6375 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6376 
    6377 program_source:333:26: note: expanded from macro '\ 
    6378 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6379 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6380 
    6381 :65:1: note: expanded from here 
    6382 simd_min 
    6383 
    6384 program_source:348:1: error: implicit declaration of function 'simd_min' is
    6385 invalid in OpenCL 
    6386 program_source:339:54: note: expanded from macro
    6387 'DECLARE_REDUCTION_NON_UNIFORM' 
    6388 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6389 
    6390 program_source:336:26: note: expanded from macro '\ 
    6391 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6392 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6393 
    6394 :67:1: note: expanded from here 
    6395 simd_min 
    6396 
    6397 program_source:349:1: error: implicit declaration of function 'simd_max' is
    6398 invalid in OpenCL 
    6399 DECLARE_REDUCTION_NON_UNIFORM(max, reduce_max) 
    6400 
    6401 program_source:338:60: note: expanded from macro
    6402 'DECLARE_REDUCTION_NON_UNIFORM' 
    6403 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6404 
    6405 program_source:333:26: note: expanded from macro '\ 
    6406 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6407 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6408 
    6409 :69:1: note: expanded from here 
    6410 simd_max 
    6411 
    6412 program_source:349:1: error: implicit declaration of function 'simd_max' is
    6413 invalid in OpenCL 
    6414 program_source:338:60: note: expanded from macro
    6415 'DECLARE_REDUCTION_NON_UNIFORM' 
    6416 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6417 
    6418 program_source:333:26: note: expanded from macro '\ 
    6419 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6420 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6421 
    6422 :69:1: note: expanded from here 
    6423 simd_max 
    6424 
    6425 program_source:349:1: error: implicit declaration of function 'simd_max' is
    6426 invalid in OpenCL 
    6427 program_source:339:54: note: expanded from macro
    6428 'DECLARE_REDUCTION_NON_UNIFORM' 
    6429 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6430 
    6431 program_source:336:26: note: expanded from macro '\ 
    6432 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6433 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6434 
    6435 :71:1: note: expanded from here 
    6436 simd_max 
    6437 
    6438 program_source:351:1: error: implicit declaration of function 'simd_product'
    6439 is invalid in OpenCL 
    6440 DECLARE_REDUCTION_NON_UNIFORM(product, reduce_mul) 
    6441 
    6442 program_source:338:60: note: expanded from macro
    6443 'DECLARE_REDUCTION_NON_UNIFORM' 
    6444 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6445 
    6446 program_source:333:26: note: expanded from macro '\ 
    6447 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6448 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6449 
    6450 :73:1: note: expanded from here 
    6451 simd_product 
    6452 
    6453 program_source:351:1: error: implicit declaration of function 'simd_product'
    6454 is invalid in OpenCL 
    6455 program_source:338:60: note: expanded from macro
    6456 'DECLARE_REDUCTION_NON_UNIFORM' 
    6457 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6458 
    6459 program_source:333:26: note: expanded from macro '\ 
    6460 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6461 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6462 
    6463 :73:1: note: expanded from here 
    6464 simd_product 
    6465 
    6466 program_source:351:1: error: implicit declaration of function 'simd_product'
    6467 is invalid in OpenCL 
    6468 program_source:339:54: note: expanded from macro
    6469 'DECLARE_REDUCTION_NON_UNIFORM' 
    6470 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6471 
    6472 program_source:336:26: note: expanded from macro '\ 
    6473 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6474 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6475 
    6476 :75:1: note: expanded from here 
    6477 simd_product 
    6478 
    6479 program_source:352:1: error: implicit declaration of function
    6480 'simd_prefix_inclusive_product' is invalid in OpenCL 
    6481 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_product, scan_inclusive_mul) 
    6482 
    6483 program_source:338:60: note: expanded from macro
    6484 'DECLARE_REDUCTION_NON_UNIFORM' 
    6485 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6486 
    6487 program_source:333:26: note: expanded from macro '\ 
    6488 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6489 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6490 
    6491 :77:1: note: expanded from here 
    6492 simd_prefix_inclusive_product 
    6493 
    6494 program_source:352:1: error: implicit declaration of function
    6495 'simd_prefix_inclusive_product' is invalid in OpenCL 
    6496 program_source:338:60: note: expanded from macro
    6497 'DECLARE_REDUCTION_NON_UNIFORM' 
    6498 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6499 
    6500 program_source:333:26: note: expanded from macro '\ 
    6501 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6502 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6503 
    6504 :77:1: note: expanded from here 
    6505 simd_prefix_inclusive_product 
    6506 
    6507 program_source:352:1: error: implicit declaration of function
    6508 'simd_prefix_inclusive_product' is invalid in OpenCL 
    6509 program_source:339:54: note: expanded from macro
    6510 'DECLARE_REDUCTION_NON_UNIFORM' 
    6511 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6512 
    6513 program_source:336:26: note: expanded from macro '\ 
    6514 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6515 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6516 
    6517 :79:1: note: expanded from here 
    6518 simd_prefix_inclusive_product 
    6519 
    6520 program_source:353:1: error: implicit declaration of function
    6521 'simd_prefix_exclusive_product' is invalid in OpenCL 
    6522 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_product, scan_exclusive_mul) 
    6523 
    6524 program_source:338:60: note: expanded from macro
    6525 'DECLARE_REDUCTION_NON_UNIFORM' 
    6526 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6527 
    6528 program_source:333:26: note: expanded from macro '\ 
    6529 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6530 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6531 
    6532 :81:1: note: expanded from here 
    6533 simd_prefix_exclusive_product 
    6534 
    6535 program_source:353:1: error: implicit declaration of function
    6536 'simd_prefix_exclusive_product' is invalid in OpenCL 
    6537 program_source:338:60: note: expanded from macro
    6538 'DECLARE_REDUCTION_NON_UNIFORM' 
    6539 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6540 
    6541 program_source:333:26: note: expanded from macro '\ 
    6542 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6543 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6544 
    6545 :81:1: note: expanded from here 
    6546 simd_prefix_exclusive_product 
    6547 
    6548 program_source:353:1: error: implicit declaration of function
    6549 'simd_prefix_exclusive_product' is invalid in OpenCL 
    6550 program_source:339:54: note: expanded from macro
    6551 'DECLARE_REDUCTION_NON_UNIFORM' 
    6552 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6553 
    6554 program_source:336:26: note: expanded from macro '\ 
    6555 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6556 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6557 
    6558 :83:1: note: expanded from here 
    6559 simd_prefix_exclusive_product 
    6560 
    6561 program_source:354:1: error: implicit declaration of function 'simd_and' is
    6562 invalid in OpenCL 
    6563 DECLARE_I_REDUCTION_NON_UNIFORM(and, reduce_and) 
    6564 
    6565 program_source:333:26: note: expanded from macro
    6566 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6567 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6568 
    6569 :85:1: note: expanded from here 
    6570 simd_and 
    6571 
    6572 program_source:354:1: error: implicit declaration of function 'simd_and' is
    6573 invalid in OpenCL 
    6574 program_source:333:26: note: expanded from macro
    6575 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6576 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6577 
    6578 :85:1: note: expanded from here 
    6579 simd_and 
    6580 
    6581 program_source:355:1: error: implicit declaration of function 'simd_or' is
    6582 invalid in OpenCL 
    6583 DECLARE_I_REDUCTION_NON_UNIFORM(or, reduce_or) 
    6584 
    6585 program_source:333:26: note: expanded from macro
    6586 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6587 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6588 
    6589 :87:1: note: expanded from here 
    6590 simd_or 
    6591 
    6592 program_source:355:1: error: implicit declaration of function 'simd_or' is
    6593 invalid in OpenCL 
    6594 program_source:333:26: note: expanded from macro
    6595 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6596 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6597 
    6598 :87:1: note: expanded from here 
    6599 simd_or 
    6600 
    6601 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    6602 invalid in OpenCL 
    6603 DECLARE_I_REDUCTION_NON_UNIFORM(xor, reduce_xor) 
    6604 
    6605 program_source:333:26: note: expanded from macro
    6606 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6607 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6608 
    6609 :89:1: note: expanded from here 
    6610 simd_xor 
    6611 
    6612 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    6613 invalid in OpenCL 
    6614 program_source:333:26: note: expanded from macro
    6615 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6616 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6617 
    6618 :89:1: note: expanded from here 
    6619 simd_xor 
    6620 
    6621 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    6622 is invalid in OpenCL 
    6623 DECLARE_SHUFFLE_NON_UNIFORM(broadcast, broadcast) 
    6624 
    6625 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    6626 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6627 
    6628 :91:1: note: expanded from here 
    6629 simd_broadcast 
    6630 
    6631 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    6632 is invalid in OpenCL 
    6633 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    6634 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6635 
    6636 :91:1: note: expanded from here 
    6637 simd_broadcast 
    6638 
    6639 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    6640 is invalid in OpenCL 
    6641 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    6642 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6643 
    6644 :91:1: note: expanded from here 
    6645 simd_broadcast 
    6646 
    6647 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    6648 invalid in OpenCL 
    6649 DECLARE_REDUCTION_CLUSTERED(sum, reduce_add) 
    6650 
    6651 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6652 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6653 
    6654 program_source:360:60: note: expanded from macro '\ 
    6655 DECLARE_I_REDUCTION_CLUSTERED' 
    6656 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6657 
    6658 program_source:245:71: note: expanded from macro '\ 
    6659 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6660 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6661 
    6662 program_source:196:12: note: expanded from macro '\ 
    6663 OVERLOAD_CLUSTERED_ARGS_1' 
    6664 return quad_##METAL_SUFFIX(x); \ 
    6665 
    6666 :94:1: note: expanded from here 
    6667 quad_sum 
    6668 
    6669 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    6670 invalid in OpenCL 
    6671 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6672 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6673 
    6674 program_source:360:60: note: expanded from macro '\ 
    6675 DECLARE_I_REDUCTION_CLUSTERED' 
    6676 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6677 
    6678 program_source:245:71: note: expanded from macro '\ 
    6679 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6680 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6681 
    6682 program_source:198:12: note: expanded from macro '\ 
    6683 OVERLOAD_CLUSTERED_ARGS_1' 
    6684 return simd_##METAL_SUFFIX(x); \ 
    6685 
    6686 :95:1: note: expanded from here 
    6687 simd_sum 
    6688 
    6689 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    6690 invalid in OpenCL 
    6691 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6692 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6693 
    6694 program_source:360:60: note: expanded from macro '\ 
    6695 DECLARE_I_REDUCTION_CLUSTERED' 
    6696 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6697 
    6698 program_source:246:59: note: expanded from macro '\ 
    6699 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6700 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6701 
    6702 program_source:196:12: note: expanded from macro '\ 
    6703 OVERLOAD_CLUSTERED_ARGS_1' 
    6704 return quad_##METAL_SUFFIX(x); \ 
    6705 
    6706 :96:1: note: expanded from here 
    6707 quad_sum 
    6708 
    6709 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    6710 invalid in OpenCL 
    6711 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6712 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6713 
    6714 program_source:360:60: note: expanded from macro '\ 
    6715 DECLARE_I_REDUCTION_CLUSTERED' 
    6716 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6717 
    6718 program_source:246:59: note: expanded from macro '\ 
    6719 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6720 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6721 
    6722 program_source:198:12: note: expanded from macro '\ 
    6723 OVERLOAD_CLUSTERED_ARGS_1' 
    6724 return simd_##METAL_SUFFIX(x); \ 
    6725 
    6726 :97:1: note: expanded from here 
    6727 simd_sum 
    6728 
    6729 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    6730 invalid in OpenCL 
    6731 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6732 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6733 
    6734 program_source:363:60: note: expanded from macro '\ 
    6735 DECLARE_F_REDUCTION_CLUSTERED' 
    6736 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6737 
    6738 program_source:249:71: note: expanded from macro '\ 
    6739 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6740 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6741 
    6742 program_source:196:12: note: expanded from macro '\ 
    6743 OVERLOAD_CLUSTERED_ARGS_1' 
    6744 return quad_##METAL_SUFFIX(x); \ 
    6745 
    6746 :99:1: note: expanded from here 
    6747 quad_sum 
    6748 
    6749 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    6750 invalid in OpenCL 
    6751 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6752 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6753 
    6754 program_source:363:60: note: expanded from macro '\ 
    6755 DECLARE_F_REDUCTION_CLUSTERED' 
    6756 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6757 
    6758 program_source:249:71: note: expanded from macro '\ 
    6759 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6760 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6761 
    6762 program_source:198:12: note: expanded from macro '\ 
    6763 OVERLOAD_CLUSTERED_ARGS_1' 
    6764 return simd_##METAL_SUFFIX(x); \ 
    6765 
    6766 :100:1: note: expanded from here 
    6767 simd_sum 
    6768 
    6769 program_source:392:1: error: implicit declaration of function 'quad_min' is
    6770 invalid in OpenCL 
    6771 DECLARE_REDUCTION_CLUSTERED(min, reduce_min) 
    6772 
    6773 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6774 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6775 
    6776 program_source:360:60: note: expanded from macro '\ 
    6777 DECLARE_I_REDUCTION_CLUSTERED' 
    6778 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6779 
    6780 program_source:245:71: note: expanded from macro '\ 
    6781 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6782 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6783 
    6784 program_source:196:12: note: expanded from macro '\ 
    6785 OVERLOAD_CLUSTERED_ARGS_1' 
    6786 return quad_##METAL_SUFFIX(x); \ 
    6787 
    6788 :102:1: note: expanded from here 
    6789 quad_min 
    6790 
    6791 program_source:392:1: error: implicit declaration of function 'simd_min' is
    6792 invalid in OpenCL 
    6793 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6794 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6795 
    6796 program_source:360:60: note: expanded from macro '\ 
    6797 DECLARE_I_REDUCTION_CLUSTERED' 
    6798 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6799 
    6800 program_source:245:71: note: expanded from macro '\ 
    6801 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6802 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6803 
    6804 program_source:198:12: note: expanded from macro '\ 
    6805 OVERLOAD_CLUSTERED_ARGS_1' 
    6806 return simd_##METAL_SUFFIX(x); \ 
    6807 
    6808 :103:1: note: expanded from here 
    6809 simd_min 
    6810 
    6811 program_source:392:1: error: implicit declaration of function 'quad_min' is
    6812 invalid in OpenCL 
    6813 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6814 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6815 
    6816 program_source:360:60: note: expanded from macro '\ 
    6817 DECLARE_I_REDUCTION_CLUSTERED' 
    6818 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6819 
    6820 program_source:246:59: note: expanded from macro '\ 
    6821 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6822 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6823 
    6824 program_source:196:12: note: expanded from macro '\ 
    6825 OVERLOAD_CLUSTERED_ARGS_1' 
    6826 return quad_##METAL_SUFFIX(x); \ 
    6827 
    6828 :104:1: note: expanded from here 
    6829 quad_min 
    6830 
    6831 program_source:392:1: error: implicit declaration of function 'simd_min' is
    6832 invalid in OpenCL 
    6833 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6834 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6835 
    6836 program_source:360:60: note: expanded from macro '\ 
    6837 DECLARE_I_REDUCTION_CLUSTERED' 
    6838 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6839 
    6840 program_source:246:59: note: expanded from macro '\ 
    6841 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6842 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6843 
    6844 program_source:198:12: note: expanded from macro '\ 
    6845 OVERLOAD_CLUSTERED_ARGS_1' 
    6846 return simd_##METAL_SUFFIX(x); \ 
    6847 
    6848 :105:1: note: expanded from here 
    6849 simd_min 
    6850 
    6851 program_source:392:1: error: implicit declaration of function 'quad_min' is
    6852 invalid in OpenCL 
    6853 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6854 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6855 
    6856 program_source:363:60: note: expanded from macro '\ 
    6857 DECLARE_F_REDUCTION_CLUSTERED' 
    6858 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6859 
    6860 program_source:249:71: note: expanded from macro '\ 
    6861 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6862 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6863 
    6864 program_source:196:12: note: expanded from macro '\ 
    6865 OVERLOAD_CLUSTERED_ARGS_1' 
    6866 return quad_##METAL_SUFFIX(x); \ 
    6867 
    6868 :107:1: note: expanded from here 
    6869 quad_min 
    6870 
    6871 program_source:392:1: error: implicit declaration of function 'simd_min' is
    6872 invalid in OpenCL 
    6873 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6874 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6875 
    6876 program_source:363:60: note: expanded from macro '\ 
    6877 DECLARE_F_REDUCTION_CLUSTERED' 
    6878 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6879 
    6880 program_source:249:71: note: expanded from macro '\ 
    6881 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6882 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6883 
    6884 program_source:198:12: note: expanded from macro '\ 
    6885 OVERLOAD_CLUSTERED_ARGS_1' 
    6886 return simd_##METAL_SUFFIX(x); \ 
    6887 
    6888 :108:1: note: expanded from here 
    6889 simd_min 
    6890 
    6891 program_source:393:1: error: implicit declaration of function 'quad_max' is
    6892 invalid in OpenCL 
    6893 DECLARE_REDUCTION_CLUSTERED(max, reduce_max) 
    6894 
    6895 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6896 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6897 
    6898 program_source:360:60: note: expanded from macro '\ 
    6899 DECLARE_I_REDUCTION_CLUSTERED' 
    6900 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6901 
    6902 program_source:245:71: note: expanded from macro '\ 
    6903 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6904 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6905 
    6906 program_source:196:12: note: expanded from macro '\ 
    6907 OVERLOAD_CLUSTERED_ARGS_1' 
    6908 return quad_##METAL_SUFFIX(x); \ 
    6909 
    6910 :110:1: note: expanded from here 
    6911 quad_max 
    6912 
    6913 program_source:393:1: error: implicit declaration of function 'simd_max' is
    6914 invalid in OpenCL 
    6915 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6916 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6917 
    6918 program_source:360:60: note: expanded from macro '\ 
    6919 DECLARE_I_REDUCTION_CLUSTERED' 
    6920 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6921 
    6922 program_source:245:71: note: expanded from macro '\ 
    6923 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6924 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6925 
    6926 program_source:198:12: note: expanded from macro '\ 
    6927 OVERLOAD_CLUSTERED_ARGS_1' 
    6928 return simd_##METAL_SUFFIX(x); \ 
    6929 
    6930 :111:1: note: expanded from here 
    6931 simd_max 
    6932 
    6933 program_source:393:1: error: implicit declaration of function 'quad_max' is
    6934 invalid in OpenCL 
    6935 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6936 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6937 
    6938 program_source:360:60: note: expanded from macro '\ 
    6939 DECLARE_I_REDUCTION_CLUSTERED' 
    6940 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6941 
    6942 program_source:246:59: note: expanded from macro '\ 
    6943 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6944 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6945 
    6946 program_source:196:12: note: expanded from macro '\ 
    6947 OVERLOAD_CLUSTERED_ARGS_1' 
    6948 return quad_##METAL_SUFFIX(x); \ 
    6949 
    6950 :112:1: note: expanded from here 
    6951 quad_max 
    6952 
    6953 program_source:393:1: error: implicit declaration of function 'simd_max' is
    6954 invalid in OpenCL 
    6955 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6956 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6957 
    6958 program_source:360:60: note: expanded from macro '\ 
    6959 DECLARE_I_REDUCTION_CLUSTERED' 
    6960 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6961 
    6962 program_source:246:59: note: expanded from macro '\ 
    6963 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6964 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6965 
    6966 program_source:198:12: note: expanded from macro '\ 
    6967 OVERLOAD_CLUSTERED_ARGS_1' 
    6968 return simd_##METAL_SUFFIX(x); \ 
    6969 
    6970 :113:1: note: expanded from here 
    6971 simd_max 
    6972 
    6973 program_source:393:1: error: implicit declaration of function 'quad_max' is
    6974 invalid in OpenCL 
    6975 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6976 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6977 
    6978 program_source:363:60: note: expanded from macro '\ 
    6979 DECLARE_F_REDUCTION_CLUSTERED' 
    6980 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6981 
    6982 program_source:249:71: note: expanded from macro '\ 
    6983 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6984 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6985 
    6986 program_source:196:12: note: expanded from macro '\ 
    6987 OVERLOAD_CLUSTERED_ARGS_1' 
    6988 return quad_##METAL_SUFFIX(x); \ 
    6989 
    6990 :115:1: note: expanded from here 
    6991 quad_max 
    6992 
    6993 program_source:393:1: error: implicit declaration of function 'simd_max' is
    6994 invalid in OpenCL 
    6995 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6996 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6997 
    6998 program_source:363:60: note: expanded from macro '\ 
    6999 DECLARE_F_REDUCTION_CLUSTERED' 
    7000 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7001 
    7002 program_source:249:71: note: expanded from macro '\ 
    7003 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    7004 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7005 
    7006 program_source:198:12: note: expanded from macro '\ 
    7007 OVERLOAD_CLUSTERED_ARGS_1' 
    7008 return simd_##METAL_SUFFIX(x); \ 
    7009 
    7010 :116:1: note: expanded from here 
    7011 simd_max 
    7012 
    7013 program_source:395:1: error: implicit declaration of function 'quad_product'
    7014 is invalid in OpenCL 
    7015 DECLARE_REDUCTION_CLUSTERED(product, reduce_mul) 
    7016 
    7017 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    7018 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7019 
    7020 program_source:360:60: note: expanded from macro '\ 
    7021 DECLARE_I_REDUCTION_CLUSTERED' 
    7022 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7023 
    7024 program_source:245:71: note: expanded from macro '\ 
    7025 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7026 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7027 
    7028 program_source:196:12: note: expanded from macro '\ 
    7029 OVERLOAD_CLUSTERED_ARGS_1' 
    7030 return quad_##METAL_SUFFIX(x); \ 
    7031 
    7032 :118:1: note: expanded from here 
    7033 quad_product 
    7034 
    7035 program_source:395:1: error: implicit declaration of function 'simd_product'
    7036 is invalid in OpenCL 
    7037 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    7038 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7039 
    7040 program_source:360:60: note: expanded from macro '\ 
    7041 DECLARE_I_REDUCTION_CLUSTERED' 
    7042 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7043 
    7044 program_source:245:71: note: expanded from macro '\ 
    7045 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7046 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7047 
    7048 program_source:198:12: note: expanded from macro '\ 
    7049 OVERLOAD_CLUSTERED_ARGS_1' 
    7050 return simd_##METAL_SUFFIX(x); \ 
    7051 
    7052 :119:1: note: expanded from here 
    7053 simd_product 
    7054 
    7055 program_source:395:1: error: implicit declaration of function 'quad_product'
    7056 is invalid in OpenCL 
    7057 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    7058 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7059 
    7060 program_source:360:60: note: expanded from macro '\ 
    7061 DECLARE_I_REDUCTION_CLUSTERED' 
    7062 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7063 
    7064 program_source:246:59: note: expanded from macro '\ 
    7065 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7066 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7067 
    7068 program_source:196:12: note: expanded from macro '\ 
    7069 OVERLOAD_CLUSTERED_ARGS_1' 
    7070 return quad_##METAL_SUFFIX(x); \ 
    7071 
    7072 :120:1: note: expanded from here 
    7073 quad_product 
    7074 
    7075 program_source:395:1: error: implicit declaration of function 'simd_product'
    7076 is invalid in OpenCL 
    7077 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    7078 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7079 
    7080 program_source:360:60: note: expanded from macro '\ 
    7081 DECLARE_I_REDUCTION_CLUSTERED' 
    7082 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7083 
    7084 program_source:246:59: note: expanded from macro '\ 
    7085 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7086 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7087 
    7088 program_source:198:12: note: expanded from macro '\ 
    7089 OVERLOAD_CLUSTERED_ARGS_1' 
    7090 return simd_##METAL_SUFFIX(x); \ 
    7091 
    7092 :121:1: note: expanded from here 
    7093 simd_product 
    7094 
    7095 program_source:395:1: error: implicit declaration of function 'quad_product'
    7096 is invalid in OpenCL 
    7097 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    7098 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7099 
    7100 program_source:363:60: note: expanded from macro '\ 
    7101 DECLARE_F_REDUCTION_CLUSTERED' 
    7102 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7103 
    7104 program_source:249:71: note: expanded from macro '\ 
    7105 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    7106 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7107 
    7108 program_source:196:12: note: expanded from macro '\ 
    7109 OVERLOAD_CLUSTERED_ARGS_1' 
    7110 return quad_##METAL_SUFFIX(x); \ 
    7111 
    7112 :123:1: note: expanded from here 
    7113 quad_product 
    7114 
    7115 program_source:395:1: error: implicit declaration of function 'simd_product'
    7116 is invalid in OpenCL 
    7117 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    7118 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7119 
    7120 program_source:363:60: note: expanded from macro '\ 
    7121 DECLARE_F_REDUCTION_CLUSTERED' 
    7122 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7123 
    7124 program_source:249:71: note: expanded from macro '\ 
    7125 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    7126 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7127 
    7128 program_source:198:12: note: expanded from macro '\ 
    7129 OVERLOAD_CLUSTERED_ARGS_1' 
    7130 return simd_##METAL_SUFFIX(x); \ 
    7131 
    7132 :124:1: note: expanded from here 
    7133 simd_product 
    7134 
    7135 program_source:396:1: error: implicit declaration of function 'quad_and' is
    7136 invalid in OpenCL 
    7137 DECLARE_I_REDUCTION_CLUSTERED(and, reduce_and) 
    7138 
    7139 program_source:360:60: note: expanded from macro
    7140 'DECLARE_I_REDUCTION_CLUSTERED' 
    7141 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7142 
    7143 program_source:245:71: note: expanded from macro '\ 
    7144 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7145 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7146 
    7147 program_source:196:12: note: expanded from macro '\ 
    7148 OVERLOAD_CLUSTERED_ARGS_1' 
    7149 return quad_##METAL_SUFFIX(x); \ 
    7150 
    7151 :126:1: note: expanded from here 
    7152 quad_and 
    7153 
    7154 program_source:396:1: error: implicit declaration of function 'simd_and' is
    7155 invalid in OpenCL 
    7156 program_source:360:60: note: expanded from macro
    7157 'DECLARE_I_REDUCTION_CLUSTERED' 
    7158 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7159 
    7160 program_source:245:71: note: expanded from macro '\ 
    7161 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7162 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7163 
    7164 program_source:198:12: note: expanded from macro '\ 
    7165 OVERLOAD_CLUSTERED_ARGS_1' 
    7166 return simd_##METAL_SUFFIX(x); \ 
    7167 
    7168 :127:1: note: expanded from here 
    7169 simd_and 
    7170 
    7171 program_source:396:1: error: implicit declaration of function 'quad_and' is
    7172 invalid in OpenCL 
    7173 program_source:360:60: note: expanded from macro
    7174 'DECLARE_I_REDUCTION_CLUSTERED' 
    7175 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7176 
    7177 program_source:246:59: note: expanded from macro '\ 
    7178 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7179 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7180 
    7181 program_source:196:12: note: expanded from macro '\ 
    7182 OVERLOAD_CLUSTERED_ARGS_1' 
    7183 return quad_##METAL_SUFFIX(x); \ 
    7184 
    7185 :128:1: note: expanded from here 
    7186 quad_and 
    7187 
    7188 program_source:396:1: error: implicit declaration of function 'simd_and' is
    7189 invalid in OpenCL 
    7190 program_source:360:60: note: expanded from macro
    7191 'DECLARE_I_REDUCTION_CLUSTERED' 
    7192 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7193 
    7194 program_source:246:59: note: expanded from macro '\ 
    7195 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7196 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7197 
    7198 program_source:198:12: note: expanded from macro '\ 
    7199 OVERLOAD_CLUSTERED_ARGS_1' 
    7200 return simd_##METAL_SUFFIX(x); \ 
    7201 
    7202 :129:1: note: expanded from here 
    7203 simd_and 
    7204 
    7205 program_source:397:1: error: implicit declaration of function 'quad_or' is
    7206 invalid in OpenCL 
    7207 DECLARE_I_REDUCTION_CLUSTERED(or, reduce_or) 
    7208 
    7209 program_source:360:60: note: expanded from macro
    7210 'DECLARE_I_REDUCTION_CLUSTERED' 
    7211 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7212 
    7213 program_source:245:71: note: expanded from macro '\ 
    7214 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7215 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7216 
    7217 program_source:196:12: note: expanded from macro '\ 
    7218 OVERLOAD_CLUSTERED_ARGS_1' 
    7219 return quad_##METAL_SUFFIX(x); \ 
    7220 
    7221 :131:1: note: expanded from here 
    7222 quad_or 
    7223 
    7224 program_source:397:1: error: implicit declaration of function 'simd_or' is
    7225 invalid in OpenCL 
    7226 program_source:360:60: note: expanded from macro
    7227 'DECLARE_I_REDUCTION_CLUSTERED' 
    7228 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7229 
    7230 program_source:245:71: note: expanded from macro '\ 
    7231 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7232 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7233 
    7234 program_source:198:12: note: expanded from macro '\ 
    7235 OVERLOAD_CLUSTERED_ARGS_1' 
    7236 return simd_##METAL_SUFFIX(x); \ 
    7237 
    7238 :132:1: note: expanded from here 
    7239 simd_or 
    7240 
    7241 program_source:397:1: error: implicit declaration of function 'quad_or' is
    7242 invalid in OpenCL 
    7243 program_source:360:60: note: expanded from macro
    7244 'DECLARE_I_REDUCTION_CLUSTERED' 
    7245 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7246 
    7247 program_source:246:59: note: expanded from macro '\ 
    7248 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7249 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7250 
    7251 program_source:196:12: note: expanded from macro '\ 
    7252 OVERLOAD_CLUSTERED_ARGS_1' 
    7253 return quad_##METAL_SUFFIX(x); \ 
    7254 
    7255 :133:1: note: expanded from here 
    7256 quad_or 
    7257 
    7258 program_source:397:1: error: implicit declaration of function 'simd_or' is
    7259 invalid in OpenCL 
    7260 program_source:360:60: note: expanded from macro
    7261 'DECLARE_I_REDUCTION_CLUSTERED' 
    7262 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7263 
    7264 program_source:246:59: note: expanded from macro '\ 
    7265 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7266 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7267 
    7268 program_source:198:12: note: expanded from macro '\ 
    7269 OVERLOAD_CLUSTERED_ARGS_1' 
    7270 return simd_##METAL_SUFFIX(x); \ 
    7271 
    7272 :134:1: note: expanded from here 
    7273 simd_or 
    7274 
    7275 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    7276 invalid in OpenCL 
    7277 DECLARE_I_REDUCTION_CLUSTERED(xor, reduce_xor) 
    7278 
    7279 program_source:360:60: note: expanded from macro
    7280 'DECLARE_I_REDUCTION_CLUSTERED' 
    7281 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7282 
    7283 program_source:245:71: note: expanded from macro '\ 
    7284 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7285 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7286 
    7287 program_source:196:12: note: expanded from macro '\ 
    7288 OVERLOAD_CLUSTERED_ARGS_1' 
    7289 return quad_##METAL_SUFFIX(x); \ 
    7290 
    7291 :136:1: note: expanded from here 
    7292 quad_xor 
    7293 
    7294 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    7295 invalid in OpenCL 
    7296 program_source:360:60: note: expanded from macro
    7297 'DECLARE_I_REDUCTION_CLUSTERED' 
    7298 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7299 
    7300 program_source:245:71: note: expanded from macro '\ 
    7301 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7302 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7303 
    7304 program_source:198:12: note: expanded from macro '\ 
    7305 OVERLOAD_CLUSTERED_ARGS_1' 
    7306 return simd_##METAL_SUFFIX(x); \ 
    7307 
    7308 :137:1: note: expanded from here 
    7309 simd_xor 
    7310 
    7311 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    7312 invalid in OpenCL 
    7313 program_source:360:60: note: expanded from macro
    7314 'DECLARE_I_REDUCTION_CLUSTERED' 
    7315 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7316 
    7317 program_source:246:59: note: expanded from macro '\ 
    7318 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7319 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7320 
    7321 program_source:196:12: note: expanded from macro '\ 
    7322 OVERLOAD_CLUSTERED_ARGS_1' 
    7323 return quad_##METAL_SUFFIX(x); \ 
    7324 
    7325 :138:1: note: expanded from here 
    7326 quad_xor 
    7327 
    7328 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    7329 invalid in OpenCL 
    7330 program_source:360:60: note: expanded from macro
    7331 'DECLARE_I_REDUCTION_CLUSTERED' 
    7332 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7333 
    7334 program_source:246:59: note: expanded from macro '\ 
    7335 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7336 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7337 
    7338 program_source:198:12: note: expanded from macro '\ 
    7339 OVERLOAD_CLUSTERED_ARGS_1' 
    7340 return simd_##METAL_SUFFIX(x); \ 
    7341 
    7342 :139:1: note: expanded from here 
    7343 simd_xor 
    7344 
    7345 program_source:399:1: error: implicit declaration of function 'simd_and' is
    7346 invalid in OpenCL 
    7347 DECLARE_B_REDUCTION_CLUSTERED(and) 
    7348 
    7349 program_source:369:8: note: expanded from macro
    7350 'DECLARE_B_REDUCTION_CLUSTERED' 
    7351 return simd_##OP(select(0, 1, predicate != 0)); \ 
    7352 
    7353 :141:1: note: expanded from here 
    7354 simd_and 
    7355 
    7356 program_source:399:1: error: implicit declaration of function 'quad_and' is
    7357 invalid in OpenCL 
    7358 program_source:378:12: note: expanded from macro
    7359 'DECLARE_B_REDUCTION_CLUSTERED' 
    7360 return quad_##OP(x); \ 
    7361 
    7362 :143:1: note: expanded from here 
    7363 quad_and 
    7364 
    7365 program_source:399:1: error: implicit declaration of function 'simd_and' is
    7366 invalid in OpenCL 
    7367 program_source:380:12: note: expanded from macro
    7368 'DECLARE_B_REDUCTION_CLUSTERED' 
    7369 return simd_##OP(x); \ 
    7370 
    7371 :144:1: note: expanded from here 
    7372 simd_and 
    7373 
    7374 program_source:400:1: error: implicit declaration of function 'simd_or' is
    7375 invalid in OpenCL 
    7376 DECLARE_B_REDUCTION_CLUSTERED(or) 
    7377 
    7378 program_source:369:8: note: expanded from macro
    7379 'DECLARE_B_REDUCTION_CLUSTERED' 
    7380 return simd_##OP(select(0, 1, predicate != 0)); \ 
    7381 
    7382 :146:1: note: expanded from here 
    7383 simd_or 
    7384 
    7385 program_source:400:1: error: implicit declaration of function 'quad_or' is
    7386 invalid in OpenCL 
    7387 program_source:378:12: note: expanded from macro
    7388 'DECLARE_B_REDUCTION_CLUSTERED' 
    7389 return quad_##OP(x); \ 
    7390 
    7391 :148:1: note: expanded from here 
    7392 quad_or 
    7393 
    7394 program_source:400:1: error: implicit declaration of function 'simd_or' is
    7395 invalid in OpenCL 
    7396 program_source:380:12: note: expanded from macro
    7397 'DECLARE_B_REDUCTION_CLUSTERED' 
    7398 return simd_##OP(x); \ 
    7399 
    7400 :149:1: note: expanded from here 
    7401 simd_or 
    7402 
    7403 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    7404 invalid in OpenCL 
    7405 DECLARE_B_REDUCTION_CLUSTERED(xor) 
    7406 
    7407 program_source:369:8: note: expanded from macro
    7408 'DECLARE_B_REDUCTION_CLUSTERED' 
    7409 return simd_##OP(select(0, 1, predicate != 0)); \ 
    7410 
    7411 :151:1: note: expanded from here 
    7412 simd_xor 
    7413 
    7414 program_source:401:1: error: implicit declaration of function 'quad_xor' is
    7415 invalid in OpenCL 
    7416 program_source:378:12: note: expanded from macro
    7417 'DECLARE_B_REDUCTION_CLUSTERED' 
    7418 return quad_##OP(x); \ 
    7419 
    7420 :153:1: note: expanded from here 
    7421 quad_xor 
    7422 
    7423 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    7424 invalid in OpenCL 
    7425 program_source:380:12: note: expanded from macro
    7426 'DECLARE_B_REDUCTION_CLUSTERED' 
    7427 return simd_##OP(x); \ 
    7428 
    7429 :154:1: note: expanded from here 
    7430 simd_xor 
    7431 
    7432 program_source:403:1: error: implicit declaration of function
    7433 'quad_shuffle_rotate_down' is invalid in OpenCL 
    7434 DECLARE_SHUFFLE_CLUSTERED(shuffle_rotate_down, rotate) 
    7435 
    7436 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7437 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7438 
    7439 program_source:252:69: note: expanded from macro '\ 
    7440 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7441 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    7442 
    7443 program_source:208:12: note: expanded from macro '\ 
    7444 OVERLOAD_CLUSTERED_ARGS_2' 
    7445 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    7446 
    7447 :156:1: note: expanded from here 
    7448 quad_shuffle_rotate_down 
    7449 
    7450 program_source:403:1: error: implicit declaration of function
    7451 'simd_shuffle_rotate_down' is invalid in OpenCL 
    7452 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7453 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7454 
    7455 program_source:252:69: note: expanded from macro '\ 
    7456 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7457 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    7458 
    7459 program_source:210:12: note: expanded from macro '\ 
    7460 OVERLOAD_CLUSTERED_ARGS_2' 
    7461 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    7462 
    7463 :157:1: note: expanded from here 
    7464 simd_shuffle_rotate_down 
    7465 
    7466 program_source:403:1: error: implicit declaration of function
    7467 'quad_shuffle_rotate_down' is invalid in OpenCL 
    7468 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7469 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7470 
    7471 program_source:253:59: note: expanded from macro '\ 
    7472 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7473 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7474 
    7475 program_source:208:12: note: expanded from macro '\ 
    7476 OVERLOAD_CLUSTERED_ARGS_2' 
    7477 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    7478 
    7479 :158:1: note: expanded from here 
    7480 quad_shuffle_rotate_down 
    7481 
    7482 program_source:403:1: error: implicit declaration of function
    7483 'simd_shuffle_rotate_down' is invalid in OpenCL 
    7484 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7485 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7486 
    7487 program_source:253:59: note: expanded from macro '\ 
    7488 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7489 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7490 
    7491 program_source:210:12: note: expanded from macro '\ 
    7492 OVERLOAD_CLUSTERED_ARGS_2' 
    7493 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    7494 
    7495 :159:1: note: expanded from here 
    7496 simd_shuffle_rotate_down 
    7497 
    7498 program_source:403:1: error: implicit declaration of function
    7499 'quad_shuffle_rotate_down' is invalid in OpenCL 
    7500 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7501 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7502 
    7503 program_source:254:60: note: expanded from macro '\ 
    7504 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7505 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    7506 
    7507 program_source:208:12: note: expanded from macro '\ 
    7508 OVERLOAD_CLUSTERED_ARGS_2' 
    7509 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    7510 
    7511 :160:1: note: expanded from here 
    7512 quad_shuffle_rotate_down 
    7513 
    7514 program_source:403:1: error: implicit declaration of function
    7515 'simd_shuffle_rotate_down' is invalid in OpenCL 
    7516 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7517 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7518 
    7519 program_source:254:60: note: expanded from macro '\ 
    7520 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7521 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    7522 
    7523 program_source:210:12: note: expanded from macro '\ 
    7524 OVERLOAD_CLUSTERED_ARGS_2' 
    7525 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    7526 
    7527 :161:1: note: expanded from here 
    7528 simd_shuffle_rotate_down 
    7529 
    7530 program_source:409:1: error: illegal string literal in 'asm' 
    7531 EXPOSE_BALLOT(simd_is_first, , bool, ) 
    7532 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7533 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7534 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7535 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7536 program_source:410:1: error: illegal string literal in 'asm' 
    7537 EXPOSE_BALLOT(simd_all, bool expr, bool, ) 
    7538 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7539 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7540 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7541 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7542 program_source:411:1: error: illegal string literal in 'asm' 
    7543 EXPOSE_BALLOT(simd_any, bool expr, bool, ) 
    7544 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7545 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7546 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7547 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7548 program_source:412:1: error: illegal string literal in 'asm' 
    7549 EXPOSE_BALLOT(simd_ballot, bool expr, ulong, .i64) 
    7550 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7551 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7552 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7553 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7554 program_source:413:1: error: illegal string literal in 'asm' 
    7555 EXPOSE_BALLOT(simd_active_threads_mask, , ulong, .i64) 
    7556 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7557 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7558 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7559 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7560 program_source:415:1: error: illegal string literal in 'asm' 
    7561 EXPOSE_BALLOT(quad_is_first, , bool, ) 
    7562 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7563 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7564 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7565 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7566 program_source:416:1: error: illegal string literal in 'asm' 
    7567 EXPOSE_BALLOT(quad_all, bool expr, bool, ) 
    7568 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7569 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7570 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7571 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7572 program_source:417:1: error: illegal string literal in 'asm' 
    7573 EXPOSE_BALLOT(quad_any, bool expr, bool, ) 
    7574 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7575 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7576 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7577 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7578 program_source:418:1: error: illegal string literal in 'asm' 
    7579 EXPOSE_BALLOT(quad_ballot, bool expr, ushort, ) 
    7580 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7581 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7582 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7583 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7584 program_source:419:1: error: illegal string literal in 'asm' 
    7585 EXPOSE_BALLOT(quad_active_threads_mask, , ushort, ) 
    7586 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7587 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7588 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7589 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7590 program_source:422:23: error: implicit declaration of function 'simd_is_first'
    7591 is invalid in OpenCL 
    7592 return select(0, 1, simd_is_first()); 
    7593 
    7594 program_source:426:23: error: implicit declaration of function 'simd_all' is
    7595 invalid in OpenCL 
    7596 return select(0, 1, simd_all(predicate != 0)); 
    7597 
    7598 program_source:430:23: error: implicit declaration of function 'simd_any' is
    7599 invalid in OpenCL 
    7600 return select(0, 1, simd_any(predicate != 0)); 
    7601 
    7602 program_source:434:23: error: implicit declaration of function 'simd_all' is
    7603 invalid in OpenCL 
    7604 return select(0, 1, simd_all(predicate != 0)); 
    7605 
    7606 program_source:438:23: error: implicit declaration of function 'simd_any' is
    7607 invalid in OpenCL 
    7608 return select(0, 1, simd_any(predicate != 0)); 
    7609 
    7610 program_source:443:14: error: implicit declaration of function 'simd_ballot'
    7611 is invalid in OpenCL 
    7612 output.x = simd_ballot(predicate != 0); 
    7613 
    7614 program_source:480:9: error: illegal string literal in 'asm' 
    7615 __asm("air.simdgroup.barrier"); 
    7616 ^~~~~~~~~~~~~~~~~~~~~~~ 
    7617 program_source:487:3: error: implicit declaration of function
    7618 '__metal_simdgroup_barrier' is invalid in OpenCL 
    7619 __metal_simdgroup_barrier(flags, 1); 
    7620 
    7621 program_source:487:3: note: did you mean 'simdgroup_barrier'? 
    7622 program_source:483:6: note: 'simdgroup_barrier' declared here 
    7623 void simdgroup_barrier(int flags) { 
    7624 
    7625 program_source:681:9: error: implicit declaration of function 'simd_is_first'
    7626 is invalid in OpenCL 
    7627 if (simd_is_first()) { 
    7628 
    7629 program_source:673:45: warning: comparison of integers of different signs:
    7630 '__private unsigned int' and '__private int' [-Wsign-compare] 
    7631 for (unsigned int index = thread; index < bufferSize; index +=
    7632 get_local_size(0)) 
    7633 ~~~~~ ^ ~~~~~~~~~~ 
    7634 program_source:685:45: warning: comparison of integers of different signs:
    7635 'unsigned int' and '__private int' [-Wsign-compare] 
    7636 if (thread%(32*2) == 0 && thread+32 < workGroupSize) 
    7637 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    7638 program_source:689:45: warning: comparison of integers of different signs:
    7639 'unsigned int' and '__private int' [-Wsign-compare] 
    7640 if (thread%(64*2) == 0 && thread+64 < workGroupSize) 
    7641 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    7642 program_source:693:47: warning: comparison of integers of different signs:
    7643 'unsigned int' and '__private int' [-Wsign-compare] 
    7644 if (thread%(128*2) == 0 && thread+128 < workGroupSize) 
    7645 ~~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    7646  
    7647  
    7648 File
    7649 "/Applications/ChimeraX-1.8.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7650 packages/openmm/openmm.py", line 2469, in __init__ 
    7651 _openmm.Context_swiginit(self, _openmm.new_Context(*args)) 
    7652 ^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7653  
    7654 See log for complete Python traceback. 
    7655  
    7656 
    7657 > isolde sim start /A
    7658 
    7659 Traceback (most recent call last): 
    7660 File
    7661 "/Applications/ChimeraX-1.8.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7662 packages/chimerax/toolbar/tool.py", line 205, in callback 
    7663 bundle_info.run_provider(session, name, session.toolbar,
    7664 display_name=display_name) 
    7665 File
    7666 "/Applications/ChimeraX-1.8.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7667 packages/chimerax/core/toolshed/info.py", line 397, in run_provider 
    7668 return api._api_caller.run_provider(api, session, name, mgr, **kw) 
    7669 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7670 File
    7671 "/Applications/ChimeraX-1.8.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7672 packages/chimerax/core/toolshed/__init__.py", line 1306, in run_provider 
    7673 return cls._get_func(api, "run_provider")(session, name, mgr, **kw) 
    7674 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7675 File "/Users/grm784/Library/Application Support/ChimeraX/1.8/lib/python/site-
    7676 packages/chimerax/isolde/__init__.py", line 184, in run_provider 
    7677 toolbar_command(session, name) 
    7678 File "/Users/grm784/Library/Application Support/ChimeraX/1.8/lib/python/site-
    7679 packages/chimerax/isolde/toolbar.py", line 21, in toolbar_command 
    7680 run(session, f'isolde sim start {_current_residue_sel_string(session)}') 
    7681 File
    7682 "/Applications/ChimeraX-1.8.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7683 packages/chimerax/core/commands/run.py", line 49, in run 
    7684 results = command.run(text, log=log, return_json=return_json) 
    7685 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7686 File
    7687 "/Applications/ChimeraX-1.8.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7688 packages/chimerax/core/commands/cli.py", line 3213, in run 
    7689 result = ci.function(session, **kw_args) 
    7690 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7691 File "/Users/grm784/Library/Application Support/ChimeraX/1.8/lib/python/site-
    7692 packages/chimerax/isolde/cmd/cmd.py", line 122, in isolde_sim 
    7693 isolde.start_sim() 
    7694 File "/Users/grm784/Library/Application Support/ChimeraX/1.8/lib/python/site-
    7695 packages/chimerax/isolde/isolde.py", line 896, in start_sim 
    7696 sm.start_sim() 
    7697 File "/Users/grm784/Library/Application Support/ChimeraX/1.8/lib/python/site-
    7698 packages/chimerax/isolde/openmm/openmm_interface.py", line 401, in start_sim 
    7699 sh.start_sim() 
    7700 File "/Users/grm784/Library/Application Support/ChimeraX/1.8/lib/python/site-
    7701 packages/chimerax/isolde/openmm/openmm_interface.py", line 1432, in start_sim 
    7702 self._prepare_sim() 
    7703 File "/Users/grm784/Library/Application Support/ChimeraX/1.8/lib/python/site-
    7704 packages/chimerax/isolde/openmm/openmm_interface.py", line 1377, in
    7705 _prepare_sim 
    7706 s = self._simulation = app.Simulation(self.topology, self._system, 
    7707 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7708 File
    7709 "/Applications/ChimeraX-1.8.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7710 packages/openmm/app/simulation.py", line 103, in __init__ 
    7711 self.context = mm.Context(self.system, self.integrator, platform,
    7712 platformProperties) 
    7713 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7714 File
    7715 "/Applications/ChimeraX-1.8.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7716 packages/openmm/openmm.py", line 2469, in __init__ 
    7717 _openmm.Context_swiginit(self, _openmm.new_Context(*args)) 
    7718 ^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7719 openmm.OpenMMException: Error compiling kernel: program_source:279:1: error:
    7720 illegal string literal in 'asm' 
    7721 DECLARE_REDUCTION_BASE(sum) 
    7722 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7723 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7724 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7725 
    7726 program_source:263:44: note: expanded from macro '\ 
    7727 DECLARE_I_REDUCTION_BASE' 
    7728 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7729 
    7730 program_source:217:40: note: expanded from macro '\ 
    7731 EXPOSE_FUNCTION_I_ARGS_1' 
    7732 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7733 
    7734 program_source:164:9: note: expanded from macro '\ 
    7735 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7736 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7737 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7738 program_source:279:1: error: illegal string literal in 'asm' 
    7739 DECLARE_REDUCTION_BASE(sum) 
    7740 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7741 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7742 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7743 
    7744 program_source:263:44: note: expanded from macro '\ 
    7745 DECLARE_I_REDUCTION_BASE' 
    7746 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7747 
    7748 program_source:218:51: note: expanded from macro '\ 
    7749 EXPOSE_FUNCTION_I_ARGS_1' 
    7750 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7751 
    7752 program_source:164:9: note: expanded from macro '\ 
    7753 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7754 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7755 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7756 program_source:279:1: error: illegal string literal in 'asm' 
    7757 DECLARE_REDUCTION_BASE(sum) 
    7758 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7759 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7760 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7761 
    7762 program_source:264:43: note: expanded from macro '\ 
    7763 DECLARE_I_REDUCTION_BASE' 
    7764 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7765 
    7766 program_source:217:40: note: expanded from macro '\ 
    7767 EXPOSE_FUNCTION_I_ARGS_1' 
    7768 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7769 
    7770 program_source:164:9: note: expanded from macro '\ 
    7771 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7772 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7773 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7774 program_source:279:1: error: illegal string literal in 'asm' 
    7775 DECLARE_REDUCTION_BASE(sum) 
    7776 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7777 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7778 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7779 
    7780 program_source:264:43: note: expanded from macro '\ 
    7781 DECLARE_I_REDUCTION_BASE' 
    7782 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7783 
    7784 program_source:218:51: note: expanded from macro '\ 
    7785 EXPOSE_FUNCTION_I_ARGS_1' 
    7786 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7787 
    7788 program_source:164:9: note: expanded from macro '\ 
    7789 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7790 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7791 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7792 program_source:279:1: error: illegal string literal in 'asm' 
    7793 DECLARE_REDUCTION_BASE(sum) 
    7794 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7795 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7796 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7797 
    7798 program_source:267:44: note: expanded from macro '\ 
    7799 DECLARE_F_REDUCTION_BASE' 
    7800 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    7801 
    7802 program_source:221:40: note: expanded from macro '\ 
    7803 EXPOSE_FUNCTION_F_ARGS_1' 
    7804 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7805 
    7806 program_source:164:9: note: expanded from macro '\ 
    7807 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7808 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7809 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7810 program_source:279:1: error: illegal string literal in 'asm' 
    7811 DECLARE_REDUCTION_BASE(sum) 
    7812 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7813 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7814 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7815 
    7816 program_source:268:43: note: expanded from macro '\ 
    7817 DECLARE_F_REDUCTION_BASE' 
    7818 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    7819 
    7820 program_source:221:40: note: expanded from macro '\ 
    7821 EXPOSE_FUNCTION_F_ARGS_1' 
    7822 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7823 
    7824 program_source:164:9: note: expanded from macro '\ 
    7825 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7826 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7827 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7828 program_source:280:1: error: illegal string literal in 'asm' 
    7829 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7830 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7831 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7832 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7833 
    7834 program_source:263:44: note: expanded from macro '\ 
    7835 DECLARE_I_REDUCTION_BASE' 
    7836 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7837 
    7838 program_source:217:40: note: expanded from macro '\ 
    7839 EXPOSE_FUNCTION_I_ARGS_1' 
    7840 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7841 
    7842 program_source:164:9: note: expanded from macro '\ 
    7843 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7844 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7845 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7846 program_source:280:1: error: illegal string literal in 'asm' 
    7847 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7848 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7849 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7850 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7851 
    7852 program_source:263:44: note: expanded from macro '\ 
    7853 DECLARE_I_REDUCTION_BASE' 
    7854 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7855 
    7856 program_source:218:51: note: expanded from macro '\ 
    7857 EXPOSE_FUNCTION_I_ARGS_1' 
    7858 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7859 
    7860 program_source:164:9: note: expanded from macro '\ 
    7861 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7862 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7863 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7864 program_source:280:1: error: illegal string literal in 'asm' 
    7865 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7866 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7867 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7868 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7869 
    7870 program_source:264:43: note: expanded from macro '\ 
    7871 DECLARE_I_REDUCTION_BASE' 
    7872 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7873 
    7874 program_source:217:40: note: expanded from macro '\ 
    7875 EXPOSE_FUNCTION_I_ARGS_1' 
    7876 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7877 
    7878 program_source:164:9: note: expanded from macro '\ 
    7879 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7880 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7881 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7882 program_source:280:1: error: illegal string literal in 'asm' 
    7883 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7884 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7885 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7886 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7887 
    7888 program_source:264:43: note: expanded from macro '\ 
    7889 DECLARE_I_REDUCTION_BASE' 
    7890 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7891 
    7892 program_source:218:51: note: expanded from macro '\ 
    7893 EXPOSE_FUNCTION_I_ARGS_1' 
    7894 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7895 
    7896 program_source:164:9: note: expanded from macro '\ 
    7897 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7898 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7899 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7900 program_source:280:1: error: illegal string literal in 'asm' 
    7901 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7902 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7903 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7904 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7905 
    7906 program_source:267:44: note: expanded from macro '\ 
    7907 DECLARE_F_REDUCTION_BASE' 
    7908 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    7909 
    7910 program_source:221:40: note: expanded from macro '\ 
    7911 EXPOSE_FUNCTION_F_ARGS_1' 
    7912 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7913 
    7914 program_source:164:9: note: expanded from macro '\ 
    7915 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7916 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7917 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7918 program_source:280:1: error: illegal string literal in 'asm' 
    7919 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7920 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7921 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7922 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7923 
    7924 program_source:268:43: note: expanded from macro '\ 
    7925 DECLARE_F_REDUCTION_BASE' 
    7926 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    7927 
    7928 program_source:221:40: note: expanded from macro '\ 
    7929 EXPOSE_FUNCTION_F_ARGS_1' 
    7930 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7931 
    7932 program_source:164:9: note: expanded from macro '\ 
    7933 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7934 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7935 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7936 program_source:281:1: error: illegal string literal in 'asm' 
    7937 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7938 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7939 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7940 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7941 
    7942 program_source:263:44: note: expanded from macro '\ 
    7943 DECLARE_I_REDUCTION_BASE' 
    7944 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7945 
    7946 program_source:217:40: note: expanded from macro '\ 
    7947 EXPOSE_FUNCTION_I_ARGS_1' 
    7948 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7949 
    7950 program_source:164:9: note: expanded from macro '\ 
    7951 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7952 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7953 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7954 program_source:281:1: error: illegal string literal in 'asm' 
    7955 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7956 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7957 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7958 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7959 
    7960 program_source:263:44: note: expanded from macro '\ 
    7961 DECLARE_I_REDUCTION_BASE' 
    7962 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7963 
    7964 program_source:218:51: note: expanded from macro '\ 
    7965 EXPOSE_FUNCTION_I_ARGS_1' 
    7966 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7967 
    7968 program_source:164:9: note: expanded from macro '\ 
    7969 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7970 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7971 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7972 program_source:281:1: error: illegal string literal in 'asm' 
    7973 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7974 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7975 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7976 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7977 
    7978 program_source:264:43: note: expanded from macro '\ 
    7979 DECLARE_I_REDUCTION_BASE' 
    7980 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7981 
    7982 program_source:217:40: note: expanded from macro '\ 
    7983 EXPOSE_FUNCTION_I_ARGS_1' 
    7984 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7985 
    7986 program_source:164:9: note: expanded from macro '\ 
    7987 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7988 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7989 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7990 program_source:281:1: error: illegal string literal in 'asm' 
    7991 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7992 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7993 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7994 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7995 
    7996 program_source:264:43: note: expanded from macro '\ 
    7997 DECLARE_I_REDUCTION_BASE' 
    7998 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7999 
    8000 program_source:218:51: note: expanded from macro '\ 
    8001 EXPOSE_FUNCTION_I_ARGS_1' 
    8002 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8003 
    8004 program_source:164:9: note: expanded from macro '\ 
    8005 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8006 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8007 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8008 program_source:281:1: error: illegal string literal in 'asm' 
    8009 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    8010 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8011 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8012 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8013 
    8014 program_source:267:44: note: expanded from macro '\ 
    8015 DECLARE_F_REDUCTION_BASE' 
    8016 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8017 
    8018 program_source:221:40: note: expanded from macro '\ 
    8019 EXPOSE_FUNCTION_F_ARGS_1' 
    8020 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8021 
    8022 program_source:164:9: note: expanded from macro '\ 
    8023 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8024 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8025 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8026 program_source:281:1: error: illegal string literal in 'asm' 
    8027 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    8028 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8029 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8030 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8031 
    8032 program_source:268:43: note: expanded from macro '\ 
    8033 DECLARE_F_REDUCTION_BASE' 
    8034 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8035 
    8036 program_source:221:40: note: expanded from macro '\ 
    8037 EXPOSE_FUNCTION_F_ARGS_1' 
    8038 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8039 
    8040 program_source:164:9: note: expanded from macro '\ 
    8041 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8042 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8043 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8044 program_source:282:1: error: illegal string literal in 'asm' 
    8045 DECLARE_REDUCTION_BASE(min) 
    8046 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8047 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8048 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8049 
    8050 program_source:263:44: note: expanded from macro '\ 
    8051 DECLARE_I_REDUCTION_BASE' 
    8052 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8053 
    8054 program_source:217:40: note: expanded from macro '\ 
    8055 EXPOSE_FUNCTION_I_ARGS_1' 
    8056 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8057 
    8058 program_source:164:9: note: expanded from macro '\ 
    8059 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8060 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8061 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8062 program_source:282:1: error: illegal string literal in 'asm' 
    8063 DECLARE_REDUCTION_BASE(min) 
    8064 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8065 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8066 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8067 
    8068 program_source:263:44: note: expanded from macro '\ 
    8069 DECLARE_I_REDUCTION_BASE' 
    8070 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8071 
    8072 program_source:218:51: note: expanded from macro '\ 
    8073 EXPOSE_FUNCTION_I_ARGS_1' 
    8074 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8075 
    8076 program_source:164:9: note: expanded from macro '\ 
    8077 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8078 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8079 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8080 program_source:282:1: error: illegal string literal in 'asm' 
    8081 DECLARE_REDUCTION_BASE(min) 
    8082 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8083 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8084 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8085 
    8086 program_source:264:43: note: expanded from macro '\ 
    8087 DECLARE_I_REDUCTION_BASE' 
    8088 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8089 
    8090 program_source:217:40: note: expanded from macro '\ 
    8091 EXPOSE_FUNCTION_I_ARGS_1' 
    8092 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8093 
    8094 program_source:164:9: note: expanded from macro '\ 
    8095 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8096 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8097 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8098 program_source:282:1: error: illegal string literal in 'asm' 
    8099 DECLARE_REDUCTION_BASE(min) 
    8100 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8101 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8102 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8103 
    8104 program_source:264:43: note: expanded from macro '\ 
    8105 DECLARE_I_REDUCTION_BASE' 
    8106 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8107 
    8108 program_source:218:51: note: expanded from macro '\ 
    8109 EXPOSE_FUNCTION_I_ARGS_1' 
    8110 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8111 
    8112 program_source:164:9: note: expanded from macro '\ 
    8113 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8114 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8115 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8116 program_source:282:1: error: illegal string literal in 'asm' 
    8117 DECLARE_REDUCTION_BASE(min) 
    8118 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8119 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8120 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8121 
    8122 program_source:267:44: note: expanded from macro '\ 
    8123 DECLARE_F_REDUCTION_BASE' 
    8124 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8125 
    8126 program_source:221:40: note: expanded from macro '\ 
    8127 EXPOSE_FUNCTION_F_ARGS_1' 
    8128 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8129 
    8130 program_source:164:9: note: expanded from macro '\ 
    8131 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8132 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8133 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8134 program_source:282:1: error: illegal string literal in 'asm' 
    8135 DECLARE_REDUCTION_BASE(min) 
    8136 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8137 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8138 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8139 
    8140 program_source:268:43: note: expanded from macro '\ 
    8141 DECLARE_F_REDUCTION_BASE' 
    8142 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8143 
    8144 program_source:221:40: note: expanded from macro '\ 
    8145 EXPOSE_FUNCTION_F_ARGS_1' 
    8146 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8147 
    8148 program_source:164:9: note: expanded from macro '\ 
    8149 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8150 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8151 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8152 program_source:283:1: error: illegal string literal in 'asm' 
    8153 DECLARE_REDUCTION_BASE(max) 
    8154 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8155 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8156 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8157 
    8158 program_source:263:44: note: expanded from macro '\ 
    8159 DECLARE_I_REDUCTION_BASE' 
    8160 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8161 
    8162 program_source:217:40: note: expanded from macro '\ 
    8163 EXPOSE_FUNCTION_I_ARGS_1' 
    8164 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8165 
    8166 program_source:164:9: note: expanded from macro '\ 
    8167 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8168 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8169 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8170 program_source:283:1: error: illegal string literal in 'asm' 
    8171 DECLARE_REDUCTION_BASE(max) 
    8172 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8173 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8174 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8175 
    8176 program_source:263:44: note: expanded from macro '\ 
    8177 DECLARE_I_REDUCTION_BASE' 
    8178 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8179 
    8180 program_source:218:51: note: expanded from macro '\ 
    8181 EXPOSE_FUNCTION_I_ARGS_1' 
    8182 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8183 
    8184 program_source:164:9: note: expanded from macro '\ 
    8185 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8186 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8187 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8188 program_source:283:1: error: illegal string literal in 'asm' 
    8189 DECLARE_REDUCTION_BASE(max) 
    8190 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8191 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8192 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8193 
    8194 program_source:264:43: note: expanded from macro '\ 
    8195 DECLARE_I_REDUCTION_BASE' 
    8196 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8197 
    8198 program_source:217:40: note: expanded from macro '\ 
    8199 EXPOSE_FUNCTION_I_ARGS_1' 
    8200 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8201 
    8202 program_source:164:9: note: expanded from macro '\ 
    8203 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8204 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8205 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8206 program_source:283:1: error: illegal string literal in 'asm' 
    8207 DECLARE_REDUCTION_BASE(max) 
    8208 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8209 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8210 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8211 
    8212 program_source:264:43: note: expanded from macro '\ 
    8213 DECLARE_I_REDUCTION_BASE' 
    8214 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8215 
    8216 program_source:218:51: note: expanded from macro '\ 
    8217 EXPOSE_FUNCTION_I_ARGS_1' 
    8218 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8219 
    8220 program_source:164:9: note: expanded from macro '\ 
    8221 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8222 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8223 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8224 program_source:283:1: error: illegal string literal in 'asm' 
    8225 DECLARE_REDUCTION_BASE(max) 
    8226 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8227 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8228 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8229 
    8230 program_source:267:44: note: expanded from macro '\ 
    8231 DECLARE_F_REDUCTION_BASE' 
    8232 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8233 
    8234 program_source:221:40: note: expanded from macro '\ 
    8235 EXPOSE_FUNCTION_F_ARGS_1' 
    8236 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8237 
    8238 program_source:164:9: note: expanded from macro '\ 
    8239 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8240 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8241 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8242 program_source:283:1: error: illegal string literal in 'asm' 
    8243 DECLARE_REDUCTION_BASE(max) 
    8244 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8245 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8246 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8247 
    8248 program_source:268:43: note: expanded from macro '\ 
    8249 DECLARE_F_REDUCTION_BASE' 
    8250 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8251 
    8252 program_source:221:40: note: expanded from macro '\ 
    8253 EXPOSE_FUNCTION_F_ARGS_1' 
    8254 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8255 
    8256 program_source:164:9: note: expanded from macro '\ 
    8257 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8258 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8259 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8260 program_source:285:1: error: illegal string literal in 'asm' 
    8261 DECLARE_REDUCTION_BASE(product) 
    8262 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8263 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8264 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8265 
    8266 program_source:263:44: note: expanded from macro '\ 
    8267 DECLARE_I_REDUCTION_BASE' 
    8268 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8269 
    8270 program_source:217:40: note: expanded from macro '\ 
    8271 EXPOSE_FUNCTION_I_ARGS_1' 
    8272 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8273 
    8274 program_source:164:9: note: expanded from macro '\ 
    8275 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8276 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8277 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8278 program_source:285:1: error: illegal string literal in 'asm' 
    8279 DECLARE_REDUCTION_BASE(product) 
    8280 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8281 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8282 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8283 
    8284 program_source:263:44: note: expanded from macro '\ 
    8285 DECLARE_I_REDUCTION_BASE' 
    8286 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8287 
    8288 program_source:218:51: note: expanded from macro '\ 
    8289 EXPOSE_FUNCTION_I_ARGS_1' 
    8290 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8291 
    8292 program_source:164:9: note: expanded from macro '\ 
    8293 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8294 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8295 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8296 program_source:285:1: error: illegal string literal in 'asm' 
    8297 DECLARE_REDUCTION_BASE(product) 
    8298 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8299 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8300 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8301 
    8302 program_source:264:43: note: expanded from macro '\ 
    8303 DECLARE_I_REDUCTION_BASE' 
    8304 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8305 
    8306 program_source:217:40: note: expanded from macro '\ 
    8307 EXPOSE_FUNCTION_I_ARGS_1' 
    8308 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8309 
    8310 program_source:164:9: note: expanded from macro '\ 
    8311 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8312 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8313 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8314 program_source:285:1: error: illegal string literal in 'asm' 
    8315 DECLARE_REDUCTION_BASE(product) 
    8316 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8317 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8318 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8319 
    8320 program_source:264:43: note: expanded from macro '\ 
    8321 DECLARE_I_REDUCTION_BASE' 
    8322 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8323 
    8324 program_source:218:51: note: expanded from macro '\ 
    8325 EXPOSE_FUNCTION_I_ARGS_1' 
    8326 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8327 
    8328 program_source:164:9: note: expanded from macro '\ 
    8329 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8330 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8331 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8332 program_source:285:1: error: illegal string literal in 'asm' 
    8333 DECLARE_REDUCTION_BASE(product) 
    8334 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8335 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8336 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8337 
    8338 program_source:267:44: note: expanded from macro '\ 
    8339 DECLARE_F_REDUCTION_BASE' 
    8340 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8341 
    8342 program_source:221:40: note: expanded from macro '\ 
    8343 EXPOSE_FUNCTION_F_ARGS_1' 
    8344 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8345 
    8346 program_source:164:9: note: expanded from macro '\ 
    8347 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8348 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8349 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8350 program_source:285:1: error: illegal string literal in 'asm' 
    8351 DECLARE_REDUCTION_BASE(product) 
    8352 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8353 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8354 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8355 
    8356 program_source:268:43: note: expanded from macro '\ 
    8357 DECLARE_F_REDUCTION_BASE' 
    8358 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8359 
    8360 program_source:221:40: note: expanded from macro '\ 
    8361 EXPOSE_FUNCTION_F_ARGS_1' 
    8362 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8363 
    8364 program_source:164:9: note: expanded from macro '\ 
    8365 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8366 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8367 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8368 program_source:286:1: error: illegal string literal in 'asm' 
    8369 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8370 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8371 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8372 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8373 
    8374 program_source:263:44: note: expanded from macro '\ 
    8375 DECLARE_I_REDUCTION_BASE' 
    8376 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8377 
    8378 program_source:217:40: note: expanded from macro '\ 
    8379 EXPOSE_FUNCTION_I_ARGS_1' 
    8380 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8381 
    8382 program_source:164:9: note: expanded from macro '\ 
    8383 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8384 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8385 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8386 program_source:286:1: error: illegal string literal in 'asm' 
    8387 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8388 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8389 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8390 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8391 
    8392 program_source:263:44: note: expanded from macro '\ 
    8393 DECLARE_I_REDUCTION_BASE' 
    8394 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8395 
    8396 program_source:218:51: note: expanded from macro '\ 
    8397 EXPOSE_FUNCTION_I_ARGS_1' 
    8398 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8399 
    8400 program_source:164:9: note: expanded from macro '\ 
    8401 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8402 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8403 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8404 program_source:286:1: error: illegal string literal in 'asm' 
    8405 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8406 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8407 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8408 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8409 
    8410 program_source:264:43: note: expanded from macro '\ 
    8411 DECLARE_I_REDUCTION_BASE' 
    8412 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8413 
    8414 program_source:217:40: note: expanded from macro '\ 
    8415 EXPOSE_FUNCTION_I_ARGS_1' 
    8416 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8417 
    8418 program_source:164:9: note: expanded from macro '\ 
    8419 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8420 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8421 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8422 program_source:286:1: error: illegal string literal in 'asm' 
    8423 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8424 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8425 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8426 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8427 
    8428 program_source:264:43: note: expanded from macro '\ 
    8429 DECLARE_I_REDUCTION_BASE' 
    8430 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8431 
    8432 program_source:218:51: note: expanded from macro '\ 
    8433 EXPOSE_FUNCTION_I_ARGS_1' 
    8434 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8435 
    8436 program_source:164:9: note: expanded from macro '\ 
    8437 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8438 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8439 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8440 program_source:286:1: error: illegal string literal in 'asm' 
    8441 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8442 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8443 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8444 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8445 
    8446 program_source:267:44: note: expanded from macro '\ 
    8447 DECLARE_F_REDUCTION_BASE' 
    8448 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8449 
    8450 program_source:221:40: note: expanded from macro '\ 
    8451 EXPOSE_FUNCTION_F_ARGS_1' 
    8452 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8453 
    8454 program_source:164:9: note: expanded from macro '\ 
    8455 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8456 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8457 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8458 program_source:286:1: error: illegal string literal in 'asm' 
    8459 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8460 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8461 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8462 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8463 
    8464 program_source:268:43: note: expanded from macro '\ 
    8465 DECLARE_F_REDUCTION_BASE' 
    8466 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8467 
    8468 program_source:221:40: note: expanded from macro '\ 
    8469 EXPOSE_FUNCTION_F_ARGS_1' 
    8470 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8471 
    8472 program_source:164:9: note: expanded from macro '\ 
    8473 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8474 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8475 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8476 program_source:287:1: error: illegal string literal in 'asm' 
    8477 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8478 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8479 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8480 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8481 
    8482 program_source:263:44: note: expanded from macro '\ 
    8483 DECLARE_I_REDUCTION_BASE' 
    8484 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8485 
    8486 program_source:217:40: note: expanded from macro '\ 
    8487 EXPOSE_FUNCTION_I_ARGS_1' 
    8488 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8489 
    8490 program_source:164:9: note: expanded from macro '\ 
    8491 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8492 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8493 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8494 program_source:287:1: error: illegal string literal in 'asm' 
    8495 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8496 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8497 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8498 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8499 
    8500 program_source:263:44: note: expanded from macro '\ 
    8501 DECLARE_I_REDUCTION_BASE' 
    8502 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8503 
    8504 program_source:218:51: note: expanded from macro '\ 
    8505 EXPOSE_FUNCTION_I_ARGS_1' 
    8506 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8507 
    8508 program_source:164:9: note: expanded from macro '\ 
    8509 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8510 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8511 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8512 program_source:287:1: error: illegal string literal in 'asm' 
    8513 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8514 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8515 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8516 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8517 
    8518 program_source:264:43: note: expanded from macro '\ 
    8519 DECLARE_I_REDUCTION_BASE' 
    8520 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8521 
    8522 program_source:217:40: note: expanded from macro '\ 
    8523 EXPOSE_FUNCTION_I_ARGS_1' 
    8524 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8525 
    8526 program_source:164:9: note: expanded from macro '\ 
    8527 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8528 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8529 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8530 program_source:287:1: error: illegal string literal in 'asm' 
    8531 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8532 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8533 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8534 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8535 
    8536 program_source:264:43: note: expanded from macro '\ 
    8537 DECLARE_I_REDUCTION_BASE' 
    8538 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8539 
    8540 program_source:218:51: note: expanded from macro '\ 
    8541 EXPOSE_FUNCTION_I_ARGS_1' 
    8542 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8543 
    8544 program_source:164:9: note: expanded from macro '\ 
    8545 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8546 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8547 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8548 program_source:287:1: error: illegal string literal in 'asm' 
    8549 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8550 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8551 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8552 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8553 
    8554 program_source:267:44: note: expanded from macro '\ 
    8555 DECLARE_F_REDUCTION_BASE' 
    8556 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8557 
    8558 program_source:221:40: note: expanded from macro '\ 
    8559 EXPOSE_FUNCTION_F_ARGS_1' 
    8560 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8561 
    8562 program_source:164:9: note: expanded from macro '\ 
    8563 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8564 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8565 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8566 program_source:287:1: error: illegal string literal in 'asm' 
    8567 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8568 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8569 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8570 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8571 
    8572 program_source:268:43: note: expanded from macro '\ 
    8573 DECLARE_F_REDUCTION_BASE' 
    8574 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8575 
    8576 program_source:221:40: note: expanded from macro '\ 
    8577 EXPOSE_FUNCTION_F_ARGS_1' 
    8578 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8579 
    8580 program_source:164:9: note: expanded from macro '\ 
    8581 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8582 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8583 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8584 program_source:288:1: error: illegal string literal in 'asm' 
    8585 DECLARE_I_REDUCTION_BASE(and) 
    8586 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8587 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8588 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8589 
    8590 program_source:217:40: note: expanded from macro '\ 
    8591 EXPOSE_FUNCTION_I_ARGS_1' 
    8592 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8593 
    8594 program_source:164:9: note: expanded from macro '\ 
    8595 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8596 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8597 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8598 program_source:288:1: error: illegal string literal in 'asm' 
    8599 DECLARE_I_REDUCTION_BASE(and) 
    8600 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8601 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8602 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8603 
    8604 program_source:218:51: note: expanded from macro '\ 
    8605 EXPOSE_FUNCTION_I_ARGS_1' 
    8606 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8607 
    8608 program_source:164:9: note: expanded from macro '\ 
    8609 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8610 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8611 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8612 program_source:288:1: error: illegal string literal in 'asm' 
    8613 DECLARE_I_REDUCTION_BASE(and) 
    8614 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8615 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8616 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8617 
    8618 program_source:217:40: note: expanded from macro '\ 
    8619 EXPOSE_FUNCTION_I_ARGS_1' 
    8620 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8621 
    8622 program_source:164:9: note: expanded from macro '\ 
    8623 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8624 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8625 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8626 program_source:288:1: error: illegal string literal in 'asm' 
    8627 DECLARE_I_REDUCTION_BASE(and) 
    8628 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8629 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8630 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8631 
    8632 program_source:218:51: note: expanded from macro '\ 
    8633 EXPOSE_FUNCTION_I_ARGS_1' 
    8634 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8635 
    8636 program_source:164:9: note: expanded from macro '\ 
    8637 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8638 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8639 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8640 program_source:289:1: error: illegal string literal in 'asm' 
    8641 DECLARE_I_REDUCTION_BASE(or) 
    8642 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8643 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8644 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8645 
    8646 program_source:217:40: note: expanded from macro '\ 
    8647 EXPOSE_FUNCTION_I_ARGS_1' 
    8648 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8649 
    8650 program_source:164:9: note: expanded from macro '\ 
    8651 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8652 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8653 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8654 program_source:289:1: error: illegal string literal in 'asm' 
    8655 DECLARE_I_REDUCTION_BASE(or) 
    8656 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8657 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8658 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8659 
    8660 program_source:218:51: note: expanded from macro '\ 
    8661 EXPOSE_FUNCTION_I_ARGS_1' 
    8662 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8663 
    8664 program_source:164:9: note: expanded from macro '\ 
    8665 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8666 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8667 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8668 program_source:289:1: error: illegal string literal in 'asm' 
    8669 DECLARE_I_REDUCTION_BASE(or) 
    8670 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8671 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8672 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8673 
    8674 program_source:217:40: note: expanded from macro '\ 
    8675 EXPOSE_FUNCTION_I_ARGS_1' 
    8676 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8677 
    8678 program_source:164:9: note: expanded from macro '\ 
    8679 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8680 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8681 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8682 program_source:289:1: error: illegal string literal in 'asm' 
    8683 DECLARE_I_REDUCTION_BASE(or) 
    8684 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8685 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8686 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8687 
    8688 program_source:218:51: note: expanded from macro '\ 
    8689 EXPOSE_FUNCTION_I_ARGS_1' 
    8690 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8691 
    8692 program_source:164:9: note: expanded from macro '\ 
    8693 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8694 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8695 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8696 program_source:290:1: error: illegal string literal in 'asm' 
    8697 DECLARE_I_REDUCTION_BASE(xor) 
    8698 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8699 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8700 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8701 
    8702 program_source:217:40: note: expanded from macro '\ 
    8703 EXPOSE_FUNCTION_I_ARGS_1' 
    8704 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8705 
    8706 program_source:164:9: note: expanded from macro '\ 
    8707 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8708 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8709 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8710 program_source:290:1: error: illegal string literal in 'asm' 
    8711 DECLARE_I_REDUCTION_BASE(xor) 
    8712 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8713 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8714 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8715 
    8716 program_source:218:51: note: expanded from macro '\ 
    8717 EXPOSE_FUNCTION_I_ARGS_1' 
    8718 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8719 
    8720 program_source:164:9: note: expanded from macro '\ 
    8721 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8722 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8723 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8724 program_source:290:1: error: illegal string literal in 'asm' 
    8725 DECLARE_I_REDUCTION_BASE(xor) 
    8726 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8727 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8728 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8729 
    8730 program_source:217:40: note: expanded from macro '\ 
    8731 EXPOSE_FUNCTION_I_ARGS_1' 
    8732 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8733 
    8734 program_source:164:9: note: expanded from macro '\ 
    8735 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8736 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8737 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8738 program_source:290:1: error: illegal string literal in 'asm' 
    8739 DECLARE_I_REDUCTION_BASE(xor) 
    8740 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8741 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8742 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8743 
    8744 program_source:218:51: note: expanded from macro '\ 
    8745 EXPOSE_FUNCTION_I_ARGS_1' 
    8746 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8747 
    8748 program_source:164:9: note: expanded from macro '\ 
    8749 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8750 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8751 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8752 program_source:292:1: error: illegal string literal in 'asm' 
    8753 DECLARE_SHUFFLE_BASE(broadcast) 
    8754 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8755 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8756 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8757 
    8758 program_source:224:38: note: expanded from macro '\ 
    8759 EXPOSE_FUNCTION_ARGS_2' 
    8760 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8761 
    8762 program_source:168:9: note: expanded from macro '\ 
    8763 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8764 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8765 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8766 program_source:292:1: error: illegal string literal in 'asm' 
    8767 DECLARE_SHUFFLE_BASE(broadcast) 
    8768 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8769 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8770 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8771 
    8772 program_source:225:51: note: expanded from macro '\ 
    8773 EXPOSE_FUNCTION_ARGS_2' 
    8774 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8775 
    8776 program_source:168:9: note: expanded from macro '\ 
    8777 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8778 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8779 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8780 program_source:292:1: error: illegal string literal in 'asm' 
    8781 DECLARE_SHUFFLE_BASE(broadcast) 
    8782 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8783 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8784 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8785 
    8786 program_source:226:52: note: expanded from macro '\ 
    8787 EXPOSE_FUNCTION_ARGS_2' 
    8788 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8789 
    8790 program_source:168:9: note: expanded from macro '\ 
    8791 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8792 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8793 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8794 program_source:292:1: error: illegal string literal in 'asm' 
    8795 DECLARE_SHUFFLE_BASE(broadcast) 
    8796 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8797 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8798 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8799 
    8800 program_source:224:38: note: expanded from macro '\ 
    8801 EXPOSE_FUNCTION_ARGS_2' 
    8802 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8803 
    8804 program_source:168:9: note: expanded from macro '\ 
    8805 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8806 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8807 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8808 program_source:292:1: error: illegal string literal in 'asm' 
    8809 DECLARE_SHUFFLE_BASE(broadcast) 
    8810 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8811 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8812 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8813 
    8814 program_source:225:51: note: expanded from macro '\ 
    8815 EXPOSE_FUNCTION_ARGS_2' 
    8816 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8817 
    8818 program_source:168:9: note: expanded from macro '\ 
    8819 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8820 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8821 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8822 program_source:292:1: error: illegal string literal in 'asm' 
    8823 DECLARE_SHUFFLE_BASE(broadcast) 
    8824 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8825 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8826 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8827 
    8828 program_source:226:52: note: expanded from macro '\ 
    8829 EXPOSE_FUNCTION_ARGS_2' 
    8830 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8831 
    8832 program_source:168:9: note: expanded from macro '\ 
    8833 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8834 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8835 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8836 program_source:293:1: error: illegal string literal in 'asm' 
    8837 DECLARE_REDUCTION_BASE(broadcast_first) 
    8838 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8839 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8840 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8841 
    8842 program_source:263:44: note: expanded from macro '\ 
    8843 DECLARE_I_REDUCTION_BASE' 
    8844 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8845 
    8846 program_source:217:40: note: expanded from macro '\ 
    8847 EXPOSE_FUNCTION_I_ARGS_1' 
    8848 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8849 
    8850 program_source:164:9: note: expanded from macro '\ 
    8851 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8852 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8853 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8854 program_source:293:1: error: illegal string literal in 'asm' 
    8855 DECLARE_REDUCTION_BASE(broadcast_first) 
    8856 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8857 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8858 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8859 
    8860 program_source:263:44: note: expanded from macro '\ 
    8861 DECLARE_I_REDUCTION_BASE' 
    8862 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8863 
    8864 program_source:218:51: note: expanded from macro '\ 
    8865 EXPOSE_FUNCTION_I_ARGS_1' 
    8866 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8867 
    8868 program_source:164:9: note: expanded from macro '\ 
    8869 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8870 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8871 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8872 program_source:293:1: error: illegal string literal in 'asm' 
    8873 DECLARE_REDUCTION_BASE(broadcast_first) 
    8874 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8875 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8876 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8877 
    8878 program_source:264:43: note: expanded from macro '\ 
    8879 DECLARE_I_REDUCTION_BASE' 
    8880 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8881 
    8882 program_source:217:40: note: expanded from macro '\ 
    8883 EXPOSE_FUNCTION_I_ARGS_1' 
    8884 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8885 
    8886 program_source:164:9: note: expanded from macro '\ 
    8887 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8888 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8889 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8890 program_source:293:1: error: illegal string literal in 'asm' 
    8891 DECLARE_REDUCTION_BASE(broadcast_first) 
    8892 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8893 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8894 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8895 
    8896 program_source:264:43: note: expanded from macro '\ 
    8897 DECLARE_I_REDUCTION_BASE' 
    8898 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8899 
    8900 program_source:218:51: note: expanded from macro '\ 
    8901 EXPOSE_FUNCTION_I_ARGS_1' 
    8902 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8903 
    8904 program_source:164:9: note: expanded from macro '\ 
    8905 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8906 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8907 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8908 program_source:293:1: error: illegal string literal in 'asm' 
    8909 DECLARE_REDUCTION_BASE(broadcast_first) 
    8910 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8911 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8912 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8913 
    8914 program_source:267:44: note: expanded from macro '\ 
    8915 DECLARE_F_REDUCTION_BASE' 
    8916 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8917 
    8918 program_source:221:40: note: expanded from macro '\ 
    8919 EXPOSE_FUNCTION_F_ARGS_1' 
    8920 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8921 
    8922 program_source:164:9: note: expanded from macro '\ 
    8923 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8924 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8925 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8926 program_source:293:1: error: illegal string literal in 'asm' 
    8927 DECLARE_REDUCTION_BASE(broadcast_first) 
    8928 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8929 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8930 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8931 
    8932 program_source:268:43: note: expanded from macro '\ 
    8933 DECLARE_F_REDUCTION_BASE' 
    8934 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8935 
    8936 program_source:221:40: note: expanded from macro '\ 
    8937 EXPOSE_FUNCTION_F_ARGS_1' 
    8938 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8939 
    8940 program_source:164:9: note: expanded from macro '\ 
    8941 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8942 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8943 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8944 program_source:295:1: error: illegal string literal in 'asm' 
    8945 DECLARE_SHUFFLE_BASE(shuffle) 
    8946 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8947 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8948 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8949 
    8950 program_source:224:38: note: expanded from macro '\ 
    8951 EXPOSE_FUNCTION_ARGS_2' 
    8952 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8953 
    8954 program_source:168:9: note: expanded from macro '\ 
    8955 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8956 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8957 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8958 program_source:295:1: error: illegal string literal in 'asm' 
    8959 DECLARE_SHUFFLE_BASE(shuffle) 
    8960 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8961 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8962 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8963 
    8964 program_source:225:51: note: expanded from macro '\ 
    8965 EXPOSE_FUNCTION_ARGS_2' 
    8966 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8967 
    8968 program_source:168:9: note: expanded from macro '\ 
    8969 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8970 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8971 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8972 program_source:295:1: error: illegal string literal in 'asm' 
    8973 DECLARE_SHUFFLE_BASE(shuffle) 
    8974 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8975 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8976 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8977 
    8978 program_source:226:52: note: expanded from macro '\ 
    8979 EXPOSE_FUNCTION_ARGS_2' 
    8980 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8981 
    8982 program_source:168:9: note: expanded from macro '\ 
    8983 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8984 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8985 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8986 program_source:295:1: error: illegal string literal in 'asm' 
    8987 DECLARE_SHUFFLE_BASE(shuffle) 
    8988 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8989 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8990 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8991 
    8992 program_source:224:38: note: expanded from macro '\ 
    8993 EXPOSE_FUNCTION_ARGS_2' 
    8994 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8995 
    8996 program_source:168:9: note: expanded from macro '\ 
    8997 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8998 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8999 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9000 program_source:295:1: error: illegal string literal in 'asm' 
    9001 DECLARE_SHUFFLE_BASE(shuffle) 
    9002 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9003 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9004 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9005 
    9006 program_source:225:51: note: expanded from macro '\ 
    9007 EXPOSE_FUNCTION_ARGS_2' 
    9008 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9009 
    9010 program_source:168:9: note: expanded from macro '\ 
    9011 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9012 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9013 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9014 program_source:295:1: error: illegal string literal in 'asm' 
    9015 DECLARE_SHUFFLE_BASE(shuffle) 
    9016 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9017 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9018 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9019 
    9020 program_source:226:52: note: expanded from macro '\ 
    9021 EXPOSE_FUNCTION_ARGS_2' 
    9022 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9023 
    9024 program_source:168:9: note: expanded from macro '\ 
    9025 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9026 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9027 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9028 program_source:296:1: error: illegal string literal in 'asm' 
    9029 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    9030 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9031 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9032 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9033 
    9034 program_source:224:38: note: expanded from macro '\ 
    9035 EXPOSE_FUNCTION_ARGS_2' 
    9036 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9037 
    9038 program_source:168:9: note: expanded from macro '\ 
    9039 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9040 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9041 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9042 program_source:296:1: error: illegal string literal in 'asm' 
    9043 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    9044 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9045 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9046 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9047 
    9048 program_source:225:51: note: expanded from macro '\ 
    9049 EXPOSE_FUNCTION_ARGS_2' 
    9050 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9051 
    9052 program_source:168:9: note: expanded from macro '\ 
    9053 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9054 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9055 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9056 program_source:296:1: error: illegal string literal in 'asm' 
    9057 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    9058 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9059 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9060 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9061 
    9062 program_source:226:52: note: expanded from macro '\ 
    9063 EXPOSE_FUNCTION_ARGS_2' 
    9064 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9065 
    9066 program_source:168:9: note: expanded from macro '\ 
    9067 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9068 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9069 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9070 program_source:296:1: error: illegal string literal in 'asm' 
    9071 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    9072 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9073 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9074 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9075 
    9076 program_source:224:38: note: expanded from macro '\ 
    9077 EXPOSE_FUNCTION_ARGS_2' 
    9078 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9079 
    9080 program_source:168:9: note: expanded from macro '\ 
    9081 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9082 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9083 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9084 program_source:296:1: error: illegal string literal in 'asm' 
    9085 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    9086 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9087 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9088 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9089 
    9090 program_source:225:51: note: expanded from macro '\ 
    9091 EXPOSE_FUNCTION_ARGS_2' 
    9092 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9093 
    9094 program_source:168:9: note: expanded from macro '\ 
    9095 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9096 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9097 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9098 program_source:296:1: error: illegal string literal in 'asm' 
    9099 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    9100 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9101 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9102 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9103 
    9104 program_source:226:52: note: expanded from macro '\ 
    9105 EXPOSE_FUNCTION_ARGS_2' 
    9106 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9107 
    9108 program_source:168:9: note: expanded from macro '\ 
    9109 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9110 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9111 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9112 program_source:297:1: error: illegal string literal in 'asm' 
    9113 DECLARE_SHUFFLE_BASE(shuffle_up) 
    9114 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9115 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9116 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9117 
    9118 program_source:224:38: note: expanded from macro '\ 
    9119 EXPOSE_FUNCTION_ARGS_2' 
    9120 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9121 
    9122 program_source:168:9: note: expanded from macro '\ 
    9123 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9124 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9125 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9126 program_source:297:1: error: illegal string literal in 'asm' 
    9127 DECLARE_SHUFFLE_BASE(shuffle_up) 
    9128 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9129 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9130 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9131 
    9132 program_source:225:51: note: expanded from macro '\ 
    9133 EXPOSE_FUNCTION_ARGS_2' 
    9134 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9135 
    9136 program_source:168:9: note: expanded from macro '\ 
    9137 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9138 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9139 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9140 program_source:297:1: error: illegal string literal in 'asm' 
    9141 DECLARE_SHUFFLE_BASE(shuffle_up) 
    9142 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9143 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9144 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9145 
    9146 program_source:226:52: note: expanded from macro '\ 
    9147 EXPOSE_FUNCTION_ARGS_2' 
    9148 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9149 
    9150 program_source:168:9: note: expanded from macro '\ 
    9151 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9152 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9153 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9154 program_source:297:1: error: illegal string literal in 'asm' 
    9155 DECLARE_SHUFFLE_BASE(shuffle_up) 
    9156 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9157 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9158 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9159 
    9160 program_source:224:38: note: expanded from macro '\ 
    9161 EXPOSE_FUNCTION_ARGS_2' 
    9162 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9163 
    9164 program_source:168:9: note: expanded from macro '\ 
    9165 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9166 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9167 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9168 program_source:297:1: error: illegal string literal in 'asm' 
    9169 DECLARE_SHUFFLE_BASE(shuffle_up) 
    9170 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9171 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9172 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9173 
    9174 program_source:225:51: note: expanded from macro '\ 
    9175 EXPOSE_FUNCTION_ARGS_2' 
    9176 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9177 
    9178 program_source:168:9: note: expanded from macro '\ 
    9179 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9180 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9181 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9182 program_source:297:1: error: illegal string literal in 'asm' 
    9183 DECLARE_SHUFFLE_BASE(shuffle_up) 
    9184 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9185 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9186 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9187 
    9188 program_source:226:52: note: expanded from macro '\ 
    9189 EXPOSE_FUNCTION_ARGS_2' 
    9190 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9191 
    9192 program_source:168:9: note: expanded from macro '\ 
    9193 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9194 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9195 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9196 program_source:298:1: error: illegal string literal in 'asm' 
    9197 DECLARE_SHUFFLE_BASE(shuffle_down) 
    9198 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9199 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9200 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9201 
    9202 program_source:224:38: note: expanded from macro '\ 
    9203 EXPOSE_FUNCTION_ARGS_2' 
    9204 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9205 
    9206 program_source:168:9: note: expanded from macro '\ 
    9207 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9208 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9209 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9210 program_source:298:1: error: illegal string literal in 'asm' 
    9211 DECLARE_SHUFFLE_BASE(shuffle_down) 
    9212 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9213 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9214 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9215 
    9216 program_source:225:51: note: expanded from macro '\ 
    9217 EXPOSE_FUNCTION_ARGS_2' 
    9218 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9219 
    9220 program_source:168:9: note: expanded from macro '\ 
    9221 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9222 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9223 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9224 program_source:298:1: error: illegal string literal in 'asm' 
    9225 DECLARE_SHUFFLE_BASE(shuffle_down) 
    9226 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9227 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9228 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9229 
    9230 program_source:226:52: note: expanded from macro '\ 
    9231 EXPOSE_FUNCTION_ARGS_2' 
    9232 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9233 
    9234 program_source:168:9: note: expanded from macro '\ 
    9235 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9236 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9237 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9238 program_source:298:1: error: illegal string literal in 'asm' 
    9239 DECLARE_SHUFFLE_BASE(shuffle_down) 
    9240 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9241 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9242 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9243 
    9244 program_source:224:38: note: expanded from macro '\ 
    9245 EXPOSE_FUNCTION_ARGS_2' 
    9246 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9247 
    9248 program_source:168:9: note: expanded from macro '\ 
    9249 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9250 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9251 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9252 program_source:298:1: error: illegal string literal in 'asm' 
    9253 DECLARE_SHUFFLE_BASE(shuffle_down) 
    9254 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9255 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9256 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9257 
    9258 program_source:225:51: note: expanded from macro '\ 
    9259 EXPOSE_FUNCTION_ARGS_2' 
    9260 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9261 
    9262 program_source:168:9: note: expanded from macro '\ 
    9263 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9264 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9265 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9266 program_source:298:1: error: illegal string literal in 'asm' 
    9267 DECLARE_SHUFFLE_BASE(shuffle_down) 
    9268 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9269 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9270 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9271 
    9272 program_source:226:52: note: expanded from macro '\ 
    9273 EXPOSE_FUNCTION_ARGS_2' 
    9274 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9275 
    9276 program_source:168:9: note: expanded from macro '\ 
    9277 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9278 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9279 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9280 program_source:299:1: error: illegal string literal in 'asm' 
    9281 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    9282 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9283 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9284 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9285 
    9286 program_source:224:38: note: expanded from macro '\ 
    9287 EXPOSE_FUNCTION_ARGS_2' 
    9288 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9289 
    9290 program_source:168:9: note: expanded from macro '\ 
    9291 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9292 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9293 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9294 program_source:299:1: error: illegal string literal in 'asm' 
    9295 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    9296 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9297 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9298 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9299 
    9300 program_source:225:51: note: expanded from macro '\ 
    9301 EXPOSE_FUNCTION_ARGS_2' 
    9302 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9303 
    9304 program_source:168:9: note: expanded from macro '\ 
    9305 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9306 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9307 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9308 program_source:299:1: error: illegal string literal in 'asm' 
    9309 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    9310 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9311 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9312 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9313 
    9314 program_source:226:52: note: expanded from macro '\ 
    9315 EXPOSE_FUNCTION_ARGS_2' 
    9316 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9317 
    9318 program_source:168:9: note: expanded from macro '\ 
    9319 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9320 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9321 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9322 program_source:299:1: error: illegal string literal in 'asm' 
    9323 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    9324 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9325 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9326 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9327 
    9328 program_source:224:38: note: expanded from macro '\ 
    9329 EXPOSE_FUNCTION_ARGS_2' 
    9330 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9331 
    9332 program_source:168:9: note: expanded from macro '\ 
    9333 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9334 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9335 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9336 program_source:299:1: error: illegal string literal in 'asm' 
    9337 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    9338 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9339 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9340 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9341 
    9342 program_source:225:51: note: expanded from macro '\ 
    9343 EXPOSE_FUNCTION_ARGS_2' 
    9344 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9345 
    9346 program_source:168:9: note: expanded from macro '\ 
    9347 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9348 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9349 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9350 program_source:299:1: error: illegal string literal in 'asm' 
    9351 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    9352 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9353 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9354 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9355 
    9356 program_source:226:52: note: expanded from macro '\ 
    9357 EXPOSE_FUNCTION_ARGS_2' 
    9358 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9359 
    9360 program_source:168:9: note: expanded from macro '\ 
    9361 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9362 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9363 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9364 program_source:300:1: error: illegal string literal in 'asm' 
    9365 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9366 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9367 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9368 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9369 
    9370 program_source:224:38: note: expanded from macro '\ 
    9371 EXPOSE_FUNCTION_ARGS_2' 
    9372 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9373 
    9374 program_source:168:9: note: expanded from macro '\ 
    9375 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9376 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9377 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9378 program_source:300:1: error: illegal string literal in 'asm' 
    9379 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9380 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9381 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9382 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9383 
    9384 program_source:225:51: note: expanded from macro '\ 
    9385 EXPOSE_FUNCTION_ARGS_2' 
    9386 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9387 
    9388 program_source:168:9: note: expanded from macro '\ 
    9389 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9390 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9391 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9392 program_source:300:1: error: illegal string literal in 'asm' 
    9393 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9394 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9395 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9396 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9397 
    9398 program_source:226:52: note: expanded from macro '\ 
    9399 EXPOSE_FUNCTION_ARGS_2' 
    9400 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9401 
    9402 program_source:168:9: note: expanded from macro '\ 
    9403 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9404 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9405 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9406 program_source:300:1: error: illegal string literal in 'asm' 
    9407 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9408 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9409 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9410 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9411 
    9412 program_source:224:38: note: expanded from macro '\ 
    9413 EXPOSE_FUNCTION_ARGS_2' 
    9414 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9415 
    9416 program_source:168:9: note: expanded from macro '\ 
    9417 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9418 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9419 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9420 program_source:300:1: error: illegal string literal in 'asm' 
    9421 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9422 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9423 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9424 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9425 
    9426 program_source:225:51: note: expanded from macro '\ 
    9427 EXPOSE_FUNCTION_ARGS_2' 
    9428 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9429 
    9430 program_source:168:9: note: expanded from macro '\ 
    9431 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9432 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9433 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9434 program_source:300:1: error: illegal string literal in 'asm' 
    9435 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9436 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9437 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9438 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9439 
    9440 program_source:226:52: note: expanded from macro '\ 
    9441 EXPOSE_FUNCTION_ARGS_2' 
    9442 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9443 
    9444 program_source:168:9: note: expanded from macro '\ 
    9445 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9446 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9447 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9448 program_source:302:1: error: illegal string literal in 'asm' 
    9449 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    9450 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9451 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    9452 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    9453 
    9454 program_source:172:9: note: expanded from macro '\ 
    9455 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    9456 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9457 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9458 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    9459 is invalid in OpenCL 
    9460 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    9461 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    9462 
    9463 program_source:175:10: note: expanded from macro '\ 
    9464 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    9465 return ___metal_##EXPR(x, false); \ 
    9466 
    9467 <scratch space>:12:1: note: expanded from here 
    9468 ___metal_ctz 
    9469 
    9470 program_source:302:1: error: illegal string literal in 'asm' 
    9471 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    9472 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9473 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    9474 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    9475 
    9476 program_source:172:9: note: expanded from macro '\ 
    9477 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    9478 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9479 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9480 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    9481 is invalid in OpenCL 
    9482 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    9483 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    9484 
    9485 program_source:175:10: note: expanded from macro '\ 
    9486 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    9487 return ___metal_##EXPR(x, false); \ 
    9488 
    9489 <scratch space>:16:1: note: expanded from here 
    9490 ___metal_ctz 
    9491 
    9492 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    9493 invalid in OpenCL 
    9494 DECLARE_REDUCTION_UNIFORM(sum, reduce_add) 
    9495 
    9496 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9497 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9498 
    9499 program_source:305:26: note: expanded from macro '\ 
    9500 DECLARE_I_REDUCTION_UNIFORM' 
    9501 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9502 
    9503 <scratch space>:17:1: note: expanded from here 
    9504 simd_sum 
    9505 
    9506 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    9507 invalid in OpenCL 
    9508 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9509 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9510 
    9511 program_source:305:26: note: expanded from macro '\ 
    9512 DECLARE_I_REDUCTION_UNIFORM' 
    9513 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9514 
    9515 <scratch space>:17:1: note: expanded from here 
    9516 simd_sum 
    9517 
    9518 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    9519 invalid in OpenCL 
    9520 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9521 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9522 
    9523 program_source:308:26: note: expanded from macro '\ 
    9524 DECLARE_F_REDUCTION_UNIFORM' 
    9525 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9526 
    9527 <scratch space>:19:1: note: expanded from here 
    9528 simd_sum 
    9529 
    9530 program_source:318:1: error: implicit declaration of function
    9531 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9532 DECLARE_REDUCTION_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    9533 
    9534 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9535 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9536 
    9537 program_source:305:26: note: expanded from macro '\ 
    9538 DECLARE_I_REDUCTION_UNIFORM' 
    9539 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9540 
    9541 <scratch space>:21:1: note: expanded from here 
    9542 simd_prefix_inclusive_sum 
    9543 
    9544 program_source:318:1: error: implicit declaration of function
    9545 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9546 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9547 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9548 
    9549 program_source:305:26: note: expanded from macro '\ 
    9550 DECLARE_I_REDUCTION_UNIFORM' 
    9551 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9552 
    9553 <scratch space>:21:1: note: expanded from here 
    9554 simd_prefix_inclusive_sum 
    9555 
    9556 program_source:318:1: error: implicit declaration of function
    9557 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9558 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9559 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9560 
    9561 program_source:308:26: note: expanded from macro '\ 
    9562 DECLARE_F_REDUCTION_UNIFORM' 
    9563 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9564 
    9565 <scratch space>:23:1: note: expanded from here 
    9566 simd_prefix_inclusive_sum 
    9567 
    9568 program_source:319:1: error: implicit declaration of function
    9569 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9570 DECLARE_REDUCTION_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    9571 
    9572 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9573 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9574 
    9575 program_source:305:26: note: expanded from macro '\ 
    9576 DECLARE_I_REDUCTION_UNIFORM' 
    9577 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9578 
    9579 <scratch space>:25:1: note: expanded from here 
    9580 simd_prefix_exclusive_sum 
    9581 
    9582 program_source:319:1: error: implicit declaration of function
    9583 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9584 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9585 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9586 
    9587 program_source:305:26: note: expanded from macro '\ 
    9588 DECLARE_I_REDUCTION_UNIFORM' 
    9589 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9590 
    9591 <scratch space>:25:1: note: expanded from here 
    9592 simd_prefix_exclusive_sum 
    9593 
    9594 program_source:319:1: error: implicit declaration of function
    9595 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9596 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9597 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9598 
    9599 program_source:308:26: note: expanded from macro '\ 
    9600 DECLARE_F_REDUCTION_UNIFORM' 
    9601 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9602 
    9603 <scratch space>:27:1: note: expanded from here 
    9604 simd_prefix_exclusive_sum 
    9605 
    9606 program_source:320:1: error: implicit declaration of function 'simd_min' is
    9607 invalid in OpenCL 
    9608 DECLARE_REDUCTION_UNIFORM(min, reduce_min) 
    9609 
    9610 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9611 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9612 
    9613 program_source:305:26: note: expanded from macro '\ 
    9614 DECLARE_I_REDUCTION_UNIFORM' 
    9615 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9616 
    9617 <scratch space>:29:1: note: expanded from here 
    9618 simd_min 
    9619 
    9620 program_source:320:1: error: implicit declaration of function 'simd_min' is
    9621 invalid in OpenCL 
    9622 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9623 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9624 
    9625 program_source:305:26: note: expanded from macro '\ 
    9626 DECLARE_I_REDUCTION_UNIFORM' 
    9627 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9628 
    9629 <scratch space>:29:1: note: expanded from here 
    9630 simd_min 
    9631 
    9632 program_source:320:1: error: implicit declaration of function 'simd_min' is
    9633 invalid in OpenCL 
    9634 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9635 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9636 
    9637 program_source:308:26: note: expanded from macro '\ 
    9638 DECLARE_F_REDUCTION_UNIFORM' 
    9639 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9640 
    9641 <scratch space>:31:1: note: expanded from here 
    9642 simd_min 
    9643 
    9644 program_source:321:1: error: implicit declaration of function 'simd_max' is
    9645 invalid in OpenCL 
    9646 DECLARE_REDUCTION_UNIFORM(max, reduce_max) 
    9647 
    9648 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9649 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9650 
    9651 program_source:305:26: note: expanded from macro '\ 
    9652 DECLARE_I_REDUCTION_UNIFORM' 
    9653 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9654 
    9655 <scratch space>:33:1: note: expanded from here 
    9656 simd_max 
    9657 
    9658 program_source:321:1: error: implicit declaration of function 'simd_max' is
    9659 invalid in OpenCL 
    9660 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9661 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9662 
    9663 program_source:305:26: note: expanded from macro '\ 
    9664 DECLARE_I_REDUCTION_UNIFORM' 
    9665 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9666 
    9667 <scratch space>:33:1: note: expanded from here 
    9668 simd_max 
    9669 
    9670 program_source:321:1: error: implicit declaration of function 'simd_max' is
    9671 invalid in OpenCL 
    9672 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9673 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9674 
    9675 program_source:308:26: note: expanded from macro '\ 
    9676 DECLARE_F_REDUCTION_UNIFORM' 
    9677 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9678 
    9679 <scratch space>:35:1: note: expanded from here 
    9680 simd_max 
    9681 
    9682 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    9683 is invalid in OpenCL 
    9684 DECLARE_SHUFFLE_UNIFORM(shuffle, shuffle) 
    9685 
    9686 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9687 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9688 
    9689 <scratch space>:37:1: note: expanded from here 
    9690 simd_shuffle 
    9691 
    9692 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    9693 is invalid in OpenCL 
    9694 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9695 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9696 
    9697 <scratch space>:37:1: note: expanded from here 
    9698 simd_shuffle 
    9699 
    9700 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    9701 is invalid in OpenCL 
    9702 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9703 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9704 
    9705 <scratch space>:37:1: note: expanded from here 
    9706 simd_shuffle 
    9707 
    9708 program_source:324:1: error: implicit declaration of function
    9709 'simd_shuffle_xor' is invalid in OpenCL 
    9710 DECLARE_SHUFFLE_UNIFORM(shuffle_xor, shuffle_xor) 
    9711 
    9712 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9713 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9714 
    9715 <scratch space>:39:1: note: expanded from here 
    9716 simd_shuffle_xor 
    9717 
    9718 program_source:324:1: error: implicit declaration of function
    9719 'simd_shuffle_xor' is invalid in OpenCL 
    9720 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9721 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9722 
    9723 <scratch space>:39:1: note: expanded from here 
    9724 simd_shuffle_xor 
    9725 
    9726 program_source:324:1: error: implicit declaration of function
    9727 'simd_shuffle_xor' is invalid in OpenCL 
    9728 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9729 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9730 
    9731 <scratch space>:39:1: note: expanded from here 
    9732 simd_shuffle_xor 
    9733 
    9734 program_source:325:1: error: implicit declaration of function
    9735 'simd_shuffle_up' is invalid in OpenCL 
    9736 DECLARE_SHUFFLE_UNIFORM(shuffle_up, shuffle_up) 
    9737 
    9738 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9739 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9740 
    9741 <scratch space>:41:1: note: expanded from here 
    9742 simd_shuffle_up 
    9743 
    9744 program_source:325:1: error: implicit declaration of function
    9745 'simd_shuffle_up' is invalid in OpenCL 
    9746 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9747 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9748 
    9749 <scratch space>:41:1: note: expanded from here 
    9750 simd_shuffle_up 
    9751 
    9752 program_source:325:1: error: implicit declaration of function
    9753 'simd_shuffle_up' is invalid in OpenCL 
    9754 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9755 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9756 
    9757 <scratch space>:41:1: note: expanded from here 
    9758 simd_shuffle_up 
    9759 
    9760 program_source:326:1: error: implicit declaration of function
    9761 'simd_shuffle_down' is invalid in OpenCL 
    9762 DECLARE_SHUFFLE_UNIFORM(shuffle_down, shuffle_down) 
    9763 
    9764 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9765 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9766 
    9767 <scratch space>:43:1: note: expanded from here 
    9768 simd_shuffle_down 
    9769 
    9770 program_source:326:1: error: implicit declaration of function
    9771 'simd_shuffle_down' is invalid in OpenCL 
    9772 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9773 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9774 
    9775 <scratch space>:43:1: note: expanded from here 
    9776 simd_shuffle_down 
    9777 
    9778 program_source:326:1: error: implicit declaration of function
    9779 'simd_shuffle_down' is invalid in OpenCL 
    9780 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9781 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9782 
    9783 <scratch space>:43:1: note: expanded from here 
    9784 simd_shuffle_down 
    9785 
    9786 program_source:327:1: error: implicit declaration of function
    9787 'simd_shuffle_rotate_down' is invalid in OpenCL 
    9788 DECLARE_SHUFFLE_UNIFORM(shuffle_rotate_down, rotate) 
    9789 
    9790 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9791 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9792 
    9793 <scratch space>:45:1: note: expanded from here 
    9794 simd_shuffle_rotate_down 
    9795 
    9796 program_source:327:1: error: implicit declaration of function
    9797 'simd_shuffle_rotate_down' is invalid in OpenCL 
    9798 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9799 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9800 
    9801 <scratch space>:45:1: note: expanded from here 
    9802 simd_shuffle_rotate_down 
    9803 
    9804 program_source:327:1: error: implicit declaration of function
    9805 'simd_shuffle_rotate_down' is invalid in OpenCL 
    9806 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9807 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9808 
    9809 <scratch space>:45:1: note: expanded from here 
    9810 simd_shuffle_rotate_down 
    9811 
    9812 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    9813 is invalid in OpenCL 
    9814 DECLARE_SHUFFLE_UNIFORM(broadcast, broadcast) 
    9815 
    9816 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9817 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9818 
    9819 <scratch space>:47:1: note: expanded from here 
    9820 simd_broadcast 
    9821 
    9822 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    9823 is invalid in OpenCL 
    9824 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9825 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9826 
    9827 <scratch space>:47:1: note: expanded from here 
    9828 simd_broadcast 
    9829 
    9830 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    9831 is invalid in OpenCL 
    9832 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9833 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9834 
    9835 <scratch space>:47:1: note: expanded from here 
    9836 simd_broadcast 
    9837 
    9838 program_source:330:1: error: implicit declaration of function
    9839 'simd_broadcast_first' is invalid in OpenCL 
    9840 DECLARE_REDUCTION_UNIFORM(broadcast_first, broadcast_first) 
    9841 
    9842 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9843 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9844 
    9845 program_source:305:26: note: expanded from macro '\ 
    9846 DECLARE_I_REDUCTION_UNIFORM' 
    9847 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9848 
    9849 <scratch space>:49:1: note: expanded from here 
    9850 simd_broadcast_first 
    9851 
    9852 program_source:330:1: error: implicit declaration of function
    9853 'simd_broadcast_first' is invalid in OpenCL 
    9854 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9855 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9856 
    9857 program_source:305:26: note: expanded from macro '\ 
    9858 DECLARE_I_REDUCTION_UNIFORM' 
    9859 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9860 
    9861 <scratch space>:49:1: note: expanded from here 
    9862 simd_broadcast_first 
    9863 
    9864 program_source:330:1: error: implicit declaration of function
    9865 'simd_broadcast_first' is invalid in OpenCL 
    9866 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9867 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9868 
    9869 program_source:308:26: note: expanded from macro '\ 
    9870 DECLARE_F_REDUCTION_UNIFORM' 
    9871 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9872 
    9873 <scratch space>:51:1: note: expanded from here 
    9874 simd_broadcast_first 
    9875 
    9876 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    9877 invalid in OpenCL 
    9878 DECLARE_REDUCTION_NON_UNIFORM(sum, reduce_add) 
    9879 
    9880 program_source:338:60: note: expanded from macro
    9881 'DECLARE_REDUCTION_NON_UNIFORM' 
    9882 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9883 
    9884 program_source:333:26: note: expanded from macro '\ 
    9885 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9886 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9887 
    9888 <scratch space>:53:1: note: expanded from here 
    9889 simd_sum 
    9890 
    9891 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    9892 invalid in OpenCL 
    9893 program_source:338:60: note: expanded from macro
    9894 'DECLARE_REDUCTION_NON_UNIFORM' 
    9895 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9896 
    9897 program_source:333:26: note: expanded from macro '\ 
    9898 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9899 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9900 
    9901 <scratch space>:53:1: note: expanded from here 
    9902 simd_sum 
    9903 
    9904 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    9905 invalid in OpenCL 
    9906 program_source:339:54: note: expanded from macro
    9907 'DECLARE_REDUCTION_NON_UNIFORM' 
    9908 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9909 
    9910 program_source:336:26: note: expanded from macro '\ 
    9911 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9912 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9913 
    9914 <scratch space>:55:1: note: expanded from here 
    9915 simd_sum 
    9916 
    9917 program_source:346:1: error: implicit declaration of function
    9918 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9919 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    9920 
    9921 program_source:338:60: note: expanded from macro
    9922 'DECLARE_REDUCTION_NON_UNIFORM' 
    9923 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9924 
    9925 program_source:333:26: note: expanded from macro '\ 
    9926 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9927 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9928 
    9929 <scratch space>:57:1: note: expanded from here 
    9930 simd_prefix_inclusive_sum 
    9931 
    9932 program_source:346:1: error: implicit declaration of function
    9933 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9934 program_source:338:60: note: expanded from macro
    9935 'DECLARE_REDUCTION_NON_UNIFORM' 
    9936 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9937 
    9938 program_source:333:26: note: expanded from macro '\ 
    9939 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9940 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9941 
    9942 <scratch space>:57:1: note: expanded from here 
    9943 simd_prefix_inclusive_sum 
    9944 
    9945 program_source:346:1: error: implicit declaration of function
    9946 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9947 program_source:339:54: note: expanded from macro
    9948 'DECLARE_REDUCTION_NON_UNIFORM' 
    9949 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9950 
    9951 program_source:336:26: note: expanded from macro '\ 
    9952 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9953 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9954 
    9955 <scratch space>:59:1: note: expanded from here 
    9956 simd_prefix_inclusive_sum 
    9957 
    9958 program_source:347:1: error: implicit declaration of function
    9959 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9960 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    9961 
    9962 program_source:338:60: note: expanded from macro
    9963 'DECLARE_REDUCTION_NON_UNIFORM' 
    9964 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9965 
    9966 program_source:333:26: note: expanded from macro '\ 
    9967 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9968 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9969 
    9970 <scratch space>:61:1: note: expanded from here 
    9971 simd_prefix_exclusive_sum 
    9972 
    9973 program_source:347:1: error: implicit declaration of function
    9974 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9975 program_source:338:60: note: expanded from macro
    9976 'DECLARE_REDUCTION_NON_UNIFORM' 
    9977 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9978 
    9979 program_source:333:26: note: expanded from macro '\ 
    9980 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9981 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9982 
    9983 <scratch space>:61:1: note: expanded from here 
    9984 simd_prefix_exclusive_sum 
    9985 
    9986 program_source:347:1: error: implicit declaration of function
    9987 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9988 program_source:339:54: note: expanded from macro
    9989 'DECLARE_REDUCTION_NON_UNIFORM' 
    9990 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9991 
    9992 program_source:336:26: note: expanded from macro '\ 
    9993 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9994 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9995 
    9996 <scratch space>:63:1: note: expanded from here 
    9997 simd_prefix_exclusive_sum 
    9998 
    9999 program_source:348:1: error: implicit declaration of function 'simd_min' is
    10000 invalid in OpenCL 
    10001 DECLARE_REDUCTION_NON_UNIFORM(min, reduce_min) 
    10002 
    10003 program_source:338:60: note: expanded from macro
    10004 'DECLARE_REDUCTION_NON_UNIFORM' 
    10005 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10006 
    10007 program_source:333:26: note: expanded from macro '\ 
    10008 DECLARE_I_REDUCTION_NON_UNIFORM' 
    10009 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10010 
    10011 <scratch space>:65:1: note: expanded from here 
    10012 simd_min 
    10013 
    10014 program_source:348:1: error: implicit declaration of function 'simd_min' is
    10015 invalid in OpenCL 
    10016 program_source:338:60: note: expanded from macro
    10017 'DECLARE_REDUCTION_NON_UNIFORM' 
    10018 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10019 
    10020 program_source:333:26: note: expanded from macro '\ 
    10021 DECLARE_I_REDUCTION_NON_UNIFORM' 
    10022 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10023 
    10024 <scratch space>:65:1: note: expanded from here 
    10025 simd_min 
    10026 
    10027 program_source:348:1: error: implicit declaration of function 'simd_min' is
    10028 invalid in OpenCL 
    10029 program_source:339:54: note: expanded from macro
    10030 'DECLARE_REDUCTION_NON_UNIFORM' 
    10031 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10032 
    10033 program_source:336:26: note: expanded from macro '\ 
    10034 DECLARE_F_REDUCTION_NON_UNIFORM' 
    10035 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10036 
    10037 <scratch space>:67:1: note: expanded from here 
    10038 simd_min 
    10039 
    10040 program_source:349:1: error: implicit declaration of function 'simd_max' is
    10041 invalid in OpenCL 
    10042 DECLARE_REDUCTION_NON_UNIFORM(max, reduce_max) 
    10043 
    10044 program_source:338:60: note: expanded from macro
    10045 'DECLARE_REDUCTION_NON_UNIFORM' 
    10046 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10047 
    10048 program_source:333:26: note: expanded from macro '\ 
    10049 DECLARE_I_REDUCTION_NON_UNIFORM' 
    10050 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10051 
    10052 <scratch space>:69:1: note: expanded from here 
    10053 simd_max 
    10054 
    10055 program_source:349:1: error: implicit declaration of function 'simd_max' is
    10056 invalid in OpenCL 
    10057 program_source:338:60: note: expanded from macro
    10058 'DECLARE_REDUCTION_NON_UNIFORM' 
    10059 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10060 
    10061 program_source:333:26: note: expanded from macro '\ 
    10062 DECLARE_I_REDUCTION_NON_UNIFORM' 
    10063 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10064 
    10065 <scratch space>:69:1: note: expanded from here 
    10066 simd_max 
    10067 
    10068 program_source:349:1: error: implicit declaration of function 'simd_max' is
    10069 invalid in OpenCL 
    10070 program_source:339:54: note: expanded from macro
    10071 'DECLARE_REDUCTION_NON_UNIFORM' 
    10072 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10073 
    10074 program_source:336:26: note: expanded from macro '\ 
    10075 DECLARE_F_REDUCTION_NON_UNIFORM' 
    10076 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10077 
    10078 <scratch space>:71:1: note: expanded from here 
    10079 simd_max 
    10080 
    10081 program_source:351:1: error: implicit declaration of function 'simd_product'
    10082 is invalid in OpenCL 
    10083 DECLARE_REDUCTION_NON_UNIFORM(product, reduce_mul) 
    10084 
    10085 program_source:338:60: note: expanded from macro
    10086 'DECLARE_REDUCTION_NON_UNIFORM' 
    10087 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10088 
    10089 program_source:333:26: note: expanded from macro '\ 
    10090 DECLARE_I_REDUCTION_NON_UNIFORM' 
    10091 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10092 
    10093 <scratch space>:73:1: note: expanded from here 
    10094 simd_product 
    10095 
    10096 program_source:351:1: error: implicit declaration of function 'simd_product'
    10097 is invalid in OpenCL 
    10098 program_source:338:60: note: expanded from macro
    10099 'DECLARE_REDUCTION_NON_UNIFORM' 
    10100 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10101 
    10102 program_source:333:26: note: expanded from macro '\ 
    10103 DECLARE_I_REDUCTION_NON_UNIFORM' 
    10104 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10105 
    10106 <scratch space>:73:1: note: expanded from here 
    10107 simd_product 
    10108 
    10109 program_source:351:1: error: implicit declaration of function 'simd_product'
    10110 is invalid in OpenCL 
    10111 program_source:339:54: note: expanded from macro
    10112 'DECLARE_REDUCTION_NON_UNIFORM' 
    10113 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10114 
    10115 program_source:336:26: note: expanded from macro '\ 
    10116 DECLARE_F_REDUCTION_NON_UNIFORM' 
    10117 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10118 
    10119 <scratch space>:75:1: note: expanded from here 
    10120 simd_product 
    10121 
    10122 program_source:352:1: error: implicit declaration of function
    10123 'simd_prefix_inclusive_product' is invalid in OpenCL 
    10124 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_product, scan_inclusive_mul) 
    10125 
    10126 program_source:338:60: note: expanded from macro
    10127 'DECLARE_REDUCTION_NON_UNIFORM' 
    10128 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10129 
    10130 program_source:333:26: note: expanded from macro '\ 
    10131 DECLARE_I_REDUCTION_NON_UNIFORM' 
    10132 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10133 
    10134 <scratch space>:77:1: note: expanded from here 
    10135 simd_prefix_inclusive_product 
    10136 
    10137 program_source:352:1: error: implicit declaration of function
    10138 'simd_prefix_inclusive_product' is invalid in OpenCL 
    10139 program_source:338:60: note: expanded from macro
    10140 'DECLARE_REDUCTION_NON_UNIFORM' 
    10141 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10142 
    10143 program_source:333:26: note: expanded from macro '\ 
    10144 DECLARE_I_REDUCTION_NON_UNIFORM' 
    10145 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10146 
    10147 <scratch space>:77:1: note: expanded from here 
    10148 simd_prefix_inclusive_product 
    10149 
    10150 program_source:352:1: error: implicit declaration of function
    10151 'simd_prefix_inclusive_product' is invalid in OpenCL 
    10152 program_source:339:54: note: expanded from macro
    10153 'DECLARE_REDUCTION_NON_UNIFORM' 
    10154 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10155 
    10156 program_source:336:26: note: expanded from macro '\ 
    10157 DECLARE_F_REDUCTION_NON_UNIFORM' 
    10158 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10159 
    10160 <scratch space>:79:1: note: expanded from here 
    10161 simd_prefix_inclusive_product 
    10162 
    10163 program_source:353:1: error: implicit declaration of function
    10164 'simd_prefix_exclusive_product' is invalid in OpenCL 
    10165 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_product, scan_exclusive_mul) 
    10166 
    10167 program_source:338:60: note: expanded from macro
    10168 'DECLARE_REDUCTION_NON_UNIFORM' 
    10169 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10170 
    10171 program_source:333:26: note: expanded from macro '\ 
    10172 DECLARE_I_REDUCTION_NON_UNIFORM' 
    10173 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10174 
    10175 <scratch space>:81:1: note: expanded from here 
    10176 simd_prefix_exclusive_product 
    10177 
    10178 program_source:353:1: error: implicit declaration of function
    10179 'simd_prefix_exclusive_product' is invalid in OpenCL 
    10180 program_source:338:60: note: expanded from macro
    10181 'DECLARE_REDUCTION_NON_UNIFORM' 
    10182 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10183 
    10184 program_source:333:26: note: expanded from macro '\ 
    10185 DECLARE_I_REDUCTION_NON_UNIFORM' 
    10186 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10187 
    10188 <scratch space>:81:1: note: expanded from here 
    10189 simd_prefix_exclusive_product 
    10190 
    10191 program_source:353:1: error: implicit declaration of function
    10192 'simd_prefix_exclusive_product' is invalid in OpenCL 
    10193 program_source:339:54: note: expanded from macro
    10194 'DECLARE_REDUCTION_NON_UNIFORM' 
    10195 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    10196 
    10197 program_source:336:26: note: expanded from macro '\ 
    10198 DECLARE_F_REDUCTION_NON_UNIFORM' 
    10199 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10200 
    10201 <scratch space>:83:1: note: expanded from here 
    10202 simd_prefix_exclusive_product 
    10203 
    10204 program_source:354:1: error: implicit declaration of function 'simd_and' is
    10205 invalid in OpenCL 
    10206 DECLARE_I_REDUCTION_NON_UNIFORM(and, reduce_and) 
    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>:85:1: note: expanded from here 
    10213 simd_and 
    10214 
    10215 program_source:354:1: error: implicit declaration of function 'simd_and' 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>:85:1: note: expanded from here 
    10222 simd_and 
    10223 
    10224 program_source:355:1: error: implicit declaration of function 'simd_or' is
    10225 invalid in OpenCL 
    10226 DECLARE_I_REDUCTION_NON_UNIFORM(or, reduce_or) 
    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>:87:1: note: expanded from here 
    10233 simd_or 
    10234 
    10235 program_source:355:1: error: implicit declaration of function 'simd_or' 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>:87:1: note: expanded from here 
    10242 simd_or 
    10243 
    10244 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    10245 invalid in OpenCL 
    10246 DECLARE_I_REDUCTION_NON_UNIFORM(xor, reduce_xor) 
    10247 
    10248 program_source:333:26: note: expanded from macro
    10249 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    10250 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10251 
    10252 <scratch space>:89:1: note: expanded from here 
    10253 simd_xor 
    10254 
    10255 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    10256 invalid in OpenCL 
    10257 program_source:333:26: note: expanded from macro
    10258 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    10259 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10260 
    10261 <scratch space>:89:1: note: expanded from here 
    10262 simd_xor 
    10263 
    10264 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    10265 is invalid in OpenCL 
    10266 DECLARE_SHUFFLE_NON_UNIFORM(broadcast, broadcast) 
    10267 
    10268 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    10269 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10270 
    10271 <scratch space>:91:1: note: expanded from here 
    10272 simd_broadcast 
    10273 
    10274 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    10275 is invalid in OpenCL 
    10276 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    10277 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10278 
    10279 <scratch space>:91:1: note: expanded from here 
    10280 simd_broadcast 
    10281 
    10282 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    10283 is invalid in OpenCL 
    10284 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    10285 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    10286 
    10287 <scratch space>:91:1: note: expanded from here 
    10288 simd_broadcast 
    10289 
    10290 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    10291 invalid in OpenCL 
    10292 DECLARE_REDUCTION_CLUSTERED(sum, reduce_add) 
    10293 
    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:196:12: note: expanded from macro '\ 
    10306 OVERLOAD_CLUSTERED_ARGS_1' 
    10307 return quad_##METAL_SUFFIX(x); \ 
    10308 
    10309 <scratch space>:94:1: note: expanded from here 
    10310 quad_sum 
    10311 
    10312 program_source:391:1: error: implicit declaration of function 'simd_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:245:71: note: expanded from macro '\ 
    10322 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10323 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10324 
    10325 program_source:198:12: note: expanded from macro '\ 
    10326 OVERLOAD_CLUSTERED_ARGS_1' 
    10327 return simd_##METAL_SUFFIX(x); \ 
    10328 
    10329 <scratch space>:95:1: note: expanded from here 
    10330 simd_sum 
    10331 
    10332 program_source:391:1: error: implicit declaration of function 'quad_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:196:12: note: expanded from macro '\ 
    10346 OVERLOAD_CLUSTERED_ARGS_1' 
    10347 return quad_##METAL_SUFFIX(x); \ 
    10348 
    10349 <scratch space>:96:1: note: expanded from here 
    10350 quad_sum 
    10351 
    10352 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    10353 invalid in OpenCL 
    10354 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10355 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10356 
    10357 program_source:360:60: note: expanded from macro '\ 
    10358 DECLARE_I_REDUCTION_CLUSTERED' 
    10359 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10360 
    10361 program_source:246:59: note: expanded from macro '\ 
    10362 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10363 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10364 
    10365 program_source:198:12: note: expanded from macro '\ 
    10366 OVERLOAD_CLUSTERED_ARGS_1' 
    10367 return simd_##METAL_SUFFIX(x); \ 
    10368 
    10369 <scratch space>:97:1: note: expanded from here 
    10370 simd_sum 
    10371 
    10372 program_source:391:1: error: implicit declaration of function 'quad_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:196:12: note: expanded from macro '\ 
    10386 OVERLOAD_CLUSTERED_ARGS_1' 
    10387 return quad_##METAL_SUFFIX(x); \ 
    10388 
    10389 <scratch space>:99:1: note: expanded from here 
    10390 quad_sum 
    10391 
    10392 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    10393 invalid in OpenCL 
    10394 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10395 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10396 
    10397 program_source:363:60: note: expanded from macro '\ 
    10398 DECLARE_F_REDUCTION_CLUSTERED' 
    10399 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10400 
    10401 program_source:249:71: note: expanded from macro '\ 
    10402 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10403 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10404 
    10405 program_source:198:12: note: expanded from macro '\ 
    10406 OVERLOAD_CLUSTERED_ARGS_1' 
    10407 return simd_##METAL_SUFFIX(x); \ 
    10408 
    10409 <scratch space>:100:1: note: expanded from here 
    10410 simd_sum 
    10411 
    10412 program_source:392:1: error: implicit declaration of function 'quad_min' is
    10413 invalid in OpenCL 
    10414 DECLARE_REDUCTION_CLUSTERED(min, reduce_min) 
    10415 
    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:196:12: note: expanded from macro '\ 
    10428 OVERLOAD_CLUSTERED_ARGS_1' 
    10429 return quad_##METAL_SUFFIX(x); \ 
    10430 
    10431 <scratch space>:102:1: note: expanded from here 
    10432 quad_min 
    10433 
    10434 program_source:392:1: error: implicit declaration of function 'simd_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:245:71: note: expanded from macro '\ 
    10444 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10445 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10446 
    10447 program_source:198:12: note: expanded from macro '\ 
    10448 OVERLOAD_CLUSTERED_ARGS_1' 
    10449 return simd_##METAL_SUFFIX(x); \ 
    10450 
    10451 <scratch space>:103:1: note: expanded from here 
    10452 simd_min 
    10453 
    10454 program_source:392:1: error: implicit declaration of function 'quad_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:196:12: note: expanded from macro '\ 
    10468 OVERLOAD_CLUSTERED_ARGS_1' 
    10469 return quad_##METAL_SUFFIX(x); \ 
    10470 
    10471 <scratch space>:104:1: note: expanded from here 
    10472 quad_min 
    10473 
    10474 program_source:392:1: error: implicit declaration of function 'simd_min' is
    10475 invalid in OpenCL 
    10476 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10477 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10478 
    10479 program_source:360:60: note: expanded from macro '\ 
    10480 DECLARE_I_REDUCTION_CLUSTERED' 
    10481 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10482 
    10483 program_source:246:59: note: expanded from macro '\ 
    10484 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10485 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10486 
    10487 program_source:198:12: note: expanded from macro '\ 
    10488 OVERLOAD_CLUSTERED_ARGS_1' 
    10489 return simd_##METAL_SUFFIX(x); \ 
    10490 
    10491 <scratch space>:105:1: note: expanded from here 
    10492 simd_min 
    10493 
    10494 program_source:392:1: error: implicit declaration of function 'quad_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:196:12: note: expanded from macro '\ 
    10508 OVERLOAD_CLUSTERED_ARGS_1' 
    10509 return quad_##METAL_SUFFIX(x); \ 
    10510 
    10511 <scratch space>:107:1: note: expanded from here 
    10512 quad_min 
    10513 
    10514 program_source:392:1: error: implicit declaration of function 'simd_min' is
    10515 invalid in OpenCL 
    10516 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10517 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10518 
    10519 program_source:363:60: note: expanded from macro '\ 
    10520 DECLARE_F_REDUCTION_CLUSTERED' 
    10521 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10522 
    10523 program_source:249:71: note: expanded from macro '\ 
    10524 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10525 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10526 
    10527 program_source:198:12: note: expanded from macro '\ 
    10528 OVERLOAD_CLUSTERED_ARGS_1' 
    10529 return simd_##METAL_SUFFIX(x); \ 
    10530 
    10531 <scratch space>:108:1: note: expanded from here 
    10532 simd_min 
    10533 
    10534 program_source:393:1: error: implicit declaration of function 'quad_max' is
    10535 invalid in OpenCL 
    10536 DECLARE_REDUCTION_CLUSTERED(max, reduce_max) 
    10537 
    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:196:12: note: expanded from macro '\ 
    10550 OVERLOAD_CLUSTERED_ARGS_1' 
    10551 return quad_##METAL_SUFFIX(x); \ 
    10552 
    10553 <scratch space>:110:1: note: expanded from here 
    10554 quad_max 
    10555 
    10556 program_source:393:1: error: implicit declaration of function 'simd_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:245:71: note: expanded from macro '\ 
    10566 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10567 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10568 
    10569 program_source:198:12: note: expanded from macro '\ 
    10570 OVERLOAD_CLUSTERED_ARGS_1' 
    10571 return simd_##METAL_SUFFIX(x); \ 
    10572 
    10573 <scratch space>:111:1: note: expanded from here 
    10574 simd_max 
    10575 
    10576 program_source:393:1: error: implicit declaration of function 'quad_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:196:12: note: expanded from macro '\ 
    10590 OVERLOAD_CLUSTERED_ARGS_1' 
    10591 return quad_##METAL_SUFFIX(x); \ 
    10592 
    10593 <scratch space>:112:1: note: expanded from here 
    10594 quad_max 
    10595 
    10596 program_source:393:1: error: implicit declaration of function 'simd_max' is
    10597 invalid in OpenCL 
    10598 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10599 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10600 
    10601 program_source:360:60: note: expanded from macro '\ 
    10602 DECLARE_I_REDUCTION_CLUSTERED' 
    10603 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10604 
    10605 program_source:246:59: note: expanded from macro '\ 
    10606 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10607 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10608 
    10609 program_source:198:12: note: expanded from macro '\ 
    10610 OVERLOAD_CLUSTERED_ARGS_1' 
    10611 return simd_##METAL_SUFFIX(x); \ 
    10612 
    10613 <scratch space>:113:1: note: expanded from here 
    10614 simd_max 
    10615 
    10616 program_source:393:1: error: implicit declaration of function 'quad_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:196:12: note: expanded from macro '\ 
    10630 OVERLOAD_CLUSTERED_ARGS_1' 
    10631 return quad_##METAL_SUFFIX(x); \ 
    10632 
    10633 <scratch space>:115:1: note: expanded from here 
    10634 quad_max 
    10635 
    10636 program_source:393:1: error: implicit declaration of function 'simd_max' is
    10637 invalid in OpenCL 
    10638 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10639 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10640 
    10641 program_source:363:60: note: expanded from macro '\ 
    10642 DECLARE_F_REDUCTION_CLUSTERED' 
    10643 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10644 
    10645 program_source:249:71: note: expanded from macro '\ 
    10646 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10647 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10648 
    10649 program_source:198:12: note: expanded from macro '\ 
    10650 OVERLOAD_CLUSTERED_ARGS_1' 
    10651 return simd_##METAL_SUFFIX(x); \ 
    10652 
    10653 <scratch space>:116:1: note: expanded from here 
    10654 simd_max 
    10655 
    10656 program_source:395:1: error: implicit declaration of function 'quad_product'
    10657 is invalid in OpenCL 
    10658 DECLARE_REDUCTION_CLUSTERED(product, reduce_mul) 
    10659 
    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:196:12: note: expanded from macro '\ 
    10672 OVERLOAD_CLUSTERED_ARGS_1' 
    10673 return quad_##METAL_SUFFIX(x); \ 
    10674 
    10675 <scratch space>:118:1: note: expanded from here 
    10676 quad_product 
    10677 
    10678 program_source:395:1: error: implicit declaration of function 'simd_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:245:71: note: expanded from macro '\ 
    10688 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10689 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10690 
    10691 program_source:198:12: note: expanded from macro '\ 
    10692 OVERLOAD_CLUSTERED_ARGS_1' 
    10693 return simd_##METAL_SUFFIX(x); \ 
    10694 
    10695 <scratch space>:119:1: note: expanded from here 
    10696 simd_product 
    10697 
    10698 program_source:395:1: error: implicit declaration of function 'quad_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:196:12: note: expanded from macro '\ 
    10712 OVERLOAD_CLUSTERED_ARGS_1' 
    10713 return quad_##METAL_SUFFIX(x); \ 
    10714 
    10715 <scratch space>:120:1: note: expanded from here 
    10716 quad_product 
    10717 
    10718 program_source:395:1: error: implicit declaration of function 'simd_product'
    10719 is invalid in OpenCL 
    10720 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10721 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10722 
    10723 program_source:360:60: note: expanded from macro '\ 
    10724 DECLARE_I_REDUCTION_CLUSTERED' 
    10725 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10726 
    10727 program_source:246:59: note: expanded from macro '\ 
    10728 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10729 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10730 
    10731 program_source:198:12: note: expanded from macro '\ 
    10732 OVERLOAD_CLUSTERED_ARGS_1' 
    10733 return simd_##METAL_SUFFIX(x); \ 
    10734 
    10735 <scratch space>:121:1: note: expanded from here 
    10736 simd_product 
    10737 
    10738 program_source:395:1: error: implicit declaration of function 'quad_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:196:12: note: expanded from macro '\ 
    10752 OVERLOAD_CLUSTERED_ARGS_1' 
    10753 return quad_##METAL_SUFFIX(x); \ 
    10754 
    10755 <scratch space>:123:1: note: expanded from here 
    10756 quad_product 
    10757 
    10758 program_source:395:1: error: implicit declaration of function 'simd_product'
    10759 is invalid in OpenCL 
    10760 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10761 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10762 
    10763 program_source:363:60: note: expanded from macro '\ 
    10764 DECLARE_F_REDUCTION_CLUSTERED' 
    10765 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10766 
    10767 program_source:249:71: note: expanded from macro '\ 
    10768 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10769 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10770 
    10771 program_source:198:12: note: expanded from macro '\ 
    10772 OVERLOAD_CLUSTERED_ARGS_1' 
    10773 return simd_##METAL_SUFFIX(x); \ 
    10774 
    10775 <scratch space>:124:1: note: expanded from here 
    10776 simd_product 
    10777 
    10778 program_source:396:1: error: implicit declaration of function 'quad_and' is
    10779 invalid in OpenCL 
    10780 DECLARE_I_REDUCTION_CLUSTERED(and, reduce_and) 
    10781 
    10782 program_source:360:60: note: expanded from macro
    10783 'DECLARE_I_REDUCTION_CLUSTERED' 
    10784 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10785 
    10786 program_source:245:71: note: expanded from macro '\ 
    10787 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10788 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10789 
    10790 program_source:196:12: note: expanded from macro '\ 
    10791 OVERLOAD_CLUSTERED_ARGS_1' 
    10792 return quad_##METAL_SUFFIX(x); \ 
    10793 
    10794 <scratch space>:126:1: note: expanded from here 
    10795 quad_and 
    10796 
    10797 program_source:396:1: error: implicit declaration of function 'simd_and' is
    10798 invalid in OpenCL 
    10799 program_source:360:60: note: expanded from macro
    10800 'DECLARE_I_REDUCTION_CLUSTERED' 
    10801 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10802 
    10803 program_source:245:71: note: expanded from macro '\ 
    10804 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10805 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10806 
    10807 program_source:198:12: note: expanded from macro '\ 
    10808 OVERLOAD_CLUSTERED_ARGS_1' 
    10809 return simd_##METAL_SUFFIX(x); \ 
    10810 
    10811 <scratch space>:127:1: note: expanded from here 
    10812 simd_and 
    10813 
    10814 program_source:396:1: error: implicit declaration of function 'quad_and' is
    10815 invalid in OpenCL 
    10816 program_source:360:60: note: expanded from macro
    10817 'DECLARE_I_REDUCTION_CLUSTERED' 
    10818 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10819 
    10820 program_source:246:59: note: expanded from macro '\ 
    10821 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10822 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10823 
    10824 program_source:196:12: note: expanded from macro '\ 
    10825 OVERLOAD_CLUSTERED_ARGS_1' 
    10826 return quad_##METAL_SUFFIX(x); \ 
    10827 
    10828 <scratch space>:128:1: note: expanded from here 
    10829 quad_and 
    10830 
    10831 program_source:396:1: error: implicit declaration of function 'simd_and' is
    10832 invalid in OpenCL 
    10833 program_source:360:60: note: expanded from macro
    10834 'DECLARE_I_REDUCTION_CLUSTERED' 
    10835 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10836 
    10837 program_source:246:59: note: expanded from macro '\ 
    10838 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10839 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10840 
    10841 program_source:198:12: note: expanded from macro '\ 
    10842 OVERLOAD_CLUSTERED_ARGS_1' 
    10843 return simd_##METAL_SUFFIX(x); \ 
    10844 
    10845 <scratch space>:129:1: note: expanded from here 
    10846 simd_and 
    10847 
    10848 program_source:397:1: error: implicit declaration of function 'quad_or' is
    10849 invalid in OpenCL 
    10850 DECLARE_I_REDUCTION_CLUSTERED(or, reduce_or) 
    10851 
    10852 program_source:360:60: note: expanded from macro
    10853 'DECLARE_I_REDUCTION_CLUSTERED' 
    10854 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10855 
    10856 program_source:245:71: note: expanded from macro '\ 
    10857 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10858 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10859 
    10860 program_source:196:12: note: expanded from macro '\ 
    10861 OVERLOAD_CLUSTERED_ARGS_1' 
    10862 return quad_##METAL_SUFFIX(x); \ 
    10863 
    10864 <scratch space>:131:1: note: expanded from here 
    10865 quad_or 
    10866 
    10867 program_source:397:1: error: implicit declaration of function 'simd_or' is
    10868 invalid in OpenCL 
    10869 program_source:360:60: note: expanded from macro
    10870 'DECLARE_I_REDUCTION_CLUSTERED' 
    10871 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10872 
    10873 program_source:245:71: note: expanded from macro '\ 
    10874 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10875 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10876 
    10877 program_source:198:12: note: expanded from macro '\ 
    10878 OVERLOAD_CLUSTERED_ARGS_1' 
    10879 return simd_##METAL_SUFFIX(x); \ 
    10880 
    10881 <scratch space>:132:1: note: expanded from here 
    10882 simd_or 
    10883 
    10884 program_source:397:1: error: implicit declaration of function 'quad_or' is
    10885 invalid in OpenCL 
    10886 program_source:360:60: note: expanded from macro
    10887 'DECLARE_I_REDUCTION_CLUSTERED' 
    10888 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10889 
    10890 program_source:246:59: note: expanded from macro '\ 
    10891 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10892 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10893 
    10894 program_source:196:12: note: expanded from macro '\ 
    10895 OVERLOAD_CLUSTERED_ARGS_1' 
    10896 return quad_##METAL_SUFFIX(x); \ 
    10897 
    10898 <scratch space>:133:1: note: expanded from here 
    10899 quad_or 
    10900 
    10901 program_source:397:1: error: implicit declaration of function 'simd_or' is
    10902 invalid in OpenCL 
    10903 program_source:360:60: note: expanded from macro
    10904 'DECLARE_I_REDUCTION_CLUSTERED' 
    10905 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10906 
    10907 program_source:246:59: note: expanded from macro '\ 
    10908 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10909 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10910 
    10911 program_source:198:12: note: expanded from macro '\ 
    10912 OVERLOAD_CLUSTERED_ARGS_1' 
    10913 return simd_##METAL_SUFFIX(x); \ 
    10914 
    10915 <scratch space>:134:1: note: expanded from here 
    10916 simd_or 
    10917 
    10918 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    10919 invalid in OpenCL 
    10920 DECLARE_I_REDUCTION_CLUSTERED(xor, reduce_xor) 
    10921 
    10922 program_source:360:60: note: expanded from macro
    10923 'DECLARE_I_REDUCTION_CLUSTERED' 
    10924 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10925 
    10926 program_source:245:71: note: expanded from macro '\ 
    10927 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10928 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10929 
    10930 program_source:196:12: note: expanded from macro '\ 
    10931 OVERLOAD_CLUSTERED_ARGS_1' 
    10932 return quad_##METAL_SUFFIX(x); \ 
    10933 
    10934 <scratch space>:136:1: note: expanded from here 
    10935 quad_xor 
    10936 
    10937 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    10938 invalid in OpenCL 
    10939 program_source:360:60: note: expanded from macro
    10940 'DECLARE_I_REDUCTION_CLUSTERED' 
    10941 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10942 
    10943 program_source:245:71: note: expanded from macro '\ 
    10944 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10945 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10946 
    10947 program_source:198:12: note: expanded from macro '\ 
    10948 OVERLOAD_CLUSTERED_ARGS_1' 
    10949 return simd_##METAL_SUFFIX(x); \ 
    10950 
    10951 <scratch space>:137:1: note: expanded from here 
    10952 simd_xor 
    10953 
    10954 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    10955 invalid in OpenCL 
    10956 program_source:360:60: note: expanded from macro
    10957 'DECLARE_I_REDUCTION_CLUSTERED' 
    10958 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10959 
    10960 program_source:246:59: note: expanded from macro '\ 
    10961 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10962 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10963 
    10964 program_source:196:12: note: expanded from macro '\ 
    10965 OVERLOAD_CLUSTERED_ARGS_1' 
    10966 return quad_##METAL_SUFFIX(x); \ 
    10967 
    10968 <scratch space>:138:1: note: expanded from here 
    10969 quad_xor 
    10970 
    10971 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    10972 invalid in OpenCL 
    10973 program_source:360:60: note: expanded from macro
    10974 'DECLARE_I_REDUCTION_CLUSTERED' 
    10975 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10976 
    10977 program_source:246:59: note: expanded from macro '\ 
    10978 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10979 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10980 
    10981 program_source:198:12: note: expanded from macro '\ 
    10982 OVERLOAD_CLUSTERED_ARGS_1' 
    10983 return simd_##METAL_SUFFIX(x); \ 
    10984 
    10985 <scratch space>:139:1: note: expanded from here 
    10986 simd_xor 
    10987 
    10988 program_source:399:1: error: implicit declaration of function 'simd_and' is
    10989 invalid in OpenCL 
    10990 DECLARE_B_REDUCTION_CLUSTERED(and) 
    10991 
    10992 program_source:369:8: note: expanded from macro
    10993 'DECLARE_B_REDUCTION_CLUSTERED' 
    10994 return simd_##OP(select(0, 1, predicate != 0)); \ 
    10995 
    10996 <scratch space>:141:1: note: expanded from here 
    10997 simd_and 
    10998 
    10999 program_source:399:1: error: implicit declaration of function 'quad_and' is
    11000 invalid in OpenCL 
    11001 program_source:378:12: note: expanded from macro
    11002 'DECLARE_B_REDUCTION_CLUSTERED' 
    11003 return quad_##OP(x); \ 
    11004 
    11005 <scratch space>:143:1: note: expanded from here 
    11006 quad_and 
    11007 
    11008 program_source:399:1: error: implicit declaration of function 'simd_and' is
    11009 invalid in OpenCL 
    11010 program_source:380:12: note: expanded from macro
    11011 'DECLARE_B_REDUCTION_CLUSTERED' 
    11012 return simd_##OP(x); \ 
    11013 
    11014 <scratch space>:144:1: note: expanded from here 
    11015 simd_and 
    11016 
    11017 program_source:400:1: error: implicit declaration of function 'simd_or' is
    11018 invalid in OpenCL 
    11019 DECLARE_B_REDUCTION_CLUSTERED(or) 
    11020 
    11021 program_source:369:8: note: expanded from macro
    11022 'DECLARE_B_REDUCTION_CLUSTERED' 
    11023 return simd_##OP(select(0, 1, predicate != 0)); \ 
    11024 
    11025 <scratch space>:146:1: note: expanded from here 
    11026 simd_or 
    11027 
    11028 program_source:400:1: error: implicit declaration of function 'quad_or' is
    11029 invalid in OpenCL 
    11030 program_source:378:12: note: expanded from macro
    11031 'DECLARE_B_REDUCTION_CLUSTERED' 
    11032 return quad_##OP(x); \ 
    11033 
    11034 <scratch space>:148:1: note: expanded from here 
    11035 quad_or 
    11036 
    11037 program_source:400:1: error: implicit declaration of function 'simd_or' is
    11038 invalid in OpenCL 
    11039 program_source:380:12: note: expanded from macro
    11040 'DECLARE_B_REDUCTION_CLUSTERED' 
    11041 return simd_##OP(x); \ 
    11042 
    11043 <scratch space>:149:1: note: expanded from here 
    11044 simd_or 
    11045 
    11046 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    11047 invalid in OpenCL 
    11048 DECLARE_B_REDUCTION_CLUSTERED(xor) 
    11049 
    11050 program_source:369:8: note: expanded from macro
    11051 'DECLARE_B_REDUCTION_CLUSTERED' 
    11052 return simd_##OP(select(0, 1, predicate != 0)); \ 
    11053 
    11054 <scratch space>:151:1: note: expanded from here 
    11055 simd_xor 
    11056 
    11057 program_source:401:1: error: implicit declaration of function 'quad_xor' is
    11058 invalid in OpenCL 
    11059 program_source:378:12: note: expanded from macro
    11060 'DECLARE_B_REDUCTION_CLUSTERED' 
    11061 return quad_##OP(x); \ 
    11062 
    11063 <scratch space>:153:1: note: expanded from here 
    11064 quad_xor 
    11065 
    11066 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    11067 invalid in OpenCL 
    11068 program_source:380:12: note: expanded from macro
    11069 'DECLARE_B_REDUCTION_CLUSTERED' 
    11070 return simd_##OP(x); \ 
    11071 
    11072 <scratch space>:154:1: note: expanded from here 
    11073 simd_xor 
    11074 
    11075 program_source:403:1: error: implicit declaration of function
    11076 'quad_shuffle_rotate_down' is invalid in OpenCL 
    11077 DECLARE_SHUFFLE_CLUSTERED(shuffle_rotate_down, rotate) 
    11078 
    11079 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    11080 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    11081 
    11082 program_source:252:69: note: expanded from macro '\ 
    11083 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    11084 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    11085 
    11086 program_source:208:12: note: expanded from macro '\ 
    11087 OVERLOAD_CLUSTERED_ARGS_2' 
    11088 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    11089 
    11090 <scratch space>:156:1: note: expanded from here 
    11091 quad_shuffle_rotate_down 
    11092 
    11093 program_source:403:1: error: implicit declaration of function
    11094 'simd_shuffle_rotate_down' is invalid in OpenCL 
    11095 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    11096 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    11097 
    11098 program_source:252:69: note: expanded from macro '\ 
    11099 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    11100 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    11101 
    11102 program_source:210:12: note: expanded from macro '\ 
    11103 OVERLOAD_CLUSTERED_ARGS_2' 
    11104 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    11105 
    11106 <scratch space>:157:1: note: expanded from here 
    11107 simd_shuffle_rotate_down 
    11108 
    11109 program_source:403:1: error: implicit declaration of function
    11110 'quad_shuffle_rotate_down' is invalid in OpenCL 
    11111 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    11112 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    11113 
    11114 program_source:253:59: note: expanded from macro '\ 
    11115 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    11116 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    11117 
    11118 program_source:208:12: note: expanded from macro '\ 
    11119 OVERLOAD_CLUSTERED_ARGS_2' 
    11120 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    11121 
    11122 <scratch space>:158:1: note: expanded from here 
    11123 quad_shuffle_rotate_down 
    11124 
    11125 program_source:403:1: error: implicit declaration of function
    11126 'simd_shuffle_rotate_down' is invalid in OpenCL 
    11127 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    11128 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    11129 
    11130 program_source:253:59: note: expanded from macro '\ 
    11131 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    11132 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    11133 
    11134 program_source:210:12: note: expanded from macro '\ 
    11135 OVERLOAD_CLUSTERED_ARGS_2' 
    11136 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    11137 
    11138 <scratch space>:159:1: note: expanded from here 
    11139 simd_shuffle_rotate_down 
    11140 
    11141 program_source:403:1: error: implicit declaration of function
    11142 'quad_shuffle_rotate_down' is invalid in OpenCL 
    11143 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    11144 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    11145 
    11146 program_source:254:60: note: expanded from macro '\ 
    11147 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    11148 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    11149 
    11150 program_source:208:12: note: expanded from macro '\ 
    11151 OVERLOAD_CLUSTERED_ARGS_2' 
    11152 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    11153 
    11154 <scratch space>:160:1: note: expanded from here 
    11155 quad_shuffle_rotate_down 
    11156 
    11157 program_source:403:1: error: implicit declaration of function
    11158 'simd_shuffle_rotate_down' is invalid in OpenCL 
    11159 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    11160 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    11161 
    11162 program_source:254:60: note: expanded from macro '\ 
    11163 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    11164 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    11165 
    11166 program_source:210:12: note: expanded from macro '\ 
    11167 OVERLOAD_CLUSTERED_ARGS_2' 
    11168 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    11169 
    11170 <scratch space>:161:1: note: expanded from here 
    11171 simd_shuffle_rotate_down 
    11172 
    11173 program_source:409:1: error: illegal string literal in 'asm' 
    11174 EXPOSE_BALLOT(simd_is_first, , bool, ) 
    11175 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11176 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11177 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11178 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11179 program_source:410:1: error: illegal string literal in 'asm' 
    11180 EXPOSE_BALLOT(simd_all, bool expr, bool, ) 
    11181 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11182 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11183 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11184 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11185 program_source:411:1: error: illegal string literal in 'asm' 
    11186 EXPOSE_BALLOT(simd_any, bool expr, bool, ) 
    11187 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11188 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11189 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11190 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11191 program_source:412:1: error: illegal string literal in 'asm' 
    11192 EXPOSE_BALLOT(simd_ballot, bool expr, ulong, .i64) 
    11193 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11194 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11195 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11196 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11197 program_source:413:1: error: illegal string literal in 'asm' 
    11198 EXPOSE_BALLOT(simd_active_threads_mask, , ulong, .i64) 
    11199 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11200 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11201 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11202 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11203 program_source:415:1: error: illegal string literal in 'asm' 
    11204 EXPOSE_BALLOT(quad_is_first, , bool, ) 
    11205 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11206 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11207 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11208 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11209 program_source:416:1: error: illegal string literal in 'asm' 
    11210 EXPOSE_BALLOT(quad_all, bool expr, bool, ) 
    11211 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11212 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11213 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11214 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11215 program_source:417:1: error: illegal string literal in 'asm' 
    11216 EXPOSE_BALLOT(quad_any, bool expr, bool, ) 
    11217 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11218 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11219 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11220 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11221 program_source:418:1: error: illegal string literal in 'asm' 
    11222 EXPOSE_BALLOT(quad_ballot, bool expr, ushort, ) 
    11223 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11224 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11225 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11226 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11227 program_source:419:1: error: illegal string literal in 'asm' 
    11228 EXPOSE_BALLOT(quad_active_threads_mask, , ushort, ) 
    11229 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11230 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    11231 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    11232 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11233 program_source:422:23: error: implicit declaration of function 'simd_is_first'
    11234 is invalid in OpenCL 
    11235 return select(0, 1, simd_is_first()); 
    11236 
    11237 program_source:426:23: error: implicit declaration of function 'simd_all' is
    11238 invalid in OpenCL 
    11239 return select(0, 1, simd_all(predicate != 0)); 
    11240 
    11241 program_source:430:23: error: implicit declaration of function 'simd_any' is
    11242 invalid in OpenCL 
    11243 return select(0, 1, simd_any(predicate != 0)); 
    11244 
    11245 program_source:434:23: error: implicit declaration of function 'simd_all' is
    11246 invalid in OpenCL 
    11247 return select(0, 1, simd_all(predicate != 0)); 
    11248 
    11249 program_source:438:23: error: implicit declaration of function 'simd_any' is
    11250 invalid in OpenCL 
    11251 return select(0, 1, simd_any(predicate != 0)); 
    11252 
    11253 program_source:443:14: error: implicit declaration of function 'simd_ballot'
    11254 is invalid in OpenCL 
    11255 output.x = simd_ballot(predicate != 0); 
    11256 
    11257 program_source:480:9: error: illegal string literal in 'asm' 
    11258 __asm("air.simdgroup.barrier"); 
    11259 ^~~~~~~~~~~~~~~~~~~~~~~ 
    11260 program_source:487:3: error: implicit declaration of function
    11261 '__metal_simdgroup_barrier' is invalid in OpenCL 
    11262 __metal_simdgroup_barrier(flags, 1); 
    11263 
    11264 program_source:487:3: note: did you mean 'simdgroup_barrier'? 
    11265 program_source:483:6: note: 'simdgroup_barrier' declared here 
    11266 void simdgroup_barrier(int flags) { 
    11267 
    11268 program_source:681:9: error: implicit declaration of function 'simd_is_first'
    11269 is invalid in OpenCL 
    11270 if (simd_is_first()) { 
    11271 
    11272 program_source:673:45: warning: comparison of integers of different signs:
    11273 '__private unsigned int' and '__private int' [-Wsign-compare] 
    11274 for (unsigned int index = thread; index < bufferSize; index +=
    11275 get_local_size(0)) 
    11276 ~~~~~ ^ ~~~~~~~~~~ 
    11277 program_source:685:45: warning: comparison of integers of different signs:
    11278 'unsigned int' and '__private int' [-Wsign-compare] 
    11279 if (thread%(32*2) == 0 && thread+32 < workGroupSize) 
    11280 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    11281 program_source:689:45: warning: comparison of integers of different signs:
    11282 'unsigned int' and '__private int' [-Wsign-compare] 
    11283 if (thread%(64*2) == 0 && thread+64 < workGroupSize) 
    11284 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    11285 program_source:693:47: warning: comparison of integers of different signs:
    11286 'unsigned int' and '__private int' [-Wsign-compare] 
    11287 if (thread%(128*2) == 0 && thread+128 < workGroupSize) 
    11288 ~~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    11289  
    11290  
    11291 openmm.OpenMMException: Error compiling kernel: program_source:279:1: error:
    11292 illegal string literal in 'asm' 
    11293 DECLARE_REDUCTION_BASE(sum) 
    11294 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11295 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11296 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11297 
    11298 program_source:263:44: note: expanded from macro '\ 
    11299 DECLARE_I_REDUCTION_BASE' 
    11300 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11301 
    11302 program_source:217:40: note: expanded from macro '\ 
    11303 EXPOSE_FUNCTION_I_ARGS_1' 
    11304 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11305 
    11306 program_source:164:9: note: expanded from macro '\ 
    11307 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11308 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11309 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11310 program_source:279:1: error: illegal string literal in 'asm' 
    11311 DECLARE_REDUCTION_BASE(sum) 
    11312 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11313 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11314 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11315 
    11316 program_source:263:44: note: expanded from macro '\ 
    11317 DECLARE_I_REDUCTION_BASE' 
    11318 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11319 
    11320 program_source:218:51: note: expanded from macro '\ 
    11321 EXPOSE_FUNCTION_I_ARGS_1' 
    11322 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11323 
    11324 program_source:164:9: note: expanded from macro '\ 
    11325 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11326 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11327 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11328 program_source:279:1: error: illegal string literal in 'asm' 
    11329 DECLARE_REDUCTION_BASE(sum) 
    11330 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11331 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11332 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11333 
    11334 program_source:264:43: note: expanded from macro '\ 
    11335 DECLARE_I_REDUCTION_BASE' 
    11336 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11337 
    11338 program_source:217:40: note: expanded from macro '\ 
    11339 EXPOSE_FUNCTION_I_ARGS_1' 
    11340 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11341 
    11342 program_source:164:9: note: expanded from macro '\ 
    11343 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11344 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11345 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11346 program_source:279:1: error: illegal string literal in 'asm' 
    11347 DECLARE_REDUCTION_BASE(sum) 
    11348 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11349 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11350 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11351 
    11352 program_source:264:43: note: expanded from macro '\ 
    11353 DECLARE_I_REDUCTION_BASE' 
    11354 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11355 
    11356 program_source:218:51: note: expanded from macro '\ 
    11357 EXPOSE_FUNCTION_I_ARGS_1' 
    11358 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11359 
    11360 program_source:164:9: note: expanded from macro '\ 
    11361 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11362 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11363 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11364 program_source:279:1: error: illegal string literal in 'asm' 
    11365 DECLARE_REDUCTION_BASE(sum) 
    11366 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11367 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11368 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11369 
    11370 program_source:267:44: note: expanded from macro '\ 
    11371 DECLARE_F_REDUCTION_BASE' 
    11372 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11373 
    11374 program_source:221:40: note: expanded from macro '\ 
    11375 EXPOSE_FUNCTION_F_ARGS_1' 
    11376 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11377 
    11378 program_source:164:9: note: expanded from macro '\ 
    11379 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11380 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11381 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11382 program_source:279:1: error: illegal string literal in 'asm' 
    11383 DECLARE_REDUCTION_BASE(sum) 
    11384 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11385 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11386 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11387 
    11388 program_source:268:43: note: expanded from macro '\ 
    11389 DECLARE_F_REDUCTION_BASE' 
    11390 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11391 
    11392 program_source:221:40: note: expanded from macro '\ 
    11393 EXPOSE_FUNCTION_F_ARGS_1' 
    11394 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11395 
    11396 program_source:164:9: note: expanded from macro '\ 
    11397 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11398 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11399 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11400 program_source:280:1: error: illegal string literal in 'asm' 
    11401 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11402 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11403 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11404 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11405 
    11406 program_source:263:44: note: expanded from macro '\ 
    11407 DECLARE_I_REDUCTION_BASE' 
    11408 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11409 
    11410 program_source:217:40: note: expanded from macro '\ 
    11411 EXPOSE_FUNCTION_I_ARGS_1' 
    11412 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11413 
    11414 program_source:164:9: note: expanded from macro '\ 
    11415 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11416 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11417 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11418 program_source:280:1: error: illegal string literal in 'asm' 
    11419 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11420 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11421 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11422 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11423 
    11424 program_source:263:44: note: expanded from macro '\ 
    11425 DECLARE_I_REDUCTION_BASE' 
    11426 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11427 
    11428 program_source:218:51: note: expanded from macro '\ 
    11429 EXPOSE_FUNCTION_I_ARGS_1' 
    11430 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11431 
    11432 program_source:164:9: note: expanded from macro '\ 
    11433 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11434 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11435 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11436 program_source:280:1: error: illegal string literal in 'asm' 
    11437 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11438 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11439 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11440 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11441 
    11442 program_source:264:43: note: expanded from macro '\ 
    11443 DECLARE_I_REDUCTION_BASE' 
    11444 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11445 
    11446 program_source:217:40: note: expanded from macro '\ 
    11447 EXPOSE_FUNCTION_I_ARGS_1' 
    11448 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11449 
    11450 program_source:164:9: note: expanded from macro '\ 
    11451 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11452 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11453 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11454 program_source:280:1: error: illegal string literal in 'asm' 
    11455 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11456 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11457 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11458 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11459 
    11460 program_source:264:43: note: expanded from macro '\ 
    11461 DECLARE_I_REDUCTION_BASE' 
    11462 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11463 
    11464 program_source:218:51: note: expanded from macro '\ 
    11465 EXPOSE_FUNCTION_I_ARGS_1' 
    11466 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11467 
    11468 program_source:164:9: note: expanded from macro '\ 
    11469 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11470 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11471 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11472 program_source:280:1: error: illegal string literal in 'asm' 
    11473 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11474 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11475 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11476 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11477 
    11478 program_source:267:44: note: expanded from macro '\ 
    11479 DECLARE_F_REDUCTION_BASE' 
    11480 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11481 
    11482 program_source:221:40: note: expanded from macro '\ 
    11483 EXPOSE_FUNCTION_F_ARGS_1' 
    11484 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11485 
    11486 program_source:164:9: note: expanded from macro '\ 
    11487 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11488 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11489 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11490 program_source:280:1: error: illegal string literal in 'asm' 
    11491 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11492 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11493 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11494 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11495 
    11496 program_source:268:43: note: expanded from macro '\ 
    11497 DECLARE_F_REDUCTION_BASE' 
    11498 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11499 
    11500 program_source:221:40: note: expanded from macro '\ 
    11501 EXPOSE_FUNCTION_F_ARGS_1' 
    11502 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11503 
    11504 program_source:164:9: note: expanded from macro '\ 
    11505 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11506 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11507 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11508 program_source:281:1: error: illegal string literal in 'asm' 
    11509 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11510 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11511 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11512 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11513 
    11514 program_source:263:44: note: expanded from macro '\ 
    11515 DECLARE_I_REDUCTION_BASE' 
    11516 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11517 
    11518 program_source:217:40: note: expanded from macro '\ 
    11519 EXPOSE_FUNCTION_I_ARGS_1' 
    11520 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11521 
    11522 program_source:164:9: note: expanded from macro '\ 
    11523 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11524 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11525 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11526 program_source:281:1: error: illegal string literal in 'asm' 
    11527 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11528 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11529 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11530 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11531 
    11532 program_source:263:44: note: expanded from macro '\ 
    11533 DECLARE_I_REDUCTION_BASE' 
    11534 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11535 
    11536 program_source:218:51: note: expanded from macro '\ 
    11537 EXPOSE_FUNCTION_I_ARGS_1' 
    11538 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11539 
    11540 program_source:164:9: note: expanded from macro '\ 
    11541 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11542 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11543 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11544 program_source:281:1: error: illegal string literal in 'asm' 
    11545 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11546 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11547 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11548 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11549 
    11550 program_source:264:43: note: expanded from macro '\ 
    11551 DECLARE_I_REDUCTION_BASE' 
    11552 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11553 
    11554 program_source:217:40: note: expanded from macro '\ 
    11555 EXPOSE_FUNCTION_I_ARGS_1' 
    11556 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11557 
    11558 program_source:164:9: note: expanded from macro '\ 
    11559 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11560 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11561 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11562 program_source:281:1: error: illegal string literal in 'asm' 
    11563 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11564 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11565 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11566 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11567 
    11568 program_source:264:43: note: expanded from macro '\ 
    11569 DECLARE_I_REDUCTION_BASE' 
    11570 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11571 
    11572 program_source:218:51: note: expanded from macro '\ 
    11573 EXPOSE_FUNCTION_I_ARGS_1' 
    11574 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11575 
    11576 program_source:164:9: note: expanded from macro '\ 
    11577 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11578 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11579 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11580 program_source:281:1: error: illegal string literal in 'asm' 
    11581 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11582 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11583 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11584 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11585 
    11586 program_source:267:44: note: expanded from macro '\ 
    11587 DECLARE_F_REDUCTION_BASE' 
    11588 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11589 
    11590 program_source:221:40: note: expanded from macro '\ 
    11591 EXPOSE_FUNCTION_F_ARGS_1' 
    11592 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11593 
    11594 program_source:164:9: note: expanded from macro '\ 
    11595 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11596 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11597 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11598 program_source:281:1: error: illegal string literal in 'asm' 
    11599 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11600 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11601 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11602 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11603 
    11604 program_source:268:43: note: expanded from macro '\ 
    11605 DECLARE_F_REDUCTION_BASE' 
    11606 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11607 
    11608 program_source:221:40: note: expanded from macro '\ 
    11609 EXPOSE_FUNCTION_F_ARGS_1' 
    11610 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11611 
    11612 program_source:164:9: note: expanded from macro '\ 
    11613 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11614 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11615 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11616 program_source:282:1: error: illegal string literal in 'asm' 
    11617 DECLARE_REDUCTION_BASE(min) 
    11618 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11619 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11620 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11621 
    11622 program_source:263:44: note: expanded from macro '\ 
    11623 DECLARE_I_REDUCTION_BASE' 
    11624 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11625 
    11626 program_source:217:40: note: expanded from macro '\ 
    11627 EXPOSE_FUNCTION_I_ARGS_1' 
    11628 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11629 
    11630 program_source:164:9: note: expanded from macro '\ 
    11631 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11632 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11633 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11634 program_source:282:1: error: illegal string literal in 'asm' 
    11635 DECLARE_REDUCTION_BASE(min) 
    11636 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11637 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11638 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11639 
    11640 program_source:263:44: note: expanded from macro '\ 
    11641 DECLARE_I_REDUCTION_BASE' 
    11642 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11643 
    11644 program_source:218:51: note: expanded from macro '\ 
    11645 EXPOSE_FUNCTION_I_ARGS_1' 
    11646 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11647 
    11648 program_source:164:9: note: expanded from macro '\ 
    11649 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11650 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11651 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11652 program_source:282:1: error: illegal string literal in 'asm' 
    11653 DECLARE_REDUCTION_BASE(min) 
    11654 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11655 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11656 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11657 
    11658 program_source:264:43: note: expanded from macro '\ 
    11659 DECLARE_I_REDUCTION_BASE' 
    11660 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11661 
    11662 program_source:217:40: note: expanded from macro '\ 
    11663 EXPOSE_FUNCTION_I_ARGS_1' 
    11664 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11665 
    11666 program_source:164:9: note: expanded from macro '\ 
    11667 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11668 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11669 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11670 program_source:282:1: error: illegal string literal in 'asm' 
    11671 DECLARE_REDUCTION_BASE(min) 
    11672 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11673 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11674 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11675 
    11676 program_source:264:43: note: expanded from macro '\ 
    11677 DECLARE_I_REDUCTION_BASE' 
    11678 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11679 
    11680 program_source:218:51: note: expanded from macro '\ 
    11681 EXPOSE_FUNCTION_I_ARGS_1' 
    11682 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11683 
    11684 program_source:164:9: note: expanded from macro '\ 
    11685 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11686 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11687 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11688 program_source:282:1: error: illegal string literal in 'asm' 
    11689 DECLARE_REDUCTION_BASE(min) 
    11690 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11691 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11692 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11693 
    11694 program_source:267:44: note: expanded from macro '\ 
    11695 DECLARE_F_REDUCTION_BASE' 
    11696 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11697 
    11698 program_source:221:40: note: expanded from macro '\ 
    11699 EXPOSE_FUNCTION_F_ARGS_1' 
    11700 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11701 
    11702 program_source:164:9: note: expanded from macro '\ 
    11703 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11704 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11705 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11706 program_source:282:1: error: illegal string literal in 'asm' 
    11707 DECLARE_REDUCTION_BASE(min) 
    11708 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11709 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11710 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11711 
    11712 program_source:268:43: note: expanded from macro '\ 
    11713 DECLARE_F_REDUCTION_BASE' 
    11714 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11715 
    11716 program_source:221:40: note: expanded from macro '\ 
    11717 EXPOSE_FUNCTION_F_ARGS_1' 
    11718 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11719 
    11720 program_source:164:9: note: expanded from macro '\ 
    11721 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11722 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11723 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11724 program_source:283:1: error: illegal string literal in 'asm' 
    11725 DECLARE_REDUCTION_BASE(max) 
    11726 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11727 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11728 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11729 
    11730 program_source:263:44: note: expanded from macro '\ 
    11731 DECLARE_I_REDUCTION_BASE' 
    11732 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11733 
    11734 program_source:217:40: note: expanded from macro '\ 
    11735 EXPOSE_FUNCTION_I_ARGS_1' 
    11736 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11737 
    11738 program_source:164:9: note: expanded from macro '\ 
    11739 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11740 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11741 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11742 program_source:283:1: error: illegal string literal in 'asm' 
    11743 DECLARE_REDUCTION_BASE(max) 
    11744 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11745 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11746 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11747 
    11748 program_source:263:44: note: expanded from macro '\ 
    11749 DECLARE_I_REDUCTION_BASE' 
    11750 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11751 
    11752 program_source:218:51: note: expanded from macro '\ 
    11753 EXPOSE_FUNCTION_I_ARGS_1' 
    11754 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11755 
    11756 program_source:164:9: note: expanded from macro '\ 
    11757 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11758 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11759 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11760 program_source:283:1: error: illegal string literal in 'asm' 
    11761 DECLARE_REDUCTION_BASE(max) 
    11762 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11763 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11764 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11765 
    11766 program_source:264:43: note: expanded from macro '\ 
    11767 DECLARE_I_REDUCTION_BASE' 
    11768 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11769 
    11770 program_source:217:40: note: expanded from macro '\ 
    11771 EXPOSE_FUNCTION_I_ARGS_1' 
    11772 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11773 
    11774 program_source:164:9: note: expanded from macro '\ 
    11775 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11776 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11777 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11778 program_source:283:1: error: illegal string literal in 'asm' 
    11779 DECLARE_REDUCTION_BASE(max) 
    11780 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11781 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11782 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11783 
    11784 program_source:264:43: note: expanded from macro '\ 
    11785 DECLARE_I_REDUCTION_BASE' 
    11786 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11787 
    11788 program_source:218:51: note: expanded from macro '\ 
    11789 EXPOSE_FUNCTION_I_ARGS_1' 
    11790 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11791 
    11792 program_source:164:9: note: expanded from macro '\ 
    11793 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11794 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11795 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11796 program_source:283:1: error: illegal string literal in 'asm' 
    11797 DECLARE_REDUCTION_BASE(max) 
    11798 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11799 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11800 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11801 
    11802 program_source:267:44: note: expanded from macro '\ 
    11803 DECLARE_F_REDUCTION_BASE' 
    11804 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11805 
    11806 program_source:221:40: note: expanded from macro '\ 
    11807 EXPOSE_FUNCTION_F_ARGS_1' 
    11808 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11809 
    11810 program_source:164:9: note: expanded from macro '\ 
    11811 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11812 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11813 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11814 program_source:283:1: error: illegal string literal in 'asm' 
    11815 DECLARE_REDUCTION_BASE(max) 
    11816 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11817 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11818 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11819 
    11820 program_source:268:43: note: expanded from macro '\ 
    11821 DECLARE_F_REDUCTION_BASE' 
    11822 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11823 
    11824 program_source:221:40: note: expanded from macro '\ 
    11825 EXPOSE_FUNCTION_F_ARGS_1' 
    11826 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11827 
    11828 program_source:164:9: note: expanded from macro '\ 
    11829 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11830 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11831 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11832 program_source:285:1: error: illegal string literal in 'asm' 
    11833 DECLARE_REDUCTION_BASE(product) 
    11834 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11835 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11836 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11837 
    11838 program_source:263:44: note: expanded from macro '\ 
    11839 DECLARE_I_REDUCTION_BASE' 
    11840 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11841 
    11842 program_source:217:40: note: expanded from macro '\ 
    11843 EXPOSE_FUNCTION_I_ARGS_1' 
    11844 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11845 
    11846 program_source:164:9: note: expanded from macro '\ 
    11847 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11848 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11849 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11850 program_source:285:1: error: illegal string literal in 'asm' 
    11851 DECLARE_REDUCTION_BASE(product) 
    11852 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11853 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11854 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11855 
    11856 program_source:263:44: note: expanded from macro '\ 
    11857 DECLARE_I_REDUCTION_BASE' 
    11858 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11859 
    11860 program_source:218:51: note: expanded from macro '\ 
    11861 EXPOSE_FUNCTION_I_ARGS_1' 
    11862 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11863 
    11864 program_source:164:9: note: expanded from macro '\ 
    11865 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11866 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11867 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11868 program_source:285:1: error: illegal string literal in 'asm' 
    11869 DECLARE_REDUCTION_BASE(product) 
    11870 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11871 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11872 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11873 
    11874 program_source:264:43: note: expanded from macro '\ 
    11875 DECLARE_I_REDUCTION_BASE' 
    11876 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11877 
    11878 program_source:217:40: note: expanded from macro '\ 
    11879 EXPOSE_FUNCTION_I_ARGS_1' 
    11880 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11881 
    11882 program_source:164:9: note: expanded from macro '\ 
    11883 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11884 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11885 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11886 program_source:285:1: error: illegal string literal in 'asm' 
    11887 DECLARE_REDUCTION_BASE(product) 
    11888 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11889 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11890 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11891 
    11892 program_source:264:43: note: expanded from macro '\ 
    11893 DECLARE_I_REDUCTION_BASE' 
    11894 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11895 
    11896 program_source:218:51: note: expanded from macro '\ 
    11897 EXPOSE_FUNCTION_I_ARGS_1' 
    11898 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11899 
    11900 program_source:164:9: note: expanded from macro '\ 
    11901 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11902 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11903 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11904 program_source:285:1: error: illegal string literal in 'asm' 
    11905 DECLARE_REDUCTION_BASE(product) 
    11906 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11907 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11908 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11909 
    11910 program_source:267:44: note: expanded from macro '\ 
    11911 DECLARE_F_REDUCTION_BASE' 
    11912 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11913 
    11914 program_source:221:40: note: expanded from macro '\ 
    11915 EXPOSE_FUNCTION_F_ARGS_1' 
    11916 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11917 
    11918 program_source:164:9: note: expanded from macro '\ 
    11919 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11920 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11921 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11922 program_source:285:1: error: illegal string literal in 'asm' 
    11923 DECLARE_REDUCTION_BASE(product) 
    11924 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11925 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11926 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11927 
    11928 program_source:268:43: note: expanded from macro '\ 
    11929 DECLARE_F_REDUCTION_BASE' 
    11930 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11931 
    11932 program_source:221:40: note: expanded from macro '\ 
    11933 EXPOSE_FUNCTION_F_ARGS_1' 
    11934 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11935 
    11936 program_source:164:9: note: expanded from macro '\ 
    11937 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11938 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11939 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11940 program_source:286:1: error: illegal string literal in 'asm' 
    11941 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11942 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11943 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11944 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11945 
    11946 program_source:263:44: note: expanded from macro '\ 
    11947 DECLARE_I_REDUCTION_BASE' 
    11948 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11949 
    11950 program_source:217:40: note: expanded from macro '\ 
    11951 EXPOSE_FUNCTION_I_ARGS_1' 
    11952 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11953 
    11954 program_source:164:9: note: expanded from macro '\ 
    11955 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11956 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11957 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11958 program_source:286:1: error: illegal string literal in 'asm' 
    11959 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11960 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11961 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11962 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11963 
    11964 program_source:263:44: note: expanded from macro '\ 
    11965 DECLARE_I_REDUCTION_BASE' 
    11966 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11967 
    11968 program_source:218:51: note: expanded from macro '\ 
    11969 EXPOSE_FUNCTION_I_ARGS_1' 
    11970 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11971 
    11972 program_source:164:9: note: expanded from macro '\ 
    11973 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11974 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11975 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11976 program_source:286:1: error: illegal string literal in 'asm' 
    11977 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11978 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11979 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11980 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11981 
    11982 program_source:264:43: note: expanded from macro '\ 
    11983 DECLARE_I_REDUCTION_BASE' 
    11984 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11985 
    11986 program_source:217:40: note: expanded from macro '\ 
    11987 EXPOSE_FUNCTION_I_ARGS_1' 
    11988 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11989 
    11990 program_source:164:9: note: expanded from macro '\ 
    11991 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11992 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11993 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11994 program_source:286:1: error: illegal string literal in 'asm' 
    11995 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11996 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11997 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11998 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11999 
    12000 program_source:264:43: note: expanded from macro '\ 
    12001 DECLARE_I_REDUCTION_BASE' 
    12002 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12003 
    12004 program_source:218:51: note: expanded from macro '\ 
    12005 EXPOSE_FUNCTION_I_ARGS_1' 
    12006 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12007 
    12008 program_source:164:9: note: expanded from macro '\ 
    12009 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12010 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12011 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12012 program_source:286:1: error: illegal string literal in 'asm' 
    12013 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    12014 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12015 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12016 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12017 
    12018 program_source:267:44: note: expanded from macro '\ 
    12019 DECLARE_F_REDUCTION_BASE' 
    12020 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    12021 
    12022 program_source:221:40: note: expanded from macro '\ 
    12023 EXPOSE_FUNCTION_F_ARGS_1' 
    12024 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    12025 
    12026 program_source:164:9: note: expanded from macro '\ 
    12027 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12028 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12029 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12030 program_source:286:1: error: illegal string literal in 'asm' 
    12031 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    12032 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12033 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12034 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12035 
    12036 program_source:268:43: note: expanded from macro '\ 
    12037 DECLARE_F_REDUCTION_BASE' 
    12038 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    12039 
    12040 program_source:221:40: note: expanded from macro '\ 
    12041 EXPOSE_FUNCTION_F_ARGS_1' 
    12042 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    12043 
    12044 program_source:164:9: note: expanded from macro '\ 
    12045 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12046 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12047 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12048 program_source:287:1: error: illegal string literal in 'asm' 
    12049 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    12050 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12051 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12052 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12053 
    12054 program_source:263:44: note: expanded from macro '\ 
    12055 DECLARE_I_REDUCTION_BASE' 
    12056 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12057 
    12058 program_source:217:40: note: expanded from macro '\ 
    12059 EXPOSE_FUNCTION_I_ARGS_1' 
    12060 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12061 
    12062 program_source:164:9: note: expanded from macro '\ 
    12063 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12064 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12065 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12066 program_source:287:1: error: illegal string literal in 'asm' 
    12067 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    12068 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12069 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12070 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12071 
    12072 program_source:263:44: note: expanded from macro '\ 
    12073 DECLARE_I_REDUCTION_BASE' 
    12074 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12075 
    12076 program_source:218:51: note: expanded from macro '\ 
    12077 EXPOSE_FUNCTION_I_ARGS_1' 
    12078 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12079 
    12080 program_source:164:9: note: expanded from macro '\ 
    12081 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12082 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12083 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12084 program_source:287:1: error: illegal string literal in 'asm' 
    12085 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    12086 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12087 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12088 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12089 
    12090 program_source:264:43: note: expanded from macro '\ 
    12091 DECLARE_I_REDUCTION_BASE' 
    12092 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12093 
    12094 program_source:217:40: note: expanded from macro '\ 
    12095 EXPOSE_FUNCTION_I_ARGS_1' 
    12096 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12097 
    12098 program_source:164:9: note: expanded from macro '\ 
    12099 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12100 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12101 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12102 program_source:287:1: error: illegal string literal in 'asm' 
    12103 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    12104 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12105 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12106 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12107 
    12108 program_source:264:43: note: expanded from macro '\ 
    12109 DECLARE_I_REDUCTION_BASE' 
    12110 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12111 
    12112 program_source:218:51: note: expanded from macro '\ 
    12113 EXPOSE_FUNCTION_I_ARGS_1' 
    12114 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12115 
    12116 program_source:164:9: note: expanded from macro '\ 
    12117 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12118 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12119 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12120 program_source:287:1: error: illegal string literal in 'asm' 
    12121 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    12122 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12123 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12124 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12125 
    12126 program_source:267:44: note: expanded from macro '\ 
    12127 DECLARE_F_REDUCTION_BASE' 
    12128 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    12129 
    12130 program_source:221:40: note: expanded from macro '\ 
    12131 EXPOSE_FUNCTION_F_ARGS_1' 
    12132 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    12133 
    12134 program_source:164:9: note: expanded from macro '\ 
    12135 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12136 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12137 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12138 program_source:287:1: error: illegal string literal in 'asm' 
    12139 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    12140 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12141 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12142 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12143 
    12144 program_source:268:43: note: expanded from macro '\ 
    12145 DECLARE_F_REDUCTION_BASE' 
    12146 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    12147 
    12148 program_source:221:40: note: expanded from macro '\ 
    12149 EXPOSE_FUNCTION_F_ARGS_1' 
    12150 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    12151 
    12152 program_source:164:9: note: expanded from macro '\ 
    12153 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12154 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12155 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12156 program_source:288:1: error: illegal string literal in 'asm' 
    12157 DECLARE_I_REDUCTION_BASE(and) 
    12158 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12159 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12160 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12161 
    12162 program_source:217:40: note: expanded from macro '\ 
    12163 EXPOSE_FUNCTION_I_ARGS_1' 
    12164 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12165 
    12166 program_source:164:9: note: expanded from macro '\ 
    12167 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12168 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12169 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12170 program_source:288:1: error: illegal string literal in 'asm' 
    12171 DECLARE_I_REDUCTION_BASE(and) 
    12172 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12173 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12174 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12175 
    12176 program_source:218:51: note: expanded from macro '\ 
    12177 EXPOSE_FUNCTION_I_ARGS_1' 
    12178 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12179 
    12180 program_source:164:9: note: expanded from macro '\ 
    12181 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12182 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12183 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12184 program_source:288:1: error: illegal string literal in 'asm' 
    12185 DECLARE_I_REDUCTION_BASE(and) 
    12186 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12187 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12188 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12189 
    12190 program_source:217:40: note: expanded from macro '\ 
    12191 EXPOSE_FUNCTION_I_ARGS_1' 
    12192 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12193 
    12194 program_source:164:9: note: expanded from macro '\ 
    12195 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12196 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12197 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12198 program_source:288:1: error: illegal string literal in 'asm' 
    12199 DECLARE_I_REDUCTION_BASE(and) 
    12200 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12201 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12202 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12203 
    12204 program_source:218:51: note: expanded from macro '\ 
    12205 EXPOSE_FUNCTION_I_ARGS_1' 
    12206 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12207 
    12208 program_source:164:9: note: expanded from macro '\ 
    12209 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12210 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12211 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12212 program_source:289:1: error: illegal string literal in 'asm' 
    12213 DECLARE_I_REDUCTION_BASE(or) 
    12214 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12215 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12216 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12217 
    12218 program_source:217:40: note: expanded from macro '\ 
    12219 EXPOSE_FUNCTION_I_ARGS_1' 
    12220 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12221 
    12222 program_source:164:9: note: expanded from macro '\ 
    12223 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12224 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12225 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12226 program_source:289:1: error: illegal string literal in 'asm' 
    12227 DECLARE_I_REDUCTION_BASE(or) 
    12228 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12229 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12230 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12231 
    12232 program_source:218:51: note: expanded from macro '\ 
    12233 EXPOSE_FUNCTION_I_ARGS_1' 
    12234 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12235 
    12236 program_source:164:9: note: expanded from macro '\ 
    12237 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12238 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12239 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12240 program_source:289:1: error: illegal string literal in 'asm' 
    12241 DECLARE_I_REDUCTION_BASE(or) 
    12242 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12243 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12244 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12245 
    12246 program_source:217:40: note: expanded from macro '\ 
    12247 EXPOSE_FUNCTION_I_ARGS_1' 
    12248 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12249 
    12250 program_source:164:9: note: expanded from macro '\ 
    12251 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12252 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12253 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12254 program_source:289:1: error: illegal string literal in 'asm' 
    12255 DECLARE_I_REDUCTION_BASE(or) 
    12256 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12257 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12258 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12259 
    12260 program_source:218:51: note: expanded from macro '\ 
    12261 EXPOSE_FUNCTION_I_ARGS_1' 
    12262 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12263 
    12264 program_source:164:9: note: expanded from macro '\ 
    12265 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12266 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12267 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12268 program_source:290:1: error: illegal string literal in 'asm' 
    12269 DECLARE_I_REDUCTION_BASE(xor) 
    12270 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12271 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12272 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12273 
    12274 program_source:217:40: note: expanded from macro '\ 
    12275 EXPOSE_FUNCTION_I_ARGS_1' 
    12276 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12277 
    12278 program_source:164:9: note: expanded from macro '\ 
    12279 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12280 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12281 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12282 program_source:290:1: error: illegal string literal in 'asm' 
    12283 DECLARE_I_REDUCTION_BASE(xor) 
    12284 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12285 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12286 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12287 
    12288 program_source:218:51: note: expanded from macro '\ 
    12289 EXPOSE_FUNCTION_I_ARGS_1' 
    12290 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12291 
    12292 program_source:164:9: note: expanded from macro '\ 
    12293 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12294 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12295 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12296 program_source:290:1: error: illegal string literal in 'asm' 
    12297 DECLARE_I_REDUCTION_BASE(xor) 
    12298 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12299 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12300 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12301 
    12302 program_source:217:40: note: expanded from macro '\ 
    12303 EXPOSE_FUNCTION_I_ARGS_1' 
    12304 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12305 
    12306 program_source:164:9: note: expanded from macro '\ 
    12307 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12308 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12309 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12310 program_source:290:1: error: illegal string literal in 'asm' 
    12311 DECLARE_I_REDUCTION_BASE(xor) 
    12312 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12313 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12314 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12315 
    12316 program_source:218:51: note: expanded from macro '\ 
    12317 EXPOSE_FUNCTION_I_ARGS_1' 
    12318 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12319 
    12320 program_source:164:9: note: expanded from macro '\ 
    12321 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12322 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12323 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12324 program_source:292:1: error: illegal string literal in 'asm' 
    12325 DECLARE_SHUFFLE_BASE(broadcast) 
    12326 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12327 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12328 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12329 
    12330 program_source:224:38: note: expanded from macro '\ 
    12331 EXPOSE_FUNCTION_ARGS_2' 
    12332 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12333 
    12334 program_source:168:9: note: expanded from macro '\ 
    12335 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12336 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12337 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12338 program_source:292:1: error: illegal string literal in 'asm' 
    12339 DECLARE_SHUFFLE_BASE(broadcast) 
    12340 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12341 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12342 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12343 
    12344 program_source:225:51: note: expanded from macro '\ 
    12345 EXPOSE_FUNCTION_ARGS_2' 
    12346 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12347 
    12348 program_source:168:9: note: expanded from macro '\ 
    12349 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12350 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12351 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12352 program_source:292:1: error: illegal string literal in 'asm' 
    12353 DECLARE_SHUFFLE_BASE(broadcast) 
    12354 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12355 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12356 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12357 
    12358 program_source:226:52: note: expanded from macro '\ 
    12359 EXPOSE_FUNCTION_ARGS_2' 
    12360 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12361 
    12362 program_source:168:9: note: expanded from macro '\ 
    12363 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12364 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12365 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12366 program_source:292:1: error: illegal string literal in 'asm' 
    12367 DECLARE_SHUFFLE_BASE(broadcast) 
    12368 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12369 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12370 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12371 
    12372 program_source:224:38: note: expanded from macro '\ 
    12373 EXPOSE_FUNCTION_ARGS_2' 
    12374 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12375 
    12376 program_source:168:9: note: expanded from macro '\ 
    12377 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12378 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12379 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12380 program_source:292:1: error: illegal string literal in 'asm' 
    12381 DECLARE_SHUFFLE_BASE(broadcast) 
    12382 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12383 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12384 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12385 
    12386 program_source:225:51: note: expanded from macro '\ 
    12387 EXPOSE_FUNCTION_ARGS_2' 
    12388 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12389 
    12390 program_source:168:9: note: expanded from macro '\ 
    12391 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12392 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12393 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12394 program_source:292:1: error: illegal string literal in 'asm' 
    12395 DECLARE_SHUFFLE_BASE(broadcast) 
    12396 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12397 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12398 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12399 
    12400 program_source:226:52: note: expanded from macro '\ 
    12401 EXPOSE_FUNCTION_ARGS_2' 
    12402 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12403 
    12404 program_source:168:9: note: expanded from macro '\ 
    12405 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12406 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12407 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12408 program_source:293:1: error: illegal string literal in 'asm' 
    12409 DECLARE_REDUCTION_BASE(broadcast_first) 
    12410 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12411 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12412 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12413 
    12414 program_source:263:44: note: expanded from macro '\ 
    12415 DECLARE_I_REDUCTION_BASE' 
    12416 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12417 
    12418 program_source:217:40: note: expanded from macro '\ 
    12419 EXPOSE_FUNCTION_I_ARGS_1' 
    12420 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12421 
    12422 program_source:164:9: note: expanded from macro '\ 
    12423 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12424 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12425 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12426 program_source:293:1: error: illegal string literal in 'asm' 
    12427 DECLARE_REDUCTION_BASE(broadcast_first) 
    12428 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12429 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12430 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12431 
    12432 program_source:263:44: note: expanded from macro '\ 
    12433 DECLARE_I_REDUCTION_BASE' 
    12434 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12435 
    12436 program_source:218:51: note: expanded from macro '\ 
    12437 EXPOSE_FUNCTION_I_ARGS_1' 
    12438 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12439 
    12440 program_source:164:9: note: expanded from macro '\ 
    12441 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12442 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12443 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12444 program_source:293:1: error: illegal string literal in 'asm' 
    12445 DECLARE_REDUCTION_BASE(broadcast_first) 
    12446 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12447 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12448 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12449 
    12450 program_source:264:43: note: expanded from macro '\ 
    12451 DECLARE_I_REDUCTION_BASE' 
    12452 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12453 
    12454 program_source:217:40: note: expanded from macro '\ 
    12455 EXPOSE_FUNCTION_I_ARGS_1' 
    12456 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12457 
    12458 program_source:164:9: note: expanded from macro '\ 
    12459 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12460 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12461 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12462 program_source:293:1: error: illegal string literal in 'asm' 
    12463 DECLARE_REDUCTION_BASE(broadcast_first) 
    12464 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12465 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12466 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12467 
    12468 program_source:264:43: note: expanded from macro '\ 
    12469 DECLARE_I_REDUCTION_BASE' 
    12470 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12471 
    12472 program_source:218:51: note: expanded from macro '\ 
    12473 EXPOSE_FUNCTION_I_ARGS_1' 
    12474 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12475 
    12476 program_source:164:9: note: expanded from macro '\ 
    12477 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12478 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12479 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12480 program_source:293:1: error: illegal string literal in 'asm' 
    12481 DECLARE_REDUCTION_BASE(broadcast_first) 
    12482 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12483 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12484 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12485 
    12486 program_source:267:44: note: expanded from macro '\ 
    12487 DECLARE_F_REDUCTION_BASE' 
    12488 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    12489 
    12490 program_source:221:40: note: expanded from macro '\ 
    12491 EXPOSE_FUNCTION_F_ARGS_1' 
    12492 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    12493 
    12494 program_source:164:9: note: expanded from macro '\ 
    12495 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12496 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12497 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12498 program_source:293:1: error: illegal string literal in 'asm' 
    12499 DECLARE_REDUCTION_BASE(broadcast_first) 
    12500 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12501 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12502 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12503 
    12504 program_source:268:43: note: expanded from macro '\ 
    12505 DECLARE_F_REDUCTION_BASE' 
    12506 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    12507 
    12508 program_source:221:40: note: expanded from macro '\ 
    12509 EXPOSE_FUNCTION_F_ARGS_1' 
    12510 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    12511 
    12512 program_source:164:9: note: expanded from macro '\ 
    12513 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12514 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12515 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12516 program_source:295:1: error: illegal string literal in 'asm' 
    12517 DECLARE_SHUFFLE_BASE(shuffle) 
    12518 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12519 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12520 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12521 
    12522 program_source:224:38: note: expanded from macro '\ 
    12523 EXPOSE_FUNCTION_ARGS_2' 
    12524 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12525 
    12526 program_source:168:9: note: expanded from macro '\ 
    12527 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12528 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12529 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12530 program_source:295:1: error: illegal string literal in 'asm' 
    12531 DECLARE_SHUFFLE_BASE(shuffle) 
    12532 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12533 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12534 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12535 
    12536 program_source:225:51: note: expanded from macro '\ 
    12537 EXPOSE_FUNCTION_ARGS_2' 
    12538 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12539 
    12540 program_source:168:9: note: expanded from macro '\ 
    12541 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12542 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12543 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12544 program_source:295:1: error: illegal string literal in 'asm' 
    12545 DECLARE_SHUFFLE_BASE(shuffle) 
    12546 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12547 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12548 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12549 
    12550 program_source:226:52: note: expanded from macro '\ 
    12551 EXPOSE_FUNCTION_ARGS_2' 
    12552 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12553 
    12554 program_source:168:9: note: expanded from macro '\ 
    12555 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12556 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12557 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12558 program_source:295:1: error: illegal string literal in 'asm' 
    12559 DECLARE_SHUFFLE_BASE(shuffle) 
    12560 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12561 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12562 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12563 
    12564 program_source:224:38: note: expanded from macro '\ 
    12565 EXPOSE_FUNCTION_ARGS_2' 
    12566 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12567 
    12568 program_source:168:9: note: expanded from macro '\ 
    12569 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12570 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12571 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12572 program_source:295:1: error: illegal string literal in 'asm' 
    12573 DECLARE_SHUFFLE_BASE(shuffle) 
    12574 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12575 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12576 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12577 
    12578 program_source:225:51: note: expanded from macro '\ 
    12579 EXPOSE_FUNCTION_ARGS_2' 
    12580 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12581 
    12582 program_source:168:9: note: expanded from macro '\ 
    12583 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12584 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12585 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12586 program_source:295:1: error: illegal string literal in 'asm' 
    12587 DECLARE_SHUFFLE_BASE(shuffle) 
    12588 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12589 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12590 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12591 
    12592 program_source:226:52: note: expanded from macro '\ 
    12593 EXPOSE_FUNCTION_ARGS_2' 
    12594 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12595 
    12596 program_source:168:9: note: expanded from macro '\ 
    12597 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12598 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12599 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12600 program_source:296:1: error: illegal string literal in 'asm' 
    12601 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12602 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12603 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12604 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12605 
    12606 program_source:224:38: note: expanded from macro '\ 
    12607 EXPOSE_FUNCTION_ARGS_2' 
    12608 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12609 
    12610 program_source:168:9: note: expanded from macro '\ 
    12611 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12612 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12613 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12614 program_source:296:1: error: illegal string literal in 'asm' 
    12615 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12616 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12617 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12618 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12619 
    12620 program_source:225:51: note: expanded from macro '\ 
    12621 EXPOSE_FUNCTION_ARGS_2' 
    12622 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12623 
    12624 program_source:168:9: note: expanded from macro '\ 
    12625 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12626 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12627 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12628 program_source:296:1: error: illegal string literal in 'asm' 
    12629 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12630 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12631 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12632 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12633 
    12634 program_source:226:52: note: expanded from macro '\ 
    12635 EXPOSE_FUNCTION_ARGS_2' 
    12636 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12637 
    12638 program_source:168:9: note: expanded from macro '\ 
    12639 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12640 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12641 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12642 program_source:296:1: error: illegal string literal in 'asm' 
    12643 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12644 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12645 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12646 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12647 
    12648 program_source:224:38: note: expanded from macro '\ 
    12649 EXPOSE_FUNCTION_ARGS_2' 
    12650 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12651 
    12652 program_source:168:9: note: expanded from macro '\ 
    12653 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12654 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12655 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12656 program_source:296:1: error: illegal string literal in 'asm' 
    12657 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12658 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12659 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12660 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12661 
    12662 program_source:225:51: note: expanded from macro '\ 
    12663 EXPOSE_FUNCTION_ARGS_2' 
    12664 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12665 
    12666 program_source:168:9: note: expanded from macro '\ 
    12667 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12668 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12669 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12670 program_source:296:1: error: illegal string literal in 'asm' 
    12671 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12672 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12673 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12674 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12675 
    12676 program_source:226:52: note: expanded from macro '\ 
    12677 EXPOSE_FUNCTION_ARGS_2' 
    12678 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12679 
    12680 program_source:168:9: note: expanded from macro '\ 
    12681 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12682 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12683 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12684 program_source:297:1: error: illegal string literal in 'asm' 
    12685 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12686 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12687 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12688 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12689 
    12690 program_source:224:38: note: expanded from macro '\ 
    12691 EXPOSE_FUNCTION_ARGS_2' 
    12692 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12693 
    12694 program_source:168:9: note: expanded from macro '\ 
    12695 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12696 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12697 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12698 program_source:297:1: error: illegal string literal in 'asm' 
    12699 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12700 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12701 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12702 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12703 
    12704 program_source:225:51: note: expanded from macro '\ 
    12705 EXPOSE_FUNCTION_ARGS_2' 
    12706 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12707 
    12708 program_source:168:9: note: expanded from macro '\ 
    12709 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12710 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12711 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12712 program_source:297:1: error: illegal string literal in 'asm' 
    12713 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12714 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12715 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12716 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12717 
    12718 program_source:226:52: note: expanded from macro '\ 
    12719 EXPOSE_FUNCTION_ARGS_2' 
    12720 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12721 
    12722 program_source:168:9: note: expanded from macro '\ 
    12723 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12724 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12725 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12726 program_source:297:1: error: illegal string literal in 'asm' 
    12727 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12728 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12729 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12730 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12731 
    12732 program_source:224:38: note: expanded from macro '\ 
    12733 EXPOSE_FUNCTION_ARGS_2' 
    12734 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12735 
    12736 program_source:168:9: note: expanded from macro '\ 
    12737 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12738 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12739 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12740 program_source:297:1: error: illegal string literal in 'asm' 
    12741 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12742 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12743 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12744 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12745 
    12746 program_source:225:51: note: expanded from macro '\ 
    12747 EXPOSE_FUNCTION_ARGS_2' 
    12748 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12749 
    12750 program_source:168:9: note: expanded from macro '\ 
    12751 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12752 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12753 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12754 program_source:297:1: error: illegal string literal in 'asm' 
    12755 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12756 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12757 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12758 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12759 
    12760 program_source:226:52: note: expanded from macro '\ 
    12761 EXPOSE_FUNCTION_ARGS_2' 
    12762 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12763 
    12764 program_source:168:9: note: expanded from macro '\ 
    12765 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12766 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12767 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12768 program_source:298:1: error: illegal string literal in 'asm' 
    12769 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12770 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12771 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12772 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12773 
    12774 program_source:224:38: note: expanded from macro '\ 
    12775 EXPOSE_FUNCTION_ARGS_2' 
    12776 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12777 
    12778 program_source:168:9: note: expanded from macro '\ 
    12779 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12780 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12781 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12782 program_source:298:1: error: illegal string literal in 'asm' 
    12783 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12784 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12785 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12786 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12787 
    12788 program_source:225:51: note: expanded from macro '\ 
    12789 EXPOSE_FUNCTION_ARGS_2' 
    12790 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12791 
    12792 program_source:168:9: note: expanded from macro '\ 
    12793 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12794 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12795 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12796 program_source:298:1: error: illegal string literal in 'asm' 
    12797 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12798 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12799 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12800 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12801 
    12802 program_source:226:52: note: expanded from macro '\ 
    12803 EXPOSE_FUNCTION_ARGS_2' 
    12804 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12805 
    12806 program_source:168:9: note: expanded from macro '\ 
    12807 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12808 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12809 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12810 program_source:298:1: error: illegal string literal in 'asm' 
    12811 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12812 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12813 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12814 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12815 
    12816 program_source:224:38: note: expanded from macro '\ 
    12817 EXPOSE_FUNCTION_ARGS_2' 
    12818 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12819 
    12820 program_source:168:9: note: expanded from macro '\ 
    12821 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12822 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12823 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12824 program_source:298:1: error: illegal string literal in 'asm' 
    12825 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12826 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12827 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12828 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12829 
    12830 program_source:225:51: note: expanded from macro '\ 
    12831 EXPOSE_FUNCTION_ARGS_2' 
    12832 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12833 
    12834 program_source:168:9: note: expanded from macro '\ 
    12835 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12836 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12837 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12838 program_source:298:1: error: illegal string literal in 'asm' 
    12839 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12840 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12841 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12842 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12843 
    12844 program_source:226:52: note: expanded from macro '\ 
    12845 EXPOSE_FUNCTION_ARGS_2' 
    12846 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12847 
    12848 program_source:168:9: note: expanded from macro '\ 
    12849 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12850 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12851 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12852 program_source:299:1: error: illegal string literal in 'asm' 
    12853 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    12854 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12855 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12856 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12857 
    12858 program_source:224:38: note: expanded from macro '\ 
    12859 EXPOSE_FUNCTION_ARGS_2' 
    12860 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12861 
    12862 program_source:168:9: note: expanded from macro '\ 
    12863 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12864 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12865 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12866 program_source:299:1: error: illegal string literal in 'asm' 
    12867 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    12868 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12869 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12870 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12871 
    12872 program_source:225:51: note: expanded from macro '\ 
    12873 EXPOSE_FUNCTION_ARGS_2' 
    12874 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12875 
    12876 program_source:168:9: note: expanded from macro '\ 
    12877 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12878 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12879 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12880 program_source:299:1: error: illegal string literal in 'asm' 
    12881 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    12882 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12883 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12884 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12885 
    12886 program_source:226:52: note: expanded from macro '\ 
    12887 EXPOSE_FUNCTION_ARGS_2' 
    12888 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
     2586[deleted to fit within ticket limits]
     2587
    128892588
    128902589program_source:168:9: note: expanded from macro '\