Changes between Initial Version and Version 1 of Ticket #19937


Ignore:
Timestamp:
Mar 5, 2026, 11:00:57 AM (3 weeks ago)
Author:
Eric Pettersen
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #19937

    • 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: OpenMM error
  • Ticket #19937 – Description

    initial v1  
    18661866#define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    18671867
    1868 program_source:168:9: note: expanded from macro '\ 
    1869 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1870 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1871 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1872 program_source:300:1: error: illegal string literal in 'asm' 
    1873 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    1874 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1875 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1876 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    1877 
    1878 program_source:225:51: note: expanded from macro '\ 
    1879 EXPOSE_FUNCTION_ARGS_2' 
    1880 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    1881 
    1882 program_source:168:9: note: expanded from macro '\ 
    1883 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1884 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1885 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1886 program_source:300:1: error: illegal string literal in 'asm' 
    1887 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    1888 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1889 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1890 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    1891 
    1892 program_source:226:52: note: expanded from macro '\ 
    1893 EXPOSE_FUNCTION_ARGS_2' 
    1894 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    1895 
    1896 program_source:168:9: note: expanded from macro '\ 
    1897 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1898 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1899 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1900 program_source:300:1: error: illegal string literal in 'asm' 
    1901 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    1902 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1903 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1904 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    1905 
    1906 program_source:224:38: note: expanded from macro '\ 
    1907 EXPOSE_FUNCTION_ARGS_2' 
    1908 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    1909 
    1910 program_source:168:9: note: expanded from macro '\ 
    1911 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1912 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1913 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1914 program_source:300:1: error: illegal string literal in 'asm' 
    1915 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    1916 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1917 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1918 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    1919 
    1920 program_source:225:51: note: expanded from macro '\ 
    1921 EXPOSE_FUNCTION_ARGS_2' 
    1922 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    1923 
    1924 program_source:168:9: note: expanded from macro '\ 
    1925 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1926 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1927 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1928 program_source:300:1: error: illegal string literal in 'asm' 
    1929 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    1930 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1931 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1932 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    1933 
    1934 program_source:226:52: note: expanded from macro '\ 
    1935 EXPOSE_FUNCTION_ARGS_2' 
    1936 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    1937 
    1938 program_source:168:9: note: expanded from macro '\ 
    1939 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1940 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1941 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1942 program_source:302:1: error: illegal string literal in 'asm' 
    1943 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    1944 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1945 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    1946 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    1947 
    1948 program_source:172:9: note: expanded from macro '\ 
    1949 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    1950 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1951 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1952 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    1953 is invalid in OpenCL 
    1954 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    1955 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    1956 
    1957 program_source:175:10: note: expanded from macro '\ 
    1958 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    1959 return ___metal_##EXPR(x, false); \ 
    1960 
    1961 <scratch space>:12:1: note: expanded from here 
    1962 ___metal_ctz 
    1963 
    1964 program_source:302:1: error: illegal string literal in 'asm' 
    1965 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    1966 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1967 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    1968 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    1969 
    1970 program_source:172:9: note: expanded from macro '\ 
    1971 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    1972 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1973 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1974 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    1975 is invalid in OpenCL 
    1976 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    1977 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    1978 
    1979 program_source:175:10: note: expanded from macro '\ 
    1980 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    1981 return ___metal_##EXPR(x, false); \ 
    1982 
    1983 <scratch space>:16:1: note: expanded from here 
    1984 ___metal_ctz 
    1985 
    1986 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    1987 invalid in OpenCL 
    1988 DECLARE_REDUCTION_UNIFORM(sum, reduce_add) 
    1989 
    1990 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    1991 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    1992 
    1993 program_source:305:26: note: expanded from macro '\ 
    1994 DECLARE_I_REDUCTION_UNIFORM' 
    1995 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    1996 
    1997 <scratch space>:17:1: note: expanded from here 
    1998 simd_sum 
    1999 
    2000 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    2001 invalid in OpenCL 
    2002 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2003 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2004 
    2005 program_source:305:26: note: expanded from macro '\ 
    2006 DECLARE_I_REDUCTION_UNIFORM' 
    2007 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2008 
    2009 <scratch space>:17:1: note: expanded from here 
    2010 simd_sum 
    2011 
    2012 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    2013 invalid in OpenCL 
    2014 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2015 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2016 
    2017 program_source:308:26: note: expanded from macro '\ 
    2018 DECLARE_F_REDUCTION_UNIFORM' 
    2019 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2020 
    2021 <scratch space>:19:1: note: expanded from here 
    2022 simd_sum 
    2023 
    2024 program_source:318:1: error: implicit declaration of function
    2025 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    2026 DECLARE_REDUCTION_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    2027 
    2028 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2029 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2030 
    2031 program_source:305:26: note: expanded from macro '\ 
    2032 DECLARE_I_REDUCTION_UNIFORM' 
    2033 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2034 
    2035 <scratch space>:21:1: note: expanded from here 
    2036 simd_prefix_inclusive_sum 
    2037 
    2038 program_source:318:1: error: implicit declaration of function
    2039 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    2040 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2041 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2042 
    2043 program_source:305:26: note: expanded from macro '\ 
    2044 DECLARE_I_REDUCTION_UNIFORM' 
    2045 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2046 
    2047 <scratch space>:21:1: note: expanded from here 
    2048 simd_prefix_inclusive_sum 
    2049 
    2050 program_source:318:1: error: implicit declaration of function
    2051 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    2052 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2053 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2054 
    2055 program_source:308:26: note: expanded from macro '\ 
    2056 DECLARE_F_REDUCTION_UNIFORM' 
    2057 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2058 
    2059 <scratch space>:23:1: note: expanded from here 
    2060 simd_prefix_inclusive_sum 
    2061 
    2062 program_source:319:1: error: implicit declaration of function
    2063 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2064 DECLARE_REDUCTION_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    2065 
    2066 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2067 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2068 
    2069 program_source:305:26: note: expanded from macro '\ 
    2070 DECLARE_I_REDUCTION_UNIFORM' 
    2071 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2072 
    2073 <scratch space>:25:1: note: expanded from here 
    2074 simd_prefix_exclusive_sum 
    2075 
    2076 program_source:319:1: error: implicit declaration of function
    2077 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2078 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2079 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2080 
    2081 program_source:305:26: note: expanded from macro '\ 
    2082 DECLARE_I_REDUCTION_UNIFORM' 
    2083 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2084 
    2085 <scratch space>:25:1: note: expanded from here 
    2086 simd_prefix_exclusive_sum 
    2087 
    2088 program_source:319:1: error: implicit declaration of function
    2089 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2090 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2091 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2092 
    2093 program_source:308:26: note: expanded from macro '\ 
    2094 DECLARE_F_REDUCTION_UNIFORM' 
    2095 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2096 
    2097 <scratch space>:27:1: note: expanded from here 
    2098 simd_prefix_exclusive_sum 
    2099 
    2100 program_source:320:1: error: implicit declaration of function 'simd_min' is
    2101 invalid in OpenCL 
    2102 DECLARE_REDUCTION_UNIFORM(min, reduce_min) 
    2103 
    2104 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2105 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2106 
    2107 program_source:305:26: note: expanded from macro '\ 
    2108 DECLARE_I_REDUCTION_UNIFORM' 
    2109 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2110 
    2111 <scratch space>:29:1: note: expanded from here 
    2112 simd_min 
    2113 
    2114 program_source:320:1: error: implicit declaration of function 'simd_min' is
    2115 invalid in OpenCL 
    2116 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2117 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2118 
    2119 program_source:305:26: note: expanded from macro '\ 
    2120 DECLARE_I_REDUCTION_UNIFORM' 
    2121 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2122 
    2123 <scratch space>:29:1: note: expanded from here 
    2124 simd_min 
    2125 
    2126 program_source:320:1: error: implicit declaration of function 'simd_min' is
    2127 invalid in OpenCL 
    2128 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2129 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2130 
    2131 program_source:308:26: note: expanded from macro '\ 
    2132 DECLARE_F_REDUCTION_UNIFORM' 
    2133 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2134 
    2135 <scratch space>:31:1: note: expanded from here 
    2136 simd_min 
    2137 
    2138 program_source:321:1: error: implicit declaration of function 'simd_max' is
    2139 invalid in OpenCL 
    2140 DECLARE_REDUCTION_UNIFORM(max, reduce_max) 
    2141 
    2142 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2143 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2144 
    2145 program_source:305:26: note: expanded from macro '\ 
    2146 DECLARE_I_REDUCTION_UNIFORM' 
    2147 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2148 
    2149 <scratch space>:33:1: note: expanded from here 
    2150 simd_max 
    2151 
    2152 program_source:321:1: error: implicit declaration of function 'simd_max' is
    2153 invalid in OpenCL 
    2154 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2155 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2156 
    2157 program_source:305:26: note: expanded from macro '\ 
    2158 DECLARE_I_REDUCTION_UNIFORM' 
    2159 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2160 
    2161 <scratch space>:33:1: note: expanded from here 
    2162 simd_max 
    2163 
    2164 program_source:321:1: error: implicit declaration of function 'simd_max' is
    2165 invalid in OpenCL 
    2166 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2167 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2168 
    2169 program_source:308:26: note: expanded from macro '\ 
    2170 DECLARE_F_REDUCTION_UNIFORM' 
    2171 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2172 
    2173 <scratch space>:35:1: note: expanded from here 
    2174 simd_max 
    2175 
    2176 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    2177 is invalid in OpenCL 
    2178 DECLARE_SHUFFLE_UNIFORM(shuffle, shuffle) 
    2179 
    2180 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2181 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2182 
    2183 <scratch space>:37:1: note: expanded from here 
    2184 simd_shuffle 
    2185 
    2186 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    2187 is invalid in OpenCL 
    2188 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2189 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2190 
    2191 <scratch space>:37:1: note: expanded from here 
    2192 simd_shuffle 
    2193 
    2194 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    2195 is invalid in OpenCL 
    2196 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2197 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2198 
    2199 <scratch space>:37:1: note: expanded from here 
    2200 simd_shuffle 
    2201 
    2202 program_source:324:1: error: implicit declaration of function
    2203 'simd_shuffle_xor' is invalid in OpenCL 
    2204 DECLARE_SHUFFLE_UNIFORM(shuffle_xor, shuffle_xor) 
    2205 
    2206 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2207 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2208 
    2209 <scratch space>:39:1: note: expanded from here 
    2210 simd_shuffle_xor 
    2211 
    2212 program_source:324:1: error: implicit declaration of function
    2213 'simd_shuffle_xor' is invalid in OpenCL 
    2214 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2215 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2216 
    2217 <scratch space>:39:1: note: expanded from here 
    2218 simd_shuffle_xor 
    2219 
    2220 program_source:324:1: error: implicit declaration of function
    2221 'simd_shuffle_xor' is invalid in OpenCL 
    2222 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2223 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2224 
    2225 <scratch space>:39:1: note: expanded from here 
    2226 simd_shuffle_xor 
    2227 
    2228 program_source:325:1: error: implicit declaration of function
    2229 'simd_shuffle_up' is invalid in OpenCL 
    2230 DECLARE_SHUFFLE_UNIFORM(shuffle_up, shuffle_up) 
    2231 
    2232 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2233 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2234 
    2235 <scratch space>:41:1: note: expanded from here 
    2236 simd_shuffle_up 
    2237 
    2238 program_source:325:1: error: implicit declaration of function
    2239 'simd_shuffle_up' is invalid in OpenCL 
    2240 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2241 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2242 
    2243 <scratch space>:41:1: note: expanded from here 
    2244 simd_shuffle_up 
    2245 
    2246 program_source:325:1: error: implicit declaration of function
    2247 'simd_shuffle_up' is invalid in OpenCL 
    2248 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2249 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2250 
    2251 <scratch space>:41:1: note: expanded from here 
    2252 simd_shuffle_up 
    2253 
    2254 program_source:326:1: error: implicit declaration of function
    2255 'simd_shuffle_down' is invalid in OpenCL 
    2256 DECLARE_SHUFFLE_UNIFORM(shuffle_down, shuffle_down) 
    2257 
    2258 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2259 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2260 
    2261 <scratch space>:43:1: note: expanded from here 
    2262 simd_shuffle_down 
    2263 
    2264 program_source:326:1: error: implicit declaration of function
    2265 'simd_shuffle_down' is invalid in OpenCL 
    2266 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2267 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2268 
    2269 <scratch space>:43:1: note: expanded from here 
    2270 simd_shuffle_down 
    2271 
    2272 program_source:326:1: error: implicit declaration of function
    2273 'simd_shuffle_down' is invalid in OpenCL 
    2274 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2275 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2276 
    2277 <scratch space>:43:1: note: expanded from here 
    2278 simd_shuffle_down 
    2279 
    2280 program_source:327:1: error: implicit declaration of function
    2281 'simd_shuffle_rotate_down' is invalid in OpenCL 
    2282 DECLARE_SHUFFLE_UNIFORM(shuffle_rotate_down, rotate) 
    2283 
    2284 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2285 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2286 
    2287 <scratch space>:45:1: note: expanded from here 
    2288 simd_shuffle_rotate_down 
    2289 
    2290 program_source:327:1: error: implicit declaration of function
    2291 'simd_shuffle_rotate_down' is invalid in OpenCL 
    2292 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2293 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2294 
    2295 <scratch space>:45:1: note: expanded from here 
    2296 simd_shuffle_rotate_down 
    2297 
    2298 program_source:327:1: error: implicit declaration of function
    2299 'simd_shuffle_rotate_down' is invalid in OpenCL 
    2300 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2301 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2302 
    2303 <scratch space>:45:1: note: expanded from here 
    2304 simd_shuffle_rotate_down 
    2305 
    2306 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    2307 is invalid in OpenCL 
    2308 DECLARE_SHUFFLE_UNIFORM(broadcast, broadcast) 
    2309 
    2310 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2311 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2312 
    2313 <scratch space>:47:1: note: expanded from here 
    2314 simd_broadcast 
    2315 
    2316 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    2317 is invalid in OpenCL 
    2318 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2319 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2320 
    2321 <scratch space>:47:1: note: expanded from here 
    2322 simd_broadcast 
    2323 
    2324 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    2325 is invalid in OpenCL 
    2326 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2327 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2328 
    2329 <scratch space>:47:1: note: expanded from here 
    2330 simd_broadcast 
    2331 
    2332 program_source:330:1: error: implicit declaration of function
    2333 'simd_broadcast_first' is invalid in OpenCL 
    2334 DECLARE_REDUCTION_UNIFORM(broadcast_first, broadcast_first) 
    2335 
    2336 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2337 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2338 
    2339 program_source:305:26: note: expanded from macro '\ 
    2340 DECLARE_I_REDUCTION_UNIFORM' 
    2341 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2342 
    2343 <scratch space>:49:1: note: expanded from here 
    2344 simd_broadcast_first 
    2345 
    2346 program_source:330:1: error: implicit declaration of function
    2347 'simd_broadcast_first' is invalid in OpenCL 
    2348 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2349 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2350 
    2351 program_source:305:26: note: expanded from macro '\ 
    2352 DECLARE_I_REDUCTION_UNIFORM' 
    2353 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2354 
    2355 <scratch space>:49:1: note: expanded from here 
    2356 simd_broadcast_first 
    2357 
    2358 program_source:330:1: error: implicit declaration of function
    2359 'simd_broadcast_first' is invalid in OpenCL 
    2360 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2361 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2362 
    2363 program_source:308:26: note: expanded from macro '\ 
    2364 DECLARE_F_REDUCTION_UNIFORM' 
    2365 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2366 
    2367 <scratch space>:51:1: note: expanded from here 
    2368 simd_broadcast_first 
    2369 
    2370 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    2371 invalid in OpenCL 
    2372 DECLARE_REDUCTION_NON_UNIFORM(sum, reduce_add) 
    2373 
    2374 program_source:338:60: note: expanded from macro
    2375 'DECLARE_REDUCTION_NON_UNIFORM' 
    2376 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2377 
    2378 program_source:333:26: note: expanded from macro '\ 
    2379 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2380 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2381 
    2382 <scratch space>:53:1: note: expanded from here 
    2383 simd_sum 
    2384 
    2385 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    2386 invalid in OpenCL 
    2387 program_source:338:60: note: expanded from macro
    2388 'DECLARE_REDUCTION_NON_UNIFORM' 
    2389 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2390 
    2391 program_source:333:26: note: expanded from macro '\ 
    2392 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2393 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2394 
    2395 <scratch space>:53:1: note: expanded from here 
    2396 simd_sum 
    2397 
    2398 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    2399 invalid in OpenCL 
    2400 program_source:339:54: note: expanded from macro
    2401 'DECLARE_REDUCTION_NON_UNIFORM' 
    2402 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2403 
    2404 program_source:336:26: note: expanded from macro '\ 
    2405 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2406 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2407 
    2408 <scratch space>:55:1: note: expanded from here 
    2409 simd_sum 
    2410 
    2411 program_source:346:1: error: implicit declaration of function
    2412 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    2413 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    2414 
    2415 program_source:338:60: note: expanded from macro
    2416 'DECLARE_REDUCTION_NON_UNIFORM' 
    2417 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2418 
    2419 program_source:333:26: note: expanded from macro '\ 
    2420 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2421 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2422 
    2423 <scratch space>:57:1: note: expanded from here 
    2424 simd_prefix_inclusive_sum 
    2425 
    2426 program_source:346:1: error: implicit declaration of function
    2427 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    2428 program_source:338:60: note: expanded from macro
    2429 'DECLARE_REDUCTION_NON_UNIFORM' 
    2430 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2431 
    2432 program_source:333:26: note: expanded from macro '\ 
    2433 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2434 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2435 
    2436 <scratch space>:57:1: note: expanded from here 
    2437 simd_prefix_inclusive_sum 
    2438 
    2439 program_source:346:1: error: implicit declaration of function
    2440 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    2441 program_source:339:54: note: expanded from macro
    2442 'DECLARE_REDUCTION_NON_UNIFORM' 
    2443 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2444 
    2445 program_source:336:26: note: expanded from macro '\ 
    2446 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2447 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2448 
    2449 <scratch space>:59:1: note: expanded from here 
    2450 simd_prefix_inclusive_sum 
    2451 
    2452 program_source:347:1: error: implicit declaration of function
    2453 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2454 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    2455 
    2456 program_source:338:60: note: expanded from macro
    2457 'DECLARE_REDUCTION_NON_UNIFORM' 
    2458 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2459 
    2460 program_source:333:26: note: expanded from macro '\ 
    2461 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2462 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2463 
    2464 <scratch space>:61:1: note: expanded from here 
    2465 simd_prefix_exclusive_sum 
    2466 
    2467 program_source:347:1: error: implicit declaration of function
    2468 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2469 program_source:338:60: note: expanded from macro
    2470 'DECLARE_REDUCTION_NON_UNIFORM' 
    2471 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2472 
    2473 program_source:333:26: note: expanded from macro '\ 
    2474 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2475 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2476 
    2477 <scratch space>:61:1: note: expanded from here 
    2478 simd_prefix_exclusive_sum 
    2479 
    2480 program_source:347:1: error: implicit declaration of function
    2481 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2482 program_source:339:54: note: expanded from macro
    2483 'DECLARE_REDUCTION_NON_UNIFORM' 
    2484 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2485 
    2486 program_source:336:26: note: expanded from macro '\ 
    2487 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2488 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2489 
    2490 <scratch space>:63:1: note: expanded from here 
    2491 simd_prefix_exclusive_sum 
    2492 
    2493 program_source:348:1: error: implicit declaration of function 'simd_min' is
    2494 invalid in OpenCL 
    2495 DECLARE_REDUCTION_NON_UNIFORM(min, reduce_min) 
    2496 
    2497 program_source:338:60: note: expanded from macro
    2498 'DECLARE_REDUCTION_NON_UNIFORM' 
    2499 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2500 
    2501 program_source:333:26: note: expanded from macro '\ 
    2502 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2503 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2504 
    2505 <scratch space>:65:1: note: expanded from here 
    2506 simd_min 
    2507 
    2508 program_source:348:1: error: implicit declaration of function 'simd_min' is
    2509 invalid in OpenCL 
    2510 program_source:338:60: note: expanded from macro
    2511 'DECLARE_REDUCTION_NON_UNIFORM' 
    2512 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2513 
    2514 program_source:333:26: note: expanded from macro '\ 
    2515 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2516 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2517 
    2518 <scratch space>:65:1: note: expanded from here 
    2519 simd_min 
    2520 
    2521 program_source:348:1: error: implicit declaration of function 'simd_min' is
    2522 invalid in OpenCL 
    2523 program_source:339:54: note: expanded from macro
    2524 'DECLARE_REDUCTION_NON_UNIFORM' 
    2525 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2526 
    2527 program_source:336:26: note: expanded from macro '\ 
    2528 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2529 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2530 
    2531 <scratch space>:67:1: note: expanded from here 
    2532 simd_min 
    2533 
    2534 program_source:349:1: error: implicit declaration of function 'simd_max' is
    2535 invalid in OpenCL 
    2536 DECLARE_REDUCTION_NON_UNIFORM(max, reduce_max) 
    2537 
    2538 program_source:338:60: note: expanded from macro
    2539 'DECLARE_REDUCTION_NON_UNIFORM' 
    2540 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2541 
    2542 program_source:333:26: note: expanded from macro '\ 
    2543 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2544 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2545 
    2546 <scratch space>:69:1: note: expanded from here 
    2547 simd_max 
    2548 
    2549 program_source:349:1: error: implicit declaration of function 'simd_max' is
    2550 invalid in OpenCL 
    2551 program_source:338:60: note: expanded from macro
    2552 'DECLARE_REDUCTION_NON_UNIFORM' 
    2553 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2554 
    2555 program_source:333:26: note: expanded from macro '\ 
    2556 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2557 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2558 
    2559 <scratch space>:69:1: note: expanded from here 
    2560 simd_max 
    2561 
    2562 program_source:349:1: error: implicit declaration of function 'simd_max' is
    2563 invalid in OpenCL 
    2564 program_source:339:54: note: expanded from macro
    2565 'DECLARE_REDUCTION_NON_UNIFORM' 
    2566 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2567 
    2568 program_source:336:26: note: expanded from macro '\ 
    2569 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2570 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2571 
    2572 <scratch space>:71:1: note: expanded from here 
    2573 simd_max 
    2574 
    2575 program_source:351:1: error: implicit declaration of function 'simd_product'
    2576 is invalid in OpenCL 
    2577 DECLARE_REDUCTION_NON_UNIFORM(product, reduce_mul) 
    2578 
    2579 program_source:338:60: note: expanded from macro
    2580 'DECLARE_REDUCTION_NON_UNIFORM' 
    2581 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2582 
    2583 program_source:333:26: note: expanded from macro '\ 
    2584 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2585 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2586 
    2587 <scratch space>:73:1: note: expanded from here 
    2588 simd_product 
    2589 
    2590 program_source:351:1: error: implicit declaration of function 'simd_product'
    2591 is invalid in OpenCL 
    2592 program_source:338:60: note: expanded from macro
    2593 'DECLARE_REDUCTION_NON_UNIFORM' 
    2594 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2595 
    2596 program_source:333:26: note: expanded from macro '\ 
    2597 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2598 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2599 
    2600 <scratch space>:73:1: note: expanded from here 
    2601 simd_product 
    2602 
    2603 program_source:351:1: error: implicit declaration of function 'simd_product'
    2604 is invalid in OpenCL 
    2605 program_source:339:54: note: expanded from macro
    2606 'DECLARE_REDUCTION_NON_UNIFORM' 
    2607 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2608 
    2609 program_source:336:26: note: expanded from macro '\ 
    2610 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2611 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2612 
    2613 <scratch space>:75:1: note: expanded from here 
    2614 simd_product 
    2615 
    2616 program_source:352:1: error: implicit declaration of function
    2617 'simd_prefix_inclusive_product' is invalid in OpenCL 
    2618 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_product, scan_inclusive_mul) 
    2619 
    2620 program_source:338:60: note: expanded from macro
    2621 'DECLARE_REDUCTION_NON_UNIFORM' 
    2622 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2623 
    2624 program_source:333:26: note: expanded from macro '\ 
    2625 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2626 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2627 
    2628 <scratch space>:77:1: note: expanded from here 
    2629 simd_prefix_inclusive_product 
    2630 
    2631 program_source:352:1: error: implicit declaration of function
    2632 'simd_prefix_inclusive_product' is invalid in OpenCL 
    2633 program_source:338:60: note: expanded from macro
    2634 'DECLARE_REDUCTION_NON_UNIFORM' 
    2635 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2636 
    2637 program_source:333:26: note: expanded from macro '\ 
    2638 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2639 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2640 
    2641 <scratch space>:77:1: note: expanded from here 
    2642 simd_prefix_inclusive_product 
    2643 
    2644 program_source:352:1: error: implicit declaration of function
    2645 'simd_prefix_inclusive_product' is invalid in OpenCL 
    2646 program_source:339:54: note: expanded from macro
    2647 'DECLARE_REDUCTION_NON_UNIFORM' 
    2648 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2649 
    2650 program_source:336:26: note: expanded from macro '\ 
    2651 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2652 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2653 
    2654 <scratch space>:79:1: note: expanded from here 
    2655 simd_prefix_inclusive_product 
    2656 
    2657 program_source:353:1: error: implicit declaration of function
    2658 'simd_prefix_exclusive_product' is invalid in OpenCL 
    2659 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_product, scan_exclusive_mul) 
    2660 
    2661 program_source:338:60: note: expanded from macro
    2662 'DECLARE_REDUCTION_NON_UNIFORM' 
    2663 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2664 
    2665 program_source:333:26: note: expanded from macro '\ 
    2666 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2667 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2668 
    2669 <scratch space>:81:1: note: expanded from here 
    2670 simd_prefix_exclusive_product 
    2671 
    2672 program_source:353:1: error: implicit declaration of function
    2673 'simd_prefix_exclusive_product' is invalid in OpenCL 
    2674 program_source:338:60: note: expanded from macro
    2675 'DECLARE_REDUCTION_NON_UNIFORM' 
    2676 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2677 
    2678 program_source:333:26: note: expanded from macro '\ 
    2679 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2680 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2681 
    2682 <scratch space>:81:1: note: expanded from here 
    2683 simd_prefix_exclusive_product 
    2684 
    2685 program_source:353:1: error: implicit declaration of function
    2686 'simd_prefix_exclusive_product' is invalid in OpenCL 
    2687 program_source:339:54: note: expanded from macro
    2688 'DECLARE_REDUCTION_NON_UNIFORM' 
    2689 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2690 
    2691 program_source:336:26: note: expanded from macro '\ 
    2692 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2693 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2694 
    2695 <scratch space>:83:1: note: expanded from here 
    2696 simd_prefix_exclusive_product 
    2697 
    2698 program_source:354:1: error: implicit declaration of function 'simd_and' is
    2699 invalid in OpenCL 
    2700 DECLARE_I_REDUCTION_NON_UNIFORM(and, reduce_and) 
    2701 
    2702 program_source:333:26: note: expanded from macro
    2703 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    2704 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2705 
    2706 <scratch space>:85:1: note: expanded from here 
    2707 simd_and 
    2708 
    2709 program_source:354:1: error: implicit declaration of function 'simd_and' is
    2710 invalid in OpenCL 
    2711 program_source:333:26: note: expanded from macro
    2712 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    2713 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2714 
    2715 <scratch space>:85:1: note: expanded from here 
    2716 simd_and 
    2717 
    2718 program_source:355:1: error: implicit declaration of function 'simd_or' is
    2719 invalid in OpenCL 
    2720 DECLARE_I_REDUCTION_NON_UNIFORM(or, reduce_or) 
    2721 
    2722 program_source:333:26: note: expanded from macro
    2723 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    2724 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2725 
    2726 <scratch space>:87:1: note: expanded from here 
    2727 simd_or 
    2728 
    2729 program_source:355:1: error: implicit declaration of function 'simd_or' is
    2730 invalid in OpenCL 
    2731 program_source:333:26: note: expanded from macro
    2732 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    2733 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2734 
    2735 <scratch space>:87:1: note: expanded from here 
    2736 simd_or 
    2737 
    2738 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    2739 invalid in OpenCL 
    2740 DECLARE_I_REDUCTION_NON_UNIFORM(xor, reduce_xor) 
    2741 
    2742 program_source:333:26: note: expanded from macro
    2743 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    2744 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2745 
    2746 <scratch space>:89:1: note: expanded from here 
    2747 simd_xor 
    2748 
    2749 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    2750 invalid in OpenCL 
    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>:89:1: note: expanded from here 
    2756 simd_xor 
    2757 
    2758 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    2759 is invalid in OpenCL 
    2760 DECLARE_SHUFFLE_NON_UNIFORM(broadcast, broadcast) 
    2761 
    2762 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    2763 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2764 
    2765 <scratch space>:91:1: note: expanded from here 
    2766 simd_broadcast 
    2767 
    2768 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    2769 is invalid in OpenCL 
    2770 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    2771 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2772 
    2773 <scratch space>:91:1: note: expanded from here 
    2774 simd_broadcast 
    2775 
    2776 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    2777 is invalid in OpenCL 
    2778 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    2779 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2780 
    2781 <scratch space>:91:1: note: expanded from here 
    2782 simd_broadcast 
    2783 
    2784 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    2785 invalid in OpenCL 
    2786 DECLARE_REDUCTION_CLUSTERED(sum, reduce_add) 
    2787 
    2788 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2789 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2790 
    2791 program_source:360:60: note: expanded from macro '\ 
    2792 DECLARE_I_REDUCTION_CLUSTERED' 
    2793 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2794 
    2795 program_source:245:71: note: expanded from macro '\ 
    2796 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    2797 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    2798 
    2799 program_source:196:12: note: expanded from macro '\ 
    2800 OVERLOAD_CLUSTERED_ARGS_1' 
    2801 return quad_##METAL_SUFFIX(x); \ 
    2802 
    2803 <scratch space>:94:1: note: expanded from here 
    2804 quad_sum 
    2805 
    2806 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    2807 invalid in OpenCL 
    2808 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2809 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2810 
    2811 program_source:360:60: note: expanded from macro '\ 
    2812 DECLARE_I_REDUCTION_CLUSTERED' 
    2813 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2814 
    2815 program_source:245:71: note: expanded from macro '\ 
    2816 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    2817 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    2818 
    2819 program_source:198:12: note: expanded from macro '\ 
    2820 OVERLOAD_CLUSTERED_ARGS_1' 
    2821 return simd_##METAL_SUFFIX(x); \ 
    2822 
    2823 <scratch space>:95:1: note: expanded from here 
    2824 simd_sum 
    2825 
    2826 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    2827 invalid in OpenCL 
    2828 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2829 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2830 
    2831 program_source:360:60: note: expanded from macro '\ 
    2832 DECLARE_I_REDUCTION_CLUSTERED' 
    2833 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2834 
    2835 program_source:246:59: note: expanded from macro '\ 
    2836 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    2837 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    2838 
    2839 program_source:196:12: note: expanded from macro '\ 
    2840 OVERLOAD_CLUSTERED_ARGS_1' 
    2841 return quad_##METAL_SUFFIX(x); \ 
    2842 
    2843 <scratch space>:96:1: note: expanded from here 
    2844 quad_sum 
    2845 
    2846 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    2847 invalid in OpenCL 
    2848 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2849 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2850 
    2851 program_source:360:60: note: expanded from macro '\ 
    2852 DECLARE_I_REDUCTION_CLUSTERED' 
    2853 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2854 
    2855 program_source:246:59: note: expanded from macro '\ 
    2856 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    2857 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    2858 
    2859 program_source:198:12: note: expanded from macro '\ 
    2860 OVERLOAD_CLUSTERED_ARGS_1' 
    2861 return simd_##METAL_SUFFIX(x); \ 
    2862 
    2863 <scratch space>:97:1: note: expanded from here 
    2864 simd_sum 
    2865 
    2866 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    2867 invalid in OpenCL 
    2868 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2869 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2870 
    2871 program_source:363:60: note: expanded from macro '\ 
    2872 DECLARE_F_REDUCTION_CLUSTERED' 
    2873 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2874 
    2875 program_source:249:71: note: expanded from macro '\ 
    2876 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    2877 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    2878 
    2879 program_source:196:12: note: expanded from macro '\ 
    2880 OVERLOAD_CLUSTERED_ARGS_1' 
    2881 return quad_##METAL_SUFFIX(x); \ 
    2882 
    2883 <scratch space>:99:1: note: expanded from here 
    2884 quad_sum 
    2885 
    2886 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    2887 invalid in OpenCL 
    2888 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2889 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2890 
    2891 program_source:363:60: note: expanded from macro '\ 
    2892 DECLARE_F_REDUCTION_CLUSTERED' 
    2893 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2894 
    2895 program_source:249:71: note: expanded from macro '\ 
    2896 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    2897 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    2898 
    2899 program_source:198:12: note: expanded from macro '\ 
    2900 OVERLOAD_CLUSTERED_ARGS_1' 
    2901 return simd_##METAL_SUFFIX(x); \ 
    2902 
    2903 <scratch space>:100:1: note: expanded from here 
    2904 simd_sum 
    2905 
    2906 program_source:392:1: error: implicit declaration of function 'quad_min' is
    2907 invalid in OpenCL 
    2908 DECLARE_REDUCTION_CLUSTERED(min, reduce_min) 
    2909 
    2910 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2911 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2912 
    2913 program_source:360:60: note: expanded from macro '\ 
    2914 DECLARE_I_REDUCTION_CLUSTERED' 
    2915 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2916 
    2917 program_source:245:71: note: expanded from macro '\ 
    2918 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    2919 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    2920 
    2921 program_source:196:12: note: expanded from macro '\ 
    2922 OVERLOAD_CLUSTERED_ARGS_1' 
    2923 return quad_##METAL_SUFFIX(x); \ 
    2924 
    2925 <scratch space>:102:1: note: expanded from here 
    2926 quad_min 
    2927 
    2928 program_source:392:1: error: implicit declaration of function 'simd_min' is
    2929 invalid in OpenCL 
    2930 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2931 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2932 
    2933 program_source:360:60: note: expanded from macro '\ 
    2934 DECLARE_I_REDUCTION_CLUSTERED' 
    2935 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2936 
    2937 program_source:245:71: note: expanded from macro '\ 
    2938 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    2939 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    2940 
    2941 program_source:198:12: note: expanded from macro '\ 
    2942 OVERLOAD_CLUSTERED_ARGS_1' 
    2943 return simd_##METAL_SUFFIX(x); \ 
    2944 
    2945 <scratch space>:103:1: note: expanded from here 
    2946 simd_min 
    2947 
    2948 program_source:392:1: error: implicit declaration of function 'quad_min' is
    2949 invalid in OpenCL 
    2950 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2951 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2952 
    2953 program_source:360:60: note: expanded from macro '\ 
    2954 DECLARE_I_REDUCTION_CLUSTERED' 
    2955 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2956 
    2957 program_source:246:59: note: expanded from macro '\ 
    2958 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    2959 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    2960 
    2961 program_source:196:12: note: expanded from macro '\ 
    2962 OVERLOAD_CLUSTERED_ARGS_1' 
    2963 return quad_##METAL_SUFFIX(x); \ 
    2964 
    2965 <scratch space>:104:1: note: expanded from here 
    2966 quad_min 
    2967 
    2968 program_source:392:1: error: implicit declaration of function 'simd_min' is
    2969 invalid in OpenCL 
    2970 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2971 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2972 
    2973 program_source:360:60: note: expanded from macro '\ 
    2974 DECLARE_I_REDUCTION_CLUSTERED' 
    2975 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2976 
    2977 program_source:246:59: note: expanded from macro '\ 
    2978 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    2979 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    2980 
    2981 program_source:198:12: note: expanded from macro '\ 
    2982 OVERLOAD_CLUSTERED_ARGS_1' 
    2983 return simd_##METAL_SUFFIX(x); \ 
    2984 
    2985 <scratch space>:105:1: note: expanded from here 
    2986 simd_min 
    2987 
    2988 program_source:392:1: error: implicit declaration of function 'quad_min' is
    2989 invalid in OpenCL 
    2990 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2991 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2992 
    2993 program_source:363:60: note: expanded from macro '\ 
    2994 DECLARE_F_REDUCTION_CLUSTERED' 
    2995 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2996 
    2997 program_source:249:71: note: expanded from macro '\ 
    2998 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    2999 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3000 
    3001 program_source:196:12: note: expanded from macro '\ 
    3002 OVERLOAD_CLUSTERED_ARGS_1' 
    3003 return quad_##METAL_SUFFIX(x); \ 
    3004 
    3005 <scratch space>:107:1: note: expanded from here 
    3006 quad_min 
    3007 
    3008 program_source:392:1: error: implicit declaration of function 'simd_min' is
    3009 invalid in OpenCL 
    3010 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3011 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3012 
    3013 program_source:363:60: note: expanded from macro '\ 
    3014 DECLARE_F_REDUCTION_CLUSTERED' 
    3015 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3016 
    3017 program_source:249:71: note: expanded from macro '\ 
    3018 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3019 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3020 
    3021 program_source:198:12: note: expanded from macro '\ 
    3022 OVERLOAD_CLUSTERED_ARGS_1' 
    3023 return simd_##METAL_SUFFIX(x); \ 
    3024 
    3025 <scratch space>:108:1: note: expanded from here 
    3026 simd_min 
    3027 
    3028 program_source:393:1: error: implicit declaration of function 'quad_max' is
    3029 invalid in OpenCL 
    3030 DECLARE_REDUCTION_CLUSTERED(max, reduce_max) 
    3031 
    3032 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3033 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3034 
    3035 program_source:360:60: note: expanded from macro '\ 
    3036 DECLARE_I_REDUCTION_CLUSTERED' 
    3037 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3038 
    3039 program_source:245:71: note: expanded from macro '\ 
    3040 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3041 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3042 
    3043 program_source:196:12: note: expanded from macro '\ 
    3044 OVERLOAD_CLUSTERED_ARGS_1' 
    3045 return quad_##METAL_SUFFIX(x); \ 
    3046 
    3047 <scratch space>:110:1: note: expanded from here 
    3048 quad_max 
    3049 
    3050 program_source:393:1: error: implicit declaration of function 'simd_max' is
    3051 invalid in OpenCL 
    3052 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3053 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3054 
    3055 program_source:360:60: note: expanded from macro '\ 
    3056 DECLARE_I_REDUCTION_CLUSTERED' 
    3057 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3058 
    3059 program_source:245:71: note: expanded from macro '\ 
    3060 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3061 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3062 
    3063 program_source:198:12: note: expanded from macro '\ 
    3064 OVERLOAD_CLUSTERED_ARGS_1' 
    3065 return simd_##METAL_SUFFIX(x); \ 
    3066 
    3067 <scratch space>:111:1: note: expanded from here 
    3068 simd_max 
    3069 
    3070 program_source:393:1: error: implicit declaration of function 'quad_max' is
    3071 invalid in OpenCL 
    3072 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3073 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3074 
    3075 program_source:360:60: note: expanded from macro '\ 
    3076 DECLARE_I_REDUCTION_CLUSTERED' 
    3077 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3078 
    3079 program_source:246:59: note: expanded from macro '\ 
    3080 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3081 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3082 
    3083 program_source:196:12: note: expanded from macro '\ 
    3084 OVERLOAD_CLUSTERED_ARGS_1' 
    3085 return quad_##METAL_SUFFIX(x); \ 
    3086 
    3087 <scratch space>:112:1: note: expanded from here 
    3088 quad_max 
    3089 
    3090 program_source:393:1: error: implicit declaration of function 'simd_max' is
    3091 invalid in OpenCL 
    3092 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3093 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3094 
    3095 program_source:360:60: note: expanded from macro '\ 
    3096 DECLARE_I_REDUCTION_CLUSTERED' 
    3097 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3098 
    3099 program_source:246:59: note: expanded from macro '\ 
    3100 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3101 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3102 
    3103 program_source:198:12: note: expanded from macro '\ 
    3104 OVERLOAD_CLUSTERED_ARGS_1' 
    3105 return simd_##METAL_SUFFIX(x); \ 
    3106 
    3107 <scratch space>:113:1: note: expanded from here 
    3108 simd_max 
    3109 
    3110 program_source:393:1: error: implicit declaration of function 'quad_max' is
    3111 invalid in OpenCL 
    3112 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3113 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3114 
    3115 program_source:363:60: note: expanded from macro '\ 
    3116 DECLARE_F_REDUCTION_CLUSTERED' 
    3117 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3118 
    3119 program_source:249:71: note: expanded from macro '\ 
    3120 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3121 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3122 
    3123 program_source:196:12: note: expanded from macro '\ 
    3124 OVERLOAD_CLUSTERED_ARGS_1' 
    3125 return quad_##METAL_SUFFIX(x); \ 
    3126 
    3127 <scratch space>:115:1: note: expanded from here 
    3128 quad_max 
    3129 
    3130 program_source:393:1: error: implicit declaration of function 'simd_max' is
    3131 invalid in OpenCL 
    3132 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3133 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3134 
    3135 program_source:363:60: note: expanded from macro '\ 
    3136 DECLARE_F_REDUCTION_CLUSTERED' 
    3137 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3138 
    3139 program_source:249:71: note: expanded from macro '\ 
    3140 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3141 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3142 
    3143 program_source:198:12: note: expanded from macro '\ 
    3144 OVERLOAD_CLUSTERED_ARGS_1' 
    3145 return simd_##METAL_SUFFIX(x); \ 
    3146 
    3147 <scratch space>:116:1: note: expanded from here 
    3148 simd_max 
    3149 
    3150 program_source:395:1: error: implicit declaration of function 'quad_product'
    3151 is invalid in OpenCL 
    3152 DECLARE_REDUCTION_CLUSTERED(product, reduce_mul) 
    3153 
    3154 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3155 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3156 
    3157 program_source:360:60: note: expanded from macro '\ 
    3158 DECLARE_I_REDUCTION_CLUSTERED' 
    3159 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3160 
    3161 program_source:245:71: note: expanded from macro '\ 
    3162 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3163 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3164 
    3165 program_source:196:12: note: expanded from macro '\ 
    3166 OVERLOAD_CLUSTERED_ARGS_1' 
    3167 return quad_##METAL_SUFFIX(x); \ 
    3168 
    3169 <scratch space>:118:1: note: expanded from here 
    3170 quad_product 
    3171 
    3172 program_source:395:1: error: implicit declaration of function 'simd_product'
    3173 is invalid in OpenCL 
    3174 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3175 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3176 
    3177 program_source:360:60: note: expanded from macro '\ 
    3178 DECLARE_I_REDUCTION_CLUSTERED' 
    3179 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3180 
    3181 program_source:245:71: note: expanded from macro '\ 
    3182 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3183 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3184 
    3185 program_source:198:12: note: expanded from macro '\ 
    3186 OVERLOAD_CLUSTERED_ARGS_1' 
    3187 return simd_##METAL_SUFFIX(x); \ 
    3188 
    3189 <scratch space>:119:1: note: expanded from here 
    3190 simd_product 
    3191 
    3192 program_source:395:1: error: implicit declaration of function 'quad_product'
    3193 is invalid in OpenCL 
    3194 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3195 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3196 
    3197 program_source:360:60: note: expanded from macro '\ 
    3198 DECLARE_I_REDUCTION_CLUSTERED' 
    3199 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3200 
    3201 program_source:246:59: note: expanded from macro '\ 
    3202 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3203 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3204 
    3205 program_source:196:12: note: expanded from macro '\ 
    3206 OVERLOAD_CLUSTERED_ARGS_1' 
    3207 return quad_##METAL_SUFFIX(x); \ 
    3208 
    3209 <scratch space>:120:1: note: expanded from here 
    3210 quad_product 
    3211 
    3212 program_source:395:1: error: implicit declaration of function 'simd_product'
    3213 is invalid in OpenCL 
    3214 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3215 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3216 
    3217 program_source:360:60: note: expanded from macro '\ 
    3218 DECLARE_I_REDUCTION_CLUSTERED' 
    3219 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3220 
    3221 program_source:246:59: note: expanded from macro '\ 
    3222 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3223 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3224 
    3225 program_source:198:12: note: expanded from macro '\ 
    3226 OVERLOAD_CLUSTERED_ARGS_1' 
    3227 return simd_##METAL_SUFFIX(x); \ 
    3228 
    3229 <scratch space>:121:1: note: expanded from here 
    3230 simd_product 
    3231 
    3232 program_source:395:1: error: implicit declaration of function 'quad_product'
    3233 is invalid in OpenCL 
    3234 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3235 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3236 
    3237 program_source:363:60: note: expanded from macro '\ 
    3238 DECLARE_F_REDUCTION_CLUSTERED' 
    3239 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3240 
    3241 program_source:249:71: note: expanded from macro '\ 
    3242 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3243 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3244 
    3245 program_source:196:12: note: expanded from macro '\ 
    3246 OVERLOAD_CLUSTERED_ARGS_1' 
    3247 return quad_##METAL_SUFFIX(x); \ 
    3248 
    3249 <scratch space>:123:1: note: expanded from here 
    3250 quad_product 
    3251 
    3252 program_source:395:1: error: implicit declaration of function 'simd_product'
    3253 is invalid in OpenCL 
    3254 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3255 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3256 
    3257 program_source:363:60: note: expanded from macro '\ 
    3258 DECLARE_F_REDUCTION_CLUSTERED' 
    3259 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3260 
    3261 program_source:249:71: note: expanded from macro '\ 
    3262 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3263 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3264 
    3265 program_source:198:12: note: expanded from macro '\ 
    3266 OVERLOAD_CLUSTERED_ARGS_1' 
    3267 return simd_##METAL_SUFFIX(x); \ 
    3268 
    3269 <scratch space>:124:1: note: expanded from here 
    3270 simd_product 
    3271 
    3272 program_source:396:1: error: implicit declaration of function 'quad_and' is
    3273 invalid in OpenCL 
    3274 DECLARE_I_REDUCTION_CLUSTERED(and, reduce_and) 
    3275 
    3276 program_source:360:60: note: expanded from macro
    3277 'DECLARE_I_REDUCTION_CLUSTERED' 
    3278 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3279 
    3280 program_source:245:71: note: expanded from macro '\ 
    3281 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3282 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3283 
    3284 program_source:196:12: note: expanded from macro '\ 
    3285 OVERLOAD_CLUSTERED_ARGS_1' 
    3286 return quad_##METAL_SUFFIX(x); \ 
    3287 
    3288 <scratch space>:126:1: note: expanded from here 
    3289 quad_and 
    3290 
    3291 program_source:396:1: error: implicit declaration of function 'simd_and' is
    3292 invalid in OpenCL 
    3293 program_source:360:60: note: expanded from macro
    3294 'DECLARE_I_REDUCTION_CLUSTERED' 
    3295 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3296 
    3297 program_source:245:71: note: expanded from macro '\ 
    3298 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3299 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3300 
    3301 program_source:198:12: note: expanded from macro '\ 
    3302 OVERLOAD_CLUSTERED_ARGS_1' 
    3303 return simd_##METAL_SUFFIX(x); \ 
    3304 
    3305 <scratch space>:127:1: note: expanded from here 
    3306 simd_and 
    3307 
    3308 program_source:396:1: error: implicit declaration of function 'quad_and' is
    3309 invalid in OpenCL 
    3310 program_source:360:60: note: expanded from macro
    3311 'DECLARE_I_REDUCTION_CLUSTERED' 
    3312 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3313 
    3314 program_source:246:59: note: expanded from macro '\ 
    3315 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3316 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3317 
    3318 program_source:196:12: note: expanded from macro '\ 
    3319 OVERLOAD_CLUSTERED_ARGS_1' 
    3320 return quad_##METAL_SUFFIX(x); \ 
    3321 
    3322 <scratch space>:128:1: note: expanded from here 
    3323 quad_and 
    3324 
    3325 program_source:396:1: error: implicit declaration of function 'simd_and' is
    3326 invalid in OpenCL 
    3327 program_source:360:60: note: expanded from macro
    3328 'DECLARE_I_REDUCTION_CLUSTERED' 
    3329 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3330 
    3331 program_source:246:59: note: expanded from macro '\ 
    3332 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3333 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3334 
    3335 program_source:198:12: note: expanded from macro '\ 
    3336 OVERLOAD_CLUSTERED_ARGS_1' 
    3337 return simd_##METAL_SUFFIX(x); \ 
    3338 
    3339 <scratch space>:129:1: note: expanded from here 
    3340 simd_and 
    3341 
    3342 program_source:397:1: error: implicit declaration of function 'quad_or' is
    3343 invalid in OpenCL 
    3344 DECLARE_I_REDUCTION_CLUSTERED(or, reduce_or) 
    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:196:12: note: expanded from macro '\ 
    3355 OVERLOAD_CLUSTERED_ARGS_1' 
    3356 return quad_##METAL_SUFFIX(x); \ 
    3357 
    3358 <scratch space>:131:1: note: expanded from here 
    3359 quad_or 
    3360 
    3361 program_source:397:1: error: implicit declaration of function 'simd_or' is
    3362 invalid in OpenCL 
    3363 program_source:360:60: note: expanded from macro
    3364 'DECLARE_I_REDUCTION_CLUSTERED' 
    3365 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3366 
    3367 program_source:245:71: note: expanded from macro '\ 
    3368 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3369 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3370 
    3371 program_source:198:12: note: expanded from macro '\ 
    3372 OVERLOAD_CLUSTERED_ARGS_1' 
    3373 return simd_##METAL_SUFFIX(x); \ 
    3374 
    3375 <scratch space>:132:1: note: expanded from here 
    3376 simd_or 
    3377 
    3378 program_source:397:1: error: implicit declaration of function 'quad_or' is
    3379 invalid in OpenCL 
    3380 program_source:360:60: note: expanded from macro
    3381 'DECLARE_I_REDUCTION_CLUSTERED' 
    3382 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3383 
    3384 program_source:246:59: note: expanded from macro '\ 
    3385 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3386 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3387 
    3388 program_source:196:12: note: expanded from macro '\ 
    3389 OVERLOAD_CLUSTERED_ARGS_1' 
    3390 return quad_##METAL_SUFFIX(x); \ 
    3391 
    3392 <scratch space>:133:1: note: expanded from here 
    3393 quad_or 
    3394 
    3395 program_source:397:1: error: implicit declaration of function 'simd_or' is
    3396 invalid in OpenCL 
    3397 program_source:360:60: note: expanded from macro
    3398 'DECLARE_I_REDUCTION_CLUSTERED' 
    3399 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3400 
    3401 program_source:246:59: note: expanded from macro '\ 
    3402 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3403 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3404 
    3405 program_source:198:12: note: expanded from macro '\ 
    3406 OVERLOAD_CLUSTERED_ARGS_1' 
    3407 return simd_##METAL_SUFFIX(x); \ 
    3408 
    3409 <scratch space>:134:1: note: expanded from here 
    3410 simd_or 
    3411 
    3412 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    3413 invalid in OpenCL 
    3414 DECLARE_I_REDUCTION_CLUSTERED(xor, reduce_xor) 
    3415 
    3416 program_source:360:60: note: expanded from macro
    3417 'DECLARE_I_REDUCTION_CLUSTERED' 
    3418 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3419 
    3420 program_source:245:71: note: expanded from macro '\ 
    3421 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3422 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3423 
    3424 program_source:196:12: note: expanded from macro '\ 
    3425 OVERLOAD_CLUSTERED_ARGS_1' 
    3426 return quad_##METAL_SUFFIX(x); \ 
    3427 
    3428 <scratch space>:136:1: note: expanded from here 
    3429 quad_xor 
    3430 
    3431 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    3432 invalid in OpenCL 
    3433 program_source:360:60: note: expanded from macro
    3434 'DECLARE_I_REDUCTION_CLUSTERED' 
    3435 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3436 
    3437 program_source:245:71: note: expanded from macro '\ 
    3438 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3439 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3440 
    3441 program_source:198:12: note: expanded from macro '\ 
    3442 OVERLOAD_CLUSTERED_ARGS_1' 
    3443 return simd_##METAL_SUFFIX(x); \ 
    3444 
    3445 <scratch space>:137:1: note: expanded from here 
    3446 simd_xor 
    3447 
    3448 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    3449 invalid in OpenCL 
    3450 program_source:360:60: note: expanded from macro
    3451 'DECLARE_I_REDUCTION_CLUSTERED' 
    3452 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3453 
    3454 program_source:246:59: note: expanded from macro '\ 
    3455 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3456 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3457 
    3458 program_source:196:12: note: expanded from macro '\ 
    3459 OVERLOAD_CLUSTERED_ARGS_1' 
    3460 return quad_##METAL_SUFFIX(x); \ 
    3461 
    3462 <scratch space>:138:1: note: expanded from here 
    3463 quad_xor 
    3464 
    3465 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    3466 invalid in OpenCL 
    3467 program_source:360:60: note: expanded from macro
    3468 'DECLARE_I_REDUCTION_CLUSTERED' 
    3469 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3470 
    3471 program_source:246:59: note: expanded from macro '\ 
    3472 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3473 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3474 
    3475 program_source:198:12: note: expanded from macro '\ 
    3476 OVERLOAD_CLUSTERED_ARGS_1' 
    3477 return simd_##METAL_SUFFIX(x); \ 
    3478 
    3479 <scratch space>:139:1: note: expanded from here 
    3480 simd_xor 
    3481 
    3482 program_source:399:1: error: implicit declaration of function 'simd_and' is
    3483 invalid in OpenCL 
    3484 DECLARE_B_REDUCTION_CLUSTERED(and) 
    3485 
    3486 program_source:369:8: note: expanded from macro
    3487 'DECLARE_B_REDUCTION_CLUSTERED' 
    3488 return simd_##OP(select(0, 1, predicate != 0)); \ 
    3489 
    3490 <scratch space>:141:1: note: expanded from here 
    3491 simd_and 
    3492 
    3493 program_source:399:1: error: implicit declaration of function 'quad_and' is
    3494 invalid in OpenCL 
    3495 program_source:378:12: note: expanded from macro
    3496 'DECLARE_B_REDUCTION_CLUSTERED' 
    3497 return quad_##OP(x); \ 
    3498 
    3499 <scratch space>:143:1: note: expanded from here 
    3500 quad_and 
    3501 
    3502 program_source:399:1: error: implicit declaration of function 'simd_and' is
    3503 invalid in OpenCL 
    3504 program_source:380:12: note: expanded from macro
    3505 'DECLARE_B_REDUCTION_CLUSTERED' 
    3506 return simd_##OP(x); \ 
    3507 
    3508 <scratch space>:144:1: note: expanded from here 
    3509 simd_and 
    3510 
    3511 program_source:400:1: error: implicit declaration of function 'simd_or' is
    3512 invalid in OpenCL 
    3513 DECLARE_B_REDUCTION_CLUSTERED(or) 
    3514 
    3515 program_source:369:8: note: expanded from macro
    3516 'DECLARE_B_REDUCTION_CLUSTERED' 
    3517 return simd_##OP(select(0, 1, predicate != 0)); \ 
    3518 
    3519 <scratch space>:146:1: note: expanded from here 
    3520 simd_or 
    3521 
    3522 program_source:400:1: error: implicit declaration of function 'quad_or' is
    3523 invalid in OpenCL 
    3524 program_source:378:12: note: expanded from macro
    3525 'DECLARE_B_REDUCTION_CLUSTERED' 
    3526 return quad_##OP(x); \ 
    3527 
    3528 <scratch space>:148:1: note: expanded from here 
    3529 quad_or 
    3530 
    3531 program_source:400:1: error: implicit declaration of function 'simd_or' is
    3532 invalid in OpenCL 
    3533 program_source:380:12: note: expanded from macro
    3534 'DECLARE_B_REDUCTION_CLUSTERED' 
    3535 return simd_##OP(x); \ 
    3536 
    3537 <scratch space>:149:1: note: expanded from here 
    3538 simd_or 
    3539 
    3540 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    3541 invalid in OpenCL 
    3542 DECLARE_B_REDUCTION_CLUSTERED(xor) 
    3543 
    3544 program_source:369:8: note: expanded from macro
    3545 'DECLARE_B_REDUCTION_CLUSTERED' 
    3546 return simd_##OP(select(0, 1, predicate != 0)); \ 
    3547 
    3548 <scratch space>:151:1: note: expanded from here 
    3549 simd_xor 
    3550 
    3551 program_source:401:1: error: implicit declaration of function 'quad_xor' is
    3552 invalid in OpenCL 
    3553 program_source:378:12: note: expanded from macro
    3554 'DECLARE_B_REDUCTION_CLUSTERED' 
    3555 return quad_##OP(x); \ 
    3556 
    3557 <scratch space>:153:1: note: expanded from here 
    3558 quad_xor 
    3559 
    3560 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    3561 invalid in OpenCL 
    3562 program_source:380:12: note: expanded from macro
    3563 'DECLARE_B_REDUCTION_CLUSTERED' 
    3564 return simd_##OP(x); \ 
    3565 
    3566 <scratch space>:154:1: note: expanded from here 
    3567 simd_xor 
    3568 
    3569 program_source:403:1: error: implicit declaration of function
    3570 'quad_shuffle_rotate_down' is invalid in OpenCL 
    3571 DECLARE_SHUFFLE_CLUSTERED(shuffle_rotate_down, rotate) 
    3572 
    3573 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3574 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3575 
    3576 program_source:252:69: note: expanded from macro '\ 
    3577 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3578 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    3579 
    3580 program_source:208:12: note: expanded from macro '\ 
    3581 OVERLOAD_CLUSTERED_ARGS_2' 
    3582 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    3583 
    3584 <scratch space>:156:1: note: expanded from here 
    3585 quad_shuffle_rotate_down 
    3586 
    3587 program_source:403:1: error: implicit declaration of function
    3588 'simd_shuffle_rotate_down' is invalid in OpenCL 
    3589 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3590 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3591 
    3592 program_source:252:69: note: expanded from macro '\ 
    3593 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3594 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    3595 
    3596 program_source:210:12: note: expanded from macro '\ 
    3597 OVERLOAD_CLUSTERED_ARGS_2' 
    3598 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    3599 
    3600 <scratch space>:157:1: note: expanded from here 
    3601 simd_shuffle_rotate_down 
    3602 
    3603 program_source:403:1: error: implicit declaration of function
    3604 'quad_shuffle_rotate_down' is invalid in OpenCL 
    3605 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3606 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3607 
    3608 program_source:253:59: note: expanded from macro '\ 
    3609 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3610 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3611 
    3612 program_source:208:12: note: expanded from macro '\ 
    3613 OVERLOAD_CLUSTERED_ARGS_2' 
    3614 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    3615 
    3616 <scratch space>:158:1: note: expanded from here 
    3617 quad_shuffle_rotate_down 
    3618 
    3619 program_source:403:1: error: implicit declaration of function
    3620 'simd_shuffle_rotate_down' is invalid in OpenCL 
    3621 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3622 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3623 
    3624 program_source:253:59: note: expanded from macro '\ 
    3625 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3626 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3627 
    3628 program_source:210:12: note: expanded from macro '\ 
    3629 OVERLOAD_CLUSTERED_ARGS_2' 
    3630 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    3631 
    3632 <scratch space>:159:1: note: expanded from here 
    3633 simd_shuffle_rotate_down 
    3634 
    3635 program_source:403:1: error: implicit declaration of function
    3636 'quad_shuffle_rotate_down' is invalid in OpenCL 
    3637 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3638 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3639 
    3640 program_source:254:60: note: expanded from macro '\ 
    3641 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3642 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    3643 
    3644 program_source:208:12: note: expanded from macro '\ 
    3645 OVERLOAD_CLUSTERED_ARGS_2' 
    3646 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    3647 
    3648 <scratch space>:160:1: note: expanded from here 
    3649 quad_shuffle_rotate_down 
    3650 
    3651 program_source:403:1: error: implicit declaration of function
    3652 'simd_shuffle_rotate_down' is invalid in OpenCL 
    3653 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3654 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3655 
    3656 program_source:254:60: note: expanded from macro '\ 
    3657 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3658 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    3659 
    3660 program_source:210:12: note: expanded from macro '\ 
    3661 OVERLOAD_CLUSTERED_ARGS_2' 
    3662 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    3663 
    3664 <scratch space>:161:1: note: expanded from here 
    3665 simd_shuffle_rotate_down 
    3666 
    3667 program_source:409:1: error: illegal string literal in 'asm' 
    3668 EXPOSE_BALLOT(simd_is_first, , bool, ) 
    3669 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3670 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3671 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3672 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3673 program_source:410:1: error: illegal string literal in 'asm' 
    3674 EXPOSE_BALLOT(simd_all, bool expr, bool, ) 
    3675 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3676 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3677 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3678 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3679 program_source:411:1: error: illegal string literal in 'asm' 
    3680 EXPOSE_BALLOT(simd_any, bool expr, bool, ) 
    3681 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3682 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3683 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3684 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3685 program_source:412:1: error: illegal string literal in 'asm' 
    3686 EXPOSE_BALLOT(simd_ballot, bool expr, ulong, .i64) 
    3687 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3688 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3689 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3690 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3691 program_source:413:1: error: illegal string literal in 'asm' 
    3692 EXPOSE_BALLOT(simd_active_threads_mask, , ulong, .i64) 
    3693 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3694 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3695 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3696 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3697 program_source:415:1: error: illegal string literal in 'asm' 
    3698 EXPOSE_BALLOT(quad_is_first, , bool, ) 
    3699 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3700 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3701 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3702 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3703 program_source:416:1: error: illegal string literal in 'asm' 
    3704 EXPOSE_BALLOT(quad_all, bool expr, bool, ) 
    3705 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3706 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3707 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3708 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3709 program_source:417:1: error: illegal string literal in 'asm' 
    3710 EXPOSE_BALLOT(quad_any, bool expr, bool, ) 
    3711 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3712 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3713 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3714 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3715 program_source:418:1: error: illegal string literal in 'asm' 
    3716 EXPOSE_BALLOT(quad_ballot, bool expr, ushort, ) 
    3717 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3718 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3719 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3720 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3721 program_source:419:1: error: illegal string literal in 'asm' 
    3722 EXPOSE_BALLOT(quad_active_threads_mask, , ushort, ) 
    3723 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3724 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3725 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3726 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3727 program_source:422:23: error: implicit declaration of function 'simd_is_first'
    3728 is invalid in OpenCL 
    3729 return select(0, 1, simd_is_first()); 
    3730 
    3731 program_source:426:23: error: implicit declaration of function 'simd_all' is
    3732 invalid in OpenCL 
    3733 return select(0, 1, simd_all(predicate != 0)); 
    3734 
    3735 program_source:430:23: error: implicit declaration of function 'simd_any' is
    3736 invalid in OpenCL 
    3737 return select(0, 1, simd_any(predicate != 0)); 
    3738 
    3739 program_source:434:23: error: implicit declaration of function 'simd_all' is
    3740 invalid in OpenCL 
    3741 return select(0, 1, simd_all(predicate != 0)); 
    3742 
    3743 program_source:438:23: error: implicit declaration of function 'simd_any' is
    3744 invalid in OpenCL 
    3745 return select(0, 1, simd_any(predicate != 0)); 
    3746 
    3747 program_source:443:14: error: implicit declaration of function 'simd_ballot'
    3748 is invalid in OpenCL 
    3749 output.x = simd_ballot(predicate != 0); 
    3750 
    3751 program_source:480:9: error: illegal string literal in 'asm' 
    3752 __asm("air.simdgroup.barrier"); 
    3753 ^~~~~~~~~~~~~~~~~~~~~~~ 
    3754 program_source:487:3: error: implicit declaration of function
    3755 '__metal_simdgroup_barrier' is invalid in OpenCL 
    3756 __metal_simdgroup_barrier(flags, 1); 
    3757 
    3758 program_source:487:3: note: did you mean 'simdgroup_barrier'? 
    3759 program_source:483:6: note: 'simdgroup_barrier' declared here 
    3760 void simdgroup_barrier(int flags) { 
    3761 
    3762 program_source:681:9: error: implicit declaration of function 'simd_is_first'
    3763 is invalid in OpenCL 
    3764 if (simd_is_first()) { 
    3765 
    3766 program_source:673:45: warning: comparison of integers of different signs:
    3767 '__private unsigned int' and '__private int' [-Wsign-compare] 
    3768 for (unsigned int index = thread; index < bufferSize; index +=
    3769 get_local_size(0)) 
    3770 ~~~~~ ^ ~~~~~~~~~~ 
    3771 program_source:685:45: warning: comparison of integers of different signs:
    3772 'unsigned int' and '__private int' [-Wsign-compare] 
    3773 if (thread%(32*2) == 0 && thread+32 < workGroupSize) 
    3774 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    3775 program_source:689:45: warning: comparison of integers of different signs:
    3776 'unsigned int' and '__private int' [-Wsign-compare] 
    3777 if (thread%(64*2) == 0 && thread+64 < workGroupSize) 
    3778 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    3779 program_source:693:47: warning: comparison of integers of different signs:
    3780 'unsigned int' and '__private int' [-Wsign-compare] 
    3781 if (thread%(128*2) == 0 && thread+128 < workGroupSize) 
    3782 ~~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    3783  
    3784  
    3785 openmm.OpenMMException: Error compiling kernel: program_source:279:1: error:
    3786 illegal string literal in 'asm' 
    3787 DECLARE_REDUCTION_BASE(sum) 
    3788 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3789 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3790 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    3791 
    3792 program_source:263:44: note: expanded from macro '\ 
    3793 DECLARE_I_REDUCTION_BASE' 
    3794 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    3795 
    3796 program_source:217:40: note: expanded from macro '\ 
    3797 EXPOSE_FUNCTION_I_ARGS_1' 
    3798 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    3799 
    3800 program_source:164:9: note: expanded from macro '\ 
    3801 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3802 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3803 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3804 program_source:279:1: error: illegal string literal in 'asm' 
    3805 DECLARE_REDUCTION_BASE(sum) 
    3806 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3807 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3808 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    3809 
    3810 program_source:263:44: note: expanded from macro '\ 
    3811 DECLARE_I_REDUCTION_BASE' 
    3812 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    3813 
    3814 program_source:218:51: note: expanded from macro '\ 
    3815 EXPOSE_FUNCTION_I_ARGS_1' 
    3816 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    3817 
    3818 program_source:164:9: note: expanded from macro '\ 
    3819 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3820 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3821 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3822 program_source:279:1: error: illegal string literal in 'asm' 
    3823 DECLARE_REDUCTION_BASE(sum) 
    3824 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3825 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3826 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    3827 
    3828 program_source:264:43: note: expanded from macro '\ 
    3829 DECLARE_I_REDUCTION_BASE' 
    3830 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    3831 
    3832 program_source:217:40: note: expanded from macro '\ 
    3833 EXPOSE_FUNCTION_I_ARGS_1' 
    3834 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    3835 
    3836 program_source:164:9: note: expanded from macro '\ 
    3837 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3838 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3839 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3840 program_source:279:1: error: illegal string literal in 'asm' 
    3841 DECLARE_REDUCTION_BASE(sum) 
    3842 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3843 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3844 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    3845 
    3846 program_source:264:43: note: expanded from macro '\ 
    3847 DECLARE_I_REDUCTION_BASE' 
    3848 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    3849 
    3850 program_source:218:51: note: expanded from macro '\ 
    3851 EXPOSE_FUNCTION_I_ARGS_1' 
    3852 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    3853 
    3854 program_source:164:9: note: expanded from macro '\ 
    3855 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3856 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3857 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3858 program_source:279:1: error: illegal string literal in 'asm' 
    3859 DECLARE_REDUCTION_BASE(sum) 
    3860 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3861 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3862 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    3863 
    3864 program_source:267:44: note: expanded from macro '\ 
    3865 DECLARE_F_REDUCTION_BASE' 
    3866 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    3867 
    3868 program_source:221:40: note: expanded from macro '\ 
    3869 EXPOSE_FUNCTION_F_ARGS_1' 
    3870 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    3871 
    3872 program_source:164:9: note: expanded from macro '\ 
    3873 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3874 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3875 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3876 program_source:279:1: error: illegal string literal in 'asm' 
    3877 DECLARE_REDUCTION_BASE(sum) 
    3878 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3879 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3880 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    3881 
    3882 program_source:268:43: note: expanded from macro '\ 
    3883 DECLARE_F_REDUCTION_BASE' 
    3884 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    3885 
    3886 program_source:221:40: note: expanded from macro '\ 
    3887 EXPOSE_FUNCTION_F_ARGS_1' 
    3888 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    3889 
    3890 program_source:164:9: note: expanded from macro '\ 
    3891 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3892 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3893 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3894 program_source:280:1: error: illegal string literal in 'asm' 
    3895 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    3896 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3897 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3898 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    3899 
    3900 program_source:263:44: note: expanded from macro '\ 
    3901 DECLARE_I_REDUCTION_BASE' 
    3902 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    3903 
    3904 program_source:217:40: note: expanded from macro '\ 
    3905 EXPOSE_FUNCTION_I_ARGS_1' 
    3906 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    3907 
    3908 program_source:164:9: note: expanded from macro '\ 
    3909 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3910 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3911 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3912 program_source:280:1: error: illegal string literal in 'asm' 
    3913 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    3914 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3915 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3916 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    3917 
    3918 program_source:263:44: note: expanded from macro '\ 
    3919 DECLARE_I_REDUCTION_BASE' 
    3920 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    3921 
    3922 program_source:218:51: note: expanded from macro '\ 
    3923 EXPOSE_FUNCTION_I_ARGS_1' 
    3924 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    3925 
    3926 program_source:164:9: note: expanded from macro '\ 
    3927 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3928 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3929 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3930 program_source:280:1: error: illegal string literal in 'asm' 
    3931 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    3932 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3933 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3934 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    3935 
    3936 program_source:264:43: note: expanded from macro '\ 
    3937 DECLARE_I_REDUCTION_BASE' 
    3938 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    3939 
    3940 program_source:217:40: note: expanded from macro '\ 
    3941 EXPOSE_FUNCTION_I_ARGS_1' 
    3942 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    3943 
    3944 program_source:164:9: note: expanded from macro '\ 
    3945 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3946 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3947 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3948 program_source:280:1: error: illegal string literal in 'asm' 
    3949 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    3950 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3951 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3952 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    3953 
    3954 program_source:264:43: note: expanded from macro '\ 
    3955 DECLARE_I_REDUCTION_BASE' 
    3956 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    3957 
    3958 program_source:218:51: note: expanded from macro '\ 
    3959 EXPOSE_FUNCTION_I_ARGS_1' 
    3960 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    3961 
    3962 program_source:164:9: note: expanded from macro '\ 
    3963 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3964 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3965 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3966 program_source:280:1: error: illegal string literal in 'asm' 
    3967 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    3968 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3969 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3970 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    3971 
    3972 program_source:267:44: note: expanded from macro '\ 
    3973 DECLARE_F_REDUCTION_BASE' 
    3974 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    3975 
    3976 program_source:221:40: note: expanded from macro '\ 
    3977 EXPOSE_FUNCTION_F_ARGS_1' 
    3978 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    3979 
    3980 program_source:164:9: note: expanded from macro '\ 
    3981 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3982 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3983 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3984 program_source:280:1: error: illegal string literal in 'asm' 
    3985 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    3986 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3987 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3988 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    3989 
    3990 program_source:268:43: note: expanded from macro '\ 
    3991 DECLARE_F_REDUCTION_BASE' 
    3992 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    3993 
    3994 program_source:221:40: note: expanded from macro '\ 
    3995 EXPOSE_FUNCTION_F_ARGS_1' 
    3996 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    3997 
    3998 program_source:164:9: note: expanded from macro '\ 
    3999 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4000 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4001 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4002 program_source:281:1: error: illegal string literal in 'asm' 
    4003 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4004 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4005 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4006 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4007 
    4008 program_source:263:44: note: expanded from macro '\ 
    4009 DECLARE_I_REDUCTION_BASE' 
    4010 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4011 
    4012 program_source:217:40: note: expanded from macro '\ 
    4013 EXPOSE_FUNCTION_I_ARGS_1' 
    4014 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4015 
    4016 program_source:164:9: note: expanded from macro '\ 
    4017 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4018 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4019 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4020 program_source:281:1: error: illegal string literal in 'asm' 
    4021 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4022 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4023 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4024 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4025 
    4026 program_source:263:44: note: expanded from macro '\ 
    4027 DECLARE_I_REDUCTION_BASE' 
    4028 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4029 
    4030 program_source:218:51: note: expanded from macro '\ 
    4031 EXPOSE_FUNCTION_I_ARGS_1' 
    4032 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4033 
    4034 program_source:164:9: note: expanded from macro '\ 
    4035 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4036 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4037 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4038 program_source:281:1: error: illegal string literal in 'asm' 
    4039 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4040 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4041 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4042 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4043 
    4044 program_source:264:43: note: expanded from macro '\ 
    4045 DECLARE_I_REDUCTION_BASE' 
    4046 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4047 
    4048 program_source:217:40: note: expanded from macro '\ 
    4049 EXPOSE_FUNCTION_I_ARGS_1' 
    4050 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4051 
    4052 program_source:164:9: note: expanded from macro '\ 
    4053 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4054 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4055 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4056 program_source:281:1: error: illegal string literal in 'asm' 
    4057 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4058 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4059 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4060 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4061 
    4062 program_source:264:43: note: expanded from macro '\ 
    4063 DECLARE_I_REDUCTION_BASE' 
    4064 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4065 
    4066 program_source:218:51: note: expanded from macro '\ 
    4067 EXPOSE_FUNCTION_I_ARGS_1' 
    4068 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4069 
    4070 program_source:164:9: note: expanded from macro '\ 
    4071 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4072 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4073 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4074 program_source:281:1: error: illegal string literal in 'asm' 
    4075 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4076 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4077 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4078 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4079 
    4080 program_source:267:44: note: expanded from macro '\ 
    4081 DECLARE_F_REDUCTION_BASE' 
    4082 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4083 
    4084 program_source:221:40: note: expanded from macro '\ 
    4085 EXPOSE_FUNCTION_F_ARGS_1' 
    4086 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4087 
    4088 program_source:164:9: note: expanded from macro '\ 
    4089 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4090 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4091 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4092 program_source:281:1: error: illegal string literal in 'asm' 
    4093 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4094 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4095 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4096 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4097 
    4098 program_source:268:43: note: expanded from macro '\ 
    4099 DECLARE_F_REDUCTION_BASE' 
    4100 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4101 
    4102 program_source:221:40: note: expanded from macro '\ 
    4103 EXPOSE_FUNCTION_F_ARGS_1' 
    4104 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4105 
    4106 program_source:164:9: note: expanded from macro '\ 
    4107 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4108 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4109 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4110 program_source:282:1: error: illegal string literal in 'asm' 
    4111 DECLARE_REDUCTION_BASE(min) 
    4112 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4113 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4114 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4115 
    4116 program_source:263:44: note: expanded from macro '\ 
    4117 DECLARE_I_REDUCTION_BASE' 
    4118 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4119 
    4120 program_source:217:40: note: expanded from macro '\ 
    4121 EXPOSE_FUNCTION_I_ARGS_1' 
    4122 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4123 
    4124 program_source:164:9: note: expanded from macro '\ 
    4125 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4126 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4127 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4128 program_source:282:1: error: illegal string literal in 'asm' 
    4129 DECLARE_REDUCTION_BASE(min) 
    4130 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4131 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4132 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4133 
    4134 program_source:263:44: note: expanded from macro '\ 
    4135 DECLARE_I_REDUCTION_BASE' 
    4136 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4137 
    4138 program_source:218:51: note: expanded from macro '\ 
    4139 EXPOSE_FUNCTION_I_ARGS_1' 
    4140 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4141 
    4142 program_source:164:9: note: expanded from macro '\ 
    4143 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4144 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4145 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4146 program_source:282:1: error: illegal string literal in 'asm' 
    4147 DECLARE_REDUCTION_BASE(min) 
    4148 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4149 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4150 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4151 
    4152 program_source:264:43: note: expanded from macro '\ 
    4153 DECLARE_I_REDUCTION_BASE' 
    4154 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4155 
    4156 program_source:217:40: note: expanded from macro '\ 
    4157 EXPOSE_FUNCTION_I_ARGS_1' 
    4158 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4159 
    4160 program_source:164:9: note: expanded from macro '\ 
    4161 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4162 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4163 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4164 program_source:282:1: error: illegal string literal in 'asm' 
    4165 DECLARE_REDUCTION_BASE(min) 
    4166 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4167 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4168 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4169 
    4170 program_source:264:43: note: expanded from macro '\ 
    4171 DECLARE_I_REDUCTION_BASE' 
    4172 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4173 
    4174 program_source:218:51: note: expanded from macro '\ 
    4175 EXPOSE_FUNCTION_I_ARGS_1' 
    4176 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4177 
    4178 program_source:164:9: note: expanded from macro '\ 
    4179 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4180 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4181 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4182 program_source:282:1: error: illegal string literal in 'asm' 
    4183 DECLARE_REDUCTION_BASE(min) 
    4184 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4185 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4186 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4187 
    4188 program_source:267:44: note: expanded from macro '\ 
    4189 DECLARE_F_REDUCTION_BASE' 
    4190 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4191 
    4192 program_source:221:40: note: expanded from macro '\ 
    4193 EXPOSE_FUNCTION_F_ARGS_1' 
    4194 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4195 
    4196 program_source:164:9: note: expanded from macro '\ 
    4197 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4198 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4199 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4200 program_source:282:1: error: illegal string literal in 'asm' 
    4201 DECLARE_REDUCTION_BASE(min) 
    4202 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4203 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4204 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4205 
    4206 program_source:268:43: note: expanded from macro '\ 
    4207 DECLARE_F_REDUCTION_BASE' 
    4208 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4209 
    4210 program_source:221:40: note: expanded from macro '\ 
    4211 EXPOSE_FUNCTION_F_ARGS_1' 
    4212 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4213 
    4214 program_source:164:9: note: expanded from macro '\ 
    4215 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4216 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4217 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4218 program_source:283:1: error: illegal string literal in 'asm' 
    4219 DECLARE_REDUCTION_BASE(max) 
    4220 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4221 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4222 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4223 
    4224 program_source:263:44: note: expanded from macro '\ 
    4225 DECLARE_I_REDUCTION_BASE' 
    4226 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4227 
    4228 program_source:217:40: note: expanded from macro '\ 
    4229 EXPOSE_FUNCTION_I_ARGS_1' 
    4230 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4231 
    4232 program_source:164:9: note: expanded from macro '\ 
    4233 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4234 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4235 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4236 program_source:283:1: error: illegal string literal in 'asm' 
    4237 DECLARE_REDUCTION_BASE(max) 
    4238 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4239 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4240 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4241 
    4242 program_source:263:44: note: expanded from macro '\ 
    4243 DECLARE_I_REDUCTION_BASE' 
    4244 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4245 
    4246 program_source:218:51: note: expanded from macro '\ 
    4247 EXPOSE_FUNCTION_I_ARGS_1' 
    4248 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4249 
    4250 program_source:164:9: note: expanded from macro '\ 
    4251 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4252 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4253 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4254 program_source:283:1: error: illegal string literal in 'asm' 
    4255 DECLARE_REDUCTION_BASE(max) 
    4256 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4257 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4258 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4259 
    4260 program_source:264:43: note: expanded from macro '\ 
    4261 DECLARE_I_REDUCTION_BASE' 
    4262 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4263 
    4264 program_source:217:40: note: expanded from macro '\ 
    4265 EXPOSE_FUNCTION_I_ARGS_1' 
    4266 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4267 
    4268 program_source:164:9: note: expanded from macro '\ 
    4269 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4270 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4271 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4272 program_source:283:1: error: illegal string literal in 'asm' 
    4273 DECLARE_REDUCTION_BASE(max) 
    4274 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4275 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4276 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4277 
    4278 program_source:264:43: note: expanded from macro '\ 
    4279 DECLARE_I_REDUCTION_BASE' 
    4280 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4281 
    4282 program_source:218:51: note: expanded from macro '\ 
    4283 EXPOSE_FUNCTION_I_ARGS_1' 
    4284 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4285 
    4286 program_source:164:9: note: expanded from macro '\ 
    4287 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4288 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4289 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4290 program_source:283:1: error: illegal string literal in 'asm' 
    4291 DECLARE_REDUCTION_BASE(max) 
    4292 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4293 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4294 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4295 
    4296 program_source:267:44: note: expanded from macro '\ 
    4297 DECLARE_F_REDUCTION_BASE' 
    4298 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4299 
    4300 program_source:221:40: note: expanded from macro '\ 
    4301 EXPOSE_FUNCTION_F_ARGS_1' 
    4302 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4303 
    4304 program_source:164:9: note: expanded from macro '\ 
    4305 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4306 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4307 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4308 program_source:283:1: error: illegal string literal in 'asm' 
    4309 DECLARE_REDUCTION_BASE(max) 
    4310 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4311 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4312 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4313 
    4314 program_source:268:43: note: expanded from macro '\ 
    4315 DECLARE_F_REDUCTION_BASE' 
    4316 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4317 
    4318 program_source:221:40: note: expanded from macro '\ 
    4319 EXPOSE_FUNCTION_F_ARGS_1' 
    4320 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4321 
    4322 program_source:164:9: note: expanded from macro '\ 
    4323 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4324 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4325 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4326 program_source:285:1: error: illegal string literal in 'asm' 
    4327 DECLARE_REDUCTION_BASE(product) 
    4328 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4329 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4330 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4331 
    4332 program_source:263:44: note: expanded from macro '\ 
    4333 DECLARE_I_REDUCTION_BASE' 
    4334 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4335 
    4336 program_source:217:40: note: expanded from macro '\ 
    4337 EXPOSE_FUNCTION_I_ARGS_1' 
    4338 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4339 
    4340 program_source:164:9: note: expanded from macro '\ 
    4341 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4342 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4343 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4344 program_source:285:1: error: illegal string literal in 'asm' 
    4345 DECLARE_REDUCTION_BASE(product) 
    4346 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4347 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4348 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4349 
    4350 program_source:263:44: note: expanded from macro '\ 
    4351 DECLARE_I_REDUCTION_BASE' 
    4352 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4353 
    4354 program_source:218:51: note: expanded from macro '\ 
    4355 EXPOSE_FUNCTION_I_ARGS_1' 
    4356 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4357 
    4358 program_source:164:9: note: expanded from macro '\ 
    4359 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4360 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4361 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4362 program_source:285:1: error: illegal string literal in 'asm' 
    4363 DECLARE_REDUCTION_BASE(product) 
    4364 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4365 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4366 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4367 
    4368 program_source:264:43: note: expanded from macro '\ 
    4369 DECLARE_I_REDUCTION_BASE' 
    4370 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4371 
    4372 program_source:217:40: note: expanded from macro '\ 
    4373 EXPOSE_FUNCTION_I_ARGS_1' 
    4374 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4375 
    4376 program_source:164:9: note: expanded from macro '\ 
    4377 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4378 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4379 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4380 program_source:285:1: error: illegal string literal in 'asm' 
    4381 DECLARE_REDUCTION_BASE(product) 
    4382 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4383 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4384 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4385 
    4386 program_source:264:43: note: expanded from macro '\ 
    4387 DECLARE_I_REDUCTION_BASE' 
    4388 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4389 
    4390 program_source:218:51: note: expanded from macro '\ 
    4391 EXPOSE_FUNCTION_I_ARGS_1' 
    4392 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4393 
    4394 program_source:164:9: note: expanded from macro '\ 
    4395 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4396 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4397 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4398 program_source:285:1: error: illegal string literal in 'asm' 
    4399 DECLARE_REDUCTION_BASE(product) 
    4400 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4401 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4402 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4403 
    4404 program_source:267:44: note: expanded from macro '\ 
    4405 DECLARE_F_REDUCTION_BASE' 
    4406 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4407 
    4408 program_source:221:40: note: expanded from macro '\ 
    4409 EXPOSE_FUNCTION_F_ARGS_1' 
    4410 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4411 
    4412 program_source:164:9: note: expanded from macro '\ 
    4413 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4414 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4415 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4416 program_source:285:1: error: illegal string literal in 'asm' 
    4417 DECLARE_REDUCTION_BASE(product) 
    4418 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4419 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4420 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4421 
    4422 program_source:268:43: note: expanded from macro '\ 
    4423 DECLARE_F_REDUCTION_BASE' 
    4424 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4425 
    4426 program_source:221:40: note: expanded from macro '\ 
    4427 EXPOSE_FUNCTION_F_ARGS_1' 
    4428 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4429 
    4430 program_source:164:9: note: expanded from macro '\ 
    4431 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4432 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4433 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4434 program_source:286:1: error: illegal string literal in 'asm' 
    4435 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4436 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4437 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4438 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4439 
    4440 program_source:263:44: note: expanded from macro '\ 
    4441 DECLARE_I_REDUCTION_BASE' 
    4442 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4443 
    4444 program_source:217:40: note: expanded from macro '\ 
    4445 EXPOSE_FUNCTION_I_ARGS_1' 
    4446 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4447 
    4448 program_source:164:9: note: expanded from macro '\ 
    4449 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4450 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4451 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4452 program_source:286:1: error: illegal string literal in 'asm' 
    4453 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4454 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4455 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4456 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4457 
    4458 program_source:263:44: note: expanded from macro '\ 
    4459 DECLARE_I_REDUCTION_BASE' 
    4460 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4461 
    4462 program_source:218:51: note: expanded from macro '\ 
    4463 EXPOSE_FUNCTION_I_ARGS_1' 
    4464 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4465 
    4466 program_source:164:9: note: expanded from macro '\ 
    4467 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4468 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4469 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4470 program_source:286:1: error: illegal string literal in 'asm' 
    4471 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4472 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4473 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4474 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4475 
    4476 program_source:264:43: note: expanded from macro '\ 
    4477 DECLARE_I_REDUCTION_BASE' 
    4478 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4479 
    4480 program_source:217:40: note: expanded from macro '\ 
    4481 EXPOSE_FUNCTION_I_ARGS_1' 
    4482 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4483 
    4484 program_source:164:9: note: expanded from macro '\ 
    4485 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4486 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4487 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4488 program_source:286:1: error: illegal string literal in 'asm' 
    4489 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4490 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4491 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4492 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4493 
    4494 program_source:264:43: note: expanded from macro '\ 
    4495 DECLARE_I_REDUCTION_BASE' 
    4496 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4497 
    4498 program_source:218:51: note: expanded from macro '\ 
    4499 EXPOSE_FUNCTION_I_ARGS_1' 
    4500 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4501 
    4502 program_source:164:9: note: expanded from macro '\ 
    4503 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4504 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4505 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4506 program_source:286:1: error: illegal string literal in 'asm' 
    4507 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4508 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4509 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4510 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4511 
    4512 program_source:267:44: note: expanded from macro '\ 
    4513 DECLARE_F_REDUCTION_BASE' 
    4514 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4515 
    4516 program_source:221:40: note: expanded from macro '\ 
    4517 EXPOSE_FUNCTION_F_ARGS_1' 
    4518 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4519 
    4520 program_source:164:9: note: expanded from macro '\ 
    4521 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4522 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4523 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4524 program_source:286:1: error: illegal string literal in 'asm' 
    4525 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4526 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4527 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4528 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4529 
    4530 program_source:268:43: note: expanded from macro '\ 
    4531 DECLARE_F_REDUCTION_BASE' 
    4532 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4533 
    4534 program_source:221:40: note: expanded from macro '\ 
    4535 EXPOSE_FUNCTION_F_ARGS_1' 
    4536 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4537 
    4538 program_source:164:9: note: expanded from macro '\ 
    4539 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4540 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4541 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4542 program_source:287:1: error: illegal string literal in 'asm' 
    4543 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4544 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4545 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4546 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4547 
    4548 program_source:263:44: note: expanded from macro '\ 
    4549 DECLARE_I_REDUCTION_BASE' 
    4550 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4551 
    4552 program_source:217:40: note: expanded from macro '\ 
    4553 EXPOSE_FUNCTION_I_ARGS_1' 
    4554 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4555 
    4556 program_source:164:9: note: expanded from macro '\ 
    4557 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4558 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4559 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4560 program_source:287:1: error: illegal string literal in 'asm' 
    4561 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4562 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4563 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4564 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4565 
    4566 program_source:263:44: note: expanded from macro '\ 
    4567 DECLARE_I_REDUCTION_BASE' 
    4568 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4569 
    4570 program_source:218:51: note: expanded from macro '\ 
    4571 EXPOSE_FUNCTION_I_ARGS_1' 
    4572 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4573 
    4574 program_source:164:9: note: expanded from macro '\ 
    4575 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4576 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4577 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4578 program_source:287:1: error: illegal string literal in 'asm' 
    4579 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4580 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4581 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4582 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4583 
    4584 program_source:264:43: note: expanded from macro '\ 
    4585 DECLARE_I_REDUCTION_BASE' 
    4586 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4587 
    4588 program_source:217:40: note: expanded from macro '\ 
    4589 EXPOSE_FUNCTION_I_ARGS_1' 
    4590 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4591 
    4592 program_source:164:9: note: expanded from macro '\ 
    4593 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4594 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4595 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4596 program_source:287:1: error: illegal string literal in 'asm' 
    4597 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4598 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4599 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4600 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4601 
    4602 program_source:264:43: note: expanded from macro '\ 
    4603 DECLARE_I_REDUCTION_BASE' 
    4604 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4605 
    4606 program_source:218:51: note: expanded from macro '\ 
    4607 EXPOSE_FUNCTION_I_ARGS_1' 
    4608 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4609 
    4610 program_source:164:9: note: expanded from macro '\ 
    4611 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4612 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4613 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4614 program_source:287:1: error: illegal string literal in 'asm' 
    4615 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4616 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4617 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4618 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4619 
    4620 program_source:267:44: note: expanded from macro '\ 
    4621 DECLARE_F_REDUCTION_BASE' 
    4622 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4623 
    4624 program_source:221:40: note: expanded from macro '\ 
    4625 EXPOSE_FUNCTION_F_ARGS_1' 
    4626 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4627 
    4628 program_source:164:9: note: expanded from macro '\ 
    4629 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4630 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4631 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4632 program_source:287:1: error: illegal string literal in 'asm' 
    4633 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4634 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4635 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4636 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4637 
    4638 program_source:268:43: note: expanded from macro '\ 
    4639 DECLARE_F_REDUCTION_BASE' 
    4640 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4641 
    4642 program_source:221:40: note: expanded from macro '\ 
    4643 EXPOSE_FUNCTION_F_ARGS_1' 
    4644 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4645 
    4646 program_source:164:9: note: expanded from macro '\ 
    4647 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4648 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4649 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4650 program_source:288:1: error: illegal string literal in 'asm' 
    4651 DECLARE_I_REDUCTION_BASE(and) 
    4652 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4653 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4654 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4655 
    4656 program_source:217:40: note: expanded from macro '\ 
    4657 EXPOSE_FUNCTION_I_ARGS_1' 
    4658 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4659 
    4660 program_source:164:9: note: expanded from macro '\ 
    4661 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4662 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4663 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4664 program_source:288:1: error: illegal string literal in 'asm' 
    4665 DECLARE_I_REDUCTION_BASE(and) 
    4666 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4667 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4668 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4669 
    4670 program_source:218:51: note: expanded from macro '\ 
    4671 EXPOSE_FUNCTION_I_ARGS_1' 
    4672 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4673 
    4674 program_source:164:9: note: expanded from macro '\ 
    4675 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4676 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4677 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4678 program_source:288:1: error: illegal string literal in 'asm' 
    4679 DECLARE_I_REDUCTION_BASE(and) 
    4680 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4681 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4682 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4683 
    4684 program_source:217:40: note: expanded from macro '\ 
    4685 EXPOSE_FUNCTION_I_ARGS_1' 
    4686 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4687 
    4688 program_source:164:9: note: expanded from macro '\ 
    4689 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4690 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4691 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4692 program_source:288:1: error: illegal string literal in 'asm' 
    4693 DECLARE_I_REDUCTION_BASE(and) 
    4694 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4695 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4696 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4697 
    4698 program_source:218:51: note: expanded from macro '\ 
    4699 EXPOSE_FUNCTION_I_ARGS_1' 
    4700 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4701 
    4702 program_source:164:9: note: expanded from macro '\ 
    4703 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4704 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4705 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4706 program_source:289:1: error: illegal string literal in 'asm' 
    4707 DECLARE_I_REDUCTION_BASE(or) 
    4708 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4709 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4710 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4711 
    4712 program_source:217:40: note: expanded from macro '\ 
    4713 EXPOSE_FUNCTION_I_ARGS_1' 
    4714 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4715 
    4716 program_source:164:9: note: expanded from macro '\ 
    4717 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4718 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4719 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4720 program_source:289:1: error: illegal string literal in 'asm' 
    4721 DECLARE_I_REDUCTION_BASE(or) 
    4722 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4723 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4724 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4725 
    4726 program_source:218:51: note: expanded from macro '\ 
    4727 EXPOSE_FUNCTION_I_ARGS_1' 
    4728 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4729 
    4730 program_source:164:9: note: expanded from macro '\ 
    4731 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4732 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4733 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4734 program_source:289:1: error: illegal string literal in 'asm' 
    4735 DECLARE_I_REDUCTION_BASE(or) 
    4736 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4737 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4738 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4739 
    4740 program_source:217:40: note: expanded from macro '\ 
    4741 EXPOSE_FUNCTION_I_ARGS_1' 
    4742 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4743 
    4744 program_source:164:9: note: expanded from macro '\ 
    4745 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4746 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4747 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4748 program_source:289:1: error: illegal string literal in 'asm' 
    4749 DECLARE_I_REDUCTION_BASE(or) 
    4750 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4751 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4752 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4753 
    4754 program_source:218:51: note: expanded from macro '\ 
    4755 EXPOSE_FUNCTION_I_ARGS_1' 
    4756 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4757 
    4758 program_source:164:9: note: expanded from macro '\ 
    4759 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4760 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4761 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4762 program_source:290:1: error: illegal string literal in 'asm' 
    4763 DECLARE_I_REDUCTION_BASE(xor) 
    4764 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4765 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4766 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4767 
    4768 program_source:217:40: note: expanded from macro '\ 
    4769 EXPOSE_FUNCTION_I_ARGS_1' 
    4770 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4771 
    4772 program_source:164:9: note: expanded from macro '\ 
    4773 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4774 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4775 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4776 program_source:290:1: error: illegal string literal in 'asm' 
    4777 DECLARE_I_REDUCTION_BASE(xor) 
    4778 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4779 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4780 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4781 
    4782 program_source:218:51: note: expanded from macro '\ 
    4783 EXPOSE_FUNCTION_I_ARGS_1' 
    4784 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4785 
    4786 program_source:164:9: note: expanded from macro '\ 
    4787 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4788 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4789 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4790 program_source:290:1: error: illegal string literal in 'asm' 
    4791 DECLARE_I_REDUCTION_BASE(xor) 
    4792 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4793 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4794 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4795 
    4796 program_source:217:40: note: expanded from macro '\ 
    4797 EXPOSE_FUNCTION_I_ARGS_1' 
    4798 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4799 
    4800 program_source:164:9: note: expanded from macro '\ 
    4801 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4802 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4803 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4804 program_source:290:1: error: illegal string literal in 'asm' 
    4805 DECLARE_I_REDUCTION_BASE(xor) 
    4806 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4807 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4808 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4809 
    4810 program_source:218:51: note: expanded from macro '\ 
    4811 EXPOSE_FUNCTION_I_ARGS_1' 
    4812 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4813 
    4814 program_source:164:9: note: expanded from macro '\ 
    4815 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4816 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4817 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4818 program_source:292:1: error: illegal string literal in 'asm' 
    4819 DECLARE_SHUFFLE_BASE(broadcast) 
    4820 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4821 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    4822 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    4823 
    4824 program_source:224:38: note: expanded from macro '\ 
    4825 EXPOSE_FUNCTION_ARGS_2' 
    4826 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    4827 
    4828 program_source:168:9: note: expanded from macro '\ 
    4829 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    4830 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4831 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4832 program_source:292:1: error: illegal string literal in 'asm' 
    4833 DECLARE_SHUFFLE_BASE(broadcast) 
    4834 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4835 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    4836 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    4837 
    4838 program_source:225:51: note: expanded from macro '\ 
    4839 EXPOSE_FUNCTION_ARGS_2' 
    4840 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    4841 
    4842 program_source:168:9: note: expanded from macro '\ 
    4843 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    4844 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4845 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4846 program_source:292:1: error: illegal string literal in 'asm' 
    4847 DECLARE_SHUFFLE_BASE(broadcast) 
    4848 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4849 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    4850 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    4851 
    4852 program_source:226:52: note: expanded from macro '\ 
    4853 EXPOSE_FUNCTION_ARGS_2' 
    4854 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    4855 
    4856 program_source:168:9: note: expanded from macro '\ 
    4857 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    4858 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4859 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4860 program_source:292:1: error: illegal string literal in 'asm' 
    4861 DECLARE_SHUFFLE_BASE(broadcast) 
    4862 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4863 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    4864 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    4865 
    4866 program_source:224:38: note: expanded from macro '\ 
    4867 EXPOSE_FUNCTION_ARGS_2' 
    4868 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    4869 
    4870 program_source:168:9: note: expanded from macro '\ 
    4871 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    4872 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4873 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4874 program_source:292:1: error: illegal string literal in 'asm' 
    4875 DECLARE_SHUFFLE_BASE(broadcast) 
    4876 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4877 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    4878 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    4879 
    4880 program_source:225:51: note: expanded from macro '\ 
    4881 EXPOSE_FUNCTION_ARGS_2' 
    4882 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    4883 
    4884 program_source:168:9: note: expanded from macro '\ 
    4885 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    4886 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4887 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4888 program_source:292:1: error: illegal string literal in 'asm' 
    4889 DECLARE_SHUFFLE_BASE(broadcast) 
    4890 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4891 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    4892 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    4893 
    4894 program_source:226:52: note: expanded from macro '\ 
    4895 EXPOSE_FUNCTION_ARGS_2' 
    4896 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    4897 
    4898 program_source:168:9: note: expanded from macro '\ 
    4899 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    4900 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4901 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4902 program_source:293:1: error: illegal string literal in 'asm' 
    4903 DECLARE_REDUCTION_BASE(broadcast_first) 
    4904 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4905 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4906 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4907 
    4908 program_source:263:44: note: expanded from macro '\ 
    4909 DECLARE_I_REDUCTION_BASE' 
    4910 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4911 
    4912 program_source:217:40: note: expanded from macro '\ 
    4913 EXPOSE_FUNCTION_I_ARGS_1' 
    4914 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4915 
    4916 program_source:164:9: note: expanded from macro '\ 
    4917 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4918 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4919 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4920 program_source:293:1: error: illegal string literal in 'asm' 
    4921 DECLARE_REDUCTION_BASE(broadcast_first) 
    4922 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4923 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4924 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4925 
    4926 program_source:263:44: note: expanded from macro '\ 
    4927 DECLARE_I_REDUCTION_BASE' 
    4928 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4929 
    4930 program_source:218:51: note: expanded from macro '\ 
    4931 EXPOSE_FUNCTION_I_ARGS_1' 
    4932 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4933 
    4934 program_source:164:9: note: expanded from macro '\ 
    4935 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4936 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4937 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4938 program_source:293:1: error: illegal string literal in 'asm' 
    4939 DECLARE_REDUCTION_BASE(broadcast_first) 
    4940 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4941 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4942 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4943 
    4944 program_source:264:43: note: expanded from macro '\ 
    4945 DECLARE_I_REDUCTION_BASE' 
    4946 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4947 
    4948 program_source:217:40: note: expanded from macro '\ 
    4949 EXPOSE_FUNCTION_I_ARGS_1' 
    4950 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4951 
    4952 program_source:164:9: note: expanded from macro '\ 
    4953 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4954 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4955 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4956 program_source:293:1: error: illegal string literal in 'asm' 
    4957 DECLARE_REDUCTION_BASE(broadcast_first) 
    4958 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4959 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4960 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4961 
    4962 program_source:264:43: note: expanded from macro '\ 
    4963 DECLARE_I_REDUCTION_BASE' 
    4964 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4965 
    4966 program_source:218:51: note: expanded from macro '\ 
    4967 EXPOSE_FUNCTION_I_ARGS_1' 
    4968 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4969 
    4970 program_source:164:9: note: expanded from macro '\ 
    4971 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4972 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4973 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4974 program_source:293:1: error: illegal string literal in 'asm' 
    4975 DECLARE_REDUCTION_BASE(broadcast_first) 
    4976 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4977 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4978 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4979 
    4980 program_source:267:44: note: expanded from macro '\ 
    4981 DECLARE_F_REDUCTION_BASE' 
    4982 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4983 
    4984 program_source:221:40: note: expanded from macro '\ 
    4985 EXPOSE_FUNCTION_F_ARGS_1' 
    4986 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4987 
    4988 program_source:164:9: note: expanded from macro '\ 
    4989 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4990 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4991 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4992 program_source:293:1: error: illegal string literal in 'asm' 
    4993 DECLARE_REDUCTION_BASE(broadcast_first) 
    4994 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4995 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4996 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4997 
    4998 program_source:268:43: note: expanded from macro '\ 
    4999 DECLARE_F_REDUCTION_BASE' 
    5000 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    5001 
    5002 program_source:221:40: note: expanded from macro '\ 
    5003 EXPOSE_FUNCTION_F_ARGS_1' 
    5004 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    5005 
    5006 program_source:164:9: note: expanded from macro '\ 
    5007 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    5008 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5009 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5010 program_source:295:1: error: illegal string literal in 'asm' 
    5011 DECLARE_SHUFFLE_BASE(shuffle) 
    5012 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5013 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5014 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5015 
    5016 program_source:224:38: note: expanded from macro '\ 
    5017 EXPOSE_FUNCTION_ARGS_2' 
    5018 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5019 
    5020 program_source:168:9: note: expanded from macro '\ 
    5021 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5022 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5023 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5024 program_source:295:1: error: illegal string literal in 'asm' 
    5025 DECLARE_SHUFFLE_BASE(shuffle) 
    5026 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5027 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5028 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5029 
    5030 program_source:225:51: note: expanded from macro '\ 
    5031 EXPOSE_FUNCTION_ARGS_2' 
    5032 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5033 
    5034 program_source:168:9: note: expanded from macro '\ 
    5035 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5036 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5037 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5038 program_source:295:1: error: illegal string literal in 'asm' 
    5039 DECLARE_SHUFFLE_BASE(shuffle) 
    5040 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5041 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5042 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5043 
    5044 program_source:226:52: note: expanded from macro '\ 
    5045 EXPOSE_FUNCTION_ARGS_2' 
    5046 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5047 
    5048 program_source:168:9: note: expanded from macro '\ 
    5049 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5050 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5051 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5052 program_source:295:1: error: illegal string literal in 'asm' 
    5053 DECLARE_SHUFFLE_BASE(shuffle) 
    5054 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5055 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5056 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5057 
    5058 program_source:224:38: note: expanded from macro '\ 
    5059 EXPOSE_FUNCTION_ARGS_2' 
    5060 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5061 
    5062 program_source:168:9: note: expanded from macro '\ 
    5063 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5064 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5065 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5066 program_source:295:1: error: illegal string literal in 'asm' 
    5067 DECLARE_SHUFFLE_BASE(shuffle) 
    5068 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5069 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5070 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5071 
    5072 program_source:225:51: note: expanded from macro '\ 
    5073 EXPOSE_FUNCTION_ARGS_2' 
    5074 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5075 
    5076 program_source:168:9: note: expanded from macro '\ 
    5077 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5078 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5079 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5080 program_source:295:1: error: illegal string literal in 'asm' 
    5081 DECLARE_SHUFFLE_BASE(shuffle) 
    5082 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5083 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5084 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5085 
    5086 program_source:226:52: note: expanded from macro '\ 
    5087 EXPOSE_FUNCTION_ARGS_2' 
    5088 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5089 
    5090 program_source:168:9: note: expanded from macro '\ 
    5091 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5092 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5093 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5094 program_source:296:1: error: illegal string literal in 'asm' 
    5095 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5096 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5097 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5098 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5099 
    5100 program_source:224:38: note: expanded from macro '\ 
    5101 EXPOSE_FUNCTION_ARGS_2' 
    5102 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5103 
    5104 program_source:168:9: note: expanded from macro '\ 
    5105 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5106 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5107 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5108 program_source:296:1: error: illegal string literal in 'asm' 
    5109 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5110 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5111 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5112 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5113 
    5114 program_source:225:51: note: expanded from macro '\ 
    5115 EXPOSE_FUNCTION_ARGS_2' 
    5116 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5117 
    5118 program_source:168:9: note: expanded from macro '\ 
    5119 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5120 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5121 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5122 program_source:296:1: error: illegal string literal in 'asm' 
    5123 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5124 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5125 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5126 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5127 
    5128 program_source:226:52: note: expanded from macro '\ 
    5129 EXPOSE_FUNCTION_ARGS_2' 
    5130 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5131 
    5132 program_source:168:9: note: expanded from macro '\ 
    5133 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5134 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5135 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5136 program_source:296:1: error: illegal string literal in 'asm' 
    5137 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5138 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5139 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5140 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5141 
    5142 program_source:224:38: note: expanded from macro '\ 
    5143 EXPOSE_FUNCTION_ARGS_2' 
    5144 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5145 
    5146 program_source:168:9: note: expanded from macro '\ 
    5147 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5148 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5149 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5150 program_source:296:1: error: illegal string literal in 'asm' 
    5151 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5152 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5153 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5154 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5155 
    5156 program_source:225:51: note: expanded from macro '\ 
    5157 EXPOSE_FUNCTION_ARGS_2' 
    5158 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5159 
    5160 program_source:168:9: note: expanded from macro '\ 
    5161 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5162 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5163 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5164 program_source:296:1: error: illegal string literal in 'asm' 
    5165 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5166 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5167 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5168 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5169 
    5170 program_source:226:52: note: expanded from macro '\ 
    5171 EXPOSE_FUNCTION_ARGS_2' 
    5172 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5173 
    5174 program_source:168:9: note: expanded from macro '\ 
    5175 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5176 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5177 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5178 program_source:297:1: error: illegal string literal in 'asm' 
    5179 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5180 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5181 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5182 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5183 
    5184 program_source:224:38: note: expanded from macro '\ 
    5185 EXPOSE_FUNCTION_ARGS_2' 
    5186 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5187 
    5188 program_source:168:9: note: expanded from macro '\ 
    5189 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5190 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5191 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5192 program_source:297:1: error: illegal string literal in 'asm' 
    5193 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5194 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5195 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5196 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5197 
    5198 program_source:225:51: note: expanded from macro '\ 
    5199 EXPOSE_FUNCTION_ARGS_2' 
    5200 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5201 
    5202 program_source:168:9: note: expanded from macro '\ 
    5203 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5204 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5205 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5206 program_source:297:1: error: illegal string literal in 'asm' 
    5207 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5208 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5209 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5210 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5211 
    5212 program_source:226:52: note: expanded from macro '\ 
    5213 EXPOSE_FUNCTION_ARGS_2' 
    5214 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5215 
    5216 program_source:168:9: note: expanded from macro '\ 
    5217 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5218 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5219 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5220 program_source:297:1: error: illegal string literal in 'asm' 
    5221 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5222 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5223 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5224 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5225 
    5226 program_source:224:38: note: expanded from macro '\ 
    5227 EXPOSE_FUNCTION_ARGS_2' 
    5228 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5229 
    5230 program_source:168:9: note: expanded from macro '\ 
    5231 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5232 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5233 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5234 program_source:297:1: error: illegal string literal in 'asm' 
    5235 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5236 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5237 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5238 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5239 
    5240 program_source:225:51: note: expanded from macro '\ 
    5241 EXPOSE_FUNCTION_ARGS_2' 
    5242 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5243 
    5244 program_source:168:9: note: expanded from macro '\ 
    5245 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5246 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5247 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5248 program_source:297:1: error: illegal string literal in 'asm' 
    5249 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5250 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5251 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5252 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5253 
    5254 program_source:226:52: note: expanded from macro '\ 
    5255 EXPOSE_FUNCTION_ARGS_2' 
    5256 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5257 
    5258 program_source:168:9: note: expanded from macro '\ 
    5259 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5260 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5261 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5262 program_source:298:1: error: illegal string literal in 'asm' 
    5263 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5264 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5265 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5266 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5267 
    5268 program_source:224:38: note: expanded from macro '\ 
    5269 EXPOSE_FUNCTION_ARGS_2' 
    5270 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5271 
    5272 program_source:168:9: note: expanded from macro '\ 
    5273 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5274 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5275 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5276 program_source:298:1: error: illegal string literal in 'asm' 
    5277 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5278 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5279 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5280 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5281 
    5282 program_source:225:51: note: expanded from macro '\ 
    5283 EXPOSE_FUNCTION_ARGS_2' 
    5284 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5285 
    5286 program_source:168:9: note: expanded from macro '\ 
    5287 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5288 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5289 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5290 program_source:298:1: error: illegal string literal in 'asm' 
    5291 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5292 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5293 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5294 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5295 
    5296 program_source:226:52: note: expanded from macro '\ 
    5297 EXPOSE_FUNCTION_ARGS_2' 
    5298 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5299 
    5300 program_source:168:9: note: expanded from macro '\ 
    5301 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5302 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5303 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5304 program_source:298:1: error: illegal string literal in 'asm' 
    5305 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5306 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5307 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5308 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5309 
    5310 program_source:224:38: note: expanded from macro '\ 
    5311 EXPOSE_FUNCTION_ARGS_2' 
    5312 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5313 
    5314 program_source:168:9: note: expanded from macro '\ 
    5315 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5316 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5317 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5318 program_source:298:1: error: illegal string literal in 'asm' 
    5319 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5320 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5321 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5322 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5323 
    5324 program_source:225:51: note: expanded from macro '\ 
    5325 EXPOSE_FUNCTION_ARGS_2' 
    5326 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5327 
    5328 program_source:168:9: note: expanded from macro '\ 
    5329 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5330 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5331 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5332 program_source:298:1: error: illegal string literal in 'asm' 
    5333 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5334 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5335 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5336 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5337 
    5338 program_source:226:52: note: expanded from macro '\ 
    5339 EXPOSE_FUNCTION_ARGS_2' 
    5340 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5341 
    5342 program_source:168:9: note: expanded from macro '\ 
    5343 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5344 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5345 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5346 program_source:299:1: error: illegal string literal in 'asm' 
    5347 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5348 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5349 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5350 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5351 
    5352 program_source:224:38: note: expanded from macro '\ 
    5353 EXPOSE_FUNCTION_ARGS_2' 
    5354 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5355 
    5356 program_source:168:9: note: expanded from macro '\ 
    5357 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5358 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5359 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5360 program_source:299:1: error: illegal string literal in 'asm' 
    5361 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5362 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5363 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5364 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5365 
    5366 program_source:225:51: note: expanded from macro '\ 
    5367 EXPOSE_FUNCTION_ARGS_2' 
    5368 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5369 
    5370 program_source:168:9: note: expanded from macro '\ 
    5371 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5372 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5373 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5374 program_source:299:1: error: illegal string literal in 'asm' 
    5375 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5376 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5377 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5378 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5379 
    5380 program_source:226:52: note: expanded from macro '\ 
    5381 EXPOSE_FUNCTION_ARGS_2' 
    5382 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5383 
    5384 program_source:168:9: note: expanded from macro '\ 
    5385 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5386 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5387 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5388 program_source:299:1: error: illegal string literal in 'asm' 
    5389 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5390 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5391 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5392 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5393 
    5394 program_source:224:38: note: expanded from macro '\ 
    5395 EXPOSE_FUNCTION_ARGS_2' 
    5396 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5397 
    5398 program_source:168:9: note: expanded from macro '\ 
    5399 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5400 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5401 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5402 program_source:299:1: error: illegal string literal in 'asm' 
    5403 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5404 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5405 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5406 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5407 
    5408 program_source:225:51: note: expanded from macro '\ 
    5409 EXPOSE_FUNCTION_ARGS_2' 
    5410 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5411 
    5412 program_source:168:9: note: expanded from macro '\ 
    5413 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5414 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5415 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5416 program_source:299:1: error: illegal string literal in 'asm' 
    5417 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5418 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5419 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5420 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5421 
    5422 program_source:226:52: note: expanded from macro '\ 
    5423 EXPOSE_FUNCTION_ARGS_2' 
    5424 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5425 
    5426 program_source:168:9: note: expanded from macro '\ 
    5427 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5428 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5429 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5430 program_source:300:1: error: illegal string literal in 'asm' 
    5431 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5432 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5433 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5434 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5435 
    5436 program_source:224:38: note: expanded from macro '\ 
    5437 EXPOSE_FUNCTION_ARGS_2' 
    5438 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5439 
    5440 program_source:168:9: note: expanded from macro '\ 
    5441 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5442 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5443 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5444 program_source:300:1: error: illegal string literal in 'asm' 
    5445 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5446 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5447 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5448 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5449 
    5450 program_source:225:51: note: expanded from macro '\ 
    5451 EXPOSE_FUNCTION_ARGS_2' 
    5452 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5453 
    5454 program_source:168:9: note: expanded from macro '\ 
    5455 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5456 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5457 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5458 program_source:300:1: error: illegal string literal in 'asm' 
    5459 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5460 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5461 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5462 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5463 
    5464 program_source:226:52: note: expanded from macro '\ 
    5465 EXPOSE_FUNCTION_ARGS_2' 
    5466 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5467 
    5468 program_source:168:9: note: expanded from macro '\ 
    5469 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5470 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5471 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5472 program_source:300:1: error: illegal string literal in 'asm' 
    5473 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5474 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5475 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5476 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5477 
    5478 program_source:224:38: note: expanded from macro '\ 
    5479 EXPOSE_FUNCTION_ARGS_2' 
    5480 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5481 
    5482 program_source:168:9: note: expanded from macro '\ 
    5483 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5484 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5485 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5486 program_source:300:1: error: illegal string literal in 'asm' 
    5487 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5488 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5489 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5490 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5491 
    5492 program_source:225:51: note: expanded from macro '\ 
    5493 EXPOSE_FUNCTION_ARGS_2' 
    5494 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5495 
    5496 program_source:168:9: note: expanded from macro '\ 
    5497 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5498 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5499 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5500 program_source:300:1: error: illegal string literal in 'asm' 
    5501 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5502 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5503 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5504 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5505 
    5506 program_source:226:52: note: expanded from macro '\ 
    5507 EXPOSE_FUNCTION_ARGS_2' 
    5508 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5509 
    5510 program_source:168:9: note: expanded from macro '\ 
    5511 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5512 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5513 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5514 program_source:302:1: error: illegal string literal in 'asm' 
    5515 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    5516 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5517 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    5518 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    5519 
    5520 program_source:172:9: note: expanded from macro '\ 
    5521 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    5522 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5523 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5524 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    5525 is invalid in OpenCL 
    5526 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    5527 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    5528 
    5529 program_source:175:10: note: expanded from macro '\ 
    5530 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    5531 return ___metal_##EXPR(x, false); \ 
    5532 
    5533 :12:1: note: expanded from here 
    5534 ___metal_ctz 
    5535 
    5536 program_source:302:1: error: illegal string literal in 'asm' 
    5537 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    5538 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5539 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    5540 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    5541 
    5542 program_source:172:9: note: expanded from macro '\ 
    5543 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    5544 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5545 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5546 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    5547 is invalid in OpenCL 
    5548 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    5549 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    5550 
    5551 program_source:175:10: note: expanded from macro '\ 
    5552 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    5553 return ___metal_##EXPR(x, false); \ 
    5554 
    5555 :16:1: note: expanded from here 
    5556 ___metal_ctz 
    5557 
    5558 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    5559 invalid in OpenCL 
    5560 DECLARE_REDUCTION_UNIFORM(sum, reduce_add) 
    5561 
    5562 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5563 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5564 
    5565 program_source:305:26: note: expanded from macro '\ 
    5566 DECLARE_I_REDUCTION_UNIFORM' 
    5567 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5568 
    5569 :17:1: note: expanded from here 
    5570 simd_sum 
    5571 
    5572 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    5573 invalid in OpenCL 
    5574 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5575 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5576 
    5577 program_source:305:26: note: expanded from macro '\ 
    5578 DECLARE_I_REDUCTION_UNIFORM' 
    5579 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5580 
    5581 :17:1: note: expanded from here 
    5582 simd_sum 
    5583 
    5584 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    5585 invalid in OpenCL 
    5586 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5587 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5588 
    5589 program_source:308:26: note: expanded from macro '\ 
    5590 DECLARE_F_REDUCTION_UNIFORM' 
    5591 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5592 
    5593 :19:1: note: expanded from here 
    5594 simd_sum 
    5595 
    5596 program_source:318:1: error: implicit declaration of function
    5597 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    5598 DECLARE_REDUCTION_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    5599 
    5600 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5601 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5602 
    5603 program_source:305:26: note: expanded from macro '\ 
    5604 DECLARE_I_REDUCTION_UNIFORM' 
    5605 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5606 
    5607 :21:1: note: expanded from here 
    5608 simd_prefix_inclusive_sum 
    5609 
    5610 program_source:318:1: error: implicit declaration of function
    5611 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    5612 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5613 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5614 
    5615 program_source:305:26: note: expanded from macro '\ 
    5616 DECLARE_I_REDUCTION_UNIFORM' 
    5617 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5618 
    5619 :21:1: note: expanded from here 
    5620 simd_prefix_inclusive_sum 
    5621 
    5622 program_source:318:1: error: implicit declaration of function
    5623 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    5624 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5625 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5626 
    5627 program_source:308:26: note: expanded from macro '\ 
    5628 DECLARE_F_REDUCTION_UNIFORM' 
    5629 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5630 
    5631 :23:1: note: expanded from here 
    5632 simd_prefix_inclusive_sum 
    5633 
    5634 program_source:319:1: error: implicit declaration of function
    5635 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    5636 DECLARE_REDUCTION_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    5637 
    5638 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5639 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5640 
    5641 program_source:305:26: note: expanded from macro '\ 
    5642 DECLARE_I_REDUCTION_UNIFORM' 
    5643 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5644 
    5645 :25:1: note: expanded from here 
    5646 simd_prefix_exclusive_sum 
    5647 
    5648 program_source:319:1: error: implicit declaration of function
    5649 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    5650 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5651 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5652 
    5653 program_source:305:26: note: expanded from macro '\ 
    5654 DECLARE_I_REDUCTION_UNIFORM' 
    5655 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5656 
    5657 :25:1: note: expanded from here 
    5658 simd_prefix_exclusive_sum 
    5659 
    5660 program_source:319:1: error: implicit declaration of function
    5661 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    5662 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5663 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5664 
    5665 program_source:308:26: note: expanded from macro '\ 
    5666 DECLARE_F_REDUCTION_UNIFORM' 
    5667 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5668 
    5669 :27:1: note: expanded from here 
    5670 simd_prefix_exclusive_sum 
    5671 
    5672 program_source:320:1: error: implicit declaration of function 'simd_min' is
    5673 invalid in OpenCL 
    5674 DECLARE_REDUCTION_UNIFORM(min, reduce_min) 
    5675 
    5676 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5677 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5678 
    5679 program_source:305:26: note: expanded from macro '\ 
    5680 DECLARE_I_REDUCTION_UNIFORM' 
    5681 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5682 
    5683 :29:1: note: expanded from here 
    5684 simd_min 
    5685 
    5686 program_source:320:1: error: implicit declaration of function 'simd_min' is
    5687 invalid in OpenCL 
    5688 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5689 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5690 
    5691 program_source:305:26: note: expanded from macro '\ 
    5692 DECLARE_I_REDUCTION_UNIFORM' 
    5693 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5694 
    5695 :29:1: note: expanded from here 
    5696 simd_min 
    5697 
    5698 program_source:320:1: error: implicit declaration of function 'simd_min' is
    5699 invalid in OpenCL 
    5700 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5701 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5702 
    5703 program_source:308:26: note: expanded from macro '\ 
    5704 DECLARE_F_REDUCTION_UNIFORM' 
    5705 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5706 
    5707 :31:1: note: expanded from here 
    5708 simd_min 
    5709 
    5710 program_source:321:1: error: implicit declaration of function 'simd_max' is
    5711 invalid in OpenCL 
    5712 DECLARE_REDUCTION_UNIFORM(max, reduce_max) 
    5713 
    5714 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5715 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5716 
    5717 program_source:305:26: note: expanded from macro '\ 
    5718 DECLARE_I_REDUCTION_UNIFORM' 
    5719 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5720 
    5721 :33:1: note: expanded from here 
    5722 simd_max 
    5723 
    5724 program_source:321:1: error: implicit declaration of function 'simd_max' is
    5725 invalid in OpenCL 
    5726 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5727 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5728 
    5729 program_source:305:26: note: expanded from macro '\ 
    5730 DECLARE_I_REDUCTION_UNIFORM' 
    5731 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5732 
    5733 :33:1: note: expanded from here 
    5734 simd_max 
    5735 
    5736 program_source:321:1: error: implicit declaration of function 'simd_max' is
    5737 invalid in OpenCL 
    5738 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5739 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5740 
    5741 program_source:308:26: note: expanded from macro '\ 
    5742 DECLARE_F_REDUCTION_UNIFORM' 
    5743 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5744 
    5745 :35:1: note: expanded from here 
    5746 simd_max 
    5747 
    5748 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    5749 is invalid in OpenCL 
    5750 DECLARE_SHUFFLE_UNIFORM(shuffle, shuffle) 
    5751 
    5752 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5753 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5754 
    5755 :37:1: note: expanded from here 
    5756 simd_shuffle 
    5757 
    5758 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    5759 is invalid in OpenCL 
    5760 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5761 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5762 
    5763 :37:1: note: expanded from here 
    5764 simd_shuffle 
    5765 
    5766 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    5767 is invalid in OpenCL 
    5768 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5769 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5770 
    5771 :37:1: note: expanded from here 
    5772 simd_shuffle 
    5773 
    5774 program_source:324:1: error: implicit declaration of function
    5775 'simd_shuffle_xor' is invalid in OpenCL 
    5776 DECLARE_SHUFFLE_UNIFORM(shuffle_xor, shuffle_xor) 
    5777 
    5778 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5779 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5780 
    5781 :39:1: note: expanded from here 
    5782 simd_shuffle_xor 
    5783 
    5784 program_source:324:1: error: implicit declaration of function
    5785 'simd_shuffle_xor' is invalid in OpenCL 
    5786 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5787 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5788 
    5789 :39:1: note: expanded from here 
    5790 simd_shuffle_xor 
    5791 
    5792 program_source:324:1: error: implicit declaration of function
    5793 'simd_shuffle_xor' is invalid in OpenCL 
    5794 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5795 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5796 
    5797 :39:1: note: expanded from here 
    5798 simd_shuffle_xor 
    5799 
    5800 program_source:325:1: error: implicit declaration of function
    5801 'simd_shuffle_up' is invalid in OpenCL 
    5802 DECLARE_SHUFFLE_UNIFORM(shuffle_up, shuffle_up) 
    5803 
    5804 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5805 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5806 
    5807 :41:1: note: expanded from here 
    5808 simd_shuffle_up 
    5809 
    5810 program_source:325:1: error: implicit declaration of function
    5811 'simd_shuffle_up' is invalid in OpenCL 
    5812 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5813 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5814 
    5815 :41:1: note: expanded from here 
    5816 simd_shuffle_up 
    5817 
    5818 program_source:325:1: error: implicit declaration of function
    5819 'simd_shuffle_up' is invalid in OpenCL 
    5820 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5821 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5822 
    5823 :41:1: note: expanded from here 
    5824 simd_shuffle_up 
    5825 
    5826 program_source:326:1: error: implicit declaration of function
    5827 'simd_shuffle_down' is invalid in OpenCL 
    5828 DECLARE_SHUFFLE_UNIFORM(shuffle_down, shuffle_down) 
    5829 
    5830 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5831 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5832 
    5833 :43:1: note: expanded from here 
    5834 simd_shuffle_down 
    5835 
    5836 program_source:326:1: error: implicit declaration of function
    5837 'simd_shuffle_down' is invalid in OpenCL 
    5838 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5839 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5840 
    5841 :43:1: note: expanded from here 
    5842 simd_shuffle_down 
    5843 
    5844 program_source:326:1: error: implicit declaration of function
    5845 'simd_shuffle_down' is invalid in OpenCL 
    5846 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5847 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5848 
    5849 :43:1: note: expanded from here 
    5850 simd_shuffle_down 
    5851 
    5852 program_source:327:1: error: implicit declaration of function
    5853 'simd_shuffle_rotate_down' is invalid in OpenCL 
    5854 DECLARE_SHUFFLE_UNIFORM(shuffle_rotate_down, rotate) 
    5855 
    5856 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5857 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5858 
    5859 :45:1: note: expanded from here 
    5860 simd_shuffle_rotate_down 
    5861 
    5862 program_source:327:1: error: implicit declaration of function
    5863 'simd_shuffle_rotate_down' is invalid in OpenCL 
    5864 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5865 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5866 
    5867 :45:1: note: expanded from here 
    5868 simd_shuffle_rotate_down 
    5869 
    5870 program_source:327:1: error: implicit declaration of function
    5871 'simd_shuffle_rotate_down' is invalid in OpenCL 
    5872 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5873 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5874 
    5875 :45:1: note: expanded from here 
    5876 simd_shuffle_rotate_down 
    5877 
    5878 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    5879 is invalid in OpenCL 
    5880 DECLARE_SHUFFLE_UNIFORM(broadcast, broadcast) 
    5881 
    5882 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5883 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5884 
    5885 :47:1: note: expanded from here 
    5886 simd_broadcast 
    5887 
    5888 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    5889 is invalid in OpenCL 
    5890 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5891 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5892 
    5893 :47:1: note: expanded from here 
    5894 simd_broadcast 
    5895 
    5896 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    5897 is invalid in OpenCL 
    5898 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5899 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5900 
    5901 :47:1: note: expanded from here 
    5902 simd_broadcast 
    5903 
    5904 program_source:330:1: error: implicit declaration of function
    5905 'simd_broadcast_first' is invalid in OpenCL 
    5906 DECLARE_REDUCTION_UNIFORM(broadcast_first, broadcast_first) 
    5907 
    5908 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5909 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5910 
    5911 program_source:305:26: note: expanded from macro '\ 
    5912 DECLARE_I_REDUCTION_UNIFORM' 
    5913 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5914 
    5915 :49:1: note: expanded from here 
    5916 simd_broadcast_first 
    5917 
    5918 program_source:330:1: error: implicit declaration of function
    5919 'simd_broadcast_first' is invalid in OpenCL 
    5920 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5921 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5922 
    5923 program_source:305:26: note: expanded from macro '\ 
    5924 DECLARE_I_REDUCTION_UNIFORM' 
    5925 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5926 
    5927 :49:1: note: expanded from here 
    5928 simd_broadcast_first 
    5929 
    5930 program_source:330:1: error: implicit declaration of function
    5931 'simd_broadcast_first' is invalid in OpenCL 
    5932 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5933 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5934 
    5935 program_source:308:26: note: expanded from macro '\ 
    5936 DECLARE_F_REDUCTION_UNIFORM' 
    5937 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5938 
    5939 :51:1: note: expanded from here 
    5940 simd_broadcast_first 
    5941 
    5942 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    5943 invalid in OpenCL 
    5944 DECLARE_REDUCTION_NON_UNIFORM(sum, reduce_add) 
    5945 
    5946 program_source:338:60: note: expanded from macro
    5947 'DECLARE_REDUCTION_NON_UNIFORM' 
    5948 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5949 
    5950 program_source:333:26: note: expanded from macro '\ 
    5951 DECLARE_I_REDUCTION_NON_UNIFORM' 
    5952 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    5953 
    5954 :53:1: note: expanded from here 
    5955 simd_sum 
    5956 
    5957 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    5958 invalid in OpenCL 
    5959 program_source:338:60: note: expanded from macro
    5960 'DECLARE_REDUCTION_NON_UNIFORM' 
    5961 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5962 
    5963 program_source:333:26: note: expanded from macro '\ 
    5964 DECLARE_I_REDUCTION_NON_UNIFORM' 
    5965 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    5966 
    5967 :53:1: note: expanded from here 
    5968 simd_sum 
    5969 
    5970 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    5971 invalid in OpenCL 
    5972 program_source:339:54: note: expanded from macro
    5973 'DECLARE_REDUCTION_NON_UNIFORM' 
    5974 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5975 
    5976 program_source:336:26: note: expanded from macro '\ 
    5977 DECLARE_F_REDUCTION_NON_UNIFORM' 
    5978 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    5979 
    5980 :55:1: note: expanded from here 
    5981 simd_sum 
    5982 
    5983 program_source:346:1: error: implicit declaration of function
    5984 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    5985 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    5986 
    5987 program_source:338:60: note: expanded from macro
    5988 'DECLARE_REDUCTION_NON_UNIFORM' 
    5989 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5990 
    5991 program_source:333:26: note: expanded from macro '\ 
    5992 DECLARE_I_REDUCTION_NON_UNIFORM' 
    5993 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    5994 
    5995 :57:1: note: expanded from here 
    5996 simd_prefix_inclusive_sum 
    5997 
    5998 program_source:346:1: error: implicit declaration of function
    5999 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    6000 program_source:338:60: note: expanded from macro
    6001 'DECLARE_REDUCTION_NON_UNIFORM' 
    6002 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6003 
    6004 program_source:333:26: note: expanded from macro '\ 
    6005 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6006 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6007 
    6008 :57:1: note: expanded from here 
    6009 simd_prefix_inclusive_sum 
    6010 
    6011 program_source:346:1: error: implicit declaration of function
    6012 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    6013 program_source:339:54: note: expanded from macro
    6014 'DECLARE_REDUCTION_NON_UNIFORM' 
    6015 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6016 
    6017 program_source:336:26: note: expanded from macro '\ 
    6018 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6019 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6020 
    6021 :59:1: note: expanded from here 
    6022 simd_prefix_inclusive_sum 
    6023 
    6024 program_source:347:1: error: implicit declaration of function
    6025 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    6026 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    6027 
    6028 program_source:338:60: note: expanded from macro
    6029 'DECLARE_REDUCTION_NON_UNIFORM' 
    6030 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6031 
    6032 program_source:333:26: note: expanded from macro '\ 
    6033 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6034 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6035 
    6036 :61:1: note: expanded from here 
    6037 simd_prefix_exclusive_sum 
    6038 
    6039 program_source:347:1: error: implicit declaration of function
    6040 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    6041 program_source:338:60: note: expanded from macro
    6042 'DECLARE_REDUCTION_NON_UNIFORM' 
    6043 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6044 
    6045 program_source:333:26: note: expanded from macro '\ 
    6046 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6047 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6048 
    6049 :61:1: note: expanded from here 
    6050 simd_prefix_exclusive_sum 
    6051 
    6052 program_source:347:1: error: implicit declaration of function
    6053 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    6054 program_source:339:54: note: expanded from macro
    6055 'DECLARE_REDUCTION_NON_UNIFORM' 
    6056 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6057 
    6058 program_source:336:26: note: expanded from macro '\ 
    6059 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6060 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6061 
    6062 :63:1: note: expanded from here 
    6063 simd_prefix_exclusive_sum 
    6064 
    6065 program_source:348:1: error: implicit declaration of function 'simd_min' is
    6066 invalid in OpenCL 
    6067 DECLARE_REDUCTION_NON_UNIFORM(min, reduce_min) 
    6068 
    6069 program_source:338:60: note: expanded from macro
    6070 'DECLARE_REDUCTION_NON_UNIFORM' 
    6071 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6072 
    6073 program_source:333:26: note: expanded from macro '\ 
    6074 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6075 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6076 
    6077 :65:1: note: expanded from here 
    6078 simd_min 
    6079 
    6080 program_source:348:1: error: implicit declaration of function 'simd_min' is
    6081 invalid in OpenCL 
    6082 program_source:338:60: note: expanded from macro
    6083 'DECLARE_REDUCTION_NON_UNIFORM' 
    6084 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6085 
    6086 program_source:333:26: note: expanded from macro '\ 
    6087 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6088 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6089 
    6090 :65:1: note: expanded from here 
    6091 simd_min 
    6092 
    6093 program_source:348:1: error: implicit declaration of function 'simd_min' is
    6094 invalid in OpenCL 
    6095 program_source:339:54: note: expanded from macro
    6096 'DECLARE_REDUCTION_NON_UNIFORM' 
    6097 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6098 
    6099 program_source:336:26: note: expanded from macro '\ 
    6100 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6101 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6102 
    6103 :67:1: note: expanded from here 
    6104 simd_min 
    6105 
    6106 program_source:349:1: error: implicit declaration of function 'simd_max' is
    6107 invalid in OpenCL 
    6108 DECLARE_REDUCTION_NON_UNIFORM(max, reduce_max) 
    6109 
    6110 program_source:338:60: note: expanded from macro
    6111 'DECLARE_REDUCTION_NON_UNIFORM' 
    6112 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6113 
    6114 program_source:333:26: note: expanded from macro '\ 
    6115 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6116 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6117 
    6118 :69:1: note: expanded from here 
    6119 simd_max 
    6120 
    6121 program_source:349:1: error: implicit declaration of function 'simd_max' is
    6122 invalid in OpenCL 
    6123 program_source:338:60: note: expanded from macro
    6124 'DECLARE_REDUCTION_NON_UNIFORM' 
    6125 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6126 
    6127 program_source:333:26: note: expanded from macro '\ 
    6128 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6129 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6130 
    6131 :69:1: note: expanded from here 
    6132 simd_max 
    6133 
    6134 program_source:349:1: error: implicit declaration of function 'simd_max' is
    6135 invalid in OpenCL 
    6136 program_source:339:54: note: expanded from macro
    6137 'DECLARE_REDUCTION_NON_UNIFORM' 
    6138 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6139 
    6140 program_source:336:26: note: expanded from macro '\ 
    6141 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6142 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6143 
    6144 :71:1: note: expanded from here 
    6145 simd_max 
    6146 
    6147 program_source:351:1: error: implicit declaration of function 'simd_product'
    6148 is invalid in OpenCL 
    6149 DECLARE_REDUCTION_NON_UNIFORM(product, reduce_mul) 
    6150 
    6151 program_source:338:60: note: expanded from macro
    6152 'DECLARE_REDUCTION_NON_UNIFORM' 
    6153 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6154 
    6155 program_source:333:26: note: expanded from macro '\ 
    6156 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6157 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6158 
    6159 :73:1: note: expanded from here 
    6160 simd_product 
    6161 
    6162 program_source:351:1: error: implicit declaration of function 'simd_product'
    6163 is invalid in OpenCL 
    6164 program_source:338:60: note: expanded from macro
    6165 'DECLARE_REDUCTION_NON_UNIFORM' 
    6166 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6167 
    6168 program_source:333:26: note: expanded from macro '\ 
    6169 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6170 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6171 
    6172 :73:1: note: expanded from here 
    6173 simd_product 
    6174 
    6175 program_source:351:1: error: implicit declaration of function 'simd_product'
    6176 is invalid in OpenCL 
    6177 program_source:339:54: note: expanded from macro
    6178 'DECLARE_REDUCTION_NON_UNIFORM' 
    6179 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6180 
    6181 program_source:336:26: note: expanded from macro '\ 
    6182 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6183 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6184 
    6185 :75:1: note: expanded from here 
    6186 simd_product 
    6187 
    6188 program_source:352:1: error: implicit declaration of function
    6189 'simd_prefix_inclusive_product' is invalid in OpenCL 
    6190 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_product, scan_inclusive_mul) 
    6191 
    6192 program_source:338:60: note: expanded from macro
    6193 'DECLARE_REDUCTION_NON_UNIFORM' 
    6194 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6195 
    6196 program_source:333:26: note: expanded from macro '\ 
    6197 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6198 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6199 
    6200 :77:1: note: expanded from here 
    6201 simd_prefix_inclusive_product 
    6202 
    6203 program_source:352:1: error: implicit declaration of function
    6204 'simd_prefix_inclusive_product' is invalid in OpenCL 
    6205 program_source:338:60: note: expanded from macro
    6206 'DECLARE_REDUCTION_NON_UNIFORM' 
    6207 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6208 
    6209 program_source:333:26: note: expanded from macro '\ 
    6210 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6211 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6212 
    6213 :77:1: note: expanded from here 
    6214 simd_prefix_inclusive_product 
    6215 
    6216 program_source:352:1: error: implicit declaration of function
    6217 'simd_prefix_inclusive_product' is invalid in OpenCL 
    6218 program_source:339:54: note: expanded from macro
    6219 'DECLARE_REDUCTION_NON_UNIFORM' 
    6220 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6221 
    6222 program_source:336:26: note: expanded from macro '\ 
    6223 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6224 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6225 
    6226 :79:1: note: expanded from here 
    6227 simd_prefix_inclusive_product 
    6228 
    6229 program_source:353:1: error: implicit declaration of function
    6230 'simd_prefix_exclusive_product' is invalid in OpenCL 
    6231 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_product, scan_exclusive_mul) 
    6232 
    6233 program_source:338:60: note: expanded from macro
    6234 'DECLARE_REDUCTION_NON_UNIFORM' 
    6235 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6236 
    6237 program_source:333:26: note: expanded from macro '\ 
    6238 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6239 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6240 
    6241 :81:1: note: expanded from here 
    6242 simd_prefix_exclusive_product 
    6243 
    6244 program_source:353:1: error: implicit declaration of function
    6245 'simd_prefix_exclusive_product' is invalid in OpenCL 
    6246 program_source:338:60: note: expanded from macro
    6247 'DECLARE_REDUCTION_NON_UNIFORM' 
    6248 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6249 
    6250 program_source:333:26: note: expanded from macro '\ 
    6251 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6252 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6253 
    6254 :81:1: note: expanded from here 
    6255 simd_prefix_exclusive_product 
    6256 
    6257 program_source:353:1: error: implicit declaration of function
    6258 'simd_prefix_exclusive_product' is invalid in OpenCL 
    6259 program_source:339:54: note: expanded from macro
    6260 'DECLARE_REDUCTION_NON_UNIFORM' 
    6261 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6262 
    6263 program_source:336:26: note: expanded from macro '\ 
    6264 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6265 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6266 
    6267 :83:1: note: expanded from here 
    6268 simd_prefix_exclusive_product 
    6269 
    6270 program_source:354:1: error: implicit declaration of function 'simd_and' is
    6271 invalid in OpenCL 
    6272 DECLARE_I_REDUCTION_NON_UNIFORM(and, reduce_and) 
    6273 
    6274 program_source:333:26: note: expanded from macro
    6275 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6276 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6277 
    6278 :85:1: note: expanded from here 
    6279 simd_and 
    6280 
    6281 program_source:354:1: error: implicit declaration of function 'simd_and' is
    6282 invalid in OpenCL 
    6283 program_source:333:26: note: expanded from macro
    6284 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6285 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6286 
    6287 :85:1: note: expanded from here 
    6288 simd_and 
    6289 
    6290 program_source:355:1: error: implicit declaration of function 'simd_or' is
    6291 invalid in OpenCL 
    6292 DECLARE_I_REDUCTION_NON_UNIFORM(or, reduce_or) 
    6293 
    6294 program_source:333:26: note: expanded from macro
    6295 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6296 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6297 
    6298 :87:1: note: expanded from here 
    6299 simd_or 
    6300 
    6301 program_source:355:1: error: implicit declaration of function 'simd_or' is
    6302 invalid in OpenCL 
    6303 program_source:333:26: note: expanded from macro
    6304 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6305 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6306 
    6307 :87:1: note: expanded from here 
    6308 simd_or 
    6309 
    6310 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    6311 invalid in OpenCL 
    6312 DECLARE_I_REDUCTION_NON_UNIFORM(xor, reduce_xor) 
    6313 
    6314 program_source:333:26: note: expanded from macro
    6315 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6316 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6317 
    6318 :89:1: note: expanded from here 
    6319 simd_xor 
    6320 
    6321 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    6322 invalid in OpenCL 
    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 :89:1: note: expanded from here 
    6328 simd_xor 
    6329 
    6330 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    6331 is invalid in OpenCL 
    6332 DECLARE_SHUFFLE_NON_UNIFORM(broadcast, broadcast) 
    6333 
    6334 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    6335 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6336 
    6337 :91:1: note: expanded from here 
    6338 simd_broadcast 
    6339 
    6340 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    6341 is invalid in OpenCL 
    6342 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    6343 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6344 
    6345 :91:1: note: expanded from here 
    6346 simd_broadcast 
    6347 
    6348 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    6349 is invalid in OpenCL 
    6350 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    6351 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6352 
    6353 :91:1: note: expanded from here 
    6354 simd_broadcast 
    6355 
    6356 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    6357 invalid in OpenCL 
    6358 DECLARE_REDUCTION_CLUSTERED(sum, reduce_add) 
    6359 
    6360 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6361 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6362 
    6363 program_source:360:60: note: expanded from macro '\ 
    6364 DECLARE_I_REDUCTION_CLUSTERED' 
    6365 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6366 
    6367 program_source:245:71: note: expanded from macro '\ 
    6368 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6369 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6370 
    6371 program_source:196:12: note: expanded from macro '\ 
    6372 OVERLOAD_CLUSTERED_ARGS_1' 
    6373 return quad_##METAL_SUFFIX(x); \ 
    6374 
    6375 :94:1: note: expanded from here 
    6376 quad_sum 
    6377 
    6378 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    6379 invalid in OpenCL 
    6380 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6381 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6382 
    6383 program_source:360:60: note: expanded from macro '\ 
    6384 DECLARE_I_REDUCTION_CLUSTERED' 
    6385 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6386 
    6387 program_source:245:71: note: expanded from macro '\ 
    6388 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6389 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6390 
    6391 program_source:198:12: note: expanded from macro '\ 
    6392 OVERLOAD_CLUSTERED_ARGS_1' 
    6393 return simd_##METAL_SUFFIX(x); \ 
    6394 
    6395 :95:1: note: expanded from here 
    6396 simd_sum 
    6397 
    6398 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    6399 invalid in OpenCL 
    6400 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6401 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6402 
    6403 program_source:360:60: note: expanded from macro '\ 
    6404 DECLARE_I_REDUCTION_CLUSTERED' 
    6405 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6406 
    6407 program_source:246:59: note: expanded from macro '\ 
    6408 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6409 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6410 
    6411 program_source:196:12: note: expanded from macro '\ 
    6412 OVERLOAD_CLUSTERED_ARGS_1' 
    6413 return quad_##METAL_SUFFIX(x); \ 
    6414 
    6415 :96:1: note: expanded from here 
    6416 quad_sum 
    6417 
    6418 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    6419 invalid in OpenCL 
    6420 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6421 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6422 
    6423 program_source:360:60: note: expanded from macro '\ 
    6424 DECLARE_I_REDUCTION_CLUSTERED' 
    6425 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6426 
    6427 program_source:246:59: note: expanded from macro '\ 
    6428 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6429 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6430 
    6431 program_source:198:12: note: expanded from macro '\ 
    6432 OVERLOAD_CLUSTERED_ARGS_1' 
    6433 return simd_##METAL_SUFFIX(x); \ 
    6434 
    6435 :97:1: note: expanded from here 
    6436 simd_sum 
    6437 
    6438 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    6439 invalid in OpenCL 
    6440 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6441 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6442 
    6443 program_source:363:60: note: expanded from macro '\ 
    6444 DECLARE_F_REDUCTION_CLUSTERED' 
    6445 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6446 
    6447 program_source:249:71: note: expanded from macro '\ 
    6448 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6449 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6450 
    6451 program_source:196:12: note: expanded from macro '\ 
    6452 OVERLOAD_CLUSTERED_ARGS_1' 
    6453 return quad_##METAL_SUFFIX(x); \ 
    6454 
    6455 :99:1: note: expanded from here 
    6456 quad_sum 
    6457 
    6458 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    6459 invalid in OpenCL 
    6460 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6461 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6462 
    6463 program_source:363:60: note: expanded from macro '\ 
    6464 DECLARE_F_REDUCTION_CLUSTERED' 
    6465 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6466 
    6467 program_source:249:71: note: expanded from macro '\ 
    6468 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6469 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6470 
    6471 program_source:198:12: note: expanded from macro '\ 
    6472 OVERLOAD_CLUSTERED_ARGS_1' 
    6473 return simd_##METAL_SUFFIX(x); \ 
    6474 
    6475 :100:1: note: expanded from here 
    6476 simd_sum 
    6477 
    6478 program_source:392:1: error: implicit declaration of function 'quad_min' is
    6479 invalid in OpenCL 
    6480 DECLARE_REDUCTION_CLUSTERED(min, reduce_min) 
    6481 
    6482 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6483 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6484 
    6485 program_source:360:60: note: expanded from macro '\ 
    6486 DECLARE_I_REDUCTION_CLUSTERED' 
    6487 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6488 
    6489 program_source:245:71: note: expanded from macro '\ 
    6490 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6491 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6492 
    6493 program_source:196:12: note: expanded from macro '\ 
    6494 OVERLOAD_CLUSTERED_ARGS_1' 
    6495 return quad_##METAL_SUFFIX(x); \ 
    6496 
    6497 :102:1: note: expanded from here 
    6498 quad_min 
    6499 
    6500 program_source:392:1: error: implicit declaration of function 'simd_min' is
    6501 invalid in OpenCL 
    6502 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6503 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6504 
    6505 program_source:360:60: note: expanded from macro '\ 
    6506 DECLARE_I_REDUCTION_CLUSTERED' 
    6507 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6508 
    6509 program_source:245:71: note: expanded from macro '\ 
    6510 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6511 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6512 
    6513 program_source:198:12: note: expanded from macro '\ 
    6514 OVERLOAD_CLUSTERED_ARGS_1' 
    6515 return simd_##METAL_SUFFIX(x); \ 
    6516 
    6517 :103:1: note: expanded from here 
    6518 simd_min 
    6519 
    6520 program_source:392:1: error: implicit declaration of function 'quad_min' is
    6521 invalid in OpenCL 
    6522 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6523 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6524 
    6525 program_source:360:60: note: expanded from macro '\ 
    6526 DECLARE_I_REDUCTION_CLUSTERED' 
    6527 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6528 
    6529 program_source:246:59: note: expanded from macro '\ 
    6530 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6531 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6532 
    6533 program_source:196:12: note: expanded from macro '\ 
    6534 OVERLOAD_CLUSTERED_ARGS_1' 
    6535 return quad_##METAL_SUFFIX(x); \ 
    6536 
    6537 :104:1: note: expanded from here 
    6538 quad_min 
    6539 
    6540 program_source:392:1: error: implicit declaration of function 'simd_min' is
    6541 invalid in OpenCL 
    6542 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6543 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6544 
    6545 program_source:360:60: note: expanded from macro '\ 
    6546 DECLARE_I_REDUCTION_CLUSTERED' 
    6547 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6548 
    6549 program_source:246:59: note: expanded from macro '\ 
    6550 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6551 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6552 
    6553 program_source:198:12: note: expanded from macro '\ 
    6554 OVERLOAD_CLUSTERED_ARGS_1' 
    6555 return simd_##METAL_SUFFIX(x); \ 
    6556 
    6557 :105:1: note: expanded from here 
    6558 simd_min 
    6559 
    6560 program_source:392:1: error: implicit declaration of function 'quad_min' is
    6561 invalid in OpenCL 
    6562 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6563 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6564 
    6565 program_source:363:60: note: expanded from macro '\ 
    6566 DECLARE_F_REDUCTION_CLUSTERED' 
    6567 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6568 
    6569 program_source:249:71: note: expanded from macro '\ 
    6570 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6571 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6572 
    6573 program_source:196:12: note: expanded from macro '\ 
    6574 OVERLOAD_CLUSTERED_ARGS_1' 
    6575 return quad_##METAL_SUFFIX(x); \ 
    6576 
    6577 :107:1: note: expanded from here 
    6578 quad_min 
    6579 
    6580 program_source:392:1: error: implicit declaration of function 'simd_min' is
    6581 invalid in OpenCL 
    6582 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6583 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6584 
    6585 program_source:363:60: note: expanded from macro '\ 
    6586 DECLARE_F_REDUCTION_CLUSTERED' 
    6587 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6588 
    6589 program_source:249:71: note: expanded from macro '\ 
    6590 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6591 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6592 
    6593 program_source:198:12: note: expanded from macro '\ 
    6594 OVERLOAD_CLUSTERED_ARGS_1' 
    6595 return simd_##METAL_SUFFIX(x); \ 
    6596 
    6597 :108:1: note: expanded from here 
    6598 simd_min 
    6599 
    6600 program_source:393:1: error: implicit declaration of function 'quad_max' is
    6601 invalid in OpenCL 
    6602 DECLARE_REDUCTION_CLUSTERED(max, reduce_max) 
    6603 
    6604 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6605 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6606 
    6607 program_source:360:60: note: expanded from macro '\ 
    6608 DECLARE_I_REDUCTION_CLUSTERED' 
    6609 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6610 
    6611 program_source:245:71: note: expanded from macro '\ 
    6612 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6613 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6614 
    6615 program_source:196:12: note: expanded from macro '\ 
    6616 OVERLOAD_CLUSTERED_ARGS_1' 
    6617 return quad_##METAL_SUFFIX(x); \ 
    6618 
    6619 :110:1: note: expanded from here 
    6620 quad_max 
    6621 
    6622 program_source:393:1: error: implicit declaration of function 'simd_max' is
    6623 invalid in OpenCL 
    6624 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6625 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6626 
    6627 program_source:360:60: note: expanded from macro '\ 
    6628 DECLARE_I_REDUCTION_CLUSTERED' 
    6629 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6630 
    6631 program_source:245:71: note: expanded from macro '\ 
    6632 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6633 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6634 
    6635 program_source:198:12: note: expanded from macro '\ 
    6636 OVERLOAD_CLUSTERED_ARGS_1' 
    6637 return simd_##METAL_SUFFIX(x); \ 
    6638 
    6639 :111:1: note: expanded from here 
    6640 simd_max 
    6641 
    6642 program_source:393:1: error: implicit declaration of function 'quad_max' is
    6643 invalid in OpenCL 
    6644 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6645 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6646 
    6647 program_source:360:60: note: expanded from macro '\ 
    6648 DECLARE_I_REDUCTION_CLUSTERED' 
    6649 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6650 
    6651 program_source:246:59: note: expanded from macro '\ 
    6652 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6653 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6654 
    6655 program_source:196:12: note: expanded from macro '\ 
    6656 OVERLOAD_CLUSTERED_ARGS_1' 
    6657 return quad_##METAL_SUFFIX(x); \ 
    6658 
    6659 :112:1: note: expanded from here 
    6660 quad_max 
    6661 
    6662 program_source:393:1: error: implicit declaration of function 'simd_max' is
    6663 invalid in OpenCL 
    6664 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6665 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6666 
    6667 program_source:360:60: note: expanded from macro '\ 
    6668 DECLARE_I_REDUCTION_CLUSTERED' 
    6669 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6670 
    6671 program_source:246:59: note: expanded from macro '\ 
    6672 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6673 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6674 
    6675 program_source:198:12: note: expanded from macro '\ 
    6676 OVERLOAD_CLUSTERED_ARGS_1' 
    6677 return simd_##METAL_SUFFIX(x); \ 
    6678 
    6679 :113:1: note: expanded from here 
    6680 simd_max 
    6681 
    6682 program_source:393:1: error: implicit declaration of function 'quad_max' is
    6683 invalid in OpenCL 
    6684 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6685 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6686 
    6687 program_source:363:60: note: expanded from macro '\ 
    6688 DECLARE_F_REDUCTION_CLUSTERED' 
    6689 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6690 
    6691 program_source:249:71: note: expanded from macro '\ 
    6692 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6693 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6694 
    6695 program_source:196:12: note: expanded from macro '\ 
    6696 OVERLOAD_CLUSTERED_ARGS_1' 
    6697 return quad_##METAL_SUFFIX(x); \ 
    6698 
    6699 :115:1: note: expanded from here 
    6700 quad_max 
    6701 
    6702 program_source:393:1: error: implicit declaration of function 'simd_max' is
    6703 invalid in OpenCL 
    6704 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6705 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6706 
    6707 program_source:363:60: note: expanded from macro '\ 
    6708 DECLARE_F_REDUCTION_CLUSTERED' 
    6709 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6710 
    6711 program_source:249:71: note: expanded from macro '\ 
    6712 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6713 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6714 
    6715 program_source:198:12: note: expanded from macro '\ 
    6716 OVERLOAD_CLUSTERED_ARGS_1' 
    6717 return simd_##METAL_SUFFIX(x); \ 
    6718 
    6719 :116:1: note: expanded from here 
    6720 simd_max 
    6721 
    6722 program_source:395:1: error: implicit declaration of function 'quad_product'
    6723 is invalid in OpenCL 
    6724 DECLARE_REDUCTION_CLUSTERED(product, reduce_mul) 
    6725 
    6726 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6727 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6728 
    6729 program_source:360:60: note: expanded from macro '\ 
    6730 DECLARE_I_REDUCTION_CLUSTERED' 
    6731 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6732 
    6733 program_source:245:71: note: expanded from macro '\ 
    6734 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6735 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6736 
    6737 program_source:196:12: note: expanded from macro '\ 
    6738 OVERLOAD_CLUSTERED_ARGS_1' 
    6739 return quad_##METAL_SUFFIX(x); \ 
    6740 
    6741 :118:1: note: expanded from here 
    6742 quad_product 
    6743 
    6744 program_source:395:1: error: implicit declaration of function 'simd_product'
    6745 is invalid in OpenCL 
    6746 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6747 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6748 
    6749 program_source:360:60: note: expanded from macro '\ 
    6750 DECLARE_I_REDUCTION_CLUSTERED' 
    6751 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6752 
    6753 program_source:245:71: note: expanded from macro '\ 
    6754 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6755 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6756 
    6757 program_source:198:12: note: expanded from macro '\ 
    6758 OVERLOAD_CLUSTERED_ARGS_1' 
    6759 return simd_##METAL_SUFFIX(x); \ 
    6760 
    6761 :119:1: note: expanded from here 
    6762 simd_product 
    6763 
    6764 program_source:395:1: error: implicit declaration of function 'quad_product'
    6765 is invalid in OpenCL 
    6766 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6767 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6768 
    6769 program_source:360:60: note: expanded from macro '\ 
    6770 DECLARE_I_REDUCTION_CLUSTERED' 
    6771 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6772 
    6773 program_source:246:59: note: expanded from macro '\ 
    6774 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6775 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6776 
    6777 program_source:196:12: note: expanded from macro '\ 
    6778 OVERLOAD_CLUSTERED_ARGS_1' 
    6779 return quad_##METAL_SUFFIX(x); \ 
    6780 
    6781 :120:1: note: expanded from here 
    6782 quad_product 
    6783 
    6784 program_source:395:1: error: implicit declaration of function 'simd_product'
    6785 is invalid in OpenCL 
    6786 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6787 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6788 
    6789 program_source:360:60: note: expanded from macro '\ 
    6790 DECLARE_I_REDUCTION_CLUSTERED' 
    6791 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6792 
    6793 program_source:246:59: note: expanded from macro '\ 
    6794 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6795 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6796 
    6797 program_source:198:12: note: expanded from macro '\ 
    6798 OVERLOAD_CLUSTERED_ARGS_1' 
    6799 return simd_##METAL_SUFFIX(x); \ 
    6800 
    6801 :121:1: note: expanded from here 
    6802 simd_product 
    6803 
    6804 program_source:395:1: error: implicit declaration of function 'quad_product'
    6805 is invalid in OpenCL 
    6806 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6807 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6808 
    6809 program_source:363:60: note: expanded from macro '\ 
    6810 DECLARE_F_REDUCTION_CLUSTERED' 
    6811 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6812 
    6813 program_source:249:71: note: expanded from macro '\ 
    6814 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6815 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6816 
    6817 program_source:196:12: note: expanded from macro '\ 
    6818 OVERLOAD_CLUSTERED_ARGS_1' 
    6819 return quad_##METAL_SUFFIX(x); \ 
    6820 
    6821 :123:1: note: expanded from here 
    6822 quad_product 
    6823 
    6824 program_source:395:1: error: implicit declaration of function 'simd_product'
    6825 is invalid in OpenCL 
    6826 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6827 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6828 
    6829 program_source:363:60: note: expanded from macro '\ 
    6830 DECLARE_F_REDUCTION_CLUSTERED' 
    6831 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6832 
    6833 program_source:249:71: note: expanded from macro '\ 
    6834 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6835 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6836 
    6837 program_source:198:12: note: expanded from macro '\ 
    6838 OVERLOAD_CLUSTERED_ARGS_1' 
    6839 return simd_##METAL_SUFFIX(x); \ 
    6840 
    6841 :124:1: note: expanded from here 
    6842 simd_product 
    6843 
    6844 program_source:396:1: error: implicit declaration of function 'quad_and' is
    6845 invalid in OpenCL 
    6846 DECLARE_I_REDUCTION_CLUSTERED(and, reduce_and) 
    6847 
    6848 program_source:360:60: note: expanded from macro
    6849 'DECLARE_I_REDUCTION_CLUSTERED' 
    6850 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6851 
    6852 program_source:245:71: note: expanded from macro '\ 
    6853 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6854 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6855 
    6856 program_source:196:12: note: expanded from macro '\ 
    6857 OVERLOAD_CLUSTERED_ARGS_1' 
    6858 return quad_##METAL_SUFFIX(x); \ 
    6859 
    6860 :126:1: note: expanded from here 
    6861 quad_and 
    6862 
    6863 program_source:396:1: error: implicit declaration of function 'simd_and' is
    6864 invalid in OpenCL 
    6865 program_source:360:60: note: expanded from macro
    6866 'DECLARE_I_REDUCTION_CLUSTERED' 
    6867 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6868 
    6869 program_source:245:71: note: expanded from macro '\ 
    6870 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6871 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6872 
    6873 program_source:198:12: note: expanded from macro '\ 
    6874 OVERLOAD_CLUSTERED_ARGS_1' 
    6875 return simd_##METAL_SUFFIX(x); \ 
    6876 
    6877 :127:1: note: expanded from here 
    6878 simd_and 
    6879 
    6880 program_source:396:1: error: implicit declaration of function 'quad_and' is
    6881 invalid in OpenCL 
    6882 program_source:360:60: note: expanded from macro
    6883 'DECLARE_I_REDUCTION_CLUSTERED' 
    6884 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6885 
    6886 program_source:246:59: note: expanded from macro '\ 
    6887 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6888 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6889 
    6890 program_source:196:12: note: expanded from macro '\ 
    6891 OVERLOAD_CLUSTERED_ARGS_1' 
    6892 return quad_##METAL_SUFFIX(x); \ 
    6893 
    6894 :128:1: note: expanded from here 
    6895 quad_and 
    6896 
    6897 program_source:396:1: error: implicit declaration of function 'simd_and' is
    6898 invalid in OpenCL 
    6899 program_source:360:60: note: expanded from macro
    6900 'DECLARE_I_REDUCTION_CLUSTERED' 
    6901 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6902 
    6903 program_source:246:59: note: expanded from macro '\ 
    6904 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6905 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6906 
    6907 program_source:198:12: note: expanded from macro '\ 
    6908 OVERLOAD_CLUSTERED_ARGS_1' 
    6909 return simd_##METAL_SUFFIX(x); \ 
    6910 
    6911 :129:1: note: expanded from here 
    6912 simd_and 
    6913 
    6914 program_source:397:1: error: implicit declaration of function 'quad_or' is
    6915 invalid in OpenCL 
    6916 DECLARE_I_REDUCTION_CLUSTERED(or, reduce_or) 
    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:196:12: note: expanded from macro '\ 
    6927 OVERLOAD_CLUSTERED_ARGS_1' 
    6928 return quad_##METAL_SUFFIX(x); \ 
    6929 
    6930 :131:1: note: expanded from here 
    6931 quad_or 
    6932 
    6933 program_source:397:1: error: implicit declaration of function 'simd_or' is
    6934 invalid in OpenCL 
    6935 program_source:360:60: note: expanded from macro
    6936 'DECLARE_I_REDUCTION_CLUSTERED' 
    6937 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6938 
    6939 program_source:245:71: note: expanded from macro '\ 
    6940 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6941 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6942 
    6943 program_source:198:12: note: expanded from macro '\ 
    6944 OVERLOAD_CLUSTERED_ARGS_1' 
    6945 return simd_##METAL_SUFFIX(x); \ 
    6946 
    6947 :132:1: note: expanded from here 
    6948 simd_or 
    6949 
    6950 program_source:397:1: error: implicit declaration of function 'quad_or' is
    6951 invalid in OpenCL 
    6952 program_source:360:60: note: expanded from macro
    6953 'DECLARE_I_REDUCTION_CLUSTERED' 
    6954 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6955 
    6956 program_source:246:59: note: expanded from macro '\ 
    6957 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6958 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6959 
    6960 program_source:196:12: note: expanded from macro '\ 
    6961 OVERLOAD_CLUSTERED_ARGS_1' 
    6962 return quad_##METAL_SUFFIX(x); \ 
    6963 
    6964 :133:1: note: expanded from here 
    6965 quad_or 
    6966 
    6967 program_source:397:1: error: implicit declaration of function 'simd_or' is
    6968 invalid in OpenCL 
    6969 program_source:360:60: note: expanded from macro
    6970 'DECLARE_I_REDUCTION_CLUSTERED' 
    6971 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6972 
    6973 program_source:246:59: note: expanded from macro '\ 
    6974 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6975 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6976 
    6977 program_source:198:12: note: expanded from macro '\ 
    6978 OVERLOAD_CLUSTERED_ARGS_1' 
    6979 return simd_##METAL_SUFFIX(x); \ 
    6980 
    6981 :134:1: note: expanded from here 
    6982 simd_or 
    6983 
    6984 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    6985 invalid in OpenCL 
    6986 DECLARE_I_REDUCTION_CLUSTERED(xor, reduce_xor) 
    6987 
    6988 program_source:360:60: note: expanded from macro
    6989 'DECLARE_I_REDUCTION_CLUSTERED' 
    6990 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6991 
    6992 program_source:245:71: note: expanded from macro '\ 
    6993 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6994 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6995 
    6996 program_source:196:12: note: expanded from macro '\ 
    6997 OVERLOAD_CLUSTERED_ARGS_1' 
    6998 return quad_##METAL_SUFFIX(x); \ 
    6999 
    7000 :136:1: note: expanded from here 
    7001 quad_xor 
    7002 
    7003 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    7004 invalid in OpenCL 
    7005 program_source:360:60: note: expanded from macro
    7006 'DECLARE_I_REDUCTION_CLUSTERED' 
    7007 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7008 
    7009 program_source:245:71: note: expanded from macro '\ 
    7010 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7011 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    7012 
    7013 program_source:198:12: note: expanded from macro '\ 
    7014 OVERLOAD_CLUSTERED_ARGS_1' 
    7015 return simd_##METAL_SUFFIX(x); \ 
    7016 
    7017 :137:1: note: expanded from here 
    7018 simd_xor 
    7019 
    7020 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    7021 invalid in OpenCL 
    7022 program_source:360:60: note: expanded from macro
    7023 'DECLARE_I_REDUCTION_CLUSTERED' 
    7024 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7025 
    7026 program_source:246:59: note: expanded from macro '\ 
    7027 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7028 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7029 
    7030 program_source:196:12: note: expanded from macro '\ 
    7031 OVERLOAD_CLUSTERED_ARGS_1' 
    7032 return quad_##METAL_SUFFIX(x); \ 
    7033 
    7034 :138:1: note: expanded from here 
    7035 quad_xor 
    7036 
    7037 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    7038 invalid in OpenCL 
    7039 program_source:360:60: note: expanded from macro
    7040 'DECLARE_I_REDUCTION_CLUSTERED' 
    7041 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7042 
    7043 program_source:246:59: note: expanded from macro '\ 
    7044 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    7045 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7046 
    7047 program_source:198:12: note: expanded from macro '\ 
    7048 OVERLOAD_CLUSTERED_ARGS_1' 
    7049 return simd_##METAL_SUFFIX(x); \ 
    7050 
    7051 :139:1: note: expanded from here 
    7052 simd_xor 
    7053 
    7054 program_source:399:1: error: implicit declaration of function 'simd_and' is
    7055 invalid in OpenCL 
    7056 DECLARE_B_REDUCTION_CLUSTERED(and) 
    7057 
    7058 program_source:369:8: note: expanded from macro
    7059 'DECLARE_B_REDUCTION_CLUSTERED' 
    7060 return simd_##OP(select(0, 1, predicate != 0)); \ 
    7061 
    7062 :141:1: note: expanded from here 
    7063 simd_and 
    7064 
    7065 program_source:399:1: error: implicit declaration of function 'quad_and' is
    7066 invalid in OpenCL 
    7067 program_source:378:12: note: expanded from macro
    7068 'DECLARE_B_REDUCTION_CLUSTERED' 
    7069 return quad_##OP(x); \ 
    7070 
    7071 :143:1: note: expanded from here 
    7072 quad_and 
    7073 
    7074 program_source:399:1: error: implicit declaration of function 'simd_and' is
    7075 invalid in OpenCL 
    7076 program_source:380:12: note: expanded from macro
    7077 'DECLARE_B_REDUCTION_CLUSTERED' 
    7078 return simd_##OP(x); \ 
    7079 
    7080 :144:1: note: expanded from here 
    7081 simd_and 
    7082 
    7083 program_source:400:1: error: implicit declaration of function 'simd_or' is
    7084 invalid in OpenCL 
    7085 DECLARE_B_REDUCTION_CLUSTERED(or) 
    7086 
    7087 program_source:369:8: note: expanded from macro
    7088 'DECLARE_B_REDUCTION_CLUSTERED' 
    7089 return simd_##OP(select(0, 1, predicate != 0)); \ 
    7090 
    7091 :146:1: note: expanded from here 
    7092 simd_or 
    7093 
    7094 program_source:400:1: error: implicit declaration of function 'quad_or' is
    7095 invalid in OpenCL 
    7096 program_source:378:12: note: expanded from macro
    7097 'DECLARE_B_REDUCTION_CLUSTERED' 
    7098 return quad_##OP(x); \ 
    7099 
    7100 :148:1: note: expanded from here 
    7101 quad_or 
    7102 
    7103 program_source:400:1: error: implicit declaration of function 'simd_or' is
    7104 invalid in OpenCL 
    7105 program_source:380:12: note: expanded from macro
    7106 'DECLARE_B_REDUCTION_CLUSTERED' 
    7107 return simd_##OP(x); \ 
    7108 
    7109 :149:1: note: expanded from here 
    7110 simd_or 
    7111 
    7112 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    7113 invalid in OpenCL 
    7114 DECLARE_B_REDUCTION_CLUSTERED(xor) 
    7115 
    7116 program_source:369:8: note: expanded from macro
    7117 'DECLARE_B_REDUCTION_CLUSTERED' 
    7118 return simd_##OP(select(0, 1, predicate != 0)); \ 
    7119 
    7120 :151:1: note: expanded from here 
    7121 simd_xor 
    7122 
    7123 program_source:401:1: error: implicit declaration of function 'quad_xor' is
    7124 invalid in OpenCL 
    7125 program_source:378:12: note: expanded from macro
    7126 'DECLARE_B_REDUCTION_CLUSTERED' 
    7127 return quad_##OP(x); \ 
    7128 
    7129 :153:1: note: expanded from here 
    7130 quad_xor 
    7131 
    7132 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    7133 invalid in OpenCL 
    7134 program_source:380:12: note: expanded from macro
    7135 'DECLARE_B_REDUCTION_CLUSTERED' 
    7136 return simd_##OP(x); \ 
    7137 
    7138 :154:1: note: expanded from here 
    7139 simd_xor 
    7140 
    7141 program_source:403:1: error: implicit declaration of function
    7142 'quad_shuffle_rotate_down' is invalid in OpenCL 
    7143 DECLARE_SHUFFLE_CLUSTERED(shuffle_rotate_down, rotate) 
    7144 
    7145 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7146 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7147 
    7148 program_source:252:69: note: expanded from macro '\ 
    7149 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7150 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    7151 
    7152 program_source:208:12: note: expanded from macro '\ 
    7153 OVERLOAD_CLUSTERED_ARGS_2' 
    7154 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    7155 
    7156 :156:1: note: expanded from here 
    7157 quad_shuffle_rotate_down 
    7158 
    7159 program_source:403:1: error: implicit declaration of function
    7160 'simd_shuffle_rotate_down' is invalid in OpenCL 
    7161 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7162 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7163 
    7164 program_source:252:69: note: expanded from macro '\ 
    7165 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7166 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    7167 
    7168 program_source:210:12: note: expanded from macro '\ 
    7169 OVERLOAD_CLUSTERED_ARGS_2' 
    7170 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    7171 
    7172 :157:1: note: expanded from here 
    7173 simd_shuffle_rotate_down 
    7174 
    7175 program_source:403:1: error: implicit declaration of function
    7176 'quad_shuffle_rotate_down' is invalid in OpenCL 
    7177 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7178 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7179 
    7180 program_source:253:59: note: expanded from macro '\ 
    7181 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7182 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7183 
    7184 program_source:208:12: note: expanded from macro '\ 
    7185 OVERLOAD_CLUSTERED_ARGS_2' 
    7186 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    7187 
    7188 :158:1: note: expanded from here 
    7189 quad_shuffle_rotate_down 
    7190 
    7191 program_source:403:1: error: implicit declaration of function
    7192 'simd_shuffle_rotate_down' is invalid in OpenCL 
    7193 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7194 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7195 
    7196 program_source:253:59: note: expanded from macro '\ 
    7197 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7198 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7199 
    7200 program_source:210:12: note: expanded from macro '\ 
    7201 OVERLOAD_CLUSTERED_ARGS_2' 
    7202 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    7203 
    7204 :159:1: note: expanded from here 
    7205 simd_shuffle_rotate_down 
    7206 
    7207 program_source:403:1: error: implicit declaration of function
    7208 'quad_shuffle_rotate_down' is invalid in OpenCL 
    7209 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7210 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7211 
    7212 program_source:254:60: note: expanded from macro '\ 
    7213 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7214 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    7215 
    7216 program_source:208:12: note: expanded from macro '\ 
    7217 OVERLOAD_CLUSTERED_ARGS_2' 
    7218 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    7219 
    7220 :160:1: note: expanded from here 
    7221 quad_shuffle_rotate_down 
    7222 
    7223 program_source:403:1: error: implicit declaration of function
    7224 'simd_shuffle_rotate_down' is invalid in OpenCL 
    7225 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7226 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7227 
    7228 program_source:254:60: note: expanded from macro '\ 
    7229 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7230 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    7231 
    7232 program_source:210:12: note: expanded from macro '\ 
    7233 OVERLOAD_CLUSTERED_ARGS_2' 
    7234 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    7235 
    7236 :161:1: note: expanded from here 
    7237 simd_shuffle_rotate_down 
    7238 
    7239 program_source:409:1: error: illegal string literal in 'asm' 
    7240 EXPOSE_BALLOT(simd_is_first, , bool, ) 
    7241 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7242 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7243 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7244 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7245 program_source:410:1: error: illegal string literal in 'asm' 
    7246 EXPOSE_BALLOT(simd_all, bool expr, bool, ) 
    7247 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7248 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7249 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7250 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7251 program_source:411:1: error: illegal string literal in 'asm' 
    7252 EXPOSE_BALLOT(simd_any, bool expr, bool, ) 
    7253 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7254 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7255 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7256 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7257 program_source:412:1: error: illegal string literal in 'asm' 
    7258 EXPOSE_BALLOT(simd_ballot, bool expr, ulong, .i64) 
    7259 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7260 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7261 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7262 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7263 program_source:413:1: error: illegal string literal in 'asm' 
    7264 EXPOSE_BALLOT(simd_active_threads_mask, , ulong, .i64) 
    7265 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7266 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7267 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7268 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7269 program_source:415:1: error: illegal string literal in 'asm' 
    7270 EXPOSE_BALLOT(quad_is_first, , bool, ) 
    7271 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7272 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7273 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7274 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7275 program_source:416:1: error: illegal string literal in 'asm' 
    7276 EXPOSE_BALLOT(quad_all, bool expr, bool, ) 
    7277 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7278 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7279 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7280 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7281 program_source:417:1: error: illegal string literal in 'asm' 
    7282 EXPOSE_BALLOT(quad_any, bool expr, bool, ) 
    7283 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7284 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7285 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7286 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7287 program_source:418:1: error: illegal string literal in 'asm' 
    7288 EXPOSE_BALLOT(quad_ballot, bool expr, ushort, ) 
    7289 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7290 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7291 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7292 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7293 program_source:419:1: error: illegal string literal in 'asm' 
    7294 EXPOSE_BALLOT(quad_active_threads_mask, , ushort, ) 
    7295 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7296 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7297 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7298 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7299 program_source:422:23: error: implicit declaration of function 'simd_is_first'
    7300 is invalid in OpenCL 
    7301 return select(0, 1, simd_is_first()); 
    7302 
    7303 program_source:426:23: error: implicit declaration of function 'simd_all' is
    7304 invalid in OpenCL 
    7305 return select(0, 1, simd_all(predicate != 0)); 
    7306 
    7307 program_source:430:23: error: implicit declaration of function 'simd_any' is
    7308 invalid in OpenCL 
    7309 return select(0, 1, simd_any(predicate != 0)); 
    7310 
    7311 program_source:434:23: error: implicit declaration of function 'simd_all' is
    7312 invalid in OpenCL 
    7313 return select(0, 1, simd_all(predicate != 0)); 
    7314 
    7315 program_source:438:23: error: implicit declaration of function 'simd_any' is
    7316 invalid in OpenCL 
    7317 return select(0, 1, simd_any(predicate != 0)); 
    7318 
    7319 program_source:443:14: error: implicit declaration of function 'simd_ballot'
    7320 is invalid in OpenCL 
    7321 output.x = simd_ballot(predicate != 0); 
    7322 
    7323 program_source:480:9: error: illegal string literal in 'asm' 
    7324 __asm("air.simdgroup.barrier"); 
    7325 ^~~~~~~~~~~~~~~~~~~~~~~ 
    7326 program_source:487:3: error: implicit declaration of function
    7327 '__metal_simdgroup_barrier' is invalid in OpenCL 
    7328 __metal_simdgroup_barrier(flags, 1); 
    7329 
    7330 program_source:487:3: note: did you mean 'simdgroup_barrier'? 
    7331 program_source:483:6: note: 'simdgroup_barrier' declared here 
    7332 void simdgroup_barrier(int flags) { 
    7333 
    7334 program_source:681:9: error: implicit declaration of function 'simd_is_first'
    7335 is invalid in OpenCL 
    7336 if (simd_is_first()) { 
    7337 
    7338 program_source:673:45: warning: comparison of integers of different signs:
    7339 '__private unsigned int' and '__private int' [-Wsign-compare] 
    7340 for (unsigned int index = thread; index < bufferSize; index +=
    7341 get_local_size(0)) 
    7342 ~~~~~ ^ ~~~~~~~~~~ 
    7343 program_source:685:45: warning: comparison of integers of different signs:
    7344 'unsigned int' and '__private int' [-Wsign-compare] 
    7345 if (thread%(32*2) == 0 && thread+32 < workGroupSize) 
    7346 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    7347 program_source:689:45: warning: comparison of integers of different signs:
    7348 'unsigned int' and '__private int' [-Wsign-compare] 
    7349 if (thread%(64*2) == 0 && thread+64 < workGroupSize) 
    7350 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    7351 program_source:693:47: warning: comparison of integers of different signs:
    7352 'unsigned int' and '__private int' [-Wsign-compare] 
    7353 if (thread%(128*2) == 0 && thread+128 < workGroupSize) 
    7354 ~~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    7355  
    7356  
    7357 File
    7358 "/Applications/ChimeraX-1.8.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7359 packages/openmm/openmm.py", line 2469, in __init__ 
    7360 _openmm.Context_swiginit(self, _openmm.new_Context(*args)) 
    7361 ^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7362  
    7363 See log for complete Python traceback. 
    7364  
    7365 
    7366 > isolde sim start /A-C,E,D,F
    7367 
    7368 Traceback (most recent call last): 
    7369 File
    7370 "/Applications/ChimeraX-1.8.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7371 packages/chimerax/toolbar/tool.py", line 205, in callback 
    7372 bundle_info.run_provider(session, name, session.toolbar,
    7373 display_name=display_name) 
    7374 File
    7375 "/Applications/ChimeraX-1.8.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7376 packages/chimerax/core/toolshed/info.py", line 397, in run_provider 
    7377 return api._api_caller.run_provider(api, session, name, mgr, **kw) 
    7378 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7379 File
    7380 "/Applications/ChimeraX-1.8.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7381 packages/chimerax/core/toolshed/__init__.py", line 1306, in run_provider 
    7382 return cls._get_func(api, "run_provider")(session, name, mgr, **kw) 
    7383 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7384 File "/Users/qpf328/Library/Application Support/ChimeraX/1.8/lib/python/site-
    7385 packages/chimerax/isolde/__init__.py", line 184, in run_provider 
    7386 toolbar_command(session, name) 
    7387 File "/Users/qpf328/Library/Application Support/ChimeraX/1.8/lib/python/site-
    7388 packages/chimerax/isolde/toolbar.py", line 21, in toolbar_command 
    7389 run(session, f'isolde sim start {_current_residue_sel_string(session)}') 
    7390 File
    7391 "/Applications/ChimeraX-1.8.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7392 packages/chimerax/core/commands/run.py", line 49, in run 
    7393 results = command.run(text, log=log, return_json=return_json) 
    7394 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7395 File
    7396 "/Applications/ChimeraX-1.8.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7397 packages/chimerax/core/commands/cli.py", line 3213, in run 
    7398 result = ci.function(session, **kw_args) 
    7399 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7400 File "/Users/qpf328/Library/Application Support/ChimeraX/1.8/lib/python/site-
    7401 packages/chimerax/isolde/cmd/cmd.py", line 122, in isolde_sim 
    7402 isolde.start_sim() 
    7403 File "/Users/qpf328/Library/Application Support/ChimeraX/1.8/lib/python/site-
    7404 packages/chimerax/isolde/isolde.py", line 896, in start_sim 
    7405 sm.start_sim() 
    7406 File "/Users/qpf328/Library/Application Support/ChimeraX/1.8/lib/python/site-
    7407 packages/chimerax/isolde/openmm/openmm_interface.py", line 401, in start_sim 
    7408 sh.start_sim() 
    7409 File "/Users/qpf328/Library/Application Support/ChimeraX/1.8/lib/python/site-
    7410 packages/chimerax/isolde/openmm/openmm_interface.py", line 1432, in start_sim 
    7411 self._prepare_sim() 
    7412 File "/Users/qpf328/Library/Application Support/ChimeraX/1.8/lib/python/site-
    7413 packages/chimerax/isolde/openmm/openmm_interface.py", line 1377, in
    7414 _prepare_sim 
    7415 s = self._simulation = app.Simulation(self.topology, self._system, 
    7416 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7417 File
    7418 "/Applications/ChimeraX-1.8.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7419 packages/openmm/app/simulation.py", line 103, in __init__ 
    7420 self.context = mm.Context(self.system, self.integrator, platform,
    7421 platformProperties) 
    7422 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7423 File
    7424 "/Applications/ChimeraX-1.8.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7425 packages/openmm/openmm.py", line 2469, in __init__ 
    7426 _openmm.Context_swiginit(self, _openmm.new_Context(*args)) 
    7427 ^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7428 openmm.OpenMMException: Error compiling kernel: program_source:279:1: error:
    7429 illegal string literal in 'asm' 
    7430 DECLARE_REDUCTION_BASE(sum) 
    7431 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7432 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7433 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7434 
    7435 program_source:263:44: note: expanded from macro '\ 
    7436 DECLARE_I_REDUCTION_BASE' 
    7437 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7438 
    7439 program_source:217:40: note: expanded from macro '\ 
    7440 EXPOSE_FUNCTION_I_ARGS_1' 
    7441 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7442 
    7443 program_source:164:9: note: expanded from macro '\ 
    7444 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7445 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7446 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7447 program_source:279:1: error: illegal string literal in 'asm' 
    7448 DECLARE_REDUCTION_BASE(sum) 
    7449 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7450 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7451 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7452 
    7453 program_source:263:44: note: expanded from macro '\ 
    7454 DECLARE_I_REDUCTION_BASE' 
    7455 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7456 
    7457 program_source:218:51: note: expanded from macro '\ 
    7458 EXPOSE_FUNCTION_I_ARGS_1' 
    7459 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7460 
    7461 program_source:164:9: note: expanded from macro '\ 
    7462 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7463 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7464 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7465 program_source:279:1: error: illegal string literal in 'asm' 
    7466 DECLARE_REDUCTION_BASE(sum) 
    7467 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7468 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7469 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7470 
    7471 program_source:264:43: note: expanded from macro '\ 
    7472 DECLARE_I_REDUCTION_BASE' 
    7473 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7474 
    7475 program_source:217:40: note: expanded from macro '\ 
    7476 EXPOSE_FUNCTION_I_ARGS_1' 
    7477 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7478 
    7479 program_source:164:9: note: expanded from macro '\ 
    7480 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7481 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7482 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7483 program_source:279:1: error: illegal string literal in 'asm' 
    7484 DECLARE_REDUCTION_BASE(sum) 
    7485 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7486 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7487 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7488 
    7489 program_source:264:43: note: expanded from macro '\ 
    7490 DECLARE_I_REDUCTION_BASE' 
    7491 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7492 
    7493 program_source:218:51: note: expanded from macro '\ 
    7494 EXPOSE_FUNCTION_I_ARGS_1' 
    7495 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7496 
    7497 program_source:164:9: note: expanded from macro '\ 
    7498 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7499 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7500 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7501 program_source:279:1: error: illegal string literal in 'asm' 
    7502 DECLARE_REDUCTION_BASE(sum) 
    7503 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7504 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7505 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7506 
    7507 program_source:267:44: note: expanded from macro '\ 
    7508 DECLARE_F_REDUCTION_BASE' 
    7509 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    7510 
    7511 program_source:221:40: note: expanded from macro '\ 
    7512 EXPOSE_FUNCTION_F_ARGS_1' 
    7513 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7514 
    7515 program_source:164:9: note: expanded from macro '\ 
    7516 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7517 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7518 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7519 program_source:279:1: error: illegal string literal in 'asm' 
    7520 DECLARE_REDUCTION_BASE(sum) 
    7521 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7522 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7523 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7524 
    7525 program_source:268:43: note: expanded from macro '\ 
    7526 DECLARE_F_REDUCTION_BASE' 
    7527 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    7528 
    7529 program_source:221:40: note: expanded from macro '\ 
    7530 EXPOSE_FUNCTION_F_ARGS_1' 
    7531 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7532 
    7533 program_source:164:9: note: expanded from macro '\ 
    7534 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7535 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7536 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7537 program_source:280:1: error: illegal string literal in 'asm' 
    7538 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7539 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7540 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7541 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7542 
    7543 program_source:263:44: note: expanded from macro '\ 
    7544 DECLARE_I_REDUCTION_BASE' 
    7545 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7546 
    7547 program_source:217:40: note: expanded from macro '\ 
    7548 EXPOSE_FUNCTION_I_ARGS_1' 
    7549 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7550 
    7551 program_source:164:9: note: expanded from macro '\ 
    7552 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7553 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7554 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7555 program_source:280:1: error: illegal string literal in 'asm' 
    7556 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7557 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7558 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7559 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7560 
    7561 program_source:263:44: note: expanded from macro '\ 
    7562 DECLARE_I_REDUCTION_BASE' 
    7563 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7564 
    7565 program_source:218:51: note: expanded from macro '\ 
    7566 EXPOSE_FUNCTION_I_ARGS_1' 
    7567 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7568 
    7569 program_source:164:9: note: expanded from macro '\ 
    7570 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7571 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7572 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7573 program_source:280:1: error: illegal string literal in 'asm' 
    7574 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7575 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7576 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7577 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7578 
    7579 program_source:264:43: note: expanded from macro '\ 
    7580 DECLARE_I_REDUCTION_BASE' 
    7581 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7582 
    7583 program_source:217:40: note: expanded from macro '\ 
    7584 EXPOSE_FUNCTION_I_ARGS_1' 
    7585 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7586 
    7587 program_source:164:9: note: expanded from macro '\ 
    7588 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7589 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7590 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7591 program_source:280:1: error: illegal string literal in 'asm' 
    7592 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7593 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7594 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7595 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7596 
    7597 program_source:264:43: note: expanded from macro '\ 
    7598 DECLARE_I_REDUCTION_BASE' 
    7599 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7600 
    7601 program_source:218:51: note: expanded from macro '\ 
    7602 EXPOSE_FUNCTION_I_ARGS_1' 
    7603 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7604 
    7605 program_source:164:9: note: expanded from macro '\ 
    7606 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7607 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7608 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7609 program_source:280:1: error: illegal string literal in 'asm' 
    7610 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7611 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7612 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7613 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7614 
    7615 program_source:267:44: note: expanded from macro '\ 
    7616 DECLARE_F_REDUCTION_BASE' 
    7617 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    7618 
    7619 program_source:221:40: note: expanded from macro '\ 
    7620 EXPOSE_FUNCTION_F_ARGS_1' 
    7621 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7622 
    7623 program_source:164:9: note: expanded from macro '\ 
    7624 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7625 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7626 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7627 program_source:280:1: error: illegal string literal in 'asm' 
    7628 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7629 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7630 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7631 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7632 
    7633 program_source:268:43: note: expanded from macro '\ 
    7634 DECLARE_F_REDUCTION_BASE' 
    7635 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    7636 
    7637 program_source:221:40: note: expanded from macro '\ 
    7638 EXPOSE_FUNCTION_F_ARGS_1' 
    7639 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7640 
    7641 program_source:164:9: note: expanded from macro '\ 
    7642 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7643 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7644 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7645 program_source:281:1: error: illegal string literal in 'asm' 
    7646 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7647 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7648 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7649 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7650 
    7651 program_source:263:44: note: expanded from macro '\ 
    7652 DECLARE_I_REDUCTION_BASE' 
    7653 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7654 
    7655 program_source:217:40: note: expanded from macro '\ 
    7656 EXPOSE_FUNCTION_I_ARGS_1' 
    7657 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7658 
    7659 program_source:164:9: note: expanded from macro '\ 
    7660 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7661 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7662 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7663 program_source:281:1: error: illegal string literal in 'asm' 
    7664 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7665 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7666 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7667 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7668 
    7669 program_source:263:44: note: expanded from macro '\ 
    7670 DECLARE_I_REDUCTION_BASE' 
    7671 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7672 
    7673 program_source:218:51: note: expanded from macro '\ 
    7674 EXPOSE_FUNCTION_I_ARGS_1' 
    7675 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7676 
    7677 program_source:164:9: note: expanded from macro '\ 
    7678 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7679 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7680 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7681 program_source:281:1: error: illegal string literal in 'asm' 
    7682 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7683 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7684 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7685 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7686 
    7687 program_source:264:43: note: expanded from macro '\ 
    7688 DECLARE_I_REDUCTION_BASE' 
    7689 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7690 
    7691 program_source:217:40: note: expanded from macro '\ 
    7692 EXPOSE_FUNCTION_I_ARGS_1' 
    7693 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7694 
    7695 program_source:164:9: note: expanded from macro '\ 
    7696 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7697 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7698 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7699 program_source:281:1: error: illegal string literal in 'asm' 
    7700 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7701 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7702 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7703 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7704 
    7705 program_source:264:43: note: expanded from macro '\ 
    7706 DECLARE_I_REDUCTION_BASE' 
    7707 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7708 
    7709 program_source:218:51: note: expanded from macro '\ 
    7710 EXPOSE_FUNCTION_I_ARGS_1' 
    7711 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7712 
    7713 program_source:164:9: note: expanded from macro '\ 
    7714 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7715 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7716 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7717 program_source:281:1: error: illegal string literal in 'asm' 
    7718 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7719 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7720 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7721 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7722 
    7723 program_source:267:44: note: expanded from macro '\ 
    7724 DECLARE_F_REDUCTION_BASE' 
    7725 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    7726 
    7727 program_source:221:40: note: expanded from macro '\ 
    7728 EXPOSE_FUNCTION_F_ARGS_1' 
    7729 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7730 
    7731 program_source:164:9: note: expanded from macro '\ 
    7732 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7733 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7734 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7735 program_source:281:1: error: illegal string literal in 'asm' 
    7736 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7737 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7738 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7739 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7740 
    7741 program_source:268:43: note: expanded from macro '\ 
    7742 DECLARE_F_REDUCTION_BASE' 
    7743 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    7744 
    7745 program_source:221:40: note: expanded from macro '\ 
    7746 EXPOSE_FUNCTION_F_ARGS_1' 
    7747 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7748 
    7749 program_source:164:9: note: expanded from macro '\ 
    7750 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7751 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7752 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7753 program_source:282:1: error: illegal string literal in 'asm' 
    7754 DECLARE_REDUCTION_BASE(min) 
    7755 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7756 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7757 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7758 
    7759 program_source:263:44: note: expanded from macro '\ 
    7760 DECLARE_I_REDUCTION_BASE' 
    7761 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7762 
    7763 program_source:217:40: note: expanded from macro '\ 
    7764 EXPOSE_FUNCTION_I_ARGS_1' 
    7765 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7766 
    7767 program_source:164:9: note: expanded from macro '\ 
    7768 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7769 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7770 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7771 program_source:282:1: error: illegal string literal in 'asm' 
    7772 DECLARE_REDUCTION_BASE(min) 
    7773 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7774 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7775 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7776 
    7777 program_source:263:44: note: expanded from macro '\ 
    7778 DECLARE_I_REDUCTION_BASE' 
    7779 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7780 
    7781 program_source:218:51: note: expanded from macro '\ 
    7782 EXPOSE_FUNCTION_I_ARGS_1' 
    7783 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7784 
    7785 program_source:164:9: note: expanded from macro '\ 
    7786 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7787 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7788 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7789 program_source:282:1: error: illegal string literal in 'asm' 
    7790 DECLARE_REDUCTION_BASE(min) 
    7791 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7792 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7793 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7794 
    7795 program_source:264:43: note: expanded from macro '\ 
    7796 DECLARE_I_REDUCTION_BASE' 
    7797 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7798 
    7799 program_source:217:40: note: expanded from macro '\ 
    7800 EXPOSE_FUNCTION_I_ARGS_1' 
    7801 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7802 
    7803 program_source:164:9: note: expanded from macro '\ 
    7804 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7805 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7806 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7807 program_source:282:1: error: illegal string literal in 'asm' 
    7808 DECLARE_REDUCTION_BASE(min) 
    7809 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7810 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7811 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7812 
    7813 program_source:264:43: note: expanded from macro '\ 
    7814 DECLARE_I_REDUCTION_BASE' 
    7815 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7816 
    7817 program_source:218:51: note: expanded from macro '\ 
    7818 EXPOSE_FUNCTION_I_ARGS_1' 
    7819 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7820 
    7821 program_source:164:9: note: expanded from macro '\ 
    7822 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7823 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7824 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7825 program_source:282:1: error: illegal string literal in 'asm' 
    7826 DECLARE_REDUCTION_BASE(min) 
    7827 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7828 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7829 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7830 
    7831 program_source:267:44: note: expanded from macro '\ 
    7832 DECLARE_F_REDUCTION_BASE' 
    7833 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    7834 
    7835 program_source:221:40: note: expanded from macro '\ 
    7836 EXPOSE_FUNCTION_F_ARGS_1' 
    7837 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7838 
    7839 program_source:164:9: note: expanded from macro '\ 
    7840 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7841 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7842 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7843 program_source:282:1: error: illegal string literal in 'asm' 
    7844 DECLARE_REDUCTION_BASE(min) 
    7845 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7846 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7847 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7848 
    7849 program_source:268:43: note: expanded from macro '\ 
    7850 DECLARE_F_REDUCTION_BASE' 
    7851 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    7852 
    7853 program_source:221:40: note: expanded from macro '\ 
    7854 EXPOSE_FUNCTION_F_ARGS_1' 
    7855 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7856 
    7857 program_source:164:9: note: expanded from macro '\ 
    7858 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7859 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7860 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7861 program_source:283:1: error: illegal string literal in 'asm' 
    7862 DECLARE_REDUCTION_BASE(max) 
    7863 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7864 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7865 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7866 
    7867 program_source:263:44: note: expanded from macro '\ 
    7868 DECLARE_I_REDUCTION_BASE' 
    7869 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7870 
    7871 program_source:217:40: note: expanded from macro '\ 
    7872 EXPOSE_FUNCTION_I_ARGS_1' 
    7873 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7874 
    7875 program_source:164:9: note: expanded from macro '\ 
    7876 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7877 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7878 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7879 program_source:283:1: error: illegal string literal in 'asm' 
    7880 DECLARE_REDUCTION_BASE(max) 
    7881 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7882 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7883 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7884 
    7885 program_source:263:44: note: expanded from macro '\ 
    7886 DECLARE_I_REDUCTION_BASE' 
    7887 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7888 
    7889 program_source:218:51: note: expanded from macro '\ 
    7890 EXPOSE_FUNCTION_I_ARGS_1' 
    7891 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7892 
    7893 program_source:164:9: note: expanded from macro '\ 
    7894 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7895 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7896 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7897 program_source:283:1: error: illegal string literal in 'asm' 
    7898 DECLARE_REDUCTION_BASE(max) 
    7899 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7900 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7901 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7902 
    7903 program_source:264:43: note: expanded from macro '\ 
    7904 DECLARE_I_REDUCTION_BASE' 
    7905 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7906 
    7907 program_source:217:40: note: expanded from macro '\ 
    7908 EXPOSE_FUNCTION_I_ARGS_1' 
    7909 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7910 
    7911 program_source:164:9: note: expanded from macro '\ 
    7912 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7913 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7914 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7915 program_source:283:1: error: illegal string literal in 'asm' 
    7916 DECLARE_REDUCTION_BASE(max) 
    7917 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7918 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7919 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7920 
    7921 program_source:264:43: note: expanded from macro '\ 
    7922 DECLARE_I_REDUCTION_BASE' 
    7923 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7924 
    7925 program_source:218:51: note: expanded from macro '\ 
    7926 EXPOSE_FUNCTION_I_ARGS_1' 
    7927 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7928 
    7929 program_source:164:9: note: expanded from macro '\ 
    7930 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7931 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7932 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7933 program_source:283:1: error: illegal string literal in 'asm' 
    7934 DECLARE_REDUCTION_BASE(max) 
    7935 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7936 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7937 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7938 
    7939 program_source:267:44: note: expanded from macro '\ 
    7940 DECLARE_F_REDUCTION_BASE' 
    7941 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    7942 
    7943 program_source:221:40: note: expanded from macro '\ 
    7944 EXPOSE_FUNCTION_F_ARGS_1' 
    7945 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7946 
    7947 program_source:164:9: note: expanded from macro '\ 
    7948 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7949 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7950 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7951 program_source:283:1: error: illegal string literal in 'asm' 
    7952 DECLARE_REDUCTION_BASE(max) 
    7953 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7954 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7955 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7956 
    7957 program_source:268:43: note: expanded from macro '\ 
    7958 DECLARE_F_REDUCTION_BASE' 
    7959 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    7960 
    7961 program_source:221:40: note: expanded from macro '\ 
    7962 EXPOSE_FUNCTION_F_ARGS_1' 
    7963 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7964 
    7965 program_source:164:9: note: expanded from macro '\ 
    7966 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7967 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7968 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7969 program_source:285:1: error: illegal string literal in 'asm' 
    7970 DECLARE_REDUCTION_BASE(product) 
    7971 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7972 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7973 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7974 
    7975 program_source:263:44: note: expanded from macro '\ 
    7976 DECLARE_I_REDUCTION_BASE' 
    7977 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7978 
    7979 program_source:217:40: note: expanded from macro '\ 
    7980 EXPOSE_FUNCTION_I_ARGS_1' 
    7981 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7982 
    7983 program_source:164:9: note: expanded from macro '\ 
    7984 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7985 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7986 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7987 program_source:285:1: error: illegal string literal in 'asm' 
    7988 DECLARE_REDUCTION_BASE(product) 
    7989 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7990 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7991 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7992 
    7993 program_source:263:44: note: expanded from macro '\ 
    7994 DECLARE_I_REDUCTION_BASE' 
    7995 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7996 
    7997 program_source:218:51: note: expanded from macro '\ 
    7998 EXPOSE_FUNCTION_I_ARGS_1' 
    7999 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8000 
    8001 program_source:164:9: note: expanded from macro '\ 
    8002 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8003 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8004 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8005 program_source:285:1: error: illegal string literal in 'asm' 
    8006 DECLARE_REDUCTION_BASE(product) 
    8007 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8008 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8009 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8010 
    8011 program_source:264:43: note: expanded from macro '\ 
    8012 DECLARE_I_REDUCTION_BASE' 
    8013 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8014 
    8015 program_source:217:40: note: expanded from macro '\ 
    8016 EXPOSE_FUNCTION_I_ARGS_1' 
    8017 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8018 
    8019 program_source:164:9: note: expanded from macro '\ 
    8020 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8021 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8022 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8023 program_source:285:1: error: illegal string literal in 'asm' 
    8024 DECLARE_REDUCTION_BASE(product) 
    8025 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8026 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8027 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8028 
    8029 program_source:264:43: note: expanded from macro '\ 
    8030 DECLARE_I_REDUCTION_BASE' 
    8031 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8032 
    8033 program_source:218:51: note: expanded from macro '\ 
    8034 EXPOSE_FUNCTION_I_ARGS_1' 
    8035 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8036 
    8037 program_source:164:9: note: expanded from macro '\ 
    8038 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8039 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8040 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8041 program_source:285:1: error: illegal string literal in 'asm' 
    8042 DECLARE_REDUCTION_BASE(product) 
    8043 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8044 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8045 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8046 
    8047 program_source:267:44: note: expanded from macro '\ 
    8048 DECLARE_F_REDUCTION_BASE' 
    8049 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8050 
    8051 program_source:221:40: note: expanded from macro '\ 
    8052 EXPOSE_FUNCTION_F_ARGS_1' 
    8053 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8054 
    8055 program_source:164:9: note: expanded from macro '\ 
    8056 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8057 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8058 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8059 program_source:285:1: error: illegal string literal in 'asm' 
    8060 DECLARE_REDUCTION_BASE(product) 
    8061 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8062 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8063 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8064 
    8065 program_source:268:43: note: expanded from macro '\ 
    8066 DECLARE_F_REDUCTION_BASE' 
    8067 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8068 
    8069 program_source:221:40: note: expanded from macro '\ 
    8070 EXPOSE_FUNCTION_F_ARGS_1' 
    8071 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8072 
    8073 program_source:164:9: note: expanded from macro '\ 
    8074 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8075 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8076 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8077 program_source:286:1: error: illegal string literal in 'asm' 
    8078 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8079 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8080 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8081 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8082 
    8083 program_source:263:44: note: expanded from macro '\ 
    8084 DECLARE_I_REDUCTION_BASE' 
    8085 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8086 
    8087 program_source:217:40: note: expanded from macro '\ 
    8088 EXPOSE_FUNCTION_I_ARGS_1' 
    8089 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8090 
    8091 program_source:164:9: note: expanded from macro '\ 
    8092 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8093 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8094 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8095 program_source:286:1: error: illegal string literal in 'asm' 
    8096 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8097 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8098 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8099 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8100 
    8101 program_source:263:44: note: expanded from macro '\ 
    8102 DECLARE_I_REDUCTION_BASE' 
    8103 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8104 
    8105 program_source:218:51: note: expanded from macro '\ 
    8106 EXPOSE_FUNCTION_I_ARGS_1' 
    8107 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8108 
    8109 program_source:164:9: note: expanded from macro '\ 
    8110 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8111 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8112 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8113 program_source:286:1: error: illegal string literal in 'asm' 
    8114 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8115 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8116 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8117 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8118 
    8119 program_source:264:43: note: expanded from macro '\ 
    8120 DECLARE_I_REDUCTION_BASE' 
    8121 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8122 
    8123 program_source:217:40: note: expanded from macro '\ 
    8124 EXPOSE_FUNCTION_I_ARGS_1' 
    8125 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8126 
    8127 program_source:164:9: note: expanded from macro '\ 
    8128 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8129 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8130 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8131 program_source:286:1: error: illegal string literal in 'asm' 
    8132 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8133 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8134 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8135 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8136 
    8137 program_source:264:43: note: expanded from macro '\ 
    8138 DECLARE_I_REDUCTION_BASE' 
    8139 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8140 
    8141 program_source:218:51: note: expanded from macro '\ 
    8142 EXPOSE_FUNCTION_I_ARGS_1' 
    8143 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8144 
    8145 program_source:164:9: note: expanded from macro '\ 
    8146 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8147 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8148 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8149 program_source:286:1: error: illegal string literal in 'asm' 
    8150 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8151 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8152 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8153 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8154 
    8155 program_source:267:44: note: expanded from macro '\ 
    8156 DECLARE_F_REDUCTION_BASE' 
    8157 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8158 
    8159 program_source:221:40: note: expanded from macro '\ 
    8160 EXPOSE_FUNCTION_F_ARGS_1' 
    8161 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8162 
    8163 program_source:164:9: note: expanded from macro '\ 
    8164 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8165 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8166 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8167 program_source:286:1: error: illegal string literal in 'asm' 
    8168 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8169 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8170 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8171 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8172 
    8173 program_source:268:43: note: expanded from macro '\ 
    8174 DECLARE_F_REDUCTION_BASE' 
    8175 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8176 
    8177 program_source:221:40: note: expanded from macro '\ 
    8178 EXPOSE_FUNCTION_F_ARGS_1' 
    8179 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8180 
    8181 program_source:164:9: note: expanded from macro '\ 
    8182 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8183 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8184 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8185 program_source:287:1: error: illegal string literal in 'asm' 
    8186 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8187 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8188 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8189 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8190 
    8191 program_source:263:44: note: expanded from macro '\ 
    8192 DECLARE_I_REDUCTION_BASE' 
    8193 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8194 
    8195 program_source:217:40: note: expanded from macro '\ 
    8196 EXPOSE_FUNCTION_I_ARGS_1' 
    8197 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8198 
    8199 program_source:164:9: note: expanded from macro '\ 
    8200 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8201 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8202 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8203 program_source:287:1: error: illegal string literal in 'asm' 
    8204 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8205 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8206 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8207 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8208 
    8209 program_source:263:44: note: expanded from macro '\ 
    8210 DECLARE_I_REDUCTION_BASE' 
    8211 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8212 
    8213 program_source:218:51: note: expanded from macro '\ 
    8214 EXPOSE_FUNCTION_I_ARGS_1' 
    8215 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8216 
    8217 program_source:164:9: note: expanded from macro '\ 
    8218 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8219 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8220 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8221 program_source:287:1: error: illegal string literal in 'asm' 
    8222 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8223 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8224 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8225 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8226 
    8227 program_source:264:43: note: expanded from macro '\ 
    8228 DECLARE_I_REDUCTION_BASE' 
    8229 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8230 
    8231 program_source:217:40: note: expanded from macro '\ 
    8232 EXPOSE_FUNCTION_I_ARGS_1' 
    8233 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8234 
    8235 program_source:164:9: note: expanded from macro '\ 
    8236 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8237 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8238 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8239 program_source:287:1: error: illegal string literal in 'asm' 
    8240 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8241 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8242 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8243 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8244 
    8245 program_source:264:43: note: expanded from macro '\ 
    8246 DECLARE_I_REDUCTION_BASE' 
    8247 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8248 
    8249 program_source:218:51: note: expanded from macro '\ 
    8250 EXPOSE_FUNCTION_I_ARGS_1' 
    8251 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8252 
    8253 program_source:164:9: note: expanded from macro '\ 
    8254 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8255 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8256 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8257 program_source:287:1: error: illegal string literal in 'asm' 
    8258 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8259 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8260 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8261 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8262 
    8263 program_source:267:44: note: expanded from macro '\ 
    8264 DECLARE_F_REDUCTION_BASE' 
    8265 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8266 
    8267 program_source:221:40: note: expanded from macro '\ 
    8268 EXPOSE_FUNCTION_F_ARGS_1' 
    8269 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8270 
    8271 program_source:164:9: note: expanded from macro '\ 
    8272 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8273 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8274 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8275 program_source:287:1: error: illegal string literal in 'asm' 
    8276 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8277 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8278 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8279 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8280 
    8281 program_source:268:43: note: expanded from macro '\ 
    8282 DECLARE_F_REDUCTION_BASE' 
    8283 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8284 
    8285 program_source:221:40: note: expanded from macro '\ 
    8286 EXPOSE_FUNCTION_F_ARGS_1' 
    8287 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8288 
    8289 program_source:164:9: note: expanded from macro '\ 
    8290 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8291 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8292 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8293 program_source:288:1: error: illegal string literal in 'asm' 
    8294 DECLARE_I_REDUCTION_BASE(and) 
    8295 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8296 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8297 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8298 
    8299 program_source:217:40: note: expanded from macro '\ 
    8300 EXPOSE_FUNCTION_I_ARGS_1' 
    8301 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8302 
    8303 program_source:164:9: note: expanded from macro '\ 
    8304 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8305 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8306 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8307 program_source:288:1: error: illegal string literal in 'asm' 
    8308 DECLARE_I_REDUCTION_BASE(and) 
    8309 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8310 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8311 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8312 
    8313 program_source:218:51: note: expanded from macro '\ 
    8314 EXPOSE_FUNCTION_I_ARGS_1' 
    8315 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8316 
    8317 program_source:164:9: note: expanded from macro '\ 
    8318 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8319 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8320 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8321 program_source:288:1: error: illegal string literal in 'asm' 
    8322 DECLARE_I_REDUCTION_BASE(and) 
    8323 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8324 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8325 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8326 
    8327 program_source:217:40: note: expanded from macro '\ 
    8328 EXPOSE_FUNCTION_I_ARGS_1' 
    8329 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8330 
    8331 program_source:164:9: note: expanded from macro '\ 
    8332 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8333 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8334 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8335 program_source:288:1: error: illegal string literal in 'asm' 
    8336 DECLARE_I_REDUCTION_BASE(and) 
    8337 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8338 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8339 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8340 
    8341 program_source:218:51: note: expanded from macro '\ 
    8342 EXPOSE_FUNCTION_I_ARGS_1' 
    8343 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8344 
    8345 program_source:164:9: note: expanded from macro '\ 
    8346 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8347 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8348 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8349 program_source:289:1: error: illegal string literal in 'asm' 
    8350 DECLARE_I_REDUCTION_BASE(or) 
    8351 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8352 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8353 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8354 
    8355 program_source:217:40: note: expanded from macro '\ 
    8356 EXPOSE_FUNCTION_I_ARGS_1' 
    8357 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8358 
    8359 program_source:164:9: note: expanded from macro '\ 
    8360 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8361 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8362 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8363 program_source:289:1: error: illegal string literal in 'asm' 
    8364 DECLARE_I_REDUCTION_BASE(or) 
    8365 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8366 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8367 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8368 
    8369 program_source:218:51: note: expanded from macro '\ 
    8370 EXPOSE_FUNCTION_I_ARGS_1' 
    8371 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8372 
    8373 program_source:164:9: note: expanded from macro '\ 
    8374 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8375 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8376 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8377 program_source:289:1: error: illegal string literal in 'asm' 
    8378 DECLARE_I_REDUCTION_BASE(or) 
    8379 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8380 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8381 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8382 
    8383 program_source:217:40: note: expanded from macro '\ 
    8384 EXPOSE_FUNCTION_I_ARGS_1' 
    8385 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8386 
    8387 program_source:164:9: note: expanded from macro '\ 
    8388 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8389 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8390 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8391 program_source:289:1: error: illegal string literal in 'asm' 
    8392 DECLARE_I_REDUCTION_BASE(or) 
    8393 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8394 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8395 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8396 
    8397 program_source:218:51: note: expanded from macro '\ 
    8398 EXPOSE_FUNCTION_I_ARGS_1' 
    8399 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8400 
    8401 program_source:164:9: note: expanded from macro '\ 
    8402 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8403 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8404 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8405 program_source:290:1: error: illegal string literal in 'asm' 
    8406 DECLARE_I_REDUCTION_BASE(xor) 
    8407 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8408 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8409 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8410 
    8411 program_source:217:40: note: expanded from macro '\ 
    8412 EXPOSE_FUNCTION_I_ARGS_1' 
    8413 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8414 
    8415 program_source:164:9: note: expanded from macro '\ 
    8416 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8417 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8418 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8419 program_source:290:1: error: illegal string literal in 'asm' 
    8420 DECLARE_I_REDUCTION_BASE(xor) 
    8421 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8422 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8423 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8424 
    8425 program_source:218:51: note: expanded from macro '\ 
    8426 EXPOSE_FUNCTION_I_ARGS_1' 
    8427 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8428 
    8429 program_source:164:9: note: expanded from macro '\ 
    8430 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8431 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8432 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8433 program_source:290:1: error: illegal string literal in 'asm' 
    8434 DECLARE_I_REDUCTION_BASE(xor) 
    8435 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8436 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8437 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8438 
    8439 program_source:217:40: note: expanded from macro '\ 
    8440 EXPOSE_FUNCTION_I_ARGS_1' 
    8441 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8442 
    8443 program_source:164:9: note: expanded from macro '\ 
    8444 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8445 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8446 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8447 program_source:290:1: error: illegal string literal in 'asm' 
    8448 DECLARE_I_REDUCTION_BASE(xor) 
    8449 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8450 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8451 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8452 
    8453 program_source:218:51: note: expanded from macro '\ 
    8454 EXPOSE_FUNCTION_I_ARGS_1' 
    8455 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8456 
    8457 program_source:164:9: note: expanded from macro '\ 
    8458 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8459 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8460 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8461 program_source:292:1: error: illegal string literal in 'asm' 
    8462 DECLARE_SHUFFLE_BASE(broadcast) 
    8463 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8464 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8465 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8466 
    8467 program_source:224:38: note: expanded from macro '\ 
    8468 EXPOSE_FUNCTION_ARGS_2' 
    8469 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8470 
    8471 program_source:168:9: note: expanded from macro '\ 
    8472 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8473 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8474 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8475 program_source:292:1: error: illegal string literal in 'asm' 
    8476 DECLARE_SHUFFLE_BASE(broadcast) 
    8477 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8478 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8479 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8480 
    8481 program_source:225:51: note: expanded from macro '\ 
    8482 EXPOSE_FUNCTION_ARGS_2' 
    8483 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8484 
    8485 program_source:168:9: note: expanded from macro '\ 
    8486 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8487 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8488 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8489 program_source:292:1: error: illegal string literal in 'asm' 
    8490 DECLARE_SHUFFLE_BASE(broadcast) 
    8491 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8492 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8493 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8494 
    8495 program_source:226:52: note: expanded from macro '\ 
    8496 EXPOSE_FUNCTION_ARGS_2' 
    8497 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8498 
    8499 program_source:168:9: note: expanded from macro '\ 
    8500 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8501 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8502 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8503 program_source:292:1: error: illegal string literal in 'asm' 
    8504 DECLARE_SHUFFLE_BASE(broadcast) 
    8505 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8506 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8507 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8508 
    8509 program_source:224:38: note: expanded from macro '\ 
    8510 EXPOSE_FUNCTION_ARGS_2' 
    8511 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8512 
    8513 program_source:168:9: note: expanded from macro '\ 
    8514 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8515 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8516 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8517 program_source:292:1: error: illegal string literal in 'asm' 
    8518 DECLARE_SHUFFLE_BASE(broadcast) 
    8519 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8520 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8521 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8522 
    8523 program_source:225:51: note: expanded from macro '\ 
    8524 EXPOSE_FUNCTION_ARGS_2' 
    8525 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8526 
    8527 program_source:168:9: note: expanded from macro '\ 
    8528 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8529 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8530 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8531 program_source:292:1: error: illegal string literal in 'asm' 
    8532 DECLARE_SHUFFLE_BASE(broadcast) 
    8533 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8534 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8535 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8536 
    8537 program_source:226:52: note: expanded from macro '\ 
    8538 EXPOSE_FUNCTION_ARGS_2' 
    8539 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8540 
    8541 program_source:168:9: note: expanded from macro '\ 
    8542 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8543 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8544 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8545 program_source:293:1: error: illegal string literal in 'asm' 
    8546 DECLARE_REDUCTION_BASE(broadcast_first) 
    8547 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8548 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8549 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8550 
    8551 program_source:263:44: note: expanded from macro '\ 
    8552 DECLARE_I_REDUCTION_BASE' 
    8553 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8554 
    8555 program_source:217:40: note: expanded from macro '\ 
    8556 EXPOSE_FUNCTION_I_ARGS_1' 
    8557 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8558 
    8559 program_source:164:9: note: expanded from macro '\ 
    8560 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8561 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8562 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8563 program_source:293:1: error: illegal string literal in 'asm' 
    8564 DECLARE_REDUCTION_BASE(broadcast_first) 
    8565 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8566 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8567 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8568 
    8569 program_source:263:44: note: expanded from macro '\ 
    8570 DECLARE_I_REDUCTION_BASE' 
    8571 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8572 
    8573 program_source:218:51: note: expanded from macro '\ 
    8574 EXPOSE_FUNCTION_I_ARGS_1' 
    8575 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8576 
    8577 program_source:164:9: note: expanded from macro '\ 
    8578 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8579 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8580 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8581 program_source:293:1: error: illegal string literal in 'asm' 
    8582 DECLARE_REDUCTION_BASE(broadcast_first) 
    8583 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8584 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8585 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8586 
    8587 program_source:264:43: note: expanded from macro '\ 
    8588 DECLARE_I_REDUCTION_BASE' 
    8589 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8590 
    8591 program_source:217:40: note: expanded from macro '\ 
    8592 EXPOSE_FUNCTION_I_ARGS_1' 
    8593 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8594 
    8595 program_source:164:9: note: expanded from macro '\ 
    8596 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8597 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8598 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8599 program_source:293:1: error: illegal string literal in 'asm' 
    8600 DECLARE_REDUCTION_BASE(broadcast_first) 
    8601 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8602 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8603 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8604 
    8605 program_source:264:43: note: expanded from macro '\ 
    8606 DECLARE_I_REDUCTION_BASE' 
    8607 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8608 
    8609 program_source:218:51: note: expanded from macro '\ 
    8610 EXPOSE_FUNCTION_I_ARGS_1' 
    8611 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8612 
    8613 program_source:164:9: note: expanded from macro '\ 
    8614 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8615 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8616 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8617 program_source:293:1: error: illegal string literal in 'asm' 
    8618 DECLARE_REDUCTION_BASE(broadcast_first) 
    8619 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8620 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8621 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8622 
    8623 program_source:267:44: note: expanded from macro '\ 
    8624 DECLARE_F_REDUCTION_BASE' 
    8625 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8626 
    8627 program_source:221:40: note: expanded from macro '\ 
    8628 EXPOSE_FUNCTION_F_ARGS_1' 
    8629 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8630 
    8631 program_source:164:9: note: expanded from macro '\ 
    8632 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8633 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8634 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8635 program_source:293:1: error: illegal string literal in 'asm' 
    8636 DECLARE_REDUCTION_BASE(broadcast_first) 
    8637 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8638 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8639 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8640 
    8641 program_source:268:43: note: expanded from macro '\ 
    8642 DECLARE_F_REDUCTION_BASE' 
    8643 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8644 
    8645 program_source:221:40: note: expanded from macro '\ 
    8646 EXPOSE_FUNCTION_F_ARGS_1' 
    8647 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8648 
    8649 program_source:164:9: note: expanded from macro '\ 
    8650 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8651 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8652 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8653 program_source:295:1: error: illegal string literal in 'asm' 
    8654 DECLARE_SHUFFLE_BASE(shuffle) 
    8655 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8656 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8657 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8658 
    8659 program_source:224:38: note: expanded from macro '\ 
    8660 EXPOSE_FUNCTION_ARGS_2' 
    8661 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8662 
    8663 program_source:168:9: note: expanded from macro '\ 
    8664 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8665 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8666 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8667 program_source:295:1: error: illegal string literal in 'asm' 
    8668 DECLARE_SHUFFLE_BASE(shuffle) 
    8669 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8670 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8671 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8672 
    8673 program_source:225:51: note: expanded from macro '\ 
    8674 EXPOSE_FUNCTION_ARGS_2' 
    8675 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8676 
    8677 program_source:168:9: note: expanded from macro '\ 
    8678 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8679 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8680 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8681 program_source:295:1: error: illegal string literal in 'asm' 
    8682 DECLARE_SHUFFLE_BASE(shuffle) 
    8683 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8684 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8685 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8686 
    8687 program_source:226:52: note: expanded from macro '\ 
    8688 EXPOSE_FUNCTION_ARGS_2' 
    8689 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8690 
    8691 program_source:168:9: note: expanded from macro '\ 
    8692 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8693 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8694 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8695 program_source:295:1: error: illegal string literal in 'asm' 
    8696 DECLARE_SHUFFLE_BASE(shuffle) 
    8697 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8698 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8699 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8700 
    8701 program_source:224:38: note: expanded from macro '\ 
    8702 EXPOSE_FUNCTION_ARGS_2' 
    8703 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8704 
    8705 program_source:168:9: note: expanded from macro '\ 
    8706 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8707 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8708 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8709 program_source:295:1: error: illegal string literal in 'asm' 
    8710 DECLARE_SHUFFLE_BASE(shuffle) 
    8711 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8712 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8713 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8714 
    8715 program_source:225:51: note: expanded from macro '\ 
    8716 EXPOSE_FUNCTION_ARGS_2' 
    8717 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8718 
    8719 program_source:168:9: note: expanded from macro '\ 
    8720 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8721 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8722 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8723 program_source:295:1: error: illegal string literal in 'asm' 
    8724 DECLARE_SHUFFLE_BASE(shuffle) 
    8725 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8726 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8727 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8728 
    8729 program_source:226:52: note: expanded from macro '\ 
    8730 EXPOSE_FUNCTION_ARGS_2' 
    8731 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8732 
    8733 program_source:168:9: note: expanded from macro '\ 
    8734 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8735 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8736 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8737 program_source:296:1: error: illegal string literal in 'asm' 
    8738 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    8739 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8740 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8741 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8742 
    8743 program_source:224:38: note: expanded from macro '\ 
    8744 EXPOSE_FUNCTION_ARGS_2' 
    8745 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8746 
    8747 program_source:168:9: note: expanded from macro '\ 
    8748 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8749 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8750 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8751 program_source:296:1: error: illegal string literal in 'asm' 
    8752 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    8753 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8754 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8755 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8756 
    8757 program_source:225:51: note: expanded from macro '\ 
    8758 EXPOSE_FUNCTION_ARGS_2' 
    8759 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8760 
    8761 program_source:168:9: note: expanded from macro '\ 
    8762 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8763 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8764 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8765 program_source:296:1: error: illegal string literal in 'asm' 
    8766 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    8767 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8768 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8769 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8770 
    8771 program_source:226:52: note: expanded from macro '\ 
    8772 EXPOSE_FUNCTION_ARGS_2' 
    8773 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8774 
    8775 program_source:168:9: note: expanded from macro '\ 
    8776 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8777 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8778 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8779 program_source:296:1: error: illegal string literal in 'asm' 
    8780 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    8781 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8782 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8783 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8784 
    8785 program_source:224:38: note: expanded from macro '\ 
    8786 EXPOSE_FUNCTION_ARGS_2' 
    8787 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8788 
    8789 program_source:168:9: note: expanded from macro '\ 
    8790 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8791 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8792 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8793 program_source:296:1: error: illegal string literal in 'asm' 
    8794 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    8795 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8796 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8797 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8798 
    8799 program_source:225:51: note: expanded from macro '\ 
    8800 EXPOSE_FUNCTION_ARGS_2' 
    8801 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8802 
    8803 program_source:168:9: note: expanded from macro '\ 
    8804 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8805 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8806 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8807 program_source:296:1: error: illegal string literal in 'asm' 
    8808 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    8809 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8810 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8811 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8812 
    8813 program_source:226:52: note: expanded from macro '\ 
    8814 EXPOSE_FUNCTION_ARGS_2' 
    8815 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8816 
    8817 program_source:168:9: note: expanded from macro '\ 
    8818 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8819 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8820 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8821 program_source:297:1: error: illegal string literal in 'asm' 
    8822 DECLARE_SHUFFLE_BASE(shuffle_up) 
    8823 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8824 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8825 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8826 
    8827 program_source:224:38: note: expanded from macro '\ 
    8828 EXPOSE_FUNCTION_ARGS_2' 
    8829 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8830 
    8831 program_source:168:9: note: expanded from macro '\ 
    8832 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8833 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8834 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8835 program_source:297:1: error: illegal string literal in 'asm' 
    8836 DECLARE_SHUFFLE_BASE(shuffle_up) 
    8837 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8838 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8839 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8840 
    8841 program_source:225:51: note: expanded from macro '\ 
    8842 EXPOSE_FUNCTION_ARGS_2' 
    8843 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8844 
    8845 program_source:168:9: note: expanded from macro '\ 
    8846 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8847 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8848 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8849 program_source:297:1: error: illegal string literal in 'asm' 
    8850 DECLARE_SHUFFLE_BASE(shuffle_up) 
    8851 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8852 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8853 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8854 
    8855 program_source:226:52: note: expanded from macro '\ 
    8856 EXPOSE_FUNCTION_ARGS_2' 
    8857 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8858 
    8859 program_source:168:9: note: expanded from macro '\ 
    8860 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8861 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8862 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8863 program_source:297:1: error: illegal string literal in 'asm' 
    8864 DECLARE_SHUFFLE_BASE(shuffle_up) 
    8865 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8866 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8867 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8868 
    8869 program_source:224:38: note: expanded from macro '\ 
    8870 EXPOSE_FUNCTION_ARGS_2' 
    8871 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8872 
    8873 program_source:168:9: note: expanded from macro '\ 
    8874 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8875 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8876 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8877 program_source:297:1: error: illegal string literal in 'asm' 
    8878 DECLARE_SHUFFLE_BASE(shuffle_up) 
    8879 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8880 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8881 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8882 
    8883 program_source:225:51: note: expanded from macro '\ 
    8884 EXPOSE_FUNCTION_ARGS_2' 
    8885 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8886 
    8887 program_source:168:9: note: expanded from macro '\ 
    8888 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8889 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8890 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8891 program_source:297:1: error: illegal string literal in 'asm' 
    8892 DECLARE_SHUFFLE_BASE(shuffle_up) 
    8893 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8894 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8895 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8896 
    8897 program_source:226:52: note: expanded from macro '\ 
    8898 EXPOSE_FUNCTION_ARGS_2' 
    8899 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8900 
    8901 program_source:168:9: note: expanded from macro '\ 
    8902 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8903 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8904 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8905 program_source:298:1: error: illegal string literal in 'asm' 
    8906 DECLARE_SHUFFLE_BASE(shuffle_down) 
    8907 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8908 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8909 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8910 
    8911 program_source:224:38: note: expanded from macro '\ 
    8912 EXPOSE_FUNCTION_ARGS_2' 
    8913 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8914 
    8915 program_source:168:9: note: expanded from macro '\ 
    8916 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8917 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8918 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8919 program_source:298:1: error: illegal string literal in 'asm' 
    8920 DECLARE_SHUFFLE_BASE(shuffle_down) 
    8921 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8922 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8923 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8924 
    8925 program_source:225:51: note: expanded from macro '\ 
    8926 EXPOSE_FUNCTION_ARGS_2' 
    8927 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8928 
    8929 program_source:168:9: note: expanded from macro '\ 
    8930 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8931 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8932 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8933 program_source:298:1: error: illegal string literal in 'asm' 
    8934 DECLARE_SHUFFLE_BASE(shuffle_down) 
    8935 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8936 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8937 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8938 
    8939 program_source:226:52: note: expanded from macro '\ 
    8940 EXPOSE_FUNCTION_ARGS_2' 
    8941 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8942 
    8943 program_source:168:9: note: expanded from macro '\ 
    8944 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8945 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8946 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8947 program_source:298:1: error: illegal string literal in 'asm' 
    8948 DECLARE_SHUFFLE_BASE(shuffle_down) 
    8949 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8950 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8951 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8952 
    8953 program_source:224:38: note: expanded from macro '\ 
    8954 EXPOSE_FUNCTION_ARGS_2' 
    8955 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8956 
    8957 program_source:168:9: note: expanded from macro '\ 
    8958 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8959 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8960 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8961 program_source:298:1: error: illegal string literal in 'asm' 
    8962 DECLARE_SHUFFLE_BASE(shuffle_down) 
    8963 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8964 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8965 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8966 
    8967 program_source:225:51: note: expanded from macro '\ 
    8968 EXPOSE_FUNCTION_ARGS_2' 
    8969 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8970 
    8971 program_source:168:9: note: expanded from macro '\ 
    8972 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8973 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8974 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8975 program_source:298:1: error: illegal string literal in 'asm' 
    8976 DECLARE_SHUFFLE_BASE(shuffle_down) 
    8977 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8978 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8979 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8980 
    8981 program_source:226:52: note: expanded from macro '\ 
    8982 EXPOSE_FUNCTION_ARGS_2' 
    8983 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8984 
    8985 program_source:168:9: note: expanded from macro '\ 
    8986 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8987 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8988 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8989 program_source:299:1: error: illegal string literal in 'asm' 
    8990 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    8991 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8992 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8993 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8994 
    8995 program_source:224:38: note: expanded from macro '\ 
    8996 EXPOSE_FUNCTION_ARGS_2' 
    8997 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8998 
    8999 program_source:168:9: note: expanded from macro '\ 
    9000 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9001 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9002 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9003 program_source:299:1: error: illegal string literal in 'asm' 
    9004 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    9005 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9006 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9007 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9008 
    9009 program_source:225:51: note: expanded from macro '\ 
    9010 EXPOSE_FUNCTION_ARGS_2' 
    9011 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9012 
    9013 program_source:168:9: note: expanded from macro '\ 
    9014 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9015 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9016 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9017 program_source:299:1: error: illegal string literal in 'asm' 
    9018 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    9019 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9020 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9021 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9022 
    9023 program_source:226:52: note: expanded from macro '\ 
    9024 EXPOSE_FUNCTION_ARGS_2' 
    9025 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9026 
    9027 program_source:168:9: note: expanded from macro '\ 
    9028 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9029 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9030 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9031 program_source:299:1: error: illegal string literal in 'asm' 
    9032 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    9033 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9034 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9035 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9036 
    9037 program_source:224:38: note: expanded from macro '\ 
    9038 EXPOSE_FUNCTION_ARGS_2' 
    9039 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9040 
    9041 program_source:168:9: note: expanded from macro '\ 
    9042 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9043 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9044 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9045 program_source:299:1: error: illegal string literal in 'asm' 
    9046 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    9047 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9048 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9049 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9050 
    9051 program_source:225:51: note: expanded from macro '\ 
    9052 EXPOSE_FUNCTION_ARGS_2' 
    9053 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9054 
    9055 program_source:168:9: note: expanded from macro '\ 
    9056 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9057 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9058 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9059 program_source:299:1: error: illegal string literal in 'asm' 
    9060 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    9061 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9062 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9063 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9064 
    9065 program_source:226:52: note: expanded from macro '\ 
    9066 EXPOSE_FUNCTION_ARGS_2' 
    9067 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9068 
    9069 program_source:168:9: note: expanded from macro '\ 
    9070 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9071 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9072 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9073 program_source:300:1: error: illegal string literal in 'asm' 
    9074 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9075 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9076 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9077 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9078 
    9079 program_source:224:38: note: expanded from macro '\ 
    9080 EXPOSE_FUNCTION_ARGS_2' 
    9081 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9082 
    9083 program_source:168:9: note: expanded from macro '\ 
    9084 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9085 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9086 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9087 program_source:300:1: error: illegal string literal in 'asm' 
    9088 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9089 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9090 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9091 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9092 
    9093 program_source:225:51: note: expanded from macro '\ 
    9094 EXPOSE_FUNCTION_ARGS_2' 
    9095 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9096 
    9097 program_source:168:9: note: expanded from macro '\ 
    9098 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9099 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9100 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9101 program_source:300:1: error: illegal string literal in 'asm' 
    9102 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9103 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9104 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9105 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9106 
    9107 program_source:226:52: note: expanded from macro '\ 
    9108 EXPOSE_FUNCTION_ARGS_2' 
    9109 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9110 
    9111 program_source:168:9: note: expanded from macro '\ 
    9112 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9113 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9114 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9115 program_source:300:1: error: illegal string literal in 'asm' 
    9116 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9117 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9118 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9119 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9120 
    9121 program_source:224:38: note: expanded from macro '\ 
    9122 EXPOSE_FUNCTION_ARGS_2' 
    9123 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9124 
    9125 program_source:168:9: note: expanded from macro '\ 
    9126 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9127 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9128 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9129 program_source:300:1: error: illegal string literal in 'asm' 
    9130 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9131 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9132 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9133 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9134 
    9135 program_source:225:51: note: expanded from macro '\ 
    9136 EXPOSE_FUNCTION_ARGS_2' 
    9137 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9138 
    9139 program_source:168:9: note: expanded from macro '\ 
    9140 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9141 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9142 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9143 program_source:300:1: error: illegal string literal in 'asm' 
    9144 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9145 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9146 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9147 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9148 
    9149 program_source:226:52: note: expanded from macro '\ 
    9150 EXPOSE_FUNCTION_ARGS_2' 
    9151 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9152 
    9153 program_source:168:9: note: expanded from macro '\ 
    9154 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9155 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9156 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9157 program_source:302:1: error: illegal string literal in 'asm' 
    9158 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    9159 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9160 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    9161 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    9162 
    9163 program_source:172:9: note: expanded from macro '\ 
    9164 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    9165 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9166 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9167 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    9168 is invalid in OpenCL 
    9169 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    9170 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    9171 
    9172 program_source:175:10: note: expanded from macro '\ 
    9173 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    9174 return ___metal_##EXPR(x, false); \ 
    9175 
    9176 <scratch space>:12:1: note: expanded from here 
    9177 ___metal_ctz 
    9178 
    9179 program_source:302:1: error: illegal string literal in 'asm' 
    9180 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    9181 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9182 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    9183 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    9184 
    9185 program_source:172:9: note: expanded from macro '\ 
    9186 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    9187 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9188 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9189 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    9190 is invalid in OpenCL 
    9191 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    9192 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    9193 
    9194 program_source:175:10: note: expanded from macro '\ 
    9195 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    9196 return ___metal_##EXPR(x, false); \ 
    9197 
    9198 <scratch space>:16:1: note: expanded from here 
    9199 ___metal_ctz 
    9200 
    9201 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    9202 invalid in OpenCL 
    9203 DECLARE_REDUCTION_UNIFORM(sum, reduce_add) 
    9204 
    9205 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9206 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9207 
    9208 program_source:305:26: note: expanded from macro '\ 
    9209 DECLARE_I_REDUCTION_UNIFORM' 
    9210 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9211 
    9212 <scratch space>:17:1: note: expanded from here 
    9213 simd_sum 
    9214 
    9215 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    9216 invalid in OpenCL 
    9217 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9218 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9219 
    9220 program_source:305:26: note: expanded from macro '\ 
    9221 DECLARE_I_REDUCTION_UNIFORM' 
    9222 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9223 
    9224 <scratch space>:17:1: note: expanded from here 
    9225 simd_sum 
    9226 
    9227 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    9228 invalid in OpenCL 
    9229 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9230 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9231 
    9232 program_source:308:26: note: expanded from macro '\ 
    9233 DECLARE_F_REDUCTION_UNIFORM' 
    9234 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9235 
    9236 <scratch space>:19:1: note: expanded from here 
    9237 simd_sum 
    9238 
    9239 program_source:318:1: error: implicit declaration of function
    9240 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9241 DECLARE_REDUCTION_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    9242 
    9243 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9244 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9245 
    9246 program_source:305:26: note: expanded from macro '\ 
    9247 DECLARE_I_REDUCTION_UNIFORM' 
    9248 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9249 
    9250 <scratch space>:21:1: note: expanded from here 
    9251 simd_prefix_inclusive_sum 
    9252 
    9253 program_source:318:1: error: implicit declaration of function
    9254 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9255 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9256 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9257 
    9258 program_source:305:26: note: expanded from macro '\ 
    9259 DECLARE_I_REDUCTION_UNIFORM' 
    9260 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9261 
    9262 <scratch space>:21:1: note: expanded from here 
    9263 simd_prefix_inclusive_sum 
    9264 
    9265 program_source:318:1: error: implicit declaration of function
    9266 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9267 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9268 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9269 
    9270 program_source:308:26: note: expanded from macro '\ 
    9271 DECLARE_F_REDUCTION_UNIFORM' 
    9272 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9273 
    9274 <scratch space>:23:1: note: expanded from here 
    9275 simd_prefix_inclusive_sum 
    9276 
    9277 program_source:319:1: error: implicit declaration of function
    9278 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9279 DECLARE_REDUCTION_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    9280 
    9281 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9282 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9283 
    9284 program_source:305:26: note: expanded from macro '\ 
    9285 DECLARE_I_REDUCTION_UNIFORM' 
    9286 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9287 
    9288 <scratch space>:25:1: note: expanded from here 
    9289 simd_prefix_exclusive_sum 
    9290 
    9291 program_source:319:1: error: implicit declaration of function
    9292 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9293 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9294 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9295 
    9296 program_source:305:26: note: expanded from macro '\ 
    9297 DECLARE_I_REDUCTION_UNIFORM' 
    9298 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9299 
    9300 <scratch space>:25:1: note: expanded from here 
    9301 simd_prefix_exclusive_sum 
    9302 
    9303 program_source:319:1: error: implicit declaration of function
    9304 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9305 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9306 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9307 
    9308 program_source:308:26: note: expanded from macro '\ 
    9309 DECLARE_F_REDUCTION_UNIFORM' 
    9310 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9311 
    9312 <scratch space>:27:1: note: expanded from here 
    9313 simd_prefix_exclusive_sum 
    9314 
    9315 program_source:320:1: error: implicit declaration of function 'simd_min' is
    9316 invalid in OpenCL 
    9317 DECLARE_REDUCTION_UNIFORM(min, reduce_min) 
    9318 
    9319 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9320 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9321 
    9322 program_source:305:26: note: expanded from macro '\ 
    9323 DECLARE_I_REDUCTION_UNIFORM' 
    9324 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9325 
    9326 <scratch space>:29:1: note: expanded from here 
    9327 simd_min 
    9328 
    9329 program_source:320:1: error: implicit declaration of function 'simd_min' is
    9330 invalid in OpenCL 
    9331 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9332 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9333 
    9334 program_source:305:26: note: expanded from macro '\ 
    9335 DECLARE_I_REDUCTION_UNIFORM' 
    9336 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9337 
    9338 <scratch space>:29:1: note: expanded from here 
    9339 simd_min 
    9340 
    9341 program_source:320:1: error: implicit declaration of function 'simd_min' is
    9342 invalid in OpenCL 
    9343 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9344 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9345 
    9346 program_source:308:26: note: expanded from macro '\ 
    9347 DECLARE_F_REDUCTION_UNIFORM' 
    9348 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9349 
    9350 <scratch space>:31:1: note: expanded from here 
    9351 simd_min 
    9352 
    9353 program_source:321:1: error: implicit declaration of function 'simd_max' is
    9354 invalid in OpenCL 
    9355 DECLARE_REDUCTION_UNIFORM(max, reduce_max) 
    9356 
    9357 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9358 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9359 
    9360 program_source:305:26: note: expanded from macro '\ 
    9361 DECLARE_I_REDUCTION_UNIFORM' 
    9362 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9363 
    9364 <scratch space>:33:1: note: expanded from here 
    9365 simd_max 
    9366 
    9367 program_source:321:1: error: implicit declaration of function 'simd_max' is
    9368 invalid in OpenCL 
    9369 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9370 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9371 
    9372 program_source:305:26: note: expanded from macro '\ 
    9373 DECLARE_I_REDUCTION_UNIFORM' 
    9374 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9375 
    9376 <scratch space>:33:1: note: expanded from here 
    9377 simd_max 
    9378 
    9379 program_source:321:1: error: implicit declaration of function 'simd_max' is
    9380 invalid in OpenCL 
    9381 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9382 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9383 
    9384 program_source:308:26: note: expanded from macro '\ 
    9385 DECLARE_F_REDUCTION_UNIFORM' 
    9386 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9387 
    9388 <scratch space>:35:1: note: expanded from here 
    9389 simd_max 
    9390 
    9391 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    9392 is invalid in OpenCL 
    9393 DECLARE_SHUFFLE_UNIFORM(shuffle, shuffle) 
    9394 
    9395 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9396 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9397 
    9398 <scratch space>:37:1: note: expanded from here 
    9399 simd_shuffle 
    9400 
    9401 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    9402 is invalid in OpenCL 
    9403 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9404 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9405 
    9406 <scratch space>:37:1: note: expanded from here 
    9407 simd_shuffle 
    9408 
    9409 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    9410 is invalid in OpenCL 
    9411 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9412 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9413 
    9414 <scratch space>:37:1: note: expanded from here 
    9415 simd_shuffle 
    9416 
    9417 program_source:324:1: error: implicit declaration of function
    9418 'simd_shuffle_xor' is invalid in OpenCL 
    9419 DECLARE_SHUFFLE_UNIFORM(shuffle_xor, shuffle_xor) 
    9420 
    9421 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9422 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9423 
    9424 <scratch space>:39:1: note: expanded from here 
    9425 simd_shuffle_xor 
    9426 
    9427 program_source:324:1: error: implicit declaration of function
    9428 'simd_shuffle_xor' is invalid in OpenCL 
    9429 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9430 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9431 
    9432 <scratch space>:39:1: note: expanded from here 
    9433 simd_shuffle_xor 
    9434 
    9435 program_source:324:1: error: implicit declaration of function
    9436 'simd_shuffle_xor' is invalid in OpenCL 
    9437 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9438 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9439 
    9440 <scratch space>:39:1: note: expanded from here 
    9441 simd_shuffle_xor 
    9442 
    9443 program_source:325:1: error: implicit declaration of function
    9444 'simd_shuffle_up' is invalid in OpenCL 
    9445 DECLARE_SHUFFLE_UNIFORM(shuffle_up, shuffle_up) 
    9446 
    9447 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9448 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9449 
    9450 <scratch space>:41:1: note: expanded from here 
    9451 simd_shuffle_up 
    9452 
    9453 program_source:325:1: error: implicit declaration of function
    9454 'simd_shuffle_up' is invalid in OpenCL 
    9455 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9456 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9457 
    9458 <scratch space>:41:1: note: expanded from here 
    9459 simd_shuffle_up 
    9460 
    9461 program_source:325:1: error: implicit declaration of function
    9462 'simd_shuffle_up' is invalid in OpenCL 
    9463 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9464 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9465 
    9466 <scratch space>:41:1: note: expanded from here 
    9467 simd_shuffle_up 
    9468 
    9469 program_source:326:1: error: implicit declaration of function
    9470 'simd_shuffle_down' is invalid in OpenCL 
    9471 DECLARE_SHUFFLE_UNIFORM(shuffle_down, shuffle_down) 
    9472 
    9473 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9474 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9475 
    9476 <scratch space>:43:1: note: expanded from here 
    9477 simd_shuffle_down 
    9478 
    9479 program_source:326:1: error: implicit declaration of function
    9480 'simd_shuffle_down' is invalid in OpenCL 
    9481 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9482 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9483 
    9484 <scratch space>:43:1: note: expanded from here 
    9485 simd_shuffle_down 
    9486 
    9487 program_source:326:1: error: implicit declaration of function
    9488 'simd_shuffle_down' is invalid in OpenCL 
    9489 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9490 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9491 
    9492 <scratch space>:43:1: note: expanded from here 
    9493 simd_shuffle_down 
    9494 
    9495 program_source:327:1: error: implicit declaration of function
    9496 'simd_shuffle_rotate_down' is invalid in OpenCL 
    9497 DECLARE_SHUFFLE_UNIFORM(shuffle_rotate_down, rotate) 
    9498 
    9499 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9500 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9501 
    9502 <scratch space>:45:1: note: expanded from here 
    9503 simd_shuffle_rotate_down 
    9504 
    9505 program_source:327:1: error: implicit declaration of function
    9506 'simd_shuffle_rotate_down' is invalid in OpenCL 
    9507 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9508 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9509 
    9510 <scratch space>:45:1: note: expanded from here 
    9511 simd_shuffle_rotate_down 
    9512 
    9513 program_source:327:1: error: implicit declaration of function
    9514 'simd_shuffle_rotate_down' is invalid in OpenCL 
    9515 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9516 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9517 
    9518 <scratch space>:45:1: note: expanded from here 
    9519 simd_shuffle_rotate_down 
    9520 
    9521 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    9522 is invalid in OpenCL 
    9523 DECLARE_SHUFFLE_UNIFORM(broadcast, broadcast) 
    9524 
    9525 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9526 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9527 
    9528 <scratch space>:47:1: note: expanded from here 
    9529 simd_broadcast 
    9530 
    9531 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    9532 is invalid in OpenCL 
    9533 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9534 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9535 
    9536 <scratch space>:47:1: note: expanded from here 
    9537 simd_broadcast 
    9538 
    9539 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    9540 is invalid in OpenCL 
    9541 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9542 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9543 
    9544 <scratch space>:47:1: note: expanded from here 
    9545 simd_broadcast 
    9546 
    9547 program_source:330:1: error: implicit declaration of function
    9548 'simd_broadcast_first' is invalid in OpenCL 
    9549 DECLARE_REDUCTION_UNIFORM(broadcast_first, broadcast_first) 
    9550 
    9551 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9552 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9553 
    9554 program_source:305:26: note: expanded from macro '\ 
    9555 DECLARE_I_REDUCTION_UNIFORM' 
    9556 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9557 
    9558 <scratch space>:49:1: note: expanded from here 
    9559 simd_broadcast_first 
    9560 
    9561 program_source:330:1: error: implicit declaration of function
    9562 'simd_broadcast_first' is invalid in OpenCL 
    9563 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9564 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9565 
    9566 program_source:305:26: note: expanded from macro '\ 
    9567 DECLARE_I_REDUCTION_UNIFORM' 
    9568 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9569 
    9570 <scratch space>:49:1: note: expanded from here 
    9571 simd_broadcast_first 
    9572 
    9573 program_source:330:1: error: implicit declaration of function
    9574 'simd_broadcast_first' is invalid in OpenCL 
    9575 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9576 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9577 
    9578 program_source:308:26: note: expanded from macro '\ 
    9579 DECLARE_F_REDUCTION_UNIFORM' 
    9580 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9581 
    9582 <scratch space>:51:1: note: expanded from here 
    9583 simd_broadcast_first 
    9584 
    9585 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    9586 invalid in OpenCL 
    9587 DECLARE_REDUCTION_NON_UNIFORM(sum, reduce_add) 
    9588 
    9589 program_source:338:60: note: expanded from macro
    9590 'DECLARE_REDUCTION_NON_UNIFORM' 
    9591 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9592 
    9593 program_source:333:26: note: expanded from macro '\ 
    9594 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9595 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9596 
    9597 <scratch space>:53:1: note: expanded from here 
    9598 simd_sum 
    9599 
    9600 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    9601 invalid in OpenCL 
    9602 program_source:338:60: note: expanded from macro
    9603 'DECLARE_REDUCTION_NON_UNIFORM' 
    9604 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9605 
    9606 program_source:333:26: note: expanded from macro '\ 
    9607 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9608 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9609 
    9610 <scratch space>:53:1: note: expanded from here 
    9611 simd_sum 
    9612 
    9613 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    9614 invalid in OpenCL 
    9615 program_source:339:54: note: expanded from macro
    9616 'DECLARE_REDUCTION_NON_UNIFORM' 
    9617 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9618 
    9619 program_source:336:26: note: expanded from macro '\ 
    9620 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9621 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9622 
    9623 <scratch space>:55:1: note: expanded from here 
    9624 simd_sum 
    9625 
    9626 program_source:346:1: error: implicit declaration of function
    9627 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9628 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    9629 
    9630 program_source:338:60: note: expanded from macro
    9631 'DECLARE_REDUCTION_NON_UNIFORM' 
    9632 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9633 
    9634 program_source:333:26: note: expanded from macro '\ 
    9635 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9636 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9637 
    9638 <scratch space>:57:1: note: expanded from here 
    9639 simd_prefix_inclusive_sum 
    9640 
    9641 program_source:346:1: error: implicit declaration of function
    9642 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9643 program_source:338:60: note: expanded from macro
    9644 'DECLARE_REDUCTION_NON_UNIFORM' 
    9645 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9646 
    9647 program_source:333:26: note: expanded from macro '\ 
    9648 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9649 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9650 
    9651 <scratch space>:57:1: note: expanded from here 
    9652 simd_prefix_inclusive_sum 
    9653 
    9654 program_source:346:1: error: implicit declaration of function
    9655 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9656 program_source:339:54: note: expanded from macro
    9657 'DECLARE_REDUCTION_NON_UNIFORM' 
    9658 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9659 
    9660 program_source:336:26: note: expanded from macro '\ 
    9661 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9662 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9663 
    9664 <scratch space>:59:1: note: expanded from here 
    9665 simd_prefix_inclusive_sum 
    9666 
    9667 program_source:347:1: error: implicit declaration of function
    9668 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9669 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    9670 
    9671 program_source:338:60: note: expanded from macro
    9672 'DECLARE_REDUCTION_NON_UNIFORM' 
    9673 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9674 
    9675 program_source:333:26: note: expanded from macro '\ 
    9676 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9677 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9678 
    9679 <scratch space>:61:1: note: expanded from here 
    9680 simd_prefix_exclusive_sum 
    9681 
    9682 program_source:347:1: error: implicit declaration of function
    9683 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9684 program_source:338:60: note: expanded from macro
    9685 'DECLARE_REDUCTION_NON_UNIFORM' 
    9686 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9687 
    9688 program_source:333:26: note: expanded from macro '\ 
    9689 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9690 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9691 
    9692 <scratch space>:61:1: note: expanded from here 
    9693 simd_prefix_exclusive_sum 
    9694 
    9695 program_source:347:1: error: implicit declaration of function
    9696 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9697 program_source:339:54: note: expanded from macro
    9698 'DECLARE_REDUCTION_NON_UNIFORM' 
    9699 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9700 
    9701 program_source:336:26: note: expanded from macro '\ 
    9702 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9703 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9704 
    9705 <scratch space>:63:1: note: expanded from here 
    9706 simd_prefix_exclusive_sum 
    9707 
    9708 program_source:348:1: error: implicit declaration of function 'simd_min' is
    9709 invalid in OpenCL 
    9710 DECLARE_REDUCTION_NON_UNIFORM(min, reduce_min) 
    9711 
    9712 program_source:338:60: note: expanded from macro
    9713 'DECLARE_REDUCTION_NON_UNIFORM' 
    9714 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9715 
    9716 program_source:333:26: note: expanded from macro '\ 
    9717 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9718 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9719 
    9720 <scratch space>:65:1: note: expanded from here 
    9721 simd_min 
    9722 
    9723 program_source:348:1: error: implicit declaration of function 'simd_min' is
    9724 invalid in OpenCL 
    9725 program_source:338:60: note: expanded from macro
    9726 'DECLARE_REDUCTION_NON_UNIFORM' 
    9727 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9728 
    9729 program_source:333:26: note: expanded from macro '\ 
    9730 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9731 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9732 
    9733 <scratch space>:65:1: note: expanded from here 
    9734 simd_min 
    9735 
    9736 program_source:348:1: error: implicit declaration of function 'simd_min' is
    9737 invalid in OpenCL 
    9738 program_source:339:54: note: expanded from macro
    9739 'DECLARE_REDUCTION_NON_UNIFORM' 
    9740 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9741 
    9742 program_source:336:26: note: expanded from macro '\ 
    9743 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9744 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9745 
    9746 <scratch space>:67:1: note: expanded from here 
    9747 simd_min 
    9748 
    9749 program_source:349:1: error: implicit declaration of function 'simd_max' is
    9750 invalid in OpenCL 
    9751 DECLARE_REDUCTION_NON_UNIFORM(max, reduce_max) 
    9752 
    9753 program_source:338:60: note: expanded from macro
    9754 'DECLARE_REDUCTION_NON_UNIFORM' 
    9755 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9756 
    9757 program_source:333:26: note: expanded from macro '\ 
    9758 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9759 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9760 
    9761 <scratch space>:69:1: note: expanded from here 
    9762 simd_max 
    9763 
    9764 program_source:349:1: error: implicit declaration of function 'simd_max' is
    9765 invalid in OpenCL 
    9766 program_source:338:60: note: expanded from macro
    9767 'DECLARE_REDUCTION_NON_UNIFORM' 
    9768 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9769 
    9770 program_source:333:26: note: expanded from macro '\ 
    9771 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9772 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9773 
    9774 <scratch space>:69:1: note: expanded from here 
    9775 simd_max 
    9776 
    9777 program_source:349:1: error: implicit declaration of function 'simd_max' is
    9778 invalid in OpenCL 
    9779 program_source:339:54: note: expanded from macro
    9780 'DECLARE_REDUCTION_NON_UNIFORM' 
    9781 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9782 
    9783 program_source:336:26: note: expanded from macro '\ 
    9784 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9785 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9786 
    9787 <scratch space>:71:1: note: expanded from here 
    9788 simd_max 
    9789 
    9790 program_source:351:1: error: implicit declaration of function 'simd_product'
    9791 is invalid in OpenCL 
    9792 DECLARE_REDUCTION_NON_UNIFORM(product, reduce_mul) 
    9793 
    9794 program_source:338:60: note: expanded from macro
    9795 'DECLARE_REDUCTION_NON_UNIFORM' 
    9796 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9797 
    9798 program_source:333:26: note: expanded from macro '\ 
    9799 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9800 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9801 
    9802 <scratch space>:73:1: note: expanded from here 
    9803 simd_product 
    9804 
    9805 program_source:351:1: error: implicit declaration of function 'simd_product'
    9806 is invalid in OpenCL 
    9807 program_source:338:60: note: expanded from macro
    9808 'DECLARE_REDUCTION_NON_UNIFORM' 
    9809 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9810 
    9811 program_source:333:26: note: expanded from macro '\ 
    9812 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9813 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9814 
    9815 <scratch space>:73:1: note: expanded from here 
    9816 simd_product 
    9817 
    9818 program_source:351:1: error: implicit declaration of function 'simd_product'
    9819 is invalid in OpenCL 
    9820 program_source:339:54: note: expanded from macro
    9821 'DECLARE_REDUCTION_NON_UNIFORM' 
    9822 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9823 
    9824 program_source:336:26: note: expanded from macro '\ 
    9825 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9826 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9827 
    9828 <scratch space>:75:1: note: expanded from here 
    9829 simd_product 
    9830 
    9831 program_source:352:1: error: implicit declaration of function
    9832 'simd_prefix_inclusive_product' is invalid in OpenCL 
    9833 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_product, scan_inclusive_mul) 
    9834 
    9835 program_source:338:60: note: expanded from macro
    9836 'DECLARE_REDUCTION_NON_UNIFORM' 
    9837 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9838 
    9839 program_source:333:26: note: expanded from macro '\ 
    9840 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9841 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9842 
    9843 <scratch space>:77:1: note: expanded from here 
    9844 simd_prefix_inclusive_product 
    9845 
    9846 program_source:352:1: error: implicit declaration of function
    9847 'simd_prefix_inclusive_product' is invalid in OpenCL 
    9848 program_source:338:60: note: expanded from macro
    9849 'DECLARE_REDUCTION_NON_UNIFORM' 
    9850 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9851 
    9852 program_source:333:26: note: expanded from macro '\ 
    9853 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9854 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9855 
    9856 <scratch space>:77:1: note: expanded from here 
    9857 simd_prefix_inclusive_product 
    9858 
    9859 program_source:352:1: error: implicit declaration of function
    9860 'simd_prefix_inclusive_product' is invalid in OpenCL 
    9861 program_source:339:54: note: expanded from macro
    9862 'DECLARE_REDUCTION_NON_UNIFORM' 
    9863 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9864 
    9865 program_source:336:26: note: expanded from macro '\ 
    9866 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9867 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9868 
    9869 <scratch space>:79:1: note: expanded from here 
    9870 simd_prefix_inclusive_product 
    9871 
    9872 program_source:353:1: error: implicit declaration of function
    9873 'simd_prefix_exclusive_product' is invalid in OpenCL 
    9874 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_product, scan_exclusive_mul) 
    9875 
    9876 program_source:338:60: note: expanded from macro
    9877 'DECLARE_REDUCTION_NON_UNIFORM' 
    9878 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9879 
    9880 program_source:333:26: note: expanded from macro '\ 
    9881 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9882 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9883 
    9884 <scratch space>:81:1: note: expanded from here 
    9885 simd_prefix_exclusive_product 
    9886 
    9887 program_source:353:1: error: implicit declaration of function
    9888 'simd_prefix_exclusive_product' is invalid in OpenCL 
    9889 program_source:338:60: note: expanded from macro
    9890 'DECLARE_REDUCTION_NON_UNIFORM' 
    9891 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9892 
    9893 program_source:333:26: note: expanded from macro '\ 
    9894 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9895 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9896 
    9897 <scratch space>:81:1: note: expanded from here 
    9898 simd_prefix_exclusive_product 
    9899 
    9900 program_source:353:1: error: implicit declaration of function
    9901 'simd_prefix_exclusive_product' is invalid in OpenCL 
    9902 program_source:339:54: note: expanded from macro
    9903 'DECLARE_REDUCTION_NON_UNIFORM' 
    9904 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9905 
    9906 program_source:336:26: note: expanded from macro '\ 
    9907 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9908 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9909 
    9910 <scratch space>:83:1: note: expanded from here 
    9911 simd_prefix_exclusive_product 
    9912 
    9913 program_source:354:1: error: implicit declaration of function 'simd_and' is
    9914 invalid in OpenCL 
    9915 DECLARE_I_REDUCTION_NON_UNIFORM(and, reduce_and) 
    9916 
    9917 program_source:333:26: note: expanded from macro
    9918 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    9919 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9920 
    9921 <scratch space>:85:1: note: expanded from here 
    9922 simd_and 
    9923 
    9924 program_source:354:1: error: implicit declaration of function 'simd_and' is
    9925 invalid in OpenCL 
    9926 program_source:333:26: note: expanded from macro
    9927 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    9928 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9929 
    9930 <scratch space>:85:1: note: expanded from here 
    9931 simd_and 
    9932 
    9933 program_source:355:1: error: implicit declaration of function 'simd_or' is
    9934 invalid in OpenCL 
    9935 DECLARE_I_REDUCTION_NON_UNIFORM(or, reduce_or) 
    9936 
    9937 program_source:333:26: note: expanded from macro
    9938 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    9939 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9940 
    9941 <scratch space>:87:1: note: expanded from here 
    9942 simd_or 
    9943 
    9944 program_source:355:1: error: implicit declaration of function 'simd_or' is
    9945 invalid in OpenCL 
    9946 program_source:333:26: note: expanded from macro
    9947 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    9948 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9949 
    9950 <scratch space>:87:1: note: expanded from here 
    9951 simd_or 
    9952 
    9953 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    9954 invalid in OpenCL 
    9955 DECLARE_I_REDUCTION_NON_UNIFORM(xor, reduce_xor) 
    9956 
    9957 program_source:333:26: note: expanded from macro
    9958 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    9959 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9960 
    9961 <scratch space>:89:1: note: expanded from here 
    9962 simd_xor 
    9963 
    9964 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    9965 invalid in OpenCL 
    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>:89:1: note: expanded from here 
    9971 simd_xor 
    9972 
    9973 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    9974 is invalid in OpenCL 
    9975 DECLARE_SHUFFLE_NON_UNIFORM(broadcast, broadcast) 
    9976 
    9977 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    9978 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9979 
    9980 <scratch space>:91:1: note: expanded from here 
    9981 simd_broadcast 
    9982 
    9983 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    9984 is invalid in OpenCL 
    9985 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    9986 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9987 
    9988 <scratch space>:91:1: note: expanded from here 
    9989 simd_broadcast 
    9990 
    9991 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    9992 is invalid in OpenCL 
    9993 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    9994 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9995 
    9996 <scratch space>:91:1: note: expanded from here 
    9997 simd_broadcast 
    9998 
    9999 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    10000 invalid in OpenCL 
    10001 DECLARE_REDUCTION_CLUSTERED(sum, reduce_add) 
    10002 
    10003 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10004 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10005 
    10006 program_source:360:60: note: expanded from macro '\ 
    10007 DECLARE_I_REDUCTION_CLUSTERED' 
    10008 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10009 
    10010 program_source:245:71: note: expanded from macro '\ 
    10011 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10012 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10013 
    10014 program_source:196:12: note: expanded from macro '\ 
    10015 OVERLOAD_CLUSTERED_ARGS_1' 
    10016 return quad_##METAL_SUFFIX(x); \ 
    10017 
    10018 <scratch space>:94:1: note: expanded from here 
    10019 quad_sum 
    10020 
    10021 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    10022 invalid in OpenCL 
    10023 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10024 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10025 
    10026 program_source:360:60: note: expanded from macro '\ 
    10027 DECLARE_I_REDUCTION_CLUSTERED' 
    10028 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10029 
    10030 program_source:245:71: note: expanded from macro '\ 
    10031 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10032 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10033 
    10034 program_source:198:12: note: expanded from macro '\ 
    10035 OVERLOAD_CLUSTERED_ARGS_1' 
    10036 return simd_##METAL_SUFFIX(x); \ 
    10037 
    10038 <scratch space>:95:1: note: expanded from here 
    10039 simd_sum 
    10040 
    10041 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    10042 invalid in OpenCL 
    10043 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10044 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10045 
    10046 program_source:360:60: note: expanded from macro '\ 
    10047 DECLARE_I_REDUCTION_CLUSTERED' 
    10048 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10049 
    10050 program_source:246:59: note: expanded from macro '\ 
    10051 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10052 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10053 
    10054 program_source:196:12: note: expanded from macro '\ 
    10055 OVERLOAD_CLUSTERED_ARGS_1' 
    10056 return quad_##METAL_SUFFIX(x); \ 
    10057 
    10058 <scratch space>:96:1: note: expanded from here 
    10059 quad_sum 
    10060 
    10061 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    10062 invalid in OpenCL 
    10063 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10064 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10065 
    10066 program_source:360:60: note: expanded from macro '\ 
    10067 DECLARE_I_REDUCTION_CLUSTERED' 
    10068 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10069 
    10070 program_source:246:59: note: expanded from macro '\ 
    10071 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10072 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10073 
    10074 program_source:198:12: note: expanded from macro '\ 
    10075 OVERLOAD_CLUSTERED_ARGS_1' 
    10076 return simd_##METAL_SUFFIX(x); \ 
    10077 
    10078 <scratch space>:97:1: note: expanded from here 
    10079 simd_sum 
    10080 
    10081 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    10082 invalid in OpenCL 
    10083 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10084 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10085 
    10086 program_source:363:60: note: expanded from macro '\ 
    10087 DECLARE_F_REDUCTION_CLUSTERED' 
    10088 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10089 
    10090 program_source:249:71: note: expanded from macro '\ 
    10091 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10092 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10093 
    10094 program_source:196:12: note: expanded from macro '\ 
    10095 OVERLOAD_CLUSTERED_ARGS_1' 
    10096 return quad_##METAL_SUFFIX(x); \ 
    10097 
    10098 <scratch space>:99:1: note: expanded from here 
    10099 quad_sum 
    10100 
    10101 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    10102 invalid in OpenCL 
    10103 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10104 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10105 
    10106 program_source:363:60: note: expanded from macro '\ 
    10107 DECLARE_F_REDUCTION_CLUSTERED' 
    10108 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10109 
    10110 program_source:249:71: note: expanded from macro '\ 
    10111 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10112 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10113 
    10114 program_source:198:12: note: expanded from macro '\ 
    10115 OVERLOAD_CLUSTERED_ARGS_1' 
    10116 return simd_##METAL_SUFFIX(x); \ 
    10117 
    10118 <scratch space>:100:1: note: expanded from here 
    10119 simd_sum 
    10120 
    10121 program_source:392:1: error: implicit declaration of function 'quad_min' is
    10122 invalid in OpenCL 
    10123 DECLARE_REDUCTION_CLUSTERED(min, reduce_min) 
    10124 
    10125 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10126 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10127 
    10128 program_source:360:60: note: expanded from macro '\ 
    10129 DECLARE_I_REDUCTION_CLUSTERED' 
    10130 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10131 
    10132 program_source:245:71: note: expanded from macro '\ 
    10133 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10134 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10135 
    10136 program_source:196:12: note: expanded from macro '\ 
    10137 OVERLOAD_CLUSTERED_ARGS_1' 
    10138 return quad_##METAL_SUFFIX(x); \ 
    10139 
    10140 <scratch space>:102:1: note: expanded from here 
    10141 quad_min 
    10142 
    10143 program_source:392:1: error: implicit declaration of function 'simd_min' is
    10144 invalid in OpenCL 
    10145 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10146 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10147 
    10148 program_source:360:60: note: expanded from macro '\ 
    10149 DECLARE_I_REDUCTION_CLUSTERED' 
    10150 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10151 
    10152 program_source:245:71: note: expanded from macro '\ 
    10153 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10154 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10155 
    10156 program_source:198:12: note: expanded from macro '\ 
    10157 OVERLOAD_CLUSTERED_ARGS_1' 
    10158 return simd_##METAL_SUFFIX(x); \ 
    10159 
    10160 <scratch space>:103:1: note: expanded from here 
    10161 simd_min 
    10162 
    10163 program_source:392:1: error: implicit declaration of function 'quad_min' is
    10164 invalid in OpenCL 
    10165 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10166 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10167 
    10168 program_source:360:60: note: expanded from macro '\ 
    10169 DECLARE_I_REDUCTION_CLUSTERED' 
    10170 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10171 
    10172 program_source:246:59: note: expanded from macro '\ 
    10173 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10174 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10175 
    10176 program_source:196:12: note: expanded from macro '\ 
    10177 OVERLOAD_CLUSTERED_ARGS_1' 
    10178 return quad_##METAL_SUFFIX(x); \ 
    10179 
    10180 <scratch space>:104:1: note: expanded from here 
    10181 quad_min 
    10182 
    10183 program_source:392:1: error: implicit declaration of function 'simd_min' is
    10184 invalid in OpenCL 
    10185 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10186 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10187 
    10188 program_source:360:60: note: expanded from macro '\ 
    10189 DECLARE_I_REDUCTION_CLUSTERED' 
    10190 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10191 
    10192 program_source:246:59: note: expanded from macro '\ 
    10193 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10194 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10195 
    10196 program_source:198:12: note: expanded from macro '\ 
    10197 OVERLOAD_CLUSTERED_ARGS_1' 
    10198 return simd_##METAL_SUFFIX(x); \ 
    10199 
    10200 <scratch space>:105:1: note: expanded from here 
    10201 simd_min 
    10202 
    10203 program_source:392:1: error: implicit declaration of function 'quad_min' is
    10204 invalid in OpenCL 
    10205 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10206 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10207 
    10208 program_source:363:60: note: expanded from macro '\ 
    10209 DECLARE_F_REDUCTION_CLUSTERED' 
    10210 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10211 
    10212 program_source:249:71: note: expanded from macro '\ 
    10213 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10214 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10215 
    10216 program_source:196:12: note: expanded from macro '\ 
    10217 OVERLOAD_CLUSTERED_ARGS_1' 
    10218 return quad_##METAL_SUFFIX(x); \ 
    10219 
    10220 <scratch space>:107:1: note: expanded from here 
    10221 quad_min 
    10222 
    10223 program_source:392:1: error: implicit declaration of function 'simd_min' is
    10224 invalid in OpenCL 
    10225 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10226 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10227 
    10228 program_source:363:60: note: expanded from macro '\ 
    10229 DECLARE_F_REDUCTION_CLUSTERED' 
    10230 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10231 
    10232 program_source:249:71: note: expanded from macro '\ 
    10233 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10234 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10235 
    10236 program_source:198:12: note: expanded from macro '\ 
    10237 OVERLOAD_CLUSTERED_ARGS_1' 
    10238 return simd_##METAL_SUFFIX(x); \ 
    10239 
    10240 <scratch space>:108:1: note: expanded from here 
    10241 simd_min 
    10242 
    10243 program_source:393:1: error: implicit declaration of function 'quad_max' is
    10244 invalid in OpenCL 
    10245 DECLARE_REDUCTION_CLUSTERED(max, reduce_max) 
    10246 
    10247 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10248 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10249 
    10250 program_source:360:60: note: expanded from macro '\ 
    10251 DECLARE_I_REDUCTION_CLUSTERED' 
    10252 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10253 
    10254 program_source:245:71: note: expanded from macro '\ 
    10255 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10256 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10257 
    10258 program_source:196:12: note: expanded from macro '\ 
    10259 OVERLOAD_CLUSTERED_ARGS_1' 
    10260 return quad_##METAL_SUFFIX(x); \ 
    10261 
    10262 <scratch space>:110:1: note: expanded from here 
    10263 quad_max 
    10264 
    10265 program_source:393:1: error: implicit declaration of function 'simd_max' is
    10266 invalid in OpenCL 
    10267 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10268 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10269 
    10270 program_source:360:60: note: expanded from macro '\ 
    10271 DECLARE_I_REDUCTION_CLUSTERED' 
    10272 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10273 
    10274 program_source:245:71: note: expanded from macro '\ 
    10275 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10276 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10277 
    10278 program_source:198:12: note: expanded from macro '\ 
    10279 OVERLOAD_CLUSTERED_ARGS_1' 
    10280 return simd_##METAL_SUFFIX(x); \ 
    10281 
    10282 <scratch space>:111:1: note: expanded from here 
    10283 simd_max 
    10284 
    10285 program_source:393:1: error: implicit declaration of function 'quad_max' is
    10286 invalid in OpenCL 
    10287 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10288 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10289 
    10290 program_source:360:60: note: expanded from macro '\ 
    10291 DECLARE_I_REDUCTION_CLUSTERED' 
    10292 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10293 
    10294 program_source:246:59: note: expanded from macro '\ 
    10295 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10296 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10297 
    10298 program_source:196:12: note: expanded from macro '\ 
    10299 OVERLOAD_CLUSTERED_ARGS_1' 
    10300 return quad_##METAL_SUFFIX(x); \ 
    10301 
    10302 <scratch space>:112:1: note: expanded from here 
    10303 quad_max 
    10304 
    10305 program_source:393:1: error: implicit declaration of function 'simd_max' is
    10306 invalid in OpenCL 
    10307 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10308 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10309 
    10310 program_source:360:60: note: expanded from macro '\ 
    10311 DECLARE_I_REDUCTION_CLUSTERED' 
    10312 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10313 
    10314 program_source:246:59: note: expanded from macro '\ 
    10315 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10316 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10317 
    10318 program_source:198:12: note: expanded from macro '\ 
    10319 OVERLOAD_CLUSTERED_ARGS_1' 
    10320 return simd_##METAL_SUFFIX(x); \ 
    10321 
    10322 <scratch space>:113:1: note: expanded from here 
    10323 simd_max 
    10324 
    10325 program_source:393:1: error: implicit declaration of function 'quad_max' is
    10326 invalid in OpenCL 
    10327 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10328 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10329 
    10330 program_source:363:60: note: expanded from macro '\ 
    10331 DECLARE_F_REDUCTION_CLUSTERED' 
    10332 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10333 
    10334 program_source:249:71: note: expanded from macro '\ 
    10335 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10336 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10337 
    10338 program_source:196:12: note: expanded from macro '\ 
    10339 OVERLOAD_CLUSTERED_ARGS_1' 
    10340 return quad_##METAL_SUFFIX(x); \ 
    10341 
    10342 <scratch space>:115:1: note: expanded from here 
    10343 quad_max 
    10344 
    10345 program_source:393:1: error: implicit declaration of function 'simd_max' is
    10346 invalid in OpenCL 
    10347 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10348 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10349 
    10350 program_source:363:60: note: expanded from macro '\ 
    10351 DECLARE_F_REDUCTION_CLUSTERED' 
    10352 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10353 
    10354 program_source:249:71: note: expanded from macro '\ 
    10355 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10356 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10357 
    10358 program_source:198:12: note: expanded from macro '\ 
    10359 OVERLOAD_CLUSTERED_ARGS_1' 
    10360 return simd_##METAL_SUFFIX(x); \ 
    10361 
    10362 <scratch space>:116:1: note: expanded from here 
    10363 simd_max 
    10364 
    10365 program_source:395:1: error: implicit declaration of function 'quad_product'
    10366 is invalid in OpenCL 
    10367 DECLARE_REDUCTION_CLUSTERED(product, reduce_mul) 
    10368 
    10369 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10370 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10371 
    10372 program_source:360:60: note: expanded from macro '\ 
    10373 DECLARE_I_REDUCTION_CLUSTERED' 
    10374 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10375 
    10376 program_source:245:71: note: expanded from macro '\ 
    10377 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10378 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10379 
    10380 program_source:196:12: note: expanded from macro '\ 
    10381 OVERLOAD_CLUSTERED_ARGS_1' 
    10382 return quad_##METAL_SUFFIX(x); \ 
    10383 
    10384 <scratch space>:118:1: note: expanded from here 
    10385 quad_product 
    10386 
    10387 program_source:395:1: error: implicit declaration of function 'simd_product'
    10388 is invalid in OpenCL 
    10389 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10390 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10391 
    10392 program_source:360:60: note: expanded from macro '\ 
    10393 DECLARE_I_REDUCTION_CLUSTERED' 
    10394 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10395 
    10396 program_source:245:71: note: expanded from macro '\ 
    10397 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10398 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10399 
    10400 program_source:198:12: note: expanded from macro '\ 
    10401 OVERLOAD_CLUSTERED_ARGS_1' 
    10402 return simd_##METAL_SUFFIX(x); \ 
    10403 
    10404 <scratch space>:119:1: note: expanded from here 
    10405 simd_product 
    10406 
    10407 program_source:395:1: error: implicit declaration of function 'quad_product'
    10408 is invalid in OpenCL 
    10409 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10410 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10411 
    10412 program_source:360:60: note: expanded from macro '\ 
    10413 DECLARE_I_REDUCTION_CLUSTERED' 
    10414 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10415 
    10416 program_source:246:59: note: expanded from macro '\ 
    10417 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10418 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10419 
    10420 program_source:196:12: note: expanded from macro '\ 
    10421 OVERLOAD_CLUSTERED_ARGS_1' 
    10422 return quad_##METAL_SUFFIX(x); \ 
    10423 
    10424 <scratch space>:120:1: note: expanded from here 
    10425 quad_product 
    10426 
    10427 program_source:395:1: error: implicit declaration of function 'simd_product'
    10428 is invalid in OpenCL 
    10429 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10430 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10431 
    10432 program_source:360:60: note: expanded from macro '\ 
    10433 DECLARE_I_REDUCTION_CLUSTERED' 
    10434 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10435 
    10436 program_source:246:59: note: expanded from macro '\ 
    10437 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10438 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10439 
    10440 program_source:198:12: note: expanded from macro '\ 
    10441 OVERLOAD_CLUSTERED_ARGS_1' 
    10442 return simd_##METAL_SUFFIX(x); \ 
    10443 
    10444 <scratch space>:121:1: note: expanded from here 
    10445 simd_product 
    10446 
    10447 program_source:395:1: error: implicit declaration of function 'quad_product'
    10448 is invalid in OpenCL 
    10449 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10450 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10451 
    10452 program_source:363:60: note: expanded from macro '\ 
    10453 DECLARE_F_REDUCTION_CLUSTERED' 
    10454 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10455 
    10456 program_source:249:71: note: expanded from macro '\ 
    10457 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10458 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10459 
    10460 program_source:196:12: note: expanded from macro '\ 
    10461 OVERLOAD_CLUSTERED_ARGS_1' 
    10462 return quad_##METAL_SUFFIX(x); \ 
    10463 
    10464 <scratch space>:123:1: note: expanded from here 
    10465 quad_product 
    10466 
    10467 program_source:395:1: error: implicit declaration of function 'simd_product'
    10468 is invalid in OpenCL 
    10469 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10470 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10471 
    10472 program_source:363:60: note: expanded from macro '\ 
    10473 DECLARE_F_REDUCTION_CLUSTERED' 
    10474 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10475 
    10476 program_source:249:71: note: expanded from macro '\ 
    10477 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10478 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10479 
    10480 program_source:198:12: note: expanded from macro '\ 
    10481 OVERLOAD_CLUSTERED_ARGS_1' 
    10482 return simd_##METAL_SUFFIX(x); \ 
    10483 
    10484 <scratch space>:124:1: note: expanded from here 
    10485 simd_product 
    10486 
    10487 program_source:396:1: error: implicit declaration of function 'quad_and' is
    10488 invalid in OpenCL 
    10489 DECLARE_I_REDUCTION_CLUSTERED(and, reduce_and) 
    10490 
    10491 program_source:360:60: note: expanded from macro
    10492 'DECLARE_I_REDUCTION_CLUSTERED' 
    10493 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10494 
    10495 program_source:245:71: note: expanded from macro '\ 
    10496 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10497 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10498 
    10499 program_source:196:12: note: expanded from macro '\ 
    10500 OVERLOAD_CLUSTERED_ARGS_1' 
    10501 return quad_##METAL_SUFFIX(x); \ 
    10502 
    10503 <scratch space>:126:1: note: expanded from here 
    10504 quad_and 
    10505 
    10506 program_source:396:1: error: implicit declaration of function 'simd_and' is
    10507 invalid in OpenCL 
    10508 program_source:360:60: note: expanded from macro
    10509 'DECLARE_I_REDUCTION_CLUSTERED' 
    10510 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10511 
    10512 program_source:245:71: note: expanded from macro '\ 
    10513 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10514 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10515 
    10516 program_source:198:12: note: expanded from macro '\ 
    10517 OVERLOAD_CLUSTERED_ARGS_1' 
    10518 return simd_##METAL_SUFFIX(x); \ 
    10519 
    10520 <scratch space>:127:1: note: expanded from here 
    10521 simd_and 
    10522 
    10523 program_source:396:1: error: implicit declaration of function 'quad_and' is
    10524 invalid in OpenCL 
    10525 program_source:360:60: note: expanded from macro
    10526 'DECLARE_I_REDUCTION_CLUSTERED' 
    10527 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10528 
    10529 program_source:246:59: note: expanded from macro '\ 
    10530 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10531 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10532 
    10533 program_source:196:12: note: expanded from macro '\ 
    10534 OVERLOAD_CLUSTERED_ARGS_1' 
    10535 return quad_##METAL_SUFFIX(x); \ 
    10536 
    10537 <scratch space>:128:1: note: expanded from here 
    10538 quad_and 
    10539 
    10540 program_source:396:1: error: implicit declaration of function 'simd_and' is
    10541 invalid in OpenCL 
    10542 program_source:360:60: note: expanded from macro
    10543 'DECLARE_I_REDUCTION_CLUSTERED' 
    10544 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10545 
    10546 program_source:246:59: note: expanded from macro '\ 
    10547 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10548 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10549 
    10550 program_source:198:12: note: expanded from macro '\ 
    10551 OVERLOAD_CLUSTERED_ARGS_1' 
    10552 return simd_##METAL_SUFFIX(x); \ 
    10553 
    10554 <scratch space>:129:1: note: expanded from here 
    10555 simd_and 
    10556 
    10557 program_source:397:1: error: implicit declaration of function 'quad_or' is
    10558 invalid in OpenCL 
    10559 DECLARE_I_REDUCTION_CLUSTERED(or, reduce_or) 
    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:196:12: note: expanded from macro '\ 
    10570 OVERLOAD_CLUSTERED_ARGS_1' 
    10571 return quad_##METAL_SUFFIX(x); \ 
    10572 
    10573 <scratch space>:131:1: note: expanded from here 
    10574 quad_or 
    10575 
    10576 program_source:397:1: error: implicit declaration of function 'simd_or' is
    10577 invalid in OpenCL 
    10578 program_source:360:60: note: expanded from macro
    10579 'DECLARE_I_REDUCTION_CLUSTERED' 
    10580 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10581 
    10582 program_source:245:71: note: expanded from macro '\ 
    10583 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10584 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10585 
    10586 program_source:198:12: note: expanded from macro '\ 
    10587 OVERLOAD_CLUSTERED_ARGS_1' 
    10588 return simd_##METAL_SUFFIX(x); \ 
    10589 
    10590 <scratch space>:132:1: note: expanded from here 
    10591 simd_or 
    10592 
    10593 program_source:397:1: error: implicit declaration of function 'quad_or' is
    10594 invalid in OpenCL 
    10595 program_source:360:60: note: expanded from macro
    10596 'DECLARE_I_REDUCTION_CLUSTERED' 
    10597 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10598 
    10599 program_source:246:59: note: expanded from macro '\ 
    10600 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10601 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10602 
    10603 program_source:196:12: note: expanded from macro '\ 
    10604 OVERLOAD_CLUSTERED_ARGS_1' 
    10605 return quad_##METAL_SUFFIX(x); \ 
    10606 
    10607 <scratch space>:133:1: note: expanded from here 
    10608 quad_or 
    10609 
    10610 program_source:397:1: error: implicit declaration of function 'simd_or' is
    10611 invalid in OpenCL 
    10612 program_source:360:60: note: expanded from macro
    10613 'DECLARE_I_REDUCTION_CLUSTERED' 
    10614 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10615 
    10616 program_source:246:59: note: expanded from macro '\ 
    10617 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10618 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10619 
    10620 program_source:198:12: note: expanded from macro '\ 
    10621 OVERLOAD_CLUSTERED_ARGS_1' 
    10622 return simd_##METAL_SUFFIX(x); \ 
    10623 
    10624 <scratch space>:134:1: note: expanded from here 
    10625 simd_or 
    10626 
    10627 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    10628 invalid in OpenCL 
    10629 DECLARE_I_REDUCTION_CLUSTERED(xor, reduce_xor) 
    10630 
    10631 program_source:360:60: note: expanded from macro
    10632 'DECLARE_I_REDUCTION_CLUSTERED' 
    10633 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10634 
    10635 program_source:245:71: note: expanded from macro '\ 
    10636 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10637 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10638 
    10639 program_source:196:12: note: expanded from macro '\ 
    10640 OVERLOAD_CLUSTERED_ARGS_1' 
    10641 return quad_##METAL_SUFFIX(x); \ 
    10642 
    10643 <scratch space>:136:1: note: expanded from here 
    10644 quad_xor 
    10645 
    10646 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    10647 invalid in OpenCL 
    10648 program_source:360:60: note: expanded from macro
    10649 'DECLARE_I_REDUCTION_CLUSTERED' 
    10650 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10651 
    10652 program_source:245:71: note: expanded from macro '\ 
    10653 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10654 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10655 
    10656 program_source:198:12: note: expanded from macro '\ 
    10657 OVERLOAD_CLUSTERED_ARGS_1' 
    10658 return simd_##METAL_SUFFIX(x); \ 
    10659 
    10660 <scratch space>:137:1: note: expanded from here 
    10661 simd_xor 
    10662 
    10663 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    10664 invalid in OpenCL 
    10665 program_source:360:60: note: expanded from macro
    10666 'DECLARE_I_REDUCTION_CLUSTERED' 
    10667 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10668 
    10669 program_source:246:59: note: expanded from macro '\ 
    10670 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10671 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10672 
    10673 program_source:196:12: note: expanded from macro '\ 
    10674 OVERLOAD_CLUSTERED_ARGS_1' 
    10675 return quad_##METAL_SUFFIX(x); \ 
    10676 
    10677 <scratch space>:138:1: note: expanded from here 
    10678 quad_xor 
    10679 
    10680 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    10681 invalid in OpenCL 
    10682 program_source:360:60: note: expanded from macro
    10683 'DECLARE_I_REDUCTION_CLUSTERED' 
    10684 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10685 
    10686 program_source:246:59: note: expanded from macro '\ 
    10687 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10688 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10689 
    10690 program_source:198:12: note: expanded from macro '\ 
    10691 OVERLOAD_CLUSTERED_ARGS_1' 
    10692 return simd_##METAL_SUFFIX(x); \ 
    10693 
    10694 <scratch space>:139:1: note: expanded from here 
    10695 simd_xor 
    10696 
    10697 program_source:399:1: error: implicit declaration of function 'simd_and' is
    10698 invalid in OpenCL 
    10699 DECLARE_B_REDUCTION_CLUSTERED(and) 
    10700 
    10701 program_source:369:8: note: expanded from macro
    10702 'DECLARE_B_REDUCTION_CLUSTERED' 
    10703 return simd_##OP(select(0, 1, predicate != 0)); \ 
    10704 
    10705 <scratch space>:141:1: note: expanded from here 
    10706 simd_and 
    10707 
    10708 program_source:399:1: error: implicit declaration of function 'quad_and' is
    10709 invalid in OpenCL 
    10710 program_source:378:12: note: expanded from macro
    10711 'DECLARE_B_REDUCTION_CLUSTERED' 
    10712 return quad_##OP(x); \ 
    10713 
    10714 <scratch space>:143:1: note: expanded from here 
    10715 quad_and 
    10716 
    10717 program_source:399:1: error: implicit declaration of function 'simd_and' is
    10718 invalid in OpenCL 
    10719 program_source:380:12: note: expanded from macro
    10720 'DECLARE_B_REDUCTION_CLUSTERED' 
    10721 return simd_##OP(x); \ 
    10722 
    10723 <scratch space>:144:1: note: expanded from here 
    10724 simd_and 
    10725 
    10726 program_source:400:1: error: implicit declaration of function 'simd_or' is
    10727 invalid in OpenCL 
    10728 DECLARE_B_REDUCTION_CLUSTERED(or) 
    10729 
    10730 program_source:369:8: note: expanded from macro
    10731 'DECLARE_B_REDUCTION_CLUSTERED' 
    10732 return simd_##OP(select(0, 1, predicate != 0)); \ 
    10733 
    10734 <scratch space>:146:1: note: expanded from here 
    10735 simd_or 
    10736 
    10737 program_source:400:1: error: implicit declaration of function 'quad_or' is
    10738 invalid in OpenCL 
    10739 program_source:378:12: note: expanded from macro
    10740 'DECLARE_B_REDUCTION_CLUSTERED' 
    10741 return quad_##OP(x); \ 
    10742 
    10743 <scratch space>:148:1: note: expanded from here 
    10744 quad_or 
    10745 
    10746 program_source:400:1: error: implicit declaration of function 'simd_or' is
    10747 invalid in OpenCL 
    10748 program_source:380:12: note: expanded from macro
    10749 'DECLARE_B_REDUCTION_CLUSTERED' 
    10750 return simd_##OP(x); \ 
    10751 
    10752 <scratch space>:149:1: note: expanded from here 
    10753 simd_or 
    10754 
    10755 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    10756 invalid in OpenCL 
    10757 DECLARE_B_REDUCTION_CLUSTERED(xor) 
    10758 
    10759 program_source:369:8: note: expanded from macro
    10760 'DECLARE_B_REDUCTION_CLUSTERED' 
    10761 return simd_##OP(select(0, 1, predicate != 0)); \ 
    10762 
    10763 <scratch space>:151:1: note: expanded from here 
    10764 simd_xor 
    10765 
    10766 program_source:401:1: error: implicit declaration of function 'quad_xor' is
    10767 invalid in OpenCL 
    10768 program_source:378:12: note: expanded from macro
    10769 'DECLARE_B_REDUCTION_CLUSTERED' 
    10770 return quad_##OP(x); \ 
    10771 
    10772 <scratch space>:153:1: note: expanded from here 
    10773 quad_xor 
    10774 
    10775 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    10776 invalid in OpenCL 
    10777 program_source:380:12: note: expanded from macro
    10778 'DECLARE_B_REDUCTION_CLUSTERED' 
    10779 return simd_##OP(x); \ 
    10780 
    10781 <scratch space>:154:1: note: expanded from here 
    10782 simd_xor 
    10783 
    10784 program_source:403:1: error: implicit declaration of function
    10785 'quad_shuffle_rotate_down' is invalid in OpenCL 
    10786 DECLARE_SHUFFLE_CLUSTERED(shuffle_rotate_down, rotate) 
    10787 
    10788 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    10789 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10790 
    10791 program_source:252:69: note: expanded from macro '\ 
    10792 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    10793 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    10794 
    10795 program_source:208:12: note: expanded from macro '\ 
    10796 OVERLOAD_CLUSTERED_ARGS_2' 
    10797 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    10798 
    10799 <scratch space>:156:1: note: expanded from here 
    10800 quad_shuffle_rotate_down 
    10801 
    10802 program_source:403:1: error: implicit declaration of function
    10803 'simd_shuffle_rotate_down' is invalid in OpenCL 
    10804 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    10805 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10806 
    10807 program_source:252:69: note: expanded from macro '\ 
    10808 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    10809 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    10810 
    10811 program_source:210:12: note: expanded from macro '\ 
    10812 OVERLOAD_CLUSTERED_ARGS_2' 
    10813 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    10814 
    10815 <scratch space>:157:1: note: expanded from here 
    10816 simd_shuffle_rotate_down 
    10817 
    10818 program_source:403:1: error: implicit declaration of function
    10819 'quad_shuffle_rotate_down' is invalid in OpenCL 
    10820 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    10821 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10822 
    10823 program_source:253:59: note: expanded from macro '\ 
    10824 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    10825 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10826 
    10827 program_source:208:12: note: expanded from macro '\ 
    10828 OVERLOAD_CLUSTERED_ARGS_2' 
    10829 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    10830 
    10831 <scratch space>:158:1: note: expanded from here 
    10832 quad_shuffle_rotate_down 
    10833 
    10834 program_source:403:1: error: implicit declaration of function
    10835 'simd_shuffle_rotate_down' is invalid in OpenCL 
    10836 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    10837 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10838 
    10839 program_source:253:59: note: expanded from macro '\ 
    10840 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    10841 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10842 
    10843 program_source:210:12: note: expanded from macro '\ 
    10844 OVERLOAD_CLUSTERED_ARGS_2' 
    10845 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    10846 
    10847 <scratch space>:159:1: note: expanded from here 
    10848 simd_shuffle_rotate_down 
    10849 
    10850 program_source:403:1: error: implicit declaration of function
    10851 'quad_shuffle_rotate_down' is invalid in OpenCL 
    10852 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    10853 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10854 
    10855 program_source:254:60: note: expanded from macro '\ 
    10856 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    10857 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    10858 
    10859 program_source:208:12: note: expanded from macro '\ 
    10860 OVERLOAD_CLUSTERED_ARGS_2' 
    10861 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    10862 
    10863 <scratch space>:160:1: note: expanded from here 
    10864 quad_shuffle_rotate_down 
    10865 
    10866 program_source:403:1: error: implicit declaration of function
    10867 'simd_shuffle_rotate_down' is invalid in OpenCL 
    10868 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    10869 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10870 
    10871 program_source:254:60: note: expanded from macro '\ 
    10872 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    10873 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    10874 
    10875 program_source:210:12: note: expanded from macro '\ 
    10876 OVERLOAD_CLUSTERED_ARGS_2' 
    10877 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    10878 
    10879 <scratch space>:161:1: note: expanded from here 
    10880 simd_shuffle_rotate_down 
    10881 
    10882 program_source:409:1: error: illegal string literal in 'asm' 
    10883 EXPOSE_BALLOT(simd_is_first, , bool, ) 
    10884 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10885 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10886 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10887 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10888 program_source:410:1: error: illegal string literal in 'asm' 
    10889 EXPOSE_BALLOT(simd_all, bool expr, bool, ) 
    10890 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10891 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10892 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10893 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10894 program_source:411:1: error: illegal string literal in 'asm' 
    10895 EXPOSE_BALLOT(simd_any, bool expr, bool, ) 
    10896 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10897 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10898 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10899 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10900 program_source:412:1: error: illegal string literal in 'asm' 
    10901 EXPOSE_BALLOT(simd_ballot, bool expr, ulong, .i64) 
    10902 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10903 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10904 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10905 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10906 program_source:413:1: error: illegal string literal in 'asm' 
    10907 EXPOSE_BALLOT(simd_active_threads_mask, , ulong, .i64) 
    10908 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10909 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10910 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10911 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10912 program_source:415:1: error: illegal string literal in 'asm' 
    10913 EXPOSE_BALLOT(quad_is_first, , bool, ) 
    10914 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10915 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10916 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10917 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10918 program_source:416:1: error: illegal string literal in 'asm' 
    10919 EXPOSE_BALLOT(quad_all, bool expr, bool, ) 
    10920 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10921 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10922 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10923 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10924 program_source:417:1: error: illegal string literal in 'asm' 
    10925 EXPOSE_BALLOT(quad_any, bool expr, bool, ) 
    10926 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10927 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10928 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10929 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10930 program_source:418:1: error: illegal string literal in 'asm' 
    10931 EXPOSE_BALLOT(quad_ballot, bool expr, ushort, ) 
    10932 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10933 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10934 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10935 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10936 program_source:419:1: error: illegal string literal in 'asm' 
    10937 EXPOSE_BALLOT(quad_active_threads_mask, , ushort, ) 
    10938 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10939 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10940 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10941 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10942 program_source:422:23: error: implicit declaration of function 'simd_is_first'
    10943 is invalid in OpenCL 
    10944 return select(0, 1, simd_is_first()); 
    10945 
    10946 program_source:426:23: error: implicit declaration of function 'simd_all' is
    10947 invalid in OpenCL 
    10948 return select(0, 1, simd_all(predicate != 0)); 
    10949 
    10950 program_source:430:23: error: implicit declaration of function 'simd_any' is
    10951 invalid in OpenCL 
    10952 return select(0, 1, simd_any(predicate != 0)); 
    10953 
    10954 program_source:434:23: error: implicit declaration of function 'simd_all' is
    10955 invalid in OpenCL 
    10956 return select(0, 1, simd_all(predicate != 0)); 
    10957 
    10958 program_source:438:23: error: implicit declaration of function 'simd_any' is
    10959 invalid in OpenCL 
    10960 return select(0, 1, simd_any(predicate != 0)); 
    10961 
    10962 program_source:443:14: error: implicit declaration of function 'simd_ballot'
    10963 is invalid in OpenCL 
    10964 output.x = simd_ballot(predicate != 0); 
    10965 
    10966 program_source:480:9: error: illegal string literal in 'asm' 
    10967 __asm("air.simdgroup.barrier"); 
    10968 ^~~~~~~~~~~~~~~~~~~~~~~ 
    10969 program_source:487:3: error: implicit declaration of function
    10970 '__metal_simdgroup_barrier' is invalid in OpenCL 
    10971 __metal_simdgroup_barrier(flags, 1); 
    10972 
    10973 program_source:487:3: note: did you mean 'simdgroup_barrier'? 
    10974 program_source:483:6: note: 'simdgroup_barrier' declared here 
    10975 void simdgroup_barrier(int flags) { 
    10976 
    10977 program_source:681:9: error: implicit declaration of function 'simd_is_first'
    10978 is invalid in OpenCL 
    10979 if (simd_is_first()) { 
    10980 
    10981 program_source:673:45: warning: comparison of integers of different signs:
    10982 '__private unsigned int' and '__private int' [-Wsign-compare] 
    10983 for (unsigned int index = thread; index < bufferSize; index +=
    10984 get_local_size(0)) 
    10985 ~~~~~ ^ ~~~~~~~~~~ 
    10986 program_source:685:45: warning: comparison of integers of different signs:
    10987 'unsigned int' and '__private int' [-Wsign-compare] 
    10988 if (thread%(32*2) == 0 && thread+32 < workGroupSize) 
    10989 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    10990 program_source:689:45: warning: comparison of integers of different signs:
    10991 'unsigned int' and '__private int' [-Wsign-compare] 
    10992 if (thread%(64*2) == 0 && thread+64 < workGroupSize) 
    10993 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    10994 program_source:693:47: warning: comparison of integers of different signs:
    10995 'unsigned int' and '__private int' [-Wsign-compare] 
    10996 if (thread%(128*2) == 0 && thread+128 < workGroupSize) 
    10997 ~~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    10998  
    10999  
    11000 openmm.OpenMMException: Error compiling kernel: program_source:279:1: error:
    11001 illegal string literal in 'asm' 
    11002 DECLARE_REDUCTION_BASE(sum) 
    11003 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11004 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11005 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11006 
    11007 program_source:263:44: note: expanded from macro '\ 
    11008 DECLARE_I_REDUCTION_BASE' 
    11009 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11010 
    11011 program_source:217:40: note: expanded from macro '\ 
    11012 EXPOSE_FUNCTION_I_ARGS_1' 
    11013 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11014 
    11015 program_source:164:9: note: expanded from macro '\ 
    11016 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11017 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11018 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11019 program_source:279:1: error: illegal string literal in 'asm' 
    11020 DECLARE_REDUCTION_BASE(sum) 
    11021 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11022 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11023 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11024 
    11025 program_source:263:44: note: expanded from macro '\ 
    11026 DECLARE_I_REDUCTION_BASE' 
    11027 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11028 
    11029 program_source:218:51: note: expanded from macro '\ 
    11030 EXPOSE_FUNCTION_I_ARGS_1' 
    11031 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11032 
    11033 program_source:164:9: note: expanded from macro '\ 
    11034 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11035 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11036 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11037 program_source:279:1: error: illegal string literal in 'asm' 
    11038 DECLARE_REDUCTION_BASE(sum) 
    11039 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11040 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11041 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11042 
    11043 program_source:264:43: note: expanded from macro '\ 
    11044 DECLARE_I_REDUCTION_BASE' 
    11045 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11046 
    11047 program_source:217:40: note: expanded from macro '\ 
    11048 EXPOSE_FUNCTION_I_ARGS_1' 
    11049 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11050 
    11051 program_source:164:9: note: expanded from macro '\ 
    11052 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11053 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11054 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11055 program_source:279:1: error: illegal string literal in 'asm' 
    11056 DECLARE_REDUCTION_BASE(sum) 
    11057 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11058 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11059 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11060 
    11061 program_source:264:43: note: expanded from macro '\ 
    11062 DECLARE_I_REDUCTION_BASE' 
    11063 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11064 
    11065 program_source:218:51: note: expanded from macro '\ 
    11066 EXPOSE_FUNCTION_I_ARGS_1' 
    11067 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11068 
    11069 program_source:164:9: note: expanded from macro '\ 
    11070 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11071 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11072 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11073 program_source:279:1: error: illegal string literal in 'asm' 
    11074 DECLARE_REDUCTION_BASE(sum) 
    11075 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11076 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11077 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11078 
    11079 program_source:267:44: note: expanded from macro '\ 
    11080 DECLARE_F_REDUCTION_BASE' 
    11081 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11082 
    11083 program_source:221:40: note: expanded from macro '\ 
    11084 EXPOSE_FUNCTION_F_ARGS_1' 
    11085 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11086 
    11087 program_source:164:9: note: expanded from macro '\ 
    11088 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11089 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11090 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11091 program_source:279:1: error: illegal string literal in 'asm' 
    11092 DECLARE_REDUCTION_BASE(sum) 
    11093 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11094 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11095 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11096 
    11097 program_source:268:43: note: expanded from macro '\ 
    11098 DECLARE_F_REDUCTION_BASE' 
    11099 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11100 
    11101 program_source:221:40: note: expanded from macro '\ 
    11102 EXPOSE_FUNCTION_F_ARGS_1' 
    11103 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11104 
    11105 program_source:164:9: note: expanded from macro '\ 
    11106 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11107 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11108 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11109 program_source:280:1: error: illegal string literal in 'asm' 
    11110 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11111 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11112 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11113 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11114 
    11115 program_source:263:44: note: expanded from macro '\ 
    11116 DECLARE_I_REDUCTION_BASE' 
    11117 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11118 
    11119 program_source:217:40: note: expanded from macro '\ 
    11120 EXPOSE_FUNCTION_I_ARGS_1' 
    11121 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11122 
    11123 program_source:164:9: note: expanded from macro '\ 
    11124 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11125 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11126 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11127 program_source:280:1: error: illegal string literal in 'asm' 
    11128 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11129 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11130 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11131 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11132 
    11133 program_source:263:44: note: expanded from macro '\ 
    11134 DECLARE_I_REDUCTION_BASE' 
    11135 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11136 
    11137 program_source:218:51: note: expanded from macro '\ 
    11138 EXPOSE_FUNCTION_I_ARGS_1' 
    11139 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11140 
    11141 program_source:164:9: note: expanded from macro '\ 
    11142 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11143 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11144 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11145 program_source:280:1: error: illegal string literal in 'asm' 
    11146 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11147 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11148 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11149 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11150 
    11151 program_source:264:43: note: expanded from macro '\ 
    11152 DECLARE_I_REDUCTION_BASE' 
    11153 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11154 
    11155 program_source:217:40: note: expanded from macro '\ 
    11156 EXPOSE_FUNCTION_I_ARGS_1' 
    11157 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11158 
    11159 program_source:164:9: note: expanded from macro '\ 
    11160 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11161 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11162 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11163 program_source:280:1: error: illegal string literal in 'asm' 
    11164 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11165 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11166 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11167 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11168 
    11169 program_source:264:43: note: expanded from macro '\ 
    11170 DECLARE_I_REDUCTION_BASE' 
    11171 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11172 
    11173 program_source:218:51: note: expanded from macro '\ 
    11174 EXPOSE_FUNCTION_I_ARGS_1' 
    11175 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11176 
    11177 program_source:164:9: note: expanded from macro '\ 
    11178 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11179 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11180 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11181 program_source:280:1: error: illegal string literal in 'asm' 
    11182 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11183 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11184 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11185 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11186 
    11187 program_source:267:44: note: expanded from macro '\ 
    11188 DECLARE_F_REDUCTION_BASE' 
    11189 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11190 
    11191 program_source:221:40: note: expanded from macro '\ 
    11192 EXPOSE_FUNCTION_F_ARGS_1' 
    11193 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11194 
    11195 program_source:164:9: note: expanded from macro '\ 
    11196 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11197 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11198 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11199 program_source:280:1: error: illegal string literal in 'asm' 
    11200 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11201 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11202 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11203 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11204 
    11205 program_source:268:43: note: expanded from macro '\ 
    11206 DECLARE_F_REDUCTION_BASE' 
    11207 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11208 
    11209 program_source:221:40: note: expanded from macro '\ 
    11210 EXPOSE_FUNCTION_F_ARGS_1' 
    11211 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11212 
    11213 program_source:164:9: note: expanded from macro '\ 
    11214 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11215 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11216 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11217 program_source:281:1: error: illegal string literal in 'asm' 
    11218 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11219 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11220 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11221 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11222 
    11223 program_source:263:44: note: expanded from macro '\ 
    11224 DECLARE_I_REDUCTION_BASE' 
    11225 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11226 
    11227 program_source:217:40: note: expanded from macro '\ 
    11228 EXPOSE_FUNCTION_I_ARGS_1' 
    11229 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11230 
    11231 program_source:164:9: note: expanded from macro '\ 
    11232 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11233 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11234 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11235 program_source:281:1: error: illegal string literal in 'asm' 
    11236 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11237 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11238 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11239 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11240 
    11241 program_source:263:44: note: expanded from macro '\ 
    11242 DECLARE_I_REDUCTION_BASE' 
    11243 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11244 
    11245 program_source:218:51: note: expanded from macro '\ 
    11246 EXPOSE_FUNCTION_I_ARGS_1' 
    11247 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11248 
    11249 program_source:164:9: note: expanded from macro '\ 
    11250 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11251 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11252 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11253 program_source:281:1: error: illegal string literal in 'asm' 
    11254 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11255 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11256 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11257 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11258 
    11259 program_source:264:43: note: expanded from macro '\ 
    11260 DECLARE_I_REDUCTION_BASE' 
    11261 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11262 
    11263 program_source:217:40: note: expanded from macro '\ 
    11264 EXPOSE_FUNCTION_I_ARGS_1' 
    11265 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11266 
    11267 program_source:164:9: note: expanded from macro '\ 
    11268 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11269 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11270 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11271 program_source:281:1: error: illegal string literal in 'asm' 
    11272 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11273 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11274 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11275 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11276 
    11277 program_source:264:43: note: expanded from macro '\ 
    11278 DECLARE_I_REDUCTION_BASE' 
    11279 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11280 
    11281 program_source:218:51: note: expanded from macro '\ 
    11282 EXPOSE_FUNCTION_I_ARGS_1' 
    11283 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11284 
    11285 program_source:164:9: note: expanded from macro '\ 
    11286 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11287 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11288 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11289 program_source:281:1: error: illegal string literal in 'asm' 
    11290 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11291 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11292 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11293 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11294 
    11295 program_source:267:44: note: expanded from macro '\ 
    11296 DECLARE_F_REDUCTION_BASE' 
    11297 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11298 
    11299 program_source:221:40: note: expanded from macro '\ 
    11300 EXPOSE_FUNCTION_F_ARGS_1' 
    11301 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11302 
    11303 program_source:164:9: note: expanded from macro '\ 
    11304 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11305 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11306 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11307 program_source:281:1: error: illegal string literal in 'asm' 
    11308 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11309 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11310 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11311 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11312 
    11313 program_source:268:43: note: expanded from macro '\ 
    11314 DECLARE_F_REDUCTION_BASE' 
    11315 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11316 
    11317 program_source:221:40: note: expanded from macro '\ 
    11318 EXPOSE_FUNCTION_F_ARGS_1' 
    11319 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11320 
    11321 program_source:164:9: note: expanded from macro '\ 
    11322 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11323 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11324 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11325 program_source:282:1: error: illegal string literal in 'asm' 
    11326 DECLARE_REDUCTION_BASE(min) 
    11327 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11328 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11329 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11330 
    11331 program_source:263:44: note: expanded from macro '\ 
    11332 DECLARE_I_REDUCTION_BASE' 
    11333 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11334 
    11335 program_source:217:40: note: expanded from macro '\ 
    11336 EXPOSE_FUNCTION_I_ARGS_1' 
    11337 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11338 
    11339 program_source:164:9: note: expanded from macro '\ 
    11340 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11341 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11342 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11343 program_source:282:1: error: illegal string literal in 'asm' 
    11344 DECLARE_REDUCTION_BASE(min) 
    11345 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11346 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11347 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11348 
    11349 program_source:263:44: note: expanded from macro '\ 
    11350 DECLARE_I_REDUCTION_BASE' 
    11351 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11352 
    11353 program_source:218:51: note: expanded from macro '\ 
    11354 EXPOSE_FUNCTION_I_ARGS_1' 
    11355 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11356 
    11357 program_source:164:9: note: expanded from macro '\ 
    11358 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11359 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11360 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11361 program_source:282:1: error: illegal string literal in 'asm' 
    11362 DECLARE_REDUCTION_BASE(min) 
    11363 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11364 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11365 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11366 
    11367 program_source:264:43: note: expanded from macro '\ 
    11368 DECLARE_I_REDUCTION_BASE' 
    11369 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11370 
    11371 program_source:217:40: note: expanded from macro '\ 
    11372 EXPOSE_FUNCTION_I_ARGS_1' 
    11373 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11374 
    11375 program_source:164:9: note: expanded from macro '\ 
    11376 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11377 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11378 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11379 program_source:282:1: error: illegal string literal in 'asm' 
    11380 DECLARE_REDUCTION_BASE(min) 
    11381 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11382 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11383 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11384 
    11385 program_source:264:43: note: expanded from macro '\ 
    11386 DECLARE_I_REDUCTION_BASE' 
    11387 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11388 
    11389 program_source:218:51: note: expanded from macro '\ 
    11390 EXPOSE_FUNCTION_I_ARGS_1' 
    11391 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11392 
    11393 program_source:164:9: note: expanded from macro '\ 
    11394 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11395 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11396 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11397 program_source:282:1: error: illegal string literal in 'asm' 
    11398 DECLARE_REDUCTION_BASE(min) 
    11399 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11400 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11401 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11402 
    11403 program_source:267:44: note: expanded from macro '\ 
    11404 DECLARE_F_REDUCTION_BASE' 
    11405 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11406 
    11407 program_source:221:40: note: expanded from macro '\ 
    11408 EXPOSE_FUNCTION_F_ARGS_1' 
    11409 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11410 
    11411 program_source:164:9: note: expanded from macro '\ 
    11412 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11413 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11414 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11415 program_source:282:1: error: illegal string literal in 'asm' 
    11416 DECLARE_REDUCTION_BASE(min) 
    11417 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11418 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11419 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11420 
    11421 program_source:268:43: note: expanded from macro '\ 
    11422 DECLARE_F_REDUCTION_BASE' 
    11423 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11424 
    11425 program_source:221:40: note: expanded from macro '\ 
    11426 EXPOSE_FUNCTION_F_ARGS_1' 
    11427 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11428 
    11429 program_source:164:9: note: expanded from macro '\ 
    11430 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11431 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11432 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11433 program_source:283:1: error: illegal string literal in 'asm' 
    11434 DECLARE_REDUCTION_BASE(max) 
    11435 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11436 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11437 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11438 
    11439 program_source:263:44: note: expanded from macro '\ 
    11440 DECLARE_I_REDUCTION_BASE' 
    11441 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11442 
    11443 program_source:217:40: note: expanded from macro '\ 
    11444 EXPOSE_FUNCTION_I_ARGS_1' 
    11445 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11446 
    11447 program_source:164:9: note: expanded from macro '\ 
    11448 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11449 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11450 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11451 program_source:283:1: error: illegal string literal in 'asm' 
    11452 DECLARE_REDUCTION_BASE(max) 
    11453 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11454 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11455 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11456 
    11457 program_source:263:44: note: expanded from macro '\ 
    11458 DECLARE_I_REDUCTION_BASE' 
    11459 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11460 
    11461 program_source:218:51: note: expanded from macro '\ 
    11462 EXPOSE_FUNCTION_I_ARGS_1' 
    11463 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11464 
    11465 program_source:164:9: note: expanded from macro '\ 
    11466 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11467 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11468 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11469 program_source:283:1: error: illegal string literal in 'asm' 
    11470 DECLARE_REDUCTION_BASE(max) 
    11471 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11472 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11473 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11474 
    11475 program_source:264:43: note: expanded from macro '\ 
    11476 DECLARE_I_REDUCTION_BASE' 
    11477 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11478 
    11479 program_source:217:40: note: expanded from macro '\ 
    11480 EXPOSE_FUNCTION_I_ARGS_1' 
    11481 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11482 
    11483 program_source:164:9: note: expanded from macro '\ 
    11484 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11485 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11486 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11487 program_source:283:1: error: illegal string literal in 'asm' 
    11488 DECLARE_REDUCTION_BASE(max) 
    11489 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11490 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11491 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11492 
    11493 program_source:264:43: note: expanded from macro '\ 
    11494 DECLARE_I_REDUCTION_BASE' 
    11495 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11496 
    11497 program_source:218:51: note: expanded from macro '\ 
    11498 EXPOSE_FUNCTION_I_ARGS_1' 
    11499 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11500 
    11501 program_source:164:9: note: expanded from macro '\ 
    11502 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11503 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11504 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11505 program_source:283:1: error: illegal string literal in 'asm' 
    11506 DECLARE_REDUCTION_BASE(max) 
    11507 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11508 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11509 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11510 
    11511 program_source:267:44: note: expanded from macro '\ 
    11512 DECLARE_F_REDUCTION_BASE' 
    11513 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11514 
    11515 program_source:221:40: note: expanded from macro '\ 
    11516 EXPOSE_FUNCTION_F_ARGS_1' 
    11517 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11518 
    11519 program_source:164:9: note: expanded from macro '\ 
    11520 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11521 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11522 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11523 program_source:283:1: error: illegal string literal in 'asm' 
    11524 DECLARE_REDUCTION_BASE(max) 
    11525 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11526 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11527 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11528 
    11529 program_source:268:43: note: expanded from macro '\ 
    11530 DECLARE_F_REDUCTION_BASE' 
    11531 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11532 
    11533 program_source:221:40: note: expanded from macro '\ 
    11534 EXPOSE_FUNCTION_F_ARGS_1' 
    11535 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11536 
    11537 program_source:164:9: note: expanded from macro '\ 
    11538 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11539 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11540 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11541 program_source:285:1: error: illegal string literal in 'asm' 
    11542 DECLARE_REDUCTION_BASE(product) 
    11543 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11544 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11545 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11546 
    11547 program_source:263:44: note: expanded from macro '\ 
    11548 DECLARE_I_REDUCTION_BASE' 
    11549 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11550 
    11551 program_source:217:40: note: expanded from macro '\ 
    11552 EXPOSE_FUNCTION_I_ARGS_1' 
    11553 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11554 
    11555 program_source:164:9: note: expanded from macro '\ 
    11556 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11557 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11558 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11559 program_source:285:1: error: illegal string literal in 'asm' 
    11560 DECLARE_REDUCTION_BASE(product) 
    11561 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11562 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11563 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11564 
    11565 program_source:263:44: note: expanded from macro '\ 
    11566 DECLARE_I_REDUCTION_BASE' 
    11567 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11568 
    11569 program_source:218:51: note: expanded from macro '\ 
    11570 EXPOSE_FUNCTION_I_ARGS_1' 
    11571 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11572 
    11573 program_source:164:9: note: expanded from macro '\ 
    11574 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11575 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11576 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11577 program_source:285:1: error: illegal string literal in 'asm' 
    11578 DECLARE_REDUCTION_BASE(product) 
    11579 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11580 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11581 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11582 
    11583 program_source:264:43: note: expanded from macro '\ 
    11584 DECLARE_I_REDUCTION_BASE' 
    11585 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11586 
    11587 program_source:217:40: note: expanded from macro '\ 
    11588 EXPOSE_FUNCTION_I_ARGS_1' 
    11589 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11590 
    11591 program_source:164:9: note: expanded from macro '\ 
    11592 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11593 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11594 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11595 program_source:285:1: error: illegal string literal in 'asm' 
    11596 DECLARE_REDUCTION_BASE(product) 
    11597 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11598 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11599 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11600 
    11601 program_source:264:43: note: expanded from macro '\ 
    11602 DECLARE_I_REDUCTION_BASE' 
    11603 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11604 
    11605 program_source:218:51: note: expanded from macro '\ 
    11606 EXPOSE_FUNCTION_I_ARGS_1' 
    11607 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11608 
    11609 program_source:164:9: note: expanded from macro '\ 
    11610 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11611 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11612 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11613 program_source:285:1: error: illegal string literal in 'asm' 
    11614 DECLARE_REDUCTION_BASE(product) 
    11615 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11616 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11617 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11618 
    11619 program_source:267:44: note: expanded from macro '\ 
    11620 DECLARE_F_REDUCTION_BASE' 
    11621 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11622 
    11623 program_source:221:40: note: expanded from macro '\ 
    11624 EXPOSE_FUNCTION_F_ARGS_1' 
    11625 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11626 
    11627 program_source:164:9: note: expanded from macro '\ 
    11628 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11629 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11630 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11631 program_source:285:1: error: illegal string literal in 'asm' 
    11632 DECLARE_REDUCTION_BASE(product) 
    11633 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11634 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11635 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11636 
    11637 program_source:268:43: note: expanded from macro '\ 
    11638 DECLARE_F_REDUCTION_BASE' 
    11639 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11640 
    11641 program_source:221:40: note: expanded from macro '\ 
    11642 EXPOSE_FUNCTION_F_ARGS_1' 
    11643 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11644 
    11645 program_source:164:9: note: expanded from macro '\ 
    11646 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11647 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11648 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11649 program_source:286:1: error: illegal string literal in 'asm' 
    11650 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11651 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11652 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11653 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11654 
    11655 program_source:263:44: note: expanded from macro '\ 
    11656 DECLARE_I_REDUCTION_BASE' 
    11657 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11658 
    11659 program_source:217:40: note: expanded from macro '\ 
    11660 EXPOSE_FUNCTION_I_ARGS_1' 
    11661 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11662 
    11663 program_source:164:9: note: expanded from macro '\ 
    11664 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11665 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11666 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11667 program_source:286:1: error: illegal string literal in 'asm' 
    11668 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11669 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11670 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11671 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11672 
    11673 program_source:263:44: note: expanded from macro '\ 
    11674 DECLARE_I_REDUCTION_BASE' 
    11675 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11676 
    11677 program_source:218:51: note: expanded from macro '\ 
    11678 EXPOSE_FUNCTION_I_ARGS_1' 
    11679 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11680 
    11681 program_source:164:9: note: expanded from macro '\ 
    11682 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11683 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11684 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11685 program_source:286:1: error: illegal string literal in 'asm' 
    11686 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11687 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11688 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11689 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11690 
    11691 program_source:264:43: note: expanded from macro '\ 
    11692 DECLARE_I_REDUCTION_BASE' 
    11693 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11694 
    11695 program_source:217:40: note: expanded from macro '\ 
    11696 EXPOSE_FUNCTION_I_ARGS_1' 
    11697 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11698 
    11699 program_source:164:9: note: expanded from macro '\ 
    11700 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11701 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11702 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11703 program_source:286:1: error: illegal string literal in 'asm' 
    11704 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11705 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11706 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11707 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11708 
    11709 program_source:264:43: note: expanded from macro '\ 
    11710 DECLARE_I_REDUCTION_BASE' 
    11711 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11712 
    11713 program_source:218:51: note: expanded from macro '\ 
    11714 EXPOSE_FUNCTION_I_ARGS_1' 
    11715 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11716 
    11717 program_source:164:9: note: expanded from macro '\ 
    11718 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11719 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11720 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11721 program_source:286:1: error: illegal string literal in 'asm' 
    11722 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11723 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11724 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11725 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11726 
    11727 program_source:267:44: note: expanded from macro '\ 
    11728 DECLARE_F_REDUCTION_BASE' 
    11729 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11730 
    11731 program_source:221:40: note: expanded from macro '\ 
    11732 EXPOSE_FUNCTION_F_ARGS_1' 
    11733 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11734 
    11735 program_source:164:9: note: expanded from macro '\ 
    11736 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11737 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11738 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11739 program_source:286:1: error: illegal string literal in 'asm' 
    11740 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11741 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11742 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11743 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11744 
    11745 program_source:268:43: note: expanded from macro '\ 
    11746 DECLARE_F_REDUCTION_BASE' 
    11747 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11748 
    11749 program_source:221:40: note: expanded from macro '\ 
    11750 EXPOSE_FUNCTION_F_ARGS_1' 
    11751 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11752 
    11753 program_source:164:9: note: expanded from macro '\ 
    11754 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11755 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11756 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11757 program_source:287:1: error: illegal string literal in 'asm' 
    11758 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    11759 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11760 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11761 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11762 
    11763 program_source:263:44: note: expanded from macro '\ 
    11764 DECLARE_I_REDUCTION_BASE' 
    11765 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11766 
    11767 program_source:217:40: note: expanded from macro '\ 
    11768 EXPOSE_FUNCTION_I_ARGS_1' 
    11769 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11770 
    11771 program_source:164:9: note: expanded from macro '\ 
    11772 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11773 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11774 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11775 program_source:287:1: error: illegal string literal in 'asm' 
    11776 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    11777 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11778 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11779 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11780 
    11781 program_source:263:44: note: expanded from macro '\ 
    11782 DECLARE_I_REDUCTION_BASE' 
    11783 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11784 
    11785 program_source:218:51: note: expanded from macro '\ 
    11786 EXPOSE_FUNCTION_I_ARGS_1' 
    11787 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11788 
    11789 program_source:164:9: note: expanded from macro '\ 
    11790 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11791 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11792 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11793 program_source:287:1: error: illegal string literal in 'asm' 
    11794 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    11795 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11796 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11797 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11798 
    11799 program_source:264:43: note: expanded from macro '\ 
    11800 DECLARE_I_REDUCTION_BASE' 
    11801 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11802 
    11803 program_source:217:40: note: expanded from macro '\ 
    11804 EXPOSE_FUNCTION_I_ARGS_1' 
    11805 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11806 
    11807 program_source:164:9: note: expanded from macro '\ 
    11808 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11809 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11810 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11811 program_source:287:1: error: illegal string literal in 'asm' 
    11812 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    11813 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11814 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11815 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11816 
    11817 program_source:264:43: note: expanded from macro '\ 
    11818 DECLARE_I_REDUCTION_BASE' 
    11819 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11820 
    11821 program_source:218:51: note: expanded from macro '\ 
    11822 EXPOSE_FUNCTION_I_ARGS_1' 
    11823 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11824 
    11825 program_source:164:9: note: expanded from macro '\ 
    11826 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11827 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11828 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11829 program_source:287:1: error: illegal string literal in 'asm' 
    11830 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    11831 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11832 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11833 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11834 
    11835 program_source:267:44: note: expanded from macro '\ 
    11836 DECLARE_F_REDUCTION_BASE' 
    11837 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11838 
    11839 program_source:221:40: note: expanded from macro '\ 
    11840 EXPOSE_FUNCTION_F_ARGS_1' 
    11841 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11842 
    11843 program_source:164:9: note: expanded from macro '\ 
    11844 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11845 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11846 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11847 program_source:287:1: error: illegal string literal in 'asm' 
    11848 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    11849 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11850 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11851 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11852 
    11853 program_source:268:43: note: expanded from macro '\ 
    11854 DECLARE_F_REDUCTION_BASE' 
    11855 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11856 
    11857 program_source:221:40: note: expanded from macro '\ 
    11858 EXPOSE_FUNCTION_F_ARGS_1' 
    11859 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11860 
    11861 program_source:164:9: note: expanded from macro '\ 
    11862 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11863 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11864 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11865 program_source:288:1: error: illegal string literal in 'asm' 
    11866 DECLARE_I_REDUCTION_BASE(and) 
    11867 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11868 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11869 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11870 
    11871 program_source:217:40: note: expanded from macro '\ 
    11872 EXPOSE_FUNCTION_I_ARGS_1' 
    11873 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11874 
    11875 program_source:164:9: note: expanded from macro '\ 
    11876 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11877 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11878 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11879 program_source:288:1: error: illegal string literal in 'asm' 
    11880 DECLARE_I_REDUCTION_BASE(and) 
    11881 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11882 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11883 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11884 
    11885 program_source:218:51: note: expanded from macro '\ 
    11886 EXPOSE_FUNCTION_I_ARGS_1' 
    11887 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11888 
    11889 program_source:164:9: note: expanded from macro '\ 
    11890 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11891 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11892 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11893 program_source:288:1: error: illegal string literal in 'asm' 
    11894 DECLARE_I_REDUCTION_BASE(and) 
    11895 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11896 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11897 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11898 
    11899 program_source:217:40: note: expanded from macro '\ 
    11900 EXPOSE_FUNCTION_I_ARGS_1' 
    11901 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11902 
    11903 program_source:164:9: note: expanded from macro '\ 
    11904 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11905 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11906 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11907 program_source:288:1: error: illegal string literal in 'asm' 
    11908 DECLARE_I_REDUCTION_BASE(and) 
    11909 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11910 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11911 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11912 
    11913 program_source:218:51: note: expanded from macro '\ 
    11914 EXPOSE_FUNCTION_I_ARGS_1' 
    11915 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11916 
    11917 program_source:164:9: note: expanded from macro '\ 
    11918 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11919 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11920 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11921 program_source:289:1: error: illegal string literal in 'asm' 
    11922 DECLARE_I_REDUCTION_BASE(or) 
    11923 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11924 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11925 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11926 
    11927 program_source:217:40: note: expanded from macro '\ 
    11928 EXPOSE_FUNCTION_I_ARGS_1' 
    11929 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11930 
    11931 program_source:164:9: note: expanded from macro '\ 
    11932 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11933 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11934 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11935 program_source:289:1: error: illegal string literal in 'asm' 
    11936 DECLARE_I_REDUCTION_BASE(or) 
    11937 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11938 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11939 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11940 
    11941 program_source:218:51: note: expanded from macro '\ 
    11942 EXPOSE_FUNCTION_I_ARGS_1' 
    11943 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11944 
    11945 program_source:164:9: note: expanded from macro '\ 
    11946 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11947 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11948 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11949 program_source:289:1: error: illegal string literal in 'asm' 
    11950 DECLARE_I_REDUCTION_BASE(or) 
    11951 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11952 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11953 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11954 
    11955 program_source:217:40: note: expanded from macro '\ 
    11956 EXPOSE_FUNCTION_I_ARGS_1' 
    11957 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11958 
    11959 program_source:164:9: note: expanded from macro '\ 
    11960 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11961 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11962 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11963 program_source:289:1: error: illegal string literal in 'asm' 
    11964 DECLARE_I_REDUCTION_BASE(or) 
    11965 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11966 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11967 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11968 
    11969 program_source:218:51: note: expanded from macro '\ 
    11970 EXPOSE_FUNCTION_I_ARGS_1' 
    11971 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11972 
    11973 program_source:164:9: note: expanded from macro '\ 
    11974 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11975 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11976 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11977 program_source:290:1: error: illegal string literal in 'asm' 
    11978 DECLARE_I_REDUCTION_BASE(xor) 
    11979 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11980 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11981 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11982 
    11983 program_source:217:40: note: expanded from macro '\ 
    11984 EXPOSE_FUNCTION_I_ARGS_1' 
    11985 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11986 
    11987 program_source:164:9: note: expanded from macro '\ 
    11988 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11989 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11990 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11991 program_source:290:1: error: illegal string literal in 'asm' 
    11992 DECLARE_I_REDUCTION_BASE(xor) 
    11993 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11994 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11995 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11996 
    11997 program_source:218:51: note: expanded from macro '\ 
    11998 EXPOSE_FUNCTION_I_ARGS_1' 
    11999 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12000 
    12001 program_source:164:9: note: expanded from macro '\ 
    12002 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12003 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12004 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12005 program_source:290:1: error: illegal string literal in 'asm' 
    12006 DECLARE_I_REDUCTION_BASE(xor) 
    12007 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12008 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12009 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12010 
    12011 program_source:217:40: note: expanded from macro '\ 
    12012 EXPOSE_FUNCTION_I_ARGS_1' 
    12013 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12014 
    12015 program_source:164:9: note: expanded from macro '\ 
    12016 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12017 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12018 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12019 program_source:290:1: error: illegal string literal in 'asm' 
    12020 DECLARE_I_REDUCTION_BASE(xor) 
    12021 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12022 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    12023 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12024 
    12025 program_source:218:51: note: expanded from macro '\ 
    12026 EXPOSE_FUNCTION_I_ARGS_1' 
    12027 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12028 
    12029 program_source:164:9: note: expanded from macro '\ 
    12030 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12031 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12032 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12033 program_source:292:1: error: illegal string literal in 'asm' 
    12034 DECLARE_SHUFFLE_BASE(broadcast) 
    12035 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12036 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12037 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12038 
    12039 program_source:224:38: note: expanded from macro '\ 
    12040 EXPOSE_FUNCTION_ARGS_2' 
    12041 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12042 
    12043 program_source:168:9: note: expanded from macro '\ 
    12044 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12045 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12046 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12047 program_source:292:1: error: illegal string literal in 'asm' 
    12048 DECLARE_SHUFFLE_BASE(broadcast) 
    12049 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12050 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12051 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12052 
    12053 program_source:225:51: note: expanded from macro '\ 
    12054 EXPOSE_FUNCTION_ARGS_2' 
    12055 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12056 
    12057 program_source:168:9: note: expanded from macro '\ 
    12058 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12059 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12060 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12061 program_source:292:1: error: illegal string literal in 'asm' 
    12062 DECLARE_SHUFFLE_BASE(broadcast) 
    12063 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12064 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12065 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12066 
    12067 program_source:226:52: note: expanded from macro '\ 
    12068 EXPOSE_FUNCTION_ARGS_2' 
    12069 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12070 
    12071 program_source:168:9: note: expanded from macro '\ 
    12072 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12073 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12074 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12075 program_source:292:1: error: illegal string literal in 'asm' 
    12076 DECLARE_SHUFFLE_BASE(broadcast) 
    12077 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12078 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12079 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12080 
    12081 program_source:224:38: note: expanded from macro '\ 
    12082 EXPOSE_FUNCTION_ARGS_2' 
    12083 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12084 
    12085 program_source:168:9: note: expanded from macro '\ 
    12086 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12087 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12088 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12089 program_source:292:1: error: illegal string literal in 'asm' 
    12090 DECLARE_SHUFFLE_BASE(broadcast) 
    12091 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12092 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12093 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12094 
    12095 program_source:225:51: note: expanded from macro '\ 
    12096 EXPOSE_FUNCTION_ARGS_2' 
    12097 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12098 
    12099 program_source:168:9: note: expanded from macro '\ 
    12100 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12101 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12102 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12103 program_source:292:1: error: illegal string literal in 'asm' 
    12104 DECLARE_SHUFFLE_BASE(broadcast) 
    12105 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12106 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12107 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12108 
    12109 program_source:226:52: note: expanded from macro '\ 
    12110 EXPOSE_FUNCTION_ARGS_2' 
    12111 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12112 
    12113 program_source:168:9: note: expanded from macro '\ 
    12114 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12115 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12116 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12117 program_source:293:1: error: illegal string literal in 'asm' 
    12118 DECLARE_REDUCTION_BASE(broadcast_first) 
    12119 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12120 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12121 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12122 
    12123 program_source:263:44: note: expanded from macro '\ 
    12124 DECLARE_I_REDUCTION_BASE' 
    12125 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12126 
    12127 program_source:217:40: note: expanded from macro '\ 
    12128 EXPOSE_FUNCTION_I_ARGS_1' 
    12129 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12130 
    12131 program_source:164:9: note: expanded from macro '\ 
    12132 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12133 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12134 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12135 program_source:293:1: error: illegal string literal in 'asm' 
    12136 DECLARE_REDUCTION_BASE(broadcast_first) 
    12137 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12138 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12139 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12140 
    12141 program_source:263:44: note: expanded from macro '\ 
    12142 DECLARE_I_REDUCTION_BASE' 
    12143 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12144 
    12145 program_source:218:51: note: expanded from macro '\ 
    12146 EXPOSE_FUNCTION_I_ARGS_1' 
    12147 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12148 
    12149 program_source:164:9: note: expanded from macro '\ 
    12150 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12151 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12152 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12153 program_source:293:1: error: illegal string literal in 'asm' 
    12154 DECLARE_REDUCTION_BASE(broadcast_first) 
    12155 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12156 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12157 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12158 
    12159 program_source:264:43: note: expanded from macro '\ 
    12160 DECLARE_I_REDUCTION_BASE' 
    12161 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12162 
    12163 program_source:217:40: note: expanded from macro '\ 
    12164 EXPOSE_FUNCTION_I_ARGS_1' 
    12165 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12166 
    12167 program_source:164:9: note: expanded from macro '\ 
    12168 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12169 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12170 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12171 program_source:293:1: error: illegal string literal in 'asm' 
    12172 DECLARE_REDUCTION_BASE(broadcast_first) 
    12173 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12174 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12175 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12176 
    12177 program_source:264:43: note: expanded from macro '\ 
    12178 DECLARE_I_REDUCTION_BASE' 
    12179 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12180 
    12181 program_source:218:51: note: expanded from macro '\ 
    12182 EXPOSE_FUNCTION_I_ARGS_1' 
    12183 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12184 
    12185 program_source:164:9: note: expanded from macro '\ 
    12186 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12187 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12188 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12189 program_source:293:1: error: illegal string literal in 'asm' 
    12190 DECLARE_REDUCTION_BASE(broadcast_first) 
    12191 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12192 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12193 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12194 
    12195 program_source:267:44: note: expanded from macro '\ 
    12196 DECLARE_F_REDUCTION_BASE' 
    12197 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    12198 
    12199 program_source:221:40: note: expanded from macro '\ 
    12200 EXPOSE_FUNCTION_F_ARGS_1' 
    12201 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    12202 
    12203 program_source:164:9: note: expanded from macro '\ 
    12204 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12205 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12206 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12207 program_source:293:1: error: illegal string literal in 'asm' 
    12208 DECLARE_REDUCTION_BASE(broadcast_first) 
    12209 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12210 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12211 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12212 
    12213 program_source:268:43: note: expanded from macro '\ 
    12214 DECLARE_F_REDUCTION_BASE' 
    12215 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    12216 
    12217 program_source:221:40: note: expanded from macro '\ 
    12218 EXPOSE_FUNCTION_F_ARGS_1' 
    12219 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    12220 
    12221 program_source:164:9: note: expanded from macro '\ 
    12222 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12223 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12224 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12225 program_source:295:1: error: illegal string literal in 'asm' 
    12226 DECLARE_SHUFFLE_BASE(shuffle) 
    12227 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12228 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12229 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12230 
    12231 program_source:224:38: note: expanded from macro '\ 
    12232 EXPOSE_FUNCTION_ARGS_2' 
    12233 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12234 
    12235 program_source:168:9: note: expanded from macro '\ 
    12236 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12237 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12238 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12239 program_source:295:1: error: illegal string literal in 'asm' 
    12240 DECLARE_SHUFFLE_BASE(shuffle) 
    12241 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12242 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12243 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12244 
    12245 program_source:225:51: note: expanded from macro '\ 
    12246 EXPOSE_FUNCTION_ARGS_2' 
    12247 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12248 
    12249 program_source:168:9: note: expanded from macro '\ 
    12250 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12251 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12252 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12253 program_source:295:1: error: illegal string literal in 'asm' 
    12254 DECLARE_SHUFFLE_BASE(shuffle) 
    12255 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12256 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12257 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12258 
    12259 program_source:226:52: note: expanded from macro '\ 
    12260 EXPOSE_FUNCTION_ARGS_2' 
    12261 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12262 
    12263 program_source:168:9: note: expanded from macro '\ 
    12264 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12265 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12266 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12267 program_source:295:1: error: illegal string literal in 'asm' 
    12268 DECLARE_SHUFFLE_BASE(shuffle) 
    12269 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12270 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12271 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12272 
    12273 program_source:224:38: note: expanded from macro '\ 
    12274 EXPOSE_FUNCTION_ARGS_2' 
    12275 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12276 
    12277 program_source:168:9: note: expanded from macro '\ 
    12278 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12279 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12280 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12281 program_source:295:1: error: illegal string literal in 'asm' 
    12282 DECLARE_SHUFFLE_BASE(shuffle) 
    12283 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12284 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12285 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12286 
    12287 program_source:225:51: note: expanded from macro '\ 
    12288 EXPOSE_FUNCTION_ARGS_2' 
    12289 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12290 
    12291 program_source:168:9: note: expanded from macro '\ 
    12292 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12293 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12294 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12295 program_source:295:1: error: illegal string literal in 'asm' 
    12296 DECLARE_SHUFFLE_BASE(shuffle) 
    12297 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12298 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12299 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12300 
    12301 program_source:226:52: note: expanded from macro '\ 
    12302 EXPOSE_FUNCTION_ARGS_2' 
    12303 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12304 
    12305 program_source:168:9: note: expanded from macro '\ 
    12306 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12307 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12308 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12309 program_source:296:1: error: illegal string literal in 'asm' 
    12310 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12311 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12312 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12313 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12314 
    12315 program_source:224:38: note: expanded from macro '\ 
    12316 EXPOSE_FUNCTION_ARGS_2' 
    12317 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12318 
    12319 program_source:168:9: note: expanded from macro '\ 
    12320 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12321 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12322 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12323 program_source:296:1: error: illegal string literal in 'asm' 
    12324 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12325 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12326 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12327 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12328 
    12329 program_source:225:51: note: expanded from macro '\ 
    12330 EXPOSE_FUNCTION_ARGS_2' 
    12331 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12332 
    12333 program_source:168:9: note: expanded from macro '\ 
    12334 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12335 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12336 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12337 program_source:296:1: error: illegal string literal in 'asm' 
    12338 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12339 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12340 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12341 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12342 
    12343 program_source:226:52: note: expanded from macro '\ 
    12344 EXPOSE_FUNCTION_ARGS_2' 
    12345 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12346 
    12347 program_source:168:9: note: expanded from macro '\ 
    12348 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12349 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12350 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12351 program_source:296:1: error: illegal string literal in 'asm' 
    12352 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12353 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12354 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12355 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12356 
    12357 program_source:224:38: note: expanded from macro '\ 
    12358 EXPOSE_FUNCTION_ARGS_2' 
    12359 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12360 
    12361 program_source:168:9: note: expanded from macro '\ 
    12362 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12363 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12364 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12365 program_source:296:1: error: illegal string literal in 'asm' 
    12366 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12367 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12368 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12369 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12370 
    12371 program_source:225:51: note: expanded from macro '\ 
    12372 EXPOSE_FUNCTION_ARGS_2' 
    12373 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12374 
    12375 program_source:168:9: note: expanded from macro '\ 
    12376 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12377 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12378 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12379 program_source:296:1: error: illegal string literal in 'asm' 
    12380 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12381 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12382 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12383 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12384 
    12385 program_source:226:52: note: expanded from macro '\ 
    12386 EXPOSE_FUNCTION_ARGS_2' 
    12387 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12388 
    12389 program_source:168:9: note: expanded from macro '\ 
    12390 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12391 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12392 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12393 program_source:297:1: error: illegal string literal in 'asm' 
    12394 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12395 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12396 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12397 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12398 
    12399 program_source:224:38: note: expanded from macro '\ 
    12400 EXPOSE_FUNCTION_ARGS_2' 
    12401 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12402 
    12403 program_source:168:9: note: expanded from macro '\ 
    12404 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12405 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12406 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12407 program_source:297:1: error: illegal string literal in 'asm' 
    12408 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12409 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12410 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12411 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12412 
    12413 program_source:225:51: note: expanded from macro '\ 
    12414 EXPOSE_FUNCTION_ARGS_2' 
    12415 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12416 
    12417 program_source:168:9: note: expanded from macro '\ 
    12418 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12419 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12420 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12421 program_source:297:1: error: illegal string literal in 'asm' 
    12422 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12423 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12424 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12425 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12426 
    12427 program_source:226:52: note: expanded from macro '\ 
    12428 EXPOSE_FUNCTION_ARGS_2' 
    12429 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12430 
    12431 program_source:168:9: note: expanded from macro '\ 
    12432 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12433 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12434 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12435 program_source:297:1: error: illegal string literal in 'asm' 
    12436 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12437 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12438 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12439 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12440 
    12441 program_source:224:38: note: expanded from macro '\ 
    12442 EXPOSE_FUNCTION_ARGS_2' 
    12443 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12444 
    12445 program_source:168:9: note: expanded from macro '\ 
    12446 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12447 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12448 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12449 program_source:297:1: error: illegal string literal in 'asm' 
    12450 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12451 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12452 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12453 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12454 
    12455 program_source:225:51: note: expanded from macro '\ 
    12456 EXPOSE_FUNCTION_ARGS_2' 
    12457 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12458 
    12459 program_source:168:9: note: expanded from macro '\ 
    12460 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12461 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12462 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12463 program_source:297:1: error: illegal string literal in 'asm' 
    12464 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12465 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12466 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12467 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12468 
    12469 program_source:226:52: note: expanded from macro '\ 
    12470 EXPOSE_FUNCTION_ARGS_2' 
    12471 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12472 
    12473 program_source:168:9: note: expanded from macro '\ 
    12474 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12475 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12476 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12477 program_source:298:1: error: illegal string literal in 'asm' 
    12478 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12479 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12480 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12481 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12482 
    12483 program_source:224:38: note: expanded from macro '\ 
    12484 EXPOSE_FUNCTION_ARGS_2' 
    12485 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12486 
    12487 program_source:168:9: note: expanded from macro '\ 
    12488 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12489 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12490 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12491 program_source:298:1: error: illegal string literal in 'asm' 
    12492 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12493 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12494 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12495 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12496 
    12497 program_source:225:51: note: expanded from macro '\ 
    12498 EXPOSE_FUNCTION_ARGS_2' 
    12499 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12500 
    12501 program_source:168:9: note: expanded from macro '\ 
    12502 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12503 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12504 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12505 program_source:298:1: error: illegal string literal in 'asm' 
    12506 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12507 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12508 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12509 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12510 
    12511 program_source:226:52: note: expanded from macro '\ 
    12512 EXPOSE_FUNCTION_ARGS_2' 
    12513 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12514 
    12515 program_source:168:9: note: expanded from macro '\ 
    12516 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12517 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12518 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12519 program_source:298:1: error: illegal string literal in 'asm' 
    12520 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12521 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12522 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12523 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12524 
    12525 program_source:224:38: note: expanded from macro '\ 
    12526 EXPOSE_FUNCTION_ARGS_2' 
    12527 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12528 
    12529 program_source:168:9: note: expanded from macro '\ 
    12530 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12531 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12532 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12533 program_source:298:1: error: illegal string literal in 'asm' 
    12534 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12535 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12536 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12537 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12538 
    12539 program_source:225:51: note: expanded from macro '\ 
    12540 EXPOSE_FUNCTION_ARGS_2' 
    12541 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12542 
    12543 program_source:168:9: note: expanded from macro '\ 
    12544 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12545 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12546 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12547 program_source:298:1: error: illegal string literal in 'asm' 
    12548 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12549 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12550 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12551 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12552 
    12553 program_source:226:52: note: expanded from macro '\ 
    12554 EXPOSE_FUNCTION_ARGS_2' 
    12555 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12556 
    12557 program_source:168:9: note: expanded from macro '\ 
    12558 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12559 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12560 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12561 program_source:299:1: error: illegal string literal in 'asm' 
    12562 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    12563 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12564 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12565 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12566 
    12567 program_source:224:38: note: expanded from macro '\ 
    12568 EXPOSE_FUNCTION_ARGS_2' 
    12569 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12570 
    12571 program_source:168:9: note: expanded from macro '\ 
    12572 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12573 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12574 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12575 program_source:299:1: error: illegal string literal in 'asm' 
    12576 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    12577 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12578 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12579 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12580 
    12581 program_source:225:51: note: expanded from macro '\ 
    12582 EXPOSE_FUNCTION_ARGS_2' 
    12583 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12584 
    12585 program_source:168:9: note: expanded from macro '\ 
    12586 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12587 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12588 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12589 program_source:299:1: error: illegal string literal in 'asm' 
    12590 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    12591 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12592 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12593 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12594 
    12595 program_source:226:52: note: expanded from macro '\ 
    12596 EXPOSE_FUNCTION_ARGS_2' 
    12597 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12598 
    12599 program_source:168:9: note: expanded from macro '\ 
    12600 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12601 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12602 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12603 program_source:299:1: error: illegal string literal in 'asm' 
    12604 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    12605 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12606 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12607 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12608 
    12609 program_source:224:38: note: expanded from macro '\ 
    12610 EXPOSE_FUNCTION_ARGS_2' 
    12611 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12612 
    12613 program_source:168:9: note: expanded from macro '\ 
    12614 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12615 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12616 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12617 program_source:299:1: error: illegal string literal in 'asm' 
    12618 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    12619 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12620 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12621 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12622 
    12623 program_source:225:51: note: expanded from macro '\ 
    12624 EXPOSE_FUNCTION_ARGS_2' 
    12625 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12626 
    12627 program_source:168:9: note: expanded from macro '\ 
    12628 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12629 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12630 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12631 program_source:299:1: error: illegal string literal in 'asm' 
    12632 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    12633 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12634 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12635 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12636 
    12637 program_source:226:52: note: expanded from macro '\ 
    12638 EXPOSE_FUNCTION_ARGS_2' 
    12639 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12640 
    12641 program_source:168:9: note: expanded from macro '\ 
    12642 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12643 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12644 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12645 program_source:300:1: error: illegal string literal in 'asm' 
    12646 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    12647 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12648 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12649 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12650 
    12651 program_source:224:38: note: expanded from macro '\ 
    12652 EXPOSE_FUNCTION_ARGS_2' 
    12653 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12654 
    12655 program_source:168:9: note: expanded from macro '\ 
    12656 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12657 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12658 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12659 program_source:300:1: error: illegal string literal in 'asm' 
    12660 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    12661 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12662 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12663 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12664 
    12665 program_source:225:51: note: expanded from macro '\ 
    12666 EXPOSE_FUNCTION_ARGS_2' 
    12667 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12668 
    12669 program_source:168:9: note: expanded from macro '\ 
    12670 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12671 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12672 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12673 program_source:300:1: error: illegal string literal in 'asm' 
    12674 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    12675 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12676 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12677 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12678 
    12679 program_source:226:52: note: expanded from macro '\ 
    12680 EXPOSE_FUNCTION_ARGS_2' 
    12681 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12682 
    12683 program_source:168:9: note: expanded from macro '\ 
    12684 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12685 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12686 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12687 program_source:300:1: error: illegal string literal in 'asm' 
    12688 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    12689 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12690 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12691 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12692 
    12693 program_source:224:38: note: expanded from macro '\ 
    12694 EXPOSE_FUNCTION_ARGS_2' 
    12695 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12696 
    12697 program_source:168:9: note: expanded from macro '\ 
    12698 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12699 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12700 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12701 program_source:300:1: error: illegal string literal in 'asm' 
    12702 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    12703 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12704 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12705 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12706 
    12707 program_source:225:51: note: expanded from macro '\ 
    12708 EXPOSE_FUNCTION_ARGS_2' 
    12709 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12710 
    12711 program_source:168:9: note: expanded from macro '\ 
    12712 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12713 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12714 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12715 program_source:300:1: error: illegal string literal in 'asm' 
    12716 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    12717 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12718 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12719 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12720 
    12721 program_source:226:52: note: expanded from macro '\ 
    12722 EXPOSE_FUNCTION_ARGS_2' 
    12723 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12724 
    12725 program_source:168:9: note: expanded from macro '\ 
    12726 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12727 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12728 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12729 program_source:302:1: error: illegal string literal in 'asm' 
    12730 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    12731 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12732 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    12733 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    12734 
    12735 program_source:172:9: note: expanded from macro '\ 
    12736 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    12737 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12738 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12739 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    12740 is invalid in OpenCL 
    12741 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    12742 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    12743 
    12744 program_source:175:10: note: expanded from macro '\ 
    12745 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    12746 return ___metal_##EXPR(x, false); \ 
    12747 
    12748 :12:1: note: expanded from here 
    12749 ___metal_ctz 
    12750 
    12751 program_source:302:1: error: illegal string literal in 'asm' 
    12752 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    12753 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12754 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    12755 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    12756 
    12757 program_source:172:9: note: expanded from macro '\ 
    12758 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    12759 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12760 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12761 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    12762 is invalid in OpenCL 
    12763 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    12764 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    12765 
    12766 program_source:175:10: note: expanded from macro '\ 
    12767 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    12768 return ___metal_##EXPR(x, false); \ 
    12769 
    12770 :16:1: note: expanded from here 
    12771 ___metal_ctz 
    12772 
    12773 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    12774 invalid in OpenCL 
    12775 DECLARE_REDUCTION_UNIFORM(sum, reduce_add) 
    12776 
    12777 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    12778 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    12779 
    12780 program_source:305:26: note: expanded from macro '\ 
    12781 DECLARE_I_REDUCTION_UNIFORM' 
    12782 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12783 
    12784 :17:1: note: expanded from here 
    12785 simd_sum 
    12786 
    12787 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    12788 invalid in OpenCL 
    12789 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    12790 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    12791 
    12792 program_source:305:26: note: expanded from macro '\ 
    12793 DECLARE_I_REDUCTION_UNIFORM' 
    12794 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12795 
    12796 :17:1: note: expanded from here 
    12797 simd_sum 
    12798 
    12799 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    12800 invalid in OpenCL 
    12801 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    12802 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    12803 
    12804 program_source:308:26: note: expanded from macro '\ 
    12805 DECLARE_F_REDUCTION_UNIFORM' 
    12806 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12807 
    12808 :19:1: note: expanded from here 
    12809 simd_sum 
    12810 
    12811 program_source:318:1: error: implicit declaration of function
    12812 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    12813 DECLARE_REDUCTION_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    12814 
    12815 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    12816 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    12817 
    12818 program_source:305:26: note: expanded from macro '\ 
    12819 DECLARE_I_REDUCTION_UNIFORM' 
    12820 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12821 
    12822 :21:1: note: expanded from here 
    12823 simd_prefix_inclusive_sum 
    12824 
    12825 program_source:318:1: error: implicit declaration of function
    12826 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    12827 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    12828 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    12829 
    12830 program_source:305:26: note: expanded from macro '\ 
    12831 DECLARE_I_REDUCTION_UNIFORM' 
    12832 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12833 
    12834 :21:1: note: expanded from here 
    12835 simd_prefix_inclusive_sum 
    12836 
    12837 program_source:318:1: error: implicit declaration of function
    12838 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    12839 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    12840 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    12841 
    12842 program_source:308:26: note: expanded from macro '\ 
    12843 DECLARE_F_REDUCTION_UNIFORM' 
    12844 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12845 
    12846 :23:1: note: expanded from here 
    12847 simd_prefix_inclusive_sum 
    12848 
    12849 program_source:319:1: error: implicit declaration of function
    12850 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    12851 DECLARE_REDUCTION_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    12852 
    12853 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    12854 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    12855 
    12856 program_source:305:26: note: expanded from macro '\ 
    12857 DECLARE_I_REDUCTION_UNIFORM' 
    12858 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12859 
    12860 :25:1: note: expanded from here 
    12861 simd_prefix_exclusive_sum 
    12862 
    12863 program_source:319:1: error: implicit declaration of function
    12864 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    12865 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    12866 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    12867 
    12868 program_source:305:26: note: expanded from macro '\ 
    12869 DECLARE_I_REDUCTION_UNIFORM' 
    12870 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12871 
    12872 :25:1: note: expanded from here 
    12873 simd_prefix_exclusive_sum 
    12874 
    12875 program_source:319:1: error: implicit declaration of function
    12876 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    12877 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    12878 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    12879 
    12880 program_source:308:26: note: expanded from macro '\ 
    12881 DECLARE_F_REDUCTION_UNIFORM' 
    12882 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12883 
    12884 :27:1: note: expanded from here 
    12885 simd_prefix_exclusive_sum 
    12886 
    12887 program_source:320:1: error: implicit declaration of function 'simd_min' is
    12888 invalid in OpenCL 
    12889 DECLARE_REDUCTION_UNIFORM(min, reduce_min) 
    12890 
    12891 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    12892 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    12893 
    12894 program_source:305:26: note: expanded from macro '\ 
    12895 DECLARE_I_REDUCTION_UNIFORM' 
    12896 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12897 
    12898 :29:1: note: expanded from here 
    12899 simd_min 
    12900 
    12901 program_source:320:1: error: implicit declaration of function 'simd_min' is
    12902 invalid in OpenCL 
    12903 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    12904 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    12905 
    12906 program_source:305:26: note: expanded from macro '\ 
    12907 DECLARE_I_REDUCTION_UNIFORM' 
    12908 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12909 
    12910 :29:1: note: expanded from here 
    12911 simd_min 
    12912 
    12913 program_source:320:1: error: implicit declaration of function 'simd_min' is
    12914 invalid in OpenCL 
    12915 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    12916 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    12917 
    12918 program_source:308:26: note: expanded from macro '\ 
    12919 DECLARE_F_REDUCTION_UNIFORM' 
    12920 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12921 
    12922 :31:1: note: expanded from here 
    12923 simd_min 
    12924 
    12925 program_source:321:1: error: implicit declaration of function 'simd_max' is
    12926 invalid in OpenCL 
    12927 DECLARE_REDUCTION_UNIFORM(max, reduce_max) 
    12928 
    12929 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    12930 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    12931 
    12932 program_source:305:26: note: expanded from macro '\ 
    12933 DECLARE_I_REDUCTION_UNIFORM' 
    12934 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12935 
    12936 :33:1: note: expanded from here 
    12937 simd_max 
    12938 
    12939 program_source:321:1: error: implicit declaration of function 'simd_max' is
    12940 invalid in OpenCL 
    12941 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    12942 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    12943 
    12944 program_source:305:26: note: expanded from macro '\ 
    12945 DECLARE_I_REDUCTION_UNIFORM' 
    12946 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12947 
    12948 :33:1: note: expanded from here 
    12949 simd_max 
    12950 
    12951 program_source:321:1: error: implicit declaration of function 'simd_max' is
    12952 invalid in OpenCL 
    12953 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    12954 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    12955 
    12956 program_source:308:26: note: expanded from macro '\ 
    12957 DECLARE_F_REDUCTION_UNIFORM' 
    12958 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12959 
    12960 :35:1: note: expanded from here 
    12961 simd_max 
    12962 
    12963 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    12964 is invalid in OpenCL 
    12965 DECLARE_SHUFFLE_UNIFORM(shuffle, shuffle) 
    12966 
    12967 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    12968 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12969 
    12970 :37:1: note: expanded from here 
    12971 simd_shuffle 
    12972 
    12973 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    12974 is invalid in OpenCL 
    12975 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    12976 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12977 
    12978 :37:1: note: expanded from here 
    12979 simd_shuffle 
    12980 
    12981 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    12982 is invalid in OpenCL 
    12983 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    12984 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12985 
    12986 :37:1: note: expanded from here 
    12987 simd_shuffle 
    12988 
    12989 program_source:324:1: error: implicit declaration of function
    12990 'simd_shuffle_xor' is invalid in OpenCL 
    12991 DECLARE_SHUFFLE_UNIFORM(shuffle_xor, shuffle_xor) 
    12992 
    12993 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    12994 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12995 
    12996 :39:1: note: expanded from here 
    12997 simd_shuffle_xor 
    12998 
    12999 program_source:324:1: error: implicit declaration of function
    13000 'simd_shuffle_xor' is invalid in OpenCL 
    13001 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13002 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13003 
    13004 :39:1: note: expanded from here 
    13005 simd_shuffle_xor 
    13006 
    13007 program_source:324:1: error: implicit declaration of function
    13008 'simd_shuffle_xor' is invalid in OpenCL 
    13009 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13010 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13011 
    13012 :39:1: note: expanded from here 
    13013 simd_shuffle_xor 
    13014 
    13015 program_source:325:1: error: implicit declaration of function
    13016 'simd_shuffle_up' is invalid in OpenCL 
    13017 DECLARE_SHUFFLE_UNIFORM(shuffle_up, shuffle_up) 
    13018 
    13019 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13020 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13021 
    13022 :41:1: note: expanded from here 
    13023 simd_shuffle_up 
    13024 
    13025 program_source:325:1: error: implicit declaration of function
    13026 'simd_shuffle_up' is invalid in OpenCL 
    13027 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13028 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13029 
    13030 :41:1: note: expanded from here 
    13031 simd_shuffle_up 
    13032 
    13033 program_source:325:1: error: implicit declaration of function
    13034 'simd_shuffle_up' is invalid in OpenCL 
    13035 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13036 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13037 
    13038 :41:1: note: expanded from here 
    13039 simd_shuffle_up 
    13040 
    13041 program_source:326:1: error: implicit declaration of function
    13042 'simd_shuffle_down' is invalid in OpenCL 
    13043 DECLARE_SHUFFLE_UNIFORM(shuffle_down, shuffle_down) 
    13044 
    13045 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13046 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13047 
    13048 :43:1: note: expanded from here 
    13049 simd_shuffle_down 
    13050 
    13051 program_source:326:1: error: implicit declaration of function
    13052 'simd_shuffle_down' is invalid in OpenCL 
    13053 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13054 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13055 
    13056 :43:1: note: expanded from here 
    13057 simd_shuffle_down 
    13058 
    13059 program_source:326:1: error: implicit declaration of function
    13060 'simd_shuffle_down' is invalid in OpenCL 
    13061 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13062 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13063 
    13064 :43:1: note: expanded from here 
    13065 simd_shuffle_down 
    13066 
    13067 program_source:327:1: error: implicit declaration of function
    13068 'simd_shuffle_rotate_down' is invalid in OpenCL 
    13069 DECLARE_SHUFFLE_UNIFORM(shuffle_rotate_down, rotate) 
    13070 
    13071 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13072 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13073 
    13074 :45:1: note: expanded from here 
    13075 simd_shuffle_rotate_down 
    13076 
    13077 program_source:327:1: error: implicit declaration of function
    13078 'simd_shuffle_rotate_down' is invalid in OpenCL 
    13079 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13080 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13081 
    13082 :45:1: note: expanded from here 
    13083 simd_shuffle_rotate_down 
    13084 
    13085 program_source:327:1: error: implicit declaration of function
    13086 'simd_shuffle_rotate_down' is invalid in OpenCL 
    13087 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13088 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13089 
    13090 :45:1: note: expanded from here 
    13091 simd_shuffle_rotate_down 
    13092 
    13093 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    13094 is invalid in OpenCL 
    13095 DECLARE_SHUFFLE_UNIFORM(broadcast, broadcast) 
    13096 
    13097 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13098 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13099 
    13100 :47:1: note: expanded from here 
    13101 simd_broadcast 
    13102 
    13103 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    13104 is invalid in OpenCL 
    13105 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13106 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13107 
    13108 :47:1: note: expanded from here 
    13109 simd_broadcast 
    13110 
    13111 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    13112 is invalid in OpenCL 
    13113 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13114 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13115 
    13116 :47:1: note: expanded from here 
    13117 simd_broadcast 
    13118 
    13119 program_source:330:1: error: implicit declaration of function
    13120 'simd_broadcast_first' is invalid in OpenCL 
    13121 DECLARE_REDUCTION_UNIFORM(broadcast_first, broadcast_first) 
    13122 
    13123 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    13124 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13125 
    13126 program_source:305:26: note: expanded from macro '\ 
    13127 DECLARE_I_REDUCTION_UNIFORM' 
    13128 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13129 
    13130 :49:1: note: expanded from here 
    13131 simd_broadcast_first 
    13132 
    13133 program_source:330:1: error: implicit declaration of function
    13134 'simd_broadcast_first' is invalid in OpenCL 
    13135 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    13136 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13137 
    13138 program_source:305:26: note: expanded from macro '\ 
    13139 DECLARE_I_REDUCTION_UNIFORM' 
    13140 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13141 
    13142 :49:1: note: expanded from here 
    13143 simd_broadcast_first 
    13144 
    13145 program_source:330:1: error: implicit declaration of function
    13146 'simd_broadcast_first' is invalid in OpenCL 
    13147 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    13148 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13149 
    13150 program_source:308:26: note: expanded from macro '\ 
    13151 DECLARE_F_REDUCTION_UNIFORM' 
    13152 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13153 
    13154 :51:1: note: expanded from here 
    13155 simd_broadcast_first 
    13156 
    13157 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    13158 invalid in OpenCL 
    13159 DECLARE_REDUCTION_NON_UNIFORM(sum, reduce_add) 
    13160 
    13161 program_source:338:60: note: expanded from macro
    13162 'DECLARE_REDUCTION_NON_UNIFORM' 
    13163 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13164 
    13165 program_source:333:26: note: expanded from macro '\ 
    13166 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13167 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13168 
    13169 :53:1: note: expanded from here 
    13170 simd_sum 
    13171 
    13172 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    13173 invalid in OpenCL 
    13174 program_source:338:60: note: expanded from macro
    13175 'DECLARE_REDUCTION_NON_UNIFORM' 
    13176 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13177 
    13178 program_source:333:26: note: expanded from macro '\ 
    13179 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13180 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13181 
    13182 :53:1: note: expanded from here 
    13183 simd_sum 
    13184 
    13185 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    13186 invalid in OpenCL 
    13187 program_source:339:54: note: expanded from macro
    13188 'DECLARE_REDUCTION_NON_UNIFORM' 
    13189 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13190 
    13191 program_source:336:26: note: expanded from macro '\ 
    13192 DECLARE_F_REDUCTION_NON_UNIFORM' 
    13193 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13194 
    13195 :55:1: note: expanded from here 
    13196 simd_sum 
    13197 
    13198 program_source:346:1: error: implicit declaration of function
    13199 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    13200 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    13201 
    13202 program_source:338:60: note: expanded from macro
    13203 'DECLARE_REDUCTION_NON_UNIFORM' 
    13204 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13205 
    13206 program_source:333:26: note: expanded from macro '\ 
    13207 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13208 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13209 
    13210 :57:1: note: expanded from here 
    13211 simd_prefix_inclusive_sum 
    13212 
    13213 program_source:346:1: error: implicit declaration of function
    13214 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    13215 program_source:338:60: note: expanded from macro
    13216 'DECLARE_REDUCTION_NON_UNIFORM' 
    13217 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13218 
    13219 program_source:333:26: note: expanded from macro '\ 
    13220 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13221 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13222 
    13223 :57:1: note: expanded from here 
    13224 simd_prefix_inclusive_sum 
    13225 
    13226 program_source:346:1: error: implicit declaration of function
    13227 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    13228 program_source:339:54: note: expanded from macro
    13229 'DECLARE_REDUCTION_NON_UNIFORM' 
    13230 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13231 
    13232 program_source:336:26: note: expanded from macro '\ 
    13233 DECLARE_F_REDUCTION_NON_UNIFORM' 
    13234 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13235 
    13236 :59:1: note: expanded from here 
    13237 simd_prefix_inclusive_sum 
    13238 
    13239 program_source:347:1: error: implicit declaration of function
    13240 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    13241 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    13242 
    13243 program_source:338:60: note: expanded from macro
    13244 'DECLARE_REDUCTION_NON_UNIFORM' 
    13245 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13246 
    13247 program_source:333:26: note: expanded from macro '\ 
    13248 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13249 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13250 
    13251 :61:1: note: expanded from here 
    13252 simd_prefix_exclusive_sum 
    13253 
    13254 program_source:347:1: error: implicit declaration of function
    13255 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    13256 program_source:338:60: note: expanded from macro
    13257 'DECLARE_REDUCTION_NON_UNIFORM' 
    13258 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13259 
    13260 program_source:333:26: note: expanded from macro '\ 
    13261 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13262 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13263 
    13264 :61:1: note: expanded from here 
    13265 simd_prefix_exclusive_sum 
    13266 
    13267 program_source:347:1: error: implicit declaration of function
    13268 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    13269 program_source:339:54: note: expanded from macro
    13270 'DECLARE_REDUCTION_NON_UNIFORM' 
    13271 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13272 
    13273 program_source:336:26: note: expanded from macro '\ 
    13274 DECLARE_F_REDUCTION_NON_UNIFORM' 
    13275 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13276 
    13277 :63:1: note: expanded from here 
    13278 simd_prefix_exclusive_sum 
    13279 
    13280 program_source:348:1: error: implicit declaration of function 'simd_min' is
    13281 invalid in OpenCL 
    13282 DECLARE_REDUCTION_NON_UNIFORM(min, reduce_min) 
    13283 
    13284 program_source:338:60: note: expanded from macro
    13285 'DECLARE_REDUCTION_NON_UNIFORM' 
    13286 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13287 
    13288 program_source:333:26: note: expanded from macro '\ 
    13289 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13290 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13291 
    13292 :65:1: note: expanded from here 
    13293 simd_min 
    13294 
    13295 program_source:348:1: error: implicit declaration of function 'simd_min' is
    13296 invalid in OpenCL 
    13297 program_source:338:60: note: expanded from macro
    13298 'DECLARE_REDUCTION_NON_UNIFORM' 
    13299 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13300 
    13301 program_source:333:26: note: expanded from macro '\ 
    13302 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13303 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13304 
    13305 :65:1: note: expanded from here 
    13306 simd_min 
    13307 
    13308 program_source:348:1: error: implicit declaration of function 'simd_min' is
    13309 invalid in OpenCL 
    13310 program_source:339:54: note: expanded from macro
    13311 'DECLARE_REDUCTION_NON_UNIFORM' 
    13312 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13313 
    13314 program_source:336:26: note: expanded from macro '\ 
    13315 DECLARE_F_REDUCTION_NON_UNIFORM' 
    13316 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13317 
    13318 :67:1: note: expanded from here 
    13319 simd_min 
    13320 
    13321 program_source:349:1: error: implicit declaration of function 'simd_max' is
    13322 invalid in OpenCL 
    13323 DECLARE_REDUCTION_NON_UNIFORM(max, reduce_max) 
    13324 
    13325 program_source:338:60: note: expanded from macro
    13326 'DECLARE_REDUCTION_NON_UNIFORM' 
    13327 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13328 
    13329 program_source:333:26: note: expanded from macro '\ 
    13330 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13331 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13332 
    13333 :69:1: note: expanded from here 
    13334 simd_max 
    13335 
    13336 program_source:349:1: error: implicit declaration of function 'simd_max' is
    13337 invalid in OpenCL 
    13338 program_source:338:60: note: expanded from macro
    13339 'DECLARE_REDUCTION_NON_UNIFORM' 
    13340 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13341 
    13342 program_source:333:26: note: expanded from macro '\ 
    13343 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13344 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13345 
    13346 :69:1: note: expanded from here 
    13347 simd_max 
    13348 
    13349 program_source:349:1: error: implicit declaration of function 'simd_max' is
    13350 invalid in OpenCL 
    13351 program_source:339:54: note: expanded from macro
    13352 'DECLARE_REDUCTION_NON_UNIFORM' 
    13353 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13354 
    13355 program_source:336:26: note: expanded from macro '\ 
    13356 DECLARE_F_REDUCTION_NON_UNIFORM' 
    13357 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13358 
    13359 :71:1: note: expanded from here 
    13360 simd_max 
    13361 
    13362 program_source:351:1: error: implicit declaration of function 'simd_product'
    13363 is invalid in OpenCL 
    13364 DECLARE_REDUCTION_NON_UNIFORM(product, reduce_mul) 
    13365 
    13366 program_source:338:60: note: expanded from macro
    13367 'DECLARE_REDUCTION_NON_UNIFORM' 
    13368 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13369 
    13370 program_source:333:26: note: expanded from macro '\ 
    13371 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13372 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13373 
    13374 :73:1: note: expanded from here 
    13375 simd_product 
    13376 
    13377 program_source:351:1: error: implicit declaration of function 'simd_product'
    13378 is invalid in OpenCL 
    13379 program_source:338:60: note: expanded from macro
    13380 'DECLARE_REDUCTION_NON_UNIFORM' 
    13381 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13382 
    13383 program_source:333:26: note: expanded from macro '\ 
    13384 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13385 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13386 
    13387 :73:1: note: expanded from here 
    13388 simd_product 
    13389 
    13390 program_source:351:1: error: implicit declaration of function 'simd_product'
    13391 is invalid in OpenCL 
    13392 program_source:339:54: note: expanded from macro
    13393 'DECLARE_REDUCTION_NON_UNIFORM' 
    13394 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13395 
    13396 program_source:336:26: note: expanded from macro '\ 
    13397 DECLARE_F_REDUCTION_NON_UNIFORM' 
    13398 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13399 
    13400 :75:1: note: expanded from here 
    13401 simd_product 
    13402 
    13403 program_source:352:1: error: implicit declaration of function
    13404 'simd_prefix_inclusive_product' is invalid in OpenCL 
    13405 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_product, scan_inclusive_mul) 
    13406 
    13407 program_source:338:60: note: expanded from macro
    13408 'DECLARE_REDUCTION_NON_UNIFORM' 
    13409 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13410 
    13411 program_source:333:26: note: expanded from macro '\ 
    13412 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13413 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13414 
    13415 :77:1: note: expanded from here 
    13416 simd_prefix_inclusive_product 
     1868[deleted to fit within ticket limits]
     1869
    134171870
    134181871program_source:352:1: error: implicit declaration of function