aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Eager <eager@eagercon.com>2009-04-13 22:49:18 +0000
committerMichael Eager <eager@gcc.gnu.org>2009-04-13 22:49:18 +0000
commit9eca177408bb4bdad6ff4fea2cf5af4d02091788 (patch)
treed870eb2917606c324c4e8165323f69c8e13b6a96
parentb0e2d00839be9cb86101dea2ee75165121924015 (diff)
downloadgcc-9eca177408bb4bdad6ff4fea2cf5af4d02091788.zip
gcc-9eca177408bb4bdad6ff4fea2cf5af4d02091788.tar.gz
gcc-9eca177408bb4bdad6ff4fea2cf5af4d02091788.tar.bz2
Add configuration-specific options for --target=powerpc-xilinx-eabi.
From-SVN: r146016
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config.gcc8
-rw-r--r--gcc/config/rs6000/rs6000-c.c20
3 files changed, 29 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6301567..3e08e2b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 21f4920..ac2fcc1 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -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
diff --git a/gcc/config/rs6000/rs6000-c.c b/gcc/config/rs6000/rs6000-c.c
index 3aa1714..79c96ac 100644
--- a/gcc/config/rs6000/rs6000-c.c
+++ b/gcc/config/rs6000/rs6000-c.c
@@ -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");
+ }
+ }
}