Binary64 is finite iff its eleven exponent bits are not all ones.
RDI is a value, not an address. Only caller-saved RAX is modified; signed
zeros and subnormals are accepted. Platform.AArch64.FloatRoutine supplies
the admitted twin; an unknown host lowering still refuses.
120def nativeFloat64FiniteAssembly : (family X86NativeAssembly) =
121 (constructor
122 X86NativeAssembly
123 X86NativeAssemblyEmit
124 (constructor
125 X86NativeInstruction
126 X86NativeMoveRegister64
127 (constructor X86NativeRegister64 X86NativeRDI)
128 (constructor X86NativeRegister64 X86NativeRAX))
129 (constructor
130 X86NativeAssembly
131 X86NativeAssemblyEmit
132 (constructor
133 X86NativeInstruction
134 X86NativeShiftRightImmediate64
135 (constructor X86NativeRegister64 X86NativeRAX)
136 (constructor X86NativeImmediate8 X86NativeImmediate8Value (nat-to-byte 52)))
137 (constructor
138 X86NativeAssembly
139 X86NativeAssemblyEmit
140 (constructor
141 X86NativeInstruction
142 X86NativeAndImmediate64
143 (constructor X86NativeRegister64 X86NativeRAX)
144 (x86NativeImmediate32FromNatural 2047))
145 (constructor
146 X86NativeAssembly
147 X86NativeAssemblyEmit
148 (constructor
149 X86NativeInstruction
150 X86NativeCompareImmediate64
151 (constructor X86NativeRegister64 X86NativeRAX)
152 (x86NativeImmediate32FromNatural 2047))
153 (constructor
154 X86NativeAssembly
155 X86NativeAssemblyJumpCondition
156 (constructor X86NativeCondition X86NativeConditionNotZero)
157 b"finite"
158 (constructor
159 X86NativeAssembly
160 X86NativeAssemblyEmit
161 (constructor
162 X86NativeInstruction
163 X86NativeMoveImmediate32
164 (constructor X86NativeRegister64 X86NativeRAX)
165 (x86NativeImmediate32FromNatural 1))
166 (constructor
167 X86NativeAssembly
168 X86NativeAssemblyEmit
169 (constructor X86NativeInstruction X86NativeReturn)
170 (constructor
171 X86NativeAssembly
172 X86NativeAssemblyLabel
173 b"finite"
174 (constructor
175 X86NativeAssembly
176 X86NativeAssemblyEmit
177 (constructor
178 X86NativeInstruction
179 X86NativeClear32
180 (constructor X86NativeRegister64 X86NativeRAX))
181 (constructor
182 X86NativeAssembly
183 X86NativeAssemblyEmit
184 (constructor X86NativeInstruction X86NativeReturn)
185 (constructor X86NativeAssembly X86NativeAssemblyEnd)))))))))))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.