#[repr(C, align(16))]pub struct VectorContext {
pub v: [[u64; 4]; 32],
pub vtype: u64,
pub vl: u64,
pub vstart: u64,
pub vxrm: u64,
pub vxsat: u64,
pub vcsr: u64,
pub vlenb: u64,
}Expand description
Vector context for RISC-V 64-bit (V extension)
Contains all vector registers and vector CSRs. The actual number of bytes used per register depends on the implementation’s VLEN. This structure reserves space for VLEN up to 256 bits.
Fields§
§v: [[u64; 4]; 32]Vector registers v0-v31 (up to 256 bits = 32 bytes each) Stored as arrays of u64 for alignment
vtype: u64Vector type register (vtype)
vl: u64Vector length register (vl)
vstart: u64Vector start index register (vstart)
vxrm: u64Vector fixed-point rounding mode register (vxrm)
vxsat: u64Vector fixed-point saturation flag (vxsat)
vcsr: u64Vector control and status register (vcsr) - combines vxrm and vxsat
vlenb: u64Cached vlenb value (VLEN/8 in bytes)
Implementations§
Trait Implementations§
Source§impl Clone for VectorContext
impl Clone for VectorContext
Source§fn clone(&self) -> VectorContext
fn clone(&self) -> VectorContext
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for VectorContext
impl Debug for VectorContext
Auto Trait Implementations§
impl Freeze for VectorContext
impl RefUnwindSafe for VectorContext
impl Send for VectorContext
impl Sync for VectorContext
impl Unpin for VectorContext
impl UnwindSafe for VectorContext
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)