contrib.texi: Mention crx.

* doc/contrib.texi: Mention crx.
	* doc/extend.texi: Document crx extensions.
	* doc/install.texi: Document crx install.
	* doc/invoke.texi: Document crx options.
	* doc/md.texi: Document crx constraints.

From-SVN: r102700
This commit is contained in:
Paul Woegerer 2005-08-03 16:35:26 +00:00
parent 9d2b0e128a
commit 53054e7782
5 changed files with 83 additions and 1 deletions

View File

@ -961,6 +961,9 @@ Jim Wilson for his direction via the steering committee, tackling hard
problems in various places that nobody else wanted to work on, strength
reduction and other loop optimizations.
@item
Paul Woegerer and Tal Agmon for the CRX port.
@item
Carlo Wood for various fixes.

View File

@ -1887,7 +1887,7 @@ this attribute to work correctly.
@item interrupt
@cindex interrupt handler functions
Use this attribute on the ARM, AVR, C4x, M32C, M32R/D and Xstormy16
Use this attribute on the ARM, AVR, C4x, CRX, M32C, M32R/D and Xstormy16
ports to indicate that the specified function is an interrupt handler.
The compiler will generate function entry and exit sequences suitable
for use in an interrupt handler when this attribute is present.

View File

@ -2626,6 +2626,32 @@ Pre-packaged tools can be obtained from
information about this platform is available at
@uref{http://developer.axis.com/}.
@html
<hr />
@end html
@heading @anchor{crx}CRX
The CRX CompactRISC architecture is a low-power 32-bit architecture with
fast context switching and architectural extensibility features.
@ifnothtml
@xref{CRX Options,, CRX Options, gcc, Using and Porting the GNU Compiler
Collection (GCC)},
@end ifnothtml
@ifhtml
See ``CRX Options'' in the main manual for a list of CRX-specific options.
@end ifhtml
Use @samp{configure --target=crx-elf --enable-languages=c,c++} to configure
GCC@ for building a CRX cross-compiler. The option @samp{--target=crx-elf}
is also used to build the @samp{newlib} C library for CRX.
It is also possible to build libstdc++-v3 for the CRX architecture. This
needs to be done in a sepearate step with the following configure settings:
@samp{gcc/libstdc++-v3/configure --host=crx-elf --with-newlib
--enable-sjlj-exceptions --enable-cxx-flags='-fexceptions -frtti'}
@html
<hr />
@end html

View File

@ -431,6 +431,9 @@ Objective-C and Objective-C++ Dialects}.
-melf -maout -melinux -mlinux -sim -sim2 @gol
-mmul-bug-workaround -mno-mul-bug-workaround}
@emph{CRX Options}
@gccoptlist{-mmac -mpush-args}
@emph{Darwin Options}
@gccoptlist{-all_load -allowable_client -arch -arch_errors_fatal @gol
-arch_only -bind_at_load -bundle -bundle_loader @gol
@ -6986,6 +6989,7 @@ platform.
* AVR Options::
* Blackfin Options::
* CRIS Options::
* CRX Options::
* Darwin Options::
* DEC Alpha Options::
* DEC Alpha/VMS Options::
@ -7657,6 +7661,24 @@ Like @option{-sim}, but pass linker options to locate initialized data at
0x40000000 and zero-initialized data at 0x80000000.
@end table
@node CRX Options
@subsection CRX Options
@cindex CRX Options
These options are defined specifically for the CRX ports.
@table @gcctabopt
@item -mmac
@opindex mmac
Enable the use of multiply-accumulate instructions. Disabled by default.
@item -mpush-args
@opindex mpush-args
Push instructions will be used to pass outgoing arguments when functions
are called. Enabled by default.
@end table
@node Darwin Options
@subsection Darwin Options
@cindex Darwin options

View File

@ -1746,6 +1746,37 @@ Constant integer 1
A floating point constant 0.0
@end table
@item CRX Architecture---@file{crx.h}
@table @code
@item b
Registers from r0 to r14 (registers without stack pointer)
@item l
Register r16 (64-bit accumulator lo register)
@item h
Register r17 (64-bit accumulator hi register)
@item k
Register pair r16-r17. (64-bit accumulator lo-hi pair)
@item I
Constant that fits in 3 bits
@item J
Constant that fits in 4 bits
@item K
Constant that fits in 5 bits
@item L
Constant that is one of -1, 4, -4, 7, 8, 12, 16, 20, 32, 48
@item G
Floating point constant that is legal for store immediate
@end table
@item PowerPC and IBM RS6000---@file{rs6000.h}
@table @code
@item b