From: Pietro Monteiro <pie...@sociotechnical.xyz> SH: Document extended asm operand modifers
gcc/ChangeLog: * doc/extend.texi (SH Operand Modifiers): New. Signed-off-by: Pietro Monteiro <pie...@sociotechnical.xyz> --- Tested by running "make info pdf html" and looking at the pdf and html output. I used the comment on "gcc/config/sh.cc:sh_print_operand()", SH's TARGET_PRINT_OPERAND function, as a guide. gcc/doc/extend.texi | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index c95df845634..f0d8eb59dde 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -12548,6 +12548,35 @@ The list below describes the supported modifiers and their effects for RISC-V. @item @code{i} @tab Print the character ''@code{i}'' if the operand is an immediate. @end multitable +@anchor{shOperandmodifiers} +@subsubsection SH Operand Modifiers + +The list below describes the supported modifiers and their effects for the SH family of processors. + +@multitable @columnfractions .10 .90 +@headitem Modifier @tab Description +@item @code{.} @tab Print ''@code{.s}'' if the instruction needs a delay slot. +@item @code{,} @tab Print ''@code{LOCAL_LABEL_PREFIX}''. +@item @code{@@} @tab Print ''@code{trap}'', ''@code{rte}'' or ''@code{rts}'' depending on the interrupt pragma used. +@item @code{#} @tab Print ''@code{nop}'' if there is nothing to put in the delay slot. +@item @code{'} @tab Print likelihood suffix (''@code{/u}'' for unlikely). +@item @code{>} @tab Print branch target if ''@code{-fverbose-asm}''. +@item @code{O} @tab Require a constant operand and print the constant expression with no punctuation. +@item @code{R} @tab Print the ''@code{LSW}'' of a dp value - changes if in little endian. +@item @code{S} @tab Print the ''@code{MSW}'' of a dp value - changes if in little endian. +@item @code{T} @tab Print the next word of a dp value - same as ''@code{R}'' in big endian mode. +@item @code{M} @tab Print ''@code{.b }'', ''@code{.w}'', ''@code{.l}'', ''@code{.s}'', ''@code{.d}'', suffix if operand is a MEM. +@item @code{N} @tab Print ''@code{r63}'' if the operand is ''@code{const_int 0}''. +@item @code{d} @tab Print a ''@code{V2SF}'' as ''@code{dN}'' instead of ''@code{fpN}''. +@item @code{m} @tab Print the pair ''@code{base,offset}'' or ''@code{base,index}'' for LD and ST. +@item @code{U} @tab Like ''@code{%m}'' for ''@code{LD}'' and ''@code{ST}'', ''@code{HI}'' and ''@code{LO}''. +@item @code{V} @tab Print the position of a single bit set. +@item @code{W} @tab Print the position of a single bit cleared. +@item @code{t} @tab Print a memory address which is a register. +@item @code{u} @tab Print the lowest 16 bits of ''@code{CONST_INT}'', as an unsigned value. +@item @code{o} @tab Print an operator. +@end multitable + @lowersections @include md.texi @raisesections -- 2.46.0