From df4660d314ea90ac28feaeeb194c8655d9f5ae02 Mon Sep 17 00:00:00 2001 From: uros Date: Wed, 20 Sep 2017 13:47:30 +0000 Subject: gcc/ * config.gcc: Support "knm". * config/i386/driver-i386.c (host_detect_local_cpu): Detect "knm". * config/i386/i386-c.c (ix86_target_macros_internal): Handle PROCESSOR_KNM. * config/i386/i386.c (m_KNM): Define. (processor_target_table): Add "knm". (PTA_KNM): Define. (ix86_option_override_internal): Add "knm". (ix86_issue_rate): Add PROCESSOR_KNM. (ix86_adjust_cost): Ditto. (ia32_multipass_dfa_lookahead): Ditto. (get_builtin_code_for_version): Handle PROCESSOR_KNM. (fold_builtin_cpu): Add M_INTEL_KNM. * config/i386/i386.h (processor_costs): Define TARGET_KNM. (processor_type): Add PROCESSOR_KNM. * config/i386/x86-tune.def: Add m_KNM. * doc/invoke.texi: Add knm as x86 -march=/-mtune= CPU type. libgcc/ * config/i386/cpuinfo.h (processor_types): Add INTEL_KNM. * config/i386/cpuinfo.c (get_intel_cpu): Detect Knights Mill. gcc/testsuite/ * gcc.target/i386/builtin_target.c: Test knm. * gcc.target/i386/funcspec-56.inc: Test arch=knm. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253013 138bc75d-0d04-0410-961f-82ee72b054a4 --- libgcc/ChangeLog | 45 ++++++++++++++++++++++++-------------------- libgcc/config/i386/cpuinfo.c | 4 ++++ libgcc/config/i386/cpuinfo.h | 1 + 3 files changed, 30 insertions(+), 20 deletions(-) (limited to 'libgcc') diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index b548922904c..1a627c0b86d 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,30 +1,35 @@ +2017-09-20 Sebastian Peryt + + * config/i386/cpuinfo.h (processor_types): Add INTEL_KNM. + * config/i386/cpuinfo.c (get_intel_cpu): Detect Knights Mill. + 2017-09-17 Daniel Santos - config/i386/i386-asm.h (PASTE2): New macro. + * config/i386/i386-asm.h (PASTE2): New macro. (ASMNAME): Modify to use PASTE2. (MS2SYSV_STUB_PREFIX): New macro for isa prefix. (MS2SYSV_STUB_BEGIN, MS2SYSV_STUB_END): New macros for stub headers. - config/i386/resms64.S: Rename to a header file, use MS2SYSV_STUB_BEGIN + * config/i386/resms64.S: Rename to a header file, use MS2SYSV_STUB_BEGIN instead of HIDDEN_FUNC and MS2SYSV_STUB_END instead of FUNC_END. - config/i386/resms64f.S: Likewise. - config/i386/resms64fx.S: Likewise. - config/i386/resms64x.S: Likewise. - config/i386/savms64.S: Likewise. - config/i386/savms64f.S: Likewise. - config/i386/avx_resms64.S: New file that only defines a macro and + * config/i386/resms64f.S: Likewise. + * config/i386/resms64fx.S: Likewise. + * config/i386/resms64x.S: Likewise. + * config/i386/savms64.S: Likewise. + * config/i386/savms64f.S: Likewise. + * config/i386/avx_resms64.S: New file that only defines a macro and includes it's corresponding header file. - config/i386/avx_resms64f.S: Likewise. - config/i386/avx_resms64fx.S: Likewise. - config/i386/avx_resms64x.S: Likewise. - config/i386/avx_savms64.S: Likewise. - config/i386/avx_savms64f.S: Likewise. - config/i386/sse_resms64.S: Likewise. - config/i386/sse_resms64f.S: Likewise. - config/i386/sse_resms64fx.S: Likewise. - config/i386/sse_resms64x.S: Likewise. - config/i386/sse_savms64.S: Likewise. - config/i386/sse_savms64f.S: Likewise. - config/i386/t-msabi: Modified to add avx and sse versions of stubs. + * config/i386/avx_resms64f.S: Likewise. + * config/i386/avx_resms64fx.S: Likewise. + * config/i386/avx_resms64x.S: Likewise. + * config/i386/avx_savms64.S: Likewise. + * config/i386/avx_savms64f.S: Likewise. + * config/i386/sse_resms64.S: Likewise. + * config/i386/sse_resms64f.S: Likewise. + * config/i386/sse_resms64fx.S: Likewise. + * config/i386/sse_resms64x.S: Likewise. + * config/i386/sse_savms64.S: Likewise. + * config/i386/sse_savms64f.S: Likewise. + * config/i386/t-msabi: Modified to add avx and sse versions of stubs. 2017-09-01 Olivier Hainque diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c index b008fb6e396..c2ab8bed88e 100644 --- a/libgcc/config/i386/cpuinfo.c +++ b/libgcc/config/i386/cpuinfo.c @@ -137,6 +137,10 @@ get_intel_cpu (unsigned int family, unsigned int model, unsigned int brand_id) /* Knights Landing. */ __cpu_model.__cpu_type = INTEL_KNL; break; + case 0x85: + /* Knights Mill. */ + __cpu_model.__cpu_type = INTEL_KNM; + break; case 0x1a: case 0x1e: case 0x1f: diff --git a/libgcc/config/i386/cpuinfo.h b/libgcc/config/i386/cpuinfo.h index 872b45e3817..397840160c0 100644 --- a/libgcc/config/i386/cpuinfo.h +++ b/libgcc/config/i386/cpuinfo.h @@ -47,6 +47,7 @@ enum processor_types AMD_BTVER1, AMD_BTVER2, AMDFAM17H, + INTEL_KNM, CPU_TYPE_MAX }; -- cgit v1.2.1