http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59601

--- Comment #5 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> ---
Author: hjl
Date: Thu Dec 26 14:47:15 2013
New Revision: 206212

URL: http://gcc.gnu.org/viewcvs?rev=206212&root=gcc&view=rev
Log:
Map "arch=corei7"/"arch=nehalem" to M_INTEL_COREI7

After Intel processor name cleanup,

__attribute__ ((target("arch=corei7"))) is translated to PROCESSOR_NEHALEM
and mapped to M_INTEL_COREI7_NEHALEM.

__attribute__ ((target("arch=corei7")))

used to cover M_INTEL_COREI7_XXXX. Now it only covers M_INTEL_COREI7_NEHALEM.
We have PROCESSOR_SANDYBRIDGE and PROCESSOR_HASWELL.  But there is nothing
to mark Westmere and Ivy Bridge.  Since function versioning doesn't support
extra ISAs in Westmere and Ivy Bridge, we don't lose anything. The solution
is to map

__attribute__ ((target("arch=corei7")))

and

__attribute__ ((target("arch=nehalem")))

to M_INTEL_COREI7.

gcc/

    PR target/59601
    * config/i386/i386.c (get_builtin_code_for_version): Map
    PROCESSOR_NEHALEM to "corei7".

gcc/testsuite/

    PR target/59601
    * g++.dg/ext/mv14.C: New tests.
    * g++.dg/ext/mv15.C: Likewise.

Added:
    trunk/gcc/testsuite/g++.dg/ext/mv14.C
    trunk/gcc/testsuite/g++.dg/ext/mv15.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.c
    trunk/gcc/testsuite/ChangeLog

Reply via email to