1719def sm86EncodeInstruction =
1720 (lambda unrestricted instruction : (family SM86Instruction) .
1721 (eliminate
1722 SM86Instruction
1723 (lambda unrestricted current : (family SM86Instruction) .
1724 (family SM86InstructionEncodingResult))
1725 instruction
1726 (branch
1727 SM86InstructionValue
1728 guard
1729 body
1730 .
1731 (eliminate
1732 SM86InstructionBody
1733 (lambda unrestricted current : (family SM86InstructionBody) .
1734 (family SM86InstructionEncodingResult))
1735 body
1736 (branch
1737 SM86MoveConstant
1738 destination
1739 bank
1740 offset
1741 control
1742 .
1743 (sm86EncodeMoveConstant guard destination bank offset control))
1744 (branch
1745 SM86SpecialToRegister
1746 destination
1747 special
1748 control
1749 .
1750 (sm86EncodeSpecialToRegister guard destination special control))
1751 (branch
1752 SM86MoveImmediate
1753 destination
1754 immediate
1755 control
1756 .
1757 (sm86EncodeMoveImmediate guard destination immediate control))
1758 (branch
1759 SM86IntegerMultiplyAddConstant
1760 destination
1761 left
1762 bank
1763 offset
1764 addend
1765 control
1766 .
1767 (sm86EncodeIntegerMultiplyAddConstant guard destination left bank offset addend control))
1768 (branch
1769 SM86IntegerMultiplyAddImmediate
1770 destination
1771 left
1772 immediate
1773 addend
1774 control
1775 .
1776 (sm86EncodeIntegerMultiplyAddImmediate guard destination left immediate addend control))
1777 (branch
1778 SM86IntegerMultiplyAddWideConstant
1779 destination
1780 left
1781 right
1782 bank
1783 offset
1784 control
1785 .
1786 (sm86EncodeIntegerMultiplyAddWideConstant
1787 guard
1788 destination
1789 left
1790 right
1791 bank
1792 offset
1793 control))
1794 (branch
1795 SM86IntegerAddThreeImmediate
1796 destination
1797 left
1798 immediate
1799 control
1800 .
1801 (sm86EncodeIntegerAdd3Immediate guard destination left immediate control))
1802 (branch
1803 SM86IntegerAddThreeRegister
1804 destination
1805 left
1806 right
1807 control
1808 .
1809 (sm86EncodeIntegerAdd3Register guard destination left right control))
1810 (branch
1811 SM86ShiftRightImmediate
1812 destination
1813 source
1814 amount
1815 control
1816 .
1817 (sm86EncodeShiftRightImmediate guard destination source amount control))
1818 (branch
1819 SM86LogicThreeInputTruthTable
1820 destination
1821 left
1822 right
1823 truthTable
1824 control
1825 .
1826 (sm86EncodeLogic3 guard destination left right truthTable control))
1827 (branch
1828 SM86IntegerToFloat
1829 destination
1830 source
1831 control
1832 .
1833 (sm86EncodeIntegerToFloat guard destination source control))
1834 (branch
1835 SM86FloatAdd
1836 destination
1837 left
1838 right
1839 control
1840 .
1841 (sm86EncodeFloatAdd guard destination left right control))
1842 (branch
1843 SM86FloatMultiply
1844 destination
1845 left
1846 right
1847 control
1848 .
1849 (sm86EncodeFloatMultiply guard destination left right control))
1850 (branch
1851 SM86FloatFusedMultiplyAdd
1852 destination
1853 left
1854 right
1855 addend
1856 control
1857 .
1858 (sm86EncodeFloatFusedMultiplyAdd guard destination left right addend control))
1859 (branch
1860 SM86MultiFunctionUnitApproximation
1861 destination
1862 source
1863 operation
1864 control
1865 .
1866 (sm86EncodeMultiFunction guard destination source operation control))
1867 (branch
1868 SM86FloatMinimumOrMaximum
1869 destination
1870 left
1871 right
1872 extremum
1873 control
1874 .
1875 (sm86EncodeFloatExtremum guard destination left right extremum control))
1876 (branch
1877 SM86FloatNegate
1878 destination
1879 source
1880 control
1881 .
1882 (sm86EncodeFloatNegate guard destination source control))
1883 (branch
1884 SM86FloatPairToPackedHalfPair
1885 destination
1886 sourceHigh
1887 sourceLow
1888 control
1889 .
1890 (sm86EncodeFloat32PairToHalf2 guard destination sourceHigh sourceLow control))
1891 (branch
1892 SM86FloatPairToPackedBFloat16Pair
1893 destination
1894 sourceHigh
1895 sourceLow
1896 control
1897 .
1898 (sm86EncodeFloat32PairToBFloat16Pair guard destination sourceHigh sourceLow control))
1899 (branch
1900 SM86HalfToFloat
1901 destination
1902 source
1903 selector
1904 control
1905 .
1906 (sm86EncodeHalfToFloat guard destination source selector control))
1907 (branch
1908 SM86BFloat16ToFloat
1909 destination
1910 source
1911 selector
1912 control
1913 .
1914 (sm86EncodeBFloat16ToFloat guard destination source selector control))
1915 (branch
1916 SM86TensorCoreHalfMatrixMultiplyAccumulate16x8x16Float32
1917 destination
1918 fragmentA
1919 fragmentB
1920 accumulator
1921 control
1922 .
1923 (sm86EncodeHMMA16816F32F16 guard destination fragmentA fragmentB accumulator control))
1924 (branch
1925 SM86TensorCoreBFloat16MatrixMultiplyAccumulate16x8x16Float32
1926 destination
1927 fragmentA
1928 fragmentB
1929 accumulator
1930 control
1931 .
1932 (sm86EncodeHMMA16816F32BF16 guard destination fragmentA fragmentB accumulator control))
1933 (branch
1934 SM86LoadGlobal
1935 destination
1936 address
1937 offset
1938 control
1939 .
1940 (sm86EncodeLoadGlobal guard destination address offset control))
1941 (branch
1942 SM86LoadGlobalWide
1943 destination
1944 address
1945 offset
1946 control
1947 .
1948 (sm86EncodeLoadGlobalWide guard destination address offset control))
1949 (branch
1950 SM86WarpShuffle
1951 destination
1952 source
1953 lane
1954 segment
1955 mode
1956 control
1957 .
1958 (sm86EncodeShuffle guard destination source lane segment mode control))
1959 (branch
1960 SM86LoadShared
1961 destination
1962 address
1963 offset
1964 control
1965 .
1966 (sm86EncodeLoadShared guard destination address offset control))
1967 (branch
1968 SM86LoadSharedMatrix
1969 destination
1970 address
1971 offset
1972 count
1973 transpose
1974 control
1975 .
1976 (sm86EncodeLoadSharedMatrix guard destination address offset count transpose control))
1977 (branch
1978 SM86StoreShared
1979 address
1980 value
1981 offset
1982 control
1983 .
1984 (sm86EncodeStoreShared guard address value offset control))
1985 (branch
1986 SM86LoadGlobalToShared
1987 address
1988 offset
1989 source
1990 sourceOffset
1991 control
1992 .
1993 (sm86EncodeLoadGlobalToShared guard address offset source sourceOffset control))
1994 (branch SM86CommitAsyncGroup control . (sm86EncodeCommitAsyncGroup guard control))
1995 (branch SM86WaitAsyncGroups count control . (sm86EncodeWaitAsyncGroups guard count control))
1996 (branch SM86BarrierSynchronize control . (sm86EncodeBarrierSynchronize guard control))
1997 (branch
1998 SM86StoreGlobal
1999 address
2000 value
2001 offset
2002 control
2003 .
2004 (sm86EncodeStoreGlobal guard address value offset control))
2005 (branch
2006 SM86StoreGlobalWide
2007 address
2008 value
2009 offset
2010 control
2011 .
2012 (sm86EncodeStoreGlobalWide guard address value offset control))
2013 (branch
2014 SM86StoreGlobal64
2015 address
2016 value
2017 offset
2018 control
2019 .
2020 (sm86EncodeStoreGlobal64 guard address value offset control))
2021 (branch
2022 SM86ReduceGlobalAddFloat32
2023 address
2024 value
2025 offset
2026 control
2027 .
2028 (sm86EncodeReduceGlobalAddFloat32 guard address value offset control))
2029 (branch
2030 SM86PredicateGreaterThanImmediate
2031 predicate
2032 source
2033 immediate
2034 control
2035 .
2036 (sm86EncodePredicateGreater guard predicate source immediate control))
2037 (branch
2038 SM86Branch
2039 offset
2040 descriptor
2041 control
2042 .
2043 (sm86EncodeBranch guard offset descriptor control))
2044 (branch SM86Exit control . (sm86EncodeExit guard control))))))The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.