1793def sm86EncodeInstruction =
1794 (lambda unrestricted instruction : (family SM86Instruction) .
1795 (eliminate
1796 SM86Instruction
1797 (lambda unrestricted current : (family SM86Instruction) .
1798 (family SM86InstructionEncodingResult))
1799 instruction
1800 (branch
1801 SM86InstructionValue
1802 guard
1803 body
1804 .
1805 (eliminate
1806 SM86InstructionBody
1807 (lambda unrestricted current : (family SM86InstructionBody) .
1808 (family SM86InstructionEncodingResult))
1809 body
1810 (branch
1811 SM86MoveConstant
1812 destination
1813 bank
1814 offset
1815 control
1816 .
1817 (sm86EncodeMoveConstant guard destination bank offset control))
1818 (branch
1819 SM86SpecialToRegister
1820 destination
1821 special
1822 control
1823 .
1824 (sm86EncodeSpecialToRegister guard destination special control))
1825 (branch
1826 SM86MoveImmediate
1827 destination
1828 immediate
1829 control
1830 .
1831 (sm86EncodeMoveImmediate guard destination immediate control))
1832 (branch
1833 SM86IntegerMultiplyAddConstant
1834 destination
1835 left
1836 bank
1837 offset
1838 addend
1839 control
1840 .
1841 (sm86EncodeIntegerMultiplyAddConstant guard destination left bank offset addend control))
1842 (branch
1843 SM86IntegerMultiplyAddImmediate
1844 destination
1845 left
1846 immediate
1847 addend
1848 control
1849 .
1850 (sm86EncodeIntegerMultiplyAddImmediate guard destination left immediate addend control))
1851 (branch
1852 SM86IntegerMultiplyAddWideConstant
1853 destination
1854 left
1855 right
1856 bank
1857 offset
1858 control
1859 .
1860 (sm86EncodeIntegerMultiplyAddWideConstant
1861 guard
1862 destination
1863 left
1864 right
1865 bank
1866 offset
1867 control))
1868 (branch
1869 SM86IntegerAddThreeImmediate
1870 destination
1871 left
1872 immediate
1873 control
1874 .
1875 (sm86EncodeIntegerAdd3Immediate guard destination left immediate control))
1876 (branch
1877 SM86IntegerAddThreeRegister
1878 destination
1879 left
1880 right
1881 control
1882 .
1883 (sm86EncodeIntegerAdd3Register guard destination left right control))
1884 (branch
1885 SM86ShiftRightImmediate
1886 destination
1887 source
1888 amount
1889 control
1890 .
1891 (sm86EncodeShiftRightImmediate guard destination source amount control))
1892 (branch
1893 SM86LogicThreeInputTruthTable
1894 destination
1895 left
1896 right
1897 truthTable
1898 control
1899 .
1900 (sm86EncodeLogic3 guard destination left right truthTable control))
1901 (branch
1902 SM86IntegerToFloat
1903 destination
1904 source
1905 control
1906 .
1907 (sm86EncodeIntegerToFloat guard destination source control))
1908 (branch
1909 SM86FloatAdd
1910 destination
1911 left
1912 right
1913 control
1914 .
1915 (sm86EncodeFloatAdd guard destination left right control))
1916 (branch
1917 SM86FloatMultiply
1918 destination
1919 left
1920 right
1921 control
1922 .
1923 (sm86EncodeFloatMultiply guard destination left right control))
1924 (branch SM86Float64Binary operation destination left right control . (sm86EncodeFloat64Binary guard operation destination left right control))
1925 (branch SM86FloatConvert conversion control . (sm86EncodeFloatConvert guard conversion control))
1926 (branch
1927 SM86FloatFusedMultiplyAdd
1928 destination
1929 left
1930 right
1931 addend
1932 control
1933 .
1934 (sm86EncodeFloatFusedMultiplyAdd guard destination left right addend control))
1935 (branch
1936 SM86MultiFunctionUnitApproximation
1937 destination
1938 source
1939 operation
1940 control
1941 .
1942 (sm86EncodeMultiFunction guard destination source operation control))
1943 (branch
1944 SM86FloatMinimumOrMaximum
1945 destination
1946 left
1947 right
1948 extremum
1949 control
1950 .
1951 (sm86EncodeFloatExtremum guard destination left right extremum control))
1952 (branch
1953 SM86FloatNegate
1954 destination
1955 source
1956 control
1957 .
1958 (sm86EncodeFloatNegate guard destination source control))
1959 (branch
1960 SM86FloatPairToPackedHalfPair
1961 destination
1962 sourceHigh
1963 sourceLow
1964 control
1965 .
1966 (sm86EncodeFloat32PairToHalf2 guard destination sourceHigh sourceLow control))
1967 (branch
1968 SM86FloatPairToPackedBFloat16Pair
1969 destination
1970 sourceHigh
1971 sourceLow
1972 control
1973 .
1974 (sm86EncodeFloat32PairToBFloat16Pair guard destination sourceHigh sourceLow control))
1975 (branch
1976 SM86HalfToFloat
1977 destination
1978 source
1979 selector
1980 control
1981 .
1982 (sm86EncodeHalfToFloat guard destination source selector control))
1983 (branch
1984 SM86BFloat16ToFloat
1985 destination
1986 source
1987 selector
1988 control
1989 .
1990 (sm86EncodeBFloat16ToFloat guard destination source selector control))
1991 (branch
1992 SM86TensorCoreHalfMatrixMultiplyAccumulate16x8x16Float32
1993 destination
1994 fragmentA
1995 fragmentB
1996 accumulator
1997 control
1998 .
1999 (sm86EncodeHMMA16816F32F16 guard destination fragmentA fragmentB accumulator control))
2000 (branch
2001 SM86TensorCoreBFloat16MatrixMultiplyAccumulate16x8x16Float32
2002 destination
2003 fragmentA
2004 fragmentB
2005 accumulator
2006 control
2007 .
2008 (sm86EncodeHMMA16816F32BF16 guard destination fragmentA fragmentB accumulator control))
2009 (branch
2010 SM86LoadGlobal
2011 destination
2012 address
2013 offset
2014 control
2015 .
2016 (sm86EncodeLoadGlobal guard destination address offset control))
2017 (branch
2018 SM86LoadGlobalWide
2019 destination
2020 address
2021 offset
2022 control
2023 .
2024 (sm86EncodeLoadGlobalWide guard destination address offset control))
2025 (branch
2026 SM86WarpShuffle
2027 destination
2028 source
2029 lane
2030 segment
2031 mode
2032 control
2033 .
2034 (sm86EncodeShuffle guard destination source lane segment mode control))
2035 (branch
2036 SM86LoadShared
2037 destination
2038 address
2039 offset
2040 control
2041 .
2042 (sm86EncodeLoadShared guard destination address offset control))
2043 (branch
2044 SM86LoadSharedMatrix
2045 destination
2046 address
2047 offset
2048 count
2049 transpose
2050 control
2051 .
2052 (sm86EncodeLoadSharedMatrix guard destination address offset count transpose control))
2053 (branch
2054 SM86StoreShared
2055 address
2056 value
2057 offset
2058 control
2059 .
2060 (sm86EncodeStoreShared guard address value offset control))
2061 (branch
2062 SM86LoadGlobalToShared
2063 address
2064 offset
2065 source
2066 sourceOffset
2067 control
2068 .
2069 (sm86EncodeLoadGlobalToShared guard address offset source sourceOffset control))
2070 (branch SM86CommitAsyncGroup control . (sm86EncodeCommitAsyncGroup guard control))
2071 (branch SM86WaitAsyncGroups count control . (sm86EncodeWaitAsyncGroups guard count control))
2072 (branch SM86BarrierSynchronize control . (sm86EncodeBarrierSynchronize guard control))
2073 (branch SM86BarrierSynchronizeCount barrier threads control . (sm86EncodeBarrierSynchronizeCount guard barrier threads control))
2074 (branch
2075 SM86StoreGlobal
2076 address
2077 value
2078 offset
2079 control
2080 .
2081 (sm86EncodeStoreGlobal guard address value offset control))
2082 (branch
2083 SM86StoreGlobalWide
2084 address
2085 value
2086 offset
2087 control
2088 .
2089 (sm86EncodeStoreGlobalWide guard address value offset control))
2090 (branch
2091 SM86StoreGlobal64
2092 address
2093 value
2094 offset
2095 control
2096 .
2097 (sm86EncodeStoreGlobal64 guard address value offset control))
2098 (branch
2099 SM86ReduceGlobalAddFloat32
2100 address
2101 value
2102 offset
2103 control
2104 .
2105 (sm86EncodeReduceGlobalAddFloat32 guard address value offset control))
2106 (branch
2107 SM86PredicateGreaterThanImmediate
2108 predicate
2109 source
2110 immediate
2111 control
2112 .
2113 (sm86EncodePredicateGreater guard predicate source immediate control))
2114 (branch
2115 SM86Branch
2116 offset
2117 descriptor
2118 control
2119 .
2120 (sm86EncodeBranch guard offset descriptor control))
2121 (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.