diff mbox

PR target/66749: Add -march=iamcu to optimize for IA MCU

Message ID CAMe9rOpGAJ15NSrUbH4uNbNRE+y607gK7-x1qKCJtnSnN5089g@mail.gmail.com
State New
Headers show

Commit Message

H.J. Lu July 6, 2015, 5:03 p.m. UTC
On Mon, Jul 6, 2015 at 9:58 AM, Dominique d'Humières <dominiq@lps.ens.fr> wrote:
> This breaks bootstrap on x86_64-apple-darwin14:
>
> ../../work/gcc/config/i386/i386-c.c: In function 'void ix86_target_macros_internal(long long int, processor_type, processor_type, fpmath_unit, void (*)(cpp_reader*, const char*))':../../work/gcc/config/i386/i386-c.c:59:10: error: enumeration value 'PROCESSOR_IAMCU' not handled in switch [-Werror=switch]   switch (arch)          ^../../work/gcc/config/i386/i386-c.c:188:10: error: enumeration value 'PROCESSOR_IAMCU' not handled in switch [-Werror=switch]   switch (tune)
>
> TIA
>
> Dominique

Here is a patch.  OK for trunk?

Comments

Uros Bizjak July 6, 2015, 5:48 p.m. UTC | #1
On Mon, Jul 6, 2015 at 7:03 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Mon, Jul 6, 2015 at 9:58 AM, Dominique d'Humières <dominiq@lps.ens.fr> wrote:
>> This breaks bootstrap on x86_64-apple-darwin14:
>>
>> ../../work/gcc/config/i386/i386-c.c: In function 'void ix86_target_macros_internal(long long int, processor_type, processor_type, fpmath_unit, void (*)(cpp_reader*, const char*))':../../work/gcc/config/i386/i386-c.c:59:10: error: enumeration value 'PROCESSOR_IAMCU' not handled in switch [-Werror=switch]   switch (arch)          ^../../work/gcc/config/i386/i386-c.c:188:10: error: enumeration value 'PROCESSOR_IAMCU' not handled in switch [-Werror=switch]   switch (tune)
>>
>> TIA
>>
>> Dominique
>
> Here is a patch.  OK for trunk?

This one is obvious, so OK.

Thanks,
Uros.
diff mbox

Patch

From 61f75507ed4517aecf069c1964760a54078f9124 Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Mon, 6 Jul 2015 10:01:03 -0700
Subject: [PATCH] Handle PROCESSOR_IAMCU in ix86_target_macros_internal

Define __i586__/__pentium__ for -march=iamcu and __tune_iamcu__ for
-mtune=iamcu.

	* config/i386/i386-c.c (ix86_target_macros_internal): Handle
	PROCESSOR_IAMCU.
---
 gcc/config/i386/i386-c.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/gcc/config/i386/i386-c.c b/gcc/config/i386/i386-c.c
index 304ce55..d95772b 100644
--- a/gcc/config/i386/i386-c.c
+++ b/gcc/config/i386/i386-c.c
@@ -64,6 +64,8 @@  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:
+      /* Intel MCU is based on Intel Pentium CPU.  */
     case PROCESSOR_PENTIUM:
       def_or_undef (parse_in, "__i586");
       def_or_undef (parse_in, "__i586__");
@@ -285,6 +287,9 @@  ix86_target_macros_internal (HOST_WIDE_INT isa_flag,
     case PROCESSOR_KNL:
       def_or_undef (parse_in, "__tune_knl__");
       break;
+    case PROCESSOR_IAMCU:
+      def_or_undef (parse_in, "__tune_iamcu__");
+      break;
     case PROCESSOR_INTEL:
     case PROCESSOR_GENERIC:
       break;
-- 
2.4.3