Skip to main content

__tile1024i

Struct __tile1024i 

Source
pub struct __tile1024i {
    pub rows: u16,
    pub colsb: u16,
    /* private fields */
}
🔬This is a nightly-only experimental API. (x86_amx_intrinsics #126622)
Available on x86-64 only.
Expand description

A tile register, used by AMX instructions.

This type is the same as the __tile1024i type defined by Intel, representing a 1024-byte tile register. Usage of this type typically corresponds to the amx-tile and up target features for x86_64.

This struct contains the tile configuration information as well as the tile itself. The tile configuration information consists of the row count and the size of each column in bytes, with row * colsb never exceeding 1024.

The typical usage pattern looks like

ⓘ
let tile = MaybeUninit::uninit();
let tile_ptr = tile.as_mut_ptr();

(*tile_ptr).rows = rows;
(*tile_ptr).colsb = colsb;
__tile_zero(tile_ptr);

let tile = tile.assume_init();

Most intrinsics using __tile1024i (except for the store intrinsics) have a destination parameter of type *mut __tile1024i, and it expects the rows and colsb fields of the destination to be initialized. After the function call, the whole struct can be assumed to be initialized. Moreover, for dot-product intrinsics, it is UB if the shape of two operands are not compatible as a matrix product or if the shape of the destination doesn’t match the expected shape.

Fields§

§rows: u16
🔬This is a nightly-only experimental API. (x86_amx_intrinsics #126622)
§colsb: u16
🔬This is a nightly-only experimental API. (x86_amx_intrinsics #126622)

Trait Implementations§

Source§

impl Clone for __tile1024i

Source§

fn clone(&self) -> __tile1024i

This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)
where Self:,

This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
Performs copy-assignment from source. Read more
Source§

impl Copy for __tile1024i

Source§

impl Debug for __tile1024i

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit #126799)
This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
Performs the conversion.