[][src]Enum x86_64_xsave::state_components::SizingQueryableUserStateComponent

#[repr(u8)]
pub enum SizingQueryableUserStateComponent { AVX, BNDREGS_MPX, BNDCSR_MPX, opmask_AVX_512, ZMM_Hi256_AVX_512, Hi16_ZMM_AVX_512, PKRU, }

An user state component whose size can be queried.

Support can be checked in the XCR0 register.

To access the XCR0 register use the struct StateComponentBitmap.

Variants

AVX

The state component used for the additional register state used by the Intel® Advanced Vector Extensions (AVX state).

BNDREGS_MPX

The state component used for the additional register state used by Intel® Memory Protection Extensions (MPX state) for the four 128-bit bounds registers BND0-BND3 (BNDREGS state).

BNDCSR_MPX

The state component used for the additional register state used by Intel® Memory Protection Extensions (MPX state) for the 64-bit user-mode MPX configuration register BNDCFGU and the 64-bit MPX status register BNDSTATUS (BNDSCR` state).

opmask_AVX_512

The state component used for the the additional register state used by Intel® Advanced Vector Extensions 512 (AVX-512 state) for the eight 64-bit opmask registers k0k7 (opmask state).

ZMM_Hi256_AVX_512

The state component used for the the additional register state used by Intel® Advanced Vector Extensions 512 (AVX-512 state) the upper 256 bits of the registers ZMM0ZMM15 (ZMM_Hi256 state).

Hi16_ZMM_AVX_512

The state component used for the the additional register state used by Intel® Advanced Vector Extensions 512 (AVX-512 state) for the sixteen 512-bit registers ZMM16ZMM31 (Hi16_ZMM state).

PKRU

The state component used for the protection-key feature’s register PKRU (PKRU state).

See Section 13.5.7 of the Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 1 (Basic Architecture).

Methods

impl SizingQueryableUserStateComponent[src]

pub const fn to_user_state_component(self) -> UserStateComponent[src]

To an user state component.

pub const fn to_state_component(self) -> StateComponent[src]

To a state component.

pub fn sizing(self) -> Option<StateComponentSizing>[src]

Query size using CPUID of this user state component.

Returns None if not supported.

Trait Implementations

impl Clone for SizingQueryableUserStateComponent[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl PartialEq<SizingQueryableUserStateComponent> for SizingQueryableUserStateComponent[src]

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0
[src]

This method tests for !=.

impl PartialOrd<SizingQueryableUserStateComponent> for SizingQueryableUserStateComponent[src]

#[must_use]
fn lt(&self, other: &Rhs) -> bool
1.0.0
[src]

This method tests less than (for self and other) and is used by the < operator. Read more

#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0
[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0
[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

#[must_use]
fn ge(&self, other: &Rhs) -> bool
1.0.0
[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Eq for SizingQueryableUserStateComponent[src]

impl Ord for SizingQueryableUserStateComponent[src]

fn max(self, other: Self) -> Self
1.21.0
[src]

Compares and returns the maximum of two values. Read more

fn min(self, other: Self) -> Self
1.21.0
[src]

Compares and returns the minimum of two values. Read more

impl Copy for SizingQueryableUserStateComponent[src]

impl Debug for SizingQueryableUserStateComponent[src]

impl Hash for SizingQueryableUserStateComponent[src]

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0
[src]

Feeds a slice of this type into the given [Hasher]. Read more

Auto Trait Implementations

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.