OSDN Git Service

Add configuration-specific options for --target=powerpc-xilinx-eabi.
authoreager <eager@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 13 Apr 2009 22:49:18 +0000 (22:49 +0000)
committereager <eager@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 13 Apr 2009 22:49:18 +0000 (22:49 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146016 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 6301567..3e08e2b 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 21f4920..ac2fcc1 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 3aa1714..79c96ac 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