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