Change IA MCU processor from iamcu to lakemount
authorH.J. Lu <hongjiu.lu@intel.com>
Fri, 25 Sep 2015 00:18:21 +0000 (00:18 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Fri, 25 Sep 2015 00:18:21 +0000 (17:18 -0700)
The first IA MCU processor will be Lakemount.  This patch changes IA MCU
processor name from iamcu to lakemount.

gcc/

* config.gcc (x86_archs): Replace iamcu with lakemount.
(with_cpu): Likewise.
(with_arch): Likewise.
* doc/invoke.texi: Likewise.
* config/i386/i386-c.c (ix86_target_macros_internal): Replace
PROCESSOR_IAMCU with PROCESSOR_LAKEMOUNT.  Replace
__tune_iamcu__ with __tune_lakemount__.
* config/i386/i386.c (iamcu_cost): Renamed to ...
(lakemount_cost): This.
(m_IAMCU): Renamed to ...
(m_LAKEMOUNT): This.
(initial_ix86_arch_features): Replace m_IAMCU with m_LAKEMOUNT.
(processor_target_table): Replace "iamcu" with "lakemount".
(processor_alias_table): Likewise.
(ix86_issue_rate): Replace PROCESSOR_IAMCU with
PROCESSOR_LAKEMOUNT.
(ix86_adjust_cost): Likewise.
(ia32_multipass_dfa_lookahead): Likewise.
* config/i386/i386.h (processor_type): Likewise.
* config/i386/x86-tune.def: Replace m_IAMCU with m_LAKEMOUNT.

gcc/testsuite/

* gcc.target/i386/pr66749.c (dg-options): Replace -mtune=iamcu
with -mtune=lakemount.
* gcc.target/i386/pr66821.c (dg-options): Likewise.
* gcc.target/i386/pr67329.c (dg-options): Likewise.

From-SVN: r228109

gcc/ChangeLog
gcc/config.gcc
gcc/config/i386/i386-c.c
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/x86-tune.def
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr66749.c
gcc/testsuite/gcc.target/i386/pr66821.c
gcc/testsuite/gcc.target/i386/pr67329.c

index d6ea9677419bbf170c435d2ca08e52bcce1ddbd2..9a6ea3b49ae59ea15e896f23325d0b4c72c4fb4e 100644 (file)
@@ -1,3 +1,26 @@
+2015-09-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config.gcc (x86_archs): Replace iamcu with lakemount.
+       (with_cpu): Likewise.
+       (with_arch): Likewise.
+       * doc/invoke.texi: Likewise.
+       * config/i386/i386-c.c (ix86_target_macros_internal): Replace
+       PROCESSOR_IAMCU with PROCESSOR_LAKEMOUNT.  Replace
+       __tune_iamcu__ with __tune_lakemount__.
+       * config/i386/i386.c (iamcu_cost): Renamed to ...
+       (lakemount_cost): This.
+       (m_IAMCU): Renamed to ...
+       (m_LAKEMOUNT): This.
+       (initial_ix86_arch_features): Replace m_IAMCU with m_LAKEMOUNT.
+       (processor_target_table): Replace "iamcu" with "lakemount".
+       (processor_alias_table): Likewise.
+       (ix86_issue_rate): Replace PROCESSOR_IAMCU with
+       PROCESSOR_LAKEMOUNT.
+       (ix86_adjust_cost): Likewise.
+       (ia32_multipass_dfa_lookahead): Likewise.
+       * config/i386/i386.h (processor_type): Likewise.
+       * config/i386/x86-tune.def: Replace m_IAMCU with m_LAKEMOUNT.
+
 2015-09-24  John David Anglin  <danglin@gcc.gnu.org>
 
        * config/pa/pa-linux.h (HAVE_sync_compare_and_swapdi): Define.
index f060e2f0478ba4fbf7cad4c69c844aeebd5473c5..41814b8f9343383cb729fa7c8f59a004b29daeb4 100644 (file)
@@ -587,7 +587,7 @@ tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4"
 x86_archs="athlon athlon-4 athlon-fx athlon-mp athlon-tbird \
 athlon-xp k6 k6-2 k6-3 geode c3 c3-2 winchip-c6 winchip2 i386 i486 \
 i586 i686 pentium pentium-m pentium-mmx pentium2 pentium3 pentium3m \
-pentium4 pentium4m pentiumpro prescott iamcu"
+pentium4 pentium4m pentiumpro prescott lakemount"
 
 # 64-bit x86 processors supported by --with-arch=.  Each processor
 # MUST be separated by exactly one space.
@@ -3287,7 +3287,7 @@ esac
 if test x$with_cpu = x ; then
   case ${target} in
     i[34567]86-*-elfiamcu)
-      with_cpu=iamcu
+      with_cpu=lakemount
       ;;
     i[34567]86-*-*|x86_64-*-*)
       with_cpu=$cpu
@@ -3385,7 +3385,7 @@ if test x$with_arch = x ; then
       # and TARGET_SUBTARGET64_ISA_DEFAULT in config/i386/darwin.h.
       ;;
     i[34567]86-*-elfiamcu)
-      with_arch=iamcu
+      with_arch=lakemount
       ;;
     i[34567]86-*-*)
       # --with-fpmath sets the default ISA to SSE2, which is the same
index 5e583aeb376e580c62b5ef6d2b8dab29f974c7bc..86f24267be4b485c11a2b30d81ac36e0bbdbe4f0 100644 (file)
@@ -63,7 +63,7 @@ ix86_target_macros_internal (HOST_WIDE_INT isa_flag,
       def_or_undef (parse_in, "__i486");
       def_or_undef (parse_in, "__i486__");
       break;
-    case PROCESSOR_IAMCU:
+    case PROCESSOR_LAKEMOUNT:
       /* Intel MCU is based on Intel Pentium CPU.  */
     case PROCESSOR_PENTIUM:
       def_or_undef (parse_in, "__i586");
@@ -293,8 +293,8 @@ ix86_target_macros_internal (HOST_WIDE_INT isa_flag,
     case PROCESSOR_SKYLAKE_AVX512:
       def_or_undef (parse_in, "__tune_skylake_avx512__");
       break;
-    case PROCESSOR_IAMCU:
-      def_or_undef (parse_in, "__tune_iamcu__");
+    case PROCESSOR_LAKEMOUNT:
+      def_or_undef (parse_in, "__tune_lakemount__");
       break;
     case PROCESSOR_INTEL:
     case PROCESSOR_GENERIC:
index 8a26f68aca5320eae7adb4ab29b3f60ae6226082..193cabff9a3a1420114fe53e5e8b182e7fe0703e 100644 (file)
@@ -417,7 +417,7 @@ struct processor_costs pentium_cost = {
 };
 
 static const
-struct processor_costs iamcu_cost = {
+struct processor_costs lakemount_cost = {
   COSTS_N_INSNS (1),                   /* cost of an add instruction */
   COSTS_N_INSNS (1) + 1,               /* cost of a lea instruction */
   COSTS_N_INSNS (1),                   /* variable shift costs */
@@ -2085,7 +2085,7 @@ const struct processor_costs *ix86_cost = &pentium_cost;
 #define m_386 (1<<PROCESSOR_I386)
 #define m_486 (1<<PROCESSOR_I486)
 #define m_PENT (1<<PROCESSOR_PENTIUM)
-#define m_IAMCU (1<<PROCESSOR_IAMCU)
+#define m_LAKEMOUNT (1<<PROCESSOR_LAKEMOUNT)
 #define m_PPRO (1<<PROCESSOR_PENTIUMPRO)
 #define m_PENT4 (1<<PROCESSOR_PENTIUM4)
 #define m_NOCONA (1<<PROCESSOR_NOCONA)
@@ -2146,7 +2146,7 @@ unsigned char ix86_arch_features[X86_ARCH_LAST];
    ix86_arch_features based on the processor mask.  */
 static unsigned int initial_ix86_arch_features[X86_ARCH_LAST] = {
   /* X86_ARCH_CMOV: Conditional move was added for pentiumpro.  */
-  ~(m_386 | m_486 | m_PENT | m_IAMCU | m_K6),
+  ~(m_386 | m_486 | m_PENT | m_LAKEMOUNT | m_K6),
 
   /* X86_ARCH_CMPXCHG: Compare and exchange was added for 80486.  */
   ~m_386,
@@ -2557,7 +2557,7 @@ static const struct ptt processor_target_table[PROCESSOR_max] =
   {"i386", &i386_cost, 4, 3, 4, 3, 4},
   {"i486", &i486_cost, 16, 15, 16, 15, 16},
   {"pentium", &pentium_cost, 16, 7, 16, 7, 16},
-  {"iamcu", &iamcu_cost, 16, 7, 16, 7, 16},
+  {"lakemount", &lakemount_cost, 16, 7, 16, 7, 16},
   {"pentiumpro", &pentiumpro_cost, 16, 15, 16, 10, 16},
   {"pentium4", &pentium4_cost, 0, 0, 0, 0, 0},
   {"nocona", &nocona_cost, 0, 0, 0, 0, 0},
@@ -3313,7 +3313,7 @@ ix86_option_override_internal (bool main_args_p,
       {"i486", PROCESSOR_I486, CPU_NONE, 0},
       {"i586", PROCESSOR_PENTIUM, CPU_PENTIUM, 0},
       {"pentium", PROCESSOR_PENTIUM, CPU_PENTIUM, 0},
-      {"iamcu", PROCESSOR_IAMCU, CPU_PENTIUM, 0},
+      {"lakemount", PROCESSOR_LAKEMOUNT, CPU_PENTIUM, 0},
       {"pentium-mmx", PROCESSOR_PENTIUM, CPU_PENTIUM, PTA_MMX},
       {"winchip-c6", PROCESSOR_I486, CPU_NONE, PTA_MMX},
       {"winchip2", PROCESSOR_I486, CPU_NONE, PTA_MMX | PTA_3DNOW | PTA_PRFCHW},
@@ -26196,7 +26196,7 @@ ix86_issue_rate (void)
   switch (ix86_tune)
     {
     case PROCESSOR_PENTIUM:
-    case PROCESSOR_IAMCU:
+    case PROCESSOR_LAKEMOUNT:
     case PROCESSOR_BONNELL:
     case PROCESSOR_SILVERMONT:
     case PROCESSOR_KNL:
@@ -26383,7 +26383,7 @@ ix86_adjust_cost (rtx_insn *insn, rtx link, rtx_insn *dep_insn, int cost)
   switch (ix86_tune)
     {
     case PROCESSOR_PENTIUM:
-    case PROCESSOR_IAMCU:
+    case PROCESSOR_LAKEMOUNT:
       /* Address Generation Interlock adds a cycle of latency.  */
       if (insn_type == TYPE_LEA)
        {
@@ -26593,7 +26593,7 @@ ia32_multipass_dfa_lookahead (void)
   switch (ix86_tune)
     {
     case PROCESSOR_PENTIUM:
-    case PROCESSOR_IAMCU:
+    case PROCESSOR_LAKEMOUNT:
       return 2;
 
     case PROCESSOR_PENTIUMPRO:
index 46fbe42b5ca1bac7c3294e2807204bacdfccd291..adc1fedb2cd88f375e8c98327686b7b9c45bf01c 100644 (file)
@@ -2280,7 +2280,7 @@ enum processor_type
   PROCESSOR_I386,                      /* 80386 */
   PROCESSOR_I486,                      /* 80486DX, 80486SX, 80486DX[24] */
   PROCESSOR_PENTIUM,
-  PROCESSOR_IAMCU,
+  PROCESSOR_LAKEMOUNT,
   PROCESSOR_PENTIUMPRO,
   PROCESSOR_PENTIUM4,
   PROCESSOR_NOCONA,
index 42a560b1e8ddbc35de620ae5c96e73eb54e9d44a..414c718041c6ae2e6ddf1d0a119eab21a384ae1e 100644 (file)
@@ -40,7 +40,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 
 /* X86_TUNE_SCHEDULE: Enable scheduling.  */
 DEF_TUNE (X86_TUNE_SCHEDULE, "schedule",
-          m_PENT | m_IAMCU | m_PPRO | m_CORE_ALL | m_BONNELL | m_SILVERMONT
+          m_PENT | m_LAKEMOUNT | m_PPRO | m_CORE_ALL | m_BONNELL | m_SILVERMONT
          | m_INTEL | m_KNL | m_K6_GEODE | m_AMD_MULTIPLE | m_GENERIC)
 
 /* X86_TUNE_PARTIAL_REG_DEPENDENCY: Enable more register renaming
@@ -172,21 +172,21 @@ DEF_TUNE (X86_TUNE_PUSH_MEMORY, "push_memory",
 /* X86_TUNE_SINGLE_PUSH: Enable if single push insn is preferred
    over esp subtraction.  */
 DEF_TUNE (X86_TUNE_SINGLE_PUSH, "single_push", m_386 | m_486 | m_PENT
-         | m_IAMCU | m_K6_GEODE)
+         | m_LAKEMOUNT | m_K6_GEODE)
 
 /* X86_TUNE_DOUBLE_PUSH. Enable if double push insn is preferred
    over esp subtraction.  */
-DEF_TUNE (X86_TUNE_DOUBLE_PUSH, "double_push", m_PENT | m_IAMCU
+DEF_TUNE (X86_TUNE_DOUBLE_PUSH, "double_push", m_PENT | m_LAKEMOUNT
          | m_K6_GEODE)
 
 /* X86_TUNE_SINGLE_POP: Enable if single pop insn is preferred
    over esp addition.  */
 DEF_TUNE (X86_TUNE_SINGLE_POP, "single_pop", m_386 | m_486 | m_PENT
-         | m_IAMCU | m_PPRO)
+         | m_LAKEMOUNT | m_PPRO)
 
 /* X86_TUNE_DOUBLE_POP: Enable if double pop insn is preferred
    over esp addition.  */
-DEF_TUNE (X86_TUNE_DOUBLE_POP, "double_pop", m_PENT | m_IAMCU)
+DEF_TUNE (X86_TUNE_DOUBLE_POP, "double_pop", m_PENT | m_LAKEMOUNT)
 
 /*****************************************************************************/
 /* Branch predictor tuning                                                  */
@@ -226,7 +226,7 @@ DEF_TUNE (X86_TUNE_LCP_STALL, "lcp_stall", m_CORE_ALL | m_GENERIC)
 
 /* X86_TUNE_READ_MODIFY: Enable use of read-modify instructions such
    as "add mem, reg".  */
-DEF_TUNE (X86_TUNE_READ_MODIFY, "read_modify", ~(m_PENT | m_IAMCU | m_PPRO))
+DEF_TUNE (X86_TUNE_READ_MODIFY, "read_modify", ~(m_PENT | m_LAKEMOUNT | m_PPRO))
 
 /* X86_TUNE_USE_INCDEC: Enable use of inc/dec instructions.   */
 DEF_TUNE (X86_TUNE_USE_INCDEC, "use_incdec",
@@ -286,7 +286,7 @@ DEF_TUNE (X86_TUNE_USE_SAHF, "use_sahf",
 
 /* X86_TUNE_USE_CLTD: Controls use of CLTD and CTQO instructions.  */
 DEF_TUNE (X86_TUNE_USE_CLTD, "use_cltd",
-         ~(m_PENT | m_IAMCU | m_BONNELL | m_SILVERMONT | m_KNL | m_INTEL
+         ~(m_PENT | m_LAKEMOUNT | m_BONNELL | m_SILVERMONT | m_KNL | m_INTEL
            | m_K6))
 
 /* X86_TUNE_USE_BT: Enable use of BT (bit test) instructions.  */
@@ -307,7 +307,7 @@ DEF_TUNE (X86_TUNE_USE_HIMODE_FIOP, "use_himode_fiop",
 /* X86_TUNE_USE_SIMODE_FIOP: Enables use of x87 instructions with 32bit
    integer operand.  */
 DEF_TUNE (X86_TUNE_USE_SIMODE_FIOP, "use_simode_fiop",
-          ~(m_PENT | m_IAMCU | m_PPRO | m_CORE_ALL | m_BONNELL
+          ~(m_PENT | m_LAKEMOUNT | m_PPRO | m_CORE_ALL | m_BONNELL
            | m_SILVERMONT | m_KNL | m_INTEL | m_AMD_MULTIPLE | m_GENERIC))
 
 /* X86_TUNE_USE_FFREEP: Use freep instruction instead of fstp.  */
@@ -448,7 +448,7 @@ DEF_TUNE (X86_TUNE_SHIFT1, "shift1", ~m_486)
 /* X86_TUNE_ZERO_EXTEND_WITH_AND: Use AND instruction instead
    of mozbl/movwl.  */
 DEF_TUNE (X86_TUNE_ZERO_EXTEND_WITH_AND, "zero_extend_with_and",
-         m_486 | m_PENT | m_IAMCU)
+         m_486 | m_PENT | m_LAKEMOUNT)
 
 /* X86_TUNE_PROMOTE_HIMODE_IMUL: Modern CPUs have same latency for HImode
    and SImode multiply, but 386 and 486 do HImode multiply faster.  */
@@ -459,20 +459,20 @@ DEF_TUNE (X86_TUNE_PROMOTE_HIMODE_IMUL, "promote_himode_imul",
    into 16bit/8bit when resulting sequence is shorter.  For example
    for "and $-65536, reg" to 16bit store of 0.  */
 DEF_TUNE (X86_TUNE_FAST_PREFIX, "fast_prefix",
-         ~(m_386 | m_486 | m_PENT | m_IAMCU))
+         ~(m_386 | m_486 | m_PENT | m_LAKEMOUNT))
 
 /* X86_TUNE_READ_MODIFY_WRITE: Enable use of read modify write instructions
    such as "add $1, mem".  */
 DEF_TUNE (X86_TUNE_READ_MODIFY_WRITE, "read_modify_write",
-         ~(m_PENT | m_IAMCU))
+         ~(m_PENT | m_LAKEMOUNT))
 
 /* X86_TUNE_MOVE_M1_VIA_OR: On pentiums, it is faster to load -1 via OR
    than a MOV.  */
-DEF_TUNE (X86_TUNE_MOVE_M1_VIA_OR, "move_m1_via_or", m_PENT | m_IAMCU)
+DEF_TUNE (X86_TUNE_MOVE_M1_VIA_OR, "move_m1_via_or", m_PENT | m_LAKEMOUNT)
 
 /* X86_TUNE_NOT_UNPAIRABLE: NOT is not pairable on Pentium, while XOR is,
    but one byte longer.  */
-DEF_TUNE (X86_TUNE_NOT_UNPAIRABLE, "not_unpairable", m_PENT | m_IAMCU)
+DEF_TUNE (X86_TUNE_NOT_UNPAIRABLE, "not_unpairable", m_PENT | m_LAKEMOUNT)
 
 /* X86_TUNE_PARTIAL_REG_STALL: Pentium pro, unlike later chips, handled
    use of partial registers by renaming.  This improved performance of 16bit
index 09c58ee2bb4b55a7dd58f2efcd0dfe94abb69269..844d254cca880216a8e3f638ad81b586d10dd58b 100644 (file)
@@ -22219,8 +22219,8 @@ Intel i486 CPU@.  (No scheduling is implemented for this chip.)
 @itemx pentium
 Intel Pentium CPU with no MMX support.
 
-@item iamcu
-Intel MCU, based on Intel Pentium CPU.
+@item lakemount
+Intel Lakemount MCU, based on Intel Pentium CPU.
 
 @item pentium-mmx
 Intel Pentium MMX CPU, based on Pentium core with MMX instruction set support.
index de6131bdd2faed7b0447431f6b66243215da3f05..193eb8e99b4d9ddb508b9ed00e6d69f9b2e080f9 100644 (file)
@@ -1,3 +1,10 @@
+2015-09-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * gcc.target/i386/pr66749.c (dg-options): Replace -mtune=iamcu
+       with -mtune=lakemount.
+       * gcc.target/i386/pr66821.c (dg-options): Likewise.
+       * gcc.target/i386/pr67329.c (dg-options): Likewise.
+
 2015-09-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
 
        PR driver/67640
index affda08de871caa83fc69f1d74286a1435cbcf47..27c02ad5053bb8003ce1c60cb7ca66e4b9048f91 100644 (file)
@@ -1,7 +1,7 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target ia32 } */
 /* { dg-require-effective-target nonpic } */
-/* { dg-options "-O2 -miamcu -mtune=iamcu" } */
+/* { dg-options "-O2 -miamcu -mtune=lakemount" } */
 
 char a[10], b[10];
 
index d32f03d5a96444e51e89cb8e461d3153db860fc1..9d08b1a2af031315e838b70c12a665e3d590af7b 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile { target ia32 } } */
-/* { dg-options "-O2 -fdump-tree-optimized -mtune=iamcu" } */
+/* { dg-options "-O2 -fdump-tree-optimized -mtune=lakemount" } */
 
 void bar (void);
 
index a29dd5b4f8d7da66b80e0640c021abf34ebfe97a..fec94eb86d304e88b5ecabc3b15ba55f97a51993 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile { target ia32 } } */
-/* { dg-options "-O3 -fno-tree-fre -fno-tree-pre -fdump-tree-optimized -mtune=iamcu" } */
+/* { dg-options "-O3 -fno-tree-fre -fno-tree-pre -fdump-tree-optimized -mtune=lakemount" } */
 
 int
 foo ()