pub enum Eightbyte {
Int,
Sse,
None,
}Expand description
The class of one eightbyte of a struct or union read out of an
argument list, under the x86-64 System V classification (AMD64 psABI
3.2.3).
crate::sema computes it and code generation turns each entry into one
next_arg call. There is deliberately no SseUp: the reference
implementation this mirrors — rustc_target’s
compiler/rustc_target/src/callconv/x86_64.rs — needs that class for SIMD
vectors and for the floating types wider than eight bytes, and a C program
this crate translates has neither, long double being mapped to double.
Variants§
Int
An integer register: read as a u64.
Sse
An SSE register: read as an f64, whose bits are the eightbyte.
None
Nothing of the object reaches this eightbyte — it is padding, which the ABI passes in no register at all, so nothing is read for it.