From 8ad9d49ec9946a8ab98404ed6c07ae48e9d345ab Mon Sep 17 00:00:00 2001 From: Sebastian Pop Date: Mon, 7 Dec 2009 22:23:16 +0000 Subject: [PATCH] Check cpuid LWP bit. * config/i386/driver-i386.c (host_detect_local_cpu): Add -mlwp to the options when bit_LWP is set. From-SVN: r155061 --- gcc/ChangeLog | 5 +++++ gcc/config/i386/driver-i386.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9f2510489611..43d9a8fb6612 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-12-07 Sebastian Pop + + * config/i386/driver-i386.c (host_detect_local_cpu): Add -mlwp to the + options when bit_LWP is set. + 2009-12-07 Sebastian Pop * config/i386/cpuid.h (bit_ABM): New. diff --git a/gcc/config/i386/driver-i386.c b/gcc/config/i386/driver-i386.c index d3088f37bb65..05ba01e2f818 100644 --- a/gcc/config/i386/driver-i386.c +++ b/gcc/config/i386/driver-i386.c @@ -383,7 +383,7 @@ const char *host_detect_local_cpu (int argc, const char **argv) unsigned int has_longmode = 0, has_3dnowp = 0, has_3dnow = 0; unsigned int has_movbe = 0, has_sse4_1 = 0, has_sse4_2 = 0; unsigned int has_popcnt = 0, has_aes = 0, has_avx = 0; - unsigned int has_pclmul = 0, has_abm = 0; + unsigned int has_pclmul = 0, has_abm = 0, has_lwp = 0; bool arch; @@ -445,6 +445,7 @@ const char *host_detect_local_cpu (int argc, const char **argv) has_lahf_lm = ecx & bit_LAHF_LM; has_sse4a = ecx & bit_SSE4a; has_abm = ecx & bit_ABM; + has_lwp = ecx & bit_LWP; has_longmode = edx & bit_LM; has_3dnowp = edx & bit_3DNOWP; @@ -625,6 +626,8 @@ const char *host_detect_local_cpu (int argc, const char **argv) options = concat (options, " -mpopcnt", NULL); if (has_abm) options = concat (options, " -mabm", NULL); + if (has_lwp) + options = concat (options, " -mlwp", NULL); if (has_avx) options = concat (options, " -mavx", NULL); -- 2.47.2