aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2013-12-05 20:47:13 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2013-12-05 12:47:13 -0800
commita8f014d7301865c651a6f2b4f08aef2a2f4d5e70 (patch)
treeec92d05c7d5bdf0e45b29589efd2b59cd548ff5d /gcc/config
parent58532ca6735e73ed6556662c3fe7350109055a26 (diff)
downloadgcc-a8f014d7301865c651a6f2b4f08aef2a2f4d5e70.zip
gcc-a8f014d7301865c651a6f2b4f08aef2a2f4d5e70.tar.gz
gcc-a8f014d7301865c651a6f2b4f08aef2a2f4d5e70.tar.bz2
Add -march=ia to x86 backend
* config.gcc: Support --with-cpu=ia. * config/i386/i386.c (cpu_names): Add "ia". (processor_alias_table): Likewise. (ix86_option_override_internal): Disallow -march=ia. * config/i386/i386.h (target_cpu_default): Add TARGET_CPU_DEFAULT_ia. * doc/invoke.texi: Document -mtune=ia. From-SVN: r205719
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/i386.c7
-rw-r--r--gcc/config/i386/i386.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 0f6612d..382f8fb 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -2434,6 +2434,7 @@ static const char *const cpu_names[TARGET_CPU_DEFAULT_max] =
"core-avx2",
"atom",
"slm",
+ "ia",
"geode",
"k6",
"k6-2",
@@ -3142,6 +3143,9 @@ ix86_option_override_internal (bool main_args_p,
PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3 | PTA_SSSE3
| PTA_SSE4_1 | PTA_SSE4_2 | PTA_CX16 | PTA_POPCNT | PTA_AES
| PTA_PCLMUL | PTA_RDRND | PTA_MOVBE | PTA_FXSR},
+ {"ia", PROCESSOR_SLM, CPU_SLM,
+ PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3 | PTA_SSSE3
+ | PTA_SSE4_1 | PTA_SSE4_2 | PTA_CX16 | PTA_POPCNT | PTA_FXSR},
{"geode", PROCESSOR_GEODE, CPU_GEODE,
PTA_MMX | PTA_3DNOW | PTA_3DNOW_A | PTA_PREFETCH_SSE | PTA_PRFCHW},
{"k6", PROCESSOR_K6, CPU_K6, PTA_MMX},
@@ -3628,6 +3632,9 @@ ix86_option_override_internal (bool main_args_p,
if (!strcmp (opts->x_ix86_arch_string, "generic"))
error ("generic CPU can be used only for %stune=%s %s",
prefix, suffix, sw);
+ else if (!strcmp (ix86_arch_string, "ia"))
+ error ("ia CPU can be used only for %stune=%s %s",
+ prefix, suffix, sw);
else if (!strncmp (opts->x_ix86_arch_string, "generic", 7) || i == pta_size)
error ("bad value (%s) for %sarch=%s %s",
opts->x_ix86_arch_string, prefix, suffix, sw);
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 113c75e..db81aea 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -626,6 +626,7 @@ enum target_cpu_default
TARGET_CPU_DEFAULT_haswell,
TARGET_CPU_DEFAULT_atom,
TARGET_CPU_DEFAULT_slm,
+ TARGET_CPU_DEFAULT_ia,
TARGET_CPU_DEFAULT_geode,
TARGET_CPU_DEFAULT_k6,