//! AMX matrix coprocessor driver.
//!
//! The Apple AMX unit is a per-thread, undocumented coprocessor present
//! on all Apple Silicon chips. It exposes 8 X rows, 8 Y rows, and 8 Z
//! rows of 64 bytes each, plus a set of fused multiply-accumulate
//! instructions that operate on these registers.
//!
//! [`Matrix`] is the safe entry point: constructing one calls AMX_SET,
//! and dropping it calls AMX_CLR.
pub use ;
use PhantomData;
/// A live AMX coprocessor context.
///
/// Creating an `Matrix` activates the AMX unit on the current thread
/// (AMX_SET). Dropping it deactivates the unit (AMX_CLR). The type is
/// `!Send` and `!Sync` because AMX state is per-thread.
///
/// All AMX operations are methods on this struct, ensuring at compile
/// time that the coprocessor is active.
Homonyms
cyb/evy/forks/naga/src/back/hlsl/mod.rs
struct Baz { m: mat3x2, } struct Baz { float2 m_0; float2 m_1; float2 m_2; }; float3x2 GetMatmOnBaz(Baz obj) { return float3x2(obj.m_0, obj.m_1, obj.m_2); }