[Bug target/59601] [4.9 Regression] __attribute__ ((target("arch=corei7"))) won't match Westmere processor
hjl at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Dec 26 14:47:00 GMT 2013
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
More information about the Gcc-bugs
mailing list