Map "arch=corei7"/"arch=nehalem" to M_INTEL_COREI7
commitcf6982ab067c2e569b75a17122bd1caaded2bc96
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Dec 2013 14:47:15 +0000 (26 14:47 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Dec 2013 14:47:15 +0000 (26 14:47 +0000)
treedab18eee2c107ed78adf00ed489bb834f55a355f
parenta0f1278f2dc2c3d0ee856f80d8735f7b153dc0f2
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206212 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/mv14.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/mv15.C [new file with mode: 0644]