[llvm-commits] [llvm-commit][llvm-gcc]Select powerpc cpu based on gcc arguments, not tuning settings.

Jim Laskey jlaskey at apple.com
Wed Dec 20 07:29:59 PST 2006


Index: gcc/config/rs6000/rs6000.c
===================================================================
--- gcc/config/rs6000/rs6000.c	(revision 121533)
+++ gcc/config/rs6000/rs6000.c	(working copy)
@@ -136,6 +136,10 @@
/* Target cpu type */
+/* APPLE LOCAL begin LLVM */
+const char *rs6000_cpu_target = "ppc";
+/* APPLE LOCAL end LLVM */
+
enum processor_type rs6000_cpu;
struct rs6000_cpu_select rs6000_select[3] =
{
@@ -1324,6 +1328,10 @@
    rs6000_select[0].string = default_cpu;
    rs6000_cpu = TARGET_POWERPC64 ? PROCESSOR_DEFAULT64 :  
PROCESSOR_DEFAULT;
+  /* APPLE LOCAL begin LLVM */
+  rs6000_cpu_target = TARGET_POWERPC64 ? "ppc64" : "ppc";
+  /* APPLE LOCAL end LLVM */
+
    /* APPLE LOCAL begin -fast */
    if (flag_fast || flag_fastf || flag_fastcp)
    {
@@ -1355,6 +1363,10 @@
		    /* APPLE LOCAL begin -fast */
		    mcpu_cpu = processor_target_table[j].processor;
		    /* APPLE LOCAL end -fast */
+
+		    /* APPLE LOCAL begin LLVM */
+        rs6000_cpu_target = processor_target_table[j].name;
+		    /* APPLE LOCAL end LLVM */
		  }
		break;
	      }
Index: gcc/config/rs6000/rs6000.h
===================================================================
--- gcc/config/rs6000/rs6000.h	(revision 121533)
+++ gcc/config/rs6000/rs6000.h	(working copy)
@@ -408,6 +408,10 @@
     PROCESSOR_POWER5
};
+/* APPLE LOCAL begin LLVM */
+extern const char *rs6000_cpu_target;
+/* APPLE LOCAL end LLVM */
+
extern enum processor_type rs6000_cpu;
/* Recast the processor type to the cpu attribute.  */
@@ -3610,27 +3614,8 @@
/* Turn -march=xx into a CPU type.
   */
#define LLVM_SET_SUBTARGET_FEATURES(F) \
-  { switch (rs6000_cpu) { \
-    case PROCESSOR_RIOS1: \
-    case PROCESSOR_RIOS2: \
-    case PROCESSOR_MPCCORE: \
-    case PROCESSOR_PPC403: \
-    case PROCESSOR_PPC405: \
-    case PROCESSOR_PPC440: F.setCPU("ppc"); break; \
-    case PROCESSOR_PPC601: F.setCPU("601"); break; \
-    case PROCESSOR_PPC603: F.setCPU("603"); break; \
-    case PROCESSOR_PPC604: F.setCPU("604"); break; \
-    case PROCESSOR_PPC604e: F.setCPU("604e"); break; \
-    case PROCESSOR_PPC620: \
-    case PROCESSOR_PPC630: F.setCPU("620"); break; \
-    case PROCESSOR_PPC750: F.setCPU("750"); break; \
-    case PROCESSOR_PPC7400: F.setCPU("7400"); break; \
-    case PROCESSOR_PPC7450: F.setCPU("7450"); break; \
-    case PROCESSOR_PPC8540: F.setCPU("7450"); break; \
-    case PROCESSOR_RS64A: F.setCPU("ppc64"); break; \
-    case PROCESSOR_POWER4: \
-    case PROCESSOR_POWER5: F.setCPU("970"); break; /* FIXME: NOT  
RIGHT */ \
-    } \
+  { \
+    F.setCPU(rs6000_cpu_target); \
      F.AddFeature("altivec", TARGET_ALTIVEC); \
      F.AddFeature("gpul", TARGET_MFCRF); \
      F.AddFeature("fsqrt", TARGET_PPC_GPOPT); \

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2417 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20061220/c50793db/attachment.bin>


More information about the llvm-commits mailing list