pub struct __tile1024i {
pub rows: u16,
pub colsb: u16,
tile: Simd<u8, 1024>,
}x86_amx_intrinsics #126622)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: u16x86_amx_intrinsics #126622)colsb: u16x86_amx_intrinsics #126622)tile: Simd<u8, 1024>x86_amx_intrinsics #126622)Trait Implementations§
Source§impl Clone for __tile1024i
impl Clone for __tile1024i
Source§fn clone(&self) -> __tile1024i
fn clone(&self) -> __tile1024i
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)where
Self:,
fn clone_from(&mut self, source: &Self)where
Self:,
source. Read moreimpl Copy for __tile1024i
Source§impl Debug for __tile1024i
impl Debug for __tile1024i
impl TrivialClone for __tile1024i
Auto Trait Implementations§
impl Freeze for __tile1024i
impl RefUnwindSafe for __tile1024i
impl Send for __tile1024i
impl Sync for __tile1024i
impl Unpin for __tile1024i
impl UnsafeUnpin for __tile1024i
impl UnwindSafe for __tile1024i
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,
impl<T> NonDrop for Twhere
T: Copy,
impl<T> Printable for T
Source§impl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)]const SIZE: usize = _
#[doc(hidden)]const SIZE: usize = _
sized_type_properties)Source§#[doc(hidden)]const ALIGN: usize = _
#[doc(hidden)]const ALIGN: usize = _
sized_type_properties)Source§#[doc(hidden)]const ALIGNMENT: Alignment = _
#[doc(hidden)]const ALIGNMENT: Alignment = _
ptr_alignment_type #102070)Source§#[doc(hidden)]const IS_ZST: bool = _
#[doc(hidden)]const IS_ZST: bool = _
sized_type_properties)Source§#[doc(hidden)]const LAYOUT: Layout = _
#[doc(hidden)]const LAYOUT: Layout = _
sized_type_properties)Source§#[doc(hidden)]const MAX_SLICE_LEN: usize = _
#[doc(hidden)]const MAX_SLICE_LEN: usize = _
sized_type_properties)[Self]. Read more