xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/config/rs6000/t-rtems (revision 63aea4bd5b445e491ff0389fe27ec78b3099dba3)
1# Multilibs for powerpc RTEMS targets.
2#
3# Copyright (C) 2004-2013 Free Software Foundation, Inc.
4#
5# This file is part of GCC.
6#
7# GCC is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 3, or (at your option)
10# any later version.
11#
12# GCC is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15# GNU General Public License for more details.
16#
17# You should have received a copy of the GNU General Public License
18# along with GCC; see the file COPYING3.  If not see
19# <http://www.gnu.org/licenses/>.
20
21MULTILIB_OPTIONS	= \
22mcpu=403/mcpu=505/mcpu=603e/mcpu=604/mcpu=860/mcpu=7400/mcpu=8540 \
23msoft-float/mfloat-gprs=double
24
25MULTILIB_DIRNAMES	= \
26m403 m505 m603e m604 m860 m7400 m8540 \
27nof gprsdouble
28
29# MULTILIB_MATCHES	= ${MULTILIB_MATCHES_FLOAT}
30MULTILIB_MATCHES	=
31MULTILIB_MATCHES  	+= ${MULTILIB_MATCHES_ENDIAN}
32MULTILIB_MATCHES	+= ${MULTILIB_MATCHES_SYSV}
33# Map 405 to 403
34MULTILIB_MATCHES	+= mcpu?403=mcpu?405
35# Map 602, 603e, 603 to 603e
36MULTILIB_MATCHES	+= mcpu?603e=mcpu?602
37MULTILIB_MATCHES	+= mcpu?603e=mcpu?603
38# Map 801, 821, 823 to 860
39MULTILIB_MATCHES 	+= mcpu?860=mcpu?801
40MULTILIB_MATCHES 	+= mcpu?860=mcpu?821
41MULTILIB_MATCHES 	+= mcpu?860=mcpu?823
42# Map 7450 to 7400
43MULTILIB_MATCHES	+= mcpu?7400=mcpu?7450
44
45# Map 750 to .
46MULTILIB_MATCHES	+= mcpu?750=
47
48# Map 8548 to 8540
49MULTILIB_MATCHES	+= mcpu?8540=mcpu?8548
50
51# Map -mcpu=8540 -mfloat-gprs=single to -mcpu=8540
52# (mfloat-gprs=single is implicit default)
53MULTILIB_MATCHES	+= mcpu?8540=mcpu?8540/mfloat-gprs?single
54
55# Soft-float only, default implies msoft-float
56# NOTE: Must match with MULTILIB_MATCHES_FLOAT and MULTILIB_MATCHES
57MULTILIB_SOFTFLOAT_ONLY = \
58*mcpu=401/*msoft-float* \
59*mcpu=403/*msoft-float* \
60*mcpu=405/*msoft-float* \
61*mcpu=801/*msoft-float* \
62*mcpu=821/*msoft-float* \
63*mcpu=823/*msoft-float* \
64*mcpu=860/*msoft-float*
65
66# Hard-float only, take out msoft-float
67MULTILIB_HARDFLOAT_ONLY = \
68*mcpu=505/*msoft-float*
69
70# Targets which do not support gprs
71MULTILIB_NOGPRS = \
72mfloat-gprs=* \
73*mcpu=403/*mfloat-gprs=* \
74*mcpu=505/*mfloat-gprs=* \
75*mcpu=603e/*mfloat-gprs=* \
76*mcpu=604/*mfloat-gprs=* \
77*mcpu=860/*mfloat-gprs=* \
78*mcpu=7400/*mfloat-gprs=*
79
80MULTILIB_EXCEPTIONS =
81
82# Disallow -Dppc and -Dmpc without other options
83MULTILIB_EXCEPTIONS 	+= Dppc* Dmpc*
84
85MULTILIB_EXCEPTIONS	+= \
86${MULTILIB_SOFTFLOAT_ONLY} \
87${MULTILIB_HARDFLOAT_ONLY} \
88${MULTILIB_NOGPRS}
89