1873def sm86EncodeInstruction =
1874 (lambda unrestricted instruction : (family SM86Instruction) .
1875 (eliminate
1876 SM86Instruction
1877 (lambda unrestricted current : (family SM86Instruction) .
1878 (family SM86InstructionEncodingResult))
1879 instruction
1880 (branch
1881 SM86InstructionValue
1882 guard
1883 body
1884 .
1885 (eliminate
1886 SM86InstructionBody
1887 (lambda unrestricted current : (family SM86InstructionBody) .
1888 (family SM86InstructionEncodingResult))
1889 body
1890 (branch
1891 SM86MoveConstant
1892 destination
1893 bank
1894 offset
1895 control
1896 .
1897 (sm86EncodeMoveConstant guard destination bank offset control))
1898 (branch
1899 SM86SpecialToRegister
1900 destination
1901 special
1902 control
1903 .
1904 (sm86EncodeSpecialToRegister guard destination special control))
1905 (branch
1906 SM86MoveImmediate
1907 destination
1908 immediate
1909 control
1910 .
1911 (sm86EncodeMoveImmediate guard destination immediate control))
1912 (branch
1913 SM86IntegerMultiplyAddConstant
1914 destination
1915 left
1916 bank
1917 offset
1918 addend
1919 control
1920 .
1921 (sm86EncodeIntegerMultiplyAddConstant guard destination left bank offset addend control))
1922 (branch
1923 SM86IntegerMultiplyAddImmediate
1924 destination
1925 left
1926 immediate
1927 addend
1928 control
1929 .
1930 (sm86EncodeIntegerMultiplyAddImmediate guard destination left immediate addend control))
1931 (branch
1932 SM86IntegerMultiplyAddWideConstant
1933 destination
1934 left
1935 right
1936 bank
1937 offset
1938 control
1939 .
1940 (sm86EncodeIntegerMultiplyAddWideConstant
1941 guard
1942 destination
1943 left
1944 right
1945 bank
1946 offset
1947 control))
1948 (branch
1949 SM86IntegerAddThreeImmediate
1950 destination
1951 left
1952 immediate
1953 control
1954 .
1955 (sm86EncodeIntegerAdd3Immediate guard destination left immediate control))
1956 (branch
1957 SM86IntegerAddThreeRegister
1958 destination
1959 left
1960 right
1961 control
1962 .
1963 (sm86EncodeIntegerAdd3Register guard destination left right control))
1964 (branch
1965 SM86ShiftRightImmediate
1966 destination
1967 source
1968 amount
1969 control
1970 .
1971 (sm86EncodeShiftRightImmediate guard destination source amount control))
1972 (branch
1973 SM86LogicThreeInputTruthTable
1974 destination
1975 left
1976 right
1977 truthTable
1978 control
1979 .
1980 (sm86EncodeLogic3 guard destination left right truthTable control))
1981 (branch
1982 SM86IntegerToFloat
1983 destination
1984 source
1985 control
1986 .
1987 (sm86EncodeIntegerToFloat guard destination source control))
1988 (branch
1989 SM86FloatAdd
1990 destination
1991 left
1992 right
1993 control
1994 .
1995 (sm86EncodeFloatAdd guard destination left right control))
1996 (branch
1997 SM86FloatMultiply
1998 destination
1999 left
2000 right
2001 control
2002 .
2003 (sm86EncodeFloatMultiply guard destination left right control))
2004 (branch SM86Float64Binary operation destination left right control . (sm86EncodeFloat64Binary guard operation destination left right control))
2005 (branch SM86FloatConvert conversion control . (sm86EncodeFloatConvert guard conversion control))
2006 (branch
2007 SM86FloatFusedMultiplyAdd
2008 destination
2009 left
2010 right
2011 addend
2012 control
2013 .
2014 (sm86EncodeFloatFusedMultiplyAdd guard destination left right addend control))
2015 (branch
2016 SM86MultiFunctionUnitApproximation
2017 destination
2018 source
2019 operation
2020 control
2021 .
2022 (sm86EncodeMultiFunction guard destination source operation control))
2023 (branch
2024 SM86FloatMinimumOrMaximum
2025 destination
2026 left
2027 right
2028 extremum
2029 control
2030 .
2031 (sm86EncodeFloatExtremum guard destination left right extremum control))
2032 (branch
2033 SM86FloatNegate
2034 destination
2035 source
2036 control
2037 .
2038 (sm86EncodeFloatNegate guard destination source control))
2039 (branch
2040 SM86FloatPairToPackedHalfPair
2041 destination
2042 sourceHigh
2043 sourceLow
2044 control
2045 .
2046 (sm86EncodeFloat32PairToHalf2 guard destination sourceHigh sourceLow control))
2047 (branch
2048 SM86FloatPairToPackedBFloat16Pair
2049 destination
2050 sourceHigh
2051 sourceLow
2052 control
2053 .
2054 (sm86EncodeFloat32PairToBFloat16Pair guard destination sourceHigh sourceLow control))
2055 (branch
2056 SM86FloatPairToPackedFloat8Pair
2057 destination
2058 sourceHigh
2059 sourceLow
2060 merge
2061 mergeHalf
2062 format
2063 control
2064 .
2065 (sm86EncodeFloat32PairToFloat8Pair guard destination sourceHigh sourceLow merge mergeHalf format control))
2066 (branch
2067 SM86FloatArithmetic
2068 operation
2069 destination
2070 left
2071 right
2072 addend
2073 modifiers
2074 control
2075 .
2076 (sm86EncodeFloatArithmetic guard operation destination left right addend modifiers control))
2077 (branch
2078 SM86HalfToFloat
2079 destination
2080 source
2081 selector
2082 control
2083 .
2084 (sm86EncodeHalfToFloat guard destination source selector control))
2085 (branch
2086 SM86BFloat16ToFloat
2087 destination
2088 source
2089 selector
2090 control
2091 .
2092 (sm86EncodeBFloat16ToFloat guard destination source selector control))
2093 (branch
2094 SM86TensorCoreHalfMatrixMultiplyAccumulate16x8x16Float32
2095 destination
2096 fragmentA
2097 fragmentB
2098 accumulator
2099 control
2100 .
2101 (sm86EncodeHMMA16816F32F16 guard destination fragmentA fragmentB accumulator control))
2102 (branch
2103 SM86TensorCoreBFloat16MatrixMultiplyAccumulate16x8x16Float32
2104 destination
2105 fragmentA
2106 fragmentB
2107 accumulator
2108 control
2109 .
2110 (sm86EncodeHMMA16816F32BF16 guard destination fragmentA fragmentB accumulator control))
2111 (branch
2112 SM86LoadGlobal
2113 destination
2114 address
2115 offset
2116 control
2117 .
2118 (sm86EncodeLoadGlobal guard destination address offset control))
2119 (branch
2120 SM86LoadGlobalWide
2121 destination
2122 address
2123 offset
2124 control
2125 .
2126 (sm86EncodeLoadGlobalWide guard destination address offset control))
2127 (branch
2128 SM86WarpShuffle
2129 destination
2130 source
2131 lane
2132 segment
2133 mode
2134 control
2135 .
2136 (sm86EncodeShuffle guard destination source lane segment mode control))
2137 (branch
2138 SM86LoadShared
2139 destination
2140 address
2141 offset
2142 control
2143 .
2144 (sm86EncodeLoadShared guard destination address offset control))
2145 (branch
2146 SM86LoadSharedMatrix
2147 destination
2148 address
2149 offset
2150 count
2151 transpose
2152 control
2153 .
2154 (sm86EncodeLoadSharedMatrix guard destination address offset count transpose control))
2155 (branch
2156 SM86StoreShared
2157 address
2158 value
2159 offset
2160 control
2161 .
2162 (sm86EncodeStoreShared guard address value offset control))
2163 (branch
2164 SM86LoadGlobalToShared
2165 address
2166 offset
2167 source
2168 sourceOffset
2169 control
2170 .
2171 (sm86EncodeLoadGlobalToShared guard address offset source sourceOffset control))
2172 (branch SM86CommitAsyncGroup control . (sm86EncodeCommitAsyncGroup guard control))
2173 (branch SM86WaitAsyncGroups count control . (sm86EncodeWaitAsyncGroups guard count control))
2174 (branch SM86BarrierSynchronize control . (sm86EncodeBarrierSynchronize guard control))
2175 (branch SM86BarrierSynchronizeCount barrier threads control . (sm86EncodeBarrierSynchronizeCount guard barrier threads control))
2176 (branch
2177 SM86StoreGlobal
2178 address
2179 value
2180 offset
2181 control
2182 .
2183 (sm86EncodeStoreGlobal guard address value offset control))
2184 (branch
2185 SM86StoreGlobalWide
2186 address
2187 value
2188 offset
2189 control
2190 .
2191 (sm86EncodeStoreGlobalWide guard address value offset control))
2192 (branch
2193 SM86StoreGlobal64
2194 address
2195 value
2196 offset
2197 control
2198 .
2199 (sm86EncodeStoreGlobal64 guard address value offset control))
2200 (branch
2201 SM86ReduceGlobalAddFloat32
2202 address
2203 value
2204 offset
2205 control
2206 .
2207 (sm86EncodeReduceGlobalAddFloat32 guard address value offset control))
2208 (branch
2209 SM86PredicateGreaterThanImmediate
2210 predicate
2211 source
2212 immediate
2213 control
2214 .
2215 (sm86EncodePredicateGreater guard predicate source immediate control))
2216 (branch
2217 SM86Branch
2218 offset
2219 descriptor
2220 control
2221 .
2222 (sm86EncodeBranch guard offset descriptor control))
2223 (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.