pub struct ExtendedFeatures { /* private fields */ }
Expand description

Structured Extended Feature Identifiers (LEAF=0x07).

Platforms

🟡 AMD ✅ Intel

Implementations

FSGSBASE. Supports RDFSBASE/RDGSBASE/WRFSBASE/WRGSBASE if 1.

Platforms

✅ AMD ✅ Intel

IA32_TSC_ADJUST MSR is supported if 1.

Platforms

❌ AMD (reserved) ✅ Intel

BMI1

Platforms

✅ AMD ✅ Intel

HLE

Platforms

❌ AMD (reserved) ✅ Intel

AVX2

Platforms

✅ AMD ✅ Intel

FDP_EXCPTN_ONLY. x87 FPU Data Pointer updated only on x87 exceptions if 1.

Platforms

❌ AMD (reserved) ✅ Intel

SMEP. Supports Supervisor-Mode Execution Prevention if 1.

Platforms

✅ AMD ✅ Intel

BMI2

Platforms

✅ AMD ✅ Intel

Supports Enhanced REP MOVSB/STOSB if 1.

Platforms

❌ AMD (reserved) ✅ Intel

INVPCID. If 1, supports INVPCID instruction for system software that manages process-context identifiers.

Platforms

❌ AMD (reserved) ✅ Intel

RTM

Platforms

❌ AMD (reserved) ✅ Intel

Supports Intel Resource Director Technology (RDT) Monitoring capability.

Platforms

❌ AMD (reserved) ✅ Intel

Deprecates FPU CS and FPU DS values if 1.

Platforms

❌ AMD (reserved) ✅ Intel

MPX. Supports Intel Memory Protection Extensions if 1.

Platforms

❌ AMD (reserved) ✅ Intel

Supports Intel Resource Director Technology (RDT) Allocation capability.

Platforms

❌ AMD (reserved) ✅ Intel

Supports RDSEED.

Platforms

✅ AMD ✅ Intel

Supports ADX.

Platforms

✅ AMD ✅ Intel

SMAP. Supports Supervisor-Mode Access Prevention (and the CLAC/STAC instructions) if 1.

Platforms

✅ AMD ✅ Intel

Supports CLFLUSHOPT.

Platforms

✅ AMD ✅ Intel

Supports Intel Processor Trace.

Platforms

❌ AMD (reserved) ✅ Intel

Supports SHA Instructions.

Platforms

❌ AMD (reserved) ✅ Intel

Supports Intel® Software Guard Extensions (Intel® SGX Extensions).

Platforms

❌ AMD (reserved) ✅ Intel

Supports AVX512F.

Platforms

❌ AMD (reserved) ✅ Intel

Supports AVX512DQ.

Platforms

❌ AMD (reserved) ✅ Intel

AVX512_IFMA

Platforms

❌ AMD (reserved) ✅ Intel

AVX512PF

Platforms

❌ AMD (reserved) ✅ Intel

AVX512ER

Platforms

❌ AMD (reserved) ✅ Intel

AVX512CD

Platforms

❌ AMD (reserved) ✅ Intel

AVX512BW

Platforms

❌ AMD (reserved) ✅ Intel

AVX512VL

Platforms

❌ AMD (reserved) ✅ Intel

CLWB

Platforms

✅ AMD ✅ Intel

Has PREFETCHWT1 (Intel® Xeon Phi™ only).

Platforms

❌ AMD (reserved) ✅ Intel

Supports user-mode instruction prevention if 1.

Platforms

❌ AMD (reserved) ✅ Intel

Supports protection keys for user-mode pages.

Platforms

❌ AMD (reserved) ✅ Intel

OS has set CR4.PKE to enable protection keys (and the RDPKRU/WRPKRU instructions.

Platforms

❌ AMD (reserved) ✅ Intel

WAITPKG

❓ AMD ✅ Intel

AVX512VBMI2

❓ AMD ✅ Intel

Supports CET shadow stack features. Processors that set this bit define bits 0..2 of the IA32_U_CET and IA32_S_CET MSRs. Enumerates support for the following MSRs: IA32_INTERRUPT_SPP_TABLE_ADDR, IA32_PL3_SSP, IA32_PL2_SSP, IA32_PL1_SSP, and IA32_PL0_SSP.

❓ AMD ✅ Intel

GFNI

❓ AMD ✅ Intel

VAES

❓ AMD ✅ Intel

VPCLMULQDQ

❓ AMD ✅ Intel

AVX512VNNI

Platforms

❌ AMD (reserved) ✅ Intel

AVX512BITALG

❓ AMD ✅ Intel

Indicates the following MSRs are supported: IA32_TME_CAPABILITY, IA32_TME_ACTIVATE, IA32_TME_EXCLUDE_MASK, and IA32_TME_EXCLUDE_BASE.

❓ AMD ✅ Intel

AVX512VPOPCNTDQ

❓ AMD ✅ Intel

Supports 57-bit linear addresses and five-level paging if 1.

Platforms

❓ AMD ✅ Intel

RDPID and IA32_TSC_AUX are available.

Bug

The Intel manual lists RDPID as bit 22 in the ECX register, but AMD lists it as bit 22 in the ebx register. We assumed that the AMD manual was wrong and query ecx, let’s see what happens.

Platforms

✅ AMD ✅ Intel

Supports SGX Launch Configuration.

Platforms

❌ AMD (reserved) ✅ Intel

The value of MAWAU used by the BNDLDX and BNDSTX instructions in 64-bit mode.

Platforms

❌ AMD (reserved) ✅ Intel

Trait Implementations

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.