DearDiary 1.0 Help

IsProcessorFeaturePresent

Just because I always have trouble finding it.

Enum

Value

Meaning

PF_ARM_64BIT_LOADSTORE_ATOMIC

25

The 64-bit load/store atomic instructions are available.

PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE

24

The divide instructions are available.

PF_ARM_EXTERNAL_CACHE_AVAILABLE

26

The external cache is available.

PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE

27

The floating-point multiply-accumulate instruction is available.

PF_ARM_VFP_32_REGISTERS_AVAILABLE

18

The VFP/Neon: 32 x 64bit register bank is present. This flag has the same meaning as PF_ARM_VFP_EXTENDED_REGISTERS.

PF_3DNOW_INSTRUCTIONS_AVAILABLE

7

The 3D-Now instruction set is available.

PF_CHANNELS_ENABLED

16

The processor channels are enabled.

PF_COMPARE_EXCHANGE_DOUBLE

2

The atomic compare and exchange operation (cmpxchg) is available.

PF_COMPARE_EXCHANGE128

14

The atomic compare and exchange 128-bit operation (cmpxchg16b) is available. Windows Server 2003 and Windows XP/2000: This feature is not supported.

PF_COMPARE64_EXCHANGE128

15

The atomic compare 64 and exchange 128-bit operation (cmp8xchg16) is available. Windows Server 2003 and Windows XP/2000: This feature is not supported.

PF_FASTFAIL_AVAILABLE

23

_fastfail() is available.

PF_FLOATING_POINT_EMULATED

1

Floating-point operations are emulated using a software emulator. This function returns a nonzero value if floating-point operations are emulated; otherwise, it returns zero.

PF_FLOATING_POINT_PRECISION_ERRATA

0

On a Pentium, a floating-point precision error can occur in rare circumstances.

PF_MMX_INSTRUCTIONS_AVAILABLE

3

The MMX instruction set is available.

PF_NX_ENABLED

12

Data execution prevention is enabled.Windows XP/2000: This feature is not supported until Windows XP with SP2 and Windows Server 2003 with SP1.

PF_PAE_ENABLED

9

The processor is PAE-enabled. For more information, see Physical Address Extension.All x64 processors always return a nonzero value for this feature.

PF_RDTSC_INSTRUCTION_AVAILABLE

8

The RDTSC instruction is available.

PF_RDWRFSGSBASE_AVAILABLE

22

RDFSBASE, RDGSBASE, WRFSBASE, and WRGSBASE instructions are available.

PF_SECOND_LEVEL_ADDRESS_TRANSLATION

20

Second Level Address Translation is supported by the hardware.

PF_SSE3_INSTRUCTIONS_AVAILABLE

13

The SSE3 instruction set is available. Windows Server 2003 and Windows XP/2000: This feature is not supported.

PF_SSSE3_INSTRUCTIONS_AVAILABLE

36

The SSSE3 instruction set is available.

PF_SSE4_1_INSTRUCTIONS_AVAILABLE

37

The SSE4_1 instruction set is available.

PF_SSE4_2_INSTRUCTIONS_AVAILABLE

38

The SSE4_2 instruction set is available.

PF_AVX_INSTRUCTIONS_AVAILABLE

39

The AVX instruction set is available.

PF_AVX2_INSTRUCTIONS_AVAILABLE

40

The AVX2 instruction set is available.

PF_AVX512F_INSTRUCTIONS_AVAILABLE

41

The AVX512F instruction set is available.

PF_VIRT_FIRMWARE_ENABLED

21

Virtualization is enabled in the firmware and made available by the operating system.

PF_XMMI_INSTRUCTIONS_AVAILABLE

6

The SSE instruction set is available.

PF_XMMI64_INSTRUCTIONS_AVAILABLE

10

The SSE2 instruction set is available.Windows 2000: This feature is not supported.

PF_XSAVE_ENABLED

17

The processor implements the XSAVE and XRSTOR instructions.Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP/2000: This feature is not supported until Windows 7 and Windows Server 2008 R2.

PF_ARM_V8_INSTRUCTIONS_AVAILABLE

29

This Arm processor implements the Arm v8 instructions set.

PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE

30

This Arm processor implements the Arm v8 extra cryptographic instructions (for example, AES, SHA1 and SHA2).

PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE

31

This Arm processor implements the Arm v8 extra CRC32 instructions.

PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE

34

This Arm processor implements the Arm v8.1 atomic instructions (for example, CAS, SWP).

PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE

43

This Arm processor implements the Arm v8.2 DP instructions (for example, SDOT, UDOT). This feature is optional in Arm v8.2 implementations and mandatory in Arm v8.4 implementations.

PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE

44

This Arm processor implements the Arm v8.3 JSCVT instructions (for example, FJCVTZS).

PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE

45

This Arm processor implements the Arm v8.3 LRCPC instructions (for example, LDAPR). Note that certain Arm v8.2 CPUs may optionally support the LRCPC instructions.

Last modified: 23 January 2024