diff --git a/libcpuid/cpuid_main.c b/libcpuid/cpuid_main.c index c638f09..a32805a 100644 --- a/libcpuid/cpuid_main.c +++ b/libcpuid/cpuid_main.c @@ -452,6 +452,7 @@ const char* cpu_feature_str(cpu_feature_t feature) { CPU_FEATURE_3DNOW, "3dnow" }, { CPU_FEATURE_3DNOWEXT, "3dnowext" }, { CPU_FEATURE_NX, "nx" }, + { CPU_FEATURE_FXSR_OPT, "fxsr_opt" }, { CPU_FEATURE_RDTSCP, "rdtscp" }, { CPU_FEATURE_LM, "lm" }, { CPU_FEATURE_LAHF_LM, "lahf_lm" }, diff --git a/libcpuid/libcpuid.h b/libcpuid/libcpuid.h index d31b3ac..e6dfa7d 100644 --- a/libcpuid/libcpuid.h +++ b/libcpuid/libcpuid.h @@ -281,6 +281,7 @@ enum _cpu_feature_t { CPU_FEATURE_3DNOW, /*!< AMD 3DNow! instructions supported */ CPU_FEATURE_3DNOWEXT, /*!< AMD 3DNow! extended instructions supported */ CPU_FEATURE_NX, /*!< No-execute bit supported */ + CPU_FEATURE_FXSR_OPT, /*!< FFXSR: FXSAVE and FXRSTOR optimizations */ CPU_FEATURE_RDTSCP, /*!< RDTSCP instruction supported (AMD-only) */ CPU_FEATURE_LM, /*!< Long mode (x86_64/EM64T) supported */ CPU_FEATURE_LAHF_LM, /*!< LAHF/SAHF supported in 64-bit mode */ diff --git a/libcpuid/recog_amd.c b/libcpuid/recog_amd.c index 1609be9..d1b9fb5 100644 --- a/libcpuid/recog_amd.c +++ b/libcpuid/recog_amd.c @@ -159,6 +159,7 @@ static void load_amd_features(struct cpu_raw_data_t* raw, struct cpu_id_t* data) const struct feature_map_t matchtable_edx81[] = { { 20, CPU_FEATURE_NX }, { 22, CPU_FEATURE_MMXEXT }, + { 25, CPU_FEATURE_FXSR_OPT }, { 27, CPU_FEATURE_RDTSCP }, { 30, CPU_FEATURE_3DNOWEXT }, { 31, CPU_FEATURE_3DNOW },