mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-19 05:10:25 +08:00
Bi-endian support for moxie
From-SVN: r191285
This commit is contained in:
parent
0ccb505dad
commit
f636ba146a
@ -1,3 +1,17 @@
|
||||
2012-09-13 Anthony Green <green@moxielogic.com>
|
||||
|
||||
* config/moxie/moxie.h (LINK_SPEC): Add bi-endian support.
|
||||
(MULTILIB_DEFAULTS): Define.
|
||||
(ASM_SPEC): Define.
|
||||
(BYTES_BIG_ENDIAN, WORDS_BIG_ENDIAN): Add bi-endian support.
|
||||
(TARGET_CPU_CPP_BUILTINS): Add __MOXIE_LITTLE_ENDIAN__ and
|
||||
__MOXIE_BIG_ENDIAN__.
|
||||
* config/moxie/t-moxie (MULTILIB_DIRNAMES, MULTILIB_OPTIONS):
|
||||
Define.
|
||||
* config/moxie/moxie.opt: New file.
|
||||
* doc/invoke.texi (Moxie Options): Add section documenting -mel
|
||||
and -meb.
|
||||
|
||||
2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||||
|
||||
|
@ -41,9 +41,13 @@
|
||||
#define LIB_SPEC "%{!shared:%{!symbolic:-lc}}"
|
||||
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC "%{h*} %{v:-V} \
|
||||
#define LINK_SPEC "%{h*} %{v:-V} %{!mel:-EB} %{mel:-EL}\
|
||||
%{static:-Bstatic} %{shared:-shared} %{symbolic:-Bsymbolic}"
|
||||
|
||||
#ifndef MULTILIB_DEFAULTS
|
||||
#define MULTILIB_DEFAULTS { "meb" }
|
||||
#endif
|
||||
|
||||
/* Layout of Source Language Data Types */
|
||||
|
||||
#define INT_TYPE_SIZE 32
|
||||
@ -192,6 +196,7 @@ enum reg_class
|
||||
/* The Overall Framework of an Assembler File */
|
||||
|
||||
#undef ASM_SPEC
|
||||
#define ASM_SPEC "%{!mel:-EB} %{mel:-EL}"
|
||||
#define ASM_COMMENT_START "#"
|
||||
#define ASM_APP_ON ""
|
||||
#define ASM_APP_OFF ""
|
||||
@ -291,8 +296,8 @@ enum reg_class
|
||||
/* Storage Layout */
|
||||
|
||||
#define BITS_BIG_ENDIAN 0
|
||||
#define BYTES_BIG_ENDIAN 1
|
||||
#define WORDS_BIG_ENDIAN 1
|
||||
#define BYTES_BIG_ENDIAN ( ! TARGET_LITTLE_ENDIAN )
|
||||
#define WORDS_BIG_ENDIAN ( ! TARGET_LITTLE_ENDIAN )
|
||||
|
||||
/* Alignment required for a function entry point, in bits. */
|
||||
#define FUNCTION_BOUNDARY 16
|
||||
@ -473,8 +478,12 @@ enum reg_class
|
||||
|
||||
#define TARGET_CPU_CPP_BUILTINS() \
|
||||
{ \
|
||||
builtin_define_std ("moxie"); \
|
||||
builtin_define_std ("MOXIE"); \
|
||||
builtin_define_std ("moxie"); \
|
||||
builtin_define_std ("MOXIE"); \
|
||||
if (TARGET_LITTLE_ENDIAN) \
|
||||
builtin_define ("__MOXIE_LITTLE_ENDIAN__"); \
|
||||
else \
|
||||
builtin_define ("__MOXIE_BIG_ENDIAN__"); \
|
||||
}
|
||||
|
||||
#define HAS_LONG_UNCOND_BRANCH true
|
||||
|
27
gcc/config/moxie/moxie.opt
Normal file
27
gcc/config/moxie/moxie.opt
Normal file
@ -0,0 +1,27 @@
|
||||
; Options for the moxie compiler port.
|
||||
|
||||
; Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
;
|
||||
; This file is part of GCC.
|
||||
;
|
||||
; GCC is free software; you can redistribute it and/or modify it under
|
||||
; the terms of the GNU General Public License as published by the Free
|
||||
; Software Foundation; either version 3, or (at your option) any later
|
||||
; version.
|
||||
;
|
||||
; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
; WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
; for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with GCC; see the file COPYING3. If not see
|
||||
; <http://www.gnu.org/licenses/>.
|
||||
|
||||
meb
|
||||
Target RejectNegative Report InverseMask(LITTLE_ENDIAN)
|
||||
Generate big-endian code
|
||||
|
||||
mel
|
||||
Target RejectNegative Report Mask(LITTLE_ENDIAN)
|
||||
Generate little-endian code
|
@ -18,3 +18,6 @@
|
||||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
MULTILIB_OPTIONS = meb/mel
|
||||
MULTILIB_DIRNAMES = eb el
|
||||
|
||||
|
@ -776,6 +776,9 @@ Objective-C and Objective-C++ Dialects}.
|
||||
-mreturn-pointer-on-d0 @gol
|
||||
-mno-crt0 -mrelax -mliw -msetlb}
|
||||
|
||||
@emph{Moxie Options}
|
||||
@gccoptlist{-meb -mel}
|
||||
|
||||
@emph{PDP-11 Options}
|
||||
@gccoptlist{-mfpu -msoft-float -mac0 -mno-ac0 -m40 -m45 -m10 @gol
|
||||
-mbcopy -mbcopy-builtin -mint32 -mno-int16 @gol
|
||||
@ -10529,6 +10532,7 @@ platform.
|
||||
* MIPS Options::
|
||||
* MMIX Options::
|
||||
* MN10300 Options::
|
||||
* Moxie Options::
|
||||
* PDP-11 Options::
|
||||
* picoChip Options::
|
||||
* PowerPC Options::
|
||||
@ -16448,6 +16452,23 @@ instructions. This option defines the preprocessor macro
|
||||
|
||||
@end table
|
||||
|
||||
@node Moxie Options
|
||||
@subsection Moxie Options
|
||||
@cindex Moxie Options
|
||||
|
||||
@table @gcctabopt
|
||||
|
||||
@item -meb
|
||||
@opindex meb
|
||||
Generate big-endian code. This is the default for @samp{moxie-*-*}
|
||||
configurations.
|
||||
|
||||
@item -mel
|
||||
@opindex mel
|
||||
Generate little-endian code.
|
||||
|
||||
@end table
|
||||
|
||||
@node PDP-11 Options
|
||||
@subsection PDP-11 Options
|
||||
@cindex PDP-11 Options
|
||||
|
Loading…
x
Reference in New Issue
Block a user