]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Add configuration-specific options for --target=powerpc-xilinx-eabi.
authorMichael Eager <eager@eagercon.com>
Mon, 13 Apr 2009 22:49:18 +0000 (22:49 +0000)
committerMichael Eager <eager@gcc.gnu.org>
Mon, 13 Apr 2009 22:49:18 +0000 (22:49 +0000)
From-SVN: r146016

gcc/ChangeLog
gcc/config.gcc
gcc/config/rs6000/rs6000-c.c

index 63015678bfe1ab20341de59303d6060b116ef5fb..3e08e2b81a2938750201dfe2a4bfd2455941cd8c 100644 (file)
@@ -1,3 +1,11 @@
+2009-04-13  Michael Eager <eager@eagercon.com>
+
+       * config/rs6000/rs6000-c.c: generate defines if rs6000_xilinx_fpu:
+       _XFPU, _XFPU_SP_LITE, _XFPU_SP_FULL, _XFPU_DP_LITE, _XFPU_DP_FULL
+       * config/rs6000/xilinx.h: New.  Spec for powerpc-xilinx-eabi
+       * config.gcc (powerpc-xilinx-eabi): add xilinx.h to tm_file, 
+       remove duplicate config
+
 2009-04-13  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
 
        * ipa-inline.c (cgraph_decide_inlining_of_small_function): Dump
index 21f4920818d7682aeda839305fca2750151dfdc5..ac2fcc1fb805c4652136fcb897a2b17d8209e961 100644 (file)
@@ -1775,7 +1775,7 @@ powerpc-*-eabialtivec*)
        use_gcc_stdint=wrap
        ;;
 powerpc-xilinx-eabi*)
-       tm_file="${tm_file} dbxelf.h elfos.h usegas.h svr4.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/singlefp.h"
+       tm_file="${tm_file} dbxelf.h elfos.h usegas.h svr4.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/singlefp.h rs6000/xfpu.h rs6000/xilinx.h"
        extra_options="${extra_options} rs6000/sysv4.opt"
        tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
        use_gcc_stdint=wrap
@@ -1899,12 +1899,6 @@ powerpcle-*-eabi*)
        extra_options="${extra_options} rs6000/sysv4.opt"
        use_gcc_stdint=wrap
        ;;
-powerpc-xilinx-eabi*)
-       tm_file="${tm_file} dbxelf.h elfos.h usegas.h svr4.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/singlefp.h rs6000/xfpu.h"
-       extra_options="${extra_options} rs6000/sysv4.opt"
-       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
-       use_gcc_stdint=wrap
-       ;;
 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
        tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h rs6000/aix-stdint.h"
        tmake_file=rs6000/t-aix43
index 3aa17143b67dd21115d8818bd6aeb097fd097492..79c96ac5efdf12ee437427193d7abf9b3a1f5ce8 100644 (file)
@@ -347,6 +347,26 @@ rs6000_cpu_cpp_builtins (cpp_reader *pfile)
   /* Let the compiled code know if 'f' class registers will not be available.  */
   if (TARGET_SOFT_FLOAT || !TARGET_FPRS)
     builtin_define ("__NO_FPRS__");
+
+  /* Generate defines for Xilinx FPU. */
+  if (rs6000_xilinx_fpu) 
+    {
+      builtin_define ("_XFPU");
+      if (rs6000_single_float && ! rs6000_double_float)
+       {
+         if (rs6000_simple_fpu) 
+           builtin_define ("_XFPU_SP_LITE"); 
+         else 
+           builtin_define ("_XFPU_SP_FULL");
+       }
+      if (rs6000_double_float)
+       {
+         if (rs6000_simple_fpu) 
+           builtin_define ("_XFPU_DP_LITE");
+         else
+           builtin_define ("_XFPU_DP_FULL");
+        }
+    }
 }
 
 \f