Changes between Initial Version and Version 1 of Ticket #20578


Ignore:
Timestamp:
Jul 6, 2026, 11:06:07 AM (2 weeks ago)
Author:
Eric Pettersen
Comment:

Reported by Shahbaz

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #20578

    • Property Component UnassignedThird Party
    • Property Owner set to Tristan Croll
    • Property Platformall
    • Property ProjectChimeraX
    • Property Status newassigned
    • Property Summary ChimeraX bug report submissionisolde sim start: OpenMMException: Error compiling kernel
  • Ticket #20578 – Description

    initial v1  
    16121612EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    16131613
    1614 program_source:168:9: note: expanded from macro '\ 
    1615 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1616 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1617 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1618 program_source:297:1: error: illegal string literal in 'asm' 
    1619 DECLARE_SHUFFLE_BASE(shuffle_up) 
    1620 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1621 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1622 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    1623 
    1624 program_source:226:52: note: expanded from macro '\ 
    1625 EXPOSE_FUNCTION_ARGS_2' 
    1626 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    1627 
    1628 program_source:168:9: note: expanded from macro '\ 
    1629 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1630 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1631 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1632 program_source:298:1: error: illegal string literal in 'asm' 
    1633 DECLARE_SHUFFLE_BASE(shuffle_down) 
    1634 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1635 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1636 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    1637 
    1638 program_source:224:38: note: expanded from macro '\ 
    1639 EXPOSE_FUNCTION_ARGS_2' 
    1640 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    1641 
    1642 program_source:168:9: note: expanded from macro '\ 
    1643 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1644 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1645 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1646 program_source:298:1: error: illegal string literal in 'asm' 
    1647 DECLARE_SHUFFLE_BASE(shuffle_down) 
    1648 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1649 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1650 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    1651 
    1652 program_source:225:51: note: expanded from macro '\ 
    1653 EXPOSE_FUNCTION_ARGS_2' 
    1654 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    1655 
    1656 program_source:168:9: note: expanded from macro '\ 
    1657 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1658 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1659 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1660 program_source:298:1: error: illegal string literal in 'asm' 
    1661 DECLARE_SHUFFLE_BASE(shuffle_down) 
    1662 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1663 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1664 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    1665 
    1666 program_source:226:52: note: expanded from macro '\ 
    1667 EXPOSE_FUNCTION_ARGS_2' 
    1668 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    1669 
    1670 program_source:168:9: note: expanded from macro '\ 
    1671 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1672 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1673 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1674 program_source:298:1: error: illegal string literal in 'asm' 
    1675 DECLARE_SHUFFLE_BASE(shuffle_down) 
    1676 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1677 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1678 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    1679 
    1680 program_source:224:38: note: expanded from macro '\ 
    1681 EXPOSE_FUNCTION_ARGS_2' 
    1682 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    1683 
    1684 program_source:168:9: note: expanded from macro '\ 
    1685 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1686 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1687 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1688 program_source:298:1: error: illegal string literal in 'asm' 
    1689 DECLARE_SHUFFLE_BASE(shuffle_down) 
    1690 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1691 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1692 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    1693 
    1694 program_source:225:51: note: expanded from macro '\ 
    1695 EXPOSE_FUNCTION_ARGS_2' 
    1696 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    1697 
    1698 program_source:168:9: note: expanded from macro '\ 
    1699 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1700 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1701 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1702 program_source:298:1: error: illegal string literal in 'asm' 
    1703 DECLARE_SHUFFLE_BASE(shuffle_down) 
    1704 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1705 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1706 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    1707 
    1708 program_source:226:52: note: expanded from macro '\ 
    1709 EXPOSE_FUNCTION_ARGS_2' 
    1710 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    1711 
    1712 program_source:168:9: note: expanded from macro '\ 
    1713 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1714 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1715 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1716 program_source:299:1: error: illegal string literal in 'asm' 
    1717 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    1718 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1719 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1720 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    1721 
    1722 program_source:224:38: note: expanded from macro '\ 
    1723 EXPOSE_FUNCTION_ARGS_2' 
    1724 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    1725 
    1726 program_source:168:9: note: expanded from macro '\ 
    1727 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1728 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1729 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1730 program_source:299:1: error: illegal string literal in 'asm' 
    1731 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    1732 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1733 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1734 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    1735 
    1736 program_source:225:51: note: expanded from macro '\ 
    1737 EXPOSE_FUNCTION_ARGS_2' 
    1738 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    1739 
    1740 program_source:168:9: note: expanded from macro '\ 
    1741 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1742 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1743 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1744 program_source:299:1: error: illegal string literal in 'asm' 
    1745 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    1746 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1747 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1748 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    1749 
    1750 program_source:226:52: note: expanded from macro '\ 
    1751 EXPOSE_FUNCTION_ARGS_2' 
    1752 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    1753 
    1754 program_source:168:9: note: expanded from macro '\ 
    1755 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1756 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1757 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1758 program_source:299:1: error: illegal string literal in 'asm' 
    1759 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    1760 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1761 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1762 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    1763 
    1764 program_source:224:38: note: expanded from macro '\ 
    1765 EXPOSE_FUNCTION_ARGS_2' 
    1766 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    1767 
    1768 program_source:168:9: note: expanded from macro '\ 
    1769 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1770 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1771 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1772 program_source:299:1: error: illegal string literal in 'asm' 
    1773 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    1774 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1775 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1776 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    1777 
    1778 program_source:225:51: note: expanded from macro '\ 
    1779 EXPOSE_FUNCTION_ARGS_2' 
    1780 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    1781 
    1782 program_source:168:9: note: expanded from macro '\ 
    1783 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1784 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1785 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1786 program_source:299:1: error: illegal string literal in 'asm' 
    1787 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    1788 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1789 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1790 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    1791 
    1792 program_source:226:52: note: expanded from macro '\ 
    1793 EXPOSE_FUNCTION_ARGS_2' 
    1794 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    1795 
    1796 program_source:168:9: note: expanded from macro '\ 
    1797 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1798 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1799 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1800 program_source:300:1: error: illegal string literal in 'asm' 
    1801 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    1802 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1803 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1804 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    1805 
    1806 program_source:224:38: note: expanded from macro '\ 
    1807 EXPOSE_FUNCTION_ARGS_2' 
    1808 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    1809 
    1810 program_source:168:9: note: expanded from macro '\ 
    1811 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1812 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1813 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1814 program_source:300:1: error: illegal string literal in 'asm' 
    1815 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    1816 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1817 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1818 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    1819 
    1820 program_source:225:51: note: expanded from macro '\ 
    1821 EXPOSE_FUNCTION_ARGS_2' 
    1822 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    1823 
    1824 program_source:168:9: note: expanded from macro '\ 
    1825 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1826 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1827 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1828 program_source:300:1: error: illegal string literal in 'asm' 
    1829 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    1830 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1831 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1832 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    1833 
    1834 program_source:226:52: note: expanded from macro '\ 
    1835 EXPOSE_FUNCTION_ARGS_2' 
    1836 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    1837 
    1838 program_source:168:9: note: expanded from macro '\ 
    1839 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1840 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1841 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1842 program_source:300:1: error: illegal string literal in 'asm' 
    1843 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    1844 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1845 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1846 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    1847 
    1848 program_source:224:38: note: expanded from macro '\ 
    1849 EXPOSE_FUNCTION_ARGS_2' 
    1850 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    1851 
    1852 program_source:168:9: note: expanded from macro '\ 
    1853 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1854 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1855 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1856 program_source:300:1: error: illegal string literal in 'asm' 
    1857 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    1858 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1859 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1860 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    1861 
    1862 program_source:225:51: note: expanded from macro '\ 
    1863 EXPOSE_FUNCTION_ARGS_2' 
    1864 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    1865 
    1866 program_source:168:9: note: expanded from macro '\ 
    1867 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1868 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1869 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1870 program_source:300:1: error: illegal string literal in 'asm' 
    1871 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    1872 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1873 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    1874 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    1875 
    1876 program_source:226:52: note: expanded from macro '\ 
    1877 EXPOSE_FUNCTION_ARGS_2' 
    1878 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    1879 
    1880 program_source:168:9: note: expanded from macro '\ 
    1881 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    1882 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1883 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1884 program_source:302:1: error: illegal string literal in 'asm' 
    1885 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    1886 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1887 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    1888 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    1889 
    1890 program_source:172:9: note: expanded from macro '\ 
    1891 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    1892 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1893 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1894 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    1895 is invalid in OpenCL 
    1896 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    1897 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    1898 
    1899 program_source:175:10: note: expanded from macro '\ 
    1900 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    1901 return ___metal_##EXPR(x, false); \ 
    1902 
    1903 <scratch space>:12:1: note: expanded from here 
    1904 ___metal_ctz 
    1905 
    1906 program_source:302:1: error: illegal string literal in 'asm' 
    1907 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    1908 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1909 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    1910 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    1911 
    1912 program_source:172:9: note: expanded from macro '\ 
    1913 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    1914 __asm("air." #EXPR "." #AIR_TYPE); \ 
    1915 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1916 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    1917 is invalid in OpenCL 
    1918 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    1919 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    1920 
    1921 program_source:175:10: note: expanded from macro '\ 
    1922 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    1923 return ___metal_##EXPR(x, false); \ 
    1924 
    1925 <scratch space>:16:1: note: expanded from here 
    1926 ___metal_ctz 
    1927 
    1928 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    1929 invalid in OpenCL 
    1930 DECLARE_REDUCTION_UNIFORM(sum, reduce_add) 
    1931 
    1932 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    1933 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    1934 
    1935 program_source:305:26: note: expanded from macro '\ 
    1936 DECLARE_I_REDUCTION_UNIFORM' 
    1937 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    1938 
    1939 <scratch space>:17:1: note: expanded from here 
    1940 simd_sum 
    1941 
    1942 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    1943 invalid in OpenCL 
    1944 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    1945 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    1946 
    1947 program_source:305:26: note: expanded from macro '\ 
    1948 DECLARE_I_REDUCTION_UNIFORM' 
    1949 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    1950 
    1951 <scratch space>:17:1: note: expanded from here 
    1952 simd_sum 
    1953 
    1954 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    1955 invalid in OpenCL 
    1956 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    1957 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    1958 
    1959 program_source:308:26: note: expanded from macro '\ 
    1960 DECLARE_F_REDUCTION_UNIFORM' 
    1961 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    1962 
    1963 <scratch space>:19:1: note: expanded from here 
    1964 simd_sum 
    1965 
    1966 program_source:318:1: error: implicit declaration of function
    1967 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    1968 DECLARE_REDUCTION_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    1969 
    1970 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    1971 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    1972 
    1973 program_source:305:26: note: expanded from macro '\ 
    1974 DECLARE_I_REDUCTION_UNIFORM' 
    1975 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    1976 
    1977 <scratch space>:21:1: note: expanded from here 
    1978 simd_prefix_inclusive_sum 
    1979 
    1980 program_source:318:1: error: implicit declaration of function
    1981 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    1982 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    1983 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    1984 
    1985 program_source:305:26: note: expanded from macro '\ 
    1986 DECLARE_I_REDUCTION_UNIFORM' 
    1987 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    1988 
    1989 <scratch space>:21:1: note: expanded from here 
    1990 simd_prefix_inclusive_sum 
    1991 
    1992 program_source:318:1: error: implicit declaration of function
    1993 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    1994 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    1995 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    1996 
    1997 program_source:308:26: note: expanded from macro '\ 
    1998 DECLARE_F_REDUCTION_UNIFORM' 
    1999 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2000 
    2001 <scratch space>:23:1: note: expanded from here 
    2002 simd_prefix_inclusive_sum 
    2003 
    2004 program_source:319:1: error: implicit declaration of function
    2005 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2006 DECLARE_REDUCTION_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    2007 
    2008 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2009 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2010 
    2011 program_source:305:26: note: expanded from macro '\ 
    2012 DECLARE_I_REDUCTION_UNIFORM' 
    2013 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2014 
    2015 <scratch space>:25:1: note: expanded from here 
    2016 simd_prefix_exclusive_sum 
    2017 
    2018 program_source:319:1: error: implicit declaration of function
    2019 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2020 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2021 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2022 
    2023 program_source:305:26: note: expanded from macro '\ 
    2024 DECLARE_I_REDUCTION_UNIFORM' 
    2025 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2026 
    2027 <scratch space>:25:1: note: expanded from here 
    2028 simd_prefix_exclusive_sum 
    2029 
    2030 program_source:319:1: error: implicit declaration of function
    2031 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2032 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2033 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2034 
    2035 program_source:308:26: note: expanded from macro '\ 
    2036 DECLARE_F_REDUCTION_UNIFORM' 
    2037 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2038 
    2039 <scratch space>:27:1: note: expanded from here 
    2040 simd_prefix_exclusive_sum 
    2041 
    2042 program_source:320:1: error: implicit declaration of function 'simd_min' is
    2043 invalid in OpenCL 
    2044 DECLARE_REDUCTION_UNIFORM(min, reduce_min) 
    2045 
    2046 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2047 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2048 
    2049 program_source:305:26: note: expanded from macro '\ 
    2050 DECLARE_I_REDUCTION_UNIFORM' 
    2051 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2052 
    2053 <scratch space>:29:1: note: expanded from here 
    2054 simd_min 
    2055 
    2056 program_source:320:1: error: implicit declaration of function 'simd_min' is
    2057 invalid in OpenCL 
    2058 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2059 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2060 
    2061 program_source:305:26: note: expanded from macro '\ 
    2062 DECLARE_I_REDUCTION_UNIFORM' 
    2063 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2064 
    2065 <scratch space>:29:1: note: expanded from here 
    2066 simd_min 
    2067 
    2068 program_source:320:1: error: implicit declaration of function 'simd_min' is
    2069 invalid in OpenCL 
    2070 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2071 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2072 
    2073 program_source:308:26: note: expanded from macro '\ 
    2074 DECLARE_F_REDUCTION_UNIFORM' 
    2075 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2076 
    2077 <scratch space>:31:1: note: expanded from here 
    2078 simd_min 
    2079 
    2080 program_source:321:1: error: implicit declaration of function 'simd_max' is
    2081 invalid in OpenCL 
    2082 DECLARE_REDUCTION_UNIFORM(max, reduce_max) 
    2083 
    2084 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2085 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2086 
    2087 program_source:305:26: note: expanded from macro '\ 
    2088 DECLARE_I_REDUCTION_UNIFORM' 
    2089 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2090 
    2091 <scratch space>:33:1: note: expanded from here 
    2092 simd_max 
    2093 
    2094 program_source:321:1: error: implicit declaration of function 'simd_max' is
    2095 invalid in OpenCL 
    2096 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2097 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2098 
    2099 program_source:305:26: note: expanded from macro '\ 
    2100 DECLARE_I_REDUCTION_UNIFORM' 
    2101 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2102 
    2103 <scratch space>:33:1: note: expanded from here 
    2104 simd_max 
    2105 
    2106 program_source:321:1: error: implicit declaration of function 'simd_max' is
    2107 invalid in OpenCL 
    2108 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2109 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2110 
    2111 program_source:308:26: note: expanded from macro '\ 
    2112 DECLARE_F_REDUCTION_UNIFORM' 
    2113 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2114 
    2115 <scratch space>:35:1: note: expanded from here 
    2116 simd_max 
    2117 
    2118 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    2119 is invalid in OpenCL 
    2120 DECLARE_SHUFFLE_UNIFORM(shuffle, shuffle) 
    2121 
    2122 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2123 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2124 
    2125 <scratch space>:37:1: note: expanded from here 
    2126 simd_shuffle 
    2127 
    2128 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    2129 is invalid in OpenCL 
    2130 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2131 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2132 
    2133 <scratch space>:37:1: note: expanded from here 
    2134 simd_shuffle 
    2135 
    2136 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    2137 is invalid in OpenCL 
    2138 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2139 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2140 
    2141 <scratch space>:37:1: note: expanded from here 
    2142 simd_shuffle 
    2143 
    2144 program_source:324:1: error: implicit declaration of function
    2145 'simd_shuffle_xor' is invalid in OpenCL 
    2146 DECLARE_SHUFFLE_UNIFORM(shuffle_xor, shuffle_xor) 
    2147 
    2148 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2149 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2150 
    2151 <scratch space>:39:1: note: expanded from here 
    2152 simd_shuffle_xor 
    2153 
    2154 program_source:324:1: error: implicit declaration of function
    2155 'simd_shuffle_xor' is invalid in OpenCL 
    2156 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2157 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2158 
    2159 <scratch space>:39:1: note: expanded from here 
    2160 simd_shuffle_xor 
    2161 
    2162 program_source:324:1: error: implicit declaration of function
    2163 'simd_shuffle_xor' is invalid in OpenCL 
    2164 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2165 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2166 
    2167 <scratch space>:39:1: note: expanded from here 
    2168 simd_shuffle_xor 
    2169 
    2170 program_source:325:1: error: implicit declaration of function
    2171 'simd_shuffle_up' is invalid in OpenCL 
    2172 DECLARE_SHUFFLE_UNIFORM(shuffle_up, shuffle_up) 
    2173 
    2174 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2175 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2176 
    2177 <scratch space>:41:1: note: expanded from here 
    2178 simd_shuffle_up 
    2179 
    2180 program_source:325:1: error: implicit declaration of function
    2181 'simd_shuffle_up' is invalid in OpenCL 
    2182 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2183 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2184 
    2185 <scratch space>:41:1: note: expanded from here 
    2186 simd_shuffle_up 
    2187 
    2188 program_source:325:1: error: implicit declaration of function
    2189 'simd_shuffle_up' is invalid in OpenCL 
    2190 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2191 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2192 
    2193 <scratch space>:41:1: note: expanded from here 
    2194 simd_shuffle_up 
    2195 
    2196 program_source:326:1: error: implicit declaration of function
    2197 'simd_shuffle_down' is invalid in OpenCL 
    2198 DECLARE_SHUFFLE_UNIFORM(shuffle_down, shuffle_down) 
    2199 
    2200 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2201 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2202 
    2203 <scratch space>:43:1: note: expanded from here 
    2204 simd_shuffle_down 
    2205 
    2206 program_source:326:1: error: implicit declaration of function
    2207 'simd_shuffle_down' is invalid in OpenCL 
    2208 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2209 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2210 
    2211 <scratch space>:43:1: note: expanded from here 
    2212 simd_shuffle_down 
    2213 
    2214 program_source:326:1: error: implicit declaration of function
    2215 'simd_shuffle_down' is invalid in OpenCL 
    2216 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2217 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2218 
    2219 <scratch space>:43:1: note: expanded from here 
    2220 simd_shuffle_down 
    2221 
    2222 program_source:327:1: error: implicit declaration of function
    2223 'simd_shuffle_rotate_down' is invalid in OpenCL 
    2224 DECLARE_SHUFFLE_UNIFORM(shuffle_rotate_down, rotate) 
    2225 
    2226 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2227 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2228 
    2229 <scratch space>:45:1: note: expanded from here 
    2230 simd_shuffle_rotate_down 
    2231 
    2232 program_source:327:1: error: implicit declaration of function
    2233 'simd_shuffle_rotate_down' is invalid in OpenCL 
    2234 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2235 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2236 
    2237 <scratch space>:45:1: note: expanded from here 
    2238 simd_shuffle_rotate_down 
    2239 
    2240 program_source:327:1: error: implicit declaration of function
    2241 'simd_shuffle_rotate_down' is invalid in OpenCL 
    2242 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2243 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2244 
    2245 <scratch space>:45:1: note: expanded from here 
    2246 simd_shuffle_rotate_down 
    2247 
    2248 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    2249 is invalid in OpenCL 
    2250 DECLARE_SHUFFLE_UNIFORM(broadcast, broadcast) 
    2251 
    2252 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2253 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2254 
    2255 <scratch space>:47:1: note: expanded from here 
    2256 simd_broadcast 
    2257 
    2258 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    2259 is invalid in OpenCL 
    2260 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2261 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2262 
    2263 <scratch space>:47:1: note: expanded from here 
    2264 simd_broadcast 
    2265 
    2266 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    2267 is invalid in OpenCL 
    2268 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    2269 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2270 
    2271 <scratch space>:47:1: note: expanded from here 
    2272 simd_broadcast 
    2273 
    2274 program_source:330:1: error: implicit declaration of function
    2275 'simd_broadcast_first' is invalid in OpenCL 
    2276 DECLARE_REDUCTION_UNIFORM(broadcast_first, broadcast_first) 
    2277 
    2278 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2279 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2280 
    2281 program_source:305:26: note: expanded from macro '\ 
    2282 DECLARE_I_REDUCTION_UNIFORM' 
    2283 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2284 
    2285 <scratch space>:49:1: note: expanded from here 
    2286 simd_broadcast_first 
    2287 
    2288 program_source:330:1: error: implicit declaration of function
    2289 'simd_broadcast_first' is invalid in OpenCL 
    2290 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2291 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2292 
    2293 program_source:305:26: note: expanded from macro '\ 
    2294 DECLARE_I_REDUCTION_UNIFORM' 
    2295 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2296 
    2297 <scratch space>:49:1: note: expanded from here 
    2298 simd_broadcast_first 
    2299 
    2300 program_source:330:1: error: implicit declaration of function
    2301 'simd_broadcast_first' is invalid in OpenCL 
    2302 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    2303 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2304 
    2305 program_source:308:26: note: expanded from macro '\ 
    2306 DECLARE_F_REDUCTION_UNIFORM' 
    2307 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    2308 
    2309 <scratch space>:51:1: note: expanded from here 
    2310 simd_broadcast_first 
    2311 
    2312 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    2313 invalid in OpenCL 
    2314 DECLARE_REDUCTION_NON_UNIFORM(sum, reduce_add) 
    2315 
    2316 program_source:338:60: note: expanded from macro
    2317 'DECLARE_REDUCTION_NON_UNIFORM' 
    2318 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2319 
    2320 program_source:333:26: note: expanded from macro '\ 
    2321 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2322 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2323 
    2324 <scratch space>:53:1: note: expanded from here 
    2325 simd_sum 
    2326 
    2327 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    2328 invalid in OpenCL 
    2329 program_source:338:60: note: expanded from macro
    2330 'DECLARE_REDUCTION_NON_UNIFORM' 
    2331 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2332 
    2333 program_source:333:26: note: expanded from macro '\ 
    2334 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2335 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2336 
    2337 <scratch space>:53:1: note: expanded from here 
    2338 simd_sum 
    2339 
    2340 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    2341 invalid in OpenCL 
    2342 program_source:339:54: note: expanded from macro
    2343 'DECLARE_REDUCTION_NON_UNIFORM' 
    2344 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2345 
    2346 program_source:336:26: note: expanded from macro '\ 
    2347 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2348 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2349 
    2350 <scratch space>:55:1: note: expanded from here 
    2351 simd_sum 
    2352 
    2353 program_source:346:1: error: implicit declaration of function
    2354 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    2355 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    2356 
    2357 program_source:338:60: note: expanded from macro
    2358 'DECLARE_REDUCTION_NON_UNIFORM' 
    2359 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2360 
    2361 program_source:333:26: note: expanded from macro '\ 
    2362 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2363 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2364 
    2365 <scratch space>:57:1: note: expanded from here 
    2366 simd_prefix_inclusive_sum 
    2367 
    2368 program_source:346:1: error: implicit declaration of function
    2369 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    2370 program_source:338:60: note: expanded from macro
    2371 'DECLARE_REDUCTION_NON_UNIFORM' 
    2372 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2373 
    2374 program_source:333:26: note: expanded from macro '\ 
    2375 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2376 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2377 
    2378 <scratch space>:57:1: note: expanded from here 
    2379 simd_prefix_inclusive_sum 
    2380 
    2381 program_source:346:1: error: implicit declaration of function
    2382 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    2383 program_source:339:54: note: expanded from macro
    2384 'DECLARE_REDUCTION_NON_UNIFORM' 
    2385 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2386 
    2387 program_source:336:26: note: expanded from macro '\ 
    2388 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2389 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2390 
    2391 <scratch space>:59:1: note: expanded from here 
    2392 simd_prefix_inclusive_sum 
    2393 
    2394 program_source:347:1: error: implicit declaration of function
    2395 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2396 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    2397 
    2398 program_source:338:60: note: expanded from macro
    2399 'DECLARE_REDUCTION_NON_UNIFORM' 
    2400 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2401 
    2402 program_source:333:26: note: expanded from macro '\ 
    2403 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2404 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2405 
    2406 <scratch space>:61:1: note: expanded from here 
    2407 simd_prefix_exclusive_sum 
    2408 
    2409 program_source:347:1: error: implicit declaration of function
    2410 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2411 program_source:338:60: note: expanded from macro
    2412 'DECLARE_REDUCTION_NON_UNIFORM' 
    2413 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2414 
    2415 program_source:333:26: note: expanded from macro '\ 
    2416 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2417 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2418 
    2419 <scratch space>:61:1: note: expanded from here 
    2420 simd_prefix_exclusive_sum 
    2421 
    2422 program_source:347:1: error: implicit declaration of function
    2423 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    2424 program_source:339:54: note: expanded from macro
    2425 'DECLARE_REDUCTION_NON_UNIFORM' 
    2426 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2427 
    2428 program_source:336:26: note: expanded from macro '\ 
    2429 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2430 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2431 
    2432 <scratch space>:63:1: note: expanded from here 
    2433 simd_prefix_exclusive_sum 
    2434 
    2435 program_source:348:1: error: implicit declaration of function 'simd_min' is
    2436 invalid in OpenCL 
    2437 DECLARE_REDUCTION_NON_UNIFORM(min, reduce_min) 
    2438 
    2439 program_source:338:60: note: expanded from macro
    2440 'DECLARE_REDUCTION_NON_UNIFORM' 
    2441 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2442 
    2443 program_source:333:26: note: expanded from macro '\ 
    2444 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2445 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2446 
    2447 <scratch space>:65:1: note: expanded from here 
    2448 simd_min 
    2449 
    2450 program_source:348:1: error: implicit declaration of function 'simd_min' is
    2451 invalid in OpenCL 
    2452 program_source:338:60: note: expanded from macro
    2453 'DECLARE_REDUCTION_NON_UNIFORM' 
    2454 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2455 
    2456 program_source:333:26: note: expanded from macro '\ 
    2457 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2458 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2459 
    2460 <scratch space>:65:1: note: expanded from here 
    2461 simd_min 
    2462 
    2463 program_source:348:1: error: implicit declaration of function 'simd_min' is
    2464 invalid in OpenCL 
    2465 program_source:339:54: note: expanded from macro
    2466 'DECLARE_REDUCTION_NON_UNIFORM' 
    2467 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2468 
    2469 program_source:336:26: note: expanded from macro '\ 
    2470 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2471 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2472 
    2473 <scratch space>:67:1: note: expanded from here 
    2474 simd_min 
    2475 
    2476 program_source:349:1: error: implicit declaration of function 'simd_max' is
    2477 invalid in OpenCL 
    2478 DECLARE_REDUCTION_NON_UNIFORM(max, reduce_max) 
    2479 
    2480 program_source:338:60: note: expanded from macro
    2481 'DECLARE_REDUCTION_NON_UNIFORM' 
    2482 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2483 
    2484 program_source:333:26: note: expanded from macro '\ 
    2485 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2486 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2487 
    2488 <scratch space>:69:1: note: expanded from here 
    2489 simd_max 
    2490 
    2491 program_source:349:1: error: implicit declaration of function 'simd_max' is
    2492 invalid in OpenCL 
    2493 program_source:338:60: note: expanded from macro
    2494 'DECLARE_REDUCTION_NON_UNIFORM' 
    2495 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2496 
    2497 program_source:333:26: note: expanded from macro '\ 
    2498 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2499 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2500 
    2501 <scratch space>:69:1: note: expanded from here 
    2502 simd_max 
    2503 
    2504 program_source:349:1: error: implicit declaration of function 'simd_max' is
    2505 invalid in OpenCL 
    2506 program_source:339:54: note: expanded from macro
    2507 'DECLARE_REDUCTION_NON_UNIFORM' 
    2508 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2509 
    2510 program_source:336:26: note: expanded from macro '\ 
    2511 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2512 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2513 
    2514 <scratch space>:71:1: note: expanded from here 
    2515 simd_max 
    2516 
    2517 program_source:351:1: error: implicit declaration of function 'simd_product'
    2518 is invalid in OpenCL 
    2519 DECLARE_REDUCTION_NON_UNIFORM(product, reduce_mul) 
    2520 
    2521 program_source:338:60: note: expanded from macro
    2522 'DECLARE_REDUCTION_NON_UNIFORM' 
    2523 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2524 
    2525 program_source:333:26: note: expanded from macro '\ 
    2526 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2527 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2528 
    2529 <scratch space>:73:1: note: expanded from here 
    2530 simd_product 
    2531 
    2532 program_source:351:1: error: implicit declaration of function 'simd_product'
    2533 is invalid in OpenCL 
    2534 program_source:338:60: note: expanded from macro
    2535 'DECLARE_REDUCTION_NON_UNIFORM' 
    2536 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2537 
    2538 program_source:333:26: note: expanded from macro '\ 
    2539 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2540 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2541 
    2542 <scratch space>:73:1: note: expanded from here 
    2543 simd_product 
    2544 
    2545 program_source:351:1: error: implicit declaration of function 'simd_product'
    2546 is invalid in OpenCL 
    2547 program_source:339:54: note: expanded from macro
    2548 'DECLARE_REDUCTION_NON_UNIFORM' 
    2549 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2550 
    2551 program_source:336:26: note: expanded from macro '\ 
    2552 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2553 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2554 
    2555 <scratch space>:75:1: note: expanded from here 
    2556 simd_product 
    2557 
    2558 program_source:352:1: error: implicit declaration of function
    2559 'simd_prefix_inclusive_product' is invalid in OpenCL 
    2560 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_product, scan_inclusive_mul) 
    2561 
    2562 program_source:338:60: note: expanded from macro
    2563 'DECLARE_REDUCTION_NON_UNIFORM' 
    2564 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2565 
    2566 program_source:333:26: note: expanded from macro '\ 
    2567 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2568 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2569 
    2570 <scratch space>:77:1: note: expanded from here 
    2571 simd_prefix_inclusive_product 
    2572 
    2573 program_source:352:1: error: implicit declaration of function
    2574 'simd_prefix_inclusive_product' is invalid in OpenCL 
    2575 program_source:338:60: note: expanded from macro
    2576 'DECLARE_REDUCTION_NON_UNIFORM' 
    2577 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2578 
    2579 program_source:333:26: note: expanded from macro '\ 
    2580 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2581 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2582 
    2583 <scratch space>:77:1: note: expanded from here 
    2584 simd_prefix_inclusive_product 
    2585 
    2586 program_source:352:1: error: implicit declaration of function
    2587 'simd_prefix_inclusive_product' is invalid in OpenCL 
    2588 program_source:339:54: note: expanded from macro
    2589 'DECLARE_REDUCTION_NON_UNIFORM' 
    2590 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2591 
    2592 program_source:336:26: note: expanded from macro '\ 
    2593 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2594 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2595 
    2596 <scratch space>:79:1: note: expanded from here 
    2597 simd_prefix_inclusive_product 
    2598 
    2599 program_source:353:1: error: implicit declaration of function
    2600 'simd_prefix_exclusive_product' is invalid in OpenCL 
    2601 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_product, scan_exclusive_mul) 
    2602 
    2603 program_source:338:60: note: expanded from macro
    2604 'DECLARE_REDUCTION_NON_UNIFORM' 
    2605 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2606 
    2607 program_source:333:26: note: expanded from macro '\ 
    2608 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2609 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2610 
    2611 <scratch space>:81:1: note: expanded from here 
    2612 simd_prefix_exclusive_product 
    2613 
    2614 program_source:353:1: error: implicit declaration of function
    2615 'simd_prefix_exclusive_product' is invalid in OpenCL 
    2616 program_source:338:60: note: expanded from macro
    2617 'DECLARE_REDUCTION_NON_UNIFORM' 
    2618 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2619 
    2620 program_source:333:26: note: expanded from macro '\ 
    2621 DECLARE_I_REDUCTION_NON_UNIFORM' 
    2622 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2623 
    2624 <scratch space>:81:1: note: expanded from here 
    2625 simd_prefix_exclusive_product 
    2626 
    2627 program_source:353:1: error: implicit declaration of function
    2628 'simd_prefix_exclusive_product' is invalid in OpenCL 
    2629 program_source:339:54: note: expanded from macro
    2630 'DECLARE_REDUCTION_NON_UNIFORM' 
    2631 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    2632 
    2633 program_source:336:26: note: expanded from macro '\ 
    2634 DECLARE_F_REDUCTION_NON_UNIFORM' 
    2635 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2636 
    2637 <scratch space>:83:1: note: expanded from here 
    2638 simd_prefix_exclusive_product 
    2639 
    2640 program_source:354:1: error: implicit declaration of function 'simd_and' is
    2641 invalid in OpenCL 
    2642 DECLARE_I_REDUCTION_NON_UNIFORM(and, reduce_and) 
    2643 
    2644 program_source:333:26: note: expanded from macro
    2645 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    2646 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2647 
    2648 <scratch space>:85:1: note: expanded from here 
    2649 simd_and 
    2650 
    2651 program_source:354:1: error: implicit declaration of function 'simd_and' is
    2652 invalid in OpenCL 
    2653 program_source:333:26: note: expanded from macro
    2654 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    2655 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2656 
    2657 <scratch space>:85:1: note: expanded from here 
    2658 simd_and 
    2659 
    2660 program_source:355:1: error: implicit declaration of function 'simd_or' is
    2661 invalid in OpenCL 
    2662 DECLARE_I_REDUCTION_NON_UNIFORM(or, reduce_or) 
    2663 
    2664 program_source:333:26: note: expanded from macro
    2665 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    2666 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2667 
    2668 <scratch space>:87:1: note: expanded from here 
    2669 simd_or 
    2670 
    2671 program_source:355:1: error: implicit declaration of function 'simd_or' is
    2672 invalid in OpenCL 
    2673 program_source:333:26: note: expanded from macro
    2674 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    2675 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2676 
    2677 <scratch space>:87:1: note: expanded from here 
    2678 simd_or 
    2679 
    2680 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    2681 invalid in OpenCL 
    2682 DECLARE_I_REDUCTION_NON_UNIFORM(xor, reduce_xor) 
    2683 
    2684 program_source:333:26: note: expanded from macro
    2685 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    2686 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2687 
    2688 <scratch space>:89:1: note: expanded from here 
    2689 simd_xor 
    2690 
    2691 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    2692 invalid in OpenCL 
    2693 program_source:333:26: note: expanded from macro
    2694 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    2695 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2696 
    2697 <scratch space>:89:1: note: expanded from here 
    2698 simd_xor 
    2699 
    2700 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    2701 is invalid in OpenCL 
    2702 DECLARE_SHUFFLE_NON_UNIFORM(broadcast, broadcast) 
    2703 
    2704 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    2705 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2706 
    2707 <scratch space>:91:1: note: expanded from here 
    2708 simd_broadcast 
    2709 
    2710 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    2711 is invalid in OpenCL 
    2712 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    2713 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2714 
    2715 <scratch space>:91:1: note: expanded from here 
    2716 simd_broadcast 
    2717 
    2718 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    2719 is invalid in OpenCL 
    2720 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    2721 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    2722 
    2723 <scratch space>:91:1: note: expanded from here 
    2724 simd_broadcast 
    2725 
    2726 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    2727 invalid in OpenCL 
    2728 DECLARE_REDUCTION_CLUSTERED(sum, reduce_add) 
    2729 
    2730 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2731 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2732 
    2733 program_source:360:60: note: expanded from macro '\ 
    2734 DECLARE_I_REDUCTION_CLUSTERED' 
    2735 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2736 
    2737 program_source:245:71: note: expanded from macro '\ 
    2738 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    2739 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    2740 
    2741 program_source:196:12: note: expanded from macro '\ 
    2742 OVERLOAD_CLUSTERED_ARGS_1' 
    2743 return quad_##METAL_SUFFIX(x); \ 
    2744 
    2745 <scratch space>:94:1: note: expanded from here 
    2746 quad_sum 
    2747 
    2748 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    2749 invalid in OpenCL 
    2750 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2751 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2752 
    2753 program_source:360:60: note: expanded from macro '\ 
    2754 DECLARE_I_REDUCTION_CLUSTERED' 
    2755 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2756 
    2757 program_source:245:71: note: expanded from macro '\ 
    2758 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    2759 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    2760 
    2761 program_source:198:12: note: expanded from macro '\ 
    2762 OVERLOAD_CLUSTERED_ARGS_1' 
    2763 return simd_##METAL_SUFFIX(x); \ 
    2764 
    2765 <scratch space>:95:1: note: expanded from here 
    2766 simd_sum 
    2767 
    2768 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    2769 invalid in OpenCL 
    2770 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2771 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2772 
    2773 program_source:360:60: note: expanded from macro '\ 
    2774 DECLARE_I_REDUCTION_CLUSTERED' 
    2775 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2776 
    2777 program_source:246:59: note: expanded from macro '\ 
    2778 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    2779 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    2780 
    2781 program_source:196:12: note: expanded from macro '\ 
    2782 OVERLOAD_CLUSTERED_ARGS_1' 
    2783 return quad_##METAL_SUFFIX(x); \ 
    2784 
    2785 <scratch space>:96:1: note: expanded from here 
    2786 quad_sum 
    2787 
    2788 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    2789 invalid in OpenCL 
    2790 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2791 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2792 
    2793 program_source:360:60: note: expanded from macro '\ 
    2794 DECLARE_I_REDUCTION_CLUSTERED' 
    2795 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2796 
    2797 program_source:246:59: note: expanded from macro '\ 
    2798 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    2799 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    2800 
    2801 program_source:198:12: note: expanded from macro '\ 
    2802 OVERLOAD_CLUSTERED_ARGS_1' 
    2803 return simd_##METAL_SUFFIX(x); \ 
    2804 
    2805 <scratch space>:97:1: note: expanded from here 
    2806 simd_sum 
    2807 
    2808 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    2809 invalid in OpenCL 
    2810 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2811 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2812 
    2813 program_source:363:60: note: expanded from macro '\ 
    2814 DECLARE_F_REDUCTION_CLUSTERED' 
    2815 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2816 
    2817 program_source:249:71: note: expanded from macro '\ 
    2818 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    2819 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    2820 
    2821 program_source:196:12: note: expanded from macro '\ 
    2822 OVERLOAD_CLUSTERED_ARGS_1' 
    2823 return quad_##METAL_SUFFIX(x); \ 
    2824 
    2825 <scratch space>:99:1: note: expanded from here 
    2826 quad_sum 
    2827 
    2828 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    2829 invalid in OpenCL 
    2830 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2831 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2832 
    2833 program_source:363:60: note: expanded from macro '\ 
    2834 DECLARE_F_REDUCTION_CLUSTERED' 
    2835 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2836 
    2837 program_source:249:71: note: expanded from macro '\ 
    2838 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    2839 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    2840 
    2841 program_source:198:12: note: expanded from macro '\ 
    2842 OVERLOAD_CLUSTERED_ARGS_1' 
    2843 return simd_##METAL_SUFFIX(x); \ 
    2844 
    2845 <scratch space>:100:1: note: expanded from here 
    2846 simd_sum 
    2847 
    2848 program_source:392:1: error: implicit declaration of function 'quad_min' is
    2849 invalid in OpenCL 
    2850 DECLARE_REDUCTION_CLUSTERED(min, reduce_min) 
    2851 
    2852 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2853 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2854 
    2855 program_source:360:60: note: expanded from macro '\ 
    2856 DECLARE_I_REDUCTION_CLUSTERED' 
    2857 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2858 
    2859 program_source:245:71: note: expanded from macro '\ 
    2860 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    2861 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    2862 
    2863 program_source:196:12: note: expanded from macro '\ 
    2864 OVERLOAD_CLUSTERED_ARGS_1' 
    2865 return quad_##METAL_SUFFIX(x); \ 
    2866 
    2867 <scratch space>:102:1: note: expanded from here 
    2868 quad_min 
    2869 
    2870 program_source:392:1: error: implicit declaration of function 'simd_min' is
    2871 invalid in OpenCL 
    2872 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2873 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2874 
    2875 program_source:360:60: note: expanded from macro '\ 
    2876 DECLARE_I_REDUCTION_CLUSTERED' 
    2877 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2878 
    2879 program_source:245:71: note: expanded from macro '\ 
    2880 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    2881 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    2882 
    2883 program_source:198:12: note: expanded from macro '\ 
    2884 OVERLOAD_CLUSTERED_ARGS_1' 
    2885 return simd_##METAL_SUFFIX(x); \ 
    2886 
    2887 <scratch space>:103:1: note: expanded from here 
    2888 simd_min 
    2889 
    2890 program_source:392:1: error: implicit declaration of function 'quad_min' is
    2891 invalid in OpenCL 
    2892 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2893 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2894 
    2895 program_source:360:60: note: expanded from macro '\ 
    2896 DECLARE_I_REDUCTION_CLUSTERED' 
    2897 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2898 
    2899 program_source:246:59: note: expanded from macro '\ 
    2900 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    2901 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    2902 
    2903 program_source:196:12: note: expanded from macro '\ 
    2904 OVERLOAD_CLUSTERED_ARGS_1' 
    2905 return quad_##METAL_SUFFIX(x); \ 
    2906 
    2907 <scratch space>:104:1: note: expanded from here 
    2908 quad_min 
    2909 
    2910 program_source:392:1: error: implicit declaration of function 'simd_min' is
    2911 invalid in OpenCL 
    2912 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2913 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2914 
    2915 program_source:360:60: note: expanded from macro '\ 
    2916 DECLARE_I_REDUCTION_CLUSTERED' 
    2917 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2918 
    2919 program_source:246:59: note: expanded from macro '\ 
    2920 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    2921 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    2922 
    2923 program_source:198:12: note: expanded from macro '\ 
    2924 OVERLOAD_CLUSTERED_ARGS_1' 
    2925 return simd_##METAL_SUFFIX(x); \ 
    2926 
    2927 <scratch space>:105:1: note: expanded from here 
    2928 simd_min 
    2929 
    2930 program_source:392:1: error: implicit declaration of function 'quad_min' is
    2931 invalid in OpenCL 
    2932 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2933 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2934 
    2935 program_source:363:60: note: expanded from macro '\ 
    2936 DECLARE_F_REDUCTION_CLUSTERED' 
    2937 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2938 
    2939 program_source:249:71: note: expanded from macro '\ 
    2940 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    2941 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    2942 
    2943 program_source:196:12: note: expanded from macro '\ 
    2944 OVERLOAD_CLUSTERED_ARGS_1' 
    2945 return quad_##METAL_SUFFIX(x); \ 
    2946 
    2947 <scratch space>:107:1: note: expanded from here 
    2948 quad_min 
    2949 
    2950 program_source:392:1: error: implicit declaration of function 'simd_min' is
    2951 invalid in OpenCL 
    2952 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2953 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2954 
    2955 program_source:363:60: note: expanded from macro '\ 
    2956 DECLARE_F_REDUCTION_CLUSTERED' 
    2957 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2958 
    2959 program_source:249:71: note: expanded from macro '\ 
    2960 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    2961 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    2962 
    2963 program_source:198:12: note: expanded from macro '\ 
    2964 OVERLOAD_CLUSTERED_ARGS_1' 
    2965 return simd_##METAL_SUFFIX(x); \ 
    2966 
    2967 <scratch space>:108:1: note: expanded from here 
    2968 simd_min 
    2969 
    2970 program_source:393:1: error: implicit declaration of function 'quad_max' is
    2971 invalid in OpenCL 
    2972 DECLARE_REDUCTION_CLUSTERED(max, reduce_max) 
    2973 
    2974 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2975 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2976 
    2977 program_source:360:60: note: expanded from macro '\ 
    2978 DECLARE_I_REDUCTION_CLUSTERED' 
    2979 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2980 
    2981 program_source:245:71: note: expanded from macro '\ 
    2982 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    2983 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    2984 
    2985 program_source:196:12: note: expanded from macro '\ 
    2986 OVERLOAD_CLUSTERED_ARGS_1' 
    2987 return quad_##METAL_SUFFIX(x); \ 
    2988 
    2989 <scratch space>:110:1: note: expanded from here 
    2990 quad_max 
    2991 
    2992 program_source:393:1: error: implicit declaration of function 'simd_max' is
    2993 invalid in OpenCL 
    2994 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    2995 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    2996 
    2997 program_source:360:60: note: expanded from macro '\ 
    2998 DECLARE_I_REDUCTION_CLUSTERED' 
    2999 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3000 
    3001 program_source:245:71: note: expanded from macro '\ 
    3002 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3003 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3004 
    3005 program_source:198:12: note: expanded from macro '\ 
    3006 OVERLOAD_CLUSTERED_ARGS_1' 
    3007 return simd_##METAL_SUFFIX(x); \ 
    3008 
    3009 <scratch space>:111:1: note: expanded from here 
    3010 simd_max 
    3011 
    3012 program_source:393:1: error: implicit declaration of function 'quad_max' is
    3013 invalid in OpenCL 
    3014 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3015 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3016 
    3017 program_source:360:60: note: expanded from macro '\ 
    3018 DECLARE_I_REDUCTION_CLUSTERED' 
    3019 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3020 
    3021 program_source:246:59: note: expanded from macro '\ 
    3022 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3023 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3024 
    3025 program_source:196:12: note: expanded from macro '\ 
    3026 OVERLOAD_CLUSTERED_ARGS_1' 
    3027 return quad_##METAL_SUFFIX(x); \ 
    3028 
    3029 <scratch space>:112:1: note: expanded from here 
    3030 quad_max 
    3031 
    3032 program_source:393:1: error: implicit declaration of function 'simd_max' is
    3033 invalid in OpenCL 
    3034 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3035 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3036 
    3037 program_source:360:60: note: expanded from macro '\ 
    3038 DECLARE_I_REDUCTION_CLUSTERED' 
    3039 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3040 
    3041 program_source:246:59: note: expanded from macro '\ 
    3042 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3043 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3044 
    3045 program_source:198:12: note: expanded from macro '\ 
    3046 OVERLOAD_CLUSTERED_ARGS_1' 
    3047 return simd_##METAL_SUFFIX(x); \ 
    3048 
    3049 <scratch space>:113:1: note: expanded from here 
    3050 simd_max 
    3051 
    3052 program_source:393:1: error: implicit declaration of function 'quad_max' is
    3053 invalid in OpenCL 
    3054 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3055 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3056 
    3057 program_source:363:60: note: expanded from macro '\ 
    3058 DECLARE_F_REDUCTION_CLUSTERED' 
    3059 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3060 
    3061 program_source:249:71: note: expanded from macro '\ 
    3062 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3063 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3064 
    3065 program_source:196:12: note: expanded from macro '\ 
    3066 OVERLOAD_CLUSTERED_ARGS_1' 
    3067 return quad_##METAL_SUFFIX(x); \ 
    3068 
    3069 <scratch space>:115:1: note: expanded from here 
    3070 quad_max 
    3071 
    3072 program_source:393:1: error: implicit declaration of function 'simd_max' is
    3073 invalid in OpenCL 
    3074 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3075 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3076 
    3077 program_source:363:60: note: expanded from macro '\ 
    3078 DECLARE_F_REDUCTION_CLUSTERED' 
    3079 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3080 
    3081 program_source:249:71: note: expanded from macro '\ 
    3082 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3083 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3084 
    3085 program_source:198:12: note: expanded from macro '\ 
    3086 OVERLOAD_CLUSTERED_ARGS_1' 
    3087 return simd_##METAL_SUFFIX(x); \ 
    3088 
    3089 <scratch space>:116:1: note: expanded from here 
    3090 simd_max 
    3091 
    3092 program_source:395:1: error: implicit declaration of function 'quad_product'
    3093 is invalid in OpenCL 
    3094 DECLARE_REDUCTION_CLUSTERED(product, reduce_mul) 
    3095 
    3096 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3097 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3098 
    3099 program_source:360:60: note: expanded from macro '\ 
    3100 DECLARE_I_REDUCTION_CLUSTERED' 
    3101 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3102 
    3103 program_source:245:71: note: expanded from macro '\ 
    3104 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3105 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3106 
    3107 program_source:196:12: note: expanded from macro '\ 
    3108 OVERLOAD_CLUSTERED_ARGS_1' 
    3109 return quad_##METAL_SUFFIX(x); \ 
    3110 
    3111 <scratch space>:118:1: note: expanded from here 
    3112 quad_product 
    3113 
    3114 program_source:395:1: error: implicit declaration of function 'simd_product'
    3115 is invalid in OpenCL 
    3116 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3117 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3118 
    3119 program_source:360:60: note: expanded from macro '\ 
    3120 DECLARE_I_REDUCTION_CLUSTERED' 
    3121 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3122 
    3123 program_source:245:71: note: expanded from macro '\ 
    3124 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3125 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3126 
    3127 program_source:198:12: note: expanded from macro '\ 
    3128 OVERLOAD_CLUSTERED_ARGS_1' 
    3129 return simd_##METAL_SUFFIX(x); \ 
    3130 
    3131 <scratch space>:119:1: note: expanded from here 
    3132 simd_product 
    3133 
    3134 program_source:395:1: error: implicit declaration of function 'quad_product'
    3135 is invalid in OpenCL 
    3136 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3137 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3138 
    3139 program_source:360:60: note: expanded from macro '\ 
    3140 DECLARE_I_REDUCTION_CLUSTERED' 
    3141 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3142 
    3143 program_source:246:59: note: expanded from macro '\ 
    3144 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3145 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3146 
    3147 program_source:196:12: note: expanded from macro '\ 
    3148 OVERLOAD_CLUSTERED_ARGS_1' 
    3149 return quad_##METAL_SUFFIX(x); \ 
    3150 
    3151 <scratch space>:120:1: note: expanded from here 
    3152 quad_product 
    3153 
    3154 program_source:395:1: error: implicit declaration of function 'simd_product'
    3155 is invalid in OpenCL 
    3156 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3157 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3158 
    3159 program_source:360:60: note: expanded from macro '\ 
    3160 DECLARE_I_REDUCTION_CLUSTERED' 
    3161 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3162 
    3163 program_source:246:59: note: expanded from macro '\ 
    3164 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3165 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3166 
    3167 program_source:198:12: note: expanded from macro '\ 
    3168 OVERLOAD_CLUSTERED_ARGS_1' 
    3169 return simd_##METAL_SUFFIX(x); \ 
    3170 
    3171 <scratch space>:121:1: note: expanded from here 
    3172 simd_product 
    3173 
    3174 program_source:395:1: error: implicit declaration of function 'quad_product'
    3175 is invalid in OpenCL 
    3176 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3177 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3178 
    3179 program_source:363:60: note: expanded from macro '\ 
    3180 DECLARE_F_REDUCTION_CLUSTERED' 
    3181 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3182 
    3183 program_source:249:71: note: expanded from macro '\ 
    3184 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3185 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3186 
    3187 program_source:196:12: note: expanded from macro '\ 
    3188 OVERLOAD_CLUSTERED_ARGS_1' 
    3189 return quad_##METAL_SUFFIX(x); \ 
    3190 
    3191 <scratch space>:123:1: note: expanded from here 
    3192 quad_product 
    3193 
    3194 program_source:395:1: error: implicit declaration of function 'simd_product'
    3195 is invalid in OpenCL 
    3196 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    3197 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3198 
    3199 program_source:363:60: note: expanded from macro '\ 
    3200 DECLARE_F_REDUCTION_CLUSTERED' 
    3201 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3202 
    3203 program_source:249:71: note: expanded from macro '\ 
    3204 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    3205 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3206 
    3207 program_source:198:12: note: expanded from macro '\ 
    3208 OVERLOAD_CLUSTERED_ARGS_1' 
    3209 return simd_##METAL_SUFFIX(x); \ 
    3210 
    3211 <scratch space>:124:1: note: expanded from here 
    3212 simd_product 
    3213 
    3214 program_source:396:1: error: implicit declaration of function 'quad_and' is
    3215 invalid in OpenCL 
    3216 DECLARE_I_REDUCTION_CLUSTERED(and, reduce_and) 
    3217 
    3218 program_source:360:60: note: expanded from macro
    3219 'DECLARE_I_REDUCTION_CLUSTERED' 
    3220 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3221 
    3222 program_source:245:71: note: expanded from macro '\ 
    3223 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3224 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3225 
    3226 program_source:196:12: note: expanded from macro '\ 
    3227 OVERLOAD_CLUSTERED_ARGS_1' 
    3228 return quad_##METAL_SUFFIX(x); \ 
    3229 
    3230 <scratch space>:126:1: note: expanded from here 
    3231 quad_and 
    3232 
    3233 program_source:396:1: error: implicit declaration of function 'simd_and' is
    3234 invalid in OpenCL 
    3235 program_source:360:60: note: expanded from macro
    3236 'DECLARE_I_REDUCTION_CLUSTERED' 
    3237 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3238 
    3239 program_source:245:71: note: expanded from macro '\ 
    3240 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3241 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3242 
    3243 program_source:198:12: note: expanded from macro '\ 
    3244 OVERLOAD_CLUSTERED_ARGS_1' 
    3245 return simd_##METAL_SUFFIX(x); \ 
    3246 
    3247 <scratch space>:127:1: note: expanded from here 
    3248 simd_and 
    3249 
    3250 program_source:396:1: error: implicit declaration of function 'quad_and' is
    3251 invalid in OpenCL 
    3252 program_source:360:60: note: expanded from macro
    3253 'DECLARE_I_REDUCTION_CLUSTERED' 
    3254 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3255 
    3256 program_source:246:59: note: expanded from macro '\ 
    3257 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3258 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3259 
    3260 program_source:196:12: note: expanded from macro '\ 
    3261 OVERLOAD_CLUSTERED_ARGS_1' 
    3262 return quad_##METAL_SUFFIX(x); \ 
    3263 
    3264 <scratch space>:128:1: note: expanded from here 
    3265 quad_and 
    3266 
    3267 program_source:396:1: error: implicit declaration of function 'simd_and' is
    3268 invalid in OpenCL 
    3269 program_source:360:60: note: expanded from macro
    3270 'DECLARE_I_REDUCTION_CLUSTERED' 
    3271 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3272 
    3273 program_source:246:59: note: expanded from macro '\ 
    3274 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3275 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3276 
    3277 program_source:198:12: note: expanded from macro '\ 
    3278 OVERLOAD_CLUSTERED_ARGS_1' 
    3279 return simd_##METAL_SUFFIX(x); \ 
    3280 
    3281 <scratch space>:129:1: note: expanded from here 
    3282 simd_and 
    3283 
    3284 program_source:397:1: error: implicit declaration of function 'quad_or' is
    3285 invalid in OpenCL 
    3286 DECLARE_I_REDUCTION_CLUSTERED(or, reduce_or) 
    3287 
    3288 program_source:360:60: note: expanded from macro
    3289 'DECLARE_I_REDUCTION_CLUSTERED' 
    3290 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3291 
    3292 program_source:245:71: note: expanded from macro '\ 
    3293 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3294 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3295 
    3296 program_source:196:12: note: expanded from macro '\ 
    3297 OVERLOAD_CLUSTERED_ARGS_1' 
    3298 return quad_##METAL_SUFFIX(x); \ 
    3299 
    3300 <scratch space>:131:1: note: expanded from here 
    3301 quad_or 
    3302 
    3303 program_source:397:1: error: implicit declaration of function 'simd_or' is
    3304 invalid in OpenCL 
    3305 program_source:360:60: note: expanded from macro
    3306 'DECLARE_I_REDUCTION_CLUSTERED' 
    3307 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3308 
    3309 program_source:245:71: note: expanded from macro '\ 
    3310 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3311 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3312 
    3313 program_source:198:12: note: expanded from macro '\ 
    3314 OVERLOAD_CLUSTERED_ARGS_1' 
    3315 return simd_##METAL_SUFFIX(x); \ 
    3316 
    3317 <scratch space>:132:1: note: expanded from here 
    3318 simd_or 
    3319 
    3320 program_source:397:1: error: implicit declaration of function 'quad_or' is
    3321 invalid in OpenCL 
    3322 program_source:360:60: note: expanded from macro
    3323 'DECLARE_I_REDUCTION_CLUSTERED' 
    3324 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3325 
    3326 program_source:246:59: note: expanded from macro '\ 
    3327 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3328 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3329 
    3330 program_source:196:12: note: expanded from macro '\ 
    3331 OVERLOAD_CLUSTERED_ARGS_1' 
    3332 return quad_##METAL_SUFFIX(x); \ 
    3333 
    3334 <scratch space>:133:1: note: expanded from here 
    3335 quad_or 
    3336 
    3337 program_source:397:1: error: implicit declaration of function 'simd_or' is
    3338 invalid in OpenCL 
    3339 program_source:360:60: note: expanded from macro
    3340 'DECLARE_I_REDUCTION_CLUSTERED' 
    3341 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3342 
    3343 program_source:246:59: note: expanded from macro '\ 
    3344 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3345 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3346 
    3347 program_source:198:12: note: expanded from macro '\ 
    3348 OVERLOAD_CLUSTERED_ARGS_1' 
    3349 return simd_##METAL_SUFFIX(x); \ 
    3350 
    3351 <scratch space>:134:1: note: expanded from here 
    3352 simd_or 
    3353 
    3354 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    3355 invalid in OpenCL 
    3356 DECLARE_I_REDUCTION_CLUSTERED(xor, reduce_xor) 
    3357 
    3358 program_source:360:60: note: expanded from macro
    3359 'DECLARE_I_REDUCTION_CLUSTERED' 
    3360 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3361 
    3362 program_source:245:71: note: expanded from macro '\ 
    3363 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3364 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3365 
    3366 program_source:196:12: note: expanded from macro '\ 
    3367 OVERLOAD_CLUSTERED_ARGS_1' 
    3368 return quad_##METAL_SUFFIX(x); \ 
    3369 
    3370 <scratch space>:136:1: note: expanded from here 
    3371 quad_xor 
    3372 
    3373 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    3374 invalid in OpenCL 
    3375 program_source:360:60: note: expanded from macro
    3376 'DECLARE_I_REDUCTION_CLUSTERED' 
    3377 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3378 
    3379 program_source:245:71: note: expanded from macro '\ 
    3380 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3381 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    3382 
    3383 program_source:198:12: note: expanded from macro '\ 
    3384 OVERLOAD_CLUSTERED_ARGS_1' 
    3385 return simd_##METAL_SUFFIX(x); \ 
    3386 
    3387 <scratch space>:137:1: note: expanded from here 
    3388 simd_xor 
    3389 
    3390 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    3391 invalid in OpenCL 
    3392 program_source:360:60: note: expanded from macro
    3393 'DECLARE_I_REDUCTION_CLUSTERED' 
    3394 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3395 
    3396 program_source:246:59: note: expanded from macro '\ 
    3397 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3398 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3399 
    3400 program_source:196:12: note: expanded from macro '\ 
    3401 OVERLOAD_CLUSTERED_ARGS_1' 
    3402 return quad_##METAL_SUFFIX(x); \ 
    3403 
    3404 <scratch space>:138:1: note: expanded from here 
    3405 quad_xor 
    3406 
    3407 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    3408 invalid in OpenCL 
    3409 program_source:360:60: note: expanded from macro
    3410 'DECLARE_I_REDUCTION_CLUSTERED' 
    3411 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3412 
    3413 program_source:246:59: note: expanded from macro '\ 
    3414 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    3415 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3416 
    3417 program_source:198:12: note: expanded from macro '\ 
    3418 OVERLOAD_CLUSTERED_ARGS_1' 
    3419 return simd_##METAL_SUFFIX(x); \ 
    3420 
    3421 <scratch space>:139:1: note: expanded from here 
    3422 simd_xor 
    3423 
    3424 program_source:399:1: error: implicit declaration of function 'simd_and' is
    3425 invalid in OpenCL 
    3426 DECLARE_B_REDUCTION_CLUSTERED(and) 
    3427 
    3428 program_source:369:8: note: expanded from macro
    3429 'DECLARE_B_REDUCTION_CLUSTERED' 
    3430 return simd_##OP(select(0, 1, predicate != 0)); \ 
    3431 
    3432 <scratch space>:141:1: note: expanded from here 
    3433 simd_and 
    3434 
    3435 program_source:399:1: error: implicit declaration of function 'quad_and' is
    3436 invalid in OpenCL 
    3437 program_source:378:12: note: expanded from macro
    3438 'DECLARE_B_REDUCTION_CLUSTERED' 
    3439 return quad_##OP(x); \ 
    3440 
    3441 <scratch space>:143:1: note: expanded from here 
    3442 quad_and 
    3443 
    3444 program_source:399:1: error: implicit declaration of function 'simd_and' is
    3445 invalid in OpenCL 
    3446 program_source:380:12: note: expanded from macro
    3447 'DECLARE_B_REDUCTION_CLUSTERED' 
    3448 return simd_##OP(x); \ 
    3449 
    3450 <scratch space>:144:1: note: expanded from here 
    3451 simd_and 
    3452 
    3453 program_source:400:1: error: implicit declaration of function 'simd_or' is
    3454 invalid in OpenCL 
    3455 DECLARE_B_REDUCTION_CLUSTERED(or) 
    3456 
    3457 program_source:369:8: note: expanded from macro
    3458 'DECLARE_B_REDUCTION_CLUSTERED' 
    3459 return simd_##OP(select(0, 1, predicate != 0)); \ 
    3460 
    3461 <scratch space>:146:1: note: expanded from here 
    3462 simd_or 
    3463 
    3464 program_source:400:1: error: implicit declaration of function 'quad_or' is
    3465 invalid in OpenCL 
    3466 program_source:378:12: note: expanded from macro
    3467 'DECLARE_B_REDUCTION_CLUSTERED' 
    3468 return quad_##OP(x); \ 
    3469 
    3470 <scratch space>:148:1: note: expanded from here 
    3471 quad_or 
    3472 
    3473 program_source:400:1: error: implicit declaration of function 'simd_or' is
    3474 invalid in OpenCL 
    3475 program_source:380:12: note: expanded from macro
    3476 'DECLARE_B_REDUCTION_CLUSTERED' 
    3477 return simd_##OP(x); \ 
    3478 
    3479 <scratch space>:149:1: note: expanded from here 
    3480 simd_or 
    3481 
    3482 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    3483 invalid in OpenCL 
    3484 DECLARE_B_REDUCTION_CLUSTERED(xor) 
    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>:151:1: note: expanded from here 
    3491 simd_xor 
    3492 
    3493 program_source:401:1: error: implicit declaration of function 'quad_xor' 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>:153:1: note: expanded from here 
    3500 quad_xor 
    3501 
    3502 program_source:401:1: error: implicit declaration of function 'simd_xor' 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>:154:1: note: expanded from here 
    3509 simd_xor 
    3510 
    3511 program_source:403:1: error: implicit declaration of function
    3512 'quad_shuffle_rotate_down' is invalid in OpenCL 
    3513 DECLARE_SHUFFLE_CLUSTERED(shuffle_rotate_down, rotate) 
    3514 
    3515 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3516 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3517 
    3518 program_source:252:69: note: expanded from macro '\ 
    3519 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3520 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    3521 
    3522 program_source:208:12: note: expanded from macro '\ 
    3523 OVERLOAD_CLUSTERED_ARGS_2' 
    3524 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    3525 
    3526 <scratch space>:156:1: note: expanded from here 
    3527 quad_shuffle_rotate_down 
    3528 
    3529 program_source:403:1: error: implicit declaration of function
    3530 'simd_shuffle_rotate_down' is invalid in OpenCL 
    3531 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3532 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3533 
    3534 program_source:252:69: note: expanded from macro '\ 
    3535 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3536 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    3537 
    3538 program_source:210:12: note: expanded from macro '\ 
    3539 OVERLOAD_CLUSTERED_ARGS_2' 
    3540 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    3541 
    3542 <scratch space>:157:1: note: expanded from here 
    3543 simd_shuffle_rotate_down 
    3544 
    3545 program_source:403:1: error: implicit declaration of function
    3546 'quad_shuffle_rotate_down' is invalid in OpenCL 
    3547 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3548 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3549 
    3550 program_source:253:59: note: expanded from macro '\ 
    3551 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3552 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3553 
    3554 program_source:208:12: note: expanded from macro '\ 
    3555 OVERLOAD_CLUSTERED_ARGS_2' 
    3556 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    3557 
    3558 <scratch space>:158:1: note: expanded from here 
    3559 quad_shuffle_rotate_down 
    3560 
    3561 program_source:403:1: error: implicit declaration of function
    3562 'simd_shuffle_rotate_down' is invalid in OpenCL 
    3563 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3564 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3565 
    3566 program_source:253:59: note: expanded from macro '\ 
    3567 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3568 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    3569 
    3570 program_source:210:12: note: expanded from macro '\ 
    3571 OVERLOAD_CLUSTERED_ARGS_2' 
    3572 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    3573 
    3574 <scratch space>:159:1: note: expanded from here 
    3575 simd_shuffle_rotate_down 
    3576 
    3577 program_source:403:1: error: implicit declaration of function
    3578 'quad_shuffle_rotate_down' is invalid in OpenCL 
    3579 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3580 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3581 
    3582 program_source:254:60: note: expanded from macro '\ 
    3583 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3584 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    3585 
    3586 program_source:208:12: note: expanded from macro '\ 
    3587 OVERLOAD_CLUSTERED_ARGS_2' 
    3588 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    3589 
    3590 <scratch space>:160:1: note: expanded from here 
    3591 quad_shuffle_rotate_down 
    3592 
    3593 program_source:403:1: error: implicit declaration of function
    3594 'simd_shuffle_rotate_down' is invalid in OpenCL 
    3595 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    3596 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    3597 
    3598 program_source:254:60: note: expanded from macro '\ 
    3599 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    3600 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    3601 
    3602 program_source:210:12: note: expanded from macro '\ 
    3603 OVERLOAD_CLUSTERED_ARGS_2' 
    3604 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    3605 
    3606 <scratch space>:161:1: note: expanded from here 
    3607 simd_shuffle_rotate_down 
    3608 
    3609 program_source:409:1: error: illegal string literal in 'asm' 
    3610 EXPOSE_BALLOT(simd_is_first, , bool, ) 
    3611 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3612 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3613 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3614 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3615 program_source:410:1: error: illegal string literal in 'asm' 
    3616 EXPOSE_BALLOT(simd_all, bool expr, bool, ) 
    3617 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3618 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3619 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3620 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3621 program_source:411:1: error: illegal string literal in 'asm' 
    3622 EXPOSE_BALLOT(simd_any, bool expr, bool, ) 
    3623 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3624 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3625 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3626 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3627 program_source:412:1: error: illegal string literal in 'asm' 
    3628 EXPOSE_BALLOT(simd_ballot, bool expr, ulong, .i64) 
    3629 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3630 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3631 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3632 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3633 program_source:413:1: error: illegal string literal in 'asm' 
    3634 EXPOSE_BALLOT(simd_active_threads_mask, , ulong, .i64) 
    3635 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3636 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3637 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3638 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3639 program_source:415:1: error: illegal string literal in 'asm' 
    3640 EXPOSE_BALLOT(quad_is_first, , bool, ) 
    3641 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3642 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3643 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3644 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3645 program_source:416:1: error: illegal string literal in 'asm' 
    3646 EXPOSE_BALLOT(quad_all, bool expr, bool, ) 
    3647 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3648 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3649 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3650 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3651 program_source:417:1: error: illegal string literal in 'asm' 
    3652 EXPOSE_BALLOT(quad_any, bool expr, bool, ) 
    3653 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3654 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3655 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3656 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3657 program_source:418:1: error: illegal string literal in 'asm' 
    3658 EXPOSE_BALLOT(quad_ballot, bool expr, ushort, ) 
    3659 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3660 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3661 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3662 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3663 program_source:419:1: error: illegal string literal in 'asm' 
    3664 EXPOSE_BALLOT(quad_active_threads_mask, , ushort, ) 
    3665 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3666 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    3667 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    3668 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3669 program_source:422:23: error: implicit declaration of function 'simd_is_first'
    3670 is invalid in OpenCL 
    3671 return select(0, 1, simd_is_first()); 
    3672 
    3673 program_source:426:23: error: implicit declaration of function 'simd_all' is
    3674 invalid in OpenCL 
    3675 return select(0, 1, simd_all(predicate != 0)); 
    3676 
    3677 program_source:430:23: error: implicit declaration of function 'simd_any' is
    3678 invalid in OpenCL 
    3679 return select(0, 1, simd_any(predicate != 0)); 
    3680 
    3681 program_source:434:23: error: implicit declaration of function 'simd_all' is
    3682 invalid in OpenCL 
    3683 return select(0, 1, simd_all(predicate != 0)); 
    3684 
    3685 program_source:438:23: error: implicit declaration of function 'simd_any' is
    3686 invalid in OpenCL 
    3687 return select(0, 1, simd_any(predicate != 0)); 
    3688 
    3689 program_source:443:14: error: implicit declaration of function 'simd_ballot'
    3690 is invalid in OpenCL 
    3691 output.x = simd_ballot(predicate != 0); 
    3692 
    3693 program_source:480:9: error: illegal string literal in 'asm' 
    3694 __asm("air.simdgroup.barrier"); 
    3695 ^~~~~~~~~~~~~~~~~~~~~~~ 
    3696 program_source:487:3: error: implicit declaration of function
    3697 '__metal_simdgroup_barrier' is invalid in OpenCL 
    3698 __metal_simdgroup_barrier(flags, 1); 
    3699 
    3700 program_source:487:3: note: did you mean 'simdgroup_barrier'? 
    3701 program_source:483:6: note: 'simdgroup_barrier' declared here 
    3702 void simdgroup_barrier(int flags) { 
    3703 
    3704 program_source:681:9: error: implicit declaration of function 'simd_is_first'
    3705 is invalid in OpenCL 
    3706 if (simd_is_first()) { 
    3707 
    3708 program_source:673:45: warning: comparison of integers of different signs:
    3709 '__private unsigned int' and '__private int' [-Wsign-compare] 
    3710 for (unsigned int index = thread; index < bufferSize; index +=
    3711 get_local_size(0)) 
    3712 ~~~~~ ^ ~~~~~~~~~~ 
    3713 program_source:685:45: warning: comparison of integers of different signs:
    3714 'unsigned int' and '__private int' [-Wsign-compare] 
    3715 if (thread%(32*2) == 0 && thread+32 < workGroupSize) 
    3716 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    3717 program_source:689:45: warning: comparison of integers of different signs:
    3718 'unsigned int' and '__private int' [-Wsign-compare] 
    3719 if (thread%(64*2) == 0 && thread+64 < workGroupSize) 
    3720 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    3721 program_source:693:47: warning: comparison of integers of different signs:
    3722 'unsigned int' and '__private int' [-Wsign-compare] 
    3723 if (thread%(128*2) == 0 && thread+128 < workGroupSize) 
    3724 ~~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    3725  
    3726  
    3727 openmm.OpenMMException: Error compiling kernel: program_source:279:1: error:
    3728 illegal string literal in 'asm' 
    3729 DECLARE_REDUCTION_BASE(sum) 
    3730 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3731 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3732 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    3733 
    3734 program_source:263:44: note: expanded from macro '\ 
    3735 DECLARE_I_REDUCTION_BASE' 
    3736 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    3737 
    3738 program_source:217:40: note: expanded from macro '\ 
    3739 EXPOSE_FUNCTION_I_ARGS_1' 
    3740 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    3741 
    3742 program_source:164:9: note: expanded from macro '\ 
    3743 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3744 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3745 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3746 program_source:279:1: error: illegal string literal in 'asm' 
    3747 DECLARE_REDUCTION_BASE(sum) 
    3748 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3749 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3750 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    3751 
    3752 program_source:263:44: note: expanded from macro '\ 
    3753 DECLARE_I_REDUCTION_BASE' 
    3754 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    3755 
    3756 program_source:218:51: note: expanded from macro '\ 
    3757 EXPOSE_FUNCTION_I_ARGS_1' 
    3758 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    3759 
    3760 program_source:164:9: note: expanded from macro '\ 
    3761 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3762 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3763 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3764 program_source:279:1: error: illegal string literal in 'asm' 
    3765 DECLARE_REDUCTION_BASE(sum) 
    3766 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3767 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3768 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    3769 
    3770 program_source:264:43: note: expanded from macro '\ 
    3771 DECLARE_I_REDUCTION_BASE' 
    3772 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    3773 
    3774 program_source:217:40: note: expanded from macro '\ 
    3775 EXPOSE_FUNCTION_I_ARGS_1' 
    3776 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    3777 
    3778 program_source:164:9: note: expanded from macro '\ 
    3779 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3780 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3781 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3782 program_source:279:1: error: illegal string literal in 'asm' 
    3783 DECLARE_REDUCTION_BASE(sum) 
    3784 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3785 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3786 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    3787 
    3788 program_source:264:43: note: expanded from macro '\ 
    3789 DECLARE_I_REDUCTION_BASE' 
    3790 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    3791 
    3792 program_source:218:51: note: expanded from macro '\ 
    3793 EXPOSE_FUNCTION_I_ARGS_1' 
    3794 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    3795 
    3796 program_source:164:9: note: expanded from macro '\ 
    3797 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3798 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3799 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3800 program_source:279:1: error: illegal string literal in 'asm' 
    3801 DECLARE_REDUCTION_BASE(sum) 
    3802 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3803 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3804 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    3805 
    3806 program_source:267:44: note: expanded from macro '\ 
    3807 DECLARE_F_REDUCTION_BASE' 
    3808 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    3809 
    3810 program_source:221:40: note: expanded from macro '\ 
    3811 EXPOSE_FUNCTION_F_ARGS_1' 
    3812 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    3813 
    3814 program_source:164:9: note: expanded from macro '\ 
    3815 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3816 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3817 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3818 program_source:279:1: error: illegal string literal in 'asm' 
    3819 DECLARE_REDUCTION_BASE(sum) 
    3820 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3821 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3822 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    3823 
    3824 program_source:268:43: note: expanded from macro '\ 
    3825 DECLARE_F_REDUCTION_BASE' 
    3826 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    3827 
    3828 program_source:221:40: note: expanded from macro '\ 
    3829 EXPOSE_FUNCTION_F_ARGS_1' 
    3830 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    3831 
    3832 program_source:164:9: note: expanded from macro '\ 
    3833 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3834 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3835 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3836 program_source:280:1: error: illegal string literal in 'asm' 
    3837 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    3838 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3839 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3840 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    3841 
    3842 program_source:263:44: note: expanded from macro '\ 
    3843 DECLARE_I_REDUCTION_BASE' 
    3844 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    3845 
    3846 program_source:217:40: note: expanded from macro '\ 
    3847 EXPOSE_FUNCTION_I_ARGS_1' 
    3848 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    3849 
    3850 program_source:164:9: note: expanded from macro '\ 
    3851 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3852 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3853 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3854 program_source:280:1: error: illegal string literal in 'asm' 
    3855 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    3856 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3857 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3858 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    3859 
    3860 program_source:263:44: note: expanded from macro '\ 
    3861 DECLARE_I_REDUCTION_BASE' 
    3862 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    3863 
    3864 program_source:218:51: note: expanded from macro '\ 
    3865 EXPOSE_FUNCTION_I_ARGS_1' 
    3866 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    3867 
    3868 program_source:164:9: note: expanded from macro '\ 
    3869 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3870 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3871 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3872 program_source:280:1: error: illegal string literal in 'asm' 
    3873 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    3874 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3875 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3876 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    3877 
    3878 program_source:264:43: note: expanded from macro '\ 
    3879 DECLARE_I_REDUCTION_BASE' 
    3880 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    3881 
    3882 program_source:217:40: note: expanded from macro '\ 
    3883 EXPOSE_FUNCTION_I_ARGS_1' 
    3884 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    3885 
    3886 program_source:164:9: note: expanded from macro '\ 
    3887 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3888 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3889 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3890 program_source:280:1: error: illegal string literal in 'asm' 
    3891 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    3892 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3893 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3894 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    3895 
    3896 program_source:264:43: note: expanded from macro '\ 
    3897 DECLARE_I_REDUCTION_BASE' 
    3898 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    3899 
    3900 program_source:218:51: note: expanded from macro '\ 
    3901 EXPOSE_FUNCTION_I_ARGS_1' 
    3902 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    3903 
    3904 program_source:164:9: note: expanded from macro '\ 
    3905 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3906 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3907 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3908 program_source:280:1: error: illegal string literal in 'asm' 
    3909 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    3910 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3911 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3912 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    3913 
    3914 program_source:267:44: note: expanded from macro '\ 
    3915 DECLARE_F_REDUCTION_BASE' 
    3916 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    3917 
    3918 program_source:221:40: note: expanded from macro '\ 
    3919 EXPOSE_FUNCTION_F_ARGS_1' 
    3920 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    3921 
    3922 program_source:164:9: note: expanded from macro '\ 
    3923 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3924 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3925 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3926 program_source:280:1: error: illegal string literal in 'asm' 
    3927 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    3928 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3929 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3930 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    3931 
    3932 program_source:268:43: note: expanded from macro '\ 
    3933 DECLARE_F_REDUCTION_BASE' 
    3934 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    3935 
    3936 program_source:221:40: note: expanded from macro '\ 
    3937 EXPOSE_FUNCTION_F_ARGS_1' 
    3938 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    3939 
    3940 program_source:164:9: note: expanded from macro '\ 
    3941 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3942 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3943 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3944 program_source:281:1: error: illegal string literal in 'asm' 
    3945 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    3946 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3947 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3948 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    3949 
    3950 program_source:263:44: note: expanded from macro '\ 
    3951 DECLARE_I_REDUCTION_BASE' 
    3952 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    3953 
    3954 program_source:217:40: note: expanded from macro '\ 
    3955 EXPOSE_FUNCTION_I_ARGS_1' 
    3956 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    3957 
    3958 program_source:164:9: note: expanded from macro '\ 
    3959 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3960 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3961 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3962 program_source:281:1: error: illegal string literal in 'asm' 
    3963 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    3964 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3965 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3966 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    3967 
    3968 program_source:263:44: note: expanded from macro '\ 
    3969 DECLARE_I_REDUCTION_BASE' 
    3970 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    3971 
    3972 program_source:218:51: note: expanded from macro '\ 
    3973 EXPOSE_FUNCTION_I_ARGS_1' 
    3974 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    3975 
    3976 program_source:164:9: note: expanded from macro '\ 
    3977 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3978 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3979 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3980 program_source:281:1: error: illegal string literal in 'asm' 
    3981 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    3982 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3983 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    3984 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    3985 
    3986 program_source:264:43: note: expanded from macro '\ 
    3987 DECLARE_I_REDUCTION_BASE' 
    3988 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    3989 
    3990 program_source:217:40: note: expanded from macro '\ 
    3991 EXPOSE_FUNCTION_I_ARGS_1' 
    3992 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    3993 
    3994 program_source:164:9: note: expanded from macro '\ 
    3995 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    3996 __asm("air." #EXPR "." #AIR_TYPE); \ 
    3997 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3998 program_source:281:1: error: illegal string literal in 'asm' 
    3999 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4000 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4001 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4002 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4003 
    4004 program_source:264:43: note: expanded from macro '\ 
    4005 DECLARE_I_REDUCTION_BASE' 
    4006 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4007 
    4008 program_source:218:51: note: expanded from macro '\ 
    4009 EXPOSE_FUNCTION_I_ARGS_1' 
    4010 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4011 
    4012 program_source:164:9: note: expanded from macro '\ 
    4013 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4014 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4015 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4016 program_source:281:1: error: illegal string literal in 'asm' 
    4017 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4018 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4019 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4020 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4021 
    4022 program_source:267:44: note: expanded from macro '\ 
    4023 DECLARE_F_REDUCTION_BASE' 
    4024 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4025 
    4026 program_source:221:40: note: expanded from macro '\ 
    4027 EXPOSE_FUNCTION_F_ARGS_1' 
    4028 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4029 
    4030 program_source:164:9: note: expanded from macro '\ 
    4031 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4032 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4033 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4034 program_source:281:1: error: illegal string literal in 'asm' 
    4035 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    4036 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4037 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4038 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4039 
    4040 program_source:268:43: note: expanded from macro '\ 
    4041 DECLARE_F_REDUCTION_BASE' 
    4042 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4043 
    4044 program_source:221:40: note: expanded from macro '\ 
    4045 EXPOSE_FUNCTION_F_ARGS_1' 
    4046 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4047 
    4048 program_source:164:9: note: expanded from macro '\ 
    4049 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4050 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4051 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4052 program_source:282:1: error: illegal string literal in 'asm' 
    4053 DECLARE_REDUCTION_BASE(min) 
    4054 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4055 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4056 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4057 
    4058 program_source:263:44: note: expanded from macro '\ 
    4059 DECLARE_I_REDUCTION_BASE' 
    4060 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4061 
    4062 program_source:217:40: note: expanded from macro '\ 
    4063 EXPOSE_FUNCTION_I_ARGS_1' 
    4064 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4065 
    4066 program_source:164:9: note: expanded from macro '\ 
    4067 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4068 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4069 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4070 program_source:282:1: error: illegal string literal in 'asm' 
    4071 DECLARE_REDUCTION_BASE(min) 
    4072 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4073 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4074 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4075 
    4076 program_source:263:44: note: expanded from macro '\ 
    4077 DECLARE_I_REDUCTION_BASE' 
    4078 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4079 
    4080 program_source:218:51: note: expanded from macro '\ 
    4081 EXPOSE_FUNCTION_I_ARGS_1' 
    4082 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4083 
    4084 program_source:164:9: note: expanded from macro '\ 
    4085 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4086 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4087 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4088 program_source:282:1: error: illegal string literal in 'asm' 
    4089 DECLARE_REDUCTION_BASE(min) 
    4090 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4091 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4092 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4093 
    4094 program_source:264:43: note: expanded from macro '\ 
    4095 DECLARE_I_REDUCTION_BASE' 
    4096 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4097 
    4098 program_source:217:40: note: expanded from macro '\ 
    4099 EXPOSE_FUNCTION_I_ARGS_1' 
    4100 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4101 
    4102 program_source:164:9: note: expanded from macro '\ 
    4103 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4104 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4105 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4106 program_source:282:1: error: illegal string literal in 'asm' 
    4107 DECLARE_REDUCTION_BASE(min) 
    4108 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4109 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4110 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4111 
    4112 program_source:264:43: note: expanded from macro '\ 
    4113 DECLARE_I_REDUCTION_BASE' 
    4114 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4115 
    4116 program_source:218:51: note: expanded from macro '\ 
    4117 EXPOSE_FUNCTION_I_ARGS_1' 
    4118 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4119 
    4120 program_source:164:9: note: expanded from macro '\ 
    4121 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4122 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4123 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4124 program_source:282:1: error: illegal string literal in 'asm' 
    4125 DECLARE_REDUCTION_BASE(min) 
    4126 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4127 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4128 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4129 
    4130 program_source:267:44: note: expanded from macro '\ 
    4131 DECLARE_F_REDUCTION_BASE' 
    4132 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4133 
    4134 program_source:221:40: note: expanded from macro '\ 
    4135 EXPOSE_FUNCTION_F_ARGS_1' 
    4136 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4137 
    4138 program_source:164:9: note: expanded from macro '\ 
    4139 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4140 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4141 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4142 program_source:282:1: error: illegal string literal in 'asm' 
    4143 DECLARE_REDUCTION_BASE(min) 
    4144 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4145 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4146 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4147 
    4148 program_source:268:43: note: expanded from macro '\ 
    4149 DECLARE_F_REDUCTION_BASE' 
    4150 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4151 
    4152 program_source:221:40: note: expanded from macro '\ 
    4153 EXPOSE_FUNCTION_F_ARGS_1' 
    4154 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4155 
    4156 program_source:164:9: note: expanded from macro '\ 
    4157 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4158 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4159 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4160 program_source:283:1: error: illegal string literal in 'asm' 
    4161 DECLARE_REDUCTION_BASE(max) 
    4162 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4163 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4164 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4165 
    4166 program_source:263:44: note: expanded from macro '\ 
    4167 DECLARE_I_REDUCTION_BASE' 
    4168 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4169 
    4170 program_source:217:40: note: expanded from macro '\ 
    4171 EXPOSE_FUNCTION_I_ARGS_1' 
    4172 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4173 
    4174 program_source:164:9: note: expanded from macro '\ 
    4175 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4176 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4177 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4178 program_source:283:1: error: illegal string literal in 'asm' 
    4179 DECLARE_REDUCTION_BASE(max) 
    4180 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4181 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4182 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4183 
    4184 program_source:263:44: note: expanded from macro '\ 
    4185 DECLARE_I_REDUCTION_BASE' 
    4186 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4187 
    4188 program_source:218:51: note: expanded from macro '\ 
    4189 EXPOSE_FUNCTION_I_ARGS_1' 
    4190 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4191 
    4192 program_source:164:9: note: expanded from macro '\ 
    4193 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4194 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4195 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4196 program_source:283:1: error: illegal string literal in 'asm' 
    4197 DECLARE_REDUCTION_BASE(max) 
    4198 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4199 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4200 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4201 
    4202 program_source:264:43: note: expanded from macro '\ 
    4203 DECLARE_I_REDUCTION_BASE' 
    4204 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4205 
    4206 program_source:217:40: note: expanded from macro '\ 
    4207 EXPOSE_FUNCTION_I_ARGS_1' 
    4208 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4209 
    4210 program_source:164:9: note: expanded from macro '\ 
    4211 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4212 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4213 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4214 program_source:283:1: error: illegal string literal in 'asm' 
    4215 DECLARE_REDUCTION_BASE(max) 
    4216 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4217 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4218 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4219 
    4220 program_source:264:43: note: expanded from macro '\ 
    4221 DECLARE_I_REDUCTION_BASE' 
    4222 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4223 
    4224 program_source:218:51: note: expanded from macro '\ 
    4225 EXPOSE_FUNCTION_I_ARGS_1' 
    4226 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4227 
    4228 program_source:164:9: note: expanded from macro '\ 
    4229 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4230 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4231 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4232 program_source:283:1: error: illegal string literal in 'asm' 
    4233 DECLARE_REDUCTION_BASE(max) 
    4234 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4235 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4236 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4237 
    4238 program_source:267:44: note: expanded from macro '\ 
    4239 DECLARE_F_REDUCTION_BASE' 
    4240 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4241 
    4242 program_source:221:40: note: expanded from macro '\ 
    4243 EXPOSE_FUNCTION_F_ARGS_1' 
    4244 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4245 
    4246 program_source:164:9: note: expanded from macro '\ 
    4247 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4248 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4249 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4250 program_source:283:1: error: illegal string literal in 'asm' 
    4251 DECLARE_REDUCTION_BASE(max) 
    4252 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4253 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4254 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4255 
    4256 program_source:268:43: note: expanded from macro '\ 
    4257 DECLARE_F_REDUCTION_BASE' 
    4258 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4259 
    4260 program_source:221:40: note: expanded from macro '\ 
    4261 EXPOSE_FUNCTION_F_ARGS_1' 
    4262 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4263 
    4264 program_source:164:9: note: expanded from macro '\ 
    4265 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4266 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4267 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4268 program_source:285:1: error: illegal string literal in 'asm' 
    4269 DECLARE_REDUCTION_BASE(product) 
    4270 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4271 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4272 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4273 
    4274 program_source:263:44: note: expanded from macro '\ 
    4275 DECLARE_I_REDUCTION_BASE' 
    4276 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4277 
    4278 program_source:217:40: note: expanded from macro '\ 
    4279 EXPOSE_FUNCTION_I_ARGS_1' 
    4280 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4281 
    4282 program_source:164:9: note: expanded from macro '\ 
    4283 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4284 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4285 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4286 program_source:285:1: error: illegal string literal in 'asm' 
    4287 DECLARE_REDUCTION_BASE(product) 
    4288 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4289 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4290 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4291 
    4292 program_source:263:44: note: expanded from macro '\ 
    4293 DECLARE_I_REDUCTION_BASE' 
    4294 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4295 
    4296 program_source:218:51: note: expanded from macro '\ 
    4297 EXPOSE_FUNCTION_I_ARGS_1' 
    4298 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4299 
    4300 program_source:164:9: note: expanded from macro '\ 
    4301 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4302 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4303 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4304 program_source:285:1: error: illegal string literal in 'asm' 
    4305 DECLARE_REDUCTION_BASE(product) 
    4306 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4307 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4308 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4309 
    4310 program_source:264:43: note: expanded from macro '\ 
    4311 DECLARE_I_REDUCTION_BASE' 
    4312 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4313 
    4314 program_source:217:40: note: expanded from macro '\ 
    4315 EXPOSE_FUNCTION_I_ARGS_1' 
    4316 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4317 
    4318 program_source:164:9: note: expanded from macro '\ 
    4319 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4320 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4321 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4322 program_source:285:1: error: illegal string literal in 'asm' 
    4323 DECLARE_REDUCTION_BASE(product) 
    4324 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4325 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4326 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4327 
    4328 program_source:264:43: note: expanded from macro '\ 
    4329 DECLARE_I_REDUCTION_BASE' 
    4330 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4331 
    4332 program_source:218:51: note: expanded from macro '\ 
    4333 EXPOSE_FUNCTION_I_ARGS_1' 
    4334 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4335 
    4336 program_source:164:9: note: expanded from macro '\ 
    4337 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4338 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4339 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4340 program_source:285:1: error: illegal string literal in 'asm' 
    4341 DECLARE_REDUCTION_BASE(product) 
    4342 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4343 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4344 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4345 
    4346 program_source:267:44: note: expanded from macro '\ 
    4347 DECLARE_F_REDUCTION_BASE' 
    4348 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4349 
    4350 program_source:221:40: note: expanded from macro '\ 
    4351 EXPOSE_FUNCTION_F_ARGS_1' 
    4352 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4353 
    4354 program_source:164:9: note: expanded from macro '\ 
    4355 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4356 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4357 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4358 program_source:285:1: error: illegal string literal in 'asm' 
    4359 DECLARE_REDUCTION_BASE(product) 
    4360 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4361 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4362 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4363 
    4364 program_source:268:43: note: expanded from macro '\ 
    4365 DECLARE_F_REDUCTION_BASE' 
    4366 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4367 
    4368 program_source:221:40: note: expanded from macro '\ 
    4369 EXPOSE_FUNCTION_F_ARGS_1' 
    4370 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4371 
    4372 program_source:164:9: note: expanded from macro '\ 
    4373 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4374 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4375 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4376 program_source:286:1: error: illegal string literal in 'asm' 
    4377 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4378 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4379 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4380 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4381 
    4382 program_source:263:44: note: expanded from macro '\ 
    4383 DECLARE_I_REDUCTION_BASE' 
    4384 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4385 
    4386 program_source:217:40: note: expanded from macro '\ 
    4387 EXPOSE_FUNCTION_I_ARGS_1' 
    4388 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4389 
    4390 program_source:164:9: note: expanded from macro '\ 
    4391 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4392 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4393 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4394 program_source:286:1: error: illegal string literal in 'asm' 
    4395 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4396 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4397 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4398 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4399 
    4400 program_source:263:44: note: expanded from macro '\ 
    4401 DECLARE_I_REDUCTION_BASE' 
    4402 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4403 
    4404 program_source:218:51: note: expanded from macro '\ 
    4405 EXPOSE_FUNCTION_I_ARGS_1' 
    4406 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4407 
    4408 program_source:164:9: note: expanded from macro '\ 
    4409 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4410 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4411 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4412 program_source:286:1: error: illegal string literal in 'asm' 
    4413 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4414 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4415 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4416 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4417 
    4418 program_source:264:43: note: expanded from macro '\ 
    4419 DECLARE_I_REDUCTION_BASE' 
    4420 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4421 
    4422 program_source:217:40: note: expanded from macro '\ 
    4423 EXPOSE_FUNCTION_I_ARGS_1' 
    4424 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4425 
    4426 program_source:164:9: note: expanded from macro '\ 
    4427 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4428 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4429 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4430 program_source:286:1: error: illegal string literal in 'asm' 
    4431 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4432 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4433 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4434 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4435 
    4436 program_source:264:43: note: expanded from macro '\ 
    4437 DECLARE_I_REDUCTION_BASE' 
    4438 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4439 
    4440 program_source:218:51: note: expanded from macro '\ 
    4441 EXPOSE_FUNCTION_I_ARGS_1' 
    4442 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4443 
    4444 program_source:164:9: note: expanded from macro '\ 
    4445 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4446 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4447 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4448 program_source:286:1: error: illegal string literal in 'asm' 
    4449 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4450 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4451 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4452 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4453 
    4454 program_source:267:44: note: expanded from macro '\ 
    4455 DECLARE_F_REDUCTION_BASE' 
    4456 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4457 
    4458 program_source:221:40: note: expanded from macro '\ 
    4459 EXPOSE_FUNCTION_F_ARGS_1' 
    4460 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4461 
    4462 program_source:164:9: note: expanded from macro '\ 
    4463 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4464 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4465 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4466 program_source:286:1: error: illegal string literal in 'asm' 
    4467 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    4468 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4469 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4470 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4471 
    4472 program_source:268:43: note: expanded from macro '\ 
    4473 DECLARE_F_REDUCTION_BASE' 
    4474 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4475 
    4476 program_source:221:40: note: expanded from macro '\ 
    4477 EXPOSE_FUNCTION_F_ARGS_1' 
    4478 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4479 
    4480 program_source:164:9: note: expanded from macro '\ 
    4481 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4482 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4483 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4484 program_source:287:1: error: illegal string literal in 'asm' 
    4485 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4486 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4487 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4488 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4489 
    4490 program_source:263:44: note: expanded from macro '\ 
    4491 DECLARE_I_REDUCTION_BASE' 
    4492 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4493 
    4494 program_source:217:40: note: expanded from macro '\ 
    4495 EXPOSE_FUNCTION_I_ARGS_1' 
    4496 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4497 
    4498 program_source:164:9: note: expanded from macro '\ 
    4499 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4500 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4501 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4502 program_source:287:1: error: illegal string literal in 'asm' 
    4503 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4504 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4505 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4506 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4507 
    4508 program_source:263:44: note: expanded from macro '\ 
    4509 DECLARE_I_REDUCTION_BASE' 
    4510 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4511 
    4512 program_source:218:51: note: expanded from macro '\ 
    4513 EXPOSE_FUNCTION_I_ARGS_1' 
    4514 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4515 
    4516 program_source:164:9: note: expanded from macro '\ 
    4517 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4518 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4519 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4520 program_source:287:1: error: illegal string literal in 'asm' 
    4521 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4522 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4523 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4524 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4525 
    4526 program_source:264:43: note: expanded from macro '\ 
    4527 DECLARE_I_REDUCTION_BASE' 
    4528 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4529 
    4530 program_source:217:40: note: expanded from macro '\ 
    4531 EXPOSE_FUNCTION_I_ARGS_1' 
    4532 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4533 
    4534 program_source:164:9: note: expanded from macro '\ 
    4535 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4536 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4537 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4538 program_source:287:1: error: illegal string literal in 'asm' 
    4539 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4540 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4541 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4542 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4543 
    4544 program_source:264:43: note: expanded from macro '\ 
    4545 DECLARE_I_REDUCTION_BASE' 
    4546 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4547 
    4548 program_source:218:51: note: expanded from macro '\ 
    4549 EXPOSE_FUNCTION_I_ARGS_1' 
    4550 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4551 
    4552 program_source:164:9: note: expanded from macro '\ 
    4553 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4554 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4555 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4556 program_source:287:1: error: illegal string literal in 'asm' 
    4557 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4558 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4559 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4560 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4561 
    4562 program_source:267:44: note: expanded from macro '\ 
    4563 DECLARE_F_REDUCTION_BASE' 
    4564 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4565 
    4566 program_source:221:40: note: expanded from macro '\ 
    4567 EXPOSE_FUNCTION_F_ARGS_1' 
    4568 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4569 
    4570 program_source:164:9: note: expanded from macro '\ 
    4571 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4572 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4573 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4574 program_source:287:1: error: illegal string literal in 'asm' 
    4575 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    4576 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4577 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4578 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4579 
    4580 program_source:268:43: note: expanded from macro '\ 
    4581 DECLARE_F_REDUCTION_BASE' 
    4582 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4583 
    4584 program_source:221:40: note: expanded from macro '\ 
    4585 EXPOSE_FUNCTION_F_ARGS_1' 
    4586 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4587 
    4588 program_source:164:9: note: expanded from macro '\ 
    4589 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4590 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4591 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4592 program_source:288:1: error: illegal string literal in 'asm' 
    4593 DECLARE_I_REDUCTION_BASE(and) 
    4594 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4595 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4596 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4597 
    4598 program_source:217:40: note: expanded from macro '\ 
    4599 EXPOSE_FUNCTION_I_ARGS_1' 
    4600 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4601 
    4602 program_source:164:9: note: expanded from macro '\ 
    4603 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4604 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4605 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4606 program_source:288:1: error: illegal string literal in 'asm' 
    4607 DECLARE_I_REDUCTION_BASE(and) 
    4608 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4609 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4610 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4611 
    4612 program_source:218:51: note: expanded from macro '\ 
    4613 EXPOSE_FUNCTION_I_ARGS_1' 
    4614 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4615 
    4616 program_source:164:9: note: expanded from macro '\ 
    4617 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4618 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4619 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4620 program_source:288:1: error: illegal string literal in 'asm' 
    4621 DECLARE_I_REDUCTION_BASE(and) 
    4622 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4623 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4624 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4625 
    4626 program_source:217:40: note: expanded from macro '\ 
    4627 EXPOSE_FUNCTION_I_ARGS_1' 
    4628 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4629 
    4630 program_source:164:9: note: expanded from macro '\ 
    4631 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4632 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4633 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4634 program_source:288:1: error: illegal string literal in 'asm' 
    4635 DECLARE_I_REDUCTION_BASE(and) 
    4636 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4637 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4638 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4639 
    4640 program_source:218:51: note: expanded from macro '\ 
    4641 EXPOSE_FUNCTION_I_ARGS_1' 
    4642 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4643 
    4644 program_source:164:9: note: expanded from macro '\ 
    4645 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4646 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4647 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4648 program_source:289:1: error: illegal string literal in 'asm' 
    4649 DECLARE_I_REDUCTION_BASE(or) 
    4650 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4651 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4652 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4653 
    4654 program_source:217:40: note: expanded from macro '\ 
    4655 EXPOSE_FUNCTION_I_ARGS_1' 
    4656 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4657 
    4658 program_source:164:9: note: expanded from macro '\ 
    4659 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4660 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4661 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4662 program_source:289:1: error: illegal string literal in 'asm' 
    4663 DECLARE_I_REDUCTION_BASE(or) 
    4664 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4665 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4666 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4667 
    4668 program_source:218:51: note: expanded from macro '\ 
    4669 EXPOSE_FUNCTION_I_ARGS_1' 
    4670 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4671 
    4672 program_source:164:9: note: expanded from macro '\ 
    4673 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4674 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4675 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4676 program_source:289:1: error: illegal string literal in 'asm' 
    4677 DECLARE_I_REDUCTION_BASE(or) 
    4678 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4679 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4680 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4681 
    4682 program_source:217:40: note: expanded from macro '\ 
    4683 EXPOSE_FUNCTION_I_ARGS_1' 
    4684 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4685 
    4686 program_source:164:9: note: expanded from macro '\ 
    4687 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4688 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4689 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4690 program_source:289:1: error: illegal string literal in 'asm' 
    4691 DECLARE_I_REDUCTION_BASE(or) 
    4692 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4693 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4694 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4695 
    4696 program_source:218:51: note: expanded from macro '\ 
    4697 EXPOSE_FUNCTION_I_ARGS_1' 
    4698 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4699 
    4700 program_source:164:9: note: expanded from macro '\ 
    4701 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4702 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4703 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4704 program_source:290:1: error: illegal string literal in 'asm' 
    4705 DECLARE_I_REDUCTION_BASE(xor) 
    4706 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4707 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4708 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4709 
    4710 program_source:217:40: note: expanded from macro '\ 
    4711 EXPOSE_FUNCTION_I_ARGS_1' 
    4712 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4713 
    4714 program_source:164:9: note: expanded from macro '\ 
    4715 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4716 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4717 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4718 program_source:290:1: error: illegal string literal in 'asm' 
    4719 DECLARE_I_REDUCTION_BASE(xor) 
    4720 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4721 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4722 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4723 
    4724 program_source:218:51: note: expanded from macro '\ 
    4725 EXPOSE_FUNCTION_I_ARGS_1' 
    4726 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4727 
    4728 program_source:164:9: note: expanded from macro '\ 
    4729 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4730 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4731 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4732 program_source:290:1: error: illegal string literal in 'asm' 
    4733 DECLARE_I_REDUCTION_BASE(xor) 
    4734 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4735 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4736 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4737 
    4738 program_source:217:40: note: expanded from macro '\ 
    4739 EXPOSE_FUNCTION_I_ARGS_1' 
    4740 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4741 
    4742 program_source:164:9: note: expanded from macro '\ 
    4743 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4744 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4745 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4746 program_source:290:1: error: illegal string literal in 'asm' 
    4747 DECLARE_I_REDUCTION_BASE(xor) 
    4748 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4749 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    4750 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4751 
    4752 program_source:218:51: note: expanded from macro '\ 
    4753 EXPOSE_FUNCTION_I_ARGS_1' 
    4754 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4755 
    4756 program_source:164:9: note: expanded from macro '\ 
    4757 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4758 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4759 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4760 program_source:292:1: error: illegal string literal in 'asm' 
    4761 DECLARE_SHUFFLE_BASE(broadcast) 
    4762 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4763 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    4764 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    4765 
    4766 program_source:224:38: note: expanded from macro '\ 
    4767 EXPOSE_FUNCTION_ARGS_2' 
    4768 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    4769 
    4770 program_source:168:9: note: expanded from macro '\ 
    4771 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    4772 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4773 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4774 program_source:292:1: error: illegal string literal in 'asm' 
    4775 DECLARE_SHUFFLE_BASE(broadcast) 
    4776 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4777 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    4778 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    4779 
    4780 program_source:225:51: note: expanded from macro '\ 
    4781 EXPOSE_FUNCTION_ARGS_2' 
    4782 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    4783 
    4784 program_source:168:9: note: expanded from macro '\ 
    4785 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    4786 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4787 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4788 program_source:292:1: error: illegal string literal in 'asm' 
    4789 DECLARE_SHUFFLE_BASE(broadcast) 
    4790 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4791 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    4792 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    4793 
    4794 program_source:226:52: note: expanded from macro '\ 
    4795 EXPOSE_FUNCTION_ARGS_2' 
    4796 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    4797 
    4798 program_source:168:9: note: expanded from macro '\ 
    4799 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    4800 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4801 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4802 program_source:292:1: error: illegal string literal in 'asm' 
    4803 DECLARE_SHUFFLE_BASE(broadcast) 
    4804 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4805 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    4806 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    4807 
    4808 program_source:224:38: note: expanded from macro '\ 
    4809 EXPOSE_FUNCTION_ARGS_2' 
    4810 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    4811 
    4812 program_source:168:9: note: expanded from macro '\ 
    4813 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    4814 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4815 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4816 program_source:292:1: error: illegal string literal in 'asm' 
    4817 DECLARE_SHUFFLE_BASE(broadcast) 
    4818 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4819 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    4820 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    4821 
    4822 program_source:225:51: note: expanded from macro '\ 
    4823 EXPOSE_FUNCTION_ARGS_2' 
    4824 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    4825 
    4826 program_source:168:9: note: expanded from macro '\ 
    4827 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    4828 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4829 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4830 program_source:292:1: error: illegal string literal in 'asm' 
    4831 DECLARE_SHUFFLE_BASE(broadcast) 
    4832 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4833 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    4834 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    4835 
    4836 program_source:226:52: note: expanded from macro '\ 
    4837 EXPOSE_FUNCTION_ARGS_2' 
    4838 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    4839 
    4840 program_source:168:9: note: expanded from macro '\ 
    4841 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    4842 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4843 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4844 program_source:293:1: error: illegal string literal in 'asm' 
    4845 DECLARE_REDUCTION_BASE(broadcast_first) 
    4846 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4847 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4848 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4849 
    4850 program_source:263:44: note: expanded from macro '\ 
    4851 DECLARE_I_REDUCTION_BASE' 
    4852 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4853 
    4854 program_source:217:40: note: expanded from macro '\ 
    4855 EXPOSE_FUNCTION_I_ARGS_1' 
    4856 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4857 
    4858 program_source:164:9: note: expanded from macro '\ 
    4859 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4860 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4861 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4862 program_source:293:1: error: illegal string literal in 'asm' 
    4863 DECLARE_REDUCTION_BASE(broadcast_first) 
    4864 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4865 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4866 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4867 
    4868 program_source:263:44: note: expanded from macro '\ 
    4869 DECLARE_I_REDUCTION_BASE' 
    4870 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4871 
    4872 program_source:218:51: note: expanded from macro '\ 
    4873 EXPOSE_FUNCTION_I_ARGS_1' 
    4874 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4875 
    4876 program_source:164:9: note: expanded from macro '\ 
    4877 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4878 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4879 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4880 program_source:293:1: error: illegal string literal in 'asm' 
    4881 DECLARE_REDUCTION_BASE(broadcast_first) 
    4882 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4883 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4884 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4885 
    4886 program_source:264:43: note: expanded from macro '\ 
    4887 DECLARE_I_REDUCTION_BASE' 
    4888 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4889 
    4890 program_source:217:40: note: expanded from macro '\ 
    4891 EXPOSE_FUNCTION_I_ARGS_1' 
    4892 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    4893 
    4894 program_source:164:9: note: expanded from macro '\ 
    4895 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4896 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4897 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4898 program_source:293:1: error: illegal string literal in 'asm' 
    4899 DECLARE_REDUCTION_BASE(broadcast_first) 
    4900 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4901 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4902 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    4903 
    4904 program_source:264:43: note: expanded from macro '\ 
    4905 DECLARE_I_REDUCTION_BASE' 
    4906 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    4907 
    4908 program_source:218:51: note: expanded from macro '\ 
    4909 EXPOSE_FUNCTION_I_ARGS_1' 
    4910 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    4911 
    4912 program_source:164:9: note: expanded from macro '\ 
    4913 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4914 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4915 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4916 program_source:293:1: error: illegal string literal in 'asm' 
    4917 DECLARE_REDUCTION_BASE(broadcast_first) 
    4918 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4919 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4920 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4921 
    4922 program_source:267:44: note: expanded from macro '\ 
    4923 DECLARE_F_REDUCTION_BASE' 
    4924 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    4925 
    4926 program_source:221:40: note: expanded from macro '\ 
    4927 EXPOSE_FUNCTION_F_ARGS_1' 
    4928 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4929 
    4930 program_source:164:9: note: expanded from macro '\ 
    4931 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4932 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4933 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4934 program_source:293:1: error: illegal string literal in 'asm' 
    4935 DECLARE_REDUCTION_BASE(broadcast_first) 
    4936 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4937 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    4938 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    4939 
    4940 program_source:268:43: note: expanded from macro '\ 
    4941 DECLARE_F_REDUCTION_BASE' 
    4942 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    4943 
    4944 program_source:221:40: note: expanded from macro '\ 
    4945 EXPOSE_FUNCTION_F_ARGS_1' 
    4946 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    4947 
    4948 program_source:164:9: note: expanded from macro '\ 
    4949 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    4950 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4951 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4952 program_source:295:1: error: illegal string literal in 'asm' 
    4953 DECLARE_SHUFFLE_BASE(shuffle) 
    4954 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4955 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    4956 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    4957 
    4958 program_source:224:38: note: expanded from macro '\ 
    4959 EXPOSE_FUNCTION_ARGS_2' 
    4960 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    4961 
    4962 program_source:168:9: note: expanded from macro '\ 
    4963 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    4964 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4965 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4966 program_source:295:1: error: illegal string literal in 'asm' 
    4967 DECLARE_SHUFFLE_BASE(shuffle) 
    4968 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4969 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    4970 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    4971 
    4972 program_source:225:51: note: expanded from macro '\ 
    4973 EXPOSE_FUNCTION_ARGS_2' 
    4974 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    4975 
    4976 program_source:168:9: note: expanded from macro '\ 
    4977 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    4978 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4979 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4980 program_source:295:1: error: illegal string literal in 'asm' 
    4981 DECLARE_SHUFFLE_BASE(shuffle) 
    4982 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4983 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    4984 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    4985 
    4986 program_source:226:52: note: expanded from macro '\ 
    4987 EXPOSE_FUNCTION_ARGS_2' 
    4988 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    4989 
    4990 program_source:168:9: note: expanded from macro '\ 
    4991 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    4992 __asm("air." #EXPR "." #AIR_TYPE); \ 
    4993 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4994 program_source:295:1: error: illegal string literal in 'asm' 
    4995 DECLARE_SHUFFLE_BASE(shuffle) 
    4996 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4997 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    4998 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    4999 
    5000 program_source:224:38: note: expanded from macro '\ 
    5001 EXPOSE_FUNCTION_ARGS_2' 
    5002 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5003 
    5004 program_source:168:9: note: expanded from macro '\ 
    5005 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5006 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5007 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5008 program_source:295:1: error: illegal string literal in 'asm' 
    5009 DECLARE_SHUFFLE_BASE(shuffle) 
    5010 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5011 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5012 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5013 
    5014 program_source:225:51: note: expanded from macro '\ 
    5015 EXPOSE_FUNCTION_ARGS_2' 
    5016 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5017 
    5018 program_source:168:9: note: expanded from macro '\ 
    5019 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5020 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5021 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5022 program_source:295:1: error: illegal string literal in 'asm' 
    5023 DECLARE_SHUFFLE_BASE(shuffle) 
    5024 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5025 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5026 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5027 
    5028 program_source:226:52: note: expanded from macro '\ 
    5029 EXPOSE_FUNCTION_ARGS_2' 
    5030 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5031 
    5032 program_source:168:9: note: expanded from macro '\ 
    5033 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5034 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5035 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5036 program_source:296:1: error: illegal string literal in 'asm' 
    5037 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5038 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5039 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5040 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5041 
    5042 program_source:224:38: note: expanded from macro '\ 
    5043 EXPOSE_FUNCTION_ARGS_2' 
    5044 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5045 
    5046 program_source:168:9: note: expanded from macro '\ 
    5047 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5048 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5049 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5050 program_source:296:1: error: illegal string literal in 'asm' 
    5051 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5052 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5053 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5054 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5055 
    5056 program_source:225:51: note: expanded from macro '\ 
    5057 EXPOSE_FUNCTION_ARGS_2' 
    5058 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5059 
    5060 program_source:168:9: note: expanded from macro '\ 
    5061 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5062 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5063 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5064 program_source:296:1: error: illegal string literal in 'asm' 
    5065 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5066 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5067 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5068 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5069 
    5070 program_source:226:52: note: expanded from macro '\ 
    5071 EXPOSE_FUNCTION_ARGS_2' 
    5072 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5073 
    5074 program_source:168:9: note: expanded from macro '\ 
    5075 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5076 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5077 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5078 program_source:296:1: error: illegal string literal in 'asm' 
    5079 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5080 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5081 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5082 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5083 
    5084 program_source:224:38: note: expanded from macro '\ 
    5085 EXPOSE_FUNCTION_ARGS_2' 
    5086 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5087 
    5088 program_source:168:9: note: expanded from macro '\ 
    5089 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5090 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5091 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5092 program_source:296:1: error: illegal string literal in 'asm' 
    5093 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5094 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5095 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5096 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5097 
    5098 program_source:225:51: note: expanded from macro '\ 
    5099 EXPOSE_FUNCTION_ARGS_2' 
    5100 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5101 
    5102 program_source:168:9: note: expanded from macro '\ 
    5103 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5104 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5105 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5106 program_source:296:1: error: illegal string literal in 'asm' 
    5107 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    5108 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5109 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5110 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5111 
    5112 program_source:226:52: note: expanded from macro '\ 
    5113 EXPOSE_FUNCTION_ARGS_2' 
    5114 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5115 
    5116 program_source:168:9: note: expanded from macro '\ 
    5117 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5118 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5119 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5120 program_source:297:1: error: illegal string literal in 'asm' 
    5121 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5122 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5123 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5124 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5125 
    5126 program_source:224:38: note: expanded from macro '\ 
    5127 EXPOSE_FUNCTION_ARGS_2' 
    5128 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5129 
    5130 program_source:168:9: note: expanded from macro '\ 
    5131 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5132 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5133 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5134 program_source:297:1: error: illegal string literal in 'asm' 
    5135 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5136 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5137 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5138 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5139 
    5140 program_source:225:51: note: expanded from macro '\ 
    5141 EXPOSE_FUNCTION_ARGS_2' 
    5142 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5143 
    5144 program_source:168:9: note: expanded from macro '\ 
    5145 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5146 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5147 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5148 program_source:297:1: error: illegal string literal in 'asm' 
    5149 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5150 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5151 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5152 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5153 
    5154 program_source:226:52: note: expanded from macro '\ 
    5155 EXPOSE_FUNCTION_ARGS_2' 
    5156 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5157 
    5158 program_source:168:9: note: expanded from macro '\ 
    5159 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5160 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5161 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5162 program_source:297:1: error: illegal string literal in 'asm' 
    5163 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5164 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5165 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5166 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5167 
    5168 program_source:224:38: note: expanded from macro '\ 
    5169 EXPOSE_FUNCTION_ARGS_2' 
    5170 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5171 
    5172 program_source:168:9: note: expanded from macro '\ 
    5173 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5174 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5175 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5176 program_source:297:1: error: illegal string literal in 'asm' 
    5177 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5178 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5179 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5180 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5181 
    5182 program_source:225:51: note: expanded from macro '\ 
    5183 EXPOSE_FUNCTION_ARGS_2' 
    5184 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5185 
    5186 program_source:168:9: note: expanded from macro '\ 
    5187 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5188 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5189 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5190 program_source:297:1: error: illegal string literal in 'asm' 
    5191 DECLARE_SHUFFLE_BASE(shuffle_up) 
    5192 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5193 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5194 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5195 
    5196 program_source:226:52: note: expanded from macro '\ 
    5197 EXPOSE_FUNCTION_ARGS_2' 
    5198 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5199 
    5200 program_source:168:9: note: expanded from macro '\ 
    5201 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5202 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5203 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5204 program_source:298:1: error: illegal string literal in 'asm' 
    5205 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5206 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5207 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5208 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5209 
    5210 program_source:224:38: note: expanded from macro '\ 
    5211 EXPOSE_FUNCTION_ARGS_2' 
    5212 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5213 
    5214 program_source:168:9: note: expanded from macro '\ 
    5215 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5216 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5217 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5218 program_source:298:1: error: illegal string literal in 'asm' 
    5219 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5220 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5221 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5222 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5223 
    5224 program_source:225:51: note: expanded from macro '\ 
    5225 EXPOSE_FUNCTION_ARGS_2' 
    5226 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5227 
    5228 program_source:168:9: note: expanded from macro '\ 
    5229 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5230 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5231 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5232 program_source:298:1: error: illegal string literal in 'asm' 
    5233 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5234 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5235 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5236 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5237 
    5238 program_source:226:52: note: expanded from macro '\ 
    5239 EXPOSE_FUNCTION_ARGS_2' 
    5240 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5241 
    5242 program_source:168:9: note: expanded from macro '\ 
    5243 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5244 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5245 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5246 program_source:298:1: error: illegal string literal in 'asm' 
    5247 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5248 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5249 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5250 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5251 
    5252 program_source:224:38: note: expanded from macro '\ 
    5253 EXPOSE_FUNCTION_ARGS_2' 
    5254 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5255 
    5256 program_source:168:9: note: expanded from macro '\ 
    5257 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5258 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5259 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5260 program_source:298:1: error: illegal string literal in 'asm' 
    5261 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5262 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5263 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5264 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5265 
    5266 program_source:225:51: note: expanded from macro '\ 
    5267 EXPOSE_FUNCTION_ARGS_2' 
    5268 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5269 
    5270 program_source:168:9: note: expanded from macro '\ 
    5271 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5272 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5273 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5274 program_source:298:1: error: illegal string literal in 'asm' 
    5275 DECLARE_SHUFFLE_BASE(shuffle_down) 
    5276 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5277 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5278 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5279 
    5280 program_source:226:52: note: expanded from macro '\ 
    5281 EXPOSE_FUNCTION_ARGS_2' 
    5282 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5283 
    5284 program_source:168:9: note: expanded from macro '\ 
    5285 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5286 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5287 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5288 program_source:299:1: error: illegal string literal in 'asm' 
    5289 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5290 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5291 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5292 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5293 
    5294 program_source:224:38: note: expanded from macro '\ 
    5295 EXPOSE_FUNCTION_ARGS_2' 
    5296 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5297 
    5298 program_source:168:9: note: expanded from macro '\ 
    5299 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5300 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5301 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5302 program_source:299:1: error: illegal string literal in 'asm' 
    5303 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5304 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5305 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5306 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5307 
    5308 program_source:225:51: note: expanded from macro '\ 
    5309 EXPOSE_FUNCTION_ARGS_2' 
    5310 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5311 
    5312 program_source:168:9: note: expanded from macro '\ 
    5313 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5314 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5315 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5316 program_source:299:1: error: illegal string literal in 'asm' 
    5317 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5318 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5319 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5320 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5321 
    5322 program_source:226:52: note: expanded from macro '\ 
    5323 EXPOSE_FUNCTION_ARGS_2' 
    5324 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5325 
    5326 program_source:168:9: note: expanded from macro '\ 
    5327 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5328 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5329 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5330 program_source:299:1: error: illegal string literal in 'asm' 
    5331 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5332 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5333 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5334 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5335 
    5336 program_source:224:38: note: expanded from macro '\ 
    5337 EXPOSE_FUNCTION_ARGS_2' 
    5338 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5339 
    5340 program_source:168:9: note: expanded from macro '\ 
    5341 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5342 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5343 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5344 program_source:299:1: error: illegal string literal in 'asm' 
    5345 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5346 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5347 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5348 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5349 
    5350 program_source:225:51: note: expanded from macro '\ 
    5351 EXPOSE_FUNCTION_ARGS_2' 
    5352 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5353 
    5354 program_source:168:9: note: expanded from macro '\ 
    5355 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5356 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5357 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5358 program_source:299:1: error: illegal string literal in 'asm' 
    5359 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    5360 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5361 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5362 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5363 
    5364 program_source:226:52: note: expanded from macro '\ 
    5365 EXPOSE_FUNCTION_ARGS_2' 
    5366 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5367 
    5368 program_source:168:9: note: expanded from macro '\ 
    5369 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5370 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5371 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5372 program_source:300:1: error: illegal string literal in 'asm' 
    5373 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5374 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5375 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5376 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5377 
    5378 program_source:224:38: note: expanded from macro '\ 
    5379 EXPOSE_FUNCTION_ARGS_2' 
    5380 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5381 
    5382 program_source:168:9: note: expanded from macro '\ 
    5383 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5384 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5385 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5386 program_source:300:1: error: illegal string literal in 'asm' 
    5387 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5388 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5389 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5390 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5391 
    5392 program_source:225:51: note: expanded from macro '\ 
    5393 EXPOSE_FUNCTION_ARGS_2' 
    5394 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5395 
    5396 program_source:168:9: note: expanded from macro '\ 
    5397 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5398 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5399 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5400 program_source:300:1: error: illegal string literal in 'asm' 
    5401 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5402 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5403 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5404 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    5405 
    5406 program_source:226:52: note: expanded from macro '\ 
    5407 EXPOSE_FUNCTION_ARGS_2' 
    5408 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5409 
    5410 program_source:168:9: note: expanded from macro '\ 
    5411 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5412 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5413 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5414 program_source:300:1: error: illegal string literal in 'asm' 
    5415 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5416 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5417 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5418 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5419 
    5420 program_source:224:38: note: expanded from macro '\ 
    5421 EXPOSE_FUNCTION_ARGS_2' 
    5422 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    5423 
    5424 program_source:168:9: note: expanded from macro '\ 
    5425 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5426 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5427 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5428 program_source:300:1: error: illegal string literal in 'asm' 
    5429 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5430 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5431 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5432 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5433 
    5434 program_source:225:51: note: expanded from macro '\ 
    5435 EXPOSE_FUNCTION_ARGS_2' 
    5436 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    5437 
    5438 program_source:168:9: note: expanded from macro '\ 
    5439 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5440 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5441 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5442 program_source:300:1: error: illegal string literal in 'asm' 
    5443 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    5444 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5445 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    5446 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    5447 
    5448 program_source:226:52: note: expanded from macro '\ 
    5449 EXPOSE_FUNCTION_ARGS_2' 
    5450 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    5451 
    5452 program_source:168:9: note: expanded from macro '\ 
    5453 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    5454 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5455 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5456 program_source:302:1: error: illegal string literal in 'asm' 
    5457 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    5458 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5459 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    5460 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    5461 
    5462 program_source:172:9: note: expanded from macro '\ 
    5463 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    5464 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5465 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5466 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    5467 is invalid in OpenCL 
    5468 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    5469 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    5470 
    5471 program_source:175:10: note: expanded from macro '\ 
    5472 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    5473 return ___metal_##EXPR(x, false); \ 
    5474 
    5475 :12:1: note: expanded from here 
    5476 ___metal_ctz 
    5477 
    5478 program_source:302:1: error: illegal string literal in 'asm' 
    5479 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    5480 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5481 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    5482 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    5483 
    5484 program_source:172:9: note: expanded from macro '\ 
    5485 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    5486 __asm("air." #EXPR "." #AIR_TYPE); \ 
    5487 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5488 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    5489 is invalid in OpenCL 
    5490 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    5491 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    5492 
    5493 program_source:175:10: note: expanded from macro '\ 
    5494 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    5495 return ___metal_##EXPR(x, false); \ 
    5496 
    5497 :16:1: note: expanded from here 
    5498 ___metal_ctz 
    5499 
    5500 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    5501 invalid in OpenCL 
    5502 DECLARE_REDUCTION_UNIFORM(sum, reduce_add) 
    5503 
    5504 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5505 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5506 
    5507 program_source:305:26: note: expanded from macro '\ 
    5508 DECLARE_I_REDUCTION_UNIFORM' 
    5509 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5510 
    5511 :17:1: note: expanded from here 
    5512 simd_sum 
    5513 
    5514 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    5515 invalid in OpenCL 
    5516 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5517 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5518 
    5519 program_source:305:26: note: expanded from macro '\ 
    5520 DECLARE_I_REDUCTION_UNIFORM' 
    5521 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5522 
    5523 :17:1: note: expanded from here 
    5524 simd_sum 
    5525 
    5526 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    5527 invalid in OpenCL 
    5528 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5529 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5530 
    5531 program_source:308:26: note: expanded from macro '\ 
    5532 DECLARE_F_REDUCTION_UNIFORM' 
    5533 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5534 
    5535 :19:1: note: expanded from here 
    5536 simd_sum 
    5537 
    5538 program_source:318:1: error: implicit declaration of function
    5539 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    5540 DECLARE_REDUCTION_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    5541 
    5542 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5543 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5544 
    5545 program_source:305:26: note: expanded from macro '\ 
    5546 DECLARE_I_REDUCTION_UNIFORM' 
    5547 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5548 
    5549 :21:1: note: expanded from here 
    5550 simd_prefix_inclusive_sum 
    5551 
    5552 program_source:318:1: error: implicit declaration of function
    5553 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    5554 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5555 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5556 
    5557 program_source:305:26: note: expanded from macro '\ 
    5558 DECLARE_I_REDUCTION_UNIFORM' 
    5559 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5560 
    5561 :21:1: note: expanded from here 
    5562 simd_prefix_inclusive_sum 
    5563 
    5564 program_source:318:1: error: implicit declaration of function
    5565 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    5566 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5567 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5568 
    5569 program_source:308:26: note: expanded from macro '\ 
    5570 DECLARE_F_REDUCTION_UNIFORM' 
    5571 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5572 
    5573 :23:1: note: expanded from here 
    5574 simd_prefix_inclusive_sum 
    5575 
    5576 program_source:319:1: error: implicit declaration of function
    5577 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    5578 DECLARE_REDUCTION_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    5579 
    5580 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5581 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5582 
    5583 program_source:305:26: note: expanded from macro '\ 
    5584 DECLARE_I_REDUCTION_UNIFORM' 
    5585 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5586 
    5587 :25:1: note: expanded from here 
    5588 simd_prefix_exclusive_sum 
    5589 
    5590 program_source:319:1: error: implicit declaration of function
    5591 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    5592 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5593 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5594 
    5595 program_source:305:26: note: expanded from macro '\ 
    5596 DECLARE_I_REDUCTION_UNIFORM' 
    5597 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5598 
    5599 :25:1: note: expanded from here 
    5600 simd_prefix_exclusive_sum 
    5601 
    5602 program_source:319:1: error: implicit declaration of function
    5603 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    5604 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5605 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5606 
    5607 program_source:308:26: note: expanded from macro '\ 
    5608 DECLARE_F_REDUCTION_UNIFORM' 
    5609 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5610 
    5611 :27:1: note: expanded from here 
    5612 simd_prefix_exclusive_sum 
    5613 
    5614 program_source:320:1: error: implicit declaration of function 'simd_min' is
    5615 invalid in OpenCL 
    5616 DECLARE_REDUCTION_UNIFORM(min, reduce_min) 
    5617 
    5618 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5619 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5620 
    5621 program_source:305:26: note: expanded from macro '\ 
    5622 DECLARE_I_REDUCTION_UNIFORM' 
    5623 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5624 
    5625 :29:1: note: expanded from here 
    5626 simd_min 
    5627 
    5628 program_source:320:1: error: implicit declaration of function 'simd_min' is
    5629 invalid in OpenCL 
    5630 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5631 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5632 
    5633 program_source:305:26: note: expanded from macro '\ 
    5634 DECLARE_I_REDUCTION_UNIFORM' 
    5635 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5636 
    5637 :29:1: note: expanded from here 
    5638 simd_min 
    5639 
    5640 program_source:320:1: error: implicit declaration of function 'simd_min' is
    5641 invalid in OpenCL 
    5642 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5643 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5644 
    5645 program_source:308:26: note: expanded from macro '\ 
    5646 DECLARE_F_REDUCTION_UNIFORM' 
    5647 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5648 
    5649 :31:1: note: expanded from here 
    5650 simd_min 
    5651 
    5652 program_source:321:1: error: implicit declaration of function 'simd_max' is
    5653 invalid in OpenCL 
    5654 DECLARE_REDUCTION_UNIFORM(max, reduce_max) 
    5655 
    5656 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5657 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5658 
    5659 program_source:305:26: note: expanded from macro '\ 
    5660 DECLARE_I_REDUCTION_UNIFORM' 
    5661 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5662 
    5663 :33:1: note: expanded from here 
    5664 simd_max 
    5665 
    5666 program_source:321:1: error: implicit declaration of function 'simd_max' is
    5667 invalid in OpenCL 
    5668 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5669 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5670 
    5671 program_source:305:26: note: expanded from macro '\ 
    5672 DECLARE_I_REDUCTION_UNIFORM' 
    5673 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5674 
    5675 :33:1: note: expanded from here 
    5676 simd_max 
    5677 
    5678 program_source:321:1: error: implicit declaration of function 'simd_max' is
    5679 invalid in OpenCL 
    5680 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5681 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5682 
    5683 program_source:308:26: note: expanded from macro '\ 
    5684 DECLARE_F_REDUCTION_UNIFORM' 
    5685 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5686 
    5687 :35:1: note: expanded from here 
    5688 simd_max 
    5689 
    5690 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    5691 is invalid in OpenCL 
    5692 DECLARE_SHUFFLE_UNIFORM(shuffle, shuffle) 
    5693 
    5694 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5695 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5696 
    5697 :37:1: note: expanded from here 
    5698 simd_shuffle 
    5699 
    5700 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    5701 is invalid in OpenCL 
    5702 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5703 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5704 
    5705 :37:1: note: expanded from here 
    5706 simd_shuffle 
    5707 
    5708 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    5709 is invalid in OpenCL 
    5710 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5711 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5712 
    5713 :37:1: note: expanded from here 
    5714 simd_shuffle 
    5715 
    5716 program_source:324:1: error: implicit declaration of function
    5717 'simd_shuffle_xor' is invalid in OpenCL 
    5718 DECLARE_SHUFFLE_UNIFORM(shuffle_xor, shuffle_xor) 
    5719 
    5720 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5721 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5722 
    5723 :39:1: note: expanded from here 
    5724 simd_shuffle_xor 
    5725 
    5726 program_source:324:1: error: implicit declaration of function
    5727 'simd_shuffle_xor' is invalid in OpenCL 
    5728 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5729 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5730 
    5731 :39:1: note: expanded from here 
    5732 simd_shuffle_xor 
    5733 
    5734 program_source:324:1: error: implicit declaration of function
    5735 'simd_shuffle_xor' is invalid in OpenCL 
    5736 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5737 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5738 
    5739 :39:1: note: expanded from here 
    5740 simd_shuffle_xor 
    5741 
    5742 program_source:325:1: error: implicit declaration of function
    5743 'simd_shuffle_up' is invalid in OpenCL 
    5744 DECLARE_SHUFFLE_UNIFORM(shuffle_up, shuffle_up) 
    5745 
    5746 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5747 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5748 
    5749 :41:1: note: expanded from here 
    5750 simd_shuffle_up 
    5751 
    5752 program_source:325:1: error: implicit declaration of function
    5753 'simd_shuffle_up' is invalid in OpenCL 
    5754 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5755 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5756 
    5757 :41:1: note: expanded from here 
    5758 simd_shuffle_up 
    5759 
    5760 program_source:325:1: error: implicit declaration of function
    5761 'simd_shuffle_up' is invalid in OpenCL 
    5762 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5763 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5764 
    5765 :41:1: note: expanded from here 
    5766 simd_shuffle_up 
    5767 
    5768 program_source:326:1: error: implicit declaration of function
    5769 'simd_shuffle_down' is invalid in OpenCL 
    5770 DECLARE_SHUFFLE_UNIFORM(shuffle_down, shuffle_down) 
    5771 
    5772 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5773 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5774 
    5775 :43:1: note: expanded from here 
    5776 simd_shuffle_down 
    5777 
    5778 program_source:326:1: error: implicit declaration of function
    5779 'simd_shuffle_down' is invalid in OpenCL 
    5780 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5781 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5782 
    5783 :43:1: note: expanded from here 
    5784 simd_shuffle_down 
    5785 
    5786 program_source:326:1: error: implicit declaration of function
    5787 'simd_shuffle_down' is invalid in OpenCL 
    5788 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5789 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5790 
    5791 :43:1: note: expanded from here 
    5792 simd_shuffle_down 
    5793 
    5794 program_source:327:1: error: implicit declaration of function
    5795 'simd_shuffle_rotate_down' is invalid in OpenCL 
    5796 DECLARE_SHUFFLE_UNIFORM(shuffle_rotate_down, rotate) 
    5797 
    5798 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5799 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5800 
    5801 :45:1: note: expanded from here 
    5802 simd_shuffle_rotate_down 
    5803 
    5804 program_source:327:1: error: implicit declaration of function
    5805 'simd_shuffle_rotate_down' is invalid in OpenCL 
    5806 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5807 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5808 
    5809 :45:1: note: expanded from here 
    5810 simd_shuffle_rotate_down 
    5811 
    5812 program_source:327:1: error: implicit declaration of function
    5813 'simd_shuffle_rotate_down' is invalid in OpenCL 
    5814 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5815 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5816 
    5817 :45:1: note: expanded from here 
    5818 simd_shuffle_rotate_down 
    5819 
    5820 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    5821 is invalid in OpenCL 
    5822 DECLARE_SHUFFLE_UNIFORM(broadcast, broadcast) 
    5823 
    5824 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5825 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5826 
    5827 :47:1: note: expanded from here 
    5828 simd_broadcast 
    5829 
    5830 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    5831 is invalid in OpenCL 
    5832 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5833 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5834 
    5835 :47:1: note: expanded from here 
    5836 simd_broadcast 
    5837 
    5838 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    5839 is invalid in OpenCL 
    5840 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    5841 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5842 
    5843 :47:1: note: expanded from here 
    5844 simd_broadcast 
    5845 
    5846 program_source:330:1: error: implicit declaration of function
    5847 'simd_broadcast_first' is invalid in OpenCL 
    5848 DECLARE_REDUCTION_UNIFORM(broadcast_first, broadcast_first) 
    5849 
    5850 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5851 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5852 
    5853 program_source:305:26: note: expanded from macro '\ 
    5854 DECLARE_I_REDUCTION_UNIFORM' 
    5855 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5856 
    5857 :49:1: note: expanded from here 
    5858 simd_broadcast_first 
    5859 
    5860 program_source:330:1: error: implicit declaration of function
    5861 'simd_broadcast_first' is invalid in OpenCL 
    5862 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5863 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5864 
    5865 program_source:305:26: note: expanded from macro '\ 
    5866 DECLARE_I_REDUCTION_UNIFORM' 
    5867 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5868 
    5869 :49:1: note: expanded from here 
    5870 simd_broadcast_first 
    5871 
    5872 program_source:330:1: error: implicit declaration of function
    5873 'simd_broadcast_first' is invalid in OpenCL 
    5874 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    5875 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5876 
    5877 program_source:308:26: note: expanded from macro '\ 
    5878 DECLARE_F_REDUCTION_UNIFORM' 
    5879 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    5880 
    5881 :51:1: note: expanded from here 
    5882 simd_broadcast_first 
    5883 
    5884 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    5885 invalid in OpenCL 
    5886 DECLARE_REDUCTION_NON_UNIFORM(sum, reduce_add) 
    5887 
    5888 program_source:338:60: note: expanded from macro
    5889 'DECLARE_REDUCTION_NON_UNIFORM' 
    5890 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5891 
    5892 program_source:333:26: note: expanded from macro '\ 
    5893 DECLARE_I_REDUCTION_NON_UNIFORM' 
    5894 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    5895 
    5896 :53:1: note: expanded from here 
    5897 simd_sum 
    5898 
    5899 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    5900 invalid in OpenCL 
    5901 program_source:338:60: note: expanded from macro
    5902 'DECLARE_REDUCTION_NON_UNIFORM' 
    5903 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5904 
    5905 program_source:333:26: note: expanded from macro '\ 
    5906 DECLARE_I_REDUCTION_NON_UNIFORM' 
    5907 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    5908 
    5909 :53:1: note: expanded from here 
    5910 simd_sum 
    5911 
    5912 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    5913 invalid in OpenCL 
    5914 program_source:339:54: note: expanded from macro
    5915 'DECLARE_REDUCTION_NON_UNIFORM' 
    5916 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5917 
    5918 program_source:336:26: note: expanded from macro '\ 
    5919 DECLARE_F_REDUCTION_NON_UNIFORM' 
    5920 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    5921 
    5922 :55:1: note: expanded from here 
    5923 simd_sum 
    5924 
    5925 program_source:346:1: error: implicit declaration of function
    5926 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    5927 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    5928 
    5929 program_source:338:60: note: expanded from macro
    5930 'DECLARE_REDUCTION_NON_UNIFORM' 
    5931 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5932 
    5933 program_source:333:26: note: expanded from macro '\ 
    5934 DECLARE_I_REDUCTION_NON_UNIFORM' 
    5935 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    5936 
    5937 :57:1: note: expanded from here 
    5938 simd_prefix_inclusive_sum 
    5939 
    5940 program_source:346:1: error: implicit declaration of function
    5941 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    5942 program_source:338:60: note: expanded from macro
    5943 'DECLARE_REDUCTION_NON_UNIFORM' 
    5944 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5945 
    5946 program_source:333:26: note: expanded from macro '\ 
    5947 DECLARE_I_REDUCTION_NON_UNIFORM' 
    5948 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    5949 
    5950 :57:1: note: expanded from here 
    5951 simd_prefix_inclusive_sum 
    5952 
    5953 program_source:346:1: error: implicit declaration of function
    5954 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    5955 program_source:339:54: note: expanded from macro
    5956 'DECLARE_REDUCTION_NON_UNIFORM' 
    5957 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5958 
    5959 program_source:336:26: note: expanded from macro '\ 
    5960 DECLARE_F_REDUCTION_NON_UNIFORM' 
    5961 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    5962 
    5963 :59:1: note: expanded from here 
    5964 simd_prefix_inclusive_sum 
    5965 
    5966 program_source:347:1: error: implicit declaration of function
    5967 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    5968 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    5969 
    5970 program_source:338:60: note: expanded from macro
    5971 'DECLARE_REDUCTION_NON_UNIFORM' 
    5972 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5973 
    5974 program_source:333:26: note: expanded from macro '\ 
    5975 DECLARE_I_REDUCTION_NON_UNIFORM' 
    5976 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    5977 
    5978 :61:1: note: expanded from here 
    5979 simd_prefix_exclusive_sum 
    5980 
    5981 program_source:347:1: error: implicit declaration of function
    5982 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    5983 program_source:338:60: note: expanded from macro
    5984 'DECLARE_REDUCTION_NON_UNIFORM' 
    5985 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5986 
    5987 program_source:333:26: note: expanded from macro '\ 
    5988 DECLARE_I_REDUCTION_NON_UNIFORM' 
    5989 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    5990 
    5991 :61:1: note: expanded from here 
    5992 simd_prefix_exclusive_sum 
    5993 
    5994 program_source:347:1: error: implicit declaration of function
    5995 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    5996 program_source:339:54: note: expanded from macro
    5997 'DECLARE_REDUCTION_NON_UNIFORM' 
    5998 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    5999 
    6000 program_source:336:26: note: expanded from macro '\ 
    6001 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6002 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6003 
    6004 :63:1: note: expanded from here 
    6005 simd_prefix_exclusive_sum 
    6006 
    6007 program_source:348:1: error: implicit declaration of function 'simd_min' is
    6008 invalid in OpenCL 
    6009 DECLARE_REDUCTION_NON_UNIFORM(min, reduce_min) 
    6010 
    6011 program_source:338:60: note: expanded from macro
    6012 'DECLARE_REDUCTION_NON_UNIFORM' 
    6013 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6014 
    6015 program_source:333:26: note: expanded from macro '\ 
    6016 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6017 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6018 
    6019 :65:1: note: expanded from here 
    6020 simd_min 
    6021 
    6022 program_source:348:1: error: implicit declaration of function 'simd_min' is
    6023 invalid in OpenCL 
    6024 program_source:338:60: note: expanded from macro
    6025 'DECLARE_REDUCTION_NON_UNIFORM' 
    6026 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6027 
    6028 program_source:333:26: note: expanded from macro '\ 
    6029 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6030 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6031 
    6032 :65:1: note: expanded from here 
    6033 simd_min 
    6034 
    6035 program_source:348:1: error: implicit declaration of function 'simd_min' is
    6036 invalid in OpenCL 
    6037 program_source:339:54: note: expanded from macro
    6038 'DECLARE_REDUCTION_NON_UNIFORM' 
    6039 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6040 
    6041 program_source:336:26: note: expanded from macro '\ 
    6042 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6043 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6044 
    6045 :67:1: note: expanded from here 
    6046 simd_min 
    6047 
    6048 program_source:349:1: error: implicit declaration of function 'simd_max' is
    6049 invalid in OpenCL 
    6050 DECLARE_REDUCTION_NON_UNIFORM(max, reduce_max) 
    6051 
    6052 program_source:338:60: note: expanded from macro
    6053 'DECLARE_REDUCTION_NON_UNIFORM' 
    6054 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6055 
    6056 program_source:333:26: note: expanded from macro '\ 
    6057 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6058 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6059 
    6060 :69:1: note: expanded from here 
    6061 simd_max 
    6062 
    6063 program_source:349:1: error: implicit declaration of function 'simd_max' is
    6064 invalid in OpenCL 
    6065 program_source:338:60: note: expanded from macro
    6066 'DECLARE_REDUCTION_NON_UNIFORM' 
    6067 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6068 
    6069 program_source:333:26: note: expanded from macro '\ 
    6070 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6071 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6072 
    6073 :69:1: note: expanded from here 
    6074 simd_max 
    6075 
    6076 program_source:349:1: error: implicit declaration of function 'simd_max' is
    6077 invalid in OpenCL 
    6078 program_source:339:54: note: expanded from macro
    6079 'DECLARE_REDUCTION_NON_UNIFORM' 
    6080 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6081 
    6082 program_source:336:26: note: expanded from macro '\ 
    6083 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6084 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6085 
    6086 :71:1: note: expanded from here 
    6087 simd_max 
    6088 
    6089 program_source:351:1: error: implicit declaration of function 'simd_product'
    6090 is invalid in OpenCL 
    6091 DECLARE_REDUCTION_NON_UNIFORM(product, reduce_mul) 
    6092 
    6093 program_source:338:60: note: expanded from macro
    6094 'DECLARE_REDUCTION_NON_UNIFORM' 
    6095 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6096 
    6097 program_source:333:26: note: expanded from macro '\ 
    6098 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6099 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6100 
    6101 :73:1: note: expanded from here 
    6102 simd_product 
    6103 
    6104 program_source:351:1: error: implicit declaration of function 'simd_product'
    6105 is invalid in OpenCL 
    6106 program_source:338:60: note: expanded from macro
    6107 'DECLARE_REDUCTION_NON_UNIFORM' 
    6108 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6109 
    6110 program_source:333:26: note: expanded from macro '\ 
    6111 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6112 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6113 
    6114 :73:1: note: expanded from here 
    6115 simd_product 
    6116 
    6117 program_source:351:1: error: implicit declaration of function 'simd_product'
    6118 is invalid in OpenCL 
    6119 program_source:339:54: note: expanded from macro
    6120 'DECLARE_REDUCTION_NON_UNIFORM' 
    6121 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6122 
    6123 program_source:336:26: note: expanded from macro '\ 
    6124 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6125 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6126 
    6127 :75:1: note: expanded from here 
    6128 simd_product 
    6129 
    6130 program_source:352:1: error: implicit declaration of function
    6131 'simd_prefix_inclusive_product' is invalid in OpenCL 
    6132 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_product, scan_inclusive_mul) 
    6133 
    6134 program_source:338:60: note: expanded from macro
    6135 'DECLARE_REDUCTION_NON_UNIFORM' 
    6136 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6137 
    6138 program_source:333:26: note: expanded from macro '\ 
    6139 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6140 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6141 
    6142 :77:1: note: expanded from here 
    6143 simd_prefix_inclusive_product 
    6144 
    6145 program_source:352:1: error: implicit declaration of function
    6146 'simd_prefix_inclusive_product' is invalid in OpenCL 
    6147 program_source:338:60: note: expanded from macro
    6148 'DECLARE_REDUCTION_NON_UNIFORM' 
    6149 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6150 
    6151 program_source:333:26: note: expanded from macro '\ 
    6152 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6153 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6154 
    6155 :77:1: note: expanded from here 
    6156 simd_prefix_inclusive_product 
    6157 
    6158 program_source:352:1: error: implicit declaration of function
    6159 'simd_prefix_inclusive_product' is invalid in OpenCL 
    6160 program_source:339:54: note: expanded from macro
    6161 'DECLARE_REDUCTION_NON_UNIFORM' 
    6162 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6163 
    6164 program_source:336:26: note: expanded from macro '\ 
    6165 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6166 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6167 
    6168 :79:1: note: expanded from here 
    6169 simd_prefix_inclusive_product 
    6170 
    6171 program_source:353:1: error: implicit declaration of function
    6172 'simd_prefix_exclusive_product' is invalid in OpenCL 
    6173 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_product, scan_exclusive_mul) 
    6174 
    6175 program_source:338:60: note: expanded from macro
    6176 'DECLARE_REDUCTION_NON_UNIFORM' 
    6177 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6178 
    6179 program_source:333:26: note: expanded from macro '\ 
    6180 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6181 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6182 
    6183 :81:1: note: expanded from here 
    6184 simd_prefix_exclusive_product 
    6185 
    6186 program_source:353:1: error: implicit declaration of function
    6187 'simd_prefix_exclusive_product' is invalid in OpenCL 
    6188 program_source:338:60: note: expanded from macro
    6189 'DECLARE_REDUCTION_NON_UNIFORM' 
    6190 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6191 
    6192 program_source:333:26: note: expanded from macro '\ 
    6193 DECLARE_I_REDUCTION_NON_UNIFORM' 
    6194 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6195 
    6196 :81:1: note: expanded from here 
    6197 simd_prefix_exclusive_product 
    6198 
    6199 program_source:353:1: error: implicit declaration of function
    6200 'simd_prefix_exclusive_product' is invalid in OpenCL 
    6201 program_source:339:54: note: expanded from macro
    6202 'DECLARE_REDUCTION_NON_UNIFORM' 
    6203 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    6204 
    6205 program_source:336:26: note: expanded from macro '\ 
    6206 DECLARE_F_REDUCTION_NON_UNIFORM' 
    6207 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6208 
    6209 :83:1: note: expanded from here 
    6210 simd_prefix_exclusive_product 
    6211 
    6212 program_source:354:1: error: implicit declaration of function 'simd_and' is
    6213 invalid in OpenCL 
    6214 DECLARE_I_REDUCTION_NON_UNIFORM(and, reduce_and) 
    6215 
    6216 program_source:333:26: note: expanded from macro
    6217 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6218 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6219 
    6220 :85:1: note: expanded from here 
    6221 simd_and 
    6222 
    6223 program_source:354:1: error: implicit declaration of function 'simd_and' is
    6224 invalid in OpenCL 
    6225 program_source:333:26: note: expanded from macro
    6226 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6227 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6228 
    6229 :85:1: note: expanded from here 
    6230 simd_and 
    6231 
    6232 program_source:355:1: error: implicit declaration of function 'simd_or' is
    6233 invalid in OpenCL 
    6234 DECLARE_I_REDUCTION_NON_UNIFORM(or, reduce_or) 
    6235 
    6236 program_source:333:26: note: expanded from macro
    6237 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6238 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6239 
    6240 :87:1: note: expanded from here 
    6241 simd_or 
    6242 
    6243 program_source:355:1: error: implicit declaration of function 'simd_or' is
    6244 invalid in OpenCL 
    6245 program_source:333:26: note: expanded from macro
    6246 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6247 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6248 
    6249 :87:1: note: expanded from here 
    6250 simd_or 
    6251 
    6252 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    6253 invalid in OpenCL 
    6254 DECLARE_I_REDUCTION_NON_UNIFORM(xor, reduce_xor) 
    6255 
    6256 program_source:333:26: note: expanded from macro
    6257 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6258 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6259 
    6260 :89:1: note: expanded from here 
    6261 simd_xor 
    6262 
    6263 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    6264 invalid in OpenCL 
    6265 program_source:333:26: note: expanded from macro
    6266 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    6267 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6268 
    6269 :89:1: note: expanded from here 
    6270 simd_xor 
    6271 
    6272 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    6273 is invalid in OpenCL 
    6274 DECLARE_SHUFFLE_NON_UNIFORM(broadcast, broadcast) 
    6275 
    6276 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    6277 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6278 
    6279 :91:1: note: expanded from here 
    6280 simd_broadcast 
    6281 
    6282 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    6283 is invalid in OpenCL 
    6284 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    6285 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6286 
    6287 :91:1: note: expanded from here 
    6288 simd_broadcast 
    6289 
    6290 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    6291 is invalid in OpenCL 
    6292 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    6293 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    6294 
    6295 :91:1: note: expanded from here 
    6296 simd_broadcast 
    6297 
    6298 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    6299 invalid in OpenCL 
    6300 DECLARE_REDUCTION_CLUSTERED(sum, reduce_add) 
    6301 
    6302 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6303 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6304 
    6305 program_source:360:60: note: expanded from macro '\ 
    6306 DECLARE_I_REDUCTION_CLUSTERED' 
    6307 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6308 
    6309 program_source:245:71: note: expanded from macro '\ 
    6310 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6311 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6312 
    6313 program_source:196:12: note: expanded from macro '\ 
    6314 OVERLOAD_CLUSTERED_ARGS_1' 
    6315 return quad_##METAL_SUFFIX(x); \ 
    6316 
    6317 :94:1: note: expanded from here 
    6318 quad_sum 
    6319 
    6320 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    6321 invalid in OpenCL 
    6322 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6323 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6324 
    6325 program_source:360:60: note: expanded from macro '\ 
    6326 DECLARE_I_REDUCTION_CLUSTERED' 
    6327 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6328 
    6329 program_source:245:71: note: expanded from macro '\ 
    6330 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6331 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6332 
    6333 program_source:198:12: note: expanded from macro '\ 
    6334 OVERLOAD_CLUSTERED_ARGS_1' 
    6335 return simd_##METAL_SUFFIX(x); \ 
    6336 
    6337 :95:1: note: expanded from here 
    6338 simd_sum 
    6339 
    6340 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    6341 invalid in OpenCL 
    6342 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6343 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6344 
    6345 program_source:360:60: note: expanded from macro '\ 
    6346 DECLARE_I_REDUCTION_CLUSTERED' 
    6347 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6348 
    6349 program_source:246:59: note: expanded from macro '\ 
    6350 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6351 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6352 
    6353 program_source:196:12: note: expanded from macro '\ 
    6354 OVERLOAD_CLUSTERED_ARGS_1' 
    6355 return quad_##METAL_SUFFIX(x); \ 
    6356 
    6357 :96:1: note: expanded from here 
    6358 quad_sum 
    6359 
    6360 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    6361 invalid in OpenCL 
    6362 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6363 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6364 
    6365 program_source:360:60: note: expanded from macro '\ 
    6366 DECLARE_I_REDUCTION_CLUSTERED' 
    6367 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6368 
    6369 program_source:246:59: note: expanded from macro '\ 
    6370 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6371 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6372 
    6373 program_source:198:12: note: expanded from macro '\ 
    6374 OVERLOAD_CLUSTERED_ARGS_1' 
    6375 return simd_##METAL_SUFFIX(x); \ 
    6376 
    6377 :97:1: note: expanded from here 
    6378 simd_sum 
    6379 
    6380 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    6381 invalid in OpenCL 
    6382 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6383 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6384 
    6385 program_source:363:60: note: expanded from macro '\ 
    6386 DECLARE_F_REDUCTION_CLUSTERED' 
    6387 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6388 
    6389 program_source:249:71: note: expanded from macro '\ 
    6390 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6391 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6392 
    6393 program_source:196:12: note: expanded from macro '\ 
    6394 OVERLOAD_CLUSTERED_ARGS_1' 
    6395 return quad_##METAL_SUFFIX(x); \ 
    6396 
    6397 :99:1: note: expanded from here 
    6398 quad_sum 
    6399 
    6400 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    6401 invalid in OpenCL 
    6402 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6403 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6404 
    6405 program_source:363:60: note: expanded from macro '\ 
    6406 DECLARE_F_REDUCTION_CLUSTERED' 
    6407 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6408 
    6409 program_source:249:71: note: expanded from macro '\ 
    6410 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6411 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6412 
    6413 program_source:198:12: note: expanded from macro '\ 
    6414 OVERLOAD_CLUSTERED_ARGS_1' 
    6415 return simd_##METAL_SUFFIX(x); \ 
    6416 
    6417 :100:1: note: expanded from here 
    6418 simd_sum 
    6419 
    6420 program_source:392:1: error: implicit declaration of function 'quad_min' is
    6421 invalid in OpenCL 
    6422 DECLARE_REDUCTION_CLUSTERED(min, reduce_min) 
    6423 
    6424 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6425 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6426 
    6427 program_source:360:60: note: expanded from macro '\ 
    6428 DECLARE_I_REDUCTION_CLUSTERED' 
    6429 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6430 
    6431 program_source:245:71: note: expanded from macro '\ 
    6432 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6433 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6434 
    6435 program_source:196:12: note: expanded from macro '\ 
    6436 OVERLOAD_CLUSTERED_ARGS_1' 
    6437 return quad_##METAL_SUFFIX(x); \ 
    6438 
    6439 :102:1: note: expanded from here 
    6440 quad_min 
    6441 
    6442 program_source:392:1: error: implicit declaration of function 'simd_min' is
    6443 invalid in OpenCL 
    6444 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6445 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6446 
    6447 program_source:360:60: note: expanded from macro '\ 
    6448 DECLARE_I_REDUCTION_CLUSTERED' 
    6449 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6450 
    6451 program_source:245:71: note: expanded from macro '\ 
    6452 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6453 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6454 
    6455 program_source:198:12: note: expanded from macro '\ 
    6456 OVERLOAD_CLUSTERED_ARGS_1' 
    6457 return simd_##METAL_SUFFIX(x); \ 
    6458 
    6459 :103:1: note: expanded from here 
    6460 simd_min 
    6461 
    6462 program_source:392:1: error: implicit declaration of function 'quad_min' is
    6463 invalid in OpenCL 
    6464 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6465 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6466 
    6467 program_source:360:60: note: expanded from macro '\ 
    6468 DECLARE_I_REDUCTION_CLUSTERED' 
    6469 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6470 
    6471 program_source:246:59: note: expanded from macro '\ 
    6472 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6473 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6474 
    6475 program_source:196:12: note: expanded from macro '\ 
    6476 OVERLOAD_CLUSTERED_ARGS_1' 
    6477 return quad_##METAL_SUFFIX(x); \ 
    6478 
    6479 :104:1: note: expanded from here 
    6480 quad_min 
    6481 
    6482 program_source:392:1: error: implicit declaration of function 'simd_min' is
    6483 invalid in OpenCL 
    6484 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6485 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6486 
    6487 program_source:360:60: note: expanded from macro '\ 
    6488 DECLARE_I_REDUCTION_CLUSTERED' 
    6489 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6490 
    6491 program_source:246:59: note: expanded from macro '\ 
    6492 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6493 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6494 
    6495 program_source:198:12: note: expanded from macro '\ 
    6496 OVERLOAD_CLUSTERED_ARGS_1' 
    6497 return simd_##METAL_SUFFIX(x); \ 
    6498 
    6499 :105:1: note: expanded from here 
    6500 simd_min 
    6501 
    6502 program_source:392:1: error: implicit declaration of function 'quad_min' is
    6503 invalid in OpenCL 
    6504 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6505 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6506 
    6507 program_source:363:60: note: expanded from macro '\ 
    6508 DECLARE_F_REDUCTION_CLUSTERED' 
    6509 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6510 
    6511 program_source:249:71: note: expanded from macro '\ 
    6512 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6513 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6514 
    6515 program_source:196:12: note: expanded from macro '\ 
    6516 OVERLOAD_CLUSTERED_ARGS_1' 
    6517 return quad_##METAL_SUFFIX(x); \ 
    6518 
    6519 :107:1: note: expanded from here 
    6520 quad_min 
    6521 
    6522 program_source:392:1: error: implicit declaration of function 'simd_min' is
    6523 invalid in OpenCL 
    6524 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6525 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6526 
    6527 program_source:363:60: note: expanded from macro '\ 
    6528 DECLARE_F_REDUCTION_CLUSTERED' 
    6529 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6530 
    6531 program_source:249:71: note: expanded from macro '\ 
    6532 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6533 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6534 
    6535 program_source:198:12: note: expanded from macro '\ 
    6536 OVERLOAD_CLUSTERED_ARGS_1' 
    6537 return simd_##METAL_SUFFIX(x); \ 
    6538 
    6539 :108:1: note: expanded from here 
    6540 simd_min 
    6541 
    6542 program_source:393:1: error: implicit declaration of function 'quad_max' is
    6543 invalid in OpenCL 
    6544 DECLARE_REDUCTION_CLUSTERED(max, reduce_max) 
    6545 
    6546 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6547 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6548 
    6549 program_source:360:60: note: expanded from macro '\ 
    6550 DECLARE_I_REDUCTION_CLUSTERED' 
    6551 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6552 
    6553 program_source:245:71: note: expanded from macro '\ 
    6554 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6555 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6556 
    6557 program_source:196:12: note: expanded from macro '\ 
    6558 OVERLOAD_CLUSTERED_ARGS_1' 
    6559 return quad_##METAL_SUFFIX(x); \ 
    6560 
    6561 :110:1: note: expanded from here 
    6562 quad_max 
    6563 
    6564 program_source:393:1: error: implicit declaration of function 'simd_max' is
    6565 invalid in OpenCL 
    6566 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6567 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6568 
    6569 program_source:360:60: note: expanded from macro '\ 
    6570 DECLARE_I_REDUCTION_CLUSTERED' 
    6571 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6572 
    6573 program_source:245:71: note: expanded from macro '\ 
    6574 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6575 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6576 
    6577 program_source:198:12: note: expanded from macro '\ 
    6578 OVERLOAD_CLUSTERED_ARGS_1' 
    6579 return simd_##METAL_SUFFIX(x); \ 
    6580 
    6581 :111:1: note: expanded from here 
    6582 simd_max 
    6583 
    6584 program_source:393:1: error: implicit declaration of function 'quad_max' is
    6585 invalid in OpenCL 
    6586 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6587 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6588 
    6589 program_source:360:60: note: expanded from macro '\ 
    6590 DECLARE_I_REDUCTION_CLUSTERED' 
    6591 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6592 
    6593 program_source:246:59: note: expanded from macro '\ 
    6594 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6595 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6596 
    6597 program_source:196:12: note: expanded from macro '\ 
    6598 OVERLOAD_CLUSTERED_ARGS_1' 
    6599 return quad_##METAL_SUFFIX(x); \ 
    6600 
    6601 :112:1: note: expanded from here 
    6602 quad_max 
    6603 
    6604 program_source:393:1: error: implicit declaration of function 'simd_max' is
    6605 invalid in OpenCL 
    6606 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6607 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6608 
    6609 program_source:360:60: note: expanded from macro '\ 
    6610 DECLARE_I_REDUCTION_CLUSTERED' 
    6611 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6612 
    6613 program_source:246:59: note: expanded from macro '\ 
    6614 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6615 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6616 
    6617 program_source:198:12: note: expanded from macro '\ 
    6618 OVERLOAD_CLUSTERED_ARGS_1' 
    6619 return simd_##METAL_SUFFIX(x); \ 
    6620 
    6621 :113:1: note: expanded from here 
    6622 simd_max 
    6623 
    6624 program_source:393:1: error: implicit declaration of function 'quad_max' is
    6625 invalid in OpenCL 
    6626 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6627 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6628 
    6629 program_source:363:60: note: expanded from macro '\ 
    6630 DECLARE_F_REDUCTION_CLUSTERED' 
    6631 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6632 
    6633 program_source:249:71: note: expanded from macro '\ 
    6634 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6635 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6636 
    6637 program_source:196:12: note: expanded from macro '\ 
    6638 OVERLOAD_CLUSTERED_ARGS_1' 
    6639 return quad_##METAL_SUFFIX(x); \ 
    6640 
    6641 :115:1: note: expanded from here 
    6642 quad_max 
    6643 
    6644 program_source:393:1: error: implicit declaration of function 'simd_max' is
    6645 invalid in OpenCL 
    6646 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6647 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6648 
    6649 program_source:363:60: note: expanded from macro '\ 
    6650 DECLARE_F_REDUCTION_CLUSTERED' 
    6651 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6652 
    6653 program_source:249:71: note: expanded from macro '\ 
    6654 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6655 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6656 
    6657 program_source:198:12: note: expanded from macro '\ 
    6658 OVERLOAD_CLUSTERED_ARGS_1' 
    6659 return simd_##METAL_SUFFIX(x); \ 
    6660 
    6661 :116:1: note: expanded from here 
    6662 simd_max 
    6663 
    6664 program_source:395:1: error: implicit declaration of function 'quad_product'
    6665 is invalid in OpenCL 
    6666 DECLARE_REDUCTION_CLUSTERED(product, reduce_mul) 
    6667 
    6668 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6669 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6670 
    6671 program_source:360:60: note: expanded from macro '\ 
    6672 DECLARE_I_REDUCTION_CLUSTERED' 
    6673 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6674 
    6675 program_source:245:71: note: expanded from macro '\ 
    6676 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6677 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6678 
    6679 program_source:196:12: note: expanded from macro '\ 
    6680 OVERLOAD_CLUSTERED_ARGS_1' 
    6681 return quad_##METAL_SUFFIX(x); \ 
    6682 
    6683 :118:1: note: expanded from here 
    6684 quad_product 
    6685 
    6686 program_source:395:1: error: implicit declaration of function 'simd_product'
    6687 is invalid in OpenCL 
    6688 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6689 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6690 
    6691 program_source:360:60: note: expanded from macro '\ 
    6692 DECLARE_I_REDUCTION_CLUSTERED' 
    6693 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6694 
    6695 program_source:245:71: note: expanded from macro '\ 
    6696 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6697 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6698 
    6699 program_source:198:12: note: expanded from macro '\ 
    6700 OVERLOAD_CLUSTERED_ARGS_1' 
    6701 return simd_##METAL_SUFFIX(x); \ 
    6702 
    6703 :119:1: note: expanded from here 
    6704 simd_product 
    6705 
    6706 program_source:395:1: error: implicit declaration of function 'quad_product'
    6707 is invalid in OpenCL 
    6708 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6709 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6710 
    6711 program_source:360:60: note: expanded from macro '\ 
    6712 DECLARE_I_REDUCTION_CLUSTERED' 
    6713 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6714 
    6715 program_source:246:59: note: expanded from macro '\ 
    6716 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6717 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6718 
    6719 program_source:196:12: note: expanded from macro '\ 
    6720 OVERLOAD_CLUSTERED_ARGS_1' 
    6721 return quad_##METAL_SUFFIX(x); \ 
    6722 
    6723 :120:1: note: expanded from here 
    6724 quad_product 
    6725 
    6726 program_source:395:1: error: implicit declaration of function 'simd_product'
    6727 is invalid in OpenCL 
    6728 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6729 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6730 
    6731 program_source:360:60: note: expanded from macro '\ 
    6732 DECLARE_I_REDUCTION_CLUSTERED' 
    6733 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6734 
    6735 program_source:246:59: note: expanded from macro '\ 
    6736 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6737 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6738 
    6739 program_source:198:12: note: expanded from macro '\ 
    6740 OVERLOAD_CLUSTERED_ARGS_1' 
    6741 return simd_##METAL_SUFFIX(x); \ 
    6742 
    6743 :121:1: note: expanded from here 
    6744 simd_product 
    6745 
    6746 program_source:395:1: error: implicit declaration of function 'quad_product'
    6747 is invalid in OpenCL 
    6748 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6749 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6750 
    6751 program_source:363:60: note: expanded from macro '\ 
    6752 DECLARE_F_REDUCTION_CLUSTERED' 
    6753 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6754 
    6755 program_source:249:71: note: expanded from macro '\ 
    6756 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6757 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6758 
    6759 program_source:196:12: note: expanded from macro '\ 
    6760 OVERLOAD_CLUSTERED_ARGS_1' 
    6761 return quad_##METAL_SUFFIX(x); \ 
    6762 
    6763 :123:1: note: expanded from here 
    6764 quad_product 
    6765 
    6766 program_source:395:1: error: implicit declaration of function 'simd_product'
    6767 is invalid in OpenCL 
    6768 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    6769 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6770 
    6771 program_source:363:60: note: expanded from macro '\ 
    6772 DECLARE_F_REDUCTION_CLUSTERED' 
    6773 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6774 
    6775 program_source:249:71: note: expanded from macro '\ 
    6776 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    6777 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6778 
    6779 program_source:198:12: note: expanded from macro '\ 
    6780 OVERLOAD_CLUSTERED_ARGS_1' 
    6781 return simd_##METAL_SUFFIX(x); \ 
    6782 
    6783 :124:1: note: expanded from here 
    6784 simd_product 
    6785 
    6786 program_source:396:1: error: implicit declaration of function 'quad_and' is
    6787 invalid in OpenCL 
    6788 DECLARE_I_REDUCTION_CLUSTERED(and, reduce_and) 
    6789 
    6790 program_source:360:60: note: expanded from macro
    6791 'DECLARE_I_REDUCTION_CLUSTERED' 
    6792 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6793 
    6794 program_source:245:71: note: expanded from macro '\ 
    6795 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6796 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6797 
    6798 program_source:196:12: note: expanded from macro '\ 
    6799 OVERLOAD_CLUSTERED_ARGS_1' 
    6800 return quad_##METAL_SUFFIX(x); \ 
    6801 
    6802 :126:1: note: expanded from here 
    6803 quad_and 
    6804 
    6805 program_source:396:1: error: implicit declaration of function 'simd_and' is
    6806 invalid in OpenCL 
    6807 program_source:360:60: note: expanded from macro
    6808 'DECLARE_I_REDUCTION_CLUSTERED' 
    6809 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6810 
    6811 program_source:245:71: note: expanded from macro '\ 
    6812 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6813 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6814 
    6815 program_source:198:12: note: expanded from macro '\ 
    6816 OVERLOAD_CLUSTERED_ARGS_1' 
    6817 return simd_##METAL_SUFFIX(x); \ 
    6818 
    6819 :127:1: note: expanded from here 
    6820 simd_and 
    6821 
    6822 program_source:396:1: error: implicit declaration of function 'quad_and' is
    6823 invalid in OpenCL 
    6824 program_source:360:60: note: expanded from macro
    6825 'DECLARE_I_REDUCTION_CLUSTERED' 
    6826 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6827 
    6828 program_source:246:59: note: expanded from macro '\ 
    6829 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6830 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6831 
    6832 program_source:196:12: note: expanded from macro '\ 
    6833 OVERLOAD_CLUSTERED_ARGS_1' 
    6834 return quad_##METAL_SUFFIX(x); \ 
    6835 
    6836 :128:1: note: expanded from here 
    6837 quad_and 
    6838 
    6839 program_source:396:1: error: implicit declaration of function 'simd_and' is
    6840 invalid in OpenCL 
    6841 program_source:360:60: note: expanded from macro
    6842 'DECLARE_I_REDUCTION_CLUSTERED' 
    6843 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6844 
    6845 program_source:246:59: note: expanded from macro '\ 
    6846 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6847 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6848 
    6849 program_source:198:12: note: expanded from macro '\ 
    6850 OVERLOAD_CLUSTERED_ARGS_1' 
    6851 return simd_##METAL_SUFFIX(x); \ 
    6852 
    6853 :129:1: note: expanded from here 
    6854 simd_and 
    6855 
    6856 program_source:397:1: error: implicit declaration of function 'quad_or' is
    6857 invalid in OpenCL 
    6858 DECLARE_I_REDUCTION_CLUSTERED(or, reduce_or) 
    6859 
    6860 program_source:360:60: note: expanded from macro
    6861 'DECLARE_I_REDUCTION_CLUSTERED' 
    6862 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6863 
    6864 program_source:245:71: note: expanded from macro '\ 
    6865 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6866 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6867 
    6868 program_source:196:12: note: expanded from macro '\ 
    6869 OVERLOAD_CLUSTERED_ARGS_1' 
    6870 return quad_##METAL_SUFFIX(x); \ 
    6871 
    6872 :131:1: note: expanded from here 
    6873 quad_or 
    6874 
    6875 program_source:397:1: error: implicit declaration of function 'simd_or' is
    6876 invalid in OpenCL 
    6877 program_source:360:60: note: expanded from macro
    6878 'DECLARE_I_REDUCTION_CLUSTERED' 
    6879 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6880 
    6881 program_source:245:71: note: expanded from macro '\ 
    6882 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6883 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6884 
    6885 program_source:198:12: note: expanded from macro '\ 
    6886 OVERLOAD_CLUSTERED_ARGS_1' 
    6887 return simd_##METAL_SUFFIX(x); \ 
    6888 
    6889 :132:1: note: expanded from here 
    6890 simd_or 
    6891 
    6892 program_source:397:1: error: implicit declaration of function 'quad_or' is
    6893 invalid in OpenCL 
    6894 program_source:360:60: note: expanded from macro
    6895 'DECLARE_I_REDUCTION_CLUSTERED' 
    6896 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6897 
    6898 program_source:246:59: note: expanded from macro '\ 
    6899 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6900 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6901 
    6902 program_source:196:12: note: expanded from macro '\ 
    6903 OVERLOAD_CLUSTERED_ARGS_1' 
    6904 return quad_##METAL_SUFFIX(x); \ 
    6905 
    6906 :133:1: note: expanded from here 
    6907 quad_or 
    6908 
    6909 program_source:397:1: error: implicit declaration of function 'simd_or' is
    6910 invalid in OpenCL 
    6911 program_source:360:60: note: expanded from macro
    6912 'DECLARE_I_REDUCTION_CLUSTERED' 
    6913 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6914 
    6915 program_source:246:59: note: expanded from macro '\ 
    6916 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6917 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6918 
    6919 program_source:198:12: note: expanded from macro '\ 
    6920 OVERLOAD_CLUSTERED_ARGS_1' 
    6921 return simd_##METAL_SUFFIX(x); \ 
    6922 
    6923 :134:1: note: expanded from here 
    6924 simd_or 
    6925 
    6926 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    6927 invalid in OpenCL 
    6928 DECLARE_I_REDUCTION_CLUSTERED(xor, reduce_xor) 
    6929 
    6930 program_source:360:60: note: expanded from macro
    6931 'DECLARE_I_REDUCTION_CLUSTERED' 
    6932 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6933 
    6934 program_source:245:71: note: expanded from macro '\ 
    6935 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6936 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6937 
    6938 program_source:196:12: note: expanded from macro '\ 
    6939 OVERLOAD_CLUSTERED_ARGS_1' 
    6940 return quad_##METAL_SUFFIX(x); \ 
    6941 
    6942 :136:1: note: expanded from here 
    6943 quad_xor 
    6944 
    6945 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    6946 invalid in OpenCL 
    6947 program_source:360:60: note: expanded from macro
    6948 'DECLARE_I_REDUCTION_CLUSTERED' 
    6949 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6950 
    6951 program_source:245:71: note: expanded from macro '\ 
    6952 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6953 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    6954 
    6955 program_source:198:12: note: expanded from macro '\ 
    6956 OVERLOAD_CLUSTERED_ARGS_1' 
    6957 return simd_##METAL_SUFFIX(x); \ 
    6958 
    6959 :137:1: note: expanded from here 
    6960 simd_xor 
    6961 
    6962 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    6963 invalid in OpenCL 
    6964 program_source:360:60: note: expanded from macro
    6965 'DECLARE_I_REDUCTION_CLUSTERED' 
    6966 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6967 
    6968 program_source:246:59: note: expanded from macro '\ 
    6969 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6970 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6971 
    6972 program_source:196:12: note: expanded from macro '\ 
    6973 OVERLOAD_CLUSTERED_ARGS_1' 
    6974 return quad_##METAL_SUFFIX(x); \ 
    6975 
    6976 :138:1: note: expanded from here 
    6977 quad_xor 
    6978 
    6979 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    6980 invalid in OpenCL 
    6981 program_source:360:60: note: expanded from macro
    6982 'DECLARE_I_REDUCTION_CLUSTERED' 
    6983 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    6984 
    6985 program_source:246:59: note: expanded from macro '\ 
    6986 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    6987 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    6988 
    6989 program_source:198:12: note: expanded from macro '\ 
    6990 OVERLOAD_CLUSTERED_ARGS_1' 
    6991 return simd_##METAL_SUFFIX(x); \ 
    6992 
    6993 :139:1: note: expanded from here 
    6994 simd_xor 
    6995 
    6996 program_source:399:1: error: implicit declaration of function 'simd_and' is
    6997 invalid in OpenCL 
    6998 DECLARE_B_REDUCTION_CLUSTERED(and) 
    6999 
    7000 program_source:369:8: note: expanded from macro
    7001 'DECLARE_B_REDUCTION_CLUSTERED' 
    7002 return simd_##OP(select(0, 1, predicate != 0)); \ 
    7003 
    7004 :141:1: note: expanded from here 
    7005 simd_and 
    7006 
    7007 program_source:399:1: error: implicit declaration of function 'quad_and' is
    7008 invalid in OpenCL 
    7009 program_source:378:12: note: expanded from macro
    7010 'DECLARE_B_REDUCTION_CLUSTERED' 
    7011 return quad_##OP(x); \ 
    7012 
    7013 :143:1: note: expanded from here 
    7014 quad_and 
    7015 
    7016 program_source:399:1: error: implicit declaration of function 'simd_and' is
    7017 invalid in OpenCL 
    7018 program_source:380:12: note: expanded from macro
    7019 'DECLARE_B_REDUCTION_CLUSTERED' 
    7020 return simd_##OP(x); \ 
    7021 
    7022 :144:1: note: expanded from here 
    7023 simd_and 
    7024 
    7025 program_source:400:1: error: implicit declaration of function 'simd_or' is
    7026 invalid in OpenCL 
    7027 DECLARE_B_REDUCTION_CLUSTERED(or) 
    7028 
    7029 program_source:369:8: note: expanded from macro
    7030 'DECLARE_B_REDUCTION_CLUSTERED' 
    7031 return simd_##OP(select(0, 1, predicate != 0)); \ 
    7032 
    7033 :146:1: note: expanded from here 
    7034 simd_or 
    7035 
    7036 program_source:400:1: error: implicit declaration of function 'quad_or' is
    7037 invalid in OpenCL 
    7038 program_source:378:12: note: expanded from macro
    7039 'DECLARE_B_REDUCTION_CLUSTERED' 
    7040 return quad_##OP(x); \ 
    7041 
    7042 :148:1: note: expanded from here 
    7043 quad_or 
    7044 
    7045 program_source:400:1: error: implicit declaration of function 'simd_or' is
    7046 invalid in OpenCL 
    7047 program_source:380:12: note: expanded from macro
    7048 'DECLARE_B_REDUCTION_CLUSTERED' 
    7049 return simd_##OP(x); \ 
    7050 
    7051 :149:1: note: expanded from here 
    7052 simd_or 
    7053 
    7054 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    7055 invalid in OpenCL 
    7056 DECLARE_B_REDUCTION_CLUSTERED(xor) 
    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 :151:1: note: expanded from here 
    7063 simd_xor 
    7064 
    7065 program_source:401:1: error: implicit declaration of function 'quad_xor' 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 :153:1: note: expanded from here 
    7072 quad_xor 
    7073 
    7074 program_source:401:1: error: implicit declaration of function 'simd_xor' 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 :154:1: note: expanded from here 
    7081 simd_xor 
    7082 
    7083 program_source:403:1: error: implicit declaration of function
    7084 'quad_shuffle_rotate_down' is invalid in OpenCL 
    7085 DECLARE_SHUFFLE_CLUSTERED(shuffle_rotate_down, rotate) 
    7086 
    7087 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7088 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7089 
    7090 program_source:252:69: note: expanded from macro '\ 
    7091 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7092 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    7093 
    7094 program_source:208:12: note: expanded from macro '\ 
    7095 OVERLOAD_CLUSTERED_ARGS_2' 
    7096 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    7097 
    7098 :156:1: note: expanded from here 
    7099 quad_shuffle_rotate_down 
    7100 
    7101 program_source:403:1: error: implicit declaration of function
    7102 'simd_shuffle_rotate_down' is invalid in OpenCL 
    7103 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7104 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7105 
    7106 program_source:252:69: note: expanded from macro '\ 
    7107 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7108 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    7109 
    7110 program_source:210:12: note: expanded from macro '\ 
    7111 OVERLOAD_CLUSTERED_ARGS_2' 
    7112 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    7113 
    7114 :157:1: note: expanded from here 
    7115 simd_shuffle_rotate_down 
    7116 
    7117 program_source:403:1: error: implicit declaration of function
    7118 'quad_shuffle_rotate_down' is invalid in OpenCL 
    7119 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7120 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7121 
    7122 program_source:253:59: note: expanded from macro '\ 
    7123 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7124 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7125 
    7126 program_source:208:12: note: expanded from macro '\ 
    7127 OVERLOAD_CLUSTERED_ARGS_2' 
    7128 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    7129 
    7130 :158:1: note: expanded from here 
    7131 quad_shuffle_rotate_down 
    7132 
    7133 program_source:403:1: error: implicit declaration of function
    7134 'simd_shuffle_rotate_down' is invalid in OpenCL 
    7135 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7136 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7137 
    7138 program_source:253:59: note: expanded from macro '\ 
    7139 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7140 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    7141 
    7142 program_source:210:12: note: expanded from macro '\ 
    7143 OVERLOAD_CLUSTERED_ARGS_2' 
    7144 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    7145 
    7146 :159:1: note: expanded from here 
    7147 simd_shuffle_rotate_down 
    7148 
    7149 program_source:403:1: error: implicit declaration of function
    7150 'quad_shuffle_rotate_down' is invalid in OpenCL 
    7151 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7152 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7153 
    7154 program_source:254:60: note: expanded from macro '\ 
    7155 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7156 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    7157 
    7158 program_source:208:12: note: expanded from macro '\ 
    7159 OVERLOAD_CLUSTERED_ARGS_2' 
    7160 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    7161 
    7162 :160:1: note: expanded from here 
    7163 quad_shuffle_rotate_down 
    7164 
    7165 program_source:403:1: error: implicit declaration of function
    7166 'simd_shuffle_rotate_down' is invalid in OpenCL 
    7167 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    7168 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    7169 
    7170 program_source:254:60: note: expanded from macro '\ 
    7171 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    7172 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    7173 
    7174 program_source:210:12: note: expanded from macro '\ 
    7175 OVERLOAD_CLUSTERED_ARGS_2' 
    7176 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    7177 
    7178 :161:1: note: expanded from here 
    7179 simd_shuffle_rotate_down 
    7180 
    7181 program_source:409:1: error: illegal string literal in 'asm' 
    7182 EXPOSE_BALLOT(simd_is_first, , bool, ) 
    7183 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7184 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7185 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7186 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7187 program_source:410:1: error: illegal string literal in 'asm' 
    7188 EXPOSE_BALLOT(simd_all, bool expr, bool, ) 
    7189 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7190 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7191 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7192 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7193 program_source:411:1: error: illegal string literal in 'asm' 
    7194 EXPOSE_BALLOT(simd_any, bool expr, bool, ) 
    7195 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7196 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7197 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7198 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7199 program_source:412:1: error: illegal string literal in 'asm' 
    7200 EXPOSE_BALLOT(simd_ballot, bool expr, ulong, .i64) 
    7201 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7202 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7203 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7204 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7205 program_source:413:1: error: illegal string literal in 'asm' 
    7206 EXPOSE_BALLOT(simd_active_threads_mask, , ulong, .i64) 
    7207 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7208 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7209 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7210 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7211 program_source:415:1: error: illegal string literal in 'asm' 
    7212 EXPOSE_BALLOT(quad_is_first, , bool, ) 
    7213 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7214 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7215 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7216 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7217 program_source:416:1: error: illegal string literal in 'asm' 
    7218 EXPOSE_BALLOT(quad_all, bool expr, bool, ) 
    7219 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7220 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7221 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7222 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7223 program_source:417:1: error: illegal string literal in 'asm' 
    7224 EXPOSE_BALLOT(quad_any, bool expr, bool, ) 
    7225 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7226 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7227 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7228 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7229 program_source:418:1: error: illegal string literal in 'asm' 
    7230 EXPOSE_BALLOT(quad_ballot, bool expr, ushort, ) 
    7231 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7232 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7233 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7234 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7235 program_source:419:1: error: illegal string literal in 'asm' 
    7236 EXPOSE_BALLOT(quad_active_threads_mask, , ushort, ) 
    7237 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7238 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    7239 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    7240 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7241 program_source:422:23: error: implicit declaration of function 'simd_is_first'
    7242 is invalid in OpenCL 
    7243 return select(0, 1, simd_is_first()); 
    7244 
    7245 program_source:426:23: error: implicit declaration of function 'simd_all' is
    7246 invalid in OpenCL 
    7247 return select(0, 1, simd_all(predicate != 0)); 
    7248 
    7249 program_source:430:23: error: implicit declaration of function 'simd_any' is
    7250 invalid in OpenCL 
    7251 return select(0, 1, simd_any(predicate != 0)); 
    7252 
    7253 program_source:434:23: error: implicit declaration of function 'simd_all' is
    7254 invalid in OpenCL 
    7255 return select(0, 1, simd_all(predicate != 0)); 
    7256 
    7257 program_source:438:23: error: implicit declaration of function 'simd_any' is
    7258 invalid in OpenCL 
    7259 return select(0, 1, simd_any(predicate != 0)); 
    7260 
    7261 program_source:443:14: error: implicit declaration of function 'simd_ballot'
    7262 is invalid in OpenCL 
    7263 output.x = simd_ballot(predicate != 0); 
    7264 
    7265 program_source:480:9: error: illegal string literal in 'asm' 
    7266 __asm("air.simdgroup.barrier"); 
    7267 ^~~~~~~~~~~~~~~~~~~~~~~ 
    7268 program_source:487:3: error: implicit declaration of function
    7269 '__metal_simdgroup_barrier' is invalid in OpenCL 
    7270 __metal_simdgroup_barrier(flags, 1); 
    7271 
    7272 program_source:487:3: note: did you mean 'simdgroup_barrier'? 
    7273 program_source:483:6: note: 'simdgroup_barrier' declared here 
    7274 void simdgroup_barrier(int flags) { 
    7275 
    7276 program_source:681:9: error: implicit declaration of function 'simd_is_first'
    7277 is invalid in OpenCL 
    7278 if (simd_is_first()) { 
    7279 
    7280 program_source:673:45: warning: comparison of integers of different signs:
    7281 '__private unsigned int' and '__private int' [-Wsign-compare] 
    7282 for (unsigned int index = thread; index ~~~~~ ^ ~~~~~~~~~~ 
    7283 program_source:685:45: warning: comparison of integers of different signs:
    7284 'unsigned int' and '__private int' [-Wsign-compare] 
    7285 if (thread%(32*2) == 0 && thread+32 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    7286 program_source:689:45: warning: comparison of integers of different signs:
    7287 'unsigned int' and '__private int' [-Wsign-compare] 
    7288 if (thread%(64*2) == 0 && thread+64 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    7289 program_source:693:47: warning: comparison of integers of different signs:
    7290 'unsigned int' and '__private int' [-Wsign-compare] 
    7291 if (thread%(128*2) == 0 && thread+128 ~~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    7292  
    7293  
    7294 File
    7295 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7296 packages/openmm/openmm.py", line 2469, in __init__ 
    7297 _openmm.Context_swiginit(self, _openmm.new_Context(*args)) 
    7298 ^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7299  
    7300 See log for complete Python traceback. 
    7301  
    7302 
    7303 > addh
    7304 
    7305 Summary of feedback from adding hydrogens to SFXN1_E4-P375_J136-coot-3 (1).pdb
    7306 #2.2 
    7307 --- 
    7308 notes | Termini for SFXN1_E4-P375_J136-coot-3 (1).pdb (#2.2) chain A
    7309 determined from SEQRES records 
    7310 Termini for SFXN1_E4-P375_J136-coot-3 (1).pdb (#2.2) chain B determined from
    7311 SEQRES records 
    7312 Chain-initial residues that are actual N termini: /A LEU 5, /B GLN 1 
    7313 Chain-initial residues that are not actual N termini: 
    7314 Chain-final residues that are actual C termini: /A LEU 322, /B SER 121 
    7315 Chain-final residues that are not actual C termini: 
    7316 Missing OXT added to C-terminal residue /A LEU 322 
    7317 437 hydrogen bonds 
    7318 0 hydrogens added 
    7319  
    7320 
    7321 > isolde sim start /A:5-107
    7322 
    7323 Traceback (most recent call last): 
    7324 File
    7325 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7326 packages/chimerax/toolbar/tool.py", line 205, in callback 
    7327 bundle_info.run_provider(session, name, session.toolbar,
    7328 display_name=display_name) 
    7329 File
    7330 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7331 packages/chimerax/core/toolshed/info.py", line 397, in run_provider 
    7332 return api._api_caller.run_provider(api, session, name, mgr, **kw) 
    7333 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7334 File
    7335 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7336 packages/chimerax/core/toolshed/__init__.py", line 1302, in run_provider 
    7337 return cls._get_func(api, "run_provider")(session, name, mgr, **kw) 
    7338 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7339 File "/Users/sahmed08/Library/Application
    7340 Support/ChimeraX/1.7/lib/python/site-packages/chimerax/isolde/__init__.py",
    7341 line 183, in run_provider 
    7342 toolbar_command(session, name) 
    7343 File "/Users/sahmed08/Library/Application
    7344 Support/ChimeraX/1.7/lib/python/site-packages/chimerax/isolde/toolbar.py",
    7345 line 21, in toolbar_command 
    7346 run(session, f'isolde sim start {_current_residue_sel_string(session)}') 
    7347 File
    7348 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7349 packages/chimerax/core/commands/run.py", line 49, in run 
    7350 results = command.run(text, log=log, return_json=return_json) 
    7351 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7352 File
    7353 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7354 packages/chimerax/core/commands/cli.py", line 2908, in run 
    7355 result = ci.function(session, **kw_args) 
    7356 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7357 File "/Users/sahmed08/Library/Application
    7358 Support/ChimeraX/1.7/lib/python/site-packages/chimerax/isolde/cmd/cmd.py",
    7359 line 122, in isolde_sim 
    7360 isolde.start_sim() 
    7361 File "/Users/sahmed08/Library/Application
    7362 Support/ChimeraX/1.7/lib/python/site-packages/chimerax/isolde/isolde.py", line
    7363 896, in start_sim 
    7364 sm.start_sim() 
    7365 File "/Users/sahmed08/Library/Application
    7366 Support/ChimeraX/1.7/lib/python/site-
    7367 packages/chimerax/isolde/openmm/openmm_interface.py", line 401, in start_sim 
    7368 sh.start_sim() 
    7369 File "/Users/sahmed08/Library/Application
    7370 Support/ChimeraX/1.7/lib/python/site-
    7371 packages/chimerax/isolde/openmm/openmm_interface.py", line 1432, in start_sim 
    7372 self._prepare_sim() 
    7373 File "/Users/sahmed08/Library/Application
    7374 Support/ChimeraX/1.7/lib/python/site-
    7375 packages/chimerax/isolde/openmm/openmm_interface.py", line 1377, in
    7376 _prepare_sim 
    7377 s = self._simulation = app.Simulation(self.topology, self._system, 
    7378 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7379 File
    7380 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7381 packages/openmm/app/simulation.py", line 103, in __init__ 
    7382 self.context = mm.Context(self.system, self.integrator, platform,
    7383 platformProperties) 
    7384 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7385 File
    7386 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    7387 packages/openmm/openmm.py", line 2469, in __init__ 
    7388 _openmm.Context_swiginit(self, _openmm.new_Context(*args)) 
    7389 ^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    7390 openmm.OpenMMException: Error compiling kernel: program_source:279:1: error:
    7391 illegal string literal in 'asm' 
    7392 DECLARE_REDUCTION_BASE(sum) 
    7393 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7394 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7395 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7396 
    7397 program_source:263:44: note: expanded from macro '\ 
    7398 DECLARE_I_REDUCTION_BASE' 
    7399 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7400 
    7401 program_source:217:40: note: expanded from macro '\ 
    7402 EXPOSE_FUNCTION_I_ARGS_1' 
    7403 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7404 
    7405 program_source:164:9: note: expanded from macro '\ 
    7406 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7407 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7408 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7409 program_source:279:1: error: illegal string literal in 'asm' 
    7410 DECLARE_REDUCTION_BASE(sum) 
    7411 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7412 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7413 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7414 
    7415 program_source:263:44: note: expanded from macro '\ 
    7416 DECLARE_I_REDUCTION_BASE' 
    7417 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7418 
    7419 program_source:218:51: note: expanded from macro '\ 
    7420 EXPOSE_FUNCTION_I_ARGS_1' 
    7421 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7422 
    7423 program_source:164:9: note: expanded from macro '\ 
    7424 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7425 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7426 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7427 program_source:279:1: error: illegal string literal in 'asm' 
    7428 DECLARE_REDUCTION_BASE(sum) 
    7429 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7430 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7431 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7432 
    7433 program_source:264:43: note: expanded from macro '\ 
    7434 DECLARE_I_REDUCTION_BASE' 
    7435 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7436 
    7437 program_source:217:40: note: expanded from macro '\ 
    7438 EXPOSE_FUNCTION_I_ARGS_1' 
    7439 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7440 
    7441 program_source:164:9: note: expanded from macro '\ 
    7442 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7443 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7444 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7445 program_source:279:1: error: illegal string literal in 'asm' 
    7446 DECLARE_REDUCTION_BASE(sum) 
    7447 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7448 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7449 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7450 
    7451 program_source:264:43: note: expanded from macro '\ 
    7452 DECLARE_I_REDUCTION_BASE' 
    7453 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7454 
    7455 program_source:218:51: note: expanded from macro '\ 
    7456 EXPOSE_FUNCTION_I_ARGS_1' 
    7457 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7458 
    7459 program_source:164:9: note: expanded from macro '\ 
    7460 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7461 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7462 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7463 program_source:279:1: error: illegal string literal in 'asm' 
    7464 DECLARE_REDUCTION_BASE(sum) 
    7465 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7466 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7467 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7468 
    7469 program_source:267:44: note: expanded from macro '\ 
    7470 DECLARE_F_REDUCTION_BASE' 
    7471 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    7472 
    7473 program_source:221:40: note: expanded from macro '\ 
    7474 EXPOSE_FUNCTION_F_ARGS_1' 
    7475 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7476 
    7477 program_source:164:9: note: expanded from macro '\ 
    7478 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7479 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7480 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7481 program_source:279:1: error: illegal string literal in 'asm' 
    7482 DECLARE_REDUCTION_BASE(sum) 
    7483 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7484 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7485 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7486 
    7487 program_source:268:43: note: expanded from macro '\ 
    7488 DECLARE_F_REDUCTION_BASE' 
    7489 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    7490 
    7491 program_source:221:40: note: expanded from macro '\ 
    7492 EXPOSE_FUNCTION_F_ARGS_1' 
    7493 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7494 
    7495 program_source:164:9: note: expanded from macro '\ 
    7496 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7497 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7498 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7499 program_source:280:1: error: illegal string literal in 'asm' 
    7500 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7501 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7502 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7503 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7504 
    7505 program_source:263:44: note: expanded from macro '\ 
    7506 DECLARE_I_REDUCTION_BASE' 
    7507 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7508 
    7509 program_source:217:40: note: expanded from macro '\ 
    7510 EXPOSE_FUNCTION_I_ARGS_1' 
    7511 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7512 
    7513 program_source:164:9: note: expanded from macro '\ 
    7514 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7515 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7516 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7517 program_source:280:1: error: illegal string literal in 'asm' 
    7518 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7519 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7520 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7521 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7522 
    7523 program_source:263:44: note: expanded from macro '\ 
    7524 DECLARE_I_REDUCTION_BASE' 
    7525 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7526 
    7527 program_source:218:51: note: expanded from macro '\ 
    7528 EXPOSE_FUNCTION_I_ARGS_1' 
    7529 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7530 
    7531 program_source:164:9: note: expanded from macro '\ 
    7532 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7533 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7534 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7535 program_source:280:1: error: illegal string literal in 'asm' 
    7536 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7537 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7538 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7539 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7540 
    7541 program_source:264:43: note: expanded from macro '\ 
    7542 DECLARE_I_REDUCTION_BASE' 
    7543 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7544 
    7545 program_source:217:40: note: expanded from macro '\ 
    7546 EXPOSE_FUNCTION_I_ARGS_1' 
    7547 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7548 
    7549 program_source:164:9: note: expanded from macro '\ 
    7550 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7551 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7552 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7553 program_source:280:1: error: illegal string literal in 'asm' 
    7554 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7555 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7556 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7557 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7558 
    7559 program_source:264:43: note: expanded from macro '\ 
    7560 DECLARE_I_REDUCTION_BASE' 
    7561 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7562 
    7563 program_source:218:51: note: expanded from macro '\ 
    7564 EXPOSE_FUNCTION_I_ARGS_1' 
    7565 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7566 
    7567 program_source:164:9: note: expanded from macro '\ 
    7568 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7569 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7570 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7571 program_source:280:1: error: illegal string literal in 'asm' 
    7572 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7573 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7574 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7575 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7576 
    7577 program_source:267:44: note: expanded from macro '\ 
    7578 DECLARE_F_REDUCTION_BASE' 
    7579 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    7580 
    7581 program_source:221:40: note: expanded from macro '\ 
    7582 EXPOSE_FUNCTION_F_ARGS_1' 
    7583 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7584 
    7585 program_source:164:9: note: expanded from macro '\ 
    7586 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7587 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7588 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7589 program_source:280:1: error: illegal string literal in 'asm' 
    7590 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    7591 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7592 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7593 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7594 
    7595 program_source:268:43: note: expanded from macro '\ 
    7596 DECLARE_F_REDUCTION_BASE' 
    7597 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    7598 
    7599 program_source:221:40: note: expanded from macro '\ 
    7600 EXPOSE_FUNCTION_F_ARGS_1' 
    7601 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7602 
    7603 program_source:164:9: note: expanded from macro '\ 
    7604 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7605 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7606 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7607 program_source:281:1: error: illegal string literal in 'asm' 
    7608 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7609 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7610 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7611 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7612 
    7613 program_source:263:44: note: expanded from macro '\ 
    7614 DECLARE_I_REDUCTION_BASE' 
    7615 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7616 
    7617 program_source:217:40: note: expanded from macro '\ 
    7618 EXPOSE_FUNCTION_I_ARGS_1' 
    7619 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7620 
    7621 program_source:164:9: note: expanded from macro '\ 
    7622 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7623 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7624 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7625 program_source:281:1: error: illegal string literal in 'asm' 
    7626 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7627 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7628 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7629 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7630 
    7631 program_source:263:44: note: expanded from macro '\ 
    7632 DECLARE_I_REDUCTION_BASE' 
    7633 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7634 
    7635 program_source:218:51: note: expanded from macro '\ 
    7636 EXPOSE_FUNCTION_I_ARGS_1' 
    7637 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7638 
    7639 program_source:164:9: note: expanded from macro '\ 
    7640 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7641 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7642 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7643 program_source:281:1: error: illegal string literal in 'asm' 
    7644 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7645 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7646 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7647 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7648 
    7649 program_source:264:43: note: expanded from macro '\ 
    7650 DECLARE_I_REDUCTION_BASE' 
    7651 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7652 
    7653 program_source:217:40: note: expanded from macro '\ 
    7654 EXPOSE_FUNCTION_I_ARGS_1' 
    7655 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7656 
    7657 program_source:164:9: note: expanded from macro '\ 
    7658 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7659 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7660 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7661 program_source:281:1: error: illegal string literal in 'asm' 
    7662 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7663 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7664 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7665 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7666 
    7667 program_source:264:43: note: expanded from macro '\ 
    7668 DECLARE_I_REDUCTION_BASE' 
    7669 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7670 
    7671 program_source:218:51: note: expanded from macro '\ 
    7672 EXPOSE_FUNCTION_I_ARGS_1' 
    7673 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7674 
    7675 program_source:164:9: note: expanded from macro '\ 
    7676 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7677 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7678 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7679 program_source:281:1: error: illegal string literal in 'asm' 
    7680 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7681 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7682 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7683 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7684 
    7685 program_source:267:44: note: expanded from macro '\ 
    7686 DECLARE_F_REDUCTION_BASE' 
    7687 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    7688 
    7689 program_source:221:40: note: expanded from macro '\ 
    7690 EXPOSE_FUNCTION_F_ARGS_1' 
    7691 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7692 
    7693 program_source:164:9: note: expanded from macro '\ 
    7694 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7695 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7696 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7697 program_source:281:1: error: illegal string literal in 'asm' 
    7698 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    7699 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7700 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7701 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7702 
    7703 program_source:268:43: note: expanded from macro '\ 
    7704 DECLARE_F_REDUCTION_BASE' 
    7705 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    7706 
    7707 program_source:221:40: note: expanded from macro '\ 
    7708 EXPOSE_FUNCTION_F_ARGS_1' 
    7709 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7710 
    7711 program_source:164:9: note: expanded from macro '\ 
    7712 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7713 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7714 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7715 program_source:282:1: error: illegal string literal in 'asm' 
    7716 DECLARE_REDUCTION_BASE(min) 
    7717 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7718 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7719 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7720 
    7721 program_source:263:44: note: expanded from macro '\ 
    7722 DECLARE_I_REDUCTION_BASE' 
    7723 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7724 
    7725 program_source:217:40: note: expanded from macro '\ 
    7726 EXPOSE_FUNCTION_I_ARGS_1' 
    7727 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7728 
    7729 program_source:164:9: note: expanded from macro '\ 
    7730 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7731 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7732 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7733 program_source:282:1: error: illegal string literal in 'asm' 
    7734 DECLARE_REDUCTION_BASE(min) 
    7735 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7736 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7737 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7738 
    7739 program_source:263:44: note: expanded from macro '\ 
    7740 DECLARE_I_REDUCTION_BASE' 
    7741 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7742 
    7743 program_source:218:51: note: expanded from macro '\ 
    7744 EXPOSE_FUNCTION_I_ARGS_1' 
    7745 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7746 
    7747 program_source:164:9: note: expanded from macro '\ 
    7748 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7749 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7750 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7751 program_source:282:1: error: illegal string literal in 'asm' 
    7752 DECLARE_REDUCTION_BASE(min) 
    7753 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7754 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7755 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7756 
    7757 program_source:264:43: note: expanded from macro '\ 
    7758 DECLARE_I_REDUCTION_BASE' 
    7759 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7760 
    7761 program_source:217:40: note: expanded from macro '\ 
    7762 EXPOSE_FUNCTION_I_ARGS_1' 
    7763 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7764 
    7765 program_source:164:9: note: expanded from macro '\ 
    7766 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7767 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7768 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7769 program_source:282:1: error: illegal string literal in 'asm' 
    7770 DECLARE_REDUCTION_BASE(min) 
    7771 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7772 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7773 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7774 
    7775 program_source:264:43: note: expanded from macro '\ 
    7776 DECLARE_I_REDUCTION_BASE' 
    7777 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7778 
    7779 program_source:218:51: note: expanded from macro '\ 
    7780 EXPOSE_FUNCTION_I_ARGS_1' 
    7781 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7782 
    7783 program_source:164:9: note: expanded from macro '\ 
    7784 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7785 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7786 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7787 program_source:282:1: error: illegal string literal in 'asm' 
    7788 DECLARE_REDUCTION_BASE(min) 
    7789 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7790 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7791 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7792 
    7793 program_source:267:44: note: expanded from macro '\ 
    7794 DECLARE_F_REDUCTION_BASE' 
    7795 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    7796 
    7797 program_source:221:40: note: expanded from macro '\ 
    7798 EXPOSE_FUNCTION_F_ARGS_1' 
    7799 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7800 
    7801 program_source:164:9: note: expanded from macro '\ 
    7802 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7803 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7804 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7805 program_source:282:1: error: illegal string literal in 'asm' 
    7806 DECLARE_REDUCTION_BASE(min) 
    7807 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7808 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7809 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7810 
    7811 program_source:268:43: note: expanded from macro '\ 
    7812 DECLARE_F_REDUCTION_BASE' 
    7813 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    7814 
    7815 program_source:221:40: note: expanded from macro '\ 
    7816 EXPOSE_FUNCTION_F_ARGS_1' 
    7817 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7818 
    7819 program_source:164:9: note: expanded from macro '\ 
    7820 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7821 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7822 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7823 program_source:283:1: error: illegal string literal in 'asm' 
    7824 DECLARE_REDUCTION_BASE(max) 
    7825 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7826 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7827 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7828 
    7829 program_source:263:44: note: expanded from macro '\ 
    7830 DECLARE_I_REDUCTION_BASE' 
    7831 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7832 
    7833 program_source:217:40: note: expanded from macro '\ 
    7834 EXPOSE_FUNCTION_I_ARGS_1' 
    7835 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7836 
    7837 program_source:164:9: note: expanded from macro '\ 
    7838 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7839 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7840 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7841 program_source:283:1: error: illegal string literal in 'asm' 
    7842 DECLARE_REDUCTION_BASE(max) 
    7843 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7844 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7845 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7846 
    7847 program_source:263:44: note: expanded from macro '\ 
    7848 DECLARE_I_REDUCTION_BASE' 
    7849 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7850 
    7851 program_source:218:51: note: expanded from macro '\ 
    7852 EXPOSE_FUNCTION_I_ARGS_1' 
    7853 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7854 
    7855 program_source:164:9: note: expanded from macro '\ 
    7856 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7857 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7858 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7859 program_source:283:1: error: illegal string literal in 'asm' 
    7860 DECLARE_REDUCTION_BASE(max) 
    7861 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7862 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7863 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7864 
    7865 program_source:264:43: note: expanded from macro '\ 
    7866 DECLARE_I_REDUCTION_BASE' 
    7867 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7868 
    7869 program_source:217:40: note: expanded from macro '\ 
    7870 EXPOSE_FUNCTION_I_ARGS_1' 
    7871 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7872 
    7873 program_source:164:9: note: expanded from macro '\ 
    7874 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7875 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7876 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7877 program_source:283:1: error: illegal string literal in 'asm' 
    7878 DECLARE_REDUCTION_BASE(max) 
    7879 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7880 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7881 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7882 
    7883 program_source:264:43: note: expanded from macro '\ 
    7884 DECLARE_I_REDUCTION_BASE' 
    7885 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7886 
    7887 program_source:218:51: note: expanded from macro '\ 
    7888 EXPOSE_FUNCTION_I_ARGS_1' 
    7889 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7890 
    7891 program_source:164:9: note: expanded from macro '\ 
    7892 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7893 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7894 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7895 program_source:283:1: error: illegal string literal in 'asm' 
    7896 DECLARE_REDUCTION_BASE(max) 
    7897 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7898 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7899 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7900 
    7901 program_source:267:44: note: expanded from macro '\ 
    7902 DECLARE_F_REDUCTION_BASE' 
    7903 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    7904 
    7905 program_source:221:40: note: expanded from macro '\ 
    7906 EXPOSE_FUNCTION_F_ARGS_1' 
    7907 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7908 
    7909 program_source:164:9: note: expanded from macro '\ 
    7910 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7911 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7912 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7913 program_source:283:1: error: illegal string literal in 'asm' 
    7914 DECLARE_REDUCTION_BASE(max) 
    7915 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7916 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7917 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7918 
    7919 program_source:268:43: note: expanded from macro '\ 
    7920 DECLARE_F_REDUCTION_BASE' 
    7921 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    7922 
    7923 program_source:221:40: note: expanded from macro '\ 
    7924 EXPOSE_FUNCTION_F_ARGS_1' 
    7925 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    7926 
    7927 program_source:164:9: note: expanded from macro '\ 
    7928 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7929 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7930 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7931 program_source:285:1: error: illegal string literal in 'asm' 
    7932 DECLARE_REDUCTION_BASE(product) 
    7933 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7934 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7935 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7936 
    7937 program_source:263:44: note: expanded from macro '\ 
    7938 DECLARE_I_REDUCTION_BASE' 
    7939 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7940 
    7941 program_source:217:40: note: expanded from macro '\ 
    7942 EXPOSE_FUNCTION_I_ARGS_1' 
    7943 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7944 
    7945 program_source:164:9: note: expanded from macro '\ 
    7946 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7947 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7948 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7949 program_source:285:1: error: illegal string literal in 'asm' 
    7950 DECLARE_REDUCTION_BASE(product) 
    7951 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7952 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7953 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7954 
    7955 program_source:263:44: note: expanded from macro '\ 
    7956 DECLARE_I_REDUCTION_BASE' 
    7957 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    7958 
    7959 program_source:218:51: note: expanded from macro '\ 
    7960 EXPOSE_FUNCTION_I_ARGS_1' 
    7961 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7962 
    7963 program_source:164:9: note: expanded from macro '\ 
    7964 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7965 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7966 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7967 program_source:285:1: error: illegal string literal in 'asm' 
    7968 DECLARE_REDUCTION_BASE(product) 
    7969 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7970 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7971 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7972 
    7973 program_source:264:43: note: expanded from macro '\ 
    7974 DECLARE_I_REDUCTION_BASE' 
    7975 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7976 
    7977 program_source:217:40: note: expanded from macro '\ 
    7978 EXPOSE_FUNCTION_I_ARGS_1' 
    7979 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    7980 
    7981 program_source:164:9: note: expanded from macro '\ 
    7982 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    7983 __asm("air." #EXPR "." #AIR_TYPE); \ 
    7984 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7985 program_source:285:1: error: illegal string literal in 'asm' 
    7986 DECLARE_REDUCTION_BASE(product) 
    7987 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7988 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    7989 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    7990 
    7991 program_source:264:43: note: expanded from macro '\ 
    7992 DECLARE_I_REDUCTION_BASE' 
    7993 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    7994 
    7995 program_source:218:51: note: expanded from macro '\ 
    7996 EXPOSE_FUNCTION_I_ARGS_1' 
    7997 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    7998 
    7999 program_source:164:9: note: expanded from macro '\ 
    8000 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8001 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8002 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8003 program_source:285:1: error: illegal string literal in 'asm' 
    8004 DECLARE_REDUCTION_BASE(product) 
    8005 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8006 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8007 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8008 
    8009 program_source:267:44: note: expanded from macro '\ 
    8010 DECLARE_F_REDUCTION_BASE' 
    8011 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8012 
    8013 program_source:221:40: note: expanded from macro '\ 
    8014 EXPOSE_FUNCTION_F_ARGS_1' 
    8015 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8016 
    8017 program_source:164:9: note: expanded from macro '\ 
    8018 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8019 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8020 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8021 program_source:285:1: error: illegal string literal in 'asm' 
    8022 DECLARE_REDUCTION_BASE(product) 
    8023 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8024 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8025 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8026 
    8027 program_source:268:43: note: expanded from macro '\ 
    8028 DECLARE_F_REDUCTION_BASE' 
    8029 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8030 
    8031 program_source:221:40: note: expanded from macro '\ 
    8032 EXPOSE_FUNCTION_F_ARGS_1' 
    8033 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8034 
    8035 program_source:164:9: note: expanded from macro '\ 
    8036 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8037 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8038 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8039 program_source:286:1: error: illegal string literal in 'asm' 
    8040 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8041 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8042 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8043 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8044 
    8045 program_source:263:44: note: expanded from macro '\ 
    8046 DECLARE_I_REDUCTION_BASE' 
    8047 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8048 
    8049 program_source:217:40: note: expanded from macro '\ 
    8050 EXPOSE_FUNCTION_I_ARGS_1' 
    8051 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8052 
    8053 program_source:164:9: note: expanded from macro '\ 
    8054 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8055 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8056 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8057 program_source:286:1: error: illegal string literal in 'asm' 
    8058 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8059 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8060 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8061 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8062 
    8063 program_source:263:44: note: expanded from macro '\ 
    8064 DECLARE_I_REDUCTION_BASE' 
    8065 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8066 
    8067 program_source:218:51: note: expanded from macro '\ 
    8068 EXPOSE_FUNCTION_I_ARGS_1' 
    8069 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8070 
    8071 program_source:164:9: note: expanded from macro '\ 
    8072 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8073 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8074 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8075 program_source:286:1: error: illegal string literal in 'asm' 
    8076 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8077 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8078 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8079 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8080 
    8081 program_source:264:43: note: expanded from macro '\ 
    8082 DECLARE_I_REDUCTION_BASE' 
    8083 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8084 
    8085 program_source:217:40: note: expanded from macro '\ 
    8086 EXPOSE_FUNCTION_I_ARGS_1' 
    8087 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8088 
    8089 program_source:164:9: note: expanded from macro '\ 
    8090 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8091 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8092 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8093 program_source:286:1: error: illegal string literal in 'asm' 
    8094 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8095 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8096 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8097 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8098 
    8099 program_source:264:43: note: expanded from macro '\ 
    8100 DECLARE_I_REDUCTION_BASE' 
    8101 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8102 
    8103 program_source:218:51: note: expanded from macro '\ 
    8104 EXPOSE_FUNCTION_I_ARGS_1' 
    8105 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8106 
    8107 program_source:164:9: note: expanded from macro '\ 
    8108 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8109 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8110 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8111 program_source:286:1: error: illegal string literal in 'asm' 
    8112 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8113 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8114 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8115 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8116 
    8117 program_source:267:44: note: expanded from macro '\ 
    8118 DECLARE_F_REDUCTION_BASE' 
    8119 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8120 
    8121 program_source:221:40: note: expanded from macro '\ 
    8122 EXPOSE_FUNCTION_F_ARGS_1' 
    8123 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8124 
    8125 program_source:164:9: note: expanded from macro '\ 
    8126 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8127 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8128 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8129 program_source:286:1: error: illegal string literal in 'asm' 
    8130 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    8131 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8132 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8133 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8134 
    8135 program_source:268:43: note: expanded from macro '\ 
    8136 DECLARE_F_REDUCTION_BASE' 
    8137 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8138 
    8139 program_source:221:40: note: expanded from macro '\ 
    8140 EXPOSE_FUNCTION_F_ARGS_1' 
    8141 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8142 
    8143 program_source:164:9: note: expanded from macro '\ 
    8144 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8145 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8146 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8147 program_source:287:1: error: illegal string literal in 'asm' 
    8148 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8149 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8150 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8151 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8152 
    8153 program_source:263:44: note: expanded from macro '\ 
    8154 DECLARE_I_REDUCTION_BASE' 
    8155 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8156 
    8157 program_source:217:40: note: expanded from macro '\ 
    8158 EXPOSE_FUNCTION_I_ARGS_1' 
    8159 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8160 
    8161 program_source:164:9: note: expanded from macro '\ 
    8162 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8163 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8164 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8165 program_source:287:1: error: illegal string literal in 'asm' 
    8166 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8167 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8168 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8169 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8170 
    8171 program_source:263:44: note: expanded from macro '\ 
    8172 DECLARE_I_REDUCTION_BASE' 
    8173 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8174 
    8175 program_source:218:51: note: expanded from macro '\ 
    8176 EXPOSE_FUNCTION_I_ARGS_1' 
    8177 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8178 
    8179 program_source:164:9: note: expanded from macro '\ 
    8180 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8181 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8182 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8183 program_source:287:1: error: illegal string literal in 'asm' 
    8184 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8185 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8186 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8187 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8188 
    8189 program_source:264:43: note: expanded from macro '\ 
    8190 DECLARE_I_REDUCTION_BASE' 
    8191 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8192 
    8193 program_source:217:40: note: expanded from macro '\ 
    8194 EXPOSE_FUNCTION_I_ARGS_1' 
    8195 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8196 
    8197 program_source:164:9: note: expanded from macro '\ 
    8198 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8199 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8200 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8201 program_source:287:1: error: illegal string literal in 'asm' 
    8202 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8203 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8204 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8205 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8206 
    8207 program_source:264:43: note: expanded from macro '\ 
    8208 DECLARE_I_REDUCTION_BASE' 
    8209 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8210 
    8211 program_source:218:51: note: expanded from macro '\ 
    8212 EXPOSE_FUNCTION_I_ARGS_1' 
    8213 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8214 
    8215 program_source:164:9: note: expanded from macro '\ 
    8216 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8217 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8218 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8219 program_source:287:1: error: illegal string literal in 'asm' 
    8220 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8221 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8222 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8223 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8224 
    8225 program_source:267:44: note: expanded from macro '\ 
    8226 DECLARE_F_REDUCTION_BASE' 
    8227 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8228 
    8229 program_source:221:40: note: expanded from macro '\ 
    8230 EXPOSE_FUNCTION_F_ARGS_1' 
    8231 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8232 
    8233 program_source:164:9: note: expanded from macro '\ 
    8234 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8235 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8236 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8237 program_source:287:1: error: illegal string literal in 'asm' 
    8238 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    8239 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8240 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8241 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8242 
    8243 program_source:268:43: note: expanded from macro '\ 
    8244 DECLARE_F_REDUCTION_BASE' 
    8245 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8246 
    8247 program_source:221:40: note: expanded from macro '\ 
    8248 EXPOSE_FUNCTION_F_ARGS_1' 
    8249 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8250 
    8251 program_source:164:9: note: expanded from macro '\ 
    8252 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8253 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8254 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8255 program_source:288:1: error: illegal string literal in 'asm' 
    8256 DECLARE_I_REDUCTION_BASE(and) 
    8257 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8258 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8259 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8260 
    8261 program_source:217:40: note: expanded from macro '\ 
    8262 EXPOSE_FUNCTION_I_ARGS_1' 
    8263 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8264 
    8265 program_source:164:9: note: expanded from macro '\ 
    8266 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8267 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8268 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8269 program_source:288:1: error: illegal string literal in 'asm' 
    8270 DECLARE_I_REDUCTION_BASE(and) 
    8271 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8272 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8273 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8274 
    8275 program_source:218:51: note: expanded from macro '\ 
    8276 EXPOSE_FUNCTION_I_ARGS_1' 
    8277 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8278 
    8279 program_source:164:9: note: expanded from macro '\ 
    8280 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8281 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8282 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8283 program_source:288:1: error: illegal string literal in 'asm' 
    8284 DECLARE_I_REDUCTION_BASE(and) 
    8285 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8286 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8287 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8288 
    8289 program_source:217:40: note: expanded from macro '\ 
    8290 EXPOSE_FUNCTION_I_ARGS_1' 
    8291 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8292 
    8293 program_source:164:9: note: expanded from macro '\ 
    8294 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8295 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8296 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8297 program_source:288:1: error: illegal string literal in 'asm' 
    8298 DECLARE_I_REDUCTION_BASE(and) 
    8299 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8300 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8301 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8302 
    8303 program_source:218:51: note: expanded from macro '\ 
    8304 EXPOSE_FUNCTION_I_ARGS_1' 
    8305 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8306 
    8307 program_source:164:9: note: expanded from macro '\ 
    8308 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8309 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8310 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8311 program_source:289:1: error: illegal string literal in 'asm' 
    8312 DECLARE_I_REDUCTION_BASE(or) 
    8313 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8314 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8315 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8316 
    8317 program_source:217:40: note: expanded from macro '\ 
    8318 EXPOSE_FUNCTION_I_ARGS_1' 
    8319 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8320 
    8321 program_source:164:9: note: expanded from macro '\ 
    8322 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8323 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8324 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8325 program_source:289:1: error: illegal string literal in 'asm' 
    8326 DECLARE_I_REDUCTION_BASE(or) 
    8327 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8328 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8329 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8330 
    8331 program_source:218:51: note: expanded from macro '\ 
    8332 EXPOSE_FUNCTION_I_ARGS_1' 
    8333 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8334 
    8335 program_source:164:9: note: expanded from macro '\ 
    8336 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8337 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8338 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8339 program_source:289:1: error: illegal string literal in 'asm' 
    8340 DECLARE_I_REDUCTION_BASE(or) 
    8341 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8342 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8343 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8344 
    8345 program_source:217:40: note: expanded from macro '\ 
    8346 EXPOSE_FUNCTION_I_ARGS_1' 
    8347 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8348 
    8349 program_source:164:9: note: expanded from macro '\ 
    8350 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8351 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8352 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8353 program_source:289:1: error: illegal string literal in 'asm' 
    8354 DECLARE_I_REDUCTION_BASE(or) 
    8355 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8356 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8357 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8358 
    8359 program_source:218:51: note: expanded from macro '\ 
    8360 EXPOSE_FUNCTION_I_ARGS_1' 
    8361 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8362 
    8363 program_source:164:9: note: expanded from macro '\ 
    8364 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8365 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8366 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8367 program_source:290:1: error: illegal string literal in 'asm' 
    8368 DECLARE_I_REDUCTION_BASE(xor) 
    8369 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8370 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8371 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8372 
    8373 program_source:217:40: note: expanded from macro '\ 
    8374 EXPOSE_FUNCTION_I_ARGS_1' 
    8375 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8376 
    8377 program_source:164:9: note: expanded from macro '\ 
    8378 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8379 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8380 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8381 program_source:290:1: error: illegal string literal in 'asm' 
    8382 DECLARE_I_REDUCTION_BASE(xor) 
    8383 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8384 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8385 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8386 
    8387 program_source:218:51: note: expanded from macro '\ 
    8388 EXPOSE_FUNCTION_I_ARGS_1' 
    8389 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8390 
    8391 program_source:164:9: note: expanded from macro '\ 
    8392 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8393 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8394 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8395 program_source:290:1: error: illegal string literal in 'asm' 
    8396 DECLARE_I_REDUCTION_BASE(xor) 
    8397 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8398 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8399 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8400 
    8401 program_source:217:40: note: expanded from macro '\ 
    8402 EXPOSE_FUNCTION_I_ARGS_1' 
    8403 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8404 
    8405 program_source:164:9: note: expanded from macro '\ 
    8406 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8407 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8408 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8409 program_source:290:1: error: illegal string literal in 'asm' 
    8410 DECLARE_I_REDUCTION_BASE(xor) 
    8411 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8412 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    8413 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8414 
    8415 program_source:218:51: note: expanded from macro '\ 
    8416 EXPOSE_FUNCTION_I_ARGS_1' 
    8417 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8418 
    8419 program_source:164:9: note: expanded from macro '\ 
    8420 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8421 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8422 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8423 program_source:292:1: error: illegal string literal in 'asm' 
    8424 DECLARE_SHUFFLE_BASE(broadcast) 
    8425 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8426 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8427 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8428 
    8429 program_source:224:38: note: expanded from macro '\ 
    8430 EXPOSE_FUNCTION_ARGS_2' 
    8431 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8432 
    8433 program_source:168:9: note: expanded from macro '\ 
    8434 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8435 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8436 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8437 program_source:292:1: error: illegal string literal in 'asm' 
    8438 DECLARE_SHUFFLE_BASE(broadcast) 
    8439 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8440 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8441 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8442 
    8443 program_source:225:51: note: expanded from macro '\ 
    8444 EXPOSE_FUNCTION_ARGS_2' 
    8445 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8446 
    8447 program_source:168:9: note: expanded from macro '\ 
    8448 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8449 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8450 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8451 program_source:292:1: error: illegal string literal in 'asm' 
    8452 DECLARE_SHUFFLE_BASE(broadcast) 
    8453 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8454 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8455 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8456 
    8457 program_source:226:52: note: expanded from macro '\ 
    8458 EXPOSE_FUNCTION_ARGS_2' 
    8459 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8460 
    8461 program_source:168:9: note: expanded from macro '\ 
    8462 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8463 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8464 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8465 program_source:292:1: error: illegal string literal in 'asm' 
    8466 DECLARE_SHUFFLE_BASE(broadcast) 
    8467 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8468 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8469 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8470 
    8471 program_source:224:38: note: expanded from macro '\ 
    8472 EXPOSE_FUNCTION_ARGS_2' 
    8473 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8474 
    8475 program_source:168:9: note: expanded from macro '\ 
    8476 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8477 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8478 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8479 program_source:292:1: error: illegal string literal in 'asm' 
    8480 DECLARE_SHUFFLE_BASE(broadcast) 
    8481 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8482 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8483 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8484 
    8485 program_source:225:51: note: expanded from macro '\ 
    8486 EXPOSE_FUNCTION_ARGS_2' 
    8487 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8488 
    8489 program_source:168:9: note: expanded from macro '\ 
    8490 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8491 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8492 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8493 program_source:292:1: error: illegal string literal in 'asm' 
    8494 DECLARE_SHUFFLE_BASE(broadcast) 
    8495 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8496 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8497 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8498 
    8499 program_source:226:52: note: expanded from macro '\ 
    8500 EXPOSE_FUNCTION_ARGS_2' 
    8501 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8502 
    8503 program_source:168:9: note: expanded from macro '\ 
    8504 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8505 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8506 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8507 program_source:293:1: error: illegal string literal in 'asm' 
    8508 DECLARE_REDUCTION_BASE(broadcast_first) 
    8509 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8510 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8511 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8512 
    8513 program_source:263:44: note: expanded from macro '\ 
    8514 DECLARE_I_REDUCTION_BASE' 
    8515 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8516 
    8517 program_source:217:40: note: expanded from macro '\ 
    8518 EXPOSE_FUNCTION_I_ARGS_1' 
    8519 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8520 
    8521 program_source:164:9: note: expanded from macro '\ 
    8522 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8523 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8524 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8525 program_source:293:1: error: illegal string literal in 'asm' 
    8526 DECLARE_REDUCTION_BASE(broadcast_first) 
    8527 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8528 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8529 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8530 
    8531 program_source:263:44: note: expanded from macro '\ 
    8532 DECLARE_I_REDUCTION_BASE' 
    8533 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8534 
    8535 program_source:218:51: note: expanded from macro '\ 
    8536 EXPOSE_FUNCTION_I_ARGS_1' 
    8537 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8538 
    8539 program_source:164:9: note: expanded from macro '\ 
    8540 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8541 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8542 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8543 program_source:293:1: error: illegal string literal in 'asm' 
    8544 DECLARE_REDUCTION_BASE(broadcast_first) 
    8545 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8546 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8547 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8548 
    8549 program_source:264:43: note: expanded from macro '\ 
    8550 DECLARE_I_REDUCTION_BASE' 
    8551 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8552 
    8553 program_source:217:40: note: expanded from macro '\ 
    8554 EXPOSE_FUNCTION_I_ARGS_1' 
    8555 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    8556 
    8557 program_source:164:9: note: expanded from macro '\ 
    8558 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8559 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8560 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8561 program_source:293:1: error: illegal string literal in 'asm' 
    8562 DECLARE_REDUCTION_BASE(broadcast_first) 
    8563 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8564 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8565 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    8566 
    8567 program_source:264:43: note: expanded from macro '\ 
    8568 DECLARE_I_REDUCTION_BASE' 
    8569 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    8570 
    8571 program_source:218:51: note: expanded from macro '\ 
    8572 EXPOSE_FUNCTION_I_ARGS_1' 
    8573 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    8574 
    8575 program_source:164:9: note: expanded from macro '\ 
    8576 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8577 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8578 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8579 program_source:293:1: error: illegal string literal in 'asm' 
    8580 DECLARE_REDUCTION_BASE(broadcast_first) 
    8581 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8582 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8583 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8584 
    8585 program_source:267:44: note: expanded from macro '\ 
    8586 DECLARE_F_REDUCTION_BASE' 
    8587 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    8588 
    8589 program_source:221:40: note: expanded from macro '\ 
    8590 EXPOSE_FUNCTION_F_ARGS_1' 
    8591 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8592 
    8593 program_source:164:9: note: expanded from macro '\ 
    8594 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8595 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8596 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8597 program_source:293:1: error: illegal string literal in 'asm' 
    8598 DECLARE_REDUCTION_BASE(broadcast_first) 
    8599 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8600 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    8601 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    8602 
    8603 program_source:268:43: note: expanded from macro '\ 
    8604 DECLARE_F_REDUCTION_BASE' 
    8605 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    8606 
    8607 program_source:221:40: note: expanded from macro '\ 
    8608 EXPOSE_FUNCTION_F_ARGS_1' 
    8609 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    8610 
    8611 program_source:164:9: note: expanded from macro '\ 
    8612 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    8613 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8614 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8615 program_source:295:1: error: illegal string literal in 'asm' 
    8616 DECLARE_SHUFFLE_BASE(shuffle) 
    8617 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8618 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8619 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8620 
    8621 program_source:224:38: note: expanded from macro '\ 
    8622 EXPOSE_FUNCTION_ARGS_2' 
    8623 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8624 
    8625 program_source:168:9: note: expanded from macro '\ 
    8626 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8627 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8628 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8629 program_source:295:1: error: illegal string literal in 'asm' 
    8630 DECLARE_SHUFFLE_BASE(shuffle) 
    8631 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8632 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8633 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8634 
    8635 program_source:225:51: note: expanded from macro '\ 
    8636 EXPOSE_FUNCTION_ARGS_2' 
    8637 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8638 
    8639 program_source:168:9: note: expanded from macro '\ 
    8640 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8641 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8642 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8643 program_source:295:1: error: illegal string literal in 'asm' 
    8644 DECLARE_SHUFFLE_BASE(shuffle) 
    8645 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8646 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8647 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8648 
    8649 program_source:226:52: note: expanded from macro '\ 
    8650 EXPOSE_FUNCTION_ARGS_2' 
    8651 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8652 
    8653 program_source:168:9: note: expanded from macro '\ 
    8654 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8655 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8656 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8657 program_source:295:1: error: illegal string literal in 'asm' 
    8658 DECLARE_SHUFFLE_BASE(shuffle) 
    8659 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8660 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8661 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8662 
    8663 program_source:224:38: note: expanded from macro '\ 
    8664 EXPOSE_FUNCTION_ARGS_2' 
    8665 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8666 
    8667 program_source:168:9: note: expanded from macro '\ 
    8668 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8669 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8670 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8671 program_source:295:1: error: illegal string literal in 'asm' 
    8672 DECLARE_SHUFFLE_BASE(shuffle) 
    8673 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8674 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8675 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8676 
    8677 program_source:225:51: note: expanded from macro '\ 
    8678 EXPOSE_FUNCTION_ARGS_2' 
    8679 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8680 
    8681 program_source:168:9: note: expanded from macro '\ 
    8682 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8683 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8684 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8685 program_source:295:1: error: illegal string literal in 'asm' 
    8686 DECLARE_SHUFFLE_BASE(shuffle) 
    8687 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8688 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8689 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8690 
    8691 program_source:226:52: note: expanded from macro '\ 
    8692 EXPOSE_FUNCTION_ARGS_2' 
    8693 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8694 
    8695 program_source:168:9: note: expanded from macro '\ 
    8696 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8697 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8698 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8699 program_source:296:1: error: illegal string literal in 'asm' 
    8700 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    8701 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8702 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8703 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8704 
    8705 program_source:224:38: note: expanded from macro '\ 
    8706 EXPOSE_FUNCTION_ARGS_2' 
    8707 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8708 
    8709 program_source:168:9: note: expanded from macro '\ 
    8710 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8711 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8712 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8713 program_source:296:1: error: illegal string literal in 'asm' 
    8714 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    8715 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8716 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8717 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8718 
    8719 program_source:225:51: note: expanded from macro '\ 
    8720 EXPOSE_FUNCTION_ARGS_2' 
    8721 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8722 
    8723 program_source:168:9: note: expanded from macro '\ 
    8724 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8725 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8726 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8727 program_source:296:1: error: illegal string literal in 'asm' 
    8728 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    8729 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8730 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8731 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8732 
    8733 program_source:226:52: note: expanded from macro '\ 
    8734 EXPOSE_FUNCTION_ARGS_2' 
    8735 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8736 
    8737 program_source:168:9: note: expanded from macro '\ 
    8738 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8739 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8740 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8741 program_source:296:1: error: illegal string literal in 'asm' 
    8742 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    8743 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8744 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8745 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8746 
    8747 program_source:224:38: note: expanded from macro '\ 
    8748 EXPOSE_FUNCTION_ARGS_2' 
    8749 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8750 
    8751 program_source:168:9: note: expanded from macro '\ 
    8752 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8753 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8754 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8755 program_source:296:1: error: illegal string literal in 'asm' 
    8756 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    8757 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8758 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8759 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8760 
    8761 program_source:225:51: note: expanded from macro '\ 
    8762 EXPOSE_FUNCTION_ARGS_2' 
    8763 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8764 
    8765 program_source:168:9: note: expanded from macro '\ 
    8766 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8767 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8768 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8769 program_source:296:1: error: illegal string literal in 'asm' 
    8770 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    8771 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8772 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8773 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8774 
    8775 program_source:226:52: note: expanded from macro '\ 
    8776 EXPOSE_FUNCTION_ARGS_2' 
    8777 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8778 
    8779 program_source:168:9: note: expanded from macro '\ 
    8780 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8781 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8782 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8783 program_source:297:1: error: illegal string literal in 'asm' 
    8784 DECLARE_SHUFFLE_BASE(shuffle_up) 
    8785 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8786 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8787 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8788 
    8789 program_source:224:38: note: expanded from macro '\ 
    8790 EXPOSE_FUNCTION_ARGS_2' 
    8791 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8792 
    8793 program_source:168:9: note: expanded from macro '\ 
    8794 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8795 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8796 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8797 program_source:297:1: error: illegal string literal in 'asm' 
    8798 DECLARE_SHUFFLE_BASE(shuffle_up) 
    8799 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8800 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8801 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8802 
    8803 program_source:225:51: note: expanded from macro '\ 
    8804 EXPOSE_FUNCTION_ARGS_2' 
    8805 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8806 
    8807 program_source:168:9: note: expanded from macro '\ 
    8808 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8809 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8810 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8811 program_source:297:1: error: illegal string literal in 'asm' 
    8812 DECLARE_SHUFFLE_BASE(shuffle_up) 
    8813 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8814 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8815 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8816 
    8817 program_source:226:52: note: expanded from macro '\ 
    8818 EXPOSE_FUNCTION_ARGS_2' 
    8819 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8820 
    8821 program_source:168:9: note: expanded from macro '\ 
    8822 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8823 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8824 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8825 program_source:297:1: error: illegal string literal in 'asm' 
    8826 DECLARE_SHUFFLE_BASE(shuffle_up) 
    8827 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8828 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8829 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8830 
    8831 program_source:224:38: note: expanded from macro '\ 
    8832 EXPOSE_FUNCTION_ARGS_2' 
    8833 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8834 
    8835 program_source:168:9: note: expanded from macro '\ 
    8836 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8837 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8838 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8839 program_source:297:1: error: illegal string literal in 'asm' 
    8840 DECLARE_SHUFFLE_BASE(shuffle_up) 
    8841 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8842 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8843 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8844 
    8845 program_source:225:51: note: expanded from macro '\ 
    8846 EXPOSE_FUNCTION_ARGS_2' 
    8847 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8848 
    8849 program_source:168:9: note: expanded from macro '\ 
    8850 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8851 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8852 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8853 program_source:297:1: error: illegal string literal in 'asm' 
    8854 DECLARE_SHUFFLE_BASE(shuffle_up) 
    8855 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8856 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8857 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8858 
    8859 program_source:226:52: note: expanded from macro '\ 
    8860 EXPOSE_FUNCTION_ARGS_2' 
    8861 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8862 
    8863 program_source:168:9: note: expanded from macro '\ 
    8864 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8865 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8866 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8867 program_source:298:1: error: illegal string literal in 'asm' 
    8868 DECLARE_SHUFFLE_BASE(shuffle_down) 
    8869 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8870 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8871 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8872 
    8873 program_source:224:38: note: expanded from macro '\ 
    8874 EXPOSE_FUNCTION_ARGS_2' 
    8875 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8876 
    8877 program_source:168:9: note: expanded from macro '\ 
    8878 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8879 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8880 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8881 program_source:298:1: error: illegal string literal in 'asm' 
    8882 DECLARE_SHUFFLE_BASE(shuffle_down) 
    8883 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8884 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8885 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8886 
    8887 program_source:225:51: note: expanded from macro '\ 
    8888 EXPOSE_FUNCTION_ARGS_2' 
    8889 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8890 
    8891 program_source:168:9: note: expanded from macro '\ 
    8892 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8893 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8894 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8895 program_source:298:1: error: illegal string literal in 'asm' 
    8896 DECLARE_SHUFFLE_BASE(shuffle_down) 
    8897 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8898 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8899 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8900 
    8901 program_source:226:52: note: expanded from macro '\ 
    8902 EXPOSE_FUNCTION_ARGS_2' 
    8903 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8904 
    8905 program_source:168:9: note: expanded from macro '\ 
    8906 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8907 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8908 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8909 program_source:298:1: error: illegal string literal in 'asm' 
    8910 DECLARE_SHUFFLE_BASE(shuffle_down) 
    8911 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8912 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8913 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8914 
    8915 program_source:224:38: note: expanded from macro '\ 
    8916 EXPOSE_FUNCTION_ARGS_2' 
    8917 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8918 
    8919 program_source:168:9: note: expanded from macro '\ 
    8920 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8921 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8922 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8923 program_source:298:1: error: illegal string literal in 'asm' 
    8924 DECLARE_SHUFFLE_BASE(shuffle_down) 
    8925 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8926 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8927 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8928 
    8929 program_source:225:51: note: expanded from macro '\ 
    8930 EXPOSE_FUNCTION_ARGS_2' 
    8931 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8932 
    8933 program_source:168:9: note: expanded from macro '\ 
    8934 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8935 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8936 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8937 program_source:298:1: error: illegal string literal in 'asm' 
    8938 DECLARE_SHUFFLE_BASE(shuffle_down) 
    8939 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8940 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8941 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8942 
    8943 program_source:226:52: note: expanded from macro '\ 
    8944 EXPOSE_FUNCTION_ARGS_2' 
    8945 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8946 
    8947 program_source:168:9: note: expanded from macro '\ 
    8948 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8949 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8950 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8951 program_source:299:1: error: illegal string literal in 'asm' 
    8952 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    8953 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8954 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8955 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8956 
    8957 program_source:224:38: note: expanded from macro '\ 
    8958 EXPOSE_FUNCTION_ARGS_2' 
    8959 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    8960 
    8961 program_source:168:9: note: expanded from macro '\ 
    8962 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8963 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8964 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8965 program_source:299:1: error: illegal string literal in 'asm' 
    8966 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    8967 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8968 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8969 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8970 
    8971 program_source:225:51: note: expanded from macro '\ 
    8972 EXPOSE_FUNCTION_ARGS_2' 
    8973 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    8974 
    8975 program_source:168:9: note: expanded from macro '\ 
    8976 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8977 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8978 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8979 program_source:299:1: error: illegal string literal in 'asm' 
    8980 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    8981 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8982 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8983 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    8984 
    8985 program_source:226:52: note: expanded from macro '\ 
    8986 EXPOSE_FUNCTION_ARGS_2' 
    8987 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    8988 
    8989 program_source:168:9: note: expanded from macro '\ 
    8990 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    8991 __asm("air." #EXPR "." #AIR_TYPE); \ 
    8992 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8993 program_source:299:1: error: illegal string literal in 'asm' 
    8994 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    8995 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8996 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    8997 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    8998 
    8999 program_source:224:38: note: expanded from macro '\ 
    9000 EXPOSE_FUNCTION_ARGS_2' 
    9001 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9002 
    9003 program_source:168:9: note: expanded from macro '\ 
    9004 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9005 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9006 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9007 program_source:299:1: error: illegal string literal in 'asm' 
    9008 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    9009 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9010 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9011 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9012 
    9013 program_source:225:51: note: expanded from macro '\ 
    9014 EXPOSE_FUNCTION_ARGS_2' 
    9015 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9016 
    9017 program_source:168:9: note: expanded from macro '\ 
    9018 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9019 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9020 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9021 program_source:299:1: error: illegal string literal in 'asm' 
    9022 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    9023 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9024 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9025 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9026 
    9027 program_source:226:52: note: expanded from macro '\ 
    9028 EXPOSE_FUNCTION_ARGS_2' 
    9029 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9030 
    9031 program_source:168:9: note: expanded from macro '\ 
    9032 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9033 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9034 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9035 program_source:300:1: error: illegal string literal in 'asm' 
    9036 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9037 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9038 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9039 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9040 
    9041 program_source:224:38: note: expanded from macro '\ 
    9042 EXPOSE_FUNCTION_ARGS_2' 
    9043 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9044 
    9045 program_source:168:9: note: expanded from macro '\ 
    9046 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9047 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9048 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9049 program_source:300:1: error: illegal string literal in 'asm' 
    9050 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9051 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9052 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9053 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9054 
    9055 program_source:225:51: note: expanded from macro '\ 
    9056 EXPOSE_FUNCTION_ARGS_2' 
    9057 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9058 
    9059 program_source:168:9: note: expanded from macro '\ 
    9060 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9061 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9062 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9063 program_source:300:1: error: illegal string literal in 'asm' 
    9064 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9065 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9066 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9067 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    9068 
    9069 program_source:226:52: note: expanded from macro '\ 
    9070 EXPOSE_FUNCTION_ARGS_2' 
    9071 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9072 
    9073 program_source:168:9: note: expanded from macro '\ 
    9074 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9075 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9076 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9077 program_source:300:1: error: illegal string literal in 'asm' 
    9078 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9079 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9080 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9081 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9082 
    9083 program_source:224:38: note: expanded from macro '\ 
    9084 EXPOSE_FUNCTION_ARGS_2' 
    9085 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    9086 
    9087 program_source:168:9: note: expanded from macro '\ 
    9088 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9089 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9090 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9091 program_source:300:1: error: illegal string literal in 'asm' 
    9092 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9093 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9094 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9095 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9096 
    9097 program_source:225:51: note: expanded from macro '\ 
    9098 EXPOSE_FUNCTION_ARGS_2' 
    9099 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    9100 
    9101 program_source:168:9: note: expanded from macro '\ 
    9102 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9103 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9104 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9105 program_source:300:1: error: illegal string literal in 'asm' 
    9106 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    9107 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9108 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    9109 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    9110 
    9111 program_source:226:52: note: expanded from macro '\ 
    9112 EXPOSE_FUNCTION_ARGS_2' 
    9113 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    9114 
    9115 program_source:168:9: note: expanded from macro '\ 
    9116 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    9117 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9118 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9119 program_source:302:1: error: illegal string literal in 'asm' 
    9120 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    9121 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9122 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    9123 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    9124 
    9125 program_source:172:9: note: expanded from macro '\ 
    9126 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    9127 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9128 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9129 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    9130 is invalid in OpenCL 
    9131 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    9132 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    9133 
    9134 program_source:175:10: note: expanded from macro '\ 
    9135 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    9136 return ___metal_##EXPR(x, false); \ 
    9137 
    9138 <scratch space>:12:1: note: expanded from here 
    9139 ___metal_ctz 
    9140 
    9141 program_source:302:1: error: illegal string literal in 'asm' 
    9142 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    9143 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9144 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    9145 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    9146 
    9147 program_source:172:9: note: expanded from macro '\ 
    9148 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    9149 __asm("air." #EXPR "." #AIR_TYPE); \ 
    9150 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    9151 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    9152 is invalid in OpenCL 
    9153 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    9154 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    9155 
    9156 program_source:175:10: note: expanded from macro '\ 
    9157 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    9158 return ___metal_##EXPR(x, false); \ 
    9159 
    9160 <scratch space>:16:1: note: expanded from here 
    9161 ___metal_ctz 
    9162 
    9163 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    9164 invalid in OpenCL 
    9165 DECLARE_REDUCTION_UNIFORM(sum, reduce_add) 
    9166 
    9167 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9168 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9169 
    9170 program_source:305:26: note: expanded from macro '\ 
    9171 DECLARE_I_REDUCTION_UNIFORM' 
    9172 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9173 
    9174 <scratch space>:17:1: note: expanded from here 
    9175 simd_sum 
    9176 
    9177 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    9178 invalid in OpenCL 
    9179 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9180 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9181 
    9182 program_source:305:26: note: expanded from macro '\ 
    9183 DECLARE_I_REDUCTION_UNIFORM' 
    9184 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9185 
    9186 <scratch space>:17:1: note: expanded from here 
    9187 simd_sum 
    9188 
    9189 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    9190 invalid in OpenCL 
    9191 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9192 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9193 
    9194 program_source:308:26: note: expanded from macro '\ 
    9195 DECLARE_F_REDUCTION_UNIFORM' 
    9196 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9197 
    9198 <scratch space>:19:1: note: expanded from here 
    9199 simd_sum 
    9200 
    9201 program_source:318:1: error: implicit declaration of function
    9202 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9203 DECLARE_REDUCTION_UNIFORM(prefix_inclusive_sum, scan_inclusive_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>:21:1: note: expanded from here 
    9213 simd_prefix_inclusive_sum 
    9214 
    9215 program_source:318:1: error: implicit declaration of function
    9216 'simd_prefix_inclusive_sum' is 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>:21:1: note: expanded from here 
    9225 simd_prefix_inclusive_sum 
    9226 
    9227 program_source:318:1: error: implicit declaration of function
    9228 'simd_prefix_inclusive_sum' is 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>:23:1: note: expanded from here 
    9237 simd_prefix_inclusive_sum 
    9238 
    9239 program_source:319:1: error: implicit declaration of function
    9240 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9241 DECLARE_REDUCTION_UNIFORM(prefix_exclusive_sum, scan_exclusive_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>:25:1: note: expanded from here 
    9251 simd_prefix_exclusive_sum 
    9252 
    9253 program_source:319:1: error: implicit declaration of function
    9254 'simd_prefix_exclusive_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>:25:1: note: expanded from here 
    9263 simd_prefix_exclusive_sum 
    9264 
    9265 program_source:319:1: error: implicit declaration of function
    9266 'simd_prefix_exclusive_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>:27:1: note: expanded from here 
    9275 simd_prefix_exclusive_sum 
    9276 
    9277 program_source:320:1: error: implicit declaration of function 'simd_min' is
    9278 invalid in OpenCL 
    9279 DECLARE_REDUCTION_UNIFORM(min, reduce_min) 
    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>:29:1: note: expanded from here 
    9289 simd_min 
    9290 
    9291 program_source:320:1: error: implicit declaration of function 'simd_min' is
    9292 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>:29:1: note: expanded from here 
    9301 simd_min 
    9302 
    9303 program_source:320:1: error: implicit declaration of function 'simd_min' is
    9304 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>:31:1: note: expanded from here 
    9313 simd_min 
    9314 
    9315 program_source:321:1: error: implicit declaration of function 'simd_max' is
    9316 invalid in OpenCL 
    9317 DECLARE_REDUCTION_UNIFORM(max, reduce_max) 
    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>:33:1: note: expanded from here 
    9327 simd_max 
    9328 
    9329 program_source:321:1: error: implicit declaration of function 'simd_max' 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>:33:1: note: expanded from here 
    9339 simd_max 
    9340 
    9341 program_source:321:1: error: implicit declaration of function 'simd_max' 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>:35:1: note: expanded from here 
    9351 simd_max 
    9352 
    9353 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    9354 is invalid in OpenCL 
    9355 DECLARE_SHUFFLE_UNIFORM(shuffle, shuffle) 
    9356 
    9357 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9358 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9359 
    9360 <scratch space>:37:1: note: expanded from here 
    9361 simd_shuffle 
    9362 
    9363 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    9364 is invalid in OpenCL 
    9365 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9366 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9367 
    9368 <scratch space>:37:1: note: expanded from here 
    9369 simd_shuffle 
    9370 
    9371 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    9372 is invalid in OpenCL 
    9373 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9374 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9375 
    9376 <scratch space>:37:1: note: expanded from here 
    9377 simd_shuffle 
    9378 
    9379 program_source:324:1: error: implicit declaration of function
    9380 'simd_shuffle_xor' is invalid in OpenCL 
    9381 DECLARE_SHUFFLE_UNIFORM(shuffle_xor, shuffle_xor) 
    9382 
    9383 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9384 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9385 
    9386 <scratch space>:39:1: note: expanded from here 
    9387 simd_shuffle_xor 
    9388 
    9389 program_source:324:1: error: implicit declaration of function
    9390 'simd_shuffle_xor' is invalid in OpenCL 
    9391 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9392 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9393 
    9394 <scratch space>:39:1: note: expanded from here 
    9395 simd_shuffle_xor 
    9396 
    9397 program_source:324:1: error: implicit declaration of function
    9398 'simd_shuffle_xor' is invalid in OpenCL 
    9399 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9400 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9401 
    9402 <scratch space>:39:1: note: expanded from here 
    9403 simd_shuffle_xor 
    9404 
    9405 program_source:325:1: error: implicit declaration of function
    9406 'simd_shuffle_up' is invalid in OpenCL 
    9407 DECLARE_SHUFFLE_UNIFORM(shuffle_up, shuffle_up) 
    9408 
    9409 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9410 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9411 
    9412 <scratch space>:41:1: note: expanded from here 
    9413 simd_shuffle_up 
    9414 
    9415 program_source:325:1: error: implicit declaration of function
    9416 'simd_shuffle_up' is invalid in OpenCL 
    9417 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9418 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9419 
    9420 <scratch space>:41:1: note: expanded from here 
    9421 simd_shuffle_up 
    9422 
    9423 program_source:325:1: error: implicit declaration of function
    9424 'simd_shuffle_up' is invalid in OpenCL 
    9425 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9426 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9427 
    9428 <scratch space>:41:1: note: expanded from here 
    9429 simd_shuffle_up 
    9430 
    9431 program_source:326:1: error: implicit declaration of function
    9432 'simd_shuffle_down' is invalid in OpenCL 
    9433 DECLARE_SHUFFLE_UNIFORM(shuffle_down, shuffle_down) 
    9434 
    9435 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9436 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9437 
    9438 <scratch space>:43:1: note: expanded from here 
    9439 simd_shuffle_down 
    9440 
    9441 program_source:326:1: error: implicit declaration of function
    9442 'simd_shuffle_down' is invalid in OpenCL 
    9443 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9444 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9445 
    9446 <scratch space>:43:1: note: expanded from here 
    9447 simd_shuffle_down 
    9448 
    9449 program_source:326:1: error: implicit declaration of function
    9450 'simd_shuffle_down' is invalid in OpenCL 
    9451 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9452 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9453 
    9454 <scratch space>:43:1: note: expanded from here 
    9455 simd_shuffle_down 
    9456 
    9457 program_source:327:1: error: implicit declaration of function
    9458 'simd_shuffle_rotate_down' is invalid in OpenCL 
    9459 DECLARE_SHUFFLE_UNIFORM(shuffle_rotate_down, rotate) 
    9460 
    9461 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9462 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9463 
    9464 <scratch space>:45:1: note: expanded from here 
    9465 simd_shuffle_rotate_down 
    9466 
    9467 program_source:327:1: error: implicit declaration of function
    9468 'simd_shuffle_rotate_down' is invalid in OpenCL 
    9469 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9470 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9471 
    9472 <scratch space>:45:1: note: expanded from here 
    9473 simd_shuffle_rotate_down 
    9474 
    9475 program_source:327:1: error: implicit declaration of function
    9476 'simd_shuffle_rotate_down' is invalid in OpenCL 
    9477 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9478 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9479 
    9480 <scratch space>:45:1: note: expanded from here 
    9481 simd_shuffle_rotate_down 
    9482 
    9483 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    9484 is invalid in OpenCL 
    9485 DECLARE_SHUFFLE_UNIFORM(broadcast, broadcast) 
    9486 
    9487 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9488 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9489 
    9490 <scratch space>:47:1: note: expanded from here 
    9491 simd_broadcast 
    9492 
    9493 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    9494 is invalid in OpenCL 
    9495 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9496 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9497 
    9498 <scratch space>:47:1: note: expanded from here 
    9499 simd_broadcast 
    9500 
    9501 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    9502 is invalid in OpenCL 
    9503 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    9504 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9505 
    9506 <scratch space>:47:1: note: expanded from here 
    9507 simd_broadcast 
    9508 
    9509 program_source:330:1: error: implicit declaration of function
    9510 'simd_broadcast_first' is invalid in OpenCL 
    9511 DECLARE_REDUCTION_UNIFORM(broadcast_first, broadcast_first) 
    9512 
    9513 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9514 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9515 
    9516 program_source:305:26: note: expanded from macro '\ 
    9517 DECLARE_I_REDUCTION_UNIFORM' 
    9518 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9519 
    9520 <scratch space>:49:1: note: expanded from here 
    9521 simd_broadcast_first 
    9522 
    9523 program_source:330:1: error: implicit declaration of function
    9524 'simd_broadcast_first' is invalid in OpenCL 
    9525 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9526 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9527 
    9528 program_source:305:26: note: expanded from macro '\ 
    9529 DECLARE_I_REDUCTION_UNIFORM' 
    9530 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9531 
    9532 <scratch space>:49:1: note: expanded from here 
    9533 simd_broadcast_first 
    9534 
    9535 program_source:330:1: error: implicit declaration of function
    9536 'simd_broadcast_first' is invalid in OpenCL 
    9537 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    9538 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9539 
    9540 program_source:308:26: note: expanded from macro '\ 
    9541 DECLARE_F_REDUCTION_UNIFORM' 
    9542 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    9543 
    9544 <scratch space>:51:1: note: expanded from here 
    9545 simd_broadcast_first 
    9546 
    9547 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    9548 invalid in OpenCL 
    9549 DECLARE_REDUCTION_NON_UNIFORM(sum, reduce_add) 
    9550 
    9551 program_source:338:60: note: expanded from macro
    9552 'DECLARE_REDUCTION_NON_UNIFORM' 
    9553 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9554 
    9555 program_source:333:26: note: expanded from macro '\ 
    9556 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9557 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9558 
    9559 <scratch space>:53:1: note: expanded from here 
    9560 simd_sum 
    9561 
    9562 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    9563 invalid in OpenCL 
    9564 program_source:338:60: note: expanded from macro
    9565 'DECLARE_REDUCTION_NON_UNIFORM' 
    9566 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9567 
    9568 program_source:333:26: note: expanded from macro '\ 
    9569 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9570 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9571 
    9572 <scratch space>:53:1: note: expanded from here 
    9573 simd_sum 
    9574 
    9575 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    9576 invalid in OpenCL 
    9577 program_source:339:54: note: expanded from macro
    9578 'DECLARE_REDUCTION_NON_UNIFORM' 
    9579 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9580 
    9581 program_source:336:26: note: expanded from macro '\ 
    9582 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9583 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9584 
    9585 <scratch space>:55:1: note: expanded from here 
    9586 simd_sum 
    9587 
    9588 program_source:346:1: error: implicit declaration of function
    9589 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9590 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    9591 
    9592 program_source:338:60: note: expanded from macro
    9593 'DECLARE_REDUCTION_NON_UNIFORM' 
    9594 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9595 
    9596 program_source:333:26: note: expanded from macro '\ 
    9597 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9598 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9599 
    9600 <scratch space>:57:1: note: expanded from here 
    9601 simd_prefix_inclusive_sum 
    9602 
    9603 program_source:346:1: error: implicit declaration of function
    9604 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9605 program_source:338:60: note: expanded from macro
    9606 'DECLARE_REDUCTION_NON_UNIFORM' 
    9607 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9608 
    9609 program_source:333:26: note: expanded from macro '\ 
    9610 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9611 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9612 
    9613 <scratch space>:57:1: note: expanded from here 
    9614 simd_prefix_inclusive_sum 
    9615 
    9616 program_source:346:1: error: implicit declaration of function
    9617 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    9618 program_source:339:54: note: expanded from macro
    9619 'DECLARE_REDUCTION_NON_UNIFORM' 
    9620 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9621 
    9622 program_source:336:26: note: expanded from macro '\ 
    9623 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9624 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9625 
    9626 <scratch space>:59:1: note: expanded from here 
    9627 simd_prefix_inclusive_sum 
    9628 
    9629 program_source:347:1: error: implicit declaration of function
    9630 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9631 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    9632 
    9633 program_source:338:60: note: expanded from macro
    9634 'DECLARE_REDUCTION_NON_UNIFORM' 
    9635 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9636 
    9637 program_source:333:26: note: expanded from macro '\ 
    9638 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9639 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9640 
    9641 <scratch space>:61:1: note: expanded from here 
    9642 simd_prefix_exclusive_sum 
    9643 
    9644 program_source:347:1: error: implicit declaration of function
    9645 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9646 program_source:338:60: note: expanded from macro
    9647 'DECLARE_REDUCTION_NON_UNIFORM' 
    9648 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9649 
    9650 program_source:333:26: note: expanded from macro '\ 
    9651 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9652 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9653 
    9654 <scratch space>:61:1: note: expanded from here 
    9655 simd_prefix_exclusive_sum 
    9656 
    9657 program_source:347:1: error: implicit declaration of function
    9658 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    9659 program_source:339:54: note: expanded from macro
    9660 'DECLARE_REDUCTION_NON_UNIFORM' 
    9661 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9662 
    9663 program_source:336:26: note: expanded from macro '\ 
    9664 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9665 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9666 
    9667 <scratch space>:63:1: note: expanded from here 
    9668 simd_prefix_exclusive_sum 
    9669 
    9670 program_source:348:1: error: implicit declaration of function 'simd_min' is
    9671 invalid in OpenCL 
    9672 DECLARE_REDUCTION_NON_UNIFORM(min, reduce_min) 
    9673 
    9674 program_source:338:60: note: expanded from macro
    9675 'DECLARE_REDUCTION_NON_UNIFORM' 
    9676 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9677 
    9678 program_source:333:26: note: expanded from macro '\ 
    9679 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9680 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9681 
    9682 <scratch space>:65:1: note: expanded from here 
    9683 simd_min 
    9684 
    9685 program_source:348:1: error: implicit declaration of function 'simd_min' is
    9686 invalid in OpenCL 
    9687 program_source:338:60: note: expanded from macro
    9688 'DECLARE_REDUCTION_NON_UNIFORM' 
    9689 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9690 
    9691 program_source:333:26: note: expanded from macro '\ 
    9692 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9693 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9694 
    9695 <scratch space>:65:1: note: expanded from here 
    9696 simd_min 
    9697 
    9698 program_source:348:1: error: implicit declaration of function 'simd_min' is
    9699 invalid in OpenCL 
    9700 program_source:339:54: note: expanded from macro
    9701 'DECLARE_REDUCTION_NON_UNIFORM' 
    9702 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9703 
    9704 program_source:336:26: note: expanded from macro '\ 
    9705 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9706 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9707 
    9708 <scratch space>:67:1: note: expanded from here 
    9709 simd_min 
    9710 
    9711 program_source:349:1: error: implicit declaration of function 'simd_max' is
    9712 invalid in OpenCL 
    9713 DECLARE_REDUCTION_NON_UNIFORM(max, reduce_max) 
    9714 
    9715 program_source:338:60: note: expanded from macro
    9716 'DECLARE_REDUCTION_NON_UNIFORM' 
    9717 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9718 
    9719 program_source:333:26: note: expanded from macro '\ 
    9720 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9721 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9722 
    9723 <scratch space>:69:1: note: expanded from here 
    9724 simd_max 
    9725 
    9726 program_source:349:1: error: implicit declaration of function 'simd_max' is
    9727 invalid in OpenCL 
    9728 program_source:338:60: note: expanded from macro
    9729 'DECLARE_REDUCTION_NON_UNIFORM' 
    9730 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9731 
    9732 program_source:333:26: note: expanded from macro '\ 
    9733 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9734 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9735 
    9736 <scratch space>:69:1: note: expanded from here 
    9737 simd_max 
    9738 
    9739 program_source:349:1: error: implicit declaration of function 'simd_max' is
    9740 invalid in OpenCL 
    9741 program_source:339:54: note: expanded from macro
    9742 'DECLARE_REDUCTION_NON_UNIFORM' 
    9743 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9744 
    9745 program_source:336:26: note: expanded from macro '\ 
    9746 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9747 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9748 
    9749 <scratch space>:71:1: note: expanded from here 
    9750 simd_max 
    9751 
    9752 program_source:351:1: error: implicit declaration of function 'simd_product'
    9753 is invalid in OpenCL 
    9754 DECLARE_REDUCTION_NON_UNIFORM(product, reduce_mul) 
    9755 
    9756 program_source:338:60: note: expanded from macro
    9757 'DECLARE_REDUCTION_NON_UNIFORM' 
    9758 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9759 
    9760 program_source:333:26: note: expanded from macro '\ 
    9761 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9762 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9763 
    9764 <scratch space>:73:1: note: expanded from here 
    9765 simd_product 
    9766 
    9767 program_source:351:1: error: implicit declaration of function 'simd_product'
    9768 is invalid in OpenCL 
    9769 program_source:338:60: note: expanded from macro
    9770 'DECLARE_REDUCTION_NON_UNIFORM' 
    9771 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9772 
    9773 program_source:333:26: note: expanded from macro '\ 
    9774 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9775 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9776 
    9777 <scratch space>:73:1: note: expanded from here 
    9778 simd_product 
    9779 
    9780 program_source:351:1: error: implicit declaration of function 'simd_product'
    9781 is invalid in OpenCL 
    9782 program_source:339:54: note: expanded from macro
    9783 'DECLARE_REDUCTION_NON_UNIFORM' 
    9784 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9785 
    9786 program_source:336:26: note: expanded from macro '\ 
    9787 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9788 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9789 
    9790 <scratch space>:75:1: note: expanded from here 
    9791 simd_product 
    9792 
    9793 program_source:352:1: error: implicit declaration of function
    9794 'simd_prefix_inclusive_product' is invalid in OpenCL 
    9795 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_product, scan_inclusive_mul) 
    9796 
    9797 program_source:338:60: note: expanded from macro
    9798 'DECLARE_REDUCTION_NON_UNIFORM' 
    9799 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9800 
    9801 program_source:333:26: note: expanded from macro '\ 
    9802 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9803 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9804 
    9805 <scratch space>:77:1: note: expanded from here 
    9806 simd_prefix_inclusive_product 
    9807 
    9808 program_source:352:1: error: implicit declaration of function
    9809 'simd_prefix_inclusive_product' is invalid in OpenCL 
    9810 program_source:338:60: note: expanded from macro
    9811 'DECLARE_REDUCTION_NON_UNIFORM' 
    9812 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9813 
    9814 program_source:333:26: note: expanded from macro '\ 
    9815 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9816 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9817 
    9818 <scratch space>:77:1: note: expanded from here 
    9819 simd_prefix_inclusive_product 
    9820 
    9821 program_source:352:1: error: implicit declaration of function
    9822 'simd_prefix_inclusive_product' is invalid in OpenCL 
    9823 program_source:339:54: note: expanded from macro
    9824 'DECLARE_REDUCTION_NON_UNIFORM' 
    9825 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9826 
    9827 program_source:336:26: note: expanded from macro '\ 
    9828 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9829 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9830 
    9831 <scratch space>:79:1: note: expanded from here 
    9832 simd_prefix_inclusive_product 
    9833 
    9834 program_source:353:1: error: implicit declaration of function
    9835 'simd_prefix_exclusive_product' is invalid in OpenCL 
    9836 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_product, scan_exclusive_mul) 
    9837 
    9838 program_source:338:60: note: expanded from macro
    9839 'DECLARE_REDUCTION_NON_UNIFORM' 
    9840 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9841 
    9842 program_source:333:26: note: expanded from macro '\ 
    9843 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9844 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9845 
    9846 <scratch space>:81:1: note: expanded from here 
    9847 simd_prefix_exclusive_product 
    9848 
    9849 program_source:353:1: error: implicit declaration of function
    9850 'simd_prefix_exclusive_product' is invalid in OpenCL 
    9851 program_source:338:60: note: expanded from macro
    9852 'DECLARE_REDUCTION_NON_UNIFORM' 
    9853 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9854 
    9855 program_source:333:26: note: expanded from macro '\ 
    9856 DECLARE_I_REDUCTION_NON_UNIFORM' 
    9857 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9858 
    9859 <scratch space>:81:1: note: expanded from here 
    9860 simd_prefix_exclusive_product 
    9861 
    9862 program_source:353:1: error: implicit declaration of function
    9863 'simd_prefix_exclusive_product' is invalid in OpenCL 
    9864 program_source:339:54: note: expanded from macro
    9865 'DECLARE_REDUCTION_NON_UNIFORM' 
    9866 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    9867 
    9868 program_source:336:26: note: expanded from macro '\ 
    9869 DECLARE_F_REDUCTION_NON_UNIFORM' 
    9870 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9871 
    9872 <scratch space>:83:1: note: expanded from here 
    9873 simd_prefix_exclusive_product 
    9874 
    9875 program_source:354:1: error: implicit declaration of function 'simd_and' is
    9876 invalid in OpenCL 
    9877 DECLARE_I_REDUCTION_NON_UNIFORM(and, reduce_and) 
    9878 
    9879 program_source:333:26: note: expanded from macro
    9880 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    9881 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9882 
    9883 <scratch space>:85:1: note: expanded from here 
    9884 simd_and 
    9885 
    9886 program_source:354:1: error: implicit declaration of function 'simd_and' is
    9887 invalid in OpenCL 
    9888 program_source:333:26: note: expanded from macro
    9889 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    9890 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9891 
    9892 <scratch space>:85:1: note: expanded from here 
    9893 simd_and 
    9894 
    9895 program_source:355:1: error: implicit declaration of function 'simd_or' is
    9896 invalid in OpenCL 
    9897 DECLARE_I_REDUCTION_NON_UNIFORM(or, reduce_or) 
    9898 
    9899 program_source:333:26: note: expanded from macro
    9900 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    9901 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9902 
    9903 <scratch space>:87:1: note: expanded from here 
    9904 simd_or 
    9905 
    9906 program_source:355:1: error: implicit declaration of function 'simd_or' is
    9907 invalid in OpenCL 
    9908 program_source:333:26: note: expanded from macro
    9909 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    9910 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9911 
    9912 <scratch space>:87:1: note: expanded from here 
    9913 simd_or 
    9914 
    9915 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    9916 invalid in OpenCL 
    9917 DECLARE_I_REDUCTION_NON_UNIFORM(xor, reduce_xor) 
    9918 
    9919 program_source:333:26: note: expanded from macro
    9920 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    9921 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9922 
    9923 <scratch space>:89:1: note: expanded from here 
    9924 simd_xor 
    9925 
    9926 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    9927 invalid in OpenCL 
    9928 program_source:333:26: note: expanded from macro
    9929 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    9930 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9931 
    9932 <scratch space>:89:1: note: expanded from here 
    9933 simd_xor 
    9934 
    9935 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    9936 is invalid in OpenCL 
    9937 DECLARE_SHUFFLE_NON_UNIFORM(broadcast, broadcast) 
    9938 
    9939 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    9940 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9941 
    9942 <scratch space>:91:1: note: expanded from here 
    9943 simd_broadcast 
    9944 
    9945 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    9946 is invalid in OpenCL 
    9947 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    9948 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9949 
    9950 <scratch space>:91:1: note: expanded from here 
    9951 simd_broadcast 
    9952 
    9953 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    9954 is invalid in OpenCL 
    9955 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    9956 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    9957 
    9958 <scratch space>:91:1: note: expanded from here 
    9959 simd_broadcast 
    9960 
    9961 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    9962 invalid in OpenCL 
    9963 DECLARE_REDUCTION_CLUSTERED(sum, reduce_add) 
    9964 
    9965 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    9966 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    9967 
    9968 program_source:360:60: note: expanded from macro '\ 
    9969 DECLARE_I_REDUCTION_CLUSTERED' 
    9970 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    9971 
    9972 program_source:245:71: note: expanded from macro '\ 
    9973 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    9974 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    9975 
    9976 program_source:196:12: note: expanded from macro '\ 
    9977 OVERLOAD_CLUSTERED_ARGS_1' 
    9978 return quad_##METAL_SUFFIX(x); \ 
    9979 
    9980 <scratch space>:94:1: note: expanded from here 
    9981 quad_sum 
    9982 
    9983 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    9984 invalid in OpenCL 
    9985 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    9986 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    9987 
    9988 program_source:360:60: note: expanded from macro '\ 
    9989 DECLARE_I_REDUCTION_CLUSTERED' 
    9990 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    9991 
    9992 program_source:245:71: note: expanded from macro '\ 
    9993 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    9994 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    9995 
    9996 program_source:198:12: note: expanded from macro '\ 
    9997 OVERLOAD_CLUSTERED_ARGS_1' 
    9998 return simd_##METAL_SUFFIX(x); \ 
    9999 
    10000 <scratch space>:95:1: note: expanded from here 
    10001 simd_sum 
    10002 
    10003 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    10004 invalid in OpenCL 
    10005 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10006 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10007 
    10008 program_source:360:60: note: expanded from macro '\ 
    10009 DECLARE_I_REDUCTION_CLUSTERED' 
    10010 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10011 
    10012 program_source:246:59: note: expanded from macro '\ 
    10013 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10014 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10015 
    10016 program_source:196:12: note: expanded from macro '\ 
    10017 OVERLOAD_CLUSTERED_ARGS_1' 
    10018 return quad_##METAL_SUFFIX(x); \ 
    10019 
    10020 <scratch space>:96:1: note: expanded from here 
    10021 quad_sum 
    10022 
    10023 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    10024 invalid in OpenCL 
    10025 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10026 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10027 
    10028 program_source:360:60: note: expanded from macro '\ 
    10029 DECLARE_I_REDUCTION_CLUSTERED' 
    10030 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10031 
    10032 program_source:246:59: note: expanded from macro '\ 
    10033 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10034 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10035 
    10036 program_source:198:12: note: expanded from macro '\ 
    10037 OVERLOAD_CLUSTERED_ARGS_1' 
    10038 return simd_##METAL_SUFFIX(x); \ 
    10039 
    10040 <scratch space>:97:1: note: expanded from here 
    10041 simd_sum 
    10042 
    10043 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    10044 invalid in OpenCL 
    10045 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10046 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10047 
    10048 program_source:363:60: note: expanded from macro '\ 
    10049 DECLARE_F_REDUCTION_CLUSTERED' 
    10050 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10051 
    10052 program_source:249:71: note: expanded from macro '\ 
    10053 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10054 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10055 
    10056 program_source:196:12: note: expanded from macro '\ 
    10057 OVERLOAD_CLUSTERED_ARGS_1' 
    10058 return quad_##METAL_SUFFIX(x); \ 
    10059 
    10060 <scratch space>:99:1: note: expanded from here 
    10061 quad_sum 
    10062 
    10063 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    10064 invalid in OpenCL 
    10065 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10066 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10067 
    10068 program_source:363:60: note: expanded from macro '\ 
    10069 DECLARE_F_REDUCTION_CLUSTERED' 
    10070 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10071 
    10072 program_source:249:71: note: expanded from macro '\ 
    10073 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10074 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10075 
    10076 program_source:198:12: note: expanded from macro '\ 
    10077 OVERLOAD_CLUSTERED_ARGS_1' 
    10078 return simd_##METAL_SUFFIX(x); \ 
    10079 
    10080 <scratch space>:100:1: note: expanded from here 
    10081 simd_sum 
    10082 
    10083 program_source:392:1: error: implicit declaration of function 'quad_min' is
    10084 invalid in OpenCL 
    10085 DECLARE_REDUCTION_CLUSTERED(min, reduce_min) 
    10086 
    10087 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10088 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10089 
    10090 program_source:360:60: note: expanded from macro '\ 
    10091 DECLARE_I_REDUCTION_CLUSTERED' 
    10092 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10093 
    10094 program_source:245:71: note: expanded from macro '\ 
    10095 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10096 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10097 
    10098 program_source:196:12: note: expanded from macro '\ 
    10099 OVERLOAD_CLUSTERED_ARGS_1' 
    10100 return quad_##METAL_SUFFIX(x); \ 
    10101 
    10102 <scratch space>:102:1: note: expanded from here 
    10103 quad_min 
    10104 
    10105 program_source:392:1: error: implicit declaration of function 'simd_min' is
    10106 invalid in OpenCL 
    10107 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10108 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10109 
    10110 program_source:360:60: note: expanded from macro '\ 
    10111 DECLARE_I_REDUCTION_CLUSTERED' 
    10112 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10113 
    10114 program_source:245:71: note: expanded from macro '\ 
    10115 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10116 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10117 
    10118 program_source:198:12: note: expanded from macro '\ 
    10119 OVERLOAD_CLUSTERED_ARGS_1' 
    10120 return simd_##METAL_SUFFIX(x); \ 
    10121 
    10122 <scratch space>:103:1: note: expanded from here 
    10123 simd_min 
    10124 
    10125 program_source:392:1: error: implicit declaration of function 'quad_min' is
    10126 invalid in OpenCL 
    10127 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10128 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10129 
    10130 program_source:360:60: note: expanded from macro '\ 
    10131 DECLARE_I_REDUCTION_CLUSTERED' 
    10132 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10133 
    10134 program_source:246:59: note: expanded from macro '\ 
    10135 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10136 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10137 
    10138 program_source:196:12: note: expanded from macro '\ 
    10139 OVERLOAD_CLUSTERED_ARGS_1' 
    10140 return quad_##METAL_SUFFIX(x); \ 
    10141 
    10142 <scratch space>:104:1: note: expanded from here 
    10143 quad_min 
    10144 
    10145 program_source:392:1: error: implicit declaration of function 'simd_min' is
    10146 invalid in OpenCL 
    10147 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10148 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10149 
    10150 program_source:360:60: note: expanded from macro '\ 
    10151 DECLARE_I_REDUCTION_CLUSTERED' 
    10152 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10153 
    10154 program_source:246:59: note: expanded from macro '\ 
    10155 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10156 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10157 
    10158 program_source:198:12: note: expanded from macro '\ 
    10159 OVERLOAD_CLUSTERED_ARGS_1' 
    10160 return simd_##METAL_SUFFIX(x); \ 
    10161 
    10162 <scratch space>:105:1: note: expanded from here 
    10163 simd_min 
    10164 
    10165 program_source:392:1: error: implicit declaration of function 'quad_min' is
    10166 invalid in OpenCL 
    10167 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10168 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10169 
    10170 program_source:363:60: note: expanded from macro '\ 
    10171 DECLARE_F_REDUCTION_CLUSTERED' 
    10172 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10173 
    10174 program_source:249:71: note: expanded from macro '\ 
    10175 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10176 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10177 
    10178 program_source:196:12: note: expanded from macro '\ 
    10179 OVERLOAD_CLUSTERED_ARGS_1' 
    10180 return quad_##METAL_SUFFIX(x); \ 
    10181 
    10182 <scratch space>:107:1: note: expanded from here 
    10183 quad_min 
    10184 
    10185 program_source:392:1: error: implicit declaration of function 'simd_min' is
    10186 invalid in OpenCL 
    10187 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10188 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10189 
    10190 program_source:363:60: note: expanded from macro '\ 
    10191 DECLARE_F_REDUCTION_CLUSTERED' 
    10192 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10193 
    10194 program_source:249:71: note: expanded from macro '\ 
    10195 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10196 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10197 
    10198 program_source:198:12: note: expanded from macro '\ 
    10199 OVERLOAD_CLUSTERED_ARGS_1' 
    10200 return simd_##METAL_SUFFIX(x); \ 
    10201 
    10202 <scratch space>:108:1: note: expanded from here 
    10203 simd_min 
    10204 
    10205 program_source:393:1: error: implicit declaration of function 'quad_max' is
    10206 invalid in OpenCL 
    10207 DECLARE_REDUCTION_CLUSTERED(max, reduce_max) 
    10208 
    10209 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10210 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10211 
    10212 program_source:360:60: note: expanded from macro '\ 
    10213 DECLARE_I_REDUCTION_CLUSTERED' 
    10214 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10215 
    10216 program_source:245:71: note: expanded from macro '\ 
    10217 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10218 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10219 
    10220 program_source:196:12: note: expanded from macro '\ 
    10221 OVERLOAD_CLUSTERED_ARGS_1' 
    10222 return quad_##METAL_SUFFIX(x); \ 
    10223 
    10224 <scratch space>:110:1: note: expanded from here 
    10225 quad_max 
    10226 
    10227 program_source:393:1: error: implicit declaration of function 'simd_max' is
    10228 invalid in OpenCL 
    10229 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10230 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10231 
    10232 program_source:360:60: note: expanded from macro '\ 
    10233 DECLARE_I_REDUCTION_CLUSTERED' 
    10234 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10235 
    10236 program_source:245:71: note: expanded from macro '\ 
    10237 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10238 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10239 
    10240 program_source:198:12: note: expanded from macro '\ 
    10241 OVERLOAD_CLUSTERED_ARGS_1' 
    10242 return simd_##METAL_SUFFIX(x); \ 
    10243 
    10244 <scratch space>:111:1: note: expanded from here 
    10245 simd_max 
    10246 
    10247 program_source:393:1: error: implicit declaration of function 'quad_max' is
    10248 invalid in OpenCL 
    10249 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10250 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10251 
    10252 program_source:360:60: note: expanded from macro '\ 
    10253 DECLARE_I_REDUCTION_CLUSTERED' 
    10254 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10255 
    10256 program_source:246:59: note: expanded from macro '\ 
    10257 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10258 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10259 
    10260 program_source:196:12: note: expanded from macro '\ 
    10261 OVERLOAD_CLUSTERED_ARGS_1' 
    10262 return quad_##METAL_SUFFIX(x); \ 
    10263 
    10264 <scratch space>:112:1: note: expanded from here 
    10265 quad_max 
    10266 
    10267 program_source:393:1: error: implicit declaration of function 'simd_max' is
    10268 invalid in OpenCL 
    10269 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10270 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10271 
    10272 program_source:360:60: note: expanded from macro '\ 
    10273 DECLARE_I_REDUCTION_CLUSTERED' 
    10274 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10275 
    10276 program_source:246:59: note: expanded from macro '\ 
    10277 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10278 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10279 
    10280 program_source:198:12: note: expanded from macro '\ 
    10281 OVERLOAD_CLUSTERED_ARGS_1' 
    10282 return simd_##METAL_SUFFIX(x); \ 
    10283 
    10284 <scratch space>:113:1: note: expanded from here 
    10285 simd_max 
    10286 
    10287 program_source:393:1: error: implicit declaration of function 'quad_max' is
    10288 invalid in OpenCL 
    10289 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10290 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10291 
    10292 program_source:363:60: note: expanded from macro '\ 
    10293 DECLARE_F_REDUCTION_CLUSTERED' 
    10294 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10295 
    10296 program_source:249:71: note: expanded from macro '\ 
    10297 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10298 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10299 
    10300 program_source:196:12: note: expanded from macro '\ 
    10301 OVERLOAD_CLUSTERED_ARGS_1' 
    10302 return quad_##METAL_SUFFIX(x); \ 
    10303 
    10304 <scratch space>:115:1: note: expanded from here 
    10305 quad_max 
    10306 
    10307 program_source:393:1: error: implicit declaration of function 'simd_max' is
    10308 invalid in OpenCL 
    10309 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10310 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10311 
    10312 program_source:363:60: note: expanded from macro '\ 
    10313 DECLARE_F_REDUCTION_CLUSTERED' 
    10314 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10315 
    10316 program_source:249:71: note: expanded from macro '\ 
    10317 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10318 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10319 
    10320 program_source:198:12: note: expanded from macro '\ 
    10321 OVERLOAD_CLUSTERED_ARGS_1' 
    10322 return simd_##METAL_SUFFIX(x); \ 
    10323 
    10324 <scratch space>:116:1: note: expanded from here 
    10325 simd_max 
    10326 
    10327 program_source:395:1: error: implicit declaration of function 'quad_product'
    10328 is invalid in OpenCL 
    10329 DECLARE_REDUCTION_CLUSTERED(product, reduce_mul) 
    10330 
    10331 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10332 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10333 
    10334 program_source:360:60: note: expanded from macro '\ 
    10335 DECLARE_I_REDUCTION_CLUSTERED' 
    10336 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10337 
    10338 program_source:245:71: note: expanded from macro '\ 
    10339 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10340 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10341 
    10342 program_source:196:12: note: expanded from macro '\ 
    10343 OVERLOAD_CLUSTERED_ARGS_1' 
    10344 return quad_##METAL_SUFFIX(x); \ 
    10345 
    10346 <scratch space>:118:1: note: expanded from here 
    10347 quad_product 
    10348 
    10349 program_source:395:1: error: implicit declaration of function 'simd_product'
    10350 is invalid in OpenCL 
    10351 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10352 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10353 
    10354 program_source:360:60: note: expanded from macro '\ 
    10355 DECLARE_I_REDUCTION_CLUSTERED' 
    10356 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10357 
    10358 program_source:245:71: note: expanded from macro '\ 
    10359 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10360 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10361 
    10362 program_source:198:12: note: expanded from macro '\ 
    10363 OVERLOAD_CLUSTERED_ARGS_1' 
    10364 return simd_##METAL_SUFFIX(x); \ 
    10365 
    10366 <scratch space>:119:1: note: expanded from here 
    10367 simd_product 
    10368 
    10369 program_source:395:1: error: implicit declaration of function 'quad_product'
    10370 is invalid in OpenCL 
    10371 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10372 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10373 
    10374 program_source:360:60: note: expanded from macro '\ 
    10375 DECLARE_I_REDUCTION_CLUSTERED' 
    10376 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10377 
    10378 program_source:246:59: note: expanded from macro '\ 
    10379 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10380 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10381 
    10382 program_source:196:12: note: expanded from macro '\ 
    10383 OVERLOAD_CLUSTERED_ARGS_1' 
    10384 return quad_##METAL_SUFFIX(x); \ 
    10385 
    10386 <scratch space>:120:1: note: expanded from here 
    10387 quad_product 
    10388 
    10389 program_source:395:1: error: implicit declaration of function 'simd_product'
    10390 is invalid in OpenCL 
    10391 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10392 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10393 
    10394 program_source:360:60: note: expanded from macro '\ 
    10395 DECLARE_I_REDUCTION_CLUSTERED' 
    10396 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10397 
    10398 program_source:246:59: note: expanded from macro '\ 
    10399 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10400 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10401 
    10402 program_source:198:12: note: expanded from macro '\ 
    10403 OVERLOAD_CLUSTERED_ARGS_1' 
    10404 return simd_##METAL_SUFFIX(x); \ 
    10405 
    10406 <scratch space>:121:1: note: expanded from here 
    10407 simd_product 
    10408 
    10409 program_source:395:1: error: implicit declaration of function 'quad_product'
    10410 is invalid in OpenCL 
    10411 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10412 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10413 
    10414 program_source:363:60: note: expanded from macro '\ 
    10415 DECLARE_F_REDUCTION_CLUSTERED' 
    10416 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10417 
    10418 program_source:249:71: note: expanded from macro '\ 
    10419 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10420 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10421 
    10422 program_source:196:12: note: expanded from macro '\ 
    10423 OVERLOAD_CLUSTERED_ARGS_1' 
    10424 return quad_##METAL_SUFFIX(x); \ 
    10425 
    10426 <scratch space>:123:1: note: expanded from here 
    10427 quad_product 
    10428 
    10429 program_source:395:1: error: implicit declaration of function 'simd_product'
    10430 is invalid in OpenCL 
    10431 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    10432 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10433 
    10434 program_source:363:60: note: expanded from macro '\ 
    10435 DECLARE_F_REDUCTION_CLUSTERED' 
    10436 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10437 
    10438 program_source:249:71: note: expanded from macro '\ 
    10439 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    10440 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10441 
    10442 program_source:198:12: note: expanded from macro '\ 
    10443 OVERLOAD_CLUSTERED_ARGS_1' 
    10444 return simd_##METAL_SUFFIX(x); \ 
    10445 
    10446 <scratch space>:124:1: note: expanded from here 
    10447 simd_product 
    10448 
    10449 program_source:396:1: error: implicit declaration of function 'quad_and' is
    10450 invalid in OpenCL 
    10451 DECLARE_I_REDUCTION_CLUSTERED(and, reduce_and) 
    10452 
    10453 program_source:360:60: note: expanded from macro
    10454 'DECLARE_I_REDUCTION_CLUSTERED' 
    10455 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10456 
    10457 program_source:245:71: note: expanded from macro '\ 
    10458 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10459 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10460 
    10461 program_source:196:12: note: expanded from macro '\ 
    10462 OVERLOAD_CLUSTERED_ARGS_1' 
    10463 return quad_##METAL_SUFFIX(x); \ 
    10464 
    10465 <scratch space>:126:1: note: expanded from here 
    10466 quad_and 
    10467 
    10468 program_source:396:1: error: implicit declaration of function 'simd_and' is
    10469 invalid in OpenCL 
    10470 program_source:360:60: note: expanded from macro
    10471 'DECLARE_I_REDUCTION_CLUSTERED' 
    10472 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10473 
    10474 program_source:245:71: note: expanded from macro '\ 
    10475 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10476 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10477 
    10478 program_source:198:12: note: expanded from macro '\ 
    10479 OVERLOAD_CLUSTERED_ARGS_1' 
    10480 return simd_##METAL_SUFFIX(x); \ 
    10481 
    10482 <scratch space>:127:1: note: expanded from here 
    10483 simd_and 
    10484 
    10485 program_source:396:1: error: implicit declaration of function 'quad_and' is
    10486 invalid in OpenCL 
    10487 program_source:360:60: note: expanded from macro
    10488 'DECLARE_I_REDUCTION_CLUSTERED' 
    10489 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10490 
    10491 program_source:246:59: note: expanded from macro '\ 
    10492 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10493 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10494 
    10495 program_source:196:12: note: expanded from macro '\ 
    10496 OVERLOAD_CLUSTERED_ARGS_1' 
    10497 return quad_##METAL_SUFFIX(x); \ 
    10498 
    10499 <scratch space>:128:1: note: expanded from here 
    10500 quad_and 
    10501 
    10502 program_source:396:1: error: implicit declaration of function 'simd_and' is
    10503 invalid in OpenCL 
    10504 program_source:360:60: note: expanded from macro
    10505 'DECLARE_I_REDUCTION_CLUSTERED' 
    10506 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10507 
    10508 program_source:246:59: note: expanded from macro '\ 
    10509 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10510 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10511 
    10512 program_source:198:12: note: expanded from macro '\ 
    10513 OVERLOAD_CLUSTERED_ARGS_1' 
    10514 return simd_##METAL_SUFFIX(x); \ 
    10515 
    10516 <scratch space>:129:1: note: expanded from here 
    10517 simd_and 
    10518 
    10519 program_source:397:1: error: implicit declaration of function 'quad_or' is
    10520 invalid in OpenCL 
    10521 DECLARE_I_REDUCTION_CLUSTERED(or, reduce_or) 
    10522 
    10523 program_source:360:60: note: expanded from macro
    10524 'DECLARE_I_REDUCTION_CLUSTERED' 
    10525 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10526 
    10527 program_source:245:71: note: expanded from macro '\ 
    10528 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10529 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10530 
    10531 program_source:196:12: note: expanded from macro '\ 
    10532 OVERLOAD_CLUSTERED_ARGS_1' 
    10533 return quad_##METAL_SUFFIX(x); \ 
    10534 
    10535 <scratch space>:131:1: note: expanded from here 
    10536 quad_or 
    10537 
    10538 program_source:397:1: error: implicit declaration of function 'simd_or' is
    10539 invalid in OpenCL 
    10540 program_source:360:60: note: expanded from macro
    10541 'DECLARE_I_REDUCTION_CLUSTERED' 
    10542 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10543 
    10544 program_source:245:71: note: expanded from macro '\ 
    10545 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10546 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10547 
    10548 program_source:198:12: note: expanded from macro '\ 
    10549 OVERLOAD_CLUSTERED_ARGS_1' 
    10550 return simd_##METAL_SUFFIX(x); \ 
    10551 
    10552 <scratch space>:132:1: note: expanded from here 
    10553 simd_or 
    10554 
    10555 program_source:397:1: error: implicit declaration of function 'quad_or' is
    10556 invalid in OpenCL 
    10557 program_source:360:60: note: expanded from macro
    10558 'DECLARE_I_REDUCTION_CLUSTERED' 
    10559 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10560 
    10561 program_source:246:59: note: expanded from macro '\ 
    10562 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10563 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10564 
    10565 program_source:196:12: note: expanded from macro '\ 
    10566 OVERLOAD_CLUSTERED_ARGS_1' 
    10567 return quad_##METAL_SUFFIX(x); \ 
    10568 
    10569 <scratch space>:133:1: note: expanded from here 
    10570 quad_or 
    10571 
    10572 program_source:397:1: error: implicit declaration of function 'simd_or' is
    10573 invalid in OpenCL 
    10574 program_source:360:60: note: expanded from macro
    10575 'DECLARE_I_REDUCTION_CLUSTERED' 
    10576 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10577 
    10578 program_source:246:59: note: expanded from macro '\ 
    10579 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10580 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10581 
    10582 program_source:198:12: note: expanded from macro '\ 
    10583 OVERLOAD_CLUSTERED_ARGS_1' 
    10584 return simd_##METAL_SUFFIX(x); \ 
    10585 
    10586 <scratch space>:134:1: note: expanded from here 
    10587 simd_or 
    10588 
    10589 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    10590 invalid in OpenCL 
    10591 DECLARE_I_REDUCTION_CLUSTERED(xor, reduce_xor) 
    10592 
    10593 program_source:360:60: note: expanded from macro
    10594 'DECLARE_I_REDUCTION_CLUSTERED' 
    10595 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10596 
    10597 program_source:245:71: note: expanded from macro '\ 
    10598 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10599 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10600 
    10601 program_source:196:12: note: expanded from macro '\ 
    10602 OVERLOAD_CLUSTERED_ARGS_1' 
    10603 return quad_##METAL_SUFFIX(x); \ 
    10604 
    10605 <scratch space>:136:1: note: expanded from here 
    10606 quad_xor 
    10607 
    10608 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    10609 invalid in OpenCL 
    10610 program_source:360:60: note: expanded from macro
    10611 'DECLARE_I_REDUCTION_CLUSTERED' 
    10612 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10613 
    10614 program_source:245:71: note: expanded from macro '\ 
    10615 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10616 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    10617 
    10618 program_source:198:12: note: expanded from macro '\ 
    10619 OVERLOAD_CLUSTERED_ARGS_1' 
    10620 return simd_##METAL_SUFFIX(x); \ 
    10621 
    10622 <scratch space>:137:1: note: expanded from here 
    10623 simd_xor 
    10624 
    10625 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    10626 invalid in OpenCL 
    10627 program_source:360:60: note: expanded from macro
    10628 'DECLARE_I_REDUCTION_CLUSTERED' 
    10629 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10630 
    10631 program_source:246:59: note: expanded from macro '\ 
    10632 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10633 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10634 
    10635 program_source:196:12: note: expanded from macro '\ 
    10636 OVERLOAD_CLUSTERED_ARGS_1' 
    10637 return quad_##METAL_SUFFIX(x); \ 
    10638 
    10639 <scratch space>:138:1: note: expanded from here 
    10640 quad_xor 
    10641 
    10642 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    10643 invalid in OpenCL 
    10644 program_source:360:60: note: expanded from macro
    10645 'DECLARE_I_REDUCTION_CLUSTERED' 
    10646 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10647 
    10648 program_source:246:59: note: expanded from macro '\ 
    10649 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    10650 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10651 
    10652 program_source:198:12: note: expanded from macro '\ 
    10653 OVERLOAD_CLUSTERED_ARGS_1' 
    10654 return simd_##METAL_SUFFIX(x); \ 
    10655 
    10656 <scratch space>:139:1: note: expanded from here 
    10657 simd_xor 
    10658 
    10659 program_source:399:1: error: implicit declaration of function 'simd_and' is
    10660 invalid in OpenCL 
    10661 DECLARE_B_REDUCTION_CLUSTERED(and) 
    10662 
    10663 program_source:369:8: note: expanded from macro
    10664 'DECLARE_B_REDUCTION_CLUSTERED' 
    10665 return simd_##OP(select(0, 1, predicate != 0)); \ 
    10666 
    10667 <scratch space>:141:1: note: expanded from here 
    10668 simd_and 
    10669 
    10670 program_source:399:1: error: implicit declaration of function 'quad_and' is
    10671 invalid in OpenCL 
    10672 program_source:378:12: note: expanded from macro
    10673 'DECLARE_B_REDUCTION_CLUSTERED' 
    10674 return quad_##OP(x); \ 
    10675 
    10676 <scratch space>:143:1: note: expanded from here 
    10677 quad_and 
    10678 
    10679 program_source:399:1: error: implicit declaration of function 'simd_and' is
    10680 invalid in OpenCL 
    10681 program_source:380:12: note: expanded from macro
    10682 'DECLARE_B_REDUCTION_CLUSTERED' 
    10683 return simd_##OP(x); \ 
    10684 
    10685 <scratch space>:144:1: note: expanded from here 
    10686 simd_and 
    10687 
    10688 program_source:400:1: error: implicit declaration of function 'simd_or' is
    10689 invalid in OpenCL 
    10690 DECLARE_B_REDUCTION_CLUSTERED(or) 
    10691 
    10692 program_source:369:8: note: expanded from macro
    10693 'DECLARE_B_REDUCTION_CLUSTERED' 
    10694 return simd_##OP(select(0, 1, predicate != 0)); \ 
    10695 
    10696 <scratch space>:146:1: note: expanded from here 
    10697 simd_or 
    10698 
    10699 program_source:400:1: error: implicit declaration of function 'quad_or' is
    10700 invalid in OpenCL 
    10701 program_source:378:12: note: expanded from macro
    10702 'DECLARE_B_REDUCTION_CLUSTERED' 
    10703 return quad_##OP(x); \ 
    10704 
    10705 <scratch space>:148:1: note: expanded from here 
    10706 quad_or 
    10707 
    10708 program_source:400:1: error: implicit declaration of function 'simd_or' is
    10709 invalid in OpenCL 
    10710 program_source:380:12: note: expanded from macro
    10711 'DECLARE_B_REDUCTION_CLUSTERED' 
    10712 return simd_##OP(x); \ 
    10713 
    10714 <scratch space>:149:1: note: expanded from here 
    10715 simd_or 
    10716 
    10717 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    10718 invalid in OpenCL 
    10719 DECLARE_B_REDUCTION_CLUSTERED(xor) 
    10720 
    10721 program_source:369:8: note: expanded from macro
    10722 'DECLARE_B_REDUCTION_CLUSTERED' 
    10723 return simd_##OP(select(0, 1, predicate != 0)); \ 
    10724 
    10725 <scratch space>:151:1: note: expanded from here 
    10726 simd_xor 
    10727 
    10728 program_source:401:1: error: implicit declaration of function 'quad_xor' is
    10729 invalid in OpenCL 
    10730 program_source:378:12: note: expanded from macro
    10731 'DECLARE_B_REDUCTION_CLUSTERED' 
    10732 return quad_##OP(x); \ 
    10733 
    10734 <scratch space>:153:1: note: expanded from here 
    10735 quad_xor 
    10736 
    10737 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    10738 invalid in OpenCL 
    10739 program_source:380:12: note: expanded from macro
    10740 'DECLARE_B_REDUCTION_CLUSTERED' 
    10741 return simd_##OP(x); \ 
    10742 
    10743 <scratch space>:154:1: note: expanded from here 
    10744 simd_xor 
    10745 
    10746 program_source:403:1: error: implicit declaration of function
    10747 'quad_shuffle_rotate_down' is invalid in OpenCL 
    10748 DECLARE_SHUFFLE_CLUSTERED(shuffle_rotate_down, rotate) 
    10749 
    10750 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    10751 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10752 
    10753 program_source:252:69: note: expanded from macro '\ 
    10754 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    10755 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    10756 
    10757 program_source:208:12: note: expanded from macro '\ 
    10758 OVERLOAD_CLUSTERED_ARGS_2' 
    10759 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    10760 
    10761 <scratch space>:156:1: note: expanded from here 
    10762 quad_shuffle_rotate_down 
    10763 
    10764 program_source:403:1: error: implicit declaration of function
    10765 'simd_shuffle_rotate_down' is invalid in OpenCL 
    10766 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    10767 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10768 
    10769 program_source:252:69: note: expanded from macro '\ 
    10770 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    10771 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    10772 
    10773 program_source:210:12: note: expanded from macro '\ 
    10774 OVERLOAD_CLUSTERED_ARGS_2' 
    10775 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    10776 
    10777 <scratch space>:157:1: note: expanded from here 
    10778 simd_shuffle_rotate_down 
    10779 
    10780 program_source:403:1: error: implicit declaration of function
    10781 'quad_shuffle_rotate_down' is invalid in OpenCL 
    10782 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    10783 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10784 
    10785 program_source:253:59: note: expanded from macro '\ 
    10786 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    10787 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10788 
    10789 program_source:208:12: note: expanded from macro '\ 
    10790 OVERLOAD_CLUSTERED_ARGS_2' 
    10791 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    10792 
    10793 <scratch space>:158:1: note: expanded from here 
    10794 quad_shuffle_rotate_down 
    10795 
    10796 program_source:403:1: error: implicit declaration of function
    10797 'simd_shuffle_rotate_down' is invalid in OpenCL 
    10798 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    10799 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10800 
    10801 program_source:253:59: note: expanded from macro '\ 
    10802 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    10803 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    10804 
    10805 program_source:210:12: note: expanded from macro '\ 
    10806 OVERLOAD_CLUSTERED_ARGS_2' 
    10807 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    10808 
    10809 <scratch space>:159:1: note: expanded from here 
    10810 simd_shuffle_rotate_down 
    10811 
    10812 program_source:403:1: error: implicit declaration of function
    10813 'quad_shuffle_rotate_down' is invalid in OpenCL 
    10814 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    10815 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10816 
    10817 program_source:254:60: note: expanded from macro '\ 
    10818 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    10819 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    10820 
    10821 program_source:208:12: note: expanded from macro '\ 
    10822 OVERLOAD_CLUSTERED_ARGS_2' 
    10823 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    10824 
    10825 <scratch space>:160:1: note: expanded from here 
    10826 quad_shuffle_rotate_down 
    10827 
    10828 program_source:403:1: error: implicit declaration of function
    10829 'simd_shuffle_rotate_down' is invalid in OpenCL 
    10830 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    10831 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    10832 
    10833 program_source:254:60: note: expanded from macro '\ 
    10834 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    10835 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    10836 
    10837 program_source:210:12: note: expanded from macro '\ 
    10838 OVERLOAD_CLUSTERED_ARGS_2' 
    10839 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    10840 
    10841 <scratch space>:161:1: note: expanded from here 
    10842 simd_shuffle_rotate_down 
    10843 
    10844 program_source:409:1: error: illegal string literal in 'asm' 
    10845 EXPOSE_BALLOT(simd_is_first, , bool, ) 
    10846 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10847 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10848 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10849 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10850 program_source:410:1: error: illegal string literal in 'asm' 
    10851 EXPOSE_BALLOT(simd_all, bool expr, bool, ) 
    10852 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10853 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10854 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10855 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10856 program_source:411:1: error: illegal string literal in 'asm' 
    10857 EXPOSE_BALLOT(simd_any, bool expr, bool, ) 
    10858 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10859 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10860 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10861 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10862 program_source:412:1: error: illegal string literal in 'asm' 
    10863 EXPOSE_BALLOT(simd_ballot, bool expr, ulong, .i64) 
    10864 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10865 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10866 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10867 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10868 program_source:413:1: error: illegal string literal in 'asm' 
    10869 EXPOSE_BALLOT(simd_active_threads_mask, , ulong, .i64) 
    10870 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10871 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10872 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10873 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10874 program_source:415:1: error: illegal string literal in 'asm' 
    10875 EXPOSE_BALLOT(quad_is_first, , bool, ) 
    10876 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10877 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10878 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10879 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10880 program_source:416:1: error: illegal string literal in 'asm' 
    10881 EXPOSE_BALLOT(quad_all, bool expr, bool, ) 
    10882 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10883 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10884 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10885 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10886 program_source:417:1: error: illegal string literal in 'asm' 
    10887 EXPOSE_BALLOT(quad_any, bool expr, bool, ) 
    10888 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10889 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10890 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10891 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10892 program_source:418:1: error: illegal string literal in 'asm' 
    10893 EXPOSE_BALLOT(quad_ballot, bool expr, ushort, ) 
    10894 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10895 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10896 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10897 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10898 program_source:419:1: error: illegal string literal in 'asm' 
    10899 EXPOSE_BALLOT(quad_active_threads_mask, , ushort, ) 
    10900 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10901 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    10902 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    10903 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10904 program_source:422:23: error: implicit declaration of function 'simd_is_first'
    10905 is invalid in OpenCL 
    10906 return select(0, 1, simd_is_first()); 
    10907 
    10908 program_source:426:23: error: implicit declaration of function 'simd_all' is
    10909 invalid in OpenCL 
    10910 return select(0, 1, simd_all(predicate != 0)); 
    10911 
    10912 program_source:430:23: error: implicit declaration of function 'simd_any' is
    10913 invalid in OpenCL 
    10914 return select(0, 1, simd_any(predicate != 0)); 
    10915 
    10916 program_source:434:23: error: implicit declaration of function 'simd_all' is
    10917 invalid in OpenCL 
    10918 return select(0, 1, simd_all(predicate != 0)); 
    10919 
    10920 program_source:438:23: error: implicit declaration of function 'simd_any' is
    10921 invalid in OpenCL 
    10922 return select(0, 1, simd_any(predicate != 0)); 
    10923 
    10924 program_source:443:14: error: implicit declaration of function 'simd_ballot'
    10925 is invalid in OpenCL 
    10926 output.x = simd_ballot(predicate != 0); 
    10927 
    10928 program_source:480:9: error: illegal string literal in 'asm' 
    10929 __asm("air.simdgroup.barrier"); 
    10930 ^~~~~~~~~~~~~~~~~~~~~~~ 
    10931 program_source:487:3: error: implicit declaration of function
    10932 '__metal_simdgroup_barrier' is invalid in OpenCL 
    10933 __metal_simdgroup_barrier(flags, 1); 
    10934 
    10935 program_source:487:3: note: did you mean 'simdgroup_barrier'? 
    10936 program_source:483:6: note: 'simdgroup_barrier' declared here 
    10937 void simdgroup_barrier(int flags) { 
    10938 
    10939 program_source:681:9: error: implicit declaration of function 'simd_is_first'
    10940 is invalid in OpenCL 
    10941 if (simd_is_first()) { 
    10942 
    10943 program_source:673:45: warning: comparison of integers of different signs:
    10944 '__private unsigned int' and '__private int' [-Wsign-compare] 
    10945 for (unsigned int index = thread; index < bufferSize; index +=
    10946 get_local_size(0)) 
    10947 ~~~~~ ^ ~~~~~~~~~~ 
    10948 program_source:685:45: warning: comparison of integers of different signs:
    10949 'unsigned int' and '__private int' [-Wsign-compare] 
    10950 if (thread%(32*2) == 0 && thread+32 < workGroupSize) 
    10951 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    10952 program_source:689:45: warning: comparison of integers of different signs:
    10953 'unsigned int' and '__private int' [-Wsign-compare] 
    10954 if (thread%(64*2) == 0 && thread+64 < workGroupSize) 
    10955 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    10956 program_source:693:47: warning: comparison of integers of different signs:
    10957 'unsigned int' and '__private int' [-Wsign-compare] 
    10958 if (thread%(128*2) == 0 && thread+128 < workGroupSize) 
    10959 ~~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    10960  
    10961  
    10962 openmm.OpenMMException: Error compiling kernel: program_source:279:1: error:
    10963 illegal string literal in 'asm' 
    10964 DECLARE_REDUCTION_BASE(sum) 
    10965 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10966 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    10967 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    10968 
    10969 program_source:263:44: note: expanded from macro '\ 
    10970 DECLARE_I_REDUCTION_BASE' 
    10971 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    10972 
    10973 program_source:217:40: note: expanded from macro '\ 
    10974 EXPOSE_FUNCTION_I_ARGS_1' 
    10975 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    10976 
    10977 program_source:164:9: note: expanded from macro '\ 
    10978 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    10979 __asm("air." #EXPR "." #AIR_TYPE); \ 
    10980 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10981 program_source:279:1: error: illegal string literal in 'asm' 
    10982 DECLARE_REDUCTION_BASE(sum) 
    10983 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10984 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    10985 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    10986 
    10987 program_source:263:44: note: expanded from macro '\ 
    10988 DECLARE_I_REDUCTION_BASE' 
    10989 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    10990 
    10991 program_source:218:51: note: expanded from macro '\ 
    10992 EXPOSE_FUNCTION_I_ARGS_1' 
    10993 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    10994 
    10995 program_source:164:9: note: expanded from macro '\ 
    10996 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    10997 __asm("air." #EXPR "." #AIR_TYPE); \ 
    10998 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    10999 program_source:279:1: error: illegal string literal in 'asm' 
    11000 DECLARE_REDUCTION_BASE(sum) 
    11001 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11002 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11003 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11004 
    11005 program_source:264:43: note: expanded from macro '\ 
    11006 DECLARE_I_REDUCTION_BASE' 
    11007 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11008 
    11009 program_source:217:40: note: expanded from macro '\ 
    11010 EXPOSE_FUNCTION_I_ARGS_1' 
    11011 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11012 
    11013 program_source:164:9: note: expanded from macro '\ 
    11014 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11015 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11016 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11017 program_source:279:1: error: illegal string literal in 'asm' 
    11018 DECLARE_REDUCTION_BASE(sum) 
    11019 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11020 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11021 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11022 
    11023 program_source:264:43: note: expanded from macro '\ 
    11024 DECLARE_I_REDUCTION_BASE' 
    11025 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11026 
    11027 program_source:218:51: note: expanded from macro '\ 
    11028 EXPOSE_FUNCTION_I_ARGS_1' 
    11029 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11030 
    11031 program_source:164:9: note: expanded from macro '\ 
    11032 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11033 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11034 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11035 program_source:279:1: error: illegal string literal in 'asm' 
    11036 DECLARE_REDUCTION_BASE(sum) 
    11037 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11038 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11039 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11040 
    11041 program_source:267:44: note: expanded from macro '\ 
    11042 DECLARE_F_REDUCTION_BASE' 
    11043 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11044 
    11045 program_source:221:40: note: expanded from macro '\ 
    11046 EXPOSE_FUNCTION_F_ARGS_1' 
    11047 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11048 
    11049 program_source:164:9: note: expanded from macro '\ 
    11050 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11051 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11052 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11053 program_source:279:1: error: illegal string literal in 'asm' 
    11054 DECLARE_REDUCTION_BASE(sum) 
    11055 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11056 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11057 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11058 
    11059 program_source:268:43: note: expanded from macro '\ 
    11060 DECLARE_F_REDUCTION_BASE' 
    11061 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11062 
    11063 program_source:221:40: note: expanded from macro '\ 
    11064 EXPOSE_FUNCTION_F_ARGS_1' 
    11065 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11066 
    11067 program_source:164:9: note: expanded from macro '\ 
    11068 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11069 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11070 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11071 program_source:280:1: error: illegal string literal in 'asm' 
    11072 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11073 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11074 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11075 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11076 
    11077 program_source:263:44: note: expanded from macro '\ 
    11078 DECLARE_I_REDUCTION_BASE' 
    11079 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11080 
    11081 program_source:217:40: note: expanded from macro '\ 
    11082 EXPOSE_FUNCTION_I_ARGS_1' 
    11083 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11084 
    11085 program_source:164:9: note: expanded from macro '\ 
    11086 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11087 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11088 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11089 program_source:280:1: error: illegal string literal in 'asm' 
    11090 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11091 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11092 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11093 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11094 
    11095 program_source:263:44: note: expanded from macro '\ 
    11096 DECLARE_I_REDUCTION_BASE' 
    11097 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11098 
    11099 program_source:218:51: note: expanded from macro '\ 
    11100 EXPOSE_FUNCTION_I_ARGS_1' 
    11101 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11102 
    11103 program_source:164:9: note: expanded from macro '\ 
    11104 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11105 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11106 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11107 program_source:280:1: error: illegal string literal in 'asm' 
    11108 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11109 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11110 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11111 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11112 
    11113 program_source:264:43: note: expanded from macro '\ 
    11114 DECLARE_I_REDUCTION_BASE' 
    11115 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11116 
    11117 program_source:217:40: note: expanded from macro '\ 
    11118 EXPOSE_FUNCTION_I_ARGS_1' 
    11119 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11120 
    11121 program_source:164:9: note: expanded from macro '\ 
    11122 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11123 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11124 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11125 program_source:280:1: error: illegal string literal in 'asm' 
    11126 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11127 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11128 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11129 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11130 
    11131 program_source:264:43: note: expanded from macro '\ 
    11132 DECLARE_I_REDUCTION_BASE' 
    11133 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11134 
    11135 program_source:218:51: note: expanded from macro '\ 
    11136 EXPOSE_FUNCTION_I_ARGS_1' 
    11137 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11138 
    11139 program_source:164:9: note: expanded from macro '\ 
    11140 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11141 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11142 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11143 program_source:280:1: error: illegal string literal in 'asm' 
    11144 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11145 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11146 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11147 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11148 
    11149 program_source:267:44: note: expanded from macro '\ 
    11150 DECLARE_F_REDUCTION_BASE' 
    11151 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11152 
    11153 program_source:221:40: note: expanded from macro '\ 
    11154 EXPOSE_FUNCTION_F_ARGS_1' 
    11155 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11156 
    11157 program_source:164:9: note: expanded from macro '\ 
    11158 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11159 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11160 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11161 program_source:280:1: error: illegal string literal in 'asm' 
    11162 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    11163 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11164 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11165 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11166 
    11167 program_source:268:43: note: expanded from macro '\ 
    11168 DECLARE_F_REDUCTION_BASE' 
    11169 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11170 
    11171 program_source:221:40: note: expanded from macro '\ 
    11172 EXPOSE_FUNCTION_F_ARGS_1' 
    11173 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11174 
    11175 program_source:164:9: note: expanded from macro '\ 
    11176 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11177 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11178 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11179 program_source:281:1: error: illegal string literal in 'asm' 
    11180 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11181 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11182 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11183 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11184 
    11185 program_source:263:44: note: expanded from macro '\ 
    11186 DECLARE_I_REDUCTION_BASE' 
    11187 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11188 
    11189 program_source:217:40: note: expanded from macro '\ 
    11190 EXPOSE_FUNCTION_I_ARGS_1' 
    11191 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11192 
    11193 program_source:164:9: note: expanded from macro '\ 
    11194 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11195 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11196 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11197 program_source:281:1: error: illegal string literal in 'asm' 
    11198 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11199 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11200 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11201 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11202 
    11203 program_source:263:44: note: expanded from macro '\ 
    11204 DECLARE_I_REDUCTION_BASE' 
    11205 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11206 
    11207 program_source:218:51: note: expanded from macro '\ 
    11208 EXPOSE_FUNCTION_I_ARGS_1' 
    11209 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11210 
    11211 program_source:164:9: note: expanded from macro '\ 
    11212 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11213 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11214 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11215 program_source:281:1: error: illegal string literal in 'asm' 
    11216 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11217 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11218 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11219 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11220 
    11221 program_source:264:43: note: expanded from macro '\ 
    11222 DECLARE_I_REDUCTION_BASE' 
    11223 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11224 
    11225 program_source:217:40: note: expanded from macro '\ 
    11226 EXPOSE_FUNCTION_I_ARGS_1' 
    11227 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11228 
    11229 program_source:164:9: note: expanded from macro '\ 
    11230 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11231 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11232 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11233 program_source:281:1: error: illegal string literal in 'asm' 
    11234 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11235 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11236 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11237 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11238 
    11239 program_source:264:43: note: expanded from macro '\ 
    11240 DECLARE_I_REDUCTION_BASE' 
    11241 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11242 
    11243 program_source:218:51: note: expanded from macro '\ 
    11244 EXPOSE_FUNCTION_I_ARGS_1' 
    11245 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11246 
    11247 program_source:164:9: note: expanded from macro '\ 
    11248 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11249 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11250 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11251 program_source:281:1: error: illegal string literal in 'asm' 
    11252 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11253 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11254 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11255 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11256 
    11257 program_source:267:44: note: expanded from macro '\ 
    11258 DECLARE_F_REDUCTION_BASE' 
    11259 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11260 
    11261 program_source:221:40: note: expanded from macro '\ 
    11262 EXPOSE_FUNCTION_F_ARGS_1' 
    11263 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11264 
    11265 program_source:164:9: note: expanded from macro '\ 
    11266 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11267 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11268 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11269 program_source:281:1: error: illegal string literal in 'asm' 
    11270 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    11271 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11272 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11273 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11274 
    11275 program_source:268:43: note: expanded from macro '\ 
    11276 DECLARE_F_REDUCTION_BASE' 
    11277 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11278 
    11279 program_source:221:40: note: expanded from macro '\ 
    11280 EXPOSE_FUNCTION_F_ARGS_1' 
    11281 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11282 
    11283 program_source:164:9: note: expanded from macro '\ 
    11284 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11285 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11286 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11287 program_source:282:1: error: illegal string literal in 'asm' 
    11288 DECLARE_REDUCTION_BASE(min) 
    11289 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11290 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11291 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11292 
    11293 program_source:263:44: note: expanded from macro '\ 
    11294 DECLARE_I_REDUCTION_BASE' 
    11295 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11296 
    11297 program_source:217:40: note: expanded from macro '\ 
    11298 EXPOSE_FUNCTION_I_ARGS_1' 
    11299 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11300 
    11301 program_source:164:9: note: expanded from macro '\ 
    11302 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11303 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11304 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11305 program_source:282:1: error: illegal string literal in 'asm' 
    11306 DECLARE_REDUCTION_BASE(min) 
    11307 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11308 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11309 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11310 
    11311 program_source:263:44: note: expanded from macro '\ 
    11312 DECLARE_I_REDUCTION_BASE' 
    11313 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11314 
    11315 program_source:218:51: note: expanded from macro '\ 
    11316 EXPOSE_FUNCTION_I_ARGS_1' 
    11317 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11318 
    11319 program_source:164:9: note: expanded from macro '\ 
    11320 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11321 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11322 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11323 program_source:282:1: error: illegal string literal in 'asm' 
    11324 DECLARE_REDUCTION_BASE(min) 
    11325 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11326 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11327 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11328 
    11329 program_source:264:43: note: expanded from macro '\ 
    11330 DECLARE_I_REDUCTION_BASE' 
    11331 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11332 
    11333 program_source:217:40: note: expanded from macro '\ 
    11334 EXPOSE_FUNCTION_I_ARGS_1' 
    11335 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11336 
    11337 program_source:164:9: note: expanded from macro '\ 
    11338 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11339 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11340 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11341 program_source:282:1: error: illegal string literal in 'asm' 
    11342 DECLARE_REDUCTION_BASE(min) 
    11343 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11344 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11345 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11346 
    11347 program_source:264:43: note: expanded from macro '\ 
    11348 DECLARE_I_REDUCTION_BASE' 
    11349 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11350 
    11351 program_source:218:51: note: expanded from macro '\ 
    11352 EXPOSE_FUNCTION_I_ARGS_1' 
    11353 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11354 
    11355 program_source:164:9: note: expanded from macro '\ 
    11356 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11357 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11358 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11359 program_source:282:1: error: illegal string literal in 'asm' 
    11360 DECLARE_REDUCTION_BASE(min) 
    11361 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11362 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11363 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11364 
    11365 program_source:267:44: note: expanded from macro '\ 
    11366 DECLARE_F_REDUCTION_BASE' 
    11367 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11368 
    11369 program_source:221:40: note: expanded from macro '\ 
    11370 EXPOSE_FUNCTION_F_ARGS_1' 
    11371 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11372 
    11373 program_source:164:9: note: expanded from macro '\ 
    11374 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11375 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11376 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11377 program_source:282:1: error: illegal string literal in 'asm' 
    11378 DECLARE_REDUCTION_BASE(min) 
    11379 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11380 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11381 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11382 
    11383 program_source:268:43: note: expanded from macro '\ 
    11384 DECLARE_F_REDUCTION_BASE' 
    11385 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11386 
    11387 program_source:221:40: note: expanded from macro '\ 
    11388 EXPOSE_FUNCTION_F_ARGS_1' 
    11389 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11390 
    11391 program_source:164:9: note: expanded from macro '\ 
    11392 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11393 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11394 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11395 program_source:283:1: error: illegal string literal in 'asm' 
    11396 DECLARE_REDUCTION_BASE(max) 
    11397 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11398 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11399 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11400 
    11401 program_source:263:44: note: expanded from macro '\ 
    11402 DECLARE_I_REDUCTION_BASE' 
    11403 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11404 
    11405 program_source:217:40: note: expanded from macro '\ 
    11406 EXPOSE_FUNCTION_I_ARGS_1' 
    11407 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11408 
    11409 program_source:164:9: note: expanded from macro '\ 
    11410 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11411 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11412 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11413 program_source:283:1: error: illegal string literal in 'asm' 
    11414 DECLARE_REDUCTION_BASE(max) 
    11415 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11416 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11417 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11418 
    11419 program_source:263:44: note: expanded from macro '\ 
    11420 DECLARE_I_REDUCTION_BASE' 
    11421 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11422 
    11423 program_source:218:51: note: expanded from macro '\ 
    11424 EXPOSE_FUNCTION_I_ARGS_1' 
    11425 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11426 
    11427 program_source:164:9: note: expanded from macro '\ 
    11428 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11429 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11430 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11431 program_source:283:1: error: illegal string literal in 'asm' 
    11432 DECLARE_REDUCTION_BASE(max) 
    11433 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11434 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11435 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11436 
    11437 program_source:264:43: note: expanded from macro '\ 
    11438 DECLARE_I_REDUCTION_BASE' 
    11439 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11440 
    11441 program_source:217:40: note: expanded from macro '\ 
    11442 EXPOSE_FUNCTION_I_ARGS_1' 
    11443 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11444 
    11445 program_source:164:9: note: expanded from macro '\ 
    11446 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11447 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11448 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11449 program_source:283:1: error: illegal string literal in 'asm' 
    11450 DECLARE_REDUCTION_BASE(max) 
    11451 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11452 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11453 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11454 
    11455 program_source:264:43: note: expanded from macro '\ 
    11456 DECLARE_I_REDUCTION_BASE' 
    11457 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11458 
    11459 program_source:218:51: note: expanded from macro '\ 
    11460 EXPOSE_FUNCTION_I_ARGS_1' 
    11461 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11462 
    11463 program_source:164:9: note: expanded from macro '\ 
    11464 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11465 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11466 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11467 program_source:283:1: error: illegal string literal in 'asm' 
    11468 DECLARE_REDUCTION_BASE(max) 
    11469 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11470 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11471 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11472 
    11473 program_source:267:44: note: expanded from macro '\ 
    11474 DECLARE_F_REDUCTION_BASE' 
    11475 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11476 
    11477 program_source:221:40: note: expanded from macro '\ 
    11478 EXPOSE_FUNCTION_F_ARGS_1' 
    11479 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11480 
    11481 program_source:164:9: note: expanded from macro '\ 
    11482 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11483 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11484 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11485 program_source:283:1: error: illegal string literal in 'asm' 
    11486 DECLARE_REDUCTION_BASE(max) 
    11487 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11488 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11489 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11490 
    11491 program_source:268:43: note: expanded from macro '\ 
    11492 DECLARE_F_REDUCTION_BASE' 
    11493 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11494 
    11495 program_source:221:40: note: expanded from macro '\ 
    11496 EXPOSE_FUNCTION_F_ARGS_1' 
    11497 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11498 
    11499 program_source:164:9: note: expanded from macro '\ 
    11500 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11501 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11502 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11503 program_source:285:1: error: illegal string literal in 'asm' 
    11504 DECLARE_REDUCTION_BASE(product) 
    11505 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11506 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11507 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11508 
    11509 program_source:263:44: note: expanded from macro '\ 
    11510 DECLARE_I_REDUCTION_BASE' 
    11511 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11512 
    11513 program_source:217:40: note: expanded from macro '\ 
    11514 EXPOSE_FUNCTION_I_ARGS_1' 
    11515 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11516 
    11517 program_source:164:9: note: expanded from macro '\ 
    11518 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11519 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11520 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11521 program_source:285:1: error: illegal string literal in 'asm' 
    11522 DECLARE_REDUCTION_BASE(product) 
    11523 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11524 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11525 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11526 
    11527 program_source:263:44: note: expanded from macro '\ 
    11528 DECLARE_I_REDUCTION_BASE' 
    11529 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11530 
    11531 program_source:218:51: note: expanded from macro '\ 
    11532 EXPOSE_FUNCTION_I_ARGS_1' 
    11533 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11534 
    11535 program_source:164:9: note: expanded from macro '\ 
    11536 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11537 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11538 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11539 program_source:285:1: error: illegal string literal in 'asm' 
    11540 DECLARE_REDUCTION_BASE(product) 
    11541 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11542 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11543 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11544 
    11545 program_source:264:43: note: expanded from macro '\ 
    11546 DECLARE_I_REDUCTION_BASE' 
    11547 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11548 
    11549 program_source:217:40: note: expanded from macro '\ 
    11550 EXPOSE_FUNCTION_I_ARGS_1' 
    11551 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11552 
    11553 program_source:164:9: note: expanded from macro '\ 
    11554 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11555 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11556 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11557 program_source:285:1: error: illegal string literal in 'asm' 
    11558 DECLARE_REDUCTION_BASE(product) 
    11559 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11560 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11561 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11562 
    11563 program_source:264:43: note: expanded from macro '\ 
    11564 DECLARE_I_REDUCTION_BASE' 
    11565 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11566 
    11567 program_source:218:51: note: expanded from macro '\ 
    11568 EXPOSE_FUNCTION_I_ARGS_1' 
    11569 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11570 
    11571 program_source:164:9: note: expanded from macro '\ 
    11572 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11573 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11574 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11575 program_source:285:1: error: illegal string literal in 'asm' 
    11576 DECLARE_REDUCTION_BASE(product) 
    11577 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11578 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11579 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11580 
    11581 program_source:267:44: note: expanded from macro '\ 
    11582 DECLARE_F_REDUCTION_BASE' 
    11583 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11584 
    11585 program_source:221:40: note: expanded from macro '\ 
    11586 EXPOSE_FUNCTION_F_ARGS_1' 
    11587 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11588 
    11589 program_source:164:9: note: expanded from macro '\ 
    11590 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11591 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11592 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11593 program_source:285:1: error: illegal string literal in 'asm' 
    11594 DECLARE_REDUCTION_BASE(product) 
    11595 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11596 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11597 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11598 
    11599 program_source:268:43: note: expanded from macro '\ 
    11600 DECLARE_F_REDUCTION_BASE' 
    11601 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11602 
    11603 program_source:221:40: note: expanded from macro '\ 
    11604 EXPOSE_FUNCTION_F_ARGS_1' 
    11605 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11606 
    11607 program_source:164:9: note: expanded from macro '\ 
    11608 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11609 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11610 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11611 program_source:286:1: error: illegal string literal in 'asm' 
    11612 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11613 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11614 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11615 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11616 
    11617 program_source:263:44: note: expanded from macro '\ 
    11618 DECLARE_I_REDUCTION_BASE' 
    11619 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11620 
    11621 program_source:217:40: note: expanded from macro '\ 
    11622 EXPOSE_FUNCTION_I_ARGS_1' 
    11623 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11624 
    11625 program_source:164:9: note: expanded from macro '\ 
    11626 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11627 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11628 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11629 program_source:286:1: error: illegal string literal in 'asm' 
    11630 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11631 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11632 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11633 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11634 
    11635 program_source:263:44: note: expanded from macro '\ 
    11636 DECLARE_I_REDUCTION_BASE' 
    11637 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11638 
    11639 program_source:218:51: note: expanded from macro '\ 
    11640 EXPOSE_FUNCTION_I_ARGS_1' 
    11641 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11642 
    11643 program_source:164:9: note: expanded from macro '\ 
    11644 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11645 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11646 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11647 program_source:286:1: error: illegal string literal in 'asm' 
    11648 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11649 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11650 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11651 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11652 
    11653 program_source:264:43: note: expanded from macro '\ 
    11654 DECLARE_I_REDUCTION_BASE' 
    11655 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11656 
    11657 program_source:217:40: note: expanded from macro '\ 
    11658 EXPOSE_FUNCTION_I_ARGS_1' 
    11659 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11660 
    11661 program_source:164:9: note: expanded from macro '\ 
    11662 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11663 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11664 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11665 program_source:286:1: error: illegal string literal in 'asm' 
    11666 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11667 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11668 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11669 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11670 
    11671 program_source:264:43: note: expanded from macro '\ 
    11672 DECLARE_I_REDUCTION_BASE' 
    11673 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11674 
    11675 program_source:218:51: note: expanded from macro '\ 
    11676 EXPOSE_FUNCTION_I_ARGS_1' 
    11677 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11678 
    11679 program_source:164:9: note: expanded from macro '\ 
    11680 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11681 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11682 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11683 program_source:286:1: error: illegal string literal in 'asm' 
    11684 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11685 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11686 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11687 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11688 
    11689 program_source:267:44: note: expanded from macro '\ 
    11690 DECLARE_F_REDUCTION_BASE' 
    11691 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11692 
    11693 program_source:221:40: note: expanded from macro '\ 
    11694 EXPOSE_FUNCTION_F_ARGS_1' 
    11695 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11696 
    11697 program_source:164:9: note: expanded from macro '\ 
    11698 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11699 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11700 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11701 program_source:286:1: error: illegal string literal in 'asm' 
    11702 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    11703 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11704 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11705 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11706 
    11707 program_source:268:43: note: expanded from macro '\ 
    11708 DECLARE_F_REDUCTION_BASE' 
    11709 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11710 
    11711 program_source:221:40: note: expanded from macro '\ 
    11712 EXPOSE_FUNCTION_F_ARGS_1' 
    11713 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11714 
    11715 program_source:164:9: note: expanded from macro '\ 
    11716 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11717 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11718 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11719 program_source:287:1: error: illegal string literal in 'asm' 
    11720 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    11721 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11722 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11723 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11724 
    11725 program_source:263:44: note: expanded from macro '\ 
    11726 DECLARE_I_REDUCTION_BASE' 
    11727 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11728 
    11729 program_source:217:40: note: expanded from macro '\ 
    11730 EXPOSE_FUNCTION_I_ARGS_1' 
    11731 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11732 
    11733 program_source:164:9: note: expanded from macro '\ 
    11734 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11735 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11736 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11737 program_source:287:1: error: illegal string literal in 'asm' 
    11738 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    11739 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11740 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11741 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11742 
    11743 program_source:263:44: note: expanded from macro '\ 
    11744 DECLARE_I_REDUCTION_BASE' 
    11745 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11746 
    11747 program_source:218:51: note: expanded from macro '\ 
    11748 EXPOSE_FUNCTION_I_ARGS_1' 
    11749 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11750 
    11751 program_source:164:9: note: expanded from macro '\ 
    11752 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11753 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11754 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11755 program_source:287:1: error: illegal string literal in 'asm' 
    11756 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    11757 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11758 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11759 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11760 
    11761 program_source:264:43: note: expanded from macro '\ 
    11762 DECLARE_I_REDUCTION_BASE' 
    11763 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11764 
    11765 program_source:217:40: note: expanded from macro '\ 
    11766 EXPOSE_FUNCTION_I_ARGS_1' 
    11767 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11768 
    11769 program_source:164:9: note: expanded from macro '\ 
    11770 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11771 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11772 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11773 program_source:287:1: error: illegal string literal in 'asm' 
    11774 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    11775 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11776 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11777 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    11778 
    11779 program_source:264:43: note: expanded from macro '\ 
    11780 DECLARE_I_REDUCTION_BASE' 
    11781 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11782 
    11783 program_source:218:51: note: expanded from macro '\ 
    11784 EXPOSE_FUNCTION_I_ARGS_1' 
    11785 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11786 
    11787 program_source:164:9: note: expanded from macro '\ 
    11788 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11789 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11790 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11791 program_source:287:1: error: illegal string literal in 'asm' 
    11792 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    11793 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11794 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11795 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11796 
    11797 program_source:267:44: note: expanded from macro '\ 
    11798 DECLARE_F_REDUCTION_BASE' 
    11799 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    11800 
    11801 program_source:221:40: note: expanded from macro '\ 
    11802 EXPOSE_FUNCTION_F_ARGS_1' 
    11803 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11804 
    11805 program_source:164:9: note: expanded from macro '\ 
    11806 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11807 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11808 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11809 program_source:287:1: error: illegal string literal in 'asm' 
    11810 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    11811 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11812 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    11813 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11814 
    11815 program_source:268:43: note: expanded from macro '\ 
    11816 DECLARE_F_REDUCTION_BASE' 
    11817 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    11818 
    11819 program_source:221:40: note: expanded from macro '\ 
    11820 EXPOSE_FUNCTION_F_ARGS_1' 
    11821 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    11822 
    11823 program_source:164:9: note: expanded from macro '\ 
    11824 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11825 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11826 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11827 program_source:288:1: error: illegal string literal in 'asm' 
    11828 DECLARE_I_REDUCTION_BASE(and) 
    11829 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11830 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11831 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11832 
    11833 program_source:217:40: note: expanded from macro '\ 
    11834 EXPOSE_FUNCTION_I_ARGS_1' 
    11835 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11836 
    11837 program_source:164:9: note: expanded from macro '\ 
    11838 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11839 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11840 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11841 program_source:288:1: error: illegal string literal in 'asm' 
    11842 DECLARE_I_REDUCTION_BASE(and) 
    11843 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11844 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11845 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11846 
    11847 program_source:218:51: note: expanded from macro '\ 
    11848 EXPOSE_FUNCTION_I_ARGS_1' 
    11849 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11850 
    11851 program_source:164:9: note: expanded from macro '\ 
    11852 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11853 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11854 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11855 program_source:288:1: error: illegal string literal in 'asm' 
    11856 DECLARE_I_REDUCTION_BASE(and) 
    11857 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11858 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11859 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11860 
    11861 program_source:217:40: note: expanded from macro '\ 
    11862 EXPOSE_FUNCTION_I_ARGS_1' 
    11863 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11864 
    11865 program_source:164:9: note: expanded from macro '\ 
    11866 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11867 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11868 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11869 program_source:288:1: error: illegal string literal in 'asm' 
    11870 DECLARE_I_REDUCTION_BASE(and) 
    11871 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11872 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11873 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11874 
    11875 program_source:218:51: note: expanded from macro '\ 
    11876 EXPOSE_FUNCTION_I_ARGS_1' 
    11877 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11878 
    11879 program_source:164:9: note: expanded from macro '\ 
    11880 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11881 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11882 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11883 program_source:289:1: error: illegal string literal in 'asm' 
    11884 DECLARE_I_REDUCTION_BASE(or) 
    11885 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11886 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11887 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11888 
    11889 program_source:217:40: note: expanded from macro '\ 
    11890 EXPOSE_FUNCTION_I_ARGS_1' 
    11891 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11892 
    11893 program_source:164:9: note: expanded from macro '\ 
    11894 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11895 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11896 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11897 program_source:289:1: error: illegal string literal in 'asm' 
    11898 DECLARE_I_REDUCTION_BASE(or) 
    11899 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11900 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11901 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11902 
    11903 program_source:218:51: note: expanded from macro '\ 
    11904 EXPOSE_FUNCTION_I_ARGS_1' 
    11905 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11906 
    11907 program_source:164:9: note: expanded from macro '\ 
    11908 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11909 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11910 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11911 program_source:289:1: error: illegal string literal in 'asm' 
    11912 DECLARE_I_REDUCTION_BASE(or) 
    11913 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11914 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11915 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11916 
    11917 program_source:217:40: note: expanded from macro '\ 
    11918 EXPOSE_FUNCTION_I_ARGS_1' 
    11919 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11920 
    11921 program_source:164:9: note: expanded from macro '\ 
    11922 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11923 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11924 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11925 program_source:289:1: error: illegal string literal in 'asm' 
    11926 DECLARE_I_REDUCTION_BASE(or) 
    11927 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11928 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11929 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11930 
    11931 program_source:218:51: note: expanded from macro '\ 
    11932 EXPOSE_FUNCTION_I_ARGS_1' 
    11933 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11934 
    11935 program_source:164:9: note: expanded from macro '\ 
    11936 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11937 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11938 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11939 program_source:290:1: error: illegal string literal in 'asm' 
    11940 DECLARE_I_REDUCTION_BASE(xor) 
    11941 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11942 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11943 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11944 
    11945 program_source:217:40: note: expanded from macro '\ 
    11946 EXPOSE_FUNCTION_I_ARGS_1' 
    11947 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11948 
    11949 program_source:164:9: note: expanded from macro '\ 
    11950 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11951 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11952 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11953 program_source:290:1: error: illegal string literal in 'asm' 
    11954 DECLARE_I_REDUCTION_BASE(xor) 
    11955 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11956 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11957 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    11958 
    11959 program_source:218:51: note: expanded from macro '\ 
    11960 EXPOSE_FUNCTION_I_ARGS_1' 
    11961 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11962 
    11963 program_source:164:9: note: expanded from macro '\ 
    11964 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11965 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11966 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11967 program_source:290:1: error: illegal string literal in 'asm' 
    11968 DECLARE_I_REDUCTION_BASE(xor) 
    11969 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11970 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11971 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11972 
    11973 program_source:217:40: note: expanded from macro '\ 
    11974 EXPOSE_FUNCTION_I_ARGS_1' 
    11975 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    11976 
    11977 program_source:164:9: note: expanded from macro '\ 
    11978 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11979 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11980 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11981 program_source:290:1: error: illegal string literal in 'asm' 
    11982 DECLARE_I_REDUCTION_BASE(xor) 
    11983 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11984 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    11985 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    11986 
    11987 program_source:218:51: note: expanded from macro '\ 
    11988 EXPOSE_FUNCTION_I_ARGS_1' 
    11989 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    11990 
    11991 program_source:164:9: note: expanded from macro '\ 
    11992 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    11993 __asm("air." #EXPR "." #AIR_TYPE); \ 
    11994 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11995 program_source:292:1: error: illegal string literal in 'asm' 
    11996 DECLARE_SHUFFLE_BASE(broadcast) 
    11997 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    11998 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    11999 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12000 
    12001 program_source:224:38: note: expanded from macro '\ 
    12002 EXPOSE_FUNCTION_ARGS_2' 
    12003 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12004 
    12005 program_source:168:9: note: expanded from macro '\ 
    12006 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12007 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12008 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12009 program_source:292:1: error: illegal string literal in 'asm' 
    12010 DECLARE_SHUFFLE_BASE(broadcast) 
    12011 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12012 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12013 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12014 
    12015 program_source:225:51: note: expanded from macro '\ 
    12016 EXPOSE_FUNCTION_ARGS_2' 
    12017 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12018 
    12019 program_source:168:9: note: expanded from macro '\ 
    12020 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12021 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12022 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12023 program_source:292:1: error: illegal string literal in 'asm' 
    12024 DECLARE_SHUFFLE_BASE(broadcast) 
    12025 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12026 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12027 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12028 
    12029 program_source:226:52: note: expanded from macro '\ 
    12030 EXPOSE_FUNCTION_ARGS_2' 
    12031 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12032 
    12033 program_source:168:9: note: expanded from macro '\ 
    12034 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12035 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12036 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12037 program_source:292:1: error: illegal string literal in 'asm' 
    12038 DECLARE_SHUFFLE_BASE(broadcast) 
    12039 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12040 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12041 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12042 
    12043 program_source:224:38: note: expanded from macro '\ 
    12044 EXPOSE_FUNCTION_ARGS_2' 
    12045 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12046 
    12047 program_source:168:9: note: expanded from macro '\ 
    12048 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12049 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12050 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12051 program_source:292:1: error: illegal string literal in 'asm' 
    12052 DECLARE_SHUFFLE_BASE(broadcast) 
    12053 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12054 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12055 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12056 
    12057 program_source:225:51: note: expanded from macro '\ 
    12058 EXPOSE_FUNCTION_ARGS_2' 
    12059 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12060 
    12061 program_source:168:9: note: expanded from macro '\ 
    12062 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12063 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12064 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12065 program_source:292:1: error: illegal string literal in 'asm' 
    12066 DECLARE_SHUFFLE_BASE(broadcast) 
    12067 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12068 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12069 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12070 
    12071 program_source:226:52: note: expanded from macro '\ 
    12072 EXPOSE_FUNCTION_ARGS_2' 
    12073 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12074 
    12075 program_source:168:9: note: expanded from macro '\ 
    12076 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12077 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12078 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12079 program_source:293:1: error: illegal string literal in 'asm' 
    12080 DECLARE_REDUCTION_BASE(broadcast_first) 
    12081 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12082 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12083 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12084 
    12085 program_source:263:44: note: expanded from macro '\ 
    12086 DECLARE_I_REDUCTION_BASE' 
    12087 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12088 
    12089 program_source:217:40: note: expanded from macro '\ 
    12090 EXPOSE_FUNCTION_I_ARGS_1' 
    12091 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12092 
    12093 program_source:164:9: note: expanded from macro '\ 
    12094 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12095 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12096 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12097 program_source:293:1: error: illegal string literal in 'asm' 
    12098 DECLARE_REDUCTION_BASE(broadcast_first) 
    12099 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12100 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12101 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12102 
    12103 program_source:263:44: note: expanded from macro '\ 
    12104 DECLARE_I_REDUCTION_BASE' 
    12105 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12106 
    12107 program_source:218:51: note: expanded from macro '\ 
    12108 EXPOSE_FUNCTION_I_ARGS_1' 
    12109 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12110 
    12111 program_source:164:9: note: expanded from macro '\ 
    12112 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12113 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12114 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12115 program_source:293:1: error: illegal string literal in 'asm' 
    12116 DECLARE_REDUCTION_BASE(broadcast_first) 
    12117 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12118 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12119 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12120 
    12121 program_source:264:43: note: expanded from macro '\ 
    12122 DECLARE_I_REDUCTION_BASE' 
    12123 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12124 
    12125 program_source:217:40: note: expanded from macro '\ 
    12126 EXPOSE_FUNCTION_I_ARGS_1' 
    12127 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    12128 
    12129 program_source:164:9: note: expanded from macro '\ 
    12130 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12131 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12132 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12133 program_source:293:1: error: illegal string literal in 'asm' 
    12134 DECLARE_REDUCTION_BASE(broadcast_first) 
    12135 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12136 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12137 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    12138 
    12139 program_source:264:43: note: expanded from macro '\ 
    12140 DECLARE_I_REDUCTION_BASE' 
    12141 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    12142 
    12143 program_source:218:51: note: expanded from macro '\ 
    12144 EXPOSE_FUNCTION_I_ARGS_1' 
    12145 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    12146 
    12147 program_source:164:9: note: expanded from macro '\ 
    12148 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12149 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12150 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12151 program_source:293:1: error: illegal string literal in 'asm' 
    12152 DECLARE_REDUCTION_BASE(broadcast_first) 
    12153 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12154 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12155 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12156 
    12157 program_source:267:44: note: expanded from macro '\ 
    12158 DECLARE_F_REDUCTION_BASE' 
    12159 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    12160 
    12161 program_source:221:40: note: expanded from macro '\ 
    12162 EXPOSE_FUNCTION_F_ARGS_1' 
    12163 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    12164 
    12165 program_source:164:9: note: expanded from macro '\ 
    12166 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12167 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12168 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12169 program_source:293:1: error: illegal string literal in 'asm' 
    12170 DECLARE_REDUCTION_BASE(broadcast_first) 
    12171 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12172 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    12173 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    12174 
    12175 program_source:268:43: note: expanded from macro '\ 
    12176 DECLARE_F_REDUCTION_BASE' 
    12177 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    12178 
    12179 program_source:221:40: note: expanded from macro '\ 
    12180 EXPOSE_FUNCTION_F_ARGS_1' 
    12181 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    12182 
    12183 program_source:164:9: note: expanded from macro '\ 
    12184 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    12185 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12186 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12187 program_source:295:1: error: illegal string literal in 'asm' 
    12188 DECLARE_SHUFFLE_BASE(shuffle) 
    12189 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12190 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12191 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12192 
    12193 program_source:224:38: note: expanded from macro '\ 
    12194 EXPOSE_FUNCTION_ARGS_2' 
    12195 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12196 
    12197 program_source:168:9: note: expanded from macro '\ 
    12198 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12199 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12200 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12201 program_source:295:1: error: illegal string literal in 'asm' 
    12202 DECLARE_SHUFFLE_BASE(shuffle) 
    12203 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12204 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12205 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12206 
    12207 program_source:225:51: note: expanded from macro '\ 
    12208 EXPOSE_FUNCTION_ARGS_2' 
    12209 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12210 
    12211 program_source:168:9: note: expanded from macro '\ 
    12212 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12213 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12214 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12215 program_source:295:1: error: illegal string literal in 'asm' 
    12216 DECLARE_SHUFFLE_BASE(shuffle) 
    12217 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12218 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12219 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12220 
    12221 program_source:226:52: note: expanded from macro '\ 
    12222 EXPOSE_FUNCTION_ARGS_2' 
    12223 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12224 
    12225 program_source:168:9: note: expanded from macro '\ 
    12226 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12227 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12228 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12229 program_source:295:1: error: illegal string literal in 'asm' 
    12230 DECLARE_SHUFFLE_BASE(shuffle) 
    12231 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12232 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12233 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12234 
    12235 program_source:224:38: note: expanded from macro '\ 
    12236 EXPOSE_FUNCTION_ARGS_2' 
    12237 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12238 
    12239 program_source:168:9: note: expanded from macro '\ 
    12240 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12241 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12242 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12243 program_source:295:1: error: illegal string literal in 'asm' 
    12244 DECLARE_SHUFFLE_BASE(shuffle) 
    12245 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12246 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12247 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12248 
    12249 program_source:225:51: note: expanded from macro '\ 
    12250 EXPOSE_FUNCTION_ARGS_2' 
    12251 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12252 
    12253 program_source:168:9: note: expanded from macro '\ 
    12254 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12255 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12256 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12257 program_source:295:1: error: illegal string literal in 'asm' 
    12258 DECLARE_SHUFFLE_BASE(shuffle) 
    12259 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12260 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12261 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12262 
    12263 program_source:226:52: note: expanded from macro '\ 
    12264 EXPOSE_FUNCTION_ARGS_2' 
    12265 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12266 
    12267 program_source:168:9: note: expanded from macro '\ 
    12268 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12269 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12270 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12271 program_source:296:1: error: illegal string literal in 'asm' 
    12272 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12273 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12274 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12275 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12276 
    12277 program_source:224:38: note: expanded from macro '\ 
    12278 EXPOSE_FUNCTION_ARGS_2' 
    12279 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12280 
    12281 program_source:168:9: note: expanded from macro '\ 
    12282 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12283 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12284 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12285 program_source:296:1: error: illegal string literal in 'asm' 
    12286 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12287 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12288 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12289 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12290 
    12291 program_source:225:51: note: expanded from macro '\ 
    12292 EXPOSE_FUNCTION_ARGS_2' 
    12293 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12294 
    12295 program_source:168:9: note: expanded from macro '\ 
    12296 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12297 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12298 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12299 program_source:296:1: error: illegal string literal in 'asm' 
    12300 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12301 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12302 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12303 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12304 
    12305 program_source:226:52: note: expanded from macro '\ 
    12306 EXPOSE_FUNCTION_ARGS_2' 
    12307 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12308 
    12309 program_source:168:9: note: expanded from macro '\ 
    12310 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12311 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12312 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12313 program_source:296:1: error: illegal string literal in 'asm' 
    12314 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12315 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12316 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12317 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12318 
    12319 program_source:224:38: note: expanded from macro '\ 
    12320 EXPOSE_FUNCTION_ARGS_2' 
    12321 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12322 
    12323 program_source:168:9: note: expanded from macro '\ 
    12324 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12325 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12326 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12327 program_source:296:1: error: illegal string literal in 'asm' 
    12328 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12329 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12330 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12331 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12332 
    12333 program_source:225:51: note: expanded from macro '\ 
    12334 EXPOSE_FUNCTION_ARGS_2' 
    12335 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12336 
    12337 program_source:168:9: note: expanded from macro '\ 
    12338 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12339 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12340 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12341 program_source:296:1: error: illegal string literal in 'asm' 
    12342 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    12343 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12344 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12345 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12346 
    12347 program_source:226:52: note: expanded from macro '\ 
    12348 EXPOSE_FUNCTION_ARGS_2' 
    12349 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12350 
    12351 program_source:168:9: note: expanded from macro '\ 
    12352 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12353 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12354 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12355 program_source:297:1: error: illegal string literal in 'asm' 
    12356 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12357 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12358 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12359 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12360 
    12361 program_source:224:38: note: expanded from macro '\ 
    12362 EXPOSE_FUNCTION_ARGS_2' 
    12363 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12364 
    12365 program_source:168:9: note: expanded from macro '\ 
    12366 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12367 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12368 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12369 program_source:297:1: error: illegal string literal in 'asm' 
    12370 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12371 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12372 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12373 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12374 
    12375 program_source:225:51: note: expanded from macro '\ 
    12376 EXPOSE_FUNCTION_ARGS_2' 
    12377 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12378 
    12379 program_source:168:9: note: expanded from macro '\ 
    12380 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12381 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12382 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12383 program_source:297:1: error: illegal string literal in 'asm' 
    12384 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12385 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12386 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12387 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12388 
    12389 program_source:226:52: note: expanded from macro '\ 
    12390 EXPOSE_FUNCTION_ARGS_2' 
    12391 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12392 
    12393 program_source:168:9: note: expanded from macro '\ 
    12394 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12395 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12396 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12397 program_source:297:1: error: illegal string literal in 'asm' 
    12398 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12399 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12400 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12401 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12402 
    12403 program_source:224:38: note: expanded from macro '\ 
    12404 EXPOSE_FUNCTION_ARGS_2' 
    12405 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12406 
    12407 program_source:168:9: note: expanded from macro '\ 
    12408 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12409 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12410 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12411 program_source:297:1: error: illegal string literal in 'asm' 
    12412 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12413 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12414 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12415 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12416 
    12417 program_source:225:51: note: expanded from macro '\ 
    12418 EXPOSE_FUNCTION_ARGS_2' 
    12419 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12420 
    12421 program_source:168:9: note: expanded from macro '\ 
    12422 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12423 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12424 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12425 program_source:297:1: error: illegal string literal in 'asm' 
    12426 DECLARE_SHUFFLE_BASE(shuffle_up) 
    12427 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12428 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12429 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12430 
    12431 program_source:226:52: note: expanded from macro '\ 
    12432 EXPOSE_FUNCTION_ARGS_2' 
    12433 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12434 
    12435 program_source:168:9: note: expanded from macro '\ 
    12436 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12437 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12438 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12439 program_source:298:1: error: illegal string literal in 'asm' 
    12440 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12441 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12442 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12443 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12444 
    12445 program_source:224:38: note: expanded from macro '\ 
    12446 EXPOSE_FUNCTION_ARGS_2' 
    12447 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12448 
    12449 program_source:168:9: note: expanded from macro '\ 
    12450 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12451 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12452 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12453 program_source:298:1: error: illegal string literal in 'asm' 
    12454 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12455 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12456 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12457 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12458 
    12459 program_source:225:51: note: expanded from macro '\ 
    12460 EXPOSE_FUNCTION_ARGS_2' 
    12461 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12462 
    12463 program_source:168:9: note: expanded from macro '\ 
    12464 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12465 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12466 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12467 program_source:298:1: error: illegal string literal in 'asm' 
    12468 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12469 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12470 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12471 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12472 
    12473 program_source:226:52: note: expanded from macro '\ 
    12474 EXPOSE_FUNCTION_ARGS_2' 
    12475 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12476 
    12477 program_source:168:9: note: expanded from macro '\ 
    12478 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12479 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12480 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12481 program_source:298:1: error: illegal string literal in 'asm' 
    12482 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12483 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12484 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12485 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12486 
    12487 program_source:224:38: note: expanded from macro '\ 
    12488 EXPOSE_FUNCTION_ARGS_2' 
    12489 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12490 
    12491 program_source:168:9: note: expanded from macro '\ 
    12492 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12493 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12494 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12495 program_source:298:1: error: illegal string literal in 'asm' 
    12496 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12497 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12498 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12499 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12500 
    12501 program_source:225:51: note: expanded from macro '\ 
    12502 EXPOSE_FUNCTION_ARGS_2' 
    12503 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12504 
    12505 program_source:168:9: note: expanded from macro '\ 
    12506 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12507 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12508 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12509 program_source:298:1: error: illegal string literal in 'asm' 
    12510 DECLARE_SHUFFLE_BASE(shuffle_down) 
    12511 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12512 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12513 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12514 
    12515 program_source:226:52: note: expanded from macro '\ 
    12516 EXPOSE_FUNCTION_ARGS_2' 
    12517 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12518 
    12519 program_source:168:9: note: expanded from macro '\ 
    12520 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12521 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12522 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12523 program_source:299:1: error: illegal string literal in 'asm' 
    12524 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    12525 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12526 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12527 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12528 
    12529 program_source:224:38: note: expanded from macro '\ 
    12530 EXPOSE_FUNCTION_ARGS_2' 
    12531 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12532 
    12533 program_source:168:9: note: expanded from macro '\ 
    12534 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12535 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12536 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12537 program_source:299:1: error: illegal string literal in 'asm' 
    12538 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    12539 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12540 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12541 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12542 
    12543 program_source:225:51: note: expanded from macro '\ 
    12544 EXPOSE_FUNCTION_ARGS_2' 
    12545 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12546 
    12547 program_source:168:9: note: expanded from macro '\ 
    12548 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12549 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12550 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12551 program_source:299:1: error: illegal string literal in 'asm' 
    12552 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    12553 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12554 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12555 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12556 
    12557 program_source:226:52: note: expanded from macro '\ 
    12558 EXPOSE_FUNCTION_ARGS_2' 
    12559 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12560 
    12561 program_source:168:9: note: expanded from macro '\ 
    12562 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12563 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12564 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12565 program_source:299:1: error: illegal string literal in 'asm' 
    12566 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    12567 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12568 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12569 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12570 
    12571 program_source:224:38: note: expanded from macro '\ 
    12572 EXPOSE_FUNCTION_ARGS_2' 
    12573 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12574 
    12575 program_source:168:9: note: expanded from macro '\ 
    12576 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12577 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12578 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12579 program_source:299:1: error: illegal string literal in 'asm' 
    12580 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    12581 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12582 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12583 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12584 
    12585 program_source:225:51: note: expanded from macro '\ 
    12586 EXPOSE_FUNCTION_ARGS_2' 
    12587 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12588 
    12589 program_source:168:9: note: expanded from macro '\ 
    12590 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12591 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12592 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12593 program_source:299:1: error: illegal string literal in 'asm' 
    12594 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    12595 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12596 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12597 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12598 
    12599 program_source:226:52: note: expanded from macro '\ 
    12600 EXPOSE_FUNCTION_ARGS_2' 
    12601 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12602 
    12603 program_source:168:9: note: expanded from macro '\ 
    12604 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12605 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12606 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12607 program_source:300:1: error: illegal string literal in 'asm' 
    12608 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    12609 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12610 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12611 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12612 
    12613 program_source:224:38: note: expanded from macro '\ 
    12614 EXPOSE_FUNCTION_ARGS_2' 
    12615 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12616 
    12617 program_source:168:9: note: expanded from macro '\ 
    12618 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12619 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12620 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12621 program_source:300:1: error: illegal string literal in 'asm' 
    12622 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    12623 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12624 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12625 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12626 
    12627 program_source:225:51: note: expanded from macro '\ 
    12628 EXPOSE_FUNCTION_ARGS_2' 
    12629 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12630 
    12631 program_source:168:9: note: expanded from macro '\ 
    12632 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12633 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12634 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12635 program_source:300:1: error: illegal string literal in 'asm' 
    12636 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    12637 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12638 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12639 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    12640 
    12641 program_source:226:52: note: expanded from macro '\ 
    12642 EXPOSE_FUNCTION_ARGS_2' 
    12643 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12644 
    12645 program_source:168:9: note: expanded from macro '\ 
    12646 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12647 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12648 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12649 program_source:300:1: error: illegal string literal in 'asm' 
    12650 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    12651 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12652 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12653 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12654 
    12655 program_source:224:38: note: expanded from macro '\ 
    12656 EXPOSE_FUNCTION_ARGS_2' 
    12657 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    12658 
    12659 program_source:168:9: note: expanded from macro '\ 
    12660 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12661 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12662 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12663 program_source:300:1: error: illegal string literal in 'asm' 
    12664 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    12665 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12666 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12667 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12668 
    12669 program_source:225:51: note: expanded from macro '\ 
    12670 EXPOSE_FUNCTION_ARGS_2' 
    12671 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    12672 
    12673 program_source:168:9: note: expanded from macro '\ 
    12674 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12675 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12676 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12677 program_source:300:1: error: illegal string literal in 'asm' 
    12678 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    12679 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12680 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    12681 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    12682 
    12683 program_source:226:52: note: expanded from macro '\ 
    12684 EXPOSE_FUNCTION_ARGS_2' 
    12685 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    12686 
    12687 program_source:168:9: note: expanded from macro '\ 
    12688 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    12689 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12690 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12691 program_source:302:1: error: illegal string literal in 'asm' 
    12692 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    12693 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12694 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    12695 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    12696 
    12697 program_source:172:9: note: expanded from macro '\ 
    12698 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    12699 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12700 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12701 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    12702 is invalid in OpenCL 
    12703 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    12704 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    12705 
    12706 program_source:175:10: note: expanded from macro '\ 
    12707 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    12708 return ___metal_##EXPR(x, false); \ 
    12709 
    12710 :12:1: note: expanded from here 
    12711 ___metal_ctz 
    12712 
    12713 program_source:302:1: error: illegal string literal in 'asm' 
    12714 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    12715 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12716 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    12717 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    12718 
    12719 program_source:172:9: note: expanded from macro '\ 
    12720 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    12721 __asm("air." #EXPR "." #AIR_TYPE); \ 
    12722 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    12723 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    12724 is invalid in OpenCL 
    12725 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    12726 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    12727 
    12728 program_source:175:10: note: expanded from macro '\ 
    12729 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    12730 return ___metal_##EXPR(x, false); \ 
    12731 
    12732 :16:1: note: expanded from here 
    12733 ___metal_ctz 
    12734 
    12735 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    12736 invalid in OpenCL 
    12737 DECLARE_REDUCTION_UNIFORM(sum, reduce_add) 
    12738 
    12739 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    12740 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    12741 
    12742 program_source:305:26: note: expanded from macro '\ 
    12743 DECLARE_I_REDUCTION_UNIFORM' 
    12744 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12745 
    12746 :17:1: note: expanded from here 
    12747 simd_sum 
    12748 
    12749 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    12750 invalid in OpenCL 
    12751 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    12752 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    12753 
    12754 program_source:305:26: note: expanded from macro '\ 
    12755 DECLARE_I_REDUCTION_UNIFORM' 
    12756 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12757 
    12758 :17:1: note: expanded from here 
    12759 simd_sum 
    12760 
    12761 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    12762 invalid in OpenCL 
    12763 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    12764 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    12765 
    12766 program_source:308:26: note: expanded from macro '\ 
    12767 DECLARE_F_REDUCTION_UNIFORM' 
    12768 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12769 
    12770 :19:1: note: expanded from here 
    12771 simd_sum 
    12772 
    12773 program_source:318:1: error: implicit declaration of function
    12774 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    12775 DECLARE_REDUCTION_UNIFORM(prefix_inclusive_sum, scan_inclusive_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 :21:1: note: expanded from here 
    12785 simd_prefix_inclusive_sum 
    12786 
    12787 program_source:318:1: error: implicit declaration of function
    12788 'simd_prefix_inclusive_sum' is 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 :21:1: note: expanded from here 
    12797 simd_prefix_inclusive_sum 
    12798 
    12799 program_source:318:1: error: implicit declaration of function
    12800 'simd_prefix_inclusive_sum' is 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 :23:1: note: expanded from here 
    12809 simd_prefix_inclusive_sum 
    12810 
    12811 program_source:319:1: error: implicit declaration of function
    12812 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    12813 DECLARE_REDUCTION_UNIFORM(prefix_exclusive_sum, scan_exclusive_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 :25:1: note: expanded from here 
    12823 simd_prefix_exclusive_sum 
    12824 
    12825 program_source:319:1: error: implicit declaration of function
    12826 'simd_prefix_exclusive_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 :25:1: note: expanded from here 
    12835 simd_prefix_exclusive_sum 
    12836 
    12837 program_source:319:1: error: implicit declaration of function
    12838 'simd_prefix_exclusive_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 :27:1: note: expanded from here 
    12847 simd_prefix_exclusive_sum 
    12848 
    12849 program_source:320:1: error: implicit declaration of function 'simd_min' is
    12850 invalid in OpenCL 
    12851 DECLARE_REDUCTION_UNIFORM(min, reduce_min) 
    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 :29:1: note: expanded from here 
    12861 simd_min 
    12862 
    12863 program_source:320:1: error: implicit declaration of function 'simd_min' is
    12864 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 :29:1: note: expanded from here 
    12873 simd_min 
    12874 
    12875 program_source:320:1: error: implicit declaration of function 'simd_min' is
    12876 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 :31:1: note: expanded from here 
    12885 simd_min 
    12886 
    12887 program_source:321:1: error: implicit declaration of function 'simd_max' is
    12888 invalid in OpenCL 
    12889 DECLARE_REDUCTION_UNIFORM(max, reduce_max) 
    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 :33:1: note: expanded from here 
    12899 simd_max 
    12900 
    12901 program_source:321:1: error: implicit declaration of function 'simd_max' 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 :33:1: note: expanded from here 
    12911 simd_max 
    12912 
    12913 program_source:321:1: error: implicit declaration of function 'simd_max' 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 :35:1: note: expanded from here 
    12923 simd_max 
    12924 
    12925 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    12926 is invalid in OpenCL 
    12927 DECLARE_SHUFFLE_UNIFORM(shuffle, shuffle) 
    12928 
    12929 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    12930 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12931 
    12932 :37:1: note: expanded from here 
    12933 simd_shuffle 
    12934 
    12935 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    12936 is invalid in OpenCL 
    12937 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    12938 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12939 
    12940 :37:1: note: expanded from here 
    12941 simd_shuffle 
    12942 
    12943 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    12944 is invalid in OpenCL 
    12945 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    12946 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12947 
    12948 :37:1: note: expanded from here 
    12949 simd_shuffle 
    12950 
    12951 program_source:324:1: error: implicit declaration of function
    12952 'simd_shuffle_xor' is invalid in OpenCL 
    12953 DECLARE_SHUFFLE_UNIFORM(shuffle_xor, shuffle_xor) 
    12954 
    12955 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    12956 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12957 
    12958 :39:1: note: expanded from here 
    12959 simd_shuffle_xor 
    12960 
    12961 program_source:324:1: error: implicit declaration of function
    12962 'simd_shuffle_xor' is invalid in OpenCL 
    12963 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    12964 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12965 
    12966 :39:1: note: expanded from here 
    12967 simd_shuffle_xor 
    12968 
    12969 program_source:324:1: error: implicit declaration of function
    12970 'simd_shuffle_xor' is invalid in OpenCL 
    12971 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    12972 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12973 
    12974 :39:1: note: expanded from here 
    12975 simd_shuffle_xor 
    12976 
    12977 program_source:325:1: error: implicit declaration of function
    12978 'simd_shuffle_up' is invalid in OpenCL 
    12979 DECLARE_SHUFFLE_UNIFORM(shuffle_up, shuffle_up) 
    12980 
    12981 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    12982 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12983 
    12984 :41:1: note: expanded from here 
    12985 simd_shuffle_up 
    12986 
    12987 program_source:325:1: error: implicit declaration of function
    12988 'simd_shuffle_up' is invalid in OpenCL 
    12989 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    12990 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12991 
    12992 :41:1: note: expanded from here 
    12993 simd_shuffle_up 
    12994 
    12995 program_source:325:1: error: implicit declaration of function
    12996 'simd_shuffle_up' is invalid in OpenCL 
    12997 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    12998 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    12999 
    13000 :41:1: note: expanded from here 
    13001 simd_shuffle_up 
    13002 
    13003 program_source:326:1: error: implicit declaration of function
    13004 'simd_shuffle_down' is invalid in OpenCL 
    13005 DECLARE_SHUFFLE_UNIFORM(shuffle_down, shuffle_down) 
    13006 
    13007 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13008 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13009 
    13010 :43:1: note: expanded from here 
    13011 simd_shuffle_down 
    13012 
    13013 program_source:326:1: error: implicit declaration of function
    13014 'simd_shuffle_down' is invalid in OpenCL 
    13015 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13016 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13017 
    13018 :43:1: note: expanded from here 
    13019 simd_shuffle_down 
    13020 
    13021 program_source:326:1: error: implicit declaration of function
    13022 'simd_shuffle_down' is invalid in OpenCL 
    13023 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13024 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13025 
    13026 :43:1: note: expanded from here 
    13027 simd_shuffle_down 
    13028 
    13029 program_source:327:1: error: implicit declaration of function
    13030 'simd_shuffle_rotate_down' is invalid in OpenCL 
    13031 DECLARE_SHUFFLE_UNIFORM(shuffle_rotate_down, rotate) 
    13032 
    13033 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13034 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13035 
    13036 :45:1: note: expanded from here 
    13037 simd_shuffle_rotate_down 
    13038 
    13039 program_source:327:1: error: implicit declaration of function
    13040 'simd_shuffle_rotate_down' is invalid in OpenCL 
    13041 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13042 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13043 
    13044 :45:1: note: expanded from here 
    13045 simd_shuffle_rotate_down 
    13046 
    13047 program_source:327:1: error: implicit declaration of function
    13048 'simd_shuffle_rotate_down' is invalid in OpenCL 
    13049 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13050 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13051 
    13052 :45:1: note: expanded from here 
    13053 simd_shuffle_rotate_down 
    13054 
    13055 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    13056 is invalid in OpenCL 
    13057 DECLARE_SHUFFLE_UNIFORM(broadcast, broadcast) 
    13058 
    13059 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13060 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13061 
    13062 :47:1: note: expanded from here 
    13063 simd_broadcast 
    13064 
    13065 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    13066 is invalid in OpenCL 
    13067 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13068 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13069 
    13070 :47:1: note: expanded from here 
    13071 simd_broadcast 
    13072 
    13073 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    13074 is invalid in OpenCL 
    13075 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    13076 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13077 
    13078 :47:1: note: expanded from here 
    13079 simd_broadcast 
    13080 
    13081 program_source:330:1: error: implicit declaration of function
    13082 'simd_broadcast_first' is invalid in OpenCL 
    13083 DECLARE_REDUCTION_UNIFORM(broadcast_first, broadcast_first) 
    13084 
    13085 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    13086 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13087 
    13088 program_source:305:26: note: expanded from macro '\ 
    13089 DECLARE_I_REDUCTION_UNIFORM' 
    13090 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13091 
    13092 :49:1: note: expanded from here 
    13093 simd_broadcast_first 
    13094 
    13095 program_source:330:1: error: implicit declaration of function
    13096 'simd_broadcast_first' is invalid in OpenCL 
    13097 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    13098 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13099 
    13100 program_source:305:26: note: expanded from macro '\ 
    13101 DECLARE_I_REDUCTION_UNIFORM' 
    13102 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13103 
    13104 :49:1: note: expanded from here 
    13105 simd_broadcast_first 
    13106 
    13107 program_source:330:1: error: implicit declaration of function
    13108 'simd_broadcast_first' is invalid in OpenCL 
    13109 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    13110 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13111 
    13112 program_source:308:26: note: expanded from macro '\ 
    13113 DECLARE_F_REDUCTION_UNIFORM' 
    13114 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    13115 
    13116 :51:1: note: expanded from here 
    13117 simd_broadcast_first 
    13118 
    13119 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    13120 invalid in OpenCL 
    13121 DECLARE_REDUCTION_NON_UNIFORM(sum, reduce_add) 
    13122 
    13123 program_source:338:60: note: expanded from macro
    13124 'DECLARE_REDUCTION_NON_UNIFORM' 
    13125 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13126 
    13127 program_source:333:26: note: expanded from macro '\ 
    13128 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13129 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13130 
    13131 :53:1: note: expanded from here 
    13132 simd_sum 
    13133 
    13134 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    13135 invalid in OpenCL 
    13136 program_source:338:60: note: expanded from macro
    13137 'DECLARE_REDUCTION_NON_UNIFORM' 
    13138 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13139 
    13140 program_source:333:26: note: expanded from macro '\ 
    13141 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13142 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13143 
    13144 :53:1: note: expanded from here 
    13145 simd_sum 
    13146 
    13147 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    13148 invalid in OpenCL 
    13149 program_source:339:54: note: expanded from macro
    13150 'DECLARE_REDUCTION_NON_UNIFORM' 
    13151 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13152 
    13153 program_source:336:26: note: expanded from macro '\ 
    13154 DECLARE_F_REDUCTION_NON_UNIFORM' 
    13155 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13156 
    13157 :55:1: note: expanded from here 
    13158 simd_sum 
    13159 
    13160 program_source:346:1: error: implicit declaration of function
    13161 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    13162 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    13163 
    13164 program_source:338:60: note: expanded from macro
    13165 'DECLARE_REDUCTION_NON_UNIFORM' 
    13166 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13167 
    13168 program_source:333:26: note: expanded from macro '\ 
    13169 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13170 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13171 
    13172 :57:1: note: expanded from here 
    13173 simd_prefix_inclusive_sum 
    13174 
    13175 program_source:346:1: error: implicit declaration of function
    13176 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    13177 program_source:338:60: note: expanded from macro
    13178 'DECLARE_REDUCTION_NON_UNIFORM' 
    13179 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13180 
    13181 program_source:333:26: note: expanded from macro '\ 
    13182 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13183 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13184 
    13185 :57:1: note: expanded from here 
    13186 simd_prefix_inclusive_sum 
    13187 
    13188 program_source:346:1: error: implicit declaration of function
    13189 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    13190 program_source:339:54: note: expanded from macro
    13191 'DECLARE_REDUCTION_NON_UNIFORM' 
    13192 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13193 
    13194 program_source:336:26: note: expanded from macro '\ 
    13195 DECLARE_F_REDUCTION_NON_UNIFORM' 
    13196 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13197 
    13198 :59:1: note: expanded from here 
    13199 simd_prefix_inclusive_sum 
    13200 
    13201 program_source:347:1: error: implicit declaration of function
    13202 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    13203 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    13204 
    13205 program_source:338:60: note: expanded from macro
    13206 'DECLARE_REDUCTION_NON_UNIFORM' 
    13207 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13208 
    13209 program_source:333:26: note: expanded from macro '\ 
    13210 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13211 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13212 
    13213 :61:1: note: expanded from here 
    13214 simd_prefix_exclusive_sum 
    13215 
    13216 program_source:347:1: error: implicit declaration of function
    13217 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    13218 program_source:338:60: note: expanded from macro
    13219 'DECLARE_REDUCTION_NON_UNIFORM' 
    13220 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13221 
    13222 program_source:333:26: note: expanded from macro '\ 
    13223 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13224 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13225 
    13226 :61:1: note: expanded from here 
    13227 simd_prefix_exclusive_sum 
    13228 
    13229 program_source:347:1: error: implicit declaration of function
    13230 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    13231 program_source:339:54: note: expanded from macro
    13232 'DECLARE_REDUCTION_NON_UNIFORM' 
    13233 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13234 
    13235 program_source:336:26: note: expanded from macro '\ 
    13236 DECLARE_F_REDUCTION_NON_UNIFORM' 
    13237 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13238 
    13239 :63:1: note: expanded from here 
    13240 simd_prefix_exclusive_sum 
    13241 
    13242 program_source:348:1: error: implicit declaration of function 'simd_min' is
    13243 invalid in OpenCL 
    13244 DECLARE_REDUCTION_NON_UNIFORM(min, reduce_min) 
    13245 
    13246 program_source:338:60: note: expanded from macro
    13247 'DECLARE_REDUCTION_NON_UNIFORM' 
    13248 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13249 
    13250 program_source:333:26: note: expanded from macro '\ 
    13251 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13252 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13253 
    13254 :65:1: note: expanded from here 
    13255 simd_min 
    13256 
    13257 program_source:348:1: error: implicit declaration of function 'simd_min' is
    13258 invalid in OpenCL 
    13259 program_source:338:60: note: expanded from macro
    13260 'DECLARE_REDUCTION_NON_UNIFORM' 
    13261 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13262 
    13263 program_source:333:26: note: expanded from macro '\ 
    13264 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13265 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13266 
    13267 :65:1: note: expanded from here 
    13268 simd_min 
    13269 
    13270 program_source:348:1: error: implicit declaration of function 'simd_min' is
    13271 invalid in OpenCL 
    13272 program_source:339:54: note: expanded from macro
    13273 'DECLARE_REDUCTION_NON_UNIFORM' 
    13274 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13275 
    13276 program_source:336:26: note: expanded from macro '\ 
    13277 DECLARE_F_REDUCTION_NON_UNIFORM' 
    13278 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13279 
    13280 :67:1: note: expanded from here 
    13281 simd_min 
    13282 
    13283 program_source:349:1: error: implicit declaration of function 'simd_max' is
    13284 invalid in OpenCL 
    13285 DECLARE_REDUCTION_NON_UNIFORM(max, reduce_max) 
    13286 
    13287 program_source:338:60: note: expanded from macro
    13288 'DECLARE_REDUCTION_NON_UNIFORM' 
    13289 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13290 
    13291 program_source:333:26: note: expanded from macro '\ 
    13292 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13293 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13294 
    13295 :69:1: note: expanded from here 
    13296 simd_max 
    13297 
    13298 program_source:349:1: error: implicit declaration of function 'simd_max' is
    13299 invalid in OpenCL 
    13300 program_source:338:60: note: expanded from macro
    13301 'DECLARE_REDUCTION_NON_UNIFORM' 
    13302 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13303 
    13304 program_source:333:26: note: expanded from macro '\ 
    13305 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13306 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13307 
    13308 :69:1: note: expanded from here 
    13309 simd_max 
    13310 
    13311 program_source:349:1: error: implicit declaration of function 'simd_max' is
    13312 invalid in OpenCL 
    13313 program_source:339:54: note: expanded from macro
    13314 'DECLARE_REDUCTION_NON_UNIFORM' 
    13315 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13316 
    13317 program_source:336:26: note: expanded from macro '\ 
    13318 DECLARE_F_REDUCTION_NON_UNIFORM' 
    13319 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13320 
    13321 :71:1: note: expanded from here 
    13322 simd_max 
    13323 
    13324 program_source:351:1: error: implicit declaration of function 'simd_product'
    13325 is invalid in OpenCL 
    13326 DECLARE_REDUCTION_NON_UNIFORM(product, reduce_mul) 
    13327 
    13328 program_source:338:60: note: expanded from macro
    13329 'DECLARE_REDUCTION_NON_UNIFORM' 
    13330 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13331 
    13332 program_source:333:26: note: expanded from macro '\ 
    13333 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13334 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13335 
    13336 :73:1: note: expanded from here 
    13337 simd_product 
    13338 
    13339 program_source:351:1: error: implicit declaration of function 'simd_product'
    13340 is invalid in OpenCL 
    13341 program_source:338:60: note: expanded from macro
    13342 'DECLARE_REDUCTION_NON_UNIFORM' 
    13343 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13344 
    13345 program_source:333:26: note: expanded from macro '\ 
    13346 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13347 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13348 
    13349 :73:1: note: expanded from here 
    13350 simd_product 
    13351 
    13352 program_source:351:1: error: implicit declaration of function 'simd_product'
    13353 is invalid in OpenCL 
    13354 program_source:339:54: note: expanded from macro
    13355 'DECLARE_REDUCTION_NON_UNIFORM' 
    13356 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13357 
    13358 program_source:336:26: note: expanded from macro '\ 
    13359 DECLARE_F_REDUCTION_NON_UNIFORM' 
    13360 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13361 
    13362 :75:1: note: expanded from here 
    13363 simd_product 
    13364 
    13365 program_source:352:1: error: implicit declaration of function
    13366 'simd_prefix_inclusive_product' is invalid in OpenCL 
    13367 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_product, scan_inclusive_mul) 
    13368 
    13369 program_source:338:60: note: expanded from macro
    13370 'DECLARE_REDUCTION_NON_UNIFORM' 
    13371 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13372 
    13373 program_source:333:26: note: expanded from macro '\ 
    13374 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13375 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13376 
    13377 :77:1: note: expanded from here 
    13378 simd_prefix_inclusive_product 
    13379 
    13380 program_source:352:1: error: implicit declaration of function
    13381 'simd_prefix_inclusive_product' is invalid in OpenCL 
    13382 program_source:338:60: note: expanded from macro
    13383 'DECLARE_REDUCTION_NON_UNIFORM' 
    13384 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13385 
    13386 program_source:333:26: note: expanded from macro '\ 
    13387 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13388 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13389 
    13390 :77:1: note: expanded from here 
    13391 simd_prefix_inclusive_product 
    13392 
    13393 program_source:352:1: error: implicit declaration of function
    13394 'simd_prefix_inclusive_product' is invalid in OpenCL 
    13395 program_source:339:54: note: expanded from macro
    13396 'DECLARE_REDUCTION_NON_UNIFORM' 
    13397 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13398 
    13399 program_source:336:26: note: expanded from macro '\ 
    13400 DECLARE_F_REDUCTION_NON_UNIFORM' 
    13401 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13402 
    13403 :79:1: note: expanded from here 
    13404 simd_prefix_inclusive_product 
    13405 
    13406 program_source:353:1: error: implicit declaration of function
    13407 'simd_prefix_exclusive_product' is invalid in OpenCL 
    13408 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_product, scan_exclusive_mul) 
    13409 
    13410 program_source:338:60: note: expanded from macro
    13411 'DECLARE_REDUCTION_NON_UNIFORM' 
    13412 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13413 
    13414 program_source:333:26: note: expanded from macro '\ 
    13415 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13416 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13417 
    13418 :81:1: note: expanded from here 
    13419 simd_prefix_exclusive_product 
    13420 
    13421 program_source:353:1: error: implicit declaration of function
    13422 'simd_prefix_exclusive_product' is invalid in OpenCL 
    13423 program_source:338:60: note: expanded from macro
    13424 'DECLARE_REDUCTION_NON_UNIFORM' 
    13425 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13426 
    13427 program_source:333:26: note: expanded from macro '\ 
    13428 DECLARE_I_REDUCTION_NON_UNIFORM' 
    13429 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13430 
    13431 :81:1: note: expanded from here 
    13432 simd_prefix_exclusive_product 
    13433 
    13434 program_source:353:1: error: implicit declaration of function
    13435 'simd_prefix_exclusive_product' is invalid in OpenCL 
    13436 program_source:339:54: note: expanded from macro
    13437 'DECLARE_REDUCTION_NON_UNIFORM' 
    13438 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    13439 
    13440 program_source:336:26: note: expanded from macro '\ 
    13441 DECLARE_F_REDUCTION_NON_UNIFORM' 
    13442 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13443 
    13444 :83:1: note: expanded from here 
    13445 simd_prefix_exclusive_product 
    13446 
    13447 program_source:354:1: error: implicit declaration of function 'simd_and' is
    13448 invalid in OpenCL 
    13449 DECLARE_I_REDUCTION_NON_UNIFORM(and, reduce_and) 
    13450 
    13451 program_source:333:26: note: expanded from macro
    13452 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    13453 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13454 
    13455 :85:1: note: expanded from here 
    13456 simd_and 
    13457 
    13458 program_source:354:1: error: implicit declaration of function 'simd_and' is
    13459 invalid in OpenCL 
    13460 program_source:333:26: note: expanded from macro
    13461 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    13462 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13463 
    13464 :85:1: note: expanded from here 
    13465 simd_and 
    13466 
    13467 program_source:355:1: error: implicit declaration of function 'simd_or' is
    13468 invalid in OpenCL 
    13469 DECLARE_I_REDUCTION_NON_UNIFORM(or, reduce_or) 
    13470 
    13471 program_source:333:26: note: expanded from macro
    13472 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    13473 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13474 
    13475 :87:1: note: expanded from here 
    13476 simd_or 
    13477 
    13478 program_source:355:1: error: implicit declaration of function 'simd_or' is
    13479 invalid in OpenCL 
    13480 program_source:333:26: note: expanded from macro
    13481 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    13482 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13483 
    13484 :87:1: note: expanded from here 
    13485 simd_or 
    13486 
    13487 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    13488 invalid in OpenCL 
    13489 DECLARE_I_REDUCTION_NON_UNIFORM(xor, reduce_xor) 
    13490 
    13491 program_source:333:26: note: expanded from macro
    13492 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    13493 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13494 
    13495 :89:1: note: expanded from here 
    13496 simd_xor 
    13497 
    13498 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    13499 invalid in OpenCL 
    13500 program_source:333:26: note: expanded from macro
    13501 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    13502 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13503 
    13504 :89:1: note: expanded from here 
    13505 simd_xor 
    13506 
    13507 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    13508 is invalid in OpenCL 
    13509 DECLARE_SHUFFLE_NON_UNIFORM(broadcast, broadcast) 
    13510 
    13511 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    13512 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13513 
    13514 :91:1: note: expanded from here 
    13515 simd_broadcast 
    13516 
    13517 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    13518 is invalid in OpenCL 
    13519 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    13520 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13521 
    13522 :91:1: note: expanded from here 
    13523 simd_broadcast 
    13524 
    13525 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    13526 is invalid in OpenCL 
    13527 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    13528 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    13529 
    13530 :91:1: note: expanded from here 
    13531 simd_broadcast 
    13532 
    13533 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    13534 invalid in OpenCL 
    13535 DECLARE_REDUCTION_CLUSTERED(sum, reduce_add) 
    13536 
    13537 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13538 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13539 
    13540 program_source:360:60: note: expanded from macro '\ 
    13541 DECLARE_I_REDUCTION_CLUSTERED' 
    13542 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13543 
    13544 program_source:245:71: note: expanded from macro '\ 
    13545 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    13546 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    13547 
    13548 program_source:196:12: note: expanded from macro '\ 
    13549 OVERLOAD_CLUSTERED_ARGS_1' 
    13550 return quad_##METAL_SUFFIX(x); \ 
    13551 
    13552 :94:1: note: expanded from here 
    13553 quad_sum 
    13554 
    13555 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    13556 invalid in OpenCL 
    13557 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13558 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13559 
    13560 program_source:360:60: note: expanded from macro '\ 
    13561 DECLARE_I_REDUCTION_CLUSTERED' 
    13562 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13563 
    13564 program_source:245:71: note: expanded from macro '\ 
    13565 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    13566 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    13567 
    13568 program_source:198:12: note: expanded from macro '\ 
    13569 OVERLOAD_CLUSTERED_ARGS_1' 
    13570 return simd_##METAL_SUFFIX(x); \ 
    13571 
    13572 :95:1: note: expanded from here 
    13573 simd_sum 
    13574 
    13575 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    13576 invalid in OpenCL 
    13577 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13578 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13579 
    13580 program_source:360:60: note: expanded from macro '\ 
    13581 DECLARE_I_REDUCTION_CLUSTERED' 
    13582 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13583 
    13584 program_source:246:59: note: expanded from macro '\ 
    13585 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    13586 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    13587 
    13588 program_source:196:12: note: expanded from macro '\ 
    13589 OVERLOAD_CLUSTERED_ARGS_1' 
    13590 return quad_##METAL_SUFFIX(x); \ 
    13591 
    13592 :96:1: note: expanded from here 
    13593 quad_sum 
    13594 
    13595 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    13596 invalid in OpenCL 
    13597 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13598 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13599 
    13600 program_source:360:60: note: expanded from macro '\ 
    13601 DECLARE_I_REDUCTION_CLUSTERED' 
    13602 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13603 
    13604 program_source:246:59: note: expanded from macro '\ 
    13605 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    13606 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    13607 
    13608 program_source:198:12: note: expanded from macro '\ 
    13609 OVERLOAD_CLUSTERED_ARGS_1' 
    13610 return simd_##METAL_SUFFIX(x); \ 
    13611 
    13612 :97:1: note: expanded from here 
    13613 simd_sum 
    13614 
    13615 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    13616 invalid in OpenCL 
    13617 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13618 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13619 
    13620 program_source:363:60: note: expanded from macro '\ 
    13621 DECLARE_F_REDUCTION_CLUSTERED' 
    13622 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13623 
    13624 program_source:249:71: note: expanded from macro '\ 
    13625 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    13626 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    13627 
    13628 program_source:196:12: note: expanded from macro '\ 
    13629 OVERLOAD_CLUSTERED_ARGS_1' 
    13630 return quad_##METAL_SUFFIX(x); \ 
    13631 
    13632 :99:1: note: expanded from here 
    13633 quad_sum 
    13634 
    13635 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    13636 invalid in OpenCL 
    13637 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13638 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13639 
    13640 program_source:363:60: note: expanded from macro '\ 
    13641 DECLARE_F_REDUCTION_CLUSTERED' 
    13642 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13643 
    13644 program_source:249:71: note: expanded from macro '\ 
    13645 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    13646 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    13647 
    13648 program_source:198:12: note: expanded from macro '\ 
    13649 OVERLOAD_CLUSTERED_ARGS_1' 
    13650 return simd_##METAL_SUFFIX(x); \ 
    13651 
    13652 :100:1: note: expanded from here 
    13653 simd_sum 
    13654 
    13655 program_source:392:1: error: implicit declaration of function 'quad_min' is
    13656 invalid in OpenCL 
    13657 DECLARE_REDUCTION_CLUSTERED(min, reduce_min) 
    13658 
    13659 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13660 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13661 
    13662 program_source:360:60: note: expanded from macro '\ 
    13663 DECLARE_I_REDUCTION_CLUSTERED' 
    13664 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13665 
    13666 program_source:245:71: note: expanded from macro '\ 
    13667 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    13668 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    13669 
    13670 program_source:196:12: note: expanded from macro '\ 
    13671 OVERLOAD_CLUSTERED_ARGS_1' 
    13672 return quad_##METAL_SUFFIX(x); \ 
    13673 
    13674 :102:1: note: expanded from here 
    13675 quad_min 
    13676 
    13677 program_source:392:1: error: implicit declaration of function 'simd_min' is
    13678 invalid in OpenCL 
    13679 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13680 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13681 
    13682 program_source:360:60: note: expanded from macro '\ 
    13683 DECLARE_I_REDUCTION_CLUSTERED' 
    13684 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13685 
    13686 program_source:245:71: note: expanded from macro '\ 
    13687 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    13688 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    13689 
    13690 program_source:198:12: note: expanded from macro '\ 
    13691 OVERLOAD_CLUSTERED_ARGS_1' 
    13692 return simd_##METAL_SUFFIX(x); \ 
    13693 
    13694 :103:1: note: expanded from here 
    13695 simd_min 
    13696 
    13697 program_source:392:1: error: implicit declaration of function 'quad_min' is
    13698 invalid in OpenCL 
    13699 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13700 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13701 
    13702 program_source:360:60: note: expanded from macro '\ 
    13703 DECLARE_I_REDUCTION_CLUSTERED' 
    13704 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13705 
    13706 program_source:246:59: note: expanded from macro '\ 
    13707 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    13708 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    13709 
    13710 program_source:196:12: note: expanded from macro '\ 
    13711 OVERLOAD_CLUSTERED_ARGS_1' 
    13712 return quad_##METAL_SUFFIX(x); \ 
    13713 
    13714 :104:1: note: expanded from here 
    13715 quad_min 
    13716 
    13717 program_source:392:1: error: implicit declaration of function 'simd_min' is
    13718 invalid in OpenCL 
    13719 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13720 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13721 
    13722 program_source:360:60: note: expanded from macro '\ 
    13723 DECLARE_I_REDUCTION_CLUSTERED' 
    13724 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13725 
    13726 program_source:246:59: note: expanded from macro '\ 
    13727 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    13728 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    13729 
    13730 program_source:198:12: note: expanded from macro '\ 
    13731 OVERLOAD_CLUSTERED_ARGS_1' 
    13732 return simd_##METAL_SUFFIX(x); \ 
    13733 
    13734 :105:1: note: expanded from here 
    13735 simd_min 
    13736 
    13737 program_source:392:1: error: implicit declaration of function 'quad_min' is
    13738 invalid in OpenCL 
    13739 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13740 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13741 
    13742 program_source:363:60: note: expanded from macro '\ 
    13743 DECLARE_F_REDUCTION_CLUSTERED' 
    13744 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13745 
    13746 program_source:249:71: note: expanded from macro '\ 
    13747 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    13748 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    13749 
    13750 program_source:196:12: note: expanded from macro '\ 
    13751 OVERLOAD_CLUSTERED_ARGS_1' 
    13752 return quad_##METAL_SUFFIX(x); \ 
    13753 
    13754 :107:1: note: expanded from here 
    13755 quad_min 
    13756 
    13757 program_source:392:1: error: implicit declaration of function 'simd_min' is
    13758 invalid in OpenCL 
    13759 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13760 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13761 
    13762 program_source:363:60: note: expanded from macro '\ 
    13763 DECLARE_F_REDUCTION_CLUSTERED' 
    13764 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13765 
    13766 program_source:249:71: note: expanded from macro '\ 
    13767 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    13768 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    13769 
    13770 program_source:198:12: note: expanded from macro '\ 
    13771 OVERLOAD_CLUSTERED_ARGS_1' 
    13772 return simd_##METAL_SUFFIX(x); \ 
    13773 
    13774 :108:1: note: expanded from here 
    13775 simd_min 
    13776 
    13777 program_source:393:1: error: implicit declaration of function 'quad_max' is
    13778 invalid in OpenCL 
    13779 DECLARE_REDUCTION_CLUSTERED(max, reduce_max) 
    13780 
    13781 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13782 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13783 
    13784 program_source:360:60: note: expanded from macro '\ 
    13785 DECLARE_I_REDUCTION_CLUSTERED' 
    13786 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13787 
    13788 program_source:245:71: note: expanded from macro '\ 
    13789 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    13790 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    13791 
    13792 program_source:196:12: note: expanded from macro '\ 
    13793 OVERLOAD_CLUSTERED_ARGS_1' 
    13794 return quad_##METAL_SUFFIX(x); \ 
    13795 
    13796 :110:1: note: expanded from here 
    13797 quad_max 
    13798 
    13799 program_source:393:1: error: implicit declaration of function 'simd_max' is
    13800 invalid in OpenCL 
    13801 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13802 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13803 
    13804 program_source:360:60: note: expanded from macro '\ 
    13805 DECLARE_I_REDUCTION_CLUSTERED' 
    13806 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13807 
    13808 program_source:245:71: note: expanded from macro '\ 
    13809 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    13810 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    13811 
    13812 program_source:198:12: note: expanded from macro '\ 
    13813 OVERLOAD_CLUSTERED_ARGS_1' 
    13814 return simd_##METAL_SUFFIX(x); \ 
    13815 
    13816 :111:1: note: expanded from here 
    13817 simd_max 
    13818 
    13819 program_source:393:1: error: implicit declaration of function 'quad_max' is
    13820 invalid in OpenCL 
    13821 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13822 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13823 
    13824 program_source:360:60: note: expanded from macro '\ 
    13825 DECLARE_I_REDUCTION_CLUSTERED' 
    13826 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13827 
    13828 program_source:246:59: note: expanded from macro '\ 
    13829 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    13830 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    13831 
    13832 program_source:196:12: note: expanded from macro '\ 
    13833 OVERLOAD_CLUSTERED_ARGS_1' 
    13834 return quad_##METAL_SUFFIX(x); \ 
    13835 
    13836 :112:1: note: expanded from here 
    13837 quad_max 
    13838 
    13839 program_source:393:1: error: implicit declaration of function 'simd_max' is
    13840 invalid in OpenCL 
    13841 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13842 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13843 
    13844 program_source:360:60: note: expanded from macro '\ 
    13845 DECLARE_I_REDUCTION_CLUSTERED' 
    13846 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13847 
    13848 program_source:246:59: note: expanded from macro '\ 
    13849 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    13850 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    13851 
    13852 program_source:198:12: note: expanded from macro '\ 
    13853 OVERLOAD_CLUSTERED_ARGS_1' 
    13854 return simd_##METAL_SUFFIX(x); \ 
    13855 
    13856 :113:1: note: expanded from here 
    13857 simd_max 
    13858 
    13859 program_source:393:1: error: implicit declaration of function 'quad_max' is
    13860 invalid in OpenCL 
    13861 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13862 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13863 
    13864 program_source:363:60: note: expanded from macro '\ 
    13865 DECLARE_F_REDUCTION_CLUSTERED' 
    13866 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13867 
    13868 program_source:249:71: note: expanded from macro '\ 
    13869 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    13870 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    13871 
    13872 program_source:196:12: note: expanded from macro '\ 
    13873 OVERLOAD_CLUSTERED_ARGS_1' 
    13874 return quad_##METAL_SUFFIX(x); \ 
    13875 
    13876 :115:1: note: expanded from here 
    13877 quad_max 
    13878 
    13879 program_source:393:1: error: implicit declaration of function 'simd_max' is
    13880 invalid in OpenCL 
    13881 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13882 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13883 
    13884 program_source:363:60: note: expanded from macro '\ 
    13885 DECLARE_F_REDUCTION_CLUSTERED' 
    13886 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13887 
    13888 program_source:249:71: note: expanded from macro '\ 
    13889 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    13890 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    13891 
    13892 program_source:198:12: note: expanded from macro '\ 
    13893 OVERLOAD_CLUSTERED_ARGS_1' 
    13894 return simd_##METAL_SUFFIX(x); \ 
    13895 
    13896 :116:1: note: expanded from here 
    13897 simd_max 
    13898 
    13899 program_source:395:1: error: implicit declaration of function 'quad_product'
    13900 is invalid in OpenCL 
    13901 DECLARE_REDUCTION_CLUSTERED(product, reduce_mul) 
    13902 
    13903 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13904 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13905 
    13906 program_source:360:60: note: expanded from macro '\ 
    13907 DECLARE_I_REDUCTION_CLUSTERED' 
    13908 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13909 
    13910 program_source:245:71: note: expanded from macro '\ 
    13911 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    13912 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    13913 
    13914 program_source:196:12: note: expanded from macro '\ 
    13915 OVERLOAD_CLUSTERED_ARGS_1' 
    13916 return quad_##METAL_SUFFIX(x); \ 
    13917 
    13918 :118:1: note: expanded from here 
    13919 quad_product 
    13920 
    13921 program_source:395:1: error: implicit declaration of function 'simd_product'
    13922 is invalid in OpenCL 
    13923 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13924 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13925 
    13926 program_source:360:60: note: expanded from macro '\ 
    13927 DECLARE_I_REDUCTION_CLUSTERED' 
    13928 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13929 
    13930 program_source:245:71: note: expanded from macro '\ 
    13931 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    13932 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    13933 
    13934 program_source:198:12: note: expanded from macro '\ 
    13935 OVERLOAD_CLUSTERED_ARGS_1' 
    13936 return simd_##METAL_SUFFIX(x); \ 
    13937 
    13938 :119:1: note: expanded from here 
    13939 simd_product 
    13940 
    13941 program_source:395:1: error: implicit declaration of function 'quad_product'
    13942 is invalid in OpenCL 
    13943 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13944 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13945 
    13946 program_source:360:60: note: expanded from macro '\ 
    13947 DECLARE_I_REDUCTION_CLUSTERED' 
    13948 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13949 
    13950 program_source:246:59: note: expanded from macro '\ 
    13951 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    13952 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    13953 
    13954 program_source:196:12: note: expanded from macro '\ 
    13955 OVERLOAD_CLUSTERED_ARGS_1' 
    13956 return quad_##METAL_SUFFIX(x); \ 
    13957 
    13958 :120:1: note: expanded from here 
    13959 quad_product 
    13960 
    13961 program_source:395:1: error: implicit declaration of function 'simd_product'
    13962 is invalid in OpenCL 
    13963 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13964 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13965 
    13966 program_source:360:60: note: expanded from macro '\ 
    13967 DECLARE_I_REDUCTION_CLUSTERED' 
    13968 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13969 
    13970 program_source:246:59: note: expanded from macro '\ 
    13971 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    13972 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    13973 
    13974 program_source:198:12: note: expanded from macro '\ 
    13975 OVERLOAD_CLUSTERED_ARGS_1' 
    13976 return simd_##METAL_SUFFIX(x); \ 
    13977 
    13978 :121:1: note: expanded from here 
    13979 simd_product 
    13980 
    13981 program_source:395:1: error: implicit declaration of function 'quad_product'
    13982 is invalid in OpenCL 
    13983 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    13984 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13985 
    13986 program_source:363:60: note: expanded from macro '\ 
    13987 DECLARE_F_REDUCTION_CLUSTERED' 
    13988 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    13989 
    13990 program_source:249:71: note: expanded from macro '\ 
    13991 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    13992 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    13993 
    13994 program_source:196:12: note: expanded from macro '\ 
    13995 OVERLOAD_CLUSTERED_ARGS_1' 
    13996 return quad_##METAL_SUFFIX(x); \ 
    13997 
    13998 :123:1: note: expanded from here 
    13999 quad_product 
    14000 
    14001 program_source:395:1: error: implicit declaration of function 'simd_product'
    14002 is invalid in OpenCL 
    14003 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    14004 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14005 
    14006 program_source:363:60: note: expanded from macro '\ 
    14007 DECLARE_F_REDUCTION_CLUSTERED' 
    14008 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14009 
    14010 program_source:249:71: note: expanded from macro '\ 
    14011 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    14012 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    14013 
    14014 program_source:198:12: note: expanded from macro '\ 
    14015 OVERLOAD_CLUSTERED_ARGS_1' 
    14016 return simd_##METAL_SUFFIX(x); \ 
    14017 
    14018 :124:1: note: expanded from here 
    14019 simd_product 
    14020 
    14021 program_source:396:1: error: implicit declaration of function 'quad_and' is
    14022 invalid in OpenCL 
    14023 DECLARE_I_REDUCTION_CLUSTERED(and, reduce_and) 
    14024 
    14025 program_source:360:60: note: expanded from macro
    14026 'DECLARE_I_REDUCTION_CLUSTERED' 
    14027 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14028 
    14029 program_source:245:71: note: expanded from macro '\ 
    14030 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    14031 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    14032 
    14033 program_source:196:12: note: expanded from macro '\ 
    14034 OVERLOAD_CLUSTERED_ARGS_1' 
    14035 return quad_##METAL_SUFFIX(x); \ 
    14036 
    14037 :126:1: note: expanded from here 
    14038 quad_and 
    14039 
    14040 program_source:396:1: error: implicit declaration of function 'simd_and' is
    14041 invalid in OpenCL 
    14042 program_source:360:60: note: expanded from macro
    14043 'DECLARE_I_REDUCTION_CLUSTERED' 
    14044 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14045 
    14046 program_source:245:71: note: expanded from macro '\ 
    14047 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    14048 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    14049 
    14050 program_source:198:12: note: expanded from macro '\ 
    14051 OVERLOAD_CLUSTERED_ARGS_1' 
    14052 return simd_##METAL_SUFFIX(x); \ 
    14053 
    14054 :127:1: note: expanded from here 
    14055 simd_and 
    14056 
    14057 program_source:396:1: error: implicit declaration of function 'quad_and' is
    14058 invalid in OpenCL 
    14059 program_source:360:60: note: expanded from macro
    14060 'DECLARE_I_REDUCTION_CLUSTERED' 
    14061 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14062 
    14063 program_source:246:59: note: expanded from macro '\ 
    14064 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    14065 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    14066 
    14067 program_source:196:12: note: expanded from macro '\ 
    14068 OVERLOAD_CLUSTERED_ARGS_1' 
    14069 return quad_##METAL_SUFFIX(x); \ 
    14070 
    14071 :128:1: note: expanded from here 
    14072 quad_and 
    14073 
    14074 program_source:396:1: error: implicit declaration of function 'simd_and' is
    14075 invalid in OpenCL 
    14076 program_source:360:60: note: expanded from macro
    14077 'DECLARE_I_REDUCTION_CLUSTERED' 
    14078 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14079 
    14080 program_source:246:59: note: expanded from macro '\ 
    14081 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    14082 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    14083 
    14084 program_source:198:12: note: expanded from macro '\ 
    14085 OVERLOAD_CLUSTERED_ARGS_1' 
    14086 return simd_##METAL_SUFFIX(x); \ 
    14087 
    14088 :129:1: note: expanded from here 
    14089 simd_and 
    14090 
    14091 program_source:397:1: error: implicit declaration of function 'quad_or' is
    14092 invalid in OpenCL 
    14093 DECLARE_I_REDUCTION_CLUSTERED(or, reduce_or) 
    14094 
    14095 program_source:360:60: note: expanded from macro
    14096 'DECLARE_I_REDUCTION_CLUSTERED' 
    14097 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14098 
    14099 program_source:245:71: note: expanded from macro '\ 
    14100 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    14101 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    14102 
    14103 program_source:196:12: note: expanded from macro '\ 
    14104 OVERLOAD_CLUSTERED_ARGS_1' 
    14105 return quad_##METAL_SUFFIX(x); \ 
    14106 
    14107 :131:1: note: expanded from here 
    14108 quad_or 
    14109 
    14110 program_source:397:1: error: implicit declaration of function 'simd_or' is
    14111 invalid in OpenCL 
    14112 program_source:360:60: note: expanded from macro
    14113 'DECLARE_I_REDUCTION_CLUSTERED' 
    14114 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14115 
    14116 program_source:245:71: note: expanded from macro '\ 
    14117 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    14118 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    14119 
    14120 program_source:198:12: note: expanded from macro '\ 
    14121 OVERLOAD_CLUSTERED_ARGS_1' 
    14122 return simd_##METAL_SUFFIX(x); \ 
    14123 
    14124 :132:1: note: expanded from here 
    14125 simd_or 
    14126 
    14127 program_source:397:1: error: implicit declaration of function 'quad_or' is
    14128 invalid in OpenCL 
    14129 program_source:360:60: note: expanded from macro
    14130 'DECLARE_I_REDUCTION_CLUSTERED' 
    14131 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14132 
    14133 program_source:246:59: note: expanded from macro '\ 
    14134 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    14135 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    14136 
    14137 program_source:196:12: note: expanded from macro '\ 
    14138 OVERLOAD_CLUSTERED_ARGS_1' 
    14139 return quad_##METAL_SUFFIX(x); \ 
    14140 
    14141 :133:1: note: expanded from here 
    14142 quad_or 
    14143 
    14144 program_source:397:1: error: implicit declaration of function 'simd_or' is
    14145 invalid in OpenCL 
    14146 program_source:360:60: note: expanded from macro
    14147 'DECLARE_I_REDUCTION_CLUSTERED' 
    14148 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14149 
    14150 program_source:246:59: note: expanded from macro '\ 
    14151 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    14152 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    14153 
    14154 program_source:198:12: note: expanded from macro '\ 
    14155 OVERLOAD_CLUSTERED_ARGS_1' 
    14156 return simd_##METAL_SUFFIX(x); \ 
    14157 
    14158 :134:1: note: expanded from here 
    14159 simd_or 
    14160 
    14161 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    14162 invalid in OpenCL 
    14163 DECLARE_I_REDUCTION_CLUSTERED(xor, reduce_xor) 
    14164 
    14165 program_source:360:60: note: expanded from macro
    14166 'DECLARE_I_REDUCTION_CLUSTERED' 
    14167 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14168 
    14169 program_source:245:71: note: expanded from macro '\ 
    14170 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    14171 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    14172 
    14173 program_source:196:12: note: expanded from macro '\ 
    14174 OVERLOAD_CLUSTERED_ARGS_1' 
    14175 return quad_##METAL_SUFFIX(x); \ 
    14176 
    14177 :136:1: note: expanded from here 
    14178 quad_xor 
    14179 
    14180 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    14181 invalid in OpenCL 
    14182 program_source:360:60: note: expanded from macro
    14183 'DECLARE_I_REDUCTION_CLUSTERED' 
    14184 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14185 
    14186 program_source:245:71: note: expanded from macro '\ 
    14187 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    14188 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    14189 
    14190 program_source:198:12: note: expanded from macro '\ 
    14191 OVERLOAD_CLUSTERED_ARGS_1' 
    14192 return simd_##METAL_SUFFIX(x); \ 
    14193 
    14194 :137:1: note: expanded from here 
    14195 simd_xor 
    14196 
    14197 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    14198 invalid in OpenCL 
    14199 program_source:360:60: note: expanded from macro
    14200 'DECLARE_I_REDUCTION_CLUSTERED' 
    14201 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14202 
    14203 program_source:246:59: note: expanded from macro '\ 
    14204 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    14205 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    14206 
    14207 program_source:196:12: note: expanded from macro '\ 
    14208 OVERLOAD_CLUSTERED_ARGS_1' 
    14209 return quad_##METAL_SUFFIX(x); \ 
    14210 
    14211 :138:1: note: expanded from here 
    14212 quad_xor 
    14213 
    14214 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    14215 invalid in OpenCL 
    14216 program_source:360:60: note: expanded from macro
    14217 'DECLARE_I_REDUCTION_CLUSTERED' 
    14218 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14219 
    14220 program_source:246:59: note: expanded from macro '\ 
    14221 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    14222 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    14223 
    14224 program_source:198:12: note: expanded from macro '\ 
    14225 OVERLOAD_CLUSTERED_ARGS_1' 
    14226 return simd_##METAL_SUFFIX(x); \ 
    14227 
    14228 :139:1: note: expanded from here 
    14229 simd_xor 
    14230 
    14231 program_source:399:1: error: implicit declaration of function 'simd_and' is
    14232 invalid in OpenCL 
    14233 DECLARE_B_REDUCTION_CLUSTERED(and) 
    14234 
    14235 program_source:369:8: note: expanded from macro
    14236 'DECLARE_B_REDUCTION_CLUSTERED' 
    14237 return simd_##OP(select(0, 1, predicate != 0)); \ 
    14238 
    14239 :141:1: note: expanded from here 
    14240 simd_and 
    14241 
    14242 program_source:399:1: error: implicit declaration of function 'quad_and' is
    14243 invalid in OpenCL 
    14244 program_source:378:12: note: expanded from macro
    14245 'DECLARE_B_REDUCTION_CLUSTERED' 
    14246 return quad_##OP(x); \ 
    14247 
    14248 :143:1: note: expanded from here 
    14249 quad_and 
    14250 
    14251 program_source:399:1: error: implicit declaration of function 'simd_and' is
    14252 invalid in OpenCL 
    14253 program_source:380:12: note: expanded from macro
    14254 'DECLARE_B_REDUCTION_CLUSTERED' 
    14255 return simd_##OP(x); \ 
    14256 
    14257 :144:1: note: expanded from here 
    14258 simd_and 
    14259 
    14260 program_source:400:1: error: implicit declaration of function 'simd_or' is
    14261 invalid in OpenCL 
    14262 DECLARE_B_REDUCTION_CLUSTERED(or) 
    14263 
    14264 program_source:369:8: note: expanded from macro
    14265 'DECLARE_B_REDUCTION_CLUSTERED' 
    14266 return simd_##OP(select(0, 1, predicate != 0)); \ 
    14267 
    14268 :146:1: note: expanded from here 
    14269 simd_or 
    14270 
    14271 program_source:400:1: error: implicit declaration of function 'quad_or' is
    14272 invalid in OpenCL 
    14273 program_source:378:12: note: expanded from macro
    14274 'DECLARE_B_REDUCTION_CLUSTERED' 
    14275 return quad_##OP(x); \ 
    14276 
    14277 :148:1: note: expanded from here 
    14278 quad_or 
    14279 
    14280 program_source:400:1: error: implicit declaration of function 'simd_or' is
    14281 invalid in OpenCL 
    14282 program_source:380:12: note: expanded from macro
    14283 'DECLARE_B_REDUCTION_CLUSTERED' 
    14284 return simd_##OP(x); \ 
    14285 
    14286 :149:1: note: expanded from here 
    14287 simd_or 
    14288 
    14289 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    14290 invalid in OpenCL 
    14291 DECLARE_B_REDUCTION_CLUSTERED(xor) 
    14292 
    14293 program_source:369:8: note: expanded from macro
    14294 'DECLARE_B_REDUCTION_CLUSTERED' 
    14295 return simd_##OP(select(0, 1, predicate != 0)); \ 
    14296 
    14297 :151:1: note: expanded from here 
    14298 simd_xor 
    14299 
    14300 program_source:401:1: error: implicit declaration of function 'quad_xor' is
    14301 invalid in OpenCL 
    14302 program_source:378:12: note: expanded from macro
    14303 'DECLARE_B_REDUCTION_CLUSTERED' 
    14304 return quad_##OP(x); \ 
    14305 
    14306 :153:1: note: expanded from here 
    14307 quad_xor 
    14308 
    14309 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    14310 invalid in OpenCL 
    14311 program_source:380:12: note: expanded from macro
    14312 'DECLARE_B_REDUCTION_CLUSTERED' 
    14313 return simd_##OP(x); \ 
    14314 
    14315 :154:1: note: expanded from here 
    14316 simd_xor 
    14317 
    14318 program_source:403:1: error: implicit declaration of function
    14319 'quad_shuffle_rotate_down' is invalid in OpenCL 
    14320 DECLARE_SHUFFLE_CLUSTERED(shuffle_rotate_down, rotate) 
    14321 
    14322 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    14323 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14324 
    14325 program_source:252:69: note: expanded from macro '\ 
    14326 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    14327 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    14328 
    14329 program_source:208:12: note: expanded from macro '\ 
    14330 OVERLOAD_CLUSTERED_ARGS_2' 
    14331 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    14332 
    14333 :156:1: note: expanded from here 
    14334 quad_shuffle_rotate_down 
    14335 
    14336 program_source:403:1: error: implicit declaration of function
    14337 'simd_shuffle_rotate_down' is invalid in OpenCL 
    14338 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    14339 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14340 
    14341 program_source:252:69: note: expanded from macro '\ 
    14342 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    14343 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    14344 
    14345 program_source:210:12: note: expanded from macro '\ 
    14346 OVERLOAD_CLUSTERED_ARGS_2' 
    14347 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    14348 
    14349 :157:1: note: expanded from here 
    14350 simd_shuffle_rotate_down 
    14351 
    14352 program_source:403:1: error: implicit declaration of function
    14353 'quad_shuffle_rotate_down' is invalid in OpenCL 
    14354 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    14355 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14356 
    14357 program_source:253:59: note: expanded from macro '\ 
    14358 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    14359 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    14360 
    14361 program_source:208:12: note: expanded from macro '\ 
    14362 OVERLOAD_CLUSTERED_ARGS_2' 
    14363 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    14364 
    14365 :158:1: note: expanded from here 
    14366 quad_shuffle_rotate_down 
    14367 
    14368 program_source:403:1: error: implicit declaration of function
    14369 'simd_shuffle_rotate_down' is invalid in OpenCL 
    14370 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    14371 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14372 
    14373 program_source:253:59: note: expanded from macro '\ 
    14374 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    14375 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    14376 
    14377 program_source:210:12: note: expanded from macro '\ 
    14378 OVERLOAD_CLUSTERED_ARGS_2' 
    14379 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    14380 
    14381 :159:1: note: expanded from here 
    14382 simd_shuffle_rotate_down 
    14383 
    14384 program_source:403:1: error: implicit declaration of function
    14385 'quad_shuffle_rotate_down' is invalid in OpenCL 
    14386 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    14387 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14388 
    14389 program_source:254:60: note: expanded from macro '\ 
    14390 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    14391 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    14392 
    14393 program_source:208:12: note: expanded from macro '\ 
    14394 OVERLOAD_CLUSTERED_ARGS_2' 
    14395 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    14396 
    14397 :160:1: note: expanded from here 
    14398 quad_shuffle_rotate_down 
    14399 
    14400 program_source:403:1: error: implicit declaration of function
    14401 'simd_shuffle_rotate_down' is invalid in OpenCL 
    14402 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    14403 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    14404 
    14405 program_source:254:60: note: expanded from macro '\ 
    14406 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    14407 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    14408 
    14409 program_source:210:12: note: expanded from macro '\ 
    14410 OVERLOAD_CLUSTERED_ARGS_2' 
    14411 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    14412 
    14413 :161:1: note: expanded from here 
    14414 simd_shuffle_rotate_down 
    14415 
    14416 program_source:409:1: error: illegal string literal in 'asm' 
    14417 EXPOSE_BALLOT(simd_is_first, , bool, ) 
    14418 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14419 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    14420 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    14421 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14422 program_source:410:1: error: illegal string literal in 'asm' 
    14423 EXPOSE_BALLOT(simd_all, bool expr, bool, ) 
    14424 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14425 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    14426 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    14427 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14428 program_source:411:1: error: illegal string literal in 'asm' 
    14429 EXPOSE_BALLOT(simd_any, bool expr, bool, ) 
    14430 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14431 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    14432 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    14433 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14434 program_source:412:1: error: illegal string literal in 'asm' 
    14435 EXPOSE_BALLOT(simd_ballot, bool expr, ulong, .i64) 
    14436 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14437 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    14438 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    14439 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14440 program_source:413:1: error: illegal string literal in 'asm' 
    14441 EXPOSE_BALLOT(simd_active_threads_mask, , ulong, .i64) 
    14442 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14443 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    14444 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    14445 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14446 program_source:415:1: error: illegal string literal in 'asm' 
    14447 EXPOSE_BALLOT(quad_is_first, , bool, ) 
    14448 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14449 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    14450 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    14451 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14452 program_source:416:1: error: illegal string literal in 'asm' 
    14453 EXPOSE_BALLOT(quad_all, bool expr, bool, ) 
    14454 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14455 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    14456 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    14457 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14458 program_source:417:1: error: illegal string literal in 'asm' 
    14459 EXPOSE_BALLOT(quad_any, bool expr, bool, ) 
    14460 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14461 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    14462 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    14463 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14464 program_source:418:1: error: illegal string literal in 'asm' 
    14465 EXPOSE_BALLOT(quad_ballot, bool expr, ushort, ) 
    14466 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14467 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    14468 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    14469 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14470 program_source:419:1: error: illegal string literal in 'asm' 
    14471 EXPOSE_BALLOT(quad_active_threads_mask, , ushort, ) 
    14472 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14473 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    14474 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    14475 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14476 program_source:422:23: error: implicit declaration of function 'simd_is_first'
    14477 is invalid in OpenCL 
    14478 return select(0, 1, simd_is_first()); 
    14479 
    14480 program_source:426:23: error: implicit declaration of function 'simd_all' is
    14481 invalid in OpenCL 
    14482 return select(0, 1, simd_all(predicate != 0)); 
    14483 
    14484 program_source:430:23: error: implicit declaration of function 'simd_any' is
    14485 invalid in OpenCL 
    14486 return select(0, 1, simd_any(predicate != 0)); 
    14487 
    14488 program_source:434:23: error: implicit declaration of function 'simd_all' is
    14489 invalid in OpenCL 
    14490 return select(0, 1, simd_all(predicate != 0)); 
    14491 
    14492 program_source:438:23: error: implicit declaration of function 'simd_any' is
    14493 invalid in OpenCL 
    14494 return select(0, 1, simd_any(predicate != 0)); 
    14495 
    14496 program_source:443:14: error: implicit declaration of function 'simd_ballot'
    14497 is invalid in OpenCL 
    14498 output.x = simd_ballot(predicate != 0); 
    14499 
    14500 program_source:480:9: error: illegal string literal in 'asm' 
    14501 __asm("air.simdgroup.barrier"); 
    14502 ^~~~~~~~~~~~~~~~~~~~~~~ 
    14503 program_source:487:3: error: implicit declaration of function
    14504 '__metal_simdgroup_barrier' is invalid in OpenCL 
    14505 __metal_simdgroup_barrier(flags, 1); 
    14506 
    14507 program_source:487:3: note: did you mean 'simdgroup_barrier'? 
    14508 program_source:483:6: note: 'simdgroup_barrier' declared here 
    14509 void simdgroup_barrier(int flags) { 
    14510 
    14511 program_source:681:9: error: implicit declaration of function 'simd_is_first'
    14512 is invalid in OpenCL 
    14513 if (simd_is_first()) { 
    14514 
    14515 program_source:673:45: warning: comparison of integers of different signs:
    14516 '__private unsigned int' and '__private int' [-Wsign-compare] 
    14517 for (unsigned int index = thread; index ~~~~~ ^ ~~~~~~~~~~ 
    14518 program_source:685:45: warning: comparison of integers of different signs:
    14519 'unsigned int' and '__private int' [-Wsign-compare] 
    14520 if (thread%(32*2) == 0 && thread+32 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    14521 program_source:689:45: warning: comparison of integers of different signs:
    14522 'unsigned int' and '__private int' [-Wsign-compare] 
    14523 if (thread%(64*2) == 0 && thread+64 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    14524 program_source:693:47: warning: comparison of integers of different signs:
    14525 'unsigned int' and '__private int' [-Wsign-compare] 
    14526 if (thread%(128*2) == 0 && thread+128 ~~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    14527  
    14528  
    14529 File
    14530 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    14531 packages/openmm/openmm.py", line 2469, in __init__ 
    14532 _openmm.Context_swiginit(self, _openmm.new_Context(*args)) 
    14533 ^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    14534  
    14535 See log for complete Python traceback. 
    14536  
    14537 
    14538 > clipper spotlight
    14539 
    14540 > volume #2.1.1.1 level 0.3677
    14541 
    14542 > select /A:111-112
    14543 
    14544 45 atoms, 45 bonds, 2 residues, 1 model selected 
    14545 
    14546 > select /A:111-136
    14547 
    14548 441 atoms, 449 bonds, 26 residues, 1 model selected 
    14549 
    14550 > isolde sim start /A:111-136
    14551 
    14552 Traceback (most recent call last): 
    14553 File
    14554 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    14555 packages/chimerax/toolbar/tool.py", line 205, in callback 
    14556 bundle_info.run_provider(session, name, session.toolbar,
    14557 display_name=display_name) 
    14558 File
    14559 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    14560 packages/chimerax/core/toolshed/info.py", line 397, in run_provider 
    14561 return api._api_caller.run_provider(api, session, name, mgr, **kw) 
    14562 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    14563 File
    14564 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    14565 packages/chimerax/core/toolshed/__init__.py", line 1302, in run_provider 
    14566 return cls._get_func(api, "run_provider")(session, name, mgr, **kw) 
    14567 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    14568 File "/Users/sahmed08/Library/Application
    14569 Support/ChimeraX/1.7/lib/python/site-packages/chimerax/isolde/__init__.py",
    14570 line 183, in run_provider 
    14571 toolbar_command(session, name) 
    14572 File "/Users/sahmed08/Library/Application
    14573 Support/ChimeraX/1.7/lib/python/site-packages/chimerax/isolde/toolbar.py",
    14574 line 21, in toolbar_command 
    14575 run(session, f'isolde sim start {_current_residue_sel_string(session)}') 
    14576 File
    14577 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    14578 packages/chimerax/core/commands/run.py", line 49, in run 
    14579 results = command.run(text, log=log, return_json=return_json) 
    14580 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    14581 File
    14582 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    14583 packages/chimerax/core/commands/cli.py", line 2908, in run 
    14584 result = ci.function(session, **kw_args) 
    14585 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    14586 File "/Users/sahmed08/Library/Application
    14587 Support/ChimeraX/1.7/lib/python/site-packages/chimerax/isolde/cmd/cmd.py",
    14588 line 122, in isolde_sim 
    14589 isolde.start_sim() 
    14590 File "/Users/sahmed08/Library/Application
    14591 Support/ChimeraX/1.7/lib/python/site-packages/chimerax/isolde/isolde.py", line
    14592 896, in start_sim 
    14593 sm.start_sim() 
    14594 File "/Users/sahmed08/Library/Application
    14595 Support/ChimeraX/1.7/lib/python/site-
    14596 packages/chimerax/isolde/openmm/openmm_interface.py", line 401, in start_sim 
    14597 sh.start_sim() 
    14598 File "/Users/sahmed08/Library/Application
    14599 Support/ChimeraX/1.7/lib/python/site-
    14600 packages/chimerax/isolde/openmm/openmm_interface.py", line 1432, in start_sim 
    14601 self._prepare_sim() 
    14602 File "/Users/sahmed08/Library/Application
    14603 Support/ChimeraX/1.7/lib/python/site-
    14604 packages/chimerax/isolde/openmm/openmm_interface.py", line 1377, in
    14605 _prepare_sim 
    14606 s = self._simulation = app.Simulation(self.topology, self._system, 
    14607 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    14608 File
    14609 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    14610 packages/openmm/app/simulation.py", line 103, in __init__ 
    14611 self.context = mm.Context(self.system, self.integrator, platform,
    14612 platformProperties) 
    14613 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    14614 File
    14615 "/Applications/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
    14616 packages/openmm/openmm.py", line 2469, in __init__ 
    14617 _openmm.Context_swiginit(self, _openmm.new_Context(*args)) 
    14618 ^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    14619 openmm.OpenMMException: Error compiling kernel: program_source:279:1: error:
    14620 illegal string literal in 'asm' 
    14621 DECLARE_REDUCTION_BASE(sum) 
    14622 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14623 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14624 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    14625 
    14626 program_source:263:44: note: expanded from macro '\ 
    14627 DECLARE_I_REDUCTION_BASE' 
    14628 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    14629 
    14630 program_source:217:40: note: expanded from macro '\ 
    14631 EXPOSE_FUNCTION_I_ARGS_1' 
    14632 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    14633 
    14634 program_source:164:9: note: expanded from macro '\ 
    14635 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14636 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14637 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14638 program_source:279:1: error: illegal string literal in 'asm' 
    14639 DECLARE_REDUCTION_BASE(sum) 
    14640 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14641 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14642 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    14643 
    14644 program_source:263:44: note: expanded from macro '\ 
    14645 DECLARE_I_REDUCTION_BASE' 
    14646 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    14647 
    14648 program_source:218:51: note: expanded from macro '\ 
    14649 EXPOSE_FUNCTION_I_ARGS_1' 
    14650 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    14651 
    14652 program_source:164:9: note: expanded from macro '\ 
    14653 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14654 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14655 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14656 program_source:279:1: error: illegal string literal in 'asm' 
    14657 DECLARE_REDUCTION_BASE(sum) 
    14658 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14659 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14660 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    14661 
    14662 program_source:264:43: note: expanded from macro '\ 
    14663 DECLARE_I_REDUCTION_BASE' 
    14664 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    14665 
    14666 program_source:217:40: note: expanded from macro '\ 
    14667 EXPOSE_FUNCTION_I_ARGS_1' 
    14668 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    14669 
    14670 program_source:164:9: note: expanded from macro '\ 
    14671 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14672 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14673 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14674 program_source:279:1: error: illegal string literal in 'asm' 
    14675 DECLARE_REDUCTION_BASE(sum) 
    14676 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14677 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14678 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    14679 
    14680 program_source:264:43: note: expanded from macro '\ 
    14681 DECLARE_I_REDUCTION_BASE' 
    14682 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    14683 
    14684 program_source:218:51: note: expanded from macro '\ 
    14685 EXPOSE_FUNCTION_I_ARGS_1' 
    14686 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    14687 
    14688 program_source:164:9: note: expanded from macro '\ 
    14689 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14690 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14691 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14692 program_source:279:1: error: illegal string literal in 'asm' 
    14693 DECLARE_REDUCTION_BASE(sum) 
    14694 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14695 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14696 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    14697 
    14698 program_source:267:44: note: expanded from macro '\ 
    14699 DECLARE_F_REDUCTION_BASE' 
    14700 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    14701 
    14702 program_source:221:40: note: expanded from macro '\ 
    14703 EXPOSE_FUNCTION_F_ARGS_1' 
    14704 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    14705 
    14706 program_source:164:9: note: expanded from macro '\ 
    14707 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14708 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14709 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14710 program_source:279:1: error: illegal string literal in 'asm' 
    14711 DECLARE_REDUCTION_BASE(sum) 
    14712 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14713 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14714 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    14715 
    14716 program_source:268:43: note: expanded from macro '\ 
    14717 DECLARE_F_REDUCTION_BASE' 
    14718 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    14719 
    14720 program_source:221:40: note: expanded from macro '\ 
    14721 EXPOSE_FUNCTION_F_ARGS_1' 
    14722 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    14723 
    14724 program_source:164:9: note: expanded from macro '\ 
    14725 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14726 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14727 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14728 program_source:280:1: error: illegal string literal in 'asm' 
    14729 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    14730 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14731 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14732 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    14733 
    14734 program_source:263:44: note: expanded from macro '\ 
    14735 DECLARE_I_REDUCTION_BASE' 
    14736 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    14737 
    14738 program_source:217:40: note: expanded from macro '\ 
    14739 EXPOSE_FUNCTION_I_ARGS_1' 
    14740 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    14741 
    14742 program_source:164:9: note: expanded from macro '\ 
    14743 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14744 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14745 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14746 program_source:280:1: error: illegal string literal in 'asm' 
    14747 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    14748 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14749 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14750 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    14751 
    14752 program_source:263:44: note: expanded from macro '\ 
    14753 DECLARE_I_REDUCTION_BASE' 
    14754 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    14755 
    14756 program_source:218:51: note: expanded from macro '\ 
    14757 EXPOSE_FUNCTION_I_ARGS_1' 
    14758 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    14759 
    14760 program_source:164:9: note: expanded from macro '\ 
    14761 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14762 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14763 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14764 program_source:280:1: error: illegal string literal in 'asm' 
    14765 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    14766 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14767 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14768 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    14769 
    14770 program_source:264:43: note: expanded from macro '\ 
    14771 DECLARE_I_REDUCTION_BASE' 
    14772 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    14773 
    14774 program_source:217:40: note: expanded from macro '\ 
    14775 EXPOSE_FUNCTION_I_ARGS_1' 
    14776 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    14777 
    14778 program_source:164:9: note: expanded from macro '\ 
    14779 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14780 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14781 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14782 program_source:280:1: error: illegal string literal in 'asm' 
    14783 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    14784 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14785 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14786 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    14787 
    14788 program_source:264:43: note: expanded from macro '\ 
    14789 DECLARE_I_REDUCTION_BASE' 
    14790 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    14791 
    14792 program_source:218:51: note: expanded from macro '\ 
    14793 EXPOSE_FUNCTION_I_ARGS_1' 
    14794 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    14795 
    14796 program_source:164:9: note: expanded from macro '\ 
    14797 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14798 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14799 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14800 program_source:280:1: error: illegal string literal in 'asm' 
    14801 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    14802 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14803 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14804 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    14805 
    14806 program_source:267:44: note: expanded from macro '\ 
    14807 DECLARE_F_REDUCTION_BASE' 
    14808 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    14809 
    14810 program_source:221:40: note: expanded from macro '\ 
    14811 EXPOSE_FUNCTION_F_ARGS_1' 
    14812 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    14813 
    14814 program_source:164:9: note: expanded from macro '\ 
    14815 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14816 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14817 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14818 program_source:280:1: error: illegal string literal in 'asm' 
    14819 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    14820 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14821 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14822 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    14823 
    14824 program_source:268:43: note: expanded from macro '\ 
    14825 DECLARE_F_REDUCTION_BASE' 
    14826 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    14827 
    14828 program_source:221:40: note: expanded from macro '\ 
    14829 EXPOSE_FUNCTION_F_ARGS_1' 
    14830 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    14831 
    14832 program_source:164:9: note: expanded from macro '\ 
    14833 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14834 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14835 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14836 program_source:281:1: error: illegal string literal in 'asm' 
    14837 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    14838 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14839 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14840 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    14841 
    14842 program_source:263:44: note: expanded from macro '\ 
    14843 DECLARE_I_REDUCTION_BASE' 
    14844 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    14845 
    14846 program_source:217:40: note: expanded from macro '\ 
    14847 EXPOSE_FUNCTION_I_ARGS_1' 
    14848 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    14849 
    14850 program_source:164:9: note: expanded from macro '\ 
    14851 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14852 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14853 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14854 program_source:281:1: error: illegal string literal in 'asm' 
    14855 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    14856 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14857 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14858 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    14859 
    14860 program_source:263:44: note: expanded from macro '\ 
    14861 DECLARE_I_REDUCTION_BASE' 
    14862 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    14863 
    14864 program_source:218:51: note: expanded from macro '\ 
    14865 EXPOSE_FUNCTION_I_ARGS_1' 
    14866 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    14867 
    14868 program_source:164:9: note: expanded from macro '\ 
    14869 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14870 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14871 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14872 program_source:281:1: error: illegal string literal in 'asm' 
    14873 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    14874 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14875 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14876 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    14877 
    14878 program_source:264:43: note: expanded from macro '\ 
    14879 DECLARE_I_REDUCTION_BASE' 
    14880 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    14881 
    14882 program_source:217:40: note: expanded from macro '\ 
    14883 EXPOSE_FUNCTION_I_ARGS_1' 
    14884 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    14885 
    14886 program_source:164:9: note: expanded from macro '\ 
    14887 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14888 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14889 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14890 program_source:281:1: error: illegal string literal in 'asm' 
    14891 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    14892 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14893 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14894 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    14895 
    14896 program_source:264:43: note: expanded from macro '\ 
    14897 DECLARE_I_REDUCTION_BASE' 
    14898 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    14899 
    14900 program_source:218:51: note: expanded from macro '\ 
    14901 EXPOSE_FUNCTION_I_ARGS_1' 
    14902 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    14903 
    14904 program_source:164:9: note: expanded from macro '\ 
    14905 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14906 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14907 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14908 program_source:281:1: error: illegal string literal in 'asm' 
    14909 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    14910 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14911 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14912 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    14913 
    14914 program_source:267:44: note: expanded from macro '\ 
    14915 DECLARE_F_REDUCTION_BASE' 
    14916 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    14917 
    14918 program_source:221:40: note: expanded from macro '\ 
    14919 EXPOSE_FUNCTION_F_ARGS_1' 
    14920 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    14921 
    14922 program_source:164:9: note: expanded from macro '\ 
    14923 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14924 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14925 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14926 program_source:281:1: error: illegal string literal in 'asm' 
    14927 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    14928 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14929 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14930 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    14931 
    14932 program_source:268:43: note: expanded from macro '\ 
    14933 DECLARE_F_REDUCTION_BASE' 
    14934 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    14935 
    14936 program_source:221:40: note: expanded from macro '\ 
    14937 EXPOSE_FUNCTION_F_ARGS_1' 
    14938 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    14939 
    14940 program_source:164:9: note: expanded from macro '\ 
    14941 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14942 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14943 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14944 program_source:282:1: error: illegal string literal in 'asm' 
    14945 DECLARE_REDUCTION_BASE(min) 
    14946 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14947 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14948 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    14949 
    14950 program_source:263:44: note: expanded from macro '\ 
    14951 DECLARE_I_REDUCTION_BASE' 
    14952 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    14953 
    14954 program_source:217:40: note: expanded from macro '\ 
    14955 EXPOSE_FUNCTION_I_ARGS_1' 
    14956 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    14957 
    14958 program_source:164:9: note: expanded from macro '\ 
    14959 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14960 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14961 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14962 program_source:282:1: error: illegal string literal in 'asm' 
    14963 DECLARE_REDUCTION_BASE(min) 
    14964 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14965 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14966 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    14967 
    14968 program_source:263:44: note: expanded from macro '\ 
    14969 DECLARE_I_REDUCTION_BASE' 
    14970 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    14971 
    14972 program_source:218:51: note: expanded from macro '\ 
    14973 EXPOSE_FUNCTION_I_ARGS_1' 
    14974 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    14975 
    14976 program_source:164:9: note: expanded from macro '\ 
    14977 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14978 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14979 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14980 program_source:282:1: error: illegal string literal in 'asm' 
    14981 DECLARE_REDUCTION_BASE(min) 
    14982 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14983 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    14984 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    14985 
    14986 program_source:264:43: note: expanded from macro '\ 
    14987 DECLARE_I_REDUCTION_BASE' 
    14988 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    14989 
    14990 program_source:217:40: note: expanded from macro '\ 
    14991 EXPOSE_FUNCTION_I_ARGS_1' 
    14992 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    14993 
    14994 program_source:164:9: note: expanded from macro '\ 
    14995 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    14996 __asm("air." #EXPR "." #AIR_TYPE); \ 
    14997 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    14998 program_source:282:1: error: illegal string literal in 'asm' 
    14999 DECLARE_REDUCTION_BASE(min) 
    15000 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15001 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15002 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15003 
    15004 program_source:264:43: note: expanded from macro '\ 
    15005 DECLARE_I_REDUCTION_BASE' 
    15006 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    15007 
    15008 program_source:218:51: note: expanded from macro '\ 
    15009 EXPOSE_FUNCTION_I_ARGS_1' 
    15010 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    15011 
    15012 program_source:164:9: note: expanded from macro '\ 
    15013 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15014 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15015 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15016 program_source:282:1: error: illegal string literal in 'asm' 
    15017 DECLARE_REDUCTION_BASE(min) 
    15018 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15019 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15020 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15021 
    15022 program_source:267:44: note: expanded from macro '\ 
    15023 DECLARE_F_REDUCTION_BASE' 
    15024 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    15025 
    15026 program_source:221:40: note: expanded from macro '\ 
    15027 EXPOSE_FUNCTION_F_ARGS_1' 
    15028 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    15029 
    15030 program_source:164:9: note: expanded from macro '\ 
    15031 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15032 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15033 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15034 program_source:282:1: error: illegal string literal in 'asm' 
    15035 DECLARE_REDUCTION_BASE(min) 
    15036 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15037 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15038 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15039 
    15040 program_source:268:43: note: expanded from macro '\ 
    15041 DECLARE_F_REDUCTION_BASE' 
    15042 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    15043 
    15044 program_source:221:40: note: expanded from macro '\ 
    15045 EXPOSE_FUNCTION_F_ARGS_1' 
    15046 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    15047 
    15048 program_source:164:9: note: expanded from macro '\ 
    15049 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15050 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15051 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15052 program_source:283:1: error: illegal string literal in 'asm' 
    15053 DECLARE_REDUCTION_BASE(max) 
    15054 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15055 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15056 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15057 
    15058 program_source:263:44: note: expanded from macro '\ 
    15059 DECLARE_I_REDUCTION_BASE' 
    15060 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15061 
    15062 program_source:217:40: note: expanded from macro '\ 
    15063 EXPOSE_FUNCTION_I_ARGS_1' 
    15064 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    15065 
    15066 program_source:164:9: note: expanded from macro '\ 
    15067 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15068 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15069 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15070 program_source:283:1: error: illegal string literal in 'asm' 
    15071 DECLARE_REDUCTION_BASE(max) 
    15072 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15073 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15074 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15075 
    15076 program_source:263:44: note: expanded from macro '\ 
    15077 DECLARE_I_REDUCTION_BASE' 
    15078 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15079 
    15080 program_source:218:51: note: expanded from macro '\ 
    15081 EXPOSE_FUNCTION_I_ARGS_1' 
    15082 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    15083 
    15084 program_source:164:9: note: expanded from macro '\ 
    15085 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15086 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15087 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15088 program_source:283:1: error: illegal string literal in 'asm' 
    15089 DECLARE_REDUCTION_BASE(max) 
    15090 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15091 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15092 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15093 
    15094 program_source:264:43: note: expanded from macro '\ 
    15095 DECLARE_I_REDUCTION_BASE' 
    15096 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    15097 
    15098 program_source:217:40: note: expanded from macro '\ 
    15099 EXPOSE_FUNCTION_I_ARGS_1' 
    15100 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    15101 
    15102 program_source:164:9: note: expanded from macro '\ 
    15103 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15104 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15105 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15106 program_source:283:1: error: illegal string literal in 'asm' 
    15107 DECLARE_REDUCTION_BASE(max) 
    15108 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15109 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15110 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15111 
    15112 program_source:264:43: note: expanded from macro '\ 
    15113 DECLARE_I_REDUCTION_BASE' 
    15114 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    15115 
    15116 program_source:218:51: note: expanded from macro '\ 
    15117 EXPOSE_FUNCTION_I_ARGS_1' 
    15118 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    15119 
    15120 program_source:164:9: note: expanded from macro '\ 
    15121 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15122 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15123 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15124 program_source:283:1: error: illegal string literal in 'asm' 
    15125 DECLARE_REDUCTION_BASE(max) 
    15126 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15127 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15128 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15129 
    15130 program_source:267:44: note: expanded from macro '\ 
    15131 DECLARE_F_REDUCTION_BASE' 
    15132 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    15133 
    15134 program_source:221:40: note: expanded from macro '\ 
    15135 EXPOSE_FUNCTION_F_ARGS_1' 
    15136 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    15137 
    15138 program_source:164:9: note: expanded from macro '\ 
    15139 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15140 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15141 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15142 program_source:283:1: error: illegal string literal in 'asm' 
    15143 DECLARE_REDUCTION_BASE(max) 
    15144 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15145 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15146 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15147 
    15148 program_source:268:43: note: expanded from macro '\ 
    15149 DECLARE_F_REDUCTION_BASE' 
    15150 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    15151 
    15152 program_source:221:40: note: expanded from macro '\ 
    15153 EXPOSE_FUNCTION_F_ARGS_1' 
    15154 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    15155 
    15156 program_source:164:9: note: expanded from macro '\ 
    15157 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15158 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15159 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15160 program_source:285:1: error: illegal string literal in 'asm' 
    15161 DECLARE_REDUCTION_BASE(product) 
    15162 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15163 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15164 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15165 
    15166 program_source:263:44: note: expanded from macro '\ 
    15167 DECLARE_I_REDUCTION_BASE' 
    15168 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15169 
    15170 program_source:217:40: note: expanded from macro '\ 
    15171 EXPOSE_FUNCTION_I_ARGS_1' 
    15172 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    15173 
    15174 program_source:164:9: note: expanded from macro '\ 
    15175 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15176 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15177 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15178 program_source:285:1: error: illegal string literal in 'asm' 
    15179 DECLARE_REDUCTION_BASE(product) 
    15180 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15181 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15182 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15183 
    15184 program_source:263:44: note: expanded from macro '\ 
    15185 DECLARE_I_REDUCTION_BASE' 
    15186 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15187 
    15188 program_source:218:51: note: expanded from macro '\ 
    15189 EXPOSE_FUNCTION_I_ARGS_1' 
    15190 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    15191 
    15192 program_source:164:9: note: expanded from macro '\ 
    15193 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15194 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15195 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15196 program_source:285:1: error: illegal string literal in 'asm' 
    15197 DECLARE_REDUCTION_BASE(product) 
    15198 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15199 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15200 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15201 
    15202 program_source:264:43: note: expanded from macro '\ 
    15203 DECLARE_I_REDUCTION_BASE' 
    15204 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    15205 
    15206 program_source:217:40: note: expanded from macro '\ 
    15207 EXPOSE_FUNCTION_I_ARGS_1' 
    15208 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    15209 
    15210 program_source:164:9: note: expanded from macro '\ 
    15211 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15212 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15213 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15214 program_source:285:1: error: illegal string literal in 'asm' 
    15215 DECLARE_REDUCTION_BASE(product) 
    15216 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15217 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15218 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15219 
    15220 program_source:264:43: note: expanded from macro '\ 
    15221 DECLARE_I_REDUCTION_BASE' 
    15222 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    15223 
    15224 program_source:218:51: note: expanded from macro '\ 
    15225 EXPOSE_FUNCTION_I_ARGS_1' 
    15226 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    15227 
    15228 program_source:164:9: note: expanded from macro '\ 
    15229 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15230 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15231 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15232 program_source:285:1: error: illegal string literal in 'asm' 
    15233 DECLARE_REDUCTION_BASE(product) 
    15234 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15235 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15236 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15237 
    15238 program_source:267:44: note: expanded from macro '\ 
    15239 DECLARE_F_REDUCTION_BASE' 
    15240 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    15241 
    15242 program_source:221:40: note: expanded from macro '\ 
    15243 EXPOSE_FUNCTION_F_ARGS_1' 
    15244 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    15245 
    15246 program_source:164:9: note: expanded from macro '\ 
    15247 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15248 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15249 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15250 program_source:285:1: error: illegal string literal in 'asm' 
    15251 DECLARE_REDUCTION_BASE(product) 
    15252 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15253 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15254 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15255 
    15256 program_source:268:43: note: expanded from macro '\ 
    15257 DECLARE_F_REDUCTION_BASE' 
    15258 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    15259 
    15260 program_source:221:40: note: expanded from macro '\ 
    15261 EXPOSE_FUNCTION_F_ARGS_1' 
    15262 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    15263 
    15264 program_source:164:9: note: expanded from macro '\ 
    15265 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15266 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15267 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15268 program_source:286:1: error: illegal string literal in 'asm' 
    15269 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    15270 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15271 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15272 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15273 
    15274 program_source:263:44: note: expanded from macro '\ 
    15275 DECLARE_I_REDUCTION_BASE' 
    15276 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15277 
    15278 program_source:217:40: note: expanded from macro '\ 
    15279 EXPOSE_FUNCTION_I_ARGS_1' 
    15280 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    15281 
    15282 program_source:164:9: note: expanded from macro '\ 
    15283 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15284 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15285 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15286 program_source:286:1: error: illegal string literal in 'asm' 
    15287 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    15288 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15289 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15290 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15291 
    15292 program_source:263:44: note: expanded from macro '\ 
    15293 DECLARE_I_REDUCTION_BASE' 
    15294 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15295 
    15296 program_source:218:51: note: expanded from macro '\ 
    15297 EXPOSE_FUNCTION_I_ARGS_1' 
    15298 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    15299 
    15300 program_source:164:9: note: expanded from macro '\ 
    15301 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15302 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15303 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15304 program_source:286:1: error: illegal string literal in 'asm' 
    15305 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    15306 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15307 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15308 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15309 
    15310 program_source:264:43: note: expanded from macro '\ 
    15311 DECLARE_I_REDUCTION_BASE' 
    15312 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    15313 
    15314 program_source:217:40: note: expanded from macro '\ 
    15315 EXPOSE_FUNCTION_I_ARGS_1' 
    15316 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    15317 
    15318 program_source:164:9: note: expanded from macro '\ 
    15319 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15320 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15321 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15322 program_source:286:1: error: illegal string literal in 'asm' 
    15323 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    15324 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15325 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15326 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15327 
    15328 program_source:264:43: note: expanded from macro '\ 
    15329 DECLARE_I_REDUCTION_BASE' 
    15330 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    15331 
    15332 program_source:218:51: note: expanded from macro '\ 
    15333 EXPOSE_FUNCTION_I_ARGS_1' 
    15334 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    15335 
    15336 program_source:164:9: note: expanded from macro '\ 
    15337 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15338 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15339 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15340 program_source:286:1: error: illegal string literal in 'asm' 
    15341 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    15342 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15343 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15344 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15345 
    15346 program_source:267:44: note: expanded from macro '\ 
    15347 DECLARE_F_REDUCTION_BASE' 
    15348 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    15349 
    15350 program_source:221:40: note: expanded from macro '\ 
    15351 EXPOSE_FUNCTION_F_ARGS_1' 
    15352 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    15353 
    15354 program_source:164:9: note: expanded from macro '\ 
    15355 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15356 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15357 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15358 program_source:286:1: error: illegal string literal in 'asm' 
    15359 DECLARE_REDUCTION_BASE(prefix_inclusive_product) 
    15360 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15361 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15362 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15363 
    15364 program_source:268:43: note: expanded from macro '\ 
    15365 DECLARE_F_REDUCTION_BASE' 
    15366 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    15367 
    15368 program_source:221:40: note: expanded from macro '\ 
    15369 EXPOSE_FUNCTION_F_ARGS_1' 
    15370 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    15371 
    15372 program_source:164:9: note: expanded from macro '\ 
    15373 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15374 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15375 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15376 program_source:287:1: error: illegal string literal in 'asm' 
    15377 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    15378 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15379 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15380 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15381 
    15382 program_source:263:44: note: expanded from macro '\ 
    15383 DECLARE_I_REDUCTION_BASE' 
    15384 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15385 
    15386 program_source:217:40: note: expanded from macro '\ 
    15387 EXPOSE_FUNCTION_I_ARGS_1' 
    15388 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    15389 
    15390 program_source:164:9: note: expanded from macro '\ 
    15391 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15392 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15393 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15394 program_source:287:1: error: illegal string literal in 'asm' 
    15395 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    15396 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15397 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15398 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15399 
    15400 program_source:263:44: note: expanded from macro '\ 
    15401 DECLARE_I_REDUCTION_BASE' 
    15402 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15403 
    15404 program_source:218:51: note: expanded from macro '\ 
    15405 EXPOSE_FUNCTION_I_ARGS_1' 
    15406 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    15407 
    15408 program_source:164:9: note: expanded from macro '\ 
    15409 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15410 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15411 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15412 program_source:287:1: error: illegal string literal in 'asm' 
    15413 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    15414 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15415 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15416 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15417 
    15418 program_source:264:43: note: expanded from macro '\ 
    15419 DECLARE_I_REDUCTION_BASE' 
    15420 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    15421 
    15422 program_source:217:40: note: expanded from macro '\ 
    15423 EXPOSE_FUNCTION_I_ARGS_1' 
    15424 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    15425 
    15426 program_source:164:9: note: expanded from macro '\ 
    15427 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15428 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15429 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15430 program_source:287:1: error: illegal string literal in 'asm' 
    15431 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    15432 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15433 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15434 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15435 
    15436 program_source:264:43: note: expanded from macro '\ 
    15437 DECLARE_I_REDUCTION_BASE' 
    15438 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    15439 
    15440 program_source:218:51: note: expanded from macro '\ 
    15441 EXPOSE_FUNCTION_I_ARGS_1' 
    15442 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    15443 
    15444 program_source:164:9: note: expanded from macro '\ 
    15445 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15446 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15447 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15448 program_source:287:1: error: illegal string literal in 'asm' 
    15449 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    15450 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15451 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15452 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15453 
    15454 program_source:267:44: note: expanded from macro '\ 
    15455 DECLARE_F_REDUCTION_BASE' 
    15456 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    15457 
    15458 program_source:221:40: note: expanded from macro '\ 
    15459 EXPOSE_FUNCTION_F_ARGS_1' 
    15460 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    15461 
    15462 program_source:164:9: note: expanded from macro '\ 
    15463 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15464 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15465 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15466 program_source:287:1: error: illegal string literal in 'asm' 
    15467 DECLARE_REDUCTION_BASE(prefix_exclusive_product) 
    15468 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15469 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15470 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15471 
    15472 program_source:268:43: note: expanded from macro '\ 
    15473 DECLARE_F_REDUCTION_BASE' 
    15474 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    15475 
    15476 program_source:221:40: note: expanded from macro '\ 
    15477 EXPOSE_FUNCTION_F_ARGS_1' 
    15478 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    15479 
    15480 program_source:164:9: note: expanded from macro '\ 
    15481 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15482 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15483 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15484 program_source:288:1: error: illegal string literal in 'asm' 
    15485 DECLARE_I_REDUCTION_BASE(and) 
    15486 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15487 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    15488 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15489 
    15490 program_source:217:40: note: expanded from macro '\ 
    15491 EXPOSE_FUNCTION_I_ARGS_1' 
    15492 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    15493 
    15494 program_source:164:9: note: expanded from macro '\ 
    15495 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15496 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15497 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15498 program_source:288:1: error: illegal string literal in 'asm' 
    15499 DECLARE_I_REDUCTION_BASE(and) 
    15500 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15501 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    15502 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15503 
    15504 program_source:218:51: note: expanded from macro '\ 
    15505 EXPOSE_FUNCTION_I_ARGS_1' 
    15506 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    15507 
    15508 program_source:164:9: note: expanded from macro '\ 
    15509 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15510 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15511 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15512 program_source:288:1: error: illegal string literal in 'asm' 
    15513 DECLARE_I_REDUCTION_BASE(and) 
    15514 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15515 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    15516 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    15517 
    15518 program_source:217:40: note: expanded from macro '\ 
    15519 EXPOSE_FUNCTION_I_ARGS_1' 
    15520 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    15521 
    15522 program_source:164:9: note: expanded from macro '\ 
    15523 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15524 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15525 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15526 program_source:288:1: error: illegal string literal in 'asm' 
    15527 DECLARE_I_REDUCTION_BASE(and) 
    15528 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15529 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    15530 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    15531 
    15532 program_source:218:51: note: expanded from macro '\ 
    15533 EXPOSE_FUNCTION_I_ARGS_1' 
    15534 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    15535 
    15536 program_source:164:9: note: expanded from macro '\ 
    15537 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15538 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15539 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15540 program_source:289:1: error: illegal string literal in 'asm' 
    15541 DECLARE_I_REDUCTION_BASE(or) 
    15542 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15543 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    15544 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15545 
    15546 program_source:217:40: note: expanded from macro '\ 
    15547 EXPOSE_FUNCTION_I_ARGS_1' 
    15548 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    15549 
    15550 program_source:164:9: note: expanded from macro '\ 
    15551 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15552 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15553 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15554 program_source:289:1: error: illegal string literal in 'asm' 
    15555 DECLARE_I_REDUCTION_BASE(or) 
    15556 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15557 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    15558 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15559 
    15560 program_source:218:51: note: expanded from macro '\ 
    15561 EXPOSE_FUNCTION_I_ARGS_1' 
    15562 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    15563 
    15564 program_source:164:9: note: expanded from macro '\ 
    15565 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15566 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15567 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15568 program_source:289:1: error: illegal string literal in 'asm' 
    15569 DECLARE_I_REDUCTION_BASE(or) 
    15570 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15571 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    15572 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    15573 
    15574 program_source:217:40: note: expanded from macro '\ 
    15575 EXPOSE_FUNCTION_I_ARGS_1' 
    15576 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    15577 
    15578 program_source:164:9: note: expanded from macro '\ 
    15579 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15580 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15581 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15582 program_source:289:1: error: illegal string literal in 'asm' 
    15583 DECLARE_I_REDUCTION_BASE(or) 
    15584 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15585 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    15586 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    15587 
    15588 program_source:218:51: note: expanded from macro '\ 
    15589 EXPOSE_FUNCTION_I_ARGS_1' 
    15590 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    15591 
    15592 program_source:164:9: note: expanded from macro '\ 
    15593 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15594 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15595 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15596 program_source:290:1: error: illegal string literal in 'asm' 
    15597 DECLARE_I_REDUCTION_BASE(xor) 
    15598 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15599 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    15600 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15601 
    15602 program_source:217:40: note: expanded from macro '\ 
    15603 EXPOSE_FUNCTION_I_ARGS_1' 
    15604 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    15605 
    15606 program_source:164:9: note: expanded from macro '\ 
    15607 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15608 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15609 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15610 program_source:290:1: error: illegal string literal in 'asm' 
    15611 DECLARE_I_REDUCTION_BASE(xor) 
    15612 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15613 program_source:263:44: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    15614 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15615 
    15616 program_source:218:51: note: expanded from macro '\ 
    15617 EXPOSE_FUNCTION_I_ARGS_1' 
    15618 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    15619 
    15620 program_source:164:9: note: expanded from macro '\ 
    15621 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15622 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15623 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15624 program_source:290:1: error: illegal string literal in 'asm' 
    15625 DECLARE_I_REDUCTION_BASE(xor) 
    15626 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15627 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    15628 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    15629 
    15630 program_source:217:40: note: expanded from macro '\ 
    15631 EXPOSE_FUNCTION_I_ARGS_1' 
    15632 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    15633 
    15634 program_source:164:9: note: expanded from macro '\ 
    15635 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15636 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15637 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15638 program_source:290:1: error: illegal string literal in 'asm' 
    15639 DECLARE_I_REDUCTION_BASE(xor) 
    15640 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15641 program_source:264:43: note: expanded from macro 'DECLARE_I_REDUCTION_BASE' 
    15642 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    15643 
    15644 program_source:218:51: note: expanded from macro '\ 
    15645 EXPOSE_FUNCTION_I_ARGS_1' 
    15646 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    15647 
    15648 program_source:164:9: note: expanded from macro '\ 
    15649 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15650 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15651 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15652 program_source:292:1: error: illegal string literal in 'asm' 
    15653 DECLARE_SHUFFLE_BASE(broadcast) 
    15654 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15655 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    15656 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    15657 
    15658 program_source:224:38: note: expanded from macro '\ 
    15659 EXPOSE_FUNCTION_ARGS_2' 
    15660 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    15661 
    15662 program_source:168:9: note: expanded from macro '\ 
    15663 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    15664 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15665 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15666 program_source:292:1: error: illegal string literal in 'asm' 
    15667 DECLARE_SHUFFLE_BASE(broadcast) 
    15668 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15669 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    15670 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    15671 
    15672 program_source:225:51: note: expanded from macro '\ 
    15673 EXPOSE_FUNCTION_ARGS_2' 
    15674 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    15675 
    15676 program_source:168:9: note: expanded from macro '\ 
    15677 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    15678 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15679 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15680 program_source:292:1: error: illegal string literal in 'asm' 
    15681 DECLARE_SHUFFLE_BASE(broadcast) 
    15682 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15683 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    15684 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    15685 
    15686 program_source:226:52: note: expanded from macro '\ 
    15687 EXPOSE_FUNCTION_ARGS_2' 
    15688 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    15689 
    15690 program_source:168:9: note: expanded from macro '\ 
    15691 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    15692 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15693 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15694 program_source:292:1: error: illegal string literal in 'asm' 
    15695 DECLARE_SHUFFLE_BASE(broadcast) 
    15696 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15697 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    15698 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    15699 
    15700 program_source:224:38: note: expanded from macro '\ 
    15701 EXPOSE_FUNCTION_ARGS_2' 
    15702 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    15703 
    15704 program_source:168:9: note: expanded from macro '\ 
    15705 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    15706 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15707 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15708 program_source:292:1: error: illegal string literal in 'asm' 
    15709 DECLARE_SHUFFLE_BASE(broadcast) 
    15710 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15711 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    15712 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    15713 
    15714 program_source:225:51: note: expanded from macro '\ 
    15715 EXPOSE_FUNCTION_ARGS_2' 
    15716 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    15717 
    15718 program_source:168:9: note: expanded from macro '\ 
    15719 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    15720 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15721 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15722 program_source:292:1: error: illegal string literal in 'asm' 
    15723 DECLARE_SHUFFLE_BASE(broadcast) 
    15724 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15725 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    15726 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    15727 
    15728 program_source:226:52: note: expanded from macro '\ 
    15729 EXPOSE_FUNCTION_ARGS_2' 
    15730 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    15731 
    15732 program_source:168:9: note: expanded from macro '\ 
    15733 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    15734 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15735 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15736 program_source:293:1: error: illegal string literal in 'asm' 
    15737 DECLARE_REDUCTION_BASE(broadcast_first) 
    15738 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15739 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15740 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15741 
    15742 program_source:263:44: note: expanded from macro '\ 
    15743 DECLARE_I_REDUCTION_BASE' 
    15744 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15745 
    15746 program_source:217:40: note: expanded from macro '\ 
    15747 EXPOSE_FUNCTION_I_ARGS_1' 
    15748 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    15749 
    15750 program_source:164:9: note: expanded from macro '\ 
    15751 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15752 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15753 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15754 program_source:293:1: error: illegal string literal in 'asm' 
    15755 DECLARE_REDUCTION_BASE(broadcast_first) 
    15756 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15757 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15758 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15759 
    15760 program_source:263:44: note: expanded from macro '\ 
    15761 DECLARE_I_REDUCTION_BASE' 
    15762 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15763 
    15764 program_source:218:51: note: expanded from macro '\ 
    15765 EXPOSE_FUNCTION_I_ARGS_1' 
    15766 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    15767 
    15768 program_source:164:9: note: expanded from macro '\ 
    15769 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15770 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15771 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15772 program_source:293:1: error: illegal string literal in 'asm' 
    15773 DECLARE_REDUCTION_BASE(broadcast_first) 
    15774 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15775 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15776 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15777 
    15778 program_source:264:43: note: expanded from macro '\ 
    15779 DECLARE_I_REDUCTION_BASE' 
    15780 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    15781 
    15782 program_source:217:40: note: expanded from macro '\ 
    15783 EXPOSE_FUNCTION_I_ARGS_1' 
    15784 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    15785 
    15786 program_source:164:9: note: expanded from macro '\ 
    15787 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15788 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15789 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15790 program_source:293:1: error: illegal string literal in 'asm' 
    15791 DECLARE_REDUCTION_BASE(broadcast_first) 
    15792 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15793 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15794 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    15795 
    15796 program_source:264:43: note: expanded from macro '\ 
    15797 DECLARE_I_REDUCTION_BASE' 
    15798 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    15799 
    15800 program_source:218:51: note: expanded from macro '\ 
    15801 EXPOSE_FUNCTION_I_ARGS_1' 
    15802 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    15803 
    15804 program_source:164:9: note: expanded from macro '\ 
    15805 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15806 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15807 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15808 program_source:293:1: error: illegal string literal in 'asm' 
    15809 DECLARE_REDUCTION_BASE(broadcast_first) 
    15810 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15811 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15812 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15813 
    15814 program_source:267:44: note: expanded from macro '\ 
    15815 DECLARE_F_REDUCTION_BASE' 
    15816 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    15817 
    15818 program_source:221:40: note: expanded from macro '\ 
    15819 EXPOSE_FUNCTION_F_ARGS_1' 
    15820 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    15821 
    15822 program_source:164:9: note: expanded from macro '\ 
    15823 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15824 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15825 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15826 program_source:293:1: error: illegal string literal in 'asm' 
    15827 DECLARE_REDUCTION_BASE(broadcast_first) 
    15828 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15829 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    15830 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    15831 
    15832 program_source:268:43: note: expanded from macro '\ 
    15833 DECLARE_F_REDUCTION_BASE' 
    15834 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    15835 
    15836 program_source:221:40: note: expanded from macro '\ 
    15837 EXPOSE_FUNCTION_F_ARGS_1' 
    15838 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    15839 
    15840 program_source:164:9: note: expanded from macro '\ 
    15841 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    15842 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15843 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15844 program_source:295:1: error: illegal string literal in 'asm' 
    15845 DECLARE_SHUFFLE_BASE(shuffle) 
    15846 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15847 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    15848 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    15849 
    15850 program_source:224:38: note: expanded from macro '\ 
    15851 EXPOSE_FUNCTION_ARGS_2' 
    15852 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    15853 
    15854 program_source:168:9: note: expanded from macro '\ 
    15855 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    15856 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15857 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15858 program_source:295:1: error: illegal string literal in 'asm' 
    15859 DECLARE_SHUFFLE_BASE(shuffle) 
    15860 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15861 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    15862 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    15863 
    15864 program_source:225:51: note: expanded from macro '\ 
    15865 EXPOSE_FUNCTION_ARGS_2' 
    15866 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    15867 
    15868 program_source:168:9: note: expanded from macro '\ 
    15869 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    15870 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15871 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15872 program_source:295:1: error: illegal string literal in 'asm' 
    15873 DECLARE_SHUFFLE_BASE(shuffle) 
    15874 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15875 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    15876 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    15877 
    15878 program_source:226:52: note: expanded from macro '\ 
    15879 EXPOSE_FUNCTION_ARGS_2' 
    15880 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    15881 
    15882 program_source:168:9: note: expanded from macro '\ 
    15883 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    15884 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15885 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15886 program_source:295:1: error: illegal string literal in 'asm' 
    15887 DECLARE_SHUFFLE_BASE(shuffle) 
    15888 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15889 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    15890 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    15891 
    15892 program_source:224:38: note: expanded from macro '\ 
    15893 EXPOSE_FUNCTION_ARGS_2' 
    15894 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    15895 
    15896 program_source:168:9: note: expanded from macro '\ 
    15897 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    15898 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15899 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15900 program_source:295:1: error: illegal string literal in 'asm' 
    15901 DECLARE_SHUFFLE_BASE(shuffle) 
    15902 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15903 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    15904 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    15905 
    15906 program_source:225:51: note: expanded from macro '\ 
    15907 EXPOSE_FUNCTION_ARGS_2' 
    15908 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    15909 
    15910 program_source:168:9: note: expanded from macro '\ 
    15911 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    15912 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15913 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15914 program_source:295:1: error: illegal string literal in 'asm' 
    15915 DECLARE_SHUFFLE_BASE(shuffle) 
    15916 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15917 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    15918 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    15919 
    15920 program_source:226:52: note: expanded from macro '\ 
    15921 EXPOSE_FUNCTION_ARGS_2' 
    15922 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    15923 
    15924 program_source:168:9: note: expanded from macro '\ 
    15925 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    15926 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15927 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15928 program_source:296:1: error: illegal string literal in 'asm' 
    15929 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    15930 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15931 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    15932 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    15933 
    15934 program_source:224:38: note: expanded from macro '\ 
    15935 EXPOSE_FUNCTION_ARGS_2' 
    15936 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    15937 
    15938 program_source:168:9: note: expanded from macro '\ 
    15939 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    15940 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15941 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15942 program_source:296:1: error: illegal string literal in 'asm' 
    15943 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    15944 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15945 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    15946 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    15947 
    15948 program_source:225:51: note: expanded from macro '\ 
    15949 EXPOSE_FUNCTION_ARGS_2' 
    15950 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    15951 
    15952 program_source:168:9: note: expanded from macro '\ 
    15953 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    15954 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15955 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15956 program_source:296:1: error: illegal string literal in 'asm' 
    15957 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    15958 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15959 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    15960 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    15961 
    15962 program_source:226:52: note: expanded from macro '\ 
    15963 EXPOSE_FUNCTION_ARGS_2' 
    15964 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    15965 
    15966 program_source:168:9: note: expanded from macro '\ 
    15967 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    15968 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15969 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15970 program_source:296:1: error: illegal string literal in 'asm' 
    15971 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    15972 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15973 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    15974 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    15975 
    15976 program_source:224:38: note: expanded from macro '\ 
    15977 EXPOSE_FUNCTION_ARGS_2' 
    15978 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    15979 
    15980 program_source:168:9: note: expanded from macro '\ 
    15981 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    15982 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15983 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15984 program_source:296:1: error: illegal string literal in 'asm' 
    15985 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    15986 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15987 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    15988 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    15989 
    15990 program_source:225:51: note: expanded from macro '\ 
    15991 EXPOSE_FUNCTION_ARGS_2' 
    15992 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    15993 
    15994 program_source:168:9: note: expanded from macro '\ 
    15995 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    15996 __asm("air." #EXPR "." #AIR_TYPE); \ 
    15997 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    15998 program_source:296:1: error: illegal string literal in 'asm' 
    15999 DECLARE_SHUFFLE_BASE(shuffle_xor) 
    16000 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16001 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16002 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    16003 
    16004 program_source:226:52: note: expanded from macro '\ 
    16005 EXPOSE_FUNCTION_ARGS_2' 
    16006 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    16007 
    16008 program_source:168:9: note: expanded from macro '\ 
    16009 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16010 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16011 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16012 program_source:297:1: error: illegal string literal in 'asm' 
    16013 DECLARE_SHUFFLE_BASE(shuffle_up) 
    16014 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16015 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16016 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    16017 
    16018 program_source:224:38: note: expanded from macro '\ 
    16019 EXPOSE_FUNCTION_ARGS_2' 
    16020 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    16021 
    16022 program_source:168:9: note: expanded from macro '\ 
    16023 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16024 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16025 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16026 program_source:297:1: error: illegal string literal in 'asm' 
    16027 DECLARE_SHUFFLE_BASE(shuffle_up) 
    16028 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16029 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16030 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    16031 
    16032 program_source:225:51: note: expanded from macro '\ 
    16033 EXPOSE_FUNCTION_ARGS_2' 
    16034 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    16035 
    16036 program_source:168:9: note: expanded from macro '\ 
    16037 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16038 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16039 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16040 program_source:297:1: error: illegal string literal in 'asm' 
    16041 DECLARE_SHUFFLE_BASE(shuffle_up) 
    16042 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16043 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16044 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    16045 
    16046 program_source:226:52: note: expanded from macro '\ 
    16047 EXPOSE_FUNCTION_ARGS_2' 
    16048 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    16049 
    16050 program_source:168:9: note: expanded from macro '\ 
    16051 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16052 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16053 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16054 program_source:297:1: error: illegal string literal in 'asm' 
    16055 DECLARE_SHUFFLE_BASE(shuffle_up) 
    16056 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16057 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16058 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    16059 
    16060 program_source:224:38: note: expanded from macro '\ 
    16061 EXPOSE_FUNCTION_ARGS_2' 
    16062 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    16063 
    16064 program_source:168:9: note: expanded from macro '\ 
    16065 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16066 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16067 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16068 program_source:297:1: error: illegal string literal in 'asm' 
    16069 DECLARE_SHUFFLE_BASE(shuffle_up) 
    16070 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16071 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16072 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    16073 
    16074 program_source:225:51: note: expanded from macro '\ 
    16075 EXPOSE_FUNCTION_ARGS_2' 
    16076 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    16077 
    16078 program_source:168:9: note: expanded from macro '\ 
    16079 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16080 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16081 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16082 program_source:297:1: error: illegal string literal in 'asm' 
    16083 DECLARE_SHUFFLE_BASE(shuffle_up) 
    16084 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16085 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16086 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    16087 
    16088 program_source:226:52: note: expanded from macro '\ 
    16089 EXPOSE_FUNCTION_ARGS_2' 
    16090 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    16091 
    16092 program_source:168:9: note: expanded from macro '\ 
    16093 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16094 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16095 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16096 program_source:298:1: error: illegal string literal in 'asm' 
    16097 DECLARE_SHUFFLE_BASE(shuffle_down) 
    16098 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16099 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16100 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    16101 
    16102 program_source:224:38: note: expanded from macro '\ 
    16103 EXPOSE_FUNCTION_ARGS_2' 
    16104 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    16105 
    16106 program_source:168:9: note: expanded from macro '\ 
    16107 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16108 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16109 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16110 program_source:298:1: error: illegal string literal in 'asm' 
    16111 DECLARE_SHUFFLE_BASE(shuffle_down) 
    16112 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16113 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16114 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    16115 
    16116 program_source:225:51: note: expanded from macro '\ 
    16117 EXPOSE_FUNCTION_ARGS_2' 
    16118 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    16119 
    16120 program_source:168:9: note: expanded from macro '\ 
    16121 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16122 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16123 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16124 program_source:298:1: error: illegal string literal in 'asm' 
    16125 DECLARE_SHUFFLE_BASE(shuffle_down) 
    16126 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16127 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16128 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    16129 
    16130 program_source:226:52: note: expanded from macro '\ 
    16131 EXPOSE_FUNCTION_ARGS_2' 
    16132 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    16133 
    16134 program_source:168:9: note: expanded from macro '\ 
    16135 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16136 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16137 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16138 program_source:298:1: error: illegal string literal in 'asm' 
    16139 DECLARE_SHUFFLE_BASE(shuffle_down) 
    16140 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16141 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16142 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    16143 
    16144 program_source:224:38: note: expanded from macro '\ 
    16145 EXPOSE_FUNCTION_ARGS_2' 
    16146 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    16147 
    16148 program_source:168:9: note: expanded from macro '\ 
    16149 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16150 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16151 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16152 program_source:298:1: error: illegal string literal in 'asm' 
    16153 DECLARE_SHUFFLE_BASE(shuffle_down) 
    16154 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16155 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16156 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    16157 
    16158 program_source:225:51: note: expanded from macro '\ 
    16159 EXPOSE_FUNCTION_ARGS_2' 
    16160 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    16161 
    16162 program_source:168:9: note: expanded from macro '\ 
    16163 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16164 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16165 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16166 program_source:298:1: error: illegal string literal in 'asm' 
    16167 DECLARE_SHUFFLE_BASE(shuffle_down) 
    16168 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16169 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16170 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    16171 
    16172 program_source:226:52: note: expanded from macro '\ 
    16173 EXPOSE_FUNCTION_ARGS_2' 
    16174 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    16175 
    16176 program_source:168:9: note: expanded from macro '\ 
    16177 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16178 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16179 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16180 program_source:299:1: error: illegal string literal in 'asm' 
    16181 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    16182 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16183 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16184 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    16185 
    16186 program_source:224:38: note: expanded from macro '\ 
    16187 EXPOSE_FUNCTION_ARGS_2' 
    16188 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    16189 
    16190 program_source:168:9: note: expanded from macro '\ 
    16191 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16192 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16193 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16194 program_source:299:1: error: illegal string literal in 'asm' 
    16195 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    16196 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16197 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16198 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    16199 
    16200 program_source:225:51: note: expanded from macro '\ 
    16201 EXPOSE_FUNCTION_ARGS_2' 
    16202 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    16203 
    16204 program_source:168:9: note: expanded from macro '\ 
    16205 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16206 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16207 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16208 program_source:299:1: error: illegal string literal in 'asm' 
    16209 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    16210 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16211 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16212 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    16213 
    16214 program_source:226:52: note: expanded from macro '\ 
    16215 EXPOSE_FUNCTION_ARGS_2' 
    16216 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    16217 
    16218 program_source:168:9: note: expanded from macro '\ 
    16219 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16220 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16221 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16222 program_source:299:1: error: illegal string literal in 'asm' 
    16223 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    16224 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16225 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16226 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    16227 
    16228 program_source:224:38: note: expanded from macro '\ 
    16229 EXPOSE_FUNCTION_ARGS_2' 
    16230 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    16231 
    16232 program_source:168:9: note: expanded from macro '\ 
    16233 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16234 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16235 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16236 program_source:299:1: error: illegal string literal in 'asm' 
    16237 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    16238 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16239 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16240 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    16241 
    16242 program_source:225:51: note: expanded from macro '\ 
    16243 EXPOSE_FUNCTION_ARGS_2' 
    16244 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    16245 
    16246 program_source:168:9: note: expanded from macro '\ 
    16247 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16248 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16249 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16250 program_source:299:1: error: illegal string literal in 'asm' 
    16251 DECLARE_SHUFFLE_BASE(shuffle_rotate_up) 
    16252 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16253 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16254 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    16255 
    16256 program_source:226:52: note: expanded from macro '\ 
    16257 EXPOSE_FUNCTION_ARGS_2' 
    16258 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    16259 
    16260 program_source:168:9: note: expanded from macro '\ 
    16261 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16262 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16263 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16264 program_source:300:1: error: illegal string literal in 'asm' 
    16265 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    16266 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16267 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16268 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    16269 
    16270 program_source:224:38: note: expanded from macro '\ 
    16271 EXPOSE_FUNCTION_ARGS_2' 
    16272 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    16273 
    16274 program_source:168:9: note: expanded from macro '\ 
    16275 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16276 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16277 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16278 program_source:300:1: error: illegal string literal in 'asm' 
    16279 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    16280 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16281 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16282 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    16283 
    16284 program_source:225:51: note: expanded from macro '\ 
    16285 EXPOSE_FUNCTION_ARGS_2' 
    16286 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    16287 
    16288 program_source:168:9: note: expanded from macro '\ 
    16289 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16290 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16291 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16292 program_source:300:1: error: illegal string literal in 'asm' 
    16293 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    16294 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16295 program_source:275:40: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16296 #define DECLARE_SHUFFLE_BASE(METAL_OP) \ 
    16297 
    16298 program_source:226:52: note: expanded from macro '\ 
    16299 EXPOSE_FUNCTION_ARGS_2' 
    16300 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    16301 
    16302 program_source:168:9: note: expanded from macro '\ 
    16303 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16304 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16305 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16306 program_source:300:1: error: illegal string literal in 'asm' 
    16307 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    16308 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16309 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16310 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    16311 
    16312 program_source:224:38: note: expanded from macro '\ 
    16313 EXPOSE_FUNCTION_ARGS_2' 
    16314 #define EXPOSE_FUNCTION_ARGS_2(EXPR) \ 
    16315 
    16316 program_source:168:9: note: expanded from macro '\ 
    16317 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16318 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16319 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16320 program_source:300:1: error: illegal string literal in 'asm' 
    16321 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    16322 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16323 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16324 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    16325 
    16326 program_source:225:51: note: expanded from macro '\ 
    16327 EXPOSE_FUNCTION_ARGS_2' 
    16328 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, int, s.i32) \ 
    16329 
    16330 program_source:168:9: note: expanded from macro '\ 
    16331 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16332 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16333 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16334 program_source:300:1: error: illegal string literal in 'asm' 
    16335 DECLARE_SHUFFLE_BASE(shuffle_rotate_down) 
    16336 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16337 program_source:276:41: note: expanded from macro 'DECLARE_SHUFFLE_BASE' 
    16338 EXPOSE_FUNCTION_ARGS_2(quad_##METAL_OP) \ 
    16339 
    16340 program_source:226:52: note: expanded from macro '\ 
    16341 EXPOSE_FUNCTION_ARGS_2' 
    16342 EXPOSE_FUNCTION_OVERLOAD_ARGS_2(EXPR, uint, u.i32) \ 
    16343 
    16344 program_source:168:9: note: expanded from macro '\ 
    16345 EXPOSE_FUNCTION_OVERLOAD_ARGS_2' 
    16346 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16347 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16348 program_source:302:1: error: illegal string literal in 'asm' 
    16349 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    16350 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16351 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    16352 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    16353 
    16354 program_source:172:9: note: expanded from macro '\ 
    16355 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    16356 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16357 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16358 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    16359 is invalid in OpenCL 
    16360 program_source:229:40: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    16361 #define EXPOSE_FUNCTION_I_ARGS_3(EXPR) \ 
    16362 
    16363 program_source:175:10: note: expanded from macro '\ 
    16364 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    16365 return ___metal_##EXPR(x, false); \ 
    16366 
    16367 <scratch space>:12:1: note: expanded from here 
    16368 ___metal_ctz 
    16369 
    16370 program_source:302:1: error: illegal string literal in 'asm' 
    16371 EXPOSE_FUNCTION_I_ARGS_3(ctz) 
    16372 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16373 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    16374 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    16375 
    16376 program_source:172:9: note: expanded from macro '\ 
    16377 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    16378 __asm("air." #EXPR "." #AIR_TYPE); \ 
    16379 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    16380 program_source:302:1: error: implicit declaration of function '___metal_ctz'
    16381 is invalid in OpenCL 
    16382 program_source:230:49: note: expanded from macro 'EXPOSE_FUNCTION_I_ARGS_3' 
    16383 EXPOSE_FUNCTION_OVERLOAD_ARGS_3(EXPR, int, i32) \ 
    16384 
    16385 program_source:175:10: note: expanded from macro '\ 
    16386 EXPOSE_FUNCTION_OVERLOAD_ARGS_3' 
    16387 return ___metal_##EXPR(x, false); \ 
    16388 
    16389 <scratch space>:16:1: note: expanded from here 
    16390 ___metal_ctz 
    16391 
    16392 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    16393 invalid in OpenCL 
    16394 DECLARE_REDUCTION_UNIFORM(sum, reduce_add) 
    16395 
    16396 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    16397 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16398 
    16399 program_source:305:26: note: expanded from macro '\ 
    16400 DECLARE_I_REDUCTION_UNIFORM' 
    16401 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16402 
    16403 <scratch space>:17:1: note: expanded from here 
    16404 simd_sum 
    16405 
    16406 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    16407 invalid in OpenCL 
    16408 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    16409 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16410 
    16411 program_source:305:26: note: expanded from macro '\ 
    16412 DECLARE_I_REDUCTION_UNIFORM' 
    16413 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16414 
    16415 <scratch space>:17:1: note: expanded from here 
    16416 simd_sum 
    16417 
    16418 program_source:317:1: error: implicit declaration of function 'simd_sum' is
    16419 invalid in OpenCL 
    16420 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    16421 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16422 
    16423 program_source:308:26: note: expanded from macro '\ 
    16424 DECLARE_F_REDUCTION_UNIFORM' 
    16425 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16426 
    16427 <scratch space>:19:1: note: expanded from here 
    16428 simd_sum 
    16429 
    16430 program_source:318:1: error: implicit declaration of function
    16431 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    16432 DECLARE_REDUCTION_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    16433 
    16434 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    16435 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16436 
    16437 program_source:305:26: note: expanded from macro '\ 
    16438 DECLARE_I_REDUCTION_UNIFORM' 
    16439 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16440 
    16441 <scratch space>:21:1: note: expanded from here 
    16442 simd_prefix_inclusive_sum 
    16443 
    16444 program_source:318:1: error: implicit declaration of function
    16445 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    16446 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    16447 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16448 
    16449 program_source:305:26: note: expanded from macro '\ 
    16450 DECLARE_I_REDUCTION_UNIFORM' 
    16451 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16452 
    16453 <scratch space>:21:1: note: expanded from here 
    16454 simd_prefix_inclusive_sum 
    16455 
    16456 program_source:318:1: error: implicit declaration of function
    16457 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    16458 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    16459 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16460 
    16461 program_source:308:26: note: expanded from macro '\ 
    16462 DECLARE_F_REDUCTION_UNIFORM' 
    16463 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16464 
    16465 <scratch space>:23:1: note: expanded from here 
    16466 simd_prefix_inclusive_sum 
    16467 
    16468 program_source:319:1: error: implicit declaration of function
    16469 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    16470 DECLARE_REDUCTION_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    16471 
    16472 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    16473 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16474 
    16475 program_source:305:26: note: expanded from macro '\ 
    16476 DECLARE_I_REDUCTION_UNIFORM' 
    16477 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16478 
    16479 <scratch space>:25:1: note: expanded from here 
    16480 simd_prefix_exclusive_sum 
    16481 
    16482 program_source:319:1: error: implicit declaration of function
    16483 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    16484 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    16485 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16486 
    16487 program_source:305:26: note: expanded from macro '\ 
    16488 DECLARE_I_REDUCTION_UNIFORM' 
    16489 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16490 
    16491 <scratch space>:25:1: note: expanded from here 
    16492 simd_prefix_exclusive_sum 
    16493 
    16494 program_source:319:1: error: implicit declaration of function
    16495 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    16496 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    16497 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16498 
    16499 program_source:308:26: note: expanded from macro '\ 
    16500 DECLARE_F_REDUCTION_UNIFORM' 
    16501 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16502 
    16503 <scratch space>:27:1: note: expanded from here 
    16504 simd_prefix_exclusive_sum 
    16505 
    16506 program_source:320:1: error: implicit declaration of function 'simd_min' is
    16507 invalid in OpenCL 
    16508 DECLARE_REDUCTION_UNIFORM(min, reduce_min) 
    16509 
    16510 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    16511 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16512 
    16513 program_source:305:26: note: expanded from macro '\ 
    16514 DECLARE_I_REDUCTION_UNIFORM' 
    16515 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16516 
    16517 <scratch space>:29:1: note: expanded from here 
    16518 simd_min 
    16519 
    16520 program_source:320:1: error: implicit declaration of function 'simd_min' is
    16521 invalid in OpenCL 
    16522 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    16523 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16524 
    16525 program_source:305:26: note: expanded from macro '\ 
    16526 DECLARE_I_REDUCTION_UNIFORM' 
    16527 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16528 
    16529 <scratch space>:29:1: note: expanded from here 
    16530 simd_min 
    16531 
    16532 program_source:320:1: error: implicit declaration of function 'simd_min' is
    16533 invalid in OpenCL 
    16534 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    16535 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16536 
    16537 program_source:308:26: note: expanded from macro '\ 
    16538 DECLARE_F_REDUCTION_UNIFORM' 
    16539 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16540 
    16541 <scratch space>:31:1: note: expanded from here 
    16542 simd_min 
    16543 
    16544 program_source:321:1: error: implicit declaration of function 'simd_max' is
    16545 invalid in OpenCL 
    16546 DECLARE_REDUCTION_UNIFORM(max, reduce_max) 
    16547 
    16548 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    16549 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16550 
    16551 program_source:305:26: note: expanded from macro '\ 
    16552 DECLARE_I_REDUCTION_UNIFORM' 
    16553 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16554 
    16555 <scratch space>:33:1: note: expanded from here 
    16556 simd_max 
    16557 
    16558 program_source:321:1: error: implicit declaration of function 'simd_max' is
    16559 invalid in OpenCL 
    16560 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    16561 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16562 
    16563 program_source:305:26: note: expanded from macro '\ 
    16564 DECLARE_I_REDUCTION_UNIFORM' 
    16565 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16566 
    16567 <scratch space>:33:1: note: expanded from here 
    16568 simd_max 
    16569 
    16570 program_source:321:1: error: implicit declaration of function 'simd_max' is
    16571 invalid in OpenCL 
    16572 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    16573 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16574 
    16575 program_source:308:26: note: expanded from macro '\ 
    16576 DECLARE_F_REDUCTION_UNIFORM' 
    16577 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16578 
    16579 <scratch space>:35:1: note: expanded from here 
    16580 simd_max 
    16581 
    16582 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    16583 is invalid in OpenCL 
    16584 DECLARE_SHUFFLE_UNIFORM(shuffle, shuffle) 
    16585 
    16586 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    16587 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16588 
    16589 <scratch space>:37:1: note: expanded from here 
    16590 simd_shuffle 
    16591 
    16592 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    16593 is invalid in OpenCL 
    16594 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    16595 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16596 
    16597 <scratch space>:37:1: note: expanded from here 
    16598 simd_shuffle 
    16599 
    16600 program_source:323:1: error: implicit declaration of function 'simd_shuffle'
    16601 is invalid in OpenCL 
    16602 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    16603 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16604 
    16605 <scratch space>:37:1: note: expanded from here 
    16606 simd_shuffle 
    16607 
    16608 program_source:324:1: error: implicit declaration of function
    16609 'simd_shuffle_xor' is invalid in OpenCL 
    16610 DECLARE_SHUFFLE_UNIFORM(shuffle_xor, shuffle_xor) 
    16611 
    16612 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    16613 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16614 
    16615 <scratch space>:39:1: note: expanded from here 
    16616 simd_shuffle_xor 
    16617 
    16618 program_source:324:1: error: implicit declaration of function
    16619 'simd_shuffle_xor' is invalid in OpenCL 
    16620 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    16621 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16622 
    16623 <scratch space>:39:1: note: expanded from here 
    16624 simd_shuffle_xor 
    16625 
    16626 program_source:324:1: error: implicit declaration of function
    16627 'simd_shuffle_xor' is invalid in OpenCL 
    16628 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    16629 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16630 
    16631 <scratch space>:39:1: note: expanded from here 
    16632 simd_shuffle_xor 
    16633 
    16634 program_source:325:1: error: implicit declaration of function
    16635 'simd_shuffle_up' is invalid in OpenCL 
    16636 DECLARE_SHUFFLE_UNIFORM(shuffle_up, shuffle_up) 
    16637 
    16638 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    16639 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16640 
    16641 <scratch space>:41:1: note: expanded from here 
    16642 simd_shuffle_up 
    16643 
    16644 program_source:325:1: error: implicit declaration of function
    16645 'simd_shuffle_up' is invalid in OpenCL 
    16646 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    16647 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16648 
    16649 <scratch space>:41:1: note: expanded from here 
    16650 simd_shuffle_up 
    16651 
    16652 program_source:325:1: error: implicit declaration of function
    16653 'simd_shuffle_up' is invalid in OpenCL 
    16654 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    16655 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16656 
    16657 <scratch space>:41:1: note: expanded from here 
    16658 simd_shuffle_up 
    16659 
    16660 program_source:326:1: error: implicit declaration of function
    16661 'simd_shuffle_down' is invalid in OpenCL 
    16662 DECLARE_SHUFFLE_UNIFORM(shuffle_down, shuffle_down) 
    16663 
    16664 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    16665 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16666 
    16667 <scratch space>:43:1: note: expanded from here 
    16668 simd_shuffle_down 
    16669 
    16670 program_source:326:1: error: implicit declaration of function
    16671 'simd_shuffle_down' is invalid in OpenCL 
    16672 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    16673 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16674 
    16675 <scratch space>:43:1: note: expanded from here 
    16676 simd_shuffle_down 
    16677 
    16678 program_source:326:1: error: implicit declaration of function
    16679 'simd_shuffle_down' is invalid in OpenCL 
    16680 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    16681 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16682 
    16683 <scratch space>:43:1: note: expanded from here 
    16684 simd_shuffle_down 
    16685 
    16686 program_source:327:1: error: implicit declaration of function
    16687 'simd_shuffle_rotate_down' is invalid in OpenCL 
    16688 DECLARE_SHUFFLE_UNIFORM(shuffle_rotate_down, rotate) 
    16689 
    16690 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    16691 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16692 
    16693 <scratch space>:45:1: note: expanded from here 
    16694 simd_shuffle_rotate_down 
    16695 
    16696 program_source:327:1: error: implicit declaration of function
    16697 'simd_shuffle_rotate_down' is invalid in OpenCL 
    16698 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    16699 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16700 
    16701 <scratch space>:45:1: note: expanded from here 
    16702 simd_shuffle_rotate_down 
    16703 
    16704 program_source:327:1: error: implicit declaration of function
    16705 'simd_shuffle_rotate_down' is invalid in OpenCL 
    16706 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    16707 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16708 
    16709 <scratch space>:45:1: note: expanded from here 
    16710 simd_shuffle_rotate_down 
    16711 
    16712 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    16713 is invalid in OpenCL 
    16714 DECLARE_SHUFFLE_UNIFORM(broadcast, broadcast) 
    16715 
    16716 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    16717 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16718 
    16719 <scratch space>:47:1: note: expanded from here 
    16720 simd_broadcast 
    16721 
    16722 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    16723 is invalid in OpenCL 
    16724 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    16725 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16726 
    16727 <scratch space>:47:1: note: expanded from here 
    16728 simd_broadcast 
    16729 
    16730 program_source:329:1: error: implicit declaration of function 'simd_broadcast'
    16731 is invalid in OpenCL 
    16732 program_source:315:24: note: expanded from macro 'DECLARE_SHUFFLE_UNIFORM' 
    16733 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16734 
    16735 <scratch space>:47:1: note: expanded from here 
    16736 simd_broadcast 
    16737 
    16738 program_source:330:1: error: implicit declaration of function
    16739 'simd_broadcast_first' is invalid in OpenCL 
    16740 DECLARE_REDUCTION_UNIFORM(broadcast_first, broadcast_first) 
    16741 
    16742 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    16743 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16744 
    16745 program_source:305:26: note: expanded from macro '\ 
    16746 DECLARE_I_REDUCTION_UNIFORM' 
    16747 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16748 
    16749 <scratch space>:49:1: note: expanded from here 
    16750 simd_broadcast_first 
    16751 
    16752 program_source:330:1: error: implicit declaration of function
    16753 'simd_broadcast_first' is invalid in OpenCL 
    16754 program_source:310:56: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    16755 #define DECLARE_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16756 
    16757 program_source:305:26: note: expanded from macro '\ 
    16758 DECLARE_I_REDUCTION_UNIFORM' 
    16759 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16760 
    16761 <scratch space>:49:1: note: expanded from here 
    16762 simd_broadcast_first 
    16763 
    16764 program_source:330:1: error: implicit declaration of function
    16765 'simd_broadcast_first' is invalid in OpenCL 
    16766 program_source:311:50: note: expanded from macro 'DECLARE_REDUCTION_UNIFORM' 
    16767 DECLARE_I_REDUCTION_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16768 
    16769 program_source:308:26: note: expanded from macro '\ 
    16770 DECLARE_F_REDUCTION_UNIFORM' 
    16771 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_##OPENCL_OP) \ 
    16772 
    16773 <scratch space>:51:1: note: expanded from here 
    16774 simd_broadcast_first 
    16775 
    16776 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    16777 invalid in OpenCL 
    16778 DECLARE_REDUCTION_NON_UNIFORM(sum, reduce_add) 
    16779 
    16780 program_source:338:60: note: expanded from macro
    16781 'DECLARE_REDUCTION_NON_UNIFORM' 
    16782 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16783 
    16784 program_source:333:26: note: expanded from macro '\ 
    16785 DECLARE_I_REDUCTION_NON_UNIFORM' 
    16786 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    16787 
    16788 <scratch space>:53:1: note: expanded from here 
    16789 simd_sum 
    16790 
    16791 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    16792 invalid in OpenCL 
    16793 program_source:338:60: note: expanded from macro
    16794 'DECLARE_REDUCTION_NON_UNIFORM' 
    16795 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16796 
    16797 program_source:333:26: note: expanded from macro '\ 
    16798 DECLARE_I_REDUCTION_NON_UNIFORM' 
    16799 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    16800 
    16801 <scratch space>:53:1: note: expanded from here 
    16802 simd_sum 
    16803 
    16804 program_source:345:1: error: implicit declaration of function 'simd_sum' is
    16805 invalid in OpenCL 
    16806 program_source:339:54: note: expanded from macro
    16807 'DECLARE_REDUCTION_NON_UNIFORM' 
    16808 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16809 
    16810 program_source:336:26: note: expanded from macro '\ 
    16811 DECLARE_F_REDUCTION_NON_UNIFORM' 
    16812 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    16813 
    16814 <scratch space>:55:1: note: expanded from here 
    16815 simd_sum 
    16816 
    16817 program_source:346:1: error: implicit declaration of function
    16818 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    16819 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_sum, scan_inclusive_add) 
    16820 
    16821 program_source:338:60: note: expanded from macro
    16822 'DECLARE_REDUCTION_NON_UNIFORM' 
    16823 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16824 
    16825 program_source:333:26: note: expanded from macro '\ 
    16826 DECLARE_I_REDUCTION_NON_UNIFORM' 
    16827 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    16828 
    16829 <scratch space>:57:1: note: expanded from here 
    16830 simd_prefix_inclusive_sum 
    16831 
    16832 program_source:346:1: error: implicit declaration of function
    16833 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    16834 program_source:338:60: note: expanded from macro
    16835 'DECLARE_REDUCTION_NON_UNIFORM' 
    16836 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16837 
    16838 program_source:333:26: note: expanded from macro '\ 
    16839 DECLARE_I_REDUCTION_NON_UNIFORM' 
    16840 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    16841 
    16842 <scratch space>:57:1: note: expanded from here 
    16843 simd_prefix_inclusive_sum 
    16844 
    16845 program_source:346:1: error: implicit declaration of function
    16846 'simd_prefix_inclusive_sum' is invalid in OpenCL 
    16847 program_source:339:54: note: expanded from macro
    16848 'DECLARE_REDUCTION_NON_UNIFORM' 
    16849 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16850 
    16851 program_source:336:26: note: expanded from macro '\ 
    16852 DECLARE_F_REDUCTION_NON_UNIFORM' 
    16853 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    16854 
    16855 <scratch space>:59:1: note: expanded from here 
    16856 simd_prefix_inclusive_sum 
    16857 
    16858 program_source:347:1: error: implicit declaration of function
    16859 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    16860 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_sum, scan_exclusive_add) 
    16861 
    16862 program_source:338:60: note: expanded from macro
    16863 'DECLARE_REDUCTION_NON_UNIFORM' 
    16864 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16865 
    16866 program_source:333:26: note: expanded from macro '\ 
    16867 DECLARE_I_REDUCTION_NON_UNIFORM' 
    16868 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    16869 
    16870 <scratch space>:61:1: note: expanded from here 
    16871 simd_prefix_exclusive_sum 
    16872 
    16873 program_source:347:1: error: implicit declaration of function
    16874 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    16875 program_source:338:60: note: expanded from macro
    16876 'DECLARE_REDUCTION_NON_UNIFORM' 
    16877 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16878 
    16879 program_source:333:26: note: expanded from macro '\ 
    16880 DECLARE_I_REDUCTION_NON_UNIFORM' 
    16881 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    16882 
    16883 <scratch space>:61:1: note: expanded from here 
    16884 simd_prefix_exclusive_sum 
    16885 
    16886 program_source:347:1: error: implicit declaration of function
    16887 'simd_prefix_exclusive_sum' is invalid in OpenCL 
    16888 program_source:339:54: note: expanded from macro
    16889 'DECLARE_REDUCTION_NON_UNIFORM' 
    16890 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16891 
    16892 program_source:336:26: note: expanded from macro '\ 
    16893 DECLARE_F_REDUCTION_NON_UNIFORM' 
    16894 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    16895 
    16896 <scratch space>:63:1: note: expanded from here 
    16897 simd_prefix_exclusive_sum 
    16898 
    16899 program_source:348:1: error: implicit declaration of function 'simd_min' is
    16900 invalid in OpenCL 
    16901 DECLARE_REDUCTION_NON_UNIFORM(min, reduce_min) 
    16902 
    16903 program_source:338:60: note: expanded from macro
    16904 'DECLARE_REDUCTION_NON_UNIFORM' 
    16905 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16906 
    16907 program_source:333:26: note: expanded from macro '\ 
    16908 DECLARE_I_REDUCTION_NON_UNIFORM' 
    16909 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    16910 
    16911 <scratch space>:65:1: note: expanded from here 
    16912 simd_min 
    16913 
    16914 program_source:348:1: error: implicit declaration of function 'simd_min' is
    16915 invalid in OpenCL 
    16916 program_source:338:60: note: expanded from macro
    16917 'DECLARE_REDUCTION_NON_UNIFORM' 
    16918 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16919 
    16920 program_source:333:26: note: expanded from macro '\ 
    16921 DECLARE_I_REDUCTION_NON_UNIFORM' 
    16922 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    16923 
    16924 <scratch space>:65:1: note: expanded from here 
    16925 simd_min 
    16926 
    16927 program_source:348:1: error: implicit declaration of function 'simd_min' is
    16928 invalid in OpenCL 
    16929 program_source:339:54: note: expanded from macro
    16930 'DECLARE_REDUCTION_NON_UNIFORM' 
    16931 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16932 
    16933 program_source:336:26: note: expanded from macro '\ 
    16934 DECLARE_F_REDUCTION_NON_UNIFORM' 
    16935 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    16936 
    16937 <scratch space>:67:1: note: expanded from here 
    16938 simd_min 
    16939 
    16940 program_source:349:1: error: implicit declaration of function 'simd_max' is
    16941 invalid in OpenCL 
    16942 DECLARE_REDUCTION_NON_UNIFORM(max, reduce_max) 
    16943 
    16944 program_source:338:60: note: expanded from macro
    16945 'DECLARE_REDUCTION_NON_UNIFORM' 
    16946 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16947 
    16948 program_source:333:26: note: expanded from macro '\ 
    16949 DECLARE_I_REDUCTION_NON_UNIFORM' 
    16950 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    16951 
    16952 <scratch space>:69:1: note: expanded from here 
    16953 simd_max 
    16954 
    16955 program_source:349:1: error: implicit declaration of function 'simd_max' is
    16956 invalid in OpenCL 
    16957 program_source:338:60: note: expanded from macro
    16958 'DECLARE_REDUCTION_NON_UNIFORM' 
    16959 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16960 
    16961 program_source:333:26: note: expanded from macro '\ 
    16962 DECLARE_I_REDUCTION_NON_UNIFORM' 
    16963 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    16964 
    16965 <scratch space>:69:1: note: expanded from here 
    16966 simd_max 
    16967 
    16968 program_source:349:1: error: implicit declaration of function 'simd_max' is
    16969 invalid in OpenCL 
    16970 program_source:339:54: note: expanded from macro
    16971 'DECLARE_REDUCTION_NON_UNIFORM' 
    16972 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16973 
    16974 program_source:336:26: note: expanded from macro '\ 
    16975 DECLARE_F_REDUCTION_NON_UNIFORM' 
    16976 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    16977 
    16978 <scratch space>:71:1: note: expanded from here 
    16979 simd_max 
    16980 
    16981 program_source:351:1: error: implicit declaration of function 'simd_product'
    16982 is invalid in OpenCL 
    16983 DECLARE_REDUCTION_NON_UNIFORM(product, reduce_mul) 
    16984 
    16985 program_source:338:60: note: expanded from macro
    16986 'DECLARE_REDUCTION_NON_UNIFORM' 
    16987 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    16988 
    16989 program_source:333:26: note: expanded from macro '\ 
    16990 DECLARE_I_REDUCTION_NON_UNIFORM' 
    16991 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    16992 
    16993 <scratch space>:73:1: note: expanded from here 
    16994 simd_product 
    16995 
    16996 program_source:351:1: error: implicit declaration of function 'simd_product'
    16997 is invalid in OpenCL 
    16998 program_source:338:60: note: expanded from macro
    16999 'DECLARE_REDUCTION_NON_UNIFORM' 
    17000 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    17001 
    17002 program_source:333:26: note: expanded from macro '\ 
    17003 DECLARE_I_REDUCTION_NON_UNIFORM' 
    17004 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    17005 
    17006 <scratch space>:73:1: note: expanded from here 
    17007 simd_product 
    17008 
    17009 program_source:351:1: error: implicit declaration of function 'simd_product'
    17010 is invalid in OpenCL 
    17011 program_source:339:54: note: expanded from macro
    17012 'DECLARE_REDUCTION_NON_UNIFORM' 
    17013 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    17014 
    17015 program_source:336:26: note: expanded from macro '\ 
    17016 DECLARE_F_REDUCTION_NON_UNIFORM' 
    17017 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    17018 
    17019 <scratch space>:75:1: note: expanded from here 
    17020 simd_product 
    17021 
    17022 program_source:352:1: error: implicit declaration of function
    17023 'simd_prefix_inclusive_product' is invalid in OpenCL 
    17024 DECLARE_REDUCTION_NON_UNIFORM(prefix_inclusive_product, scan_inclusive_mul) 
    17025 
    17026 program_source:338:60: note: expanded from macro
    17027 'DECLARE_REDUCTION_NON_UNIFORM' 
    17028 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    17029 
    17030 program_source:333:26: note: expanded from macro '\ 
    17031 DECLARE_I_REDUCTION_NON_UNIFORM' 
    17032 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    17033 
    17034 <scratch space>:77:1: note: expanded from here 
    17035 simd_prefix_inclusive_product 
    17036 
    17037 program_source:352:1: error: implicit declaration of function
    17038 'simd_prefix_inclusive_product' is invalid in OpenCL 
    17039 program_source:338:60: note: expanded from macro
    17040 'DECLARE_REDUCTION_NON_UNIFORM' 
    17041 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    17042 
    17043 program_source:333:26: note: expanded from macro '\ 
    17044 DECLARE_I_REDUCTION_NON_UNIFORM' 
    17045 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    17046 
    17047 <scratch space>:77:1: note: expanded from here 
    17048 simd_prefix_inclusive_product 
    17049 
    17050 program_source:352:1: error: implicit declaration of function
    17051 'simd_prefix_inclusive_product' is invalid in OpenCL 
    17052 program_source:339:54: note: expanded from macro
    17053 'DECLARE_REDUCTION_NON_UNIFORM' 
    17054 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    17055 
    17056 program_source:336:26: note: expanded from macro '\ 
    17057 DECLARE_F_REDUCTION_NON_UNIFORM' 
    17058 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    17059 
    17060 <scratch space>:79:1: note: expanded from here 
    17061 simd_prefix_inclusive_product 
    17062 
    17063 program_source:353:1: error: implicit declaration of function
    17064 'simd_prefix_exclusive_product' is invalid in OpenCL 
    17065 DECLARE_REDUCTION_NON_UNIFORM(prefix_exclusive_product, scan_exclusive_mul) 
    17066 
    17067 program_source:338:60: note: expanded from macro
    17068 'DECLARE_REDUCTION_NON_UNIFORM' 
    17069 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    17070 
    17071 program_source:333:26: note: expanded from macro '\ 
    17072 DECLARE_I_REDUCTION_NON_UNIFORM' 
    17073 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    17074 
    17075 <scratch space>:81:1: note: expanded from here 
    17076 simd_prefix_exclusive_product 
    17077 
    17078 program_source:353:1: error: implicit declaration of function
    17079 'simd_prefix_exclusive_product' is invalid in OpenCL 
    17080 program_source:338:60: note: expanded from macro
    17081 'DECLARE_REDUCTION_NON_UNIFORM' 
    17082 #define DECLARE_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    17083 
    17084 program_source:333:26: note: expanded from macro '\ 
    17085 DECLARE_I_REDUCTION_NON_UNIFORM' 
    17086 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    17087 
    17088 <scratch space>:81:1: note: expanded from here 
    17089 simd_prefix_exclusive_product 
    17090 
    17091 program_source:353:1: error: implicit declaration of function
    17092 'simd_prefix_exclusive_product' is invalid in OpenCL 
    17093 program_source:339:54: note: expanded from macro
    17094 'DECLARE_REDUCTION_NON_UNIFORM' 
    17095 DECLARE_I_REDUCTION_NON_UNIFORM(METAL_OP, OPENCL_OP) \ 
    17096 
    17097 program_source:336:26: note: expanded from macro '\ 
    17098 DECLARE_F_REDUCTION_NON_UNIFORM' 
    17099 BRIDGE_FUNCTION_F_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    17100 
    17101 <scratch space>:83:1: note: expanded from here 
    17102 simd_prefix_exclusive_product 
    17103 
    17104 program_source:354:1: error: implicit declaration of function 'simd_and' is
    17105 invalid in OpenCL 
    17106 DECLARE_I_REDUCTION_NON_UNIFORM(and, reduce_and) 
    17107 
    17108 program_source:333:26: note: expanded from macro
    17109 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    17110 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    17111 
    17112 <scratch space>:85:1: note: expanded from here 
    17113 simd_and 
    17114 
    17115 program_source:354:1: error: implicit declaration of function 'simd_and' is
    17116 invalid in OpenCL 
    17117 program_source:333:26: note: expanded from macro
    17118 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    17119 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    17120 
    17121 <scratch space>:85:1: note: expanded from here 
    17122 simd_and 
    17123 
    17124 program_source:355:1: error: implicit declaration of function 'simd_or' is
    17125 invalid in OpenCL 
    17126 DECLARE_I_REDUCTION_NON_UNIFORM(or, reduce_or) 
    17127 
    17128 program_source:333:26: note: expanded from macro
    17129 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    17130 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    17131 
    17132 <scratch space>:87:1: note: expanded from here 
    17133 simd_or 
    17134 
    17135 program_source:355:1: error: implicit declaration of function 'simd_or' is
    17136 invalid in OpenCL 
    17137 program_source:333:26: note: expanded from macro
    17138 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    17139 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    17140 
    17141 <scratch space>:87:1: note: expanded from here 
    17142 simd_or 
    17143 
    17144 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    17145 invalid in OpenCL 
    17146 DECLARE_I_REDUCTION_NON_UNIFORM(xor, reduce_xor) 
    17147 
    17148 program_source:333:26: note: expanded from macro
    17149 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    17150 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    17151 
    17152 <scratch space>:89:1: note: expanded from here 
    17153 simd_xor 
    17154 
    17155 program_source:356:1: error: implicit declaration of function 'simd_xor' is
    17156 invalid in OpenCL 
    17157 program_source:333:26: note: expanded from macro
    17158 'DECLARE_I_REDUCTION_NON_UNIFORM' 
    17159 BRIDGE_FUNCTION_I_ARGS_1(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    17160 
    17161 <scratch space>:89:1: note: expanded from here 
    17162 simd_xor 
    17163 
    17164 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    17165 is invalid in OpenCL 
    17166 DECLARE_SHUFFLE_NON_UNIFORM(broadcast, broadcast) 
    17167 
    17168 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    17169 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    17170 
    17171 <scratch space>:91:1: note: expanded from here 
    17172 simd_broadcast 
    17173 
    17174 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    17175 is invalid in OpenCL 
    17176 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    17177 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    17178 
    17179 <scratch space>:91:1: note: expanded from here 
    17180 simd_broadcast 
    17181 
    17182 program_source:358:1: error: implicit declaration of function 'simd_broadcast'
    17183 is invalid in OpenCL 
    17184 program_source:343:24: note: expanded from macro 'DECLARE_SHUFFLE_NON_UNIFORM' 
    17185 BRIDGE_FUNCTION_ARGS_2(simd_##METAL_OP, sub_group_non_uniform_##OPENCL_OP) \ 
    17186 
    17187 <scratch space>:91:1: note: expanded from here 
    17188 simd_broadcast 
    17189 
    17190 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    17191 invalid in OpenCL 
    17192 DECLARE_REDUCTION_CLUSTERED(sum, reduce_add) 
    17193 
    17194 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17195 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17196 
    17197 program_source:360:60: note: expanded from macro '\ 
    17198 DECLARE_I_REDUCTION_CLUSTERED' 
    17199 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17200 
    17201 program_source:245:71: note: expanded from macro '\ 
    17202 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17203 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17204 
    17205 program_source:196:12: note: expanded from macro '\ 
    17206 OVERLOAD_CLUSTERED_ARGS_1' 
    17207 return quad_##METAL_SUFFIX(x); \ 
    17208 
    17209 <scratch space>:94:1: note: expanded from here 
    17210 quad_sum 
    17211 
    17212 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    17213 invalid in OpenCL 
    17214 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17215 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17216 
    17217 program_source:360:60: note: expanded from macro '\ 
    17218 DECLARE_I_REDUCTION_CLUSTERED' 
    17219 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17220 
    17221 program_source:245:71: note: expanded from macro '\ 
    17222 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17223 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17224 
    17225 program_source:198:12: note: expanded from macro '\ 
    17226 OVERLOAD_CLUSTERED_ARGS_1' 
    17227 return simd_##METAL_SUFFIX(x); \ 
    17228 
    17229 <scratch space>:95:1: note: expanded from here 
    17230 simd_sum 
    17231 
    17232 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    17233 invalid in OpenCL 
    17234 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17235 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17236 
    17237 program_source:360:60: note: expanded from macro '\ 
    17238 DECLARE_I_REDUCTION_CLUSTERED' 
    17239 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17240 
    17241 program_source:246:59: note: expanded from macro '\ 
    17242 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17243 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    17244 
    17245 program_source:196:12: note: expanded from macro '\ 
    17246 OVERLOAD_CLUSTERED_ARGS_1' 
    17247 return quad_##METAL_SUFFIX(x); \ 
    17248 
    17249 <scratch space>:96:1: note: expanded from here 
    17250 quad_sum 
    17251 
    17252 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    17253 invalid in OpenCL 
    17254 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17255 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17256 
    17257 program_source:360:60: note: expanded from macro '\ 
    17258 DECLARE_I_REDUCTION_CLUSTERED' 
    17259 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17260 
    17261 program_source:246:59: note: expanded from macro '\ 
    17262 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17263 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    17264 
    17265 program_source:198:12: note: expanded from macro '\ 
    17266 OVERLOAD_CLUSTERED_ARGS_1' 
    17267 return simd_##METAL_SUFFIX(x); \ 
    17268 
    17269 <scratch space>:97:1: note: expanded from here 
    17270 simd_sum 
    17271 
    17272 program_source:391:1: error: implicit declaration of function 'quad_sum' is
    17273 invalid in OpenCL 
    17274 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17275 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17276 
    17277 program_source:363:60: note: expanded from macro '\ 
    17278 DECLARE_F_REDUCTION_CLUSTERED' 
    17279 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17280 
    17281 program_source:249:71: note: expanded from macro '\ 
    17282 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    17283 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17284 
    17285 program_source:196:12: note: expanded from macro '\ 
    17286 OVERLOAD_CLUSTERED_ARGS_1' 
    17287 return quad_##METAL_SUFFIX(x); \ 
    17288 
    17289 <scratch space>:99:1: note: expanded from here 
    17290 quad_sum 
    17291 
    17292 program_source:391:1: error: implicit declaration of function 'simd_sum' is
    17293 invalid in OpenCL 
    17294 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17295 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17296 
    17297 program_source:363:60: note: expanded from macro '\ 
    17298 DECLARE_F_REDUCTION_CLUSTERED' 
    17299 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17300 
    17301 program_source:249:71: note: expanded from macro '\ 
    17302 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    17303 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17304 
    17305 program_source:198:12: note: expanded from macro '\ 
    17306 OVERLOAD_CLUSTERED_ARGS_1' 
    17307 return simd_##METAL_SUFFIX(x); \ 
    17308 
    17309 <scratch space>:100:1: note: expanded from here 
    17310 simd_sum 
    17311 
    17312 program_source:392:1: error: implicit declaration of function 'quad_min' is
    17313 invalid in OpenCL 
    17314 DECLARE_REDUCTION_CLUSTERED(min, reduce_min) 
    17315 
    17316 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17317 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17318 
    17319 program_source:360:60: note: expanded from macro '\ 
    17320 DECLARE_I_REDUCTION_CLUSTERED' 
    17321 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17322 
    17323 program_source:245:71: note: expanded from macro '\ 
    17324 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17325 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17326 
    17327 program_source:196:12: note: expanded from macro '\ 
    17328 OVERLOAD_CLUSTERED_ARGS_1' 
    17329 return quad_##METAL_SUFFIX(x); \ 
    17330 
    17331 <scratch space>:102:1: note: expanded from here 
    17332 quad_min 
    17333 
    17334 program_source:392:1: error: implicit declaration of function 'simd_min' is
    17335 invalid in OpenCL 
    17336 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17337 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17338 
    17339 program_source:360:60: note: expanded from macro '\ 
    17340 DECLARE_I_REDUCTION_CLUSTERED' 
    17341 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17342 
    17343 program_source:245:71: note: expanded from macro '\ 
    17344 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17345 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17346 
    17347 program_source:198:12: note: expanded from macro '\ 
    17348 OVERLOAD_CLUSTERED_ARGS_1' 
    17349 return simd_##METAL_SUFFIX(x); \ 
    17350 
    17351 <scratch space>:103:1: note: expanded from here 
    17352 simd_min 
    17353 
    17354 program_source:392:1: error: implicit declaration of function 'quad_min' is
    17355 invalid in OpenCL 
    17356 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17357 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17358 
    17359 program_source:360:60: note: expanded from macro '\ 
    17360 DECLARE_I_REDUCTION_CLUSTERED' 
    17361 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17362 
    17363 program_source:246:59: note: expanded from macro '\ 
    17364 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17365 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    17366 
    17367 program_source:196:12: note: expanded from macro '\ 
    17368 OVERLOAD_CLUSTERED_ARGS_1' 
    17369 return quad_##METAL_SUFFIX(x); \ 
    17370 
    17371 <scratch space>:104:1: note: expanded from here 
    17372 quad_min 
    17373 
    17374 program_source:392:1: error: implicit declaration of function 'simd_min' is
    17375 invalid in OpenCL 
    17376 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17377 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17378 
    17379 program_source:360:60: note: expanded from macro '\ 
    17380 DECLARE_I_REDUCTION_CLUSTERED' 
    17381 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17382 
    17383 program_source:246:59: note: expanded from macro '\ 
    17384 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17385 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    17386 
    17387 program_source:198:12: note: expanded from macro '\ 
    17388 OVERLOAD_CLUSTERED_ARGS_1' 
    17389 return simd_##METAL_SUFFIX(x); \ 
    17390 
    17391 <scratch space>:105:1: note: expanded from here 
    17392 simd_min 
    17393 
    17394 program_source:392:1: error: implicit declaration of function 'quad_min' is
    17395 invalid in OpenCL 
    17396 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17397 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17398 
    17399 program_source:363:60: note: expanded from macro '\ 
    17400 DECLARE_F_REDUCTION_CLUSTERED' 
    17401 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17402 
    17403 program_source:249:71: note: expanded from macro '\ 
    17404 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    17405 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17406 
    17407 program_source:196:12: note: expanded from macro '\ 
    17408 OVERLOAD_CLUSTERED_ARGS_1' 
    17409 return quad_##METAL_SUFFIX(x); \ 
    17410 
    17411 <scratch space>:107:1: note: expanded from here 
    17412 quad_min 
    17413 
    17414 program_source:392:1: error: implicit declaration of function 'simd_min' is
    17415 invalid in OpenCL 
    17416 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17417 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17418 
    17419 program_source:363:60: note: expanded from macro '\ 
    17420 DECLARE_F_REDUCTION_CLUSTERED' 
    17421 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17422 
    17423 program_source:249:71: note: expanded from macro '\ 
    17424 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    17425 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17426 
    17427 program_source:198:12: note: expanded from macro '\ 
    17428 OVERLOAD_CLUSTERED_ARGS_1' 
    17429 return simd_##METAL_SUFFIX(x); \ 
    17430 
    17431 <scratch space>:108:1: note: expanded from here 
    17432 simd_min 
    17433 
    17434 program_source:393:1: error: implicit declaration of function 'quad_max' is
    17435 invalid in OpenCL 
    17436 DECLARE_REDUCTION_CLUSTERED(max, reduce_max) 
    17437 
    17438 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17439 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17440 
    17441 program_source:360:60: note: expanded from macro '\ 
    17442 DECLARE_I_REDUCTION_CLUSTERED' 
    17443 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17444 
    17445 program_source:245:71: note: expanded from macro '\ 
    17446 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17447 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17448 
    17449 program_source:196:12: note: expanded from macro '\ 
    17450 OVERLOAD_CLUSTERED_ARGS_1' 
    17451 return quad_##METAL_SUFFIX(x); \ 
    17452 
    17453 <scratch space>:110:1: note: expanded from here 
    17454 quad_max 
    17455 
    17456 program_source:393:1: error: implicit declaration of function 'simd_max' is
    17457 invalid in OpenCL 
    17458 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17459 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17460 
    17461 program_source:360:60: note: expanded from macro '\ 
    17462 DECLARE_I_REDUCTION_CLUSTERED' 
    17463 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17464 
    17465 program_source:245:71: note: expanded from macro '\ 
    17466 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17467 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17468 
    17469 program_source:198:12: note: expanded from macro '\ 
    17470 OVERLOAD_CLUSTERED_ARGS_1' 
    17471 return simd_##METAL_SUFFIX(x); \ 
    17472 
    17473 <scratch space>:111:1: note: expanded from here 
    17474 simd_max 
    17475 
    17476 program_source:393:1: error: implicit declaration of function 'quad_max' is
    17477 invalid in OpenCL 
    17478 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17479 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17480 
    17481 program_source:360:60: note: expanded from macro '\ 
    17482 DECLARE_I_REDUCTION_CLUSTERED' 
    17483 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17484 
    17485 program_source:246:59: note: expanded from macro '\ 
    17486 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17487 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    17488 
    17489 program_source:196:12: note: expanded from macro '\ 
    17490 OVERLOAD_CLUSTERED_ARGS_1' 
    17491 return quad_##METAL_SUFFIX(x); \ 
    17492 
    17493 <scratch space>:112:1: note: expanded from here 
    17494 quad_max 
    17495 
    17496 program_source:393:1: error: implicit declaration of function 'simd_max' is
    17497 invalid in OpenCL 
    17498 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17499 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17500 
    17501 program_source:360:60: note: expanded from macro '\ 
    17502 DECLARE_I_REDUCTION_CLUSTERED' 
    17503 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17504 
    17505 program_source:246:59: note: expanded from macro '\ 
    17506 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17507 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    17508 
    17509 program_source:198:12: note: expanded from macro '\ 
    17510 OVERLOAD_CLUSTERED_ARGS_1' 
    17511 return simd_##METAL_SUFFIX(x); \ 
    17512 
    17513 <scratch space>:113:1: note: expanded from here 
    17514 simd_max 
    17515 
    17516 program_source:393:1: error: implicit declaration of function 'quad_max' is
    17517 invalid in OpenCL 
    17518 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17519 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17520 
    17521 program_source:363:60: note: expanded from macro '\ 
    17522 DECLARE_F_REDUCTION_CLUSTERED' 
    17523 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17524 
    17525 program_source:249:71: note: expanded from macro '\ 
    17526 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    17527 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17528 
    17529 program_source:196:12: note: expanded from macro '\ 
    17530 OVERLOAD_CLUSTERED_ARGS_1' 
    17531 return quad_##METAL_SUFFIX(x); \ 
    17532 
    17533 <scratch space>:115:1: note: expanded from here 
    17534 quad_max 
    17535 
    17536 program_source:393:1: error: implicit declaration of function 'simd_max' is
    17537 invalid in OpenCL 
    17538 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17539 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17540 
    17541 program_source:363:60: note: expanded from macro '\ 
    17542 DECLARE_F_REDUCTION_CLUSTERED' 
    17543 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17544 
    17545 program_source:249:71: note: expanded from macro '\ 
    17546 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    17547 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17548 
    17549 program_source:198:12: note: expanded from macro '\ 
    17550 OVERLOAD_CLUSTERED_ARGS_1' 
    17551 return simd_##METAL_SUFFIX(x); \ 
    17552 
    17553 <scratch space>:116:1: note: expanded from here 
    17554 simd_max 
    17555 
    17556 program_source:395:1: error: implicit declaration of function 'quad_product'
    17557 is invalid in OpenCL 
    17558 DECLARE_REDUCTION_CLUSTERED(product, reduce_mul) 
    17559 
    17560 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17561 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17562 
    17563 program_source:360:60: note: expanded from macro '\ 
    17564 DECLARE_I_REDUCTION_CLUSTERED' 
    17565 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17566 
    17567 program_source:245:71: note: expanded from macro '\ 
    17568 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17569 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17570 
    17571 program_source:196:12: note: expanded from macro '\ 
    17572 OVERLOAD_CLUSTERED_ARGS_1' 
    17573 return quad_##METAL_SUFFIX(x); \ 
    17574 
    17575 <scratch space>:118:1: note: expanded from here 
    17576 quad_product 
    17577 
    17578 program_source:395:1: error: implicit declaration of function 'simd_product'
    17579 is invalid in OpenCL 
    17580 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17581 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17582 
    17583 program_source:360:60: note: expanded from macro '\ 
    17584 DECLARE_I_REDUCTION_CLUSTERED' 
    17585 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17586 
    17587 program_source:245:71: note: expanded from macro '\ 
    17588 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17589 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17590 
    17591 program_source:198:12: note: expanded from macro '\ 
    17592 OVERLOAD_CLUSTERED_ARGS_1' 
    17593 return simd_##METAL_SUFFIX(x); \ 
    17594 
    17595 <scratch space>:119:1: note: expanded from here 
    17596 simd_product 
    17597 
    17598 program_source:395:1: error: implicit declaration of function 'quad_product'
    17599 is invalid in OpenCL 
    17600 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17601 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17602 
    17603 program_source:360:60: note: expanded from macro '\ 
    17604 DECLARE_I_REDUCTION_CLUSTERED' 
    17605 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17606 
    17607 program_source:246:59: note: expanded from macro '\ 
    17608 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17609 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    17610 
    17611 program_source:196:12: note: expanded from macro '\ 
    17612 OVERLOAD_CLUSTERED_ARGS_1' 
    17613 return quad_##METAL_SUFFIX(x); \ 
    17614 
    17615 <scratch space>:120:1: note: expanded from here 
    17616 quad_product 
    17617 
    17618 program_source:395:1: error: implicit declaration of function 'simd_product'
    17619 is invalid in OpenCL 
    17620 program_source:384:58: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17621 #define DECLARE_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17622 
    17623 program_source:360:60: note: expanded from macro '\ 
    17624 DECLARE_I_REDUCTION_CLUSTERED' 
    17625 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17626 
    17627 program_source:246:59: note: expanded from macro '\ 
    17628 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17629 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    17630 
    17631 program_source:198:12: note: expanded from macro '\ 
    17632 OVERLOAD_CLUSTERED_ARGS_1' 
    17633 return simd_##METAL_SUFFIX(x); \ 
    17634 
    17635 <scratch space>:121:1: note: expanded from here 
    17636 simd_product 
    17637 
    17638 program_source:395:1: error: implicit declaration of function 'quad_product'
    17639 is invalid in OpenCL 
    17640 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17641 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17642 
    17643 program_source:363:60: note: expanded from macro '\ 
    17644 DECLARE_F_REDUCTION_CLUSTERED' 
    17645 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17646 
    17647 program_source:249:71: note: expanded from macro '\ 
    17648 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    17649 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17650 
    17651 program_source:196:12: note: expanded from macro '\ 
    17652 OVERLOAD_CLUSTERED_ARGS_1' 
    17653 return quad_##METAL_SUFFIX(x); \ 
    17654 
    17655 <scratch space>:123:1: note: expanded from here 
    17656 quad_product 
    17657 
    17658 program_source:395:1: error: implicit declaration of function 'simd_product'
    17659 is invalid in OpenCL 
    17660 program_source:385:52: note: expanded from macro 'DECLARE_REDUCTION_CLUSTERED' 
    17661 DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17662 
    17663 program_source:363:60: note: expanded from macro '\ 
    17664 DECLARE_F_REDUCTION_CLUSTERED' 
    17665 #define DECLARE_F_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17666 
    17667 program_source:249:71: note: expanded from macro '\ 
    17668 BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1' 
    17669 #define BRIDGE_FUNCTION_CLUSTERED_F_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17670 
    17671 program_source:198:12: note: expanded from macro '\ 
    17672 OVERLOAD_CLUSTERED_ARGS_1' 
    17673 return simd_##METAL_SUFFIX(x); \ 
    17674 
    17675 <scratch space>:124:1: note: expanded from here 
    17676 simd_product 
    17677 
    17678 program_source:396:1: error: implicit declaration of function 'quad_and' is
    17679 invalid in OpenCL 
    17680 DECLARE_I_REDUCTION_CLUSTERED(and, reduce_and) 
    17681 
    17682 program_source:360:60: note: expanded from macro
    17683 'DECLARE_I_REDUCTION_CLUSTERED' 
    17684 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17685 
    17686 program_source:245:71: note: expanded from macro '\ 
    17687 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17688 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17689 
    17690 program_source:196:12: note: expanded from macro '\ 
    17691 OVERLOAD_CLUSTERED_ARGS_1' 
    17692 return quad_##METAL_SUFFIX(x); \ 
    17693 
    17694 <scratch space>:126:1: note: expanded from here 
    17695 quad_and 
    17696 
    17697 program_source:396:1: error: implicit declaration of function 'simd_and' is
    17698 invalid in OpenCL 
    17699 program_source:360:60: note: expanded from macro
    17700 'DECLARE_I_REDUCTION_CLUSTERED' 
    17701 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17702 
    17703 program_source:245:71: note: expanded from macro '\ 
    17704 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17705 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17706 
    17707 program_source:198:12: note: expanded from macro '\ 
    17708 OVERLOAD_CLUSTERED_ARGS_1' 
    17709 return simd_##METAL_SUFFIX(x); \ 
    17710 
    17711 <scratch space>:127:1: note: expanded from here 
    17712 simd_and 
    17713 
    17714 program_source:396:1: error: implicit declaration of function 'quad_and' is
    17715 invalid in OpenCL 
    17716 program_source:360:60: note: expanded from macro
    17717 'DECLARE_I_REDUCTION_CLUSTERED' 
    17718 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17719 
    17720 program_source:246:59: note: expanded from macro '\ 
    17721 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17722 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    17723 
    17724 program_source:196:12: note: expanded from macro '\ 
    17725 OVERLOAD_CLUSTERED_ARGS_1' 
    17726 return quad_##METAL_SUFFIX(x); \ 
    17727 
    17728 <scratch space>:128:1: note: expanded from here 
    17729 quad_and 
    17730 
    17731 program_source:396:1: error: implicit declaration of function 'simd_and' is
    17732 invalid in OpenCL 
    17733 program_source:360:60: note: expanded from macro
    17734 'DECLARE_I_REDUCTION_CLUSTERED' 
    17735 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17736 
    17737 program_source:246:59: note: expanded from macro '\ 
    17738 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17739 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    17740 
    17741 program_source:198:12: note: expanded from macro '\ 
    17742 OVERLOAD_CLUSTERED_ARGS_1' 
    17743 return simd_##METAL_SUFFIX(x); \ 
    17744 
    17745 <scratch space>:129:1: note: expanded from here 
    17746 simd_and 
    17747 
    17748 program_source:397:1: error: implicit declaration of function 'quad_or' is
    17749 invalid in OpenCL 
    17750 DECLARE_I_REDUCTION_CLUSTERED(or, reduce_or) 
    17751 
    17752 program_source:360:60: note: expanded from macro
    17753 'DECLARE_I_REDUCTION_CLUSTERED' 
    17754 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17755 
    17756 program_source:245:71: note: expanded from macro '\ 
    17757 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17758 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17759 
    17760 program_source:196:12: note: expanded from macro '\ 
    17761 OVERLOAD_CLUSTERED_ARGS_1' 
    17762 return quad_##METAL_SUFFIX(x); \ 
    17763 
    17764 <scratch space>:131:1: note: expanded from here 
    17765 quad_or 
    17766 
    17767 program_source:397:1: error: implicit declaration of function 'simd_or' is
    17768 invalid in OpenCL 
    17769 program_source:360:60: note: expanded from macro
    17770 'DECLARE_I_REDUCTION_CLUSTERED' 
    17771 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17772 
    17773 program_source:245:71: note: expanded from macro '\ 
    17774 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17775 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17776 
    17777 program_source:198:12: note: expanded from macro '\ 
    17778 OVERLOAD_CLUSTERED_ARGS_1' 
    17779 return simd_##METAL_SUFFIX(x); \ 
    17780 
    17781 <scratch space>:132:1: note: expanded from here 
    17782 simd_or 
    17783 
    17784 program_source:397:1: error: implicit declaration of function 'quad_or' is
    17785 invalid in OpenCL 
    17786 program_source:360:60: note: expanded from macro
    17787 'DECLARE_I_REDUCTION_CLUSTERED' 
    17788 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17789 
    17790 program_source:246:59: note: expanded from macro '\ 
    17791 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17792 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    17793 
    17794 program_source:196:12: note: expanded from macro '\ 
    17795 OVERLOAD_CLUSTERED_ARGS_1' 
    17796 return quad_##METAL_SUFFIX(x); \ 
    17797 
    17798 <scratch space>:133:1: note: expanded from here 
    17799 quad_or 
    17800 
    17801 program_source:397:1: error: implicit declaration of function 'simd_or' is
    17802 invalid in OpenCL 
    17803 program_source:360:60: note: expanded from macro
    17804 'DECLARE_I_REDUCTION_CLUSTERED' 
    17805 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17806 
    17807 program_source:246:59: note: expanded from macro '\ 
    17808 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17809 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    17810 
    17811 program_source:198:12: note: expanded from macro '\ 
    17812 OVERLOAD_CLUSTERED_ARGS_1' 
    17813 return simd_##METAL_SUFFIX(x); \ 
    17814 
    17815 <scratch space>:134:1: note: expanded from here 
    17816 simd_or 
    17817 
    17818 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    17819 invalid in OpenCL 
    17820 DECLARE_I_REDUCTION_CLUSTERED(xor, reduce_xor) 
    17821 
    17822 program_source:360:60: note: expanded from macro
    17823 'DECLARE_I_REDUCTION_CLUSTERED' 
    17824 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17825 
    17826 program_source:245:71: note: expanded from macro '\ 
    17827 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17828 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17829 
    17830 program_source:196:12: note: expanded from macro '\ 
    17831 OVERLOAD_CLUSTERED_ARGS_1' 
    17832 return quad_##METAL_SUFFIX(x); \ 
    17833 
    17834 <scratch space>:136:1: note: expanded from here 
    17835 quad_xor 
    17836 
    17837 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    17838 invalid in OpenCL 
    17839 program_source:360:60: note: expanded from macro
    17840 'DECLARE_I_REDUCTION_CLUSTERED' 
    17841 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17842 
    17843 program_source:245:71: note: expanded from macro '\ 
    17844 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17845 #define BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1(METAL_SUFFIX, OPENCL_EXPR) \ 
    17846 
    17847 program_source:198:12: note: expanded from macro '\ 
    17848 OVERLOAD_CLUSTERED_ARGS_1' 
    17849 return simd_##METAL_SUFFIX(x); \ 
    17850 
    17851 <scratch space>:137:1: note: expanded from here 
    17852 simd_xor 
    17853 
    17854 program_source:398:1: error: implicit declaration of function 'quad_xor' is
    17855 invalid in OpenCL 
    17856 program_source:360:60: note: expanded from macro
    17857 'DECLARE_I_REDUCTION_CLUSTERED' 
    17858 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17859 
    17860 program_source:246:59: note: expanded from macro '\ 
    17861 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17862 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    17863 
    17864 program_source:196:12: note: expanded from macro '\ 
    17865 OVERLOAD_CLUSTERED_ARGS_1' 
    17866 return quad_##METAL_SUFFIX(x); \ 
    17867 
    17868 <scratch space>:138:1: note: expanded from here 
    17869 quad_xor 
    17870 
    17871 program_source:398:1: error: implicit declaration of function 'simd_xor' is
    17872 invalid in OpenCL 
    17873 program_source:360:60: note: expanded from macro
    17874 'DECLARE_I_REDUCTION_CLUSTERED' 
    17875 #define DECLARE_I_REDUCTION_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17876 
    17877 program_source:246:59: note: expanded from macro '\ 
    17878 BRIDGE_FUNCTION_CLUSTERED_I_ARGS_1' 
    17879 OVERLOAD_CLUSTERED_ARGS_1(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    17880 
    17881 program_source:198:12: note: expanded from macro '\ 
    17882 OVERLOAD_CLUSTERED_ARGS_1' 
    17883 return simd_##METAL_SUFFIX(x); \ 
    17884 
    17885 <scratch space>:139:1: note: expanded from here 
    17886 simd_xor 
    17887 
    17888 program_source:399:1: error: implicit declaration of function 'simd_and' is
    17889 invalid in OpenCL 
    17890 DECLARE_B_REDUCTION_CLUSTERED(and) 
    17891 
    17892 program_source:369:8: note: expanded from macro
    17893 'DECLARE_B_REDUCTION_CLUSTERED' 
    17894 return simd_##OP(select(0, 1, predicate != 0)); \ 
    17895 
    17896 <scratch space>:141:1: note: expanded from here 
    17897 simd_and 
    17898 
    17899 program_source:399:1: error: implicit declaration of function 'quad_and' is
    17900 invalid in OpenCL 
    17901 program_source:378:12: note: expanded from macro
    17902 'DECLARE_B_REDUCTION_CLUSTERED' 
    17903 return quad_##OP(x); \ 
    17904 
    17905 <scratch space>:143:1: note: expanded from here 
    17906 quad_and 
    17907 
    17908 program_source:399:1: error: implicit declaration of function 'simd_and' is
    17909 invalid in OpenCL 
    17910 program_source:380:12: note: expanded from macro
    17911 'DECLARE_B_REDUCTION_CLUSTERED' 
    17912 return simd_##OP(x); \ 
    17913 
    17914 <scratch space>:144:1: note: expanded from here 
    17915 simd_and 
    17916 
    17917 program_source:400:1: error: implicit declaration of function 'simd_or' is
    17918 invalid in OpenCL 
    17919 DECLARE_B_REDUCTION_CLUSTERED(or) 
    17920 
    17921 program_source:369:8: note: expanded from macro
    17922 'DECLARE_B_REDUCTION_CLUSTERED' 
    17923 return simd_##OP(select(0, 1, predicate != 0)); \ 
    17924 
    17925 <scratch space>:146:1: note: expanded from here 
    17926 simd_or 
    17927 
    17928 program_source:400:1: error: implicit declaration of function 'quad_or' is
    17929 invalid in OpenCL 
    17930 program_source:378:12: note: expanded from macro
    17931 'DECLARE_B_REDUCTION_CLUSTERED' 
    17932 return quad_##OP(x); \ 
    17933 
    17934 <scratch space>:148:1: note: expanded from here 
    17935 quad_or 
    17936 
    17937 program_source:400:1: error: implicit declaration of function 'simd_or' is
    17938 invalid in OpenCL 
    17939 program_source:380:12: note: expanded from macro
    17940 'DECLARE_B_REDUCTION_CLUSTERED' 
    17941 return simd_##OP(x); \ 
    17942 
    17943 <scratch space>:149:1: note: expanded from here 
    17944 simd_or 
    17945 
    17946 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    17947 invalid in OpenCL 
    17948 DECLARE_B_REDUCTION_CLUSTERED(xor) 
    17949 
    17950 program_source:369:8: note: expanded from macro
    17951 'DECLARE_B_REDUCTION_CLUSTERED' 
    17952 return simd_##OP(select(0, 1, predicate != 0)); \ 
    17953 
    17954 <scratch space>:151:1: note: expanded from here 
    17955 simd_xor 
    17956 
    17957 program_source:401:1: error: implicit declaration of function 'quad_xor' is
    17958 invalid in OpenCL 
    17959 program_source:378:12: note: expanded from macro
    17960 'DECLARE_B_REDUCTION_CLUSTERED' 
    17961 return quad_##OP(x); \ 
    17962 
    17963 <scratch space>:153:1: note: expanded from here 
    17964 quad_xor 
    17965 
    17966 program_source:401:1: error: implicit declaration of function 'simd_xor' is
    17967 invalid in OpenCL 
    17968 program_source:380:12: note: expanded from macro
    17969 'DECLARE_B_REDUCTION_CLUSTERED' 
    17970 return simd_##OP(x); \ 
    17971 
    17972 <scratch space>:154:1: note: expanded from here 
    17973 simd_xor 
    17974 
    17975 program_source:403:1: error: implicit declaration of function
    17976 'quad_shuffle_rotate_down' is invalid in OpenCL 
    17977 DECLARE_SHUFFLE_CLUSTERED(shuffle_rotate_down, rotate) 
    17978 
    17979 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    17980 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17981 
    17982 program_source:252:69: note: expanded from macro '\ 
    17983 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    17984 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    17985 
    17986 program_source:208:12: note: expanded from macro '\ 
    17987 OVERLOAD_CLUSTERED_ARGS_2' 
    17988 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    17989 
    17990 <scratch space>:156:1: note: expanded from here 
    17991 quad_shuffle_rotate_down 
    17992 
    17993 program_source:403:1: error: implicit declaration of function
    17994 'simd_shuffle_rotate_down' is invalid in OpenCL 
    17995 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    17996 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    17997 
    17998 program_source:252:69: note: expanded from macro '\ 
    17999 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    18000 #define BRIDGE_FUNCTION_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR) \ 
    18001 
    18002 program_source:210:12: note: expanded from macro '\ 
    18003 OVERLOAD_CLUSTERED_ARGS_2' 
    18004 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    18005 
    18006 <scratch space>:157:1: note: expanded from here 
    18007 simd_shuffle_rotate_down 
    18008 
    18009 program_source:403:1: error: implicit declaration of function
    18010 'quad_shuffle_rotate_down' is invalid in OpenCL 
    18011 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    18012 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    18013 
    18014 program_source:253:59: note: expanded from macro '\ 
    18015 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    18016 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    18017 
    18018 program_source:208:12: note: expanded from macro '\ 
    18019 OVERLOAD_CLUSTERED_ARGS_2' 
    18020 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    18021 
    18022 <scratch space>:158:1: note: expanded from here 
    18023 quad_shuffle_rotate_down 
    18024 
    18025 program_source:403:1: error: implicit declaration of function
    18026 'simd_shuffle_rotate_down' is invalid in OpenCL 
    18027 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    18028 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    18029 
    18030 program_source:253:59: note: expanded from macro '\ 
    18031 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    18032 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, int) \ 
    18033 
    18034 program_source:210:12: note: expanded from macro '\ 
    18035 OVERLOAD_CLUSTERED_ARGS_2' 
    18036 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    18037 
    18038 <scratch space>:159:1: note: expanded from here 
    18039 simd_shuffle_rotate_down 
    18040 
    18041 program_source:403:1: error: implicit declaration of function
    18042 'quad_shuffle_rotate_down' is invalid in OpenCL 
    18043 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    18044 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    18045 
    18046 program_source:254:60: note: expanded from macro '\ 
    18047 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    18048 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    18049 
    18050 program_source:208:12: note: expanded from macro '\ 
    18051 OVERLOAD_CLUSTERED_ARGS_2' 
    18052 return quad_##METAL_SUFFIX(x, ushort(delta)); \ 
    18053 
    18054 <scratch space>:160:1: note: expanded from here 
    18055 quad_shuffle_rotate_down 
    18056 
    18057 program_source:403:1: error: implicit declaration of function
    18058 'simd_shuffle_rotate_down' is invalid in OpenCL 
    18059 program_source:388:56: note: expanded from macro 'DECLARE_SHUFFLE_CLUSTERED' 
    18060 #define DECLARE_SHUFFLE_CLUSTERED(METAL_OP, OPENCL_OP) \ 
    18061 
    18062 program_source:254:60: note: expanded from macro '\ 
    18063 BRIDGE_FUNCTION_CLUSTERED_ARGS_2' 
    18064 OVERLOAD_CLUSTERED_ARGS_2(METAL_SUFFIX, OPENCL_EXPR, uint) \ 
    18065 
    18066 program_source:210:12: note: expanded from macro '\ 
    18067 OVERLOAD_CLUSTERED_ARGS_2' 
    18068 return simd_##METAL_SUFFIX(x, ushort(delta)); \ 
    18069 
    18070 <scratch space>:161:1: note: expanded from here 
    18071 simd_shuffle_rotate_down 
    18072 
    18073 program_source:409:1: error: illegal string literal in 'asm' 
    18074 EXPOSE_BALLOT(simd_is_first, , bool, ) 
    18075 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18076 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    18077 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    18078 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18079 program_source:410:1: error: illegal string literal in 'asm' 
    18080 EXPOSE_BALLOT(simd_all, bool expr, bool, ) 
    18081 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18082 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    18083 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    18084 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18085 program_source:411:1: error: illegal string literal in 'asm' 
    18086 EXPOSE_BALLOT(simd_any, bool expr, bool, ) 
    18087 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18088 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    18089 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    18090 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18091 program_source:412:1: error: illegal string literal in 'asm' 
    18092 EXPOSE_BALLOT(simd_ballot, bool expr, ulong, .i64) 
    18093 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18094 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    18095 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    18096 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18097 program_source:413:1: error: illegal string literal in 'asm' 
    18098 EXPOSE_BALLOT(simd_active_threads_mask, , ulong, .i64) 
    18099 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18100 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    18101 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    18102 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18103 program_source:415:1: error: illegal string literal in 'asm' 
    18104 EXPOSE_BALLOT(quad_is_first, , bool, ) 
    18105 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18106 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    18107 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    18108 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18109 program_source:416:1: error: illegal string literal in 'asm' 
    18110 EXPOSE_BALLOT(quad_all, bool expr, bool, ) 
    18111 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18112 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    18113 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    18114 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18115 program_source:417:1: error: illegal string literal in 'asm' 
    18116 EXPOSE_BALLOT(quad_any, bool expr, bool, ) 
    18117 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18118 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    18119 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    18120 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18121 program_source:418:1: error: illegal string literal in 'asm' 
    18122 EXPOSE_BALLOT(quad_ballot, bool expr, ushort, ) 
    18123 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18124 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    18125 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    18126 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18127 program_source:419:1: error: illegal string literal in 'asm' 
    18128 EXPOSE_BALLOT(quad_active_threads_mask, , ushort, ) 
    18129 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18130 program_source:407:9: note: expanded from macro 'EXPOSE_BALLOT' 
    18131 __asm("air." #FUNC_EXPR #AIR_EXPR); \ 
    18132 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18133 program_source:422:23: error: implicit declaration of function 'simd_is_first'
    18134 is invalid in OpenCL 
    18135 return select(0, 1, simd_is_first()); 
    18136 
    18137 program_source:426:23: error: implicit declaration of function 'simd_all' is
    18138 invalid in OpenCL 
    18139 return select(0, 1, simd_all(predicate != 0)); 
    18140 
    18141 program_source:430:23: error: implicit declaration of function 'simd_any' is
    18142 invalid in OpenCL 
    18143 return select(0, 1, simd_any(predicate != 0)); 
    18144 
    18145 program_source:434:23: error: implicit declaration of function 'simd_all' is
    18146 invalid in OpenCL 
    18147 return select(0, 1, simd_all(predicate != 0)); 
    18148 
    18149 program_source:438:23: error: implicit declaration of function 'simd_any' is
    18150 invalid in OpenCL 
    18151 return select(0, 1, simd_any(predicate != 0)); 
    18152 
    18153 program_source:443:14: error: implicit declaration of function 'simd_ballot'
    18154 is invalid in OpenCL 
    18155 output.x = simd_ballot(predicate != 0); 
    18156 
    18157 program_source:480:9: error: illegal string literal in 'asm' 
    18158 __asm("air.simdgroup.barrier"); 
    18159 ^~~~~~~~~~~~~~~~~~~~~~~ 
    18160 program_source:487:3: error: implicit declaration of function
    18161 '__metal_simdgroup_barrier' is invalid in OpenCL 
    18162 __metal_simdgroup_barrier(flags, 1); 
    18163 
    18164 program_source:487:3: note: did you mean 'simdgroup_barrier'? 
    18165 program_source:483:6: note: 'simdgroup_barrier' declared here 
    18166 void simdgroup_barrier(int flags) { 
    18167 
    18168 program_source:681:9: error: implicit declaration of function 'simd_is_first'
    18169 is invalid in OpenCL 
    18170 if (simd_is_first()) { 
    18171 
    18172 program_source:673:45: warning: comparison of integers of different signs:
    18173 '__private unsigned int' and '__private int' [-Wsign-compare] 
    18174 for (unsigned int index = thread; index < bufferSize; index +=
    18175 get_local_size(0)) 
    18176 ~~~~~ ^ ~~~~~~~~~~ 
    18177 program_source:685:45: warning: comparison of integers of different signs:
    18178 'unsigned int' and '__private int' [-Wsign-compare] 
    18179 if (thread%(32*2) == 0 && thread+32 < workGroupSize) 
    18180 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    18181 program_source:689:45: warning: comparison of integers of different signs:
    18182 'unsigned int' and '__private int' [-Wsign-compare] 
    18183 if (thread%(64*2) == 0 && thread+64 < workGroupSize) 
    18184 ~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    18185 program_source:693:47: warning: comparison of integers of different signs:
    18186 'unsigned int' and '__private int' [-Wsign-compare] 
    18187 if (thread%(128*2) == 0 && thread+128 < workGroupSize) 
    18188 ~~~~~~~~~~ ^ ~~~~~~~~~~~~~ 
    18189  
    18190  
    18191 openmm.OpenMMException: Error compiling kernel: program_source:279:1: error:
    18192 illegal string literal in 'asm' 
    18193 DECLARE_REDUCTION_BASE(sum) 
    18194 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18195 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18196 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    18197 
    18198 program_source:263:44: note: expanded from macro '\ 
    18199 DECLARE_I_REDUCTION_BASE' 
    18200 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    18201 
    18202 program_source:217:40: note: expanded from macro '\ 
    18203 EXPOSE_FUNCTION_I_ARGS_1' 
    18204 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    18205 
    18206 program_source:164:9: note: expanded from macro '\ 
    18207 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18208 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18209 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18210 program_source:279:1: error: illegal string literal in 'asm' 
    18211 DECLARE_REDUCTION_BASE(sum) 
    18212 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18213 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18214 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    18215 
    18216 program_source:263:44: note: expanded from macro '\ 
    18217 DECLARE_I_REDUCTION_BASE' 
    18218 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    18219 
    18220 program_source:218:51: note: expanded from macro '\ 
    18221 EXPOSE_FUNCTION_I_ARGS_1' 
    18222 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    18223 
    18224 program_source:164:9: note: expanded from macro '\ 
    18225 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18226 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18227 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18228 program_source:279:1: error: illegal string literal in 'asm' 
    18229 DECLARE_REDUCTION_BASE(sum) 
    18230 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18231 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18232 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    18233 
    18234 program_source:264:43: note: expanded from macro '\ 
    18235 DECLARE_I_REDUCTION_BASE' 
    18236 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    18237 
    18238 program_source:217:40: note: expanded from macro '\ 
    18239 EXPOSE_FUNCTION_I_ARGS_1' 
    18240 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    18241 
    18242 program_source:164:9: note: expanded from macro '\ 
    18243 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18244 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18245 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18246 program_source:279:1: error: illegal string literal in 'asm' 
    18247 DECLARE_REDUCTION_BASE(sum) 
    18248 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18249 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18250 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    18251 
    18252 program_source:264:43: note: expanded from macro '\ 
    18253 DECLARE_I_REDUCTION_BASE' 
    18254 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    18255 
    18256 program_source:218:51: note: expanded from macro '\ 
    18257 EXPOSE_FUNCTION_I_ARGS_1' 
    18258 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    18259 
    18260 program_source:164:9: note: expanded from macro '\ 
    18261 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18262 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18263 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18264 program_source:279:1: error: illegal string literal in 'asm' 
    18265 DECLARE_REDUCTION_BASE(sum) 
    18266 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18267 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18268 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    18269 
    18270 program_source:267:44: note: expanded from macro '\ 
    18271 DECLARE_F_REDUCTION_BASE' 
    18272 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    18273 
    18274 program_source:221:40: note: expanded from macro '\ 
    18275 EXPOSE_FUNCTION_F_ARGS_1' 
    18276 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    18277 
    18278 program_source:164:9: note: expanded from macro '\ 
    18279 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18280 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18281 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18282 program_source:279:1: error: illegal string literal in 'asm' 
    18283 DECLARE_REDUCTION_BASE(sum) 
    18284 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18285 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18286 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    18287 
    18288 program_source:268:43: note: expanded from macro '\ 
    18289 DECLARE_F_REDUCTION_BASE' 
    18290 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    18291 
    18292 program_source:221:40: note: expanded from macro '\ 
    18293 EXPOSE_FUNCTION_F_ARGS_1' 
    18294 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    18295 
    18296 program_source:164:9: note: expanded from macro '\ 
    18297 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18298 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18299 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18300 program_source:280:1: error: illegal string literal in 'asm' 
    18301 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    18302 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18303 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18304 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    18305 
    18306 program_source:263:44: note: expanded from macro '\ 
    18307 DECLARE_I_REDUCTION_BASE' 
    18308 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    18309 
    18310 program_source:217:40: note: expanded from macro '\ 
    18311 EXPOSE_FUNCTION_I_ARGS_1' 
    18312 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    18313 
    18314 program_source:164:9: note: expanded from macro '\ 
    18315 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18316 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18317 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18318 program_source:280:1: error: illegal string literal in 'asm' 
    18319 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    18320 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18321 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18322 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    18323 
    18324 program_source:263:44: note: expanded from macro '\ 
    18325 DECLARE_I_REDUCTION_BASE' 
    18326 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    18327 
    18328 program_source:218:51: note: expanded from macro '\ 
    18329 EXPOSE_FUNCTION_I_ARGS_1' 
    18330 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    18331 
    18332 program_source:164:9: note: expanded from macro '\ 
    18333 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18334 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18335 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18336 program_source:280:1: error: illegal string literal in 'asm' 
    18337 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    18338 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18339 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18340 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    18341 
    18342 program_source:264:43: note: expanded from macro '\ 
    18343 DECLARE_I_REDUCTION_BASE' 
    18344 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    18345 
    18346 program_source:217:40: note: expanded from macro '\ 
    18347 EXPOSE_FUNCTION_I_ARGS_1' 
    18348 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    18349 
    18350 program_source:164:9: note: expanded from macro '\ 
    18351 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18352 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18353 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18354 program_source:280:1: error: illegal string literal in 'asm' 
    18355 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    18356 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18357 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18358 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    18359 
    18360 program_source:264:43: note: expanded from macro '\ 
    18361 DECLARE_I_REDUCTION_BASE' 
    18362 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    18363 
    18364 program_source:218:51: note: expanded from macro '\ 
    18365 EXPOSE_FUNCTION_I_ARGS_1' 
    18366 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    18367 
    18368 program_source:164:9: note: expanded from macro '\ 
    18369 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18370 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18371 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18372 program_source:280:1: error: illegal string literal in 'asm' 
    18373 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    18374 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18375 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18376 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    18377 
    18378 program_source:267:44: note: expanded from macro '\ 
    18379 DECLARE_F_REDUCTION_BASE' 
    18380 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    18381 
    18382 program_source:221:40: note: expanded from macro '\ 
    18383 EXPOSE_FUNCTION_F_ARGS_1' 
    18384 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    18385 
    18386 program_source:164:9: note: expanded from macro '\ 
    18387 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18388 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18389 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18390 program_source:280:1: error: illegal string literal in 'asm' 
    18391 DECLARE_REDUCTION_BASE(prefix_inclusive_sum) 
    18392 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18393 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18394 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    18395 
    18396 program_source:268:43: note: expanded from macro '\ 
    18397 DECLARE_F_REDUCTION_BASE' 
    18398 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    18399 
    18400 program_source:221:40: note: expanded from macro '\ 
    18401 EXPOSE_FUNCTION_F_ARGS_1' 
    18402 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    18403 
    18404 program_source:164:9: note: expanded from macro '\ 
    18405 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18406 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18407 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18408 program_source:281:1: error: illegal string literal in 'asm' 
    18409 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    18410 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18411 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18412 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    18413 
    18414 program_source:263:44: note: expanded from macro '\ 
    18415 DECLARE_I_REDUCTION_BASE' 
    18416 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    18417 
    18418 program_source:217:40: note: expanded from macro '\ 
    18419 EXPOSE_FUNCTION_I_ARGS_1' 
    18420 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    18421 
    18422 program_source:164:9: note: expanded from macro '\ 
    18423 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18424 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18425 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18426 program_source:281:1: error: illegal string literal in 'asm' 
    18427 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    18428 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18429 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18430 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    18431 
    18432 program_source:263:44: note: expanded from macro '\ 
    18433 DECLARE_I_REDUCTION_BASE' 
    18434 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    18435 
    18436 program_source:218:51: note: expanded from macro '\ 
    18437 EXPOSE_FUNCTION_I_ARGS_1' 
    18438 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    18439 
    18440 program_source:164:9: note: expanded from macro '\ 
    18441 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18442 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18443 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18444 program_source:281:1: error: illegal string literal in 'asm' 
    18445 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    18446 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18447 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18448 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    18449 
    18450 program_source:264:43: note: expanded from macro '\ 
    18451 DECLARE_I_REDUCTION_BASE' 
    18452 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    18453 
    18454 program_source:217:40: note: expanded from macro '\ 
    18455 EXPOSE_FUNCTION_I_ARGS_1' 
    18456 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    18457 
    18458 program_source:164:9: note: expanded from macro '\ 
    18459 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18460 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18461 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18462 program_source:281:1: error: illegal string literal in 'asm' 
    18463 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    18464 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18465 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18466 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    18467 
    18468 program_source:264:43: note: expanded from macro '\ 
    18469 DECLARE_I_REDUCTION_BASE' 
    18470 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    18471 
    18472 program_source:218:51: note: expanded from macro '\ 
    18473 EXPOSE_FUNCTION_I_ARGS_1' 
    18474 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    18475 
    18476 program_source:164:9: note: expanded from macro '\ 
    18477 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18478 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18479 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18480 program_source:281:1: error: illegal string literal in 'asm' 
    18481 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    18482 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18483 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18484 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    18485 
    18486 program_source:267:44: note: expanded from macro '\ 
    18487 DECLARE_F_REDUCTION_BASE' 
    18488 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    18489 
    18490 program_source:221:40: note: expanded from macro '\ 
    18491 EXPOSE_FUNCTION_F_ARGS_1' 
    18492 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    18493 
    18494 program_source:164:9: note: expanded from macro '\ 
    18495 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18496 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18497 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18498 program_source:281:1: error: illegal string literal in 'asm' 
    18499 DECLARE_REDUCTION_BASE(prefix_exclusive_sum) 
    18500 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18501 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18502 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    18503 
    18504 program_source:268:43: note: expanded from macro '\ 
    18505 DECLARE_F_REDUCTION_BASE' 
    18506 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    18507 
    18508 program_source:221:40: note: expanded from macro '\ 
    18509 EXPOSE_FUNCTION_F_ARGS_1' 
    18510 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    18511 
    18512 program_source:164:9: note: expanded from macro '\ 
    18513 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18514 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18515 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18516 program_source:282:1: error: illegal string literal in 'asm' 
    18517 DECLARE_REDUCTION_BASE(min) 
    18518 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18519 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18520 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    18521 
    18522 program_source:263:44: note: expanded from macro '\ 
    18523 DECLARE_I_REDUCTION_BASE' 
    18524 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    18525 
    18526 program_source:217:40: note: expanded from macro '\ 
    18527 EXPOSE_FUNCTION_I_ARGS_1' 
    18528 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    18529 
    18530 program_source:164:9: note: expanded from macro '\ 
    18531 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18532 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18533 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18534 program_source:282:1: error: illegal string literal in 'asm' 
    18535 DECLARE_REDUCTION_BASE(min) 
    18536 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18537 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18538 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    18539 
    18540 program_source:263:44: note: expanded from macro '\ 
    18541 DECLARE_I_REDUCTION_BASE' 
    18542 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    18543 
    18544 program_source:218:51: note: expanded from macro '\ 
    18545 EXPOSE_FUNCTION_I_ARGS_1' 
    18546 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    18547 
    18548 program_source:164:9: note: expanded from macro '\ 
    18549 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18550 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18551 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18552 program_source:282:1: error: illegal string literal in 'asm' 
    18553 DECLARE_REDUCTION_BASE(min) 
    18554 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18555 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18556 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    18557 
    18558 program_source:264:43: note: expanded from macro '\ 
    18559 DECLARE_I_REDUCTION_BASE' 
    18560 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    18561 
    18562 program_source:217:40: note: expanded from macro '\ 
    18563 EXPOSE_FUNCTION_I_ARGS_1' 
    18564 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    18565 
    18566 program_source:164:9: note: expanded from macro '\ 
    18567 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18568 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18569 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18570 program_source:282:1: error: illegal string literal in 'asm' 
    18571 DECLARE_REDUCTION_BASE(min) 
    18572 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18573 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18574 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    18575 
    18576 program_source:264:43: note: expanded from macro '\ 
    18577 DECLARE_I_REDUCTION_BASE' 
    18578 EXPOSE_FUNCTION_I_ARGS_1(quad_##METAL_OP) \ 
    18579 
    18580 program_source:218:51: note: expanded from macro '\ 
    18581 EXPOSE_FUNCTION_I_ARGS_1' 
    18582 EXPOSE_FUNCTION_OVERLOAD_ARGS_1(EXPR, int, s.i32) \ 
    18583 
    18584 program_source:164:9: note: expanded from macro '\ 
    18585 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18586 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18587 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18588 program_source:282:1: error: illegal string literal in 'asm' 
    18589 DECLARE_REDUCTION_BASE(min) 
    18590 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18591 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18592 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    18593 
    18594 program_source:267:44: note: expanded from macro '\ 
    18595 DECLARE_F_REDUCTION_BASE' 
    18596 #define DECLARE_F_REDUCTION_BASE(METAL_OP) \ 
    18597 
    18598 program_source:221:40: note: expanded from macro '\ 
    18599 EXPOSE_FUNCTION_F_ARGS_1' 
    18600 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    18601 
    18602 program_source:164:9: note: expanded from macro '\ 
    18603 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18604 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18605 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18606 program_source:282:1: error: illegal string literal in 'asm' 
    18607 DECLARE_REDUCTION_BASE(min) 
    18608 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18609 program_source:272:36: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18610 DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    18611 
    18612 program_source:268:43: note: expanded from macro '\ 
    18613 DECLARE_F_REDUCTION_BASE' 
    18614 EXPOSE_FUNCTION_F_ARGS_1(quad_##METAL_OP) \ 
    18615 
    18616 program_source:221:40: note: expanded from macro '\ 
    18617 EXPOSE_FUNCTION_F_ARGS_1' 
    18618 #define EXPOSE_FUNCTION_F_ARGS_1(EXPR) \ 
    18619 
    18620 program_source:164:9: note: expanded from macro '\ 
    18621 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18622 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18623 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18624 program_source:283:1: error: illegal string literal in 'asm' 
    18625 DECLARE_REDUCTION_BASE(max) 
    18626 ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    18627 program_source:271:42: note: expanded from macro 'DECLARE_REDUCTION_BASE' 
    18628 #define DECLARE_REDUCTION_BASE(METAL_OP) \ 
    18629 
    18630 program_source:263:44: note: expanded from macro '\ 
    18631 DECLARE_I_REDUCTION_BASE' 
    18632 #define DECLARE_I_REDUCTION_BASE(METAL_OP) \ 
    18633 
    18634 program_source:217:40: note: expanded from macro '\ 
    18635 EXPOSE_FUNCTION_I_ARGS_1' 
    18636 #define EXPOSE_FUNCTION_I_ARGS_1(EXPR) \ 
    18637 
    18638 program_source:164:9: note: expanded from macro '\ 
    18639 EXPOSE_FUNCTION_OVERLOAD_ARGS_1' 
    18640 __asm("air." #EXPR "." #AIR_TYPE); \ 
    18641 ^~~~~~~~~~~~~~~~~~~~~~~~~~ 
     1614[deleted to fit within ticket limits]
     1615
    186421616program_source:283:1: error: illegal string literal in 'asm' 
    186431617DECLARE_REDUCTION_BASE(max)