From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1733) id ED9DD3858D20; Tue, 20 Feb 2024 11:46:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ED9DD3858D20 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1708429601; bh=Gi6nlyCACd5fiD/imBaZ7RBbgzBQaMaJTlvDxnZpq6M=; h=From:To:Subject:Date:From; b=gOMmBk3CmQIM1+eh/QQVJTpkfgVA9WOJVtMCQnWy2Rv0EKUL2QvTj88wALXLM3b8P W9DrI2g9C68EkYVCAAw3XZmcgrq1+cenGX5T9wKICylobC9t/jAK+Ln5OlA06WsbXJ sJxxKmsRP5wbLLobE/S0JUtEh3pAUkzo8PeF9Z0g= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Georg-Johann Lay To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-8344] AVR: invoke.texi: Put internal options in their own @subsubsection. X-Act-Checkin: gcc X-Git-Author: Georg-Johann Lay X-Git-Refname: refs/heads/releases/gcc-13 X-Git-Oldrev: e4fdf9431ac510191c44b38e1a6e0ed91d6ee2c5 X-Git-Newrev: 383d0ecfa64c1aacd1224115bf85cd962752eaa2 Message-Id: <20240220114641.ED9DD3858D20@sourceware.org> Date: Tue, 20 Feb 2024 11:46:41 +0000 (GMT) List-Id: https://gcc.gnu.org/g:383d0ecfa64c1aacd1224115bf85cd962752eaa2 commit r13-8344-g383d0ecfa64c1aacd1224115bf85cd962752eaa2 Author: Georg-Johann Lay Date: Thu Jan 11 16:41:42 2024 +0100 AVR: invoke.texi: Put internal options in their own @subsubsection. gcc/ * doc/invoke.texi (AVR Options): Move -mrmw, -mn-flash, -mshort-calls and -msp8 to... (AVR Internal Options): ...this new @subsubsection. (cherry picked from commit 31461d2b651e1db6114cf7ab64ac1508410cf2f2) Diff: --- gcc/doc/invoke.texi | 73 ++++++++++++++++++++++++++++------------------------- 1 file changed, 39 insertions(+), 34 deletions(-) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 8f78fa17b896..63f5170f69e9 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -22815,11 +22815,6 @@ Do not save registers in @code{main}. The effect is the same like attaching attribute @ref{AVR Function Attributes,,@code{OS_task}} to @code{main}. It is activated per default if optimization is on. -@opindex mn-flash -@item -mn-flash=@var{num} -Assume that the flash memory has a size of -@var{num} times 64@tie{}KiB. - @opindex mno-interrupts @item -mno-interrupts Generated code is not compatible with hardware interrupts. @@ -22841,35 +22836,6 @@ differ from instructions in the assembler code. Relaxing must be turned on if linker stubs are needed, see the section on @code{EIND} and linker stubs below. -@opindex mrmw -@item -mrmw -Assume that the device supports the Read-Modify-Write -instructions @code{XCH}, @code{LAC}, @code{LAS} and @code{LAT}. - -@opindex mshort-calls -@item -mshort-calls - -Assume that @code{RJMP} and @code{RCALL} can target the whole -program memory. - -This option is used internally for multilib selection. It is -not an optimization option, and you don't need to set it by hand. - -@opindex msp8 -@item -msp8 -Treat the stack pointer register as an 8-bit register, -i.e.@: assume the high byte of the stack pointer is zero. -In general, you don't need to set this option by hand. - -This option is used internally by the compiler to select and -build multilibs for architectures @code{avr2} and @code{avr25}. -These architectures mix devices with and without @code{SPH}. -For any setting other than @option{-mmcu=avr2} or @option{-mmcu=avr25} -the compiler driver adds or removes this option from the compiler -proper's command line, because the compiler then knows if the device -or architecture has an 8-bit stack pointer and thus no @code{SPH} -register or not. - @opindex mstrict-X @item -mstrict-X Use address register @code{X} in a way proposed by the hardware. This means @@ -23299,6 +23265,45 @@ Reflects the @code{--with-libf7=@{libgcc|math|math-symbols@}} @end table +@subsubsection AVR Internal Options +The following options are used internally by the compiler and to communicate +between device specs files and the compiler proper. You don't need to set these +options by hand, in particular they are not optimization options. +Using these options in the wrong way may lead to sub-optimal or wrong code. +They are documented for completeness, and in order to get a better +understanding of +@w{@uref{https://gcc.gnu.org/wiki/avr-gcc#spec-files,device specs}} +files. + +@table @gcctabopt + +@opindex mn-flash +@item -mn-flash=@var{num} +Assume that the flash memory has a size of @var{num} times 64@tie{}KiB. +This determines which @code{__flash@var{N}} address spaces are available. + +@opindex mrmw +@item -mrmw +Assume that the device supports the Read-Modify-Write +instructions @code{XCH}, @code{LAC}, @code{LAS} and @code{LAT}. + +@opindex mshort-calls +@item -mshort-calls + +Assume that @code{RJMP} and @code{RCALL} can target the whole +program memory. This option is used for multilib generation and selection +for the devices from architecture @code{avrxmega3}. + +@opindex msp8 +@item -msp8 +Treat the stack pointer register as an 8-bit register, +i.e.@: assume the high byte of the stack pointer is zero. +This option is used by the compiler to select and +build multilibs for architectures @code{avr2} and @code{avr25}. +These architectures mix devices with and without @code{SPH}. + +@end table + @node Blackfin Options @subsection Blackfin Options @cindex Blackfin Options