Enum miri::shims::x86::FloatBinOp
source · enum FloatBinOp {
Cmp {
gt: bool,
lt: bool,
eq: bool,
unord: bool,
},
Min,
Max,
}
Variants§
Cmp
Comparison
The semantics of this operator is a case distinction: we compare the two operands,
and then we return one of the four booleans gt
, lt
, eq
, unord
depending on
which class they fall into.
AVX supports all 16 combinations, SSE only a subset
https://www.felixcloutier.com/x86/cmpss https://www.felixcloutier.com/x86/cmpps https://www.felixcloutier.com/x86/cmpsd https://www.felixcloutier.com/x86/cmppd
Fields
Min
Minimum value (with SSE semantics)
https://www.felixcloutier.com/x86/minss https://www.felixcloutier.com/x86/minps https://www.felixcloutier.com/x86/minsd https://www.felixcloutier.com/x86/minpd
Max
Implementations§
source§impl FloatBinOp
impl FloatBinOp
sourcefn cmp_from_imm<'tcx>(
this: &MiriInterpCx<'tcx>,
imm: i8,
intrinsic: Symbol,
) -> InterpResult<'tcx, Self>
fn cmp_from_imm<'tcx>( this: &MiriInterpCx<'tcx>, imm: i8, intrinsic: Symbol, ) -> InterpResult<'tcx, Self>
Convert from the imm
argument used to specify the comparison
operation in intrinsics such as llvm.x86.sse.cmp.ss
.
Trait Implementations§
source§impl Clone for FloatBinOp
impl Clone for FloatBinOp
source§fn clone(&self) -> FloatBinOp
fn clone(&self) -> FloatBinOp
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreimpl Copy for FloatBinOp
Auto Trait Implementations§
impl Freeze for FloatBinOp
impl RefUnwindSafe for FloatBinOp
impl Send for FloatBinOp
impl Sync for FloatBinOp
impl Unpin for FloatBinOp
impl UnwindSafe for FloatBinOp
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 4 bytes
Size for each variant:
Cmp
: 4 bytesMin
: 0 bytesMax
: 0 bytes