diff options
author | Alan Modra <amodra@gmail.com> | 2018-04-16 15:29:39 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2018-04-16 15:29:39 +0930 |
commit | 211dc24b8744ed14ee5c293e7ac164d02e1fa1fe (patch) | |
tree | fcddbd29b4505638de6f018301a674816da8e025 /gas/doc | |
parent | 4db9937a27496d2f62ac1dde76565809acd4ecde (diff) | |
download | fsf-binutils-gdb-211dc24b8744ed14ee5c293e7ac164d02e1fa1fe.zip fsf-binutils-gdb-211dc24b8744ed14ee5c293e7ac164d02e1fa1fe.tar.gz fsf-binutils-gdb-211dc24b8744ed14ee5c293e7ac164d02e1fa1fe.tar.bz2 |
Remove sh5 and sh64 support
include/
* dis-asm.h: Remove sh5 and sh64 support.
bfd/
* Makefile.am: Remove sh5 and sh64 support.
* archures.c: Likewise.
* config.bfd: Likewise.
* configure.ac: Likewise.
* cpu-sh.c: Likewise.
* elf32-sh-relocs.h: Likewise.
* elf32-sh.c: Likewise.
* targets.c: Likewise.
* elf32-sh64-com.c: Delete.
* elf32-sh64.c: Delete.
* elf32-sh64.h: Delete.
* elf64-sh64.c: Delete.
* Makefile.in: Regenerate.
* bfd-in2.h: Regenerate.
* configure: Regenerate.
* po/SRC-POTFILES.in: Regenerate.
opcodes/
* Makefile.am: Remove sh5 and sh64 support.
* configure.ac: Likewise.
* disassemble.c: Likewise.
* disassemble.h: Likewise.
* sh-dis.c: Likewise.
* sh64-dis.c: Delete.
* sh64-opc.c: Delete.
* sh64-opc.h: Delete.
* Makefile.in: Regenerate.
* configure: Regenerate.
* po/POTFILES.in: Regenerate.
bintuils/
* testsuite/binutils-all/objcopy.exp: Remove sh5 and sh64 support.
gas/
* Makefile.am: Remove sh5 and sh64 support.
* config/tc-sh.c: Likewise.
* configure.tgt: Likewise.
* doc/Makefile.am: Likewise.
* doc/as.texinfo: Likewise.
* testsuite/gas/cfi/cfi.exp: Likewise.
* testsuite/gas/sh/basic.exp: Likewise.
* config/tc-sh64.c: Delete.
* config/tc-sh64.h: Delete.
* doc/c-sh64.texi: Delete.
* testsuite/gas/sh/sh64/abi-32.d: Delete.
* testsuite/gas/sh/sh64/abi-32.s: Delete.
* testsuite/gas/sh/sh64/abi-64.d: Delete.
* testsuite/gas/sh/sh64/abi-64.s: Delete.
* testsuite/gas/sh/sh64/basic-1.d: Delete.
* testsuite/gas/sh/sh64/basic-1.s: Delete.
* testsuite/gas/sh/sh64/case-1.d: Delete.
* testsuite/gas/sh/sh64/case-1.s: Delete.
* testsuite/gas/sh/sh64/case-noexp-1.d: Delete.
* testsuite/gas/sh/sh64/crange1-1.d: Delete.
* testsuite/gas/sh/sh64/crange1-2.d: Delete.
* testsuite/gas/sh/sh64/crange1.s: Delete.
* testsuite/gas/sh/sh64/crange2-1.d: Delete.
* testsuite/gas/sh/sh64/crange2-2.d: Delete.
* testsuite/gas/sh/sh64/crange2-noexp-1.d: Delete.
* testsuite/gas/sh/sh64/crange2.s: Delete.
* testsuite/gas/sh/sh64/crange3-1.d: Delete.
* testsuite/gas/sh/sh64/crange3.s: Delete.
* testsuite/gas/sh/sh64/crange4-1.d: Delete.
* testsuite/gas/sh/sh64/crange4.s: Delete.
* testsuite/gas/sh/sh64/crange5-1.d: Delete.
* testsuite/gas/sh/sh64/crange5.s: Delete.
* testsuite/gas/sh/sh64/creg-1.d: Delete.
* testsuite/gas/sh/sh64/creg-1.s: Delete.
* testsuite/gas/sh/sh64/creg-2.d: Delete.
* testsuite/gas/sh/sh64/creg-2.s: Delete.
* testsuite/gas/sh/sh64/datal-1.s: Delete.
* testsuite/gas/sh/sh64/datal-2.d: Delete.
* testsuite/gas/sh/sh64/datal-2.s: Delete.
* testsuite/gas/sh/sh64/datal-3.s: Delete.
* testsuite/gas/sh/sh64/datal32-1.d: Delete.
* testsuite/gas/sh/sh64/datal32-3.d: Delete.
* testsuite/gas/sh/sh64/datal64-1.d: Delete.
* testsuite/gas/sh/sh64/datal64-3.d: Delete.
* testsuite/gas/sh/sh64/eh-1.d: Delete.
* testsuite/gas/sh/sh64/eh-1.s: Delete.
* testsuite/gas/sh/sh64/endian-1.d: Delete.
* testsuite/gas/sh/sh64/endian-1.s: Delete.
* testsuite/gas/sh/sh64/endian-2.d: Delete.
* testsuite/gas/sh/sh64/endian-2.s: Delete.
* testsuite/gas/sh/sh64/err-1.s: Delete.
* testsuite/gas/sh/sh64/err-2.s: Delete.
* testsuite/gas/sh/sh64/err-3.s: Delete.
* testsuite/gas/sh/sh64/err-4.s: Delete.
* testsuite/gas/sh/sh64/err-abi-32.s: Delete.
* testsuite/gas/sh/sh64/err-abi-64.s: Delete.
* testsuite/gas/sh/sh64/err-dsp.s: Delete.
* testsuite/gas/sh/sh64/err-movi-noexp-1.s: Delete.
* testsuite/gas/sh/sh64/err-noexp-cmd1.s: Delete.
* testsuite/gas/sh/sh64/err-pt-1.s: Delete.
* testsuite/gas/sh/sh64/err-pt32-cmd1.s: Delete.
* testsuite/gas/sh/sh64/err-pt32-cmd2.s: Delete.
* testsuite/gas/sh/sh64/err-pt32-cmd3.s: Delete.
* testsuite/gas/sh/sh64/err-ptb-1.s: Delete.
* testsuite/gas/sh/sh64/err-ptb-2.s: Delete.
* testsuite/gas/sh/sh64/err.exp: Delete.
* testsuite/gas/sh/sh64/immexpr1.s: Delete.
* testsuite/gas/sh/sh64/immexpr2.s: Delete.
* testsuite/gas/sh/sh64/immexpr32-1.d: Delete.
* testsuite/gas/sh/sh64/immexpr32-2.d: Delete.
* testsuite/gas/sh/sh64/immexpr64-1.d: Delete.
* testsuite/gas/sh/sh64/immexpr64-2.d: Delete.
* testsuite/gas/sh/sh64/lineno.d: Delete.
* testsuite/gas/sh/sh64/lineno.s: Delete.
* testsuite/gas/sh/sh64/localcom-1.d: Delete.
* testsuite/gas/sh/sh64/localcom-1.s: Delete.
* testsuite/gas/sh/sh64/mix-1.d: Delete.
* testsuite/gas/sh/sh64/mix-1.s: Delete.
* testsuite/gas/sh/sh64/mix-noexp-1.d: Delete.
* testsuite/gas/sh/sh64/movi-1.s: Delete.
* testsuite/gas/sh/sh64/movi-2.s: Delete.
* testsuite/gas/sh/sh64/movi-3.d: Delete.
* testsuite/gas/sh/sh64/movi-3.s: Delete.
* testsuite/gas/sh/sh64/movi32-1.d: Delete.
* testsuite/gas/sh/sh64/movi32-2.d: Delete.
* testsuite/gas/sh/sh64/movi32-noexp-2.d: Delete.
* testsuite/gas/sh/sh64/movi64-1.d: Delete.
* testsuite/gas/sh/sh64/movi64-2.d: Delete.
* testsuite/gas/sh/sh64/movi64-2.s: Delete.
* testsuite/gas/sh/sh64/movi64-3.d: Delete.
* testsuite/gas/sh/sh64/movi64-noexp-2.d: Delete.
* testsuite/gas/sh/sh64/pt-1.d: Delete.
* testsuite/gas/sh/sh64/pt-1.s: Delete.
* testsuite/gas/sh/sh64/pt-2.s: Delete.
* testsuite/gas/sh/sh64/pt-noexp-1.d: Delete.
* testsuite/gas/sh/sh64/pt32-1.d: Delete.
* testsuite/gas/sh/sh64/pt32-noexp-2.d: Delete.
* testsuite/gas/sh/sh64/pt64-1.d: Delete.
* testsuite/gas/sh/sh64/pt64-32-1.d: Delete.
* testsuite/gas/sh/sh64/pt64-32-2.d: Delete.
* testsuite/gas/sh/sh64/pt64-noexp-2.d: Delete.
* testsuite/gas/sh/sh64/ptc-1.s: Delete.
* testsuite/gas/sh/sh64/ptc32-1.d: Delete.
* testsuite/gas/sh/sh64/ptc32-noexp-1.d: Delete.
* testsuite/gas/sh/sh64/ptc64-1.d: Delete.
* testsuite/gas/sh/sh64/ptc64-32-1.d: Delete.
* testsuite/gas/sh/sh64/ptc64-noexp-1.d: Delete.
* testsuite/gas/sh/sh64/ptext-1.s: Delete.
* testsuite/gas/sh/sh64/ptext32-1.d: Delete.
* testsuite/gas/sh/sh64/ptext32-noexp-1.d: Delete.
* testsuite/gas/sh/sh64/ptext64-1.d: Delete.
* testsuite/gas/sh/sh64/ptext64-32-1.d: Delete.
* testsuite/gas/sh/sh64/ptext64-noexp-1.d: Delete.
* testsuite/gas/sh/sh64/rel-1.s: Delete.
* testsuite/gas/sh/sh64/rel-2.s: Delete.
* testsuite/gas/sh/sh64/rel-3.s: Delete.
* testsuite/gas/sh/sh64/rel-4.s: Delete.
* testsuite/gas/sh/sh64/rel-5.s: Delete.
* testsuite/gas/sh/sh64/rel32-1.d: Delete.
* testsuite/gas/sh/sh64/rel32-2.d: Delete.
* testsuite/gas/sh/sh64/rel32-3.d: Delete.
* testsuite/gas/sh/sh64/rel32-4.d: Delete.
* testsuite/gas/sh/sh64/rel32-5.d: Delete.
* testsuite/gas/sh/sh64/rel64-1.d: Delete.
* testsuite/gas/sh/sh64/rel64-2.d: Delete.
* testsuite/gas/sh/sh64/rel64-3.d: Delete.
* testsuite/gas/sh/sh64/rel64-4.d: Delete.
* testsuite/gas/sh/sh64/rel64-5.d: Delete.
* testsuite/gas/sh/sh64/relax-1.d: Delete.
* testsuite/gas/sh/sh64/relax-1.s: Delete.
* testsuite/gas/sh/sh64/relax-2.d: Delete.
* testsuite/gas/sh/sh64/relax-2.s: Delete.
* testsuite/gas/sh/sh64/relax-3.d: Delete.
* testsuite/gas/sh/sh64/relax-3.s: Delete.
* testsuite/gas/sh/sh64/sh64.exp: Delete.
* testsuite/gas/sh/sh64/shift-1.s: Delete.
* testsuite/gas/sh/sh64/shift-2.s: Delete.
* testsuite/gas/sh/sh64/shift-3.s: Delete.
* testsuite/gas/sh/sh64/shift32-1.d: Delete.
* testsuite/gas/sh/sh64/shift32-3.d: Delete.
* testsuite/gas/sh/sh64/shift32-noexp-3.d: Delete.
* testsuite/gas/sh/sh64/shift64-1.d: Delete.
* testsuite/gas/sh/sh64/shift64-2.d: Delete.
* testsuite/gas/sh/sh64/shift64-3.d: Delete.
* testsuite/gas/sh/sh64/shift64-noexp-3.d: Delete.
* testsuite/gas/sh/sh64/syntax-1.d: Delete.
* testsuite/gas/sh/sh64/syntax-1.s: Delete.
* testsuite/gas/sh/sh64/syntax-2.d: Delete.
* testsuite/gas/sh/sh64/syntax-2.s: Delete.
* testsuite/gas/sh/sh64/ua-1.s: Delete.
* testsuite/gas/sh/sh64/ua32-1.d: Delete.
* testsuite/gas/sh/sh64/ua64-1.d: Delete.
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
* po/POTFILES.in: Regenerate.
ld/
* Makefile.am: Remove sh5 and sh64 support.
* configure.tgt: Likewise.
* ldlang.c: Likewise.
* testsuite/ld-elfcomm/elfcomm.exp: Likewise.
* testsuite/ld-gc/gc.exp: Likewise.
* testsuite/ld-gc/pr13683.d: Likewise.
* testsuite/ld-scripts/crossref.exp: Likewise.
* testsuite/ld-selective/selective.exp: Likewise.
* testsuite/ld-sh/ld-r-1.d: Likewise.
* testsuite/ld-sh/rd-sh.exp: Likewise.
* testsuite/ld-sh/sh.exp: Likewise.
* testsuite/ld-srec/srec.exp: Likewise.
* testsuite/ld-undefined/undefined.exp: Likewise.
* emulparams/shelf32.sh: Delete.
* emulparams/shelf32_linux.sh: Delete.
* emulparams/shelf32_nbsd.sh: Delete.
* emulparams/shelf64.sh: Delete.
* emulparams/shelf64_nbsd.sh: Delete.
* emulparams/shlelf32.sh: Delete.
* emulparams/shlelf32_linux.sh: Delete.
* emulparams/shlelf32_nbsd.sh: Delete.
* emulparams/shlelf64.sh: Delete.
* emulparams/shlelf64_nbsd.sh: Delete.
* emultempl/sh64elf.em: Delete.
* testsuite/ld-sh/sh64/abi32.sd: Delete.
* testsuite/ld-sh/sh64/abi32.xd: Delete.
* testsuite/ld-sh/sh64/abi64.sd: Delete.
* testsuite/ld-sh/sh64/abi64.xd: Delete.
* testsuite/ld-sh/sh64/abixx-noexp.sd: Delete.
* testsuite/ld-sh/sh64/cmpct1.sd: Delete.
* testsuite/ld-sh/sh64/cmpct1.xd: Delete.
* testsuite/ld-sh/sh64/crange-1.s: Delete.
* testsuite/ld-sh/sh64/crange-2a.s: Delete.
* testsuite/ld-sh/sh64/crange-2b.s: Delete.
* testsuite/ld-sh/sh64/crange-2c.s: Delete.
* testsuite/ld-sh/sh64/crange-2d.s: Delete.
* testsuite/ld-sh/sh64/crange-2e.s: Delete.
* testsuite/ld-sh/sh64/crange-2f.s: Delete.
* testsuite/ld-sh/sh64/crange-2g.s: Delete.
* testsuite/ld-sh/sh64/crange-2h.s: Delete.
* testsuite/ld-sh/sh64/crange-2i.s: Delete.
* testsuite/ld-sh/sh64/crange1.rd: Delete.
* testsuite/ld-sh/sh64/crange2.rd: Delete.
* testsuite/ld-sh/sh64/crange3-cmpct.rd: Delete.
* testsuite/ld-sh/sh64/crange3-media.rd: Delete.
* testsuite/ld-sh/sh64/crange3.dd: Delete.
* testsuite/ld-sh/sh64/crange3.rd: Delete.
* testsuite/ld-sh/sh64/crangerel1.rd: Delete.
* testsuite/ld-sh/sh64/crangerel2.rd: Delete.
* testsuite/ld-sh/sh64/dlsection-1.s: Delete.
* testsuite/ld-sh/sh64/dlsection.sd: Delete.
* testsuite/ld-sh/sh64/endian.dbd: Delete.
* testsuite/ld-sh/sh64/endian.dld: Delete.
* testsuite/ld-sh/sh64/endian.ld: Delete.
* testsuite/ld-sh/sh64/endian.s: Delete.
* testsuite/ld-sh/sh64/endian.sbd: Delete.
* testsuite/ld-sh/sh64/endian.sld: Delete.
* testsuite/ld-sh/sh64/gotplt.d: Delete.
* testsuite/ld-sh/sh64/gotplt.map: Delete.
* testsuite/ld-sh/sh64/gotplt.s: Delete.
* testsuite/ld-sh/sh64/init-cmpct.d: Delete.
* testsuite/ld-sh/sh64/init-media.d: Delete.
* testsuite/ld-sh/sh64/init.s: Delete.
* testsuite/ld-sh/sh64/init64.d: Delete.
* testsuite/ld-sh/sh64/mix1-noexp.sd: Delete.
* testsuite/ld-sh/sh64/mix1.sd: Delete.
* testsuite/ld-sh/sh64/mix1.xd: Delete.
* testsuite/ld-sh/sh64/mix2-noexp.sd: Delete.
* testsuite/ld-sh/sh64/mix2.sd: Delete.
* testsuite/ld-sh/sh64/mix2.xd: Delete.
* testsuite/ld-sh/sh64/rd-sh64.exp: Delete.
* testsuite/ld-sh/sh64/rel-1.s: Delete.
* testsuite/ld-sh/sh64/rel-2.s: Delete.
* testsuite/ld-sh/sh64/rel32.xd: Delete.
* testsuite/ld-sh/sh64/rel64.xd: Delete.
* testsuite/ld-sh/sh64/relax.exp: Delete.
* testsuite/ld-sh/sh64/relax1.s: Delete.
* testsuite/ld-sh/sh64/relax2.s: Delete.
* testsuite/ld-sh/sh64/relax3.s: Delete.
* testsuite/ld-sh/sh64/relax4.s: Delete.
* testsuite/ld-sh/sh64/reldl-1.s: Delete.
* testsuite/ld-sh/sh64/reldl-2.s: Delete.
* testsuite/ld-sh/sh64/reldl32.rd: Delete.
* testsuite/ld-sh/sh64/reldl64.rd: Delete.
* testsuite/ld-sh/sh64/relfail.exp: Delete.
* testsuite/ld-sh/sh64/relfail.s: Delete.
* testsuite/ld-sh/sh64/sh64-1.s: Delete.
* testsuite/ld-sh/sh64/sh64-2.s: Delete.
* testsuite/ld-sh/sh64/sh64.exp: Delete.
* testsuite/ld-sh/sh64/shcmp-1.s: Delete.
* testsuite/ld-sh/sh64/shdl-1.s: Delete.
* testsuite/ld-sh/sh64/shdl-2.s: Delete.
* testsuite/ld-sh/sh64/shdl32.xd: Delete.
* testsuite/ld-sh/sh64/shdl64.sd: Delete.
* testsuite/ld-sh/sh64/shdl64.xd: Delete.
* testsuite/ld-sh/sh64/shmix-1.s: Delete.
* testsuite/ld-sh/sh64/shmix-2.s: Delete.
* testsuite/ld-sh/sh64/shmix-3.s: Delete.
* testsuite/ld-sh/sh64/stobin-0-dso.d: Delete.
* testsuite/ld-sh/sh64/stobin-1.d: Delete.
* testsuite/ld-sh/sh64/stobin.s: Delete.
* testsuite/ld-sh/sh64/stolib.s: Delete.
* Makefile.in: Regenerate.
* po/BLD-POTFILES.in: Regenerate.
Diffstat (limited to 'gas/doc')
-rw-r--r-- | gas/doc/Makefile.am | 1 | ||||
-rw-r--r-- | gas/doc/Makefile.in | 1 | ||||
-rw-r--r-- | gas/doc/as.texinfo | 2 | ||||
-rw-r--r-- | gas/doc/c-sh64.texi | 219 |
4 files changed, 0 insertions, 223 deletions
diff --git a/gas/doc/Makefile.am b/gas/doc/Makefile.am index 79d646d..8089358 100644 --- a/gas/doc/Makefile.am +++ b/gas/doc/Makefile.am @@ -84,7 +84,6 @@ CPU_DOCS = \ c-s390.texi \ c-score.texi \ c-sh.texi \ - c-sh64.texi \ c-sparc.texi \ c-tic54x.texi \ c-tic6x.texi \ diff --git a/gas/doc/Makefile.in b/gas/doc/Makefile.in index d4b0cf8..643df61 100644 --- a/gas/doc/Makefile.in +++ b/gas/doc/Makefile.in @@ -359,7 +359,6 @@ CPU_DOCS = \ c-s390.texi \ c-score.texi \ c-sh.texi \ - c-sh64.texi \ c-sparc.texi \ c-tic54x.texi \ c-tic6x.texi \ diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo index 76ee990..e1ff851 100644 --- a/gas/doc/as.texinfo +++ b/gas/doc/as.texinfo @@ -7609,7 +7609,6 @@ subject, see the hardware manufacturer's manual. @end ifset @ifset SH * SH-Dependent:: Renesas / SuperH SH Dependent Features -* SH64-Dependent:: SuperH SH64 Dependent Features @end ifset @ifset SPARC * Sparc-Dependent:: SPARC Dependent Features @@ -7838,7 +7837,6 @@ family. @ifset SH @include c-sh.texi -@include c-sh64.texi @end ifset @ifset SPARC diff --git a/gas/doc/c-sh64.texi b/gas/doc/c-sh64.texi deleted file mode 100644 index 30737a6..0000000 --- a/gas/doc/c-sh64.texi +++ /dev/null @@ -1,219 +0,0 @@ -@c Copyright (C) 2002-2018 Free Software Foundation, Inc. -@c This is part of the GAS manual. -@c For copying conditions, see the file as.texinfo. -@page -@node SH64-Dependent -@chapter SuperH SH64 Dependent Features - -@cindex SH64 support -@menu -* SH64 Options:: Options -* SH64 Syntax:: Syntax -* SH64 Directives:: SH64 Machine Directives -* SH64 Opcodes:: Opcodes -@end menu - -@node SH64 Options -@section Options - -@cindex SH64 options -@cindex options, SH64 -@table @code - -@cindex SH64 ISA options -@cindex ISA options, SH64 -@item -isa=sh4 | sh4a -Specify the sh4 or sh4a instruction set. -@item -isa=dsp -Enable sh-dsp insns, and disable sh3e / sh4 insns. -@item -isa=fp -Enable sh2e, sh3e, sh4, and sh4a insn sets. -@item -isa=all -Enable sh1, sh2, sh2e, sh3, sh3e, sh4, sh4a, and sh-dsp insn sets. -@item -isa=shmedia | -isa=shcompact -Specify the default instruction set. @code{SHmedia} specifies the -32-bit opcodes, and @code{SHcompact} specifies the 16-bit opcodes -compatible with previous SH families. The default depends on the ABI -selected; the default for the 64-bit ABI is SHmedia, and the default for -the 32-bit ABI is SHcompact. If neither the ABI nor the ISA is -specified, the default is 32-bit SHcompact. - -Note that the @code{.mode} pseudo-op is not permitted if the ISA is not -specified on the command line. - -@cindex SH64 ABI options -@cindex ABI options, SH64 -@item -abi=32 | -abi=64 -Specify the default ABI. If the ISA is specified and the ABI is not, -the default ABI depends on the ISA, with SHmedia defaulting to 64-bit -and SHcompact defaulting to 32-bit. - -Note that the @code{.abi} pseudo-op is not permitted if the ABI is not -specified on the command line. When the ABI is specified on the command -line, any @code{.abi} pseudo-ops in the source must match it. - -@item -shcompact-const-crange -Emit code-range descriptors for constants in SHcompact code sections. - -@item -no-mix -Disallow SHmedia code in the same section as constants and SHcompact -code. - -@item -no-expand -Do not expand MOVI, PT, PTA or PTB instructions. - -@item -expand-pt32 -With -abi=64, expand PT, PTA and PTB instructions to 32 bits only. - -@item -h-tick-hex -Support H'00 style hex constants in addition to 0x00 style. - -@end table - -@node SH64 Syntax -@section Syntax - -@menu -* SH64-Chars:: Special Characters -* SH64-Regs:: Register Names -* SH64-Addressing:: Addressing Modes -@end menu - -@node SH64-Chars -@subsection Special Characters - -@cindex line comment character, SH64 -@cindex SH64 line comment character -@samp{!} is the line comment character. - -If a @samp{#} appears as the first character of a line then the whole -line is treated as a comment, but in this case the line could also be -a logical line number directive (@pxref{Comments}) or a preprocessor -control command (@pxref{Preprocessing}). - -@cindex line separator, SH64 -@cindex statement separator, SH64 -@cindex SH64 line separator -You can use @samp{;} instead of a newline to separate statements. - -@cindex symbol names, @samp{$} in -@cindex @code{$} in symbol names -Since @samp{$} has no special meaning, you may use it in symbol names. - -@node SH64-Regs -@subsection Register Names - -@cindex SH64 registers -@cindex registers, SH64 -You can use the predefined symbols @samp{r0} through @samp{r63} to refer -to the SH64 general registers, @samp{cr0} through @code{cr63} for -control registers, @samp{tr0} through @samp{tr7} for target address -registers, @samp{fr0} through @samp{fr63} for single-precision floating -point registers, @samp{dr0} through @samp{dr62} (even numbered registers -only) for double-precision floating point registers, @samp{fv0} through -@samp{fv60} (multiples of four only) for single-precision floating point -vectors, @samp{fp0} through @samp{fp62} (even numbered registers only) -for single-precision floating point pairs, @samp{mtrx0} through -@samp{mtrx48} (multiples of 16 only) for 4x4 matrices of -single-precision floating point registers, @samp{pc} for the program -counter, and @samp{fpscr} for the floating point status and control -register. - -You can also refer to the control registers by the mnemonics @samp{sr}, -@samp{ssr}, @samp{pssr}, @samp{intevt}, @samp{expevt}, @samp{pexpevt}, -@samp{tra}, @samp{spc}, @samp{pspc}, @samp{resvec}, @samp{vbr}, -@samp{tea}, @samp{dcr}, @samp{kcr0}, @samp{kcr1}, @samp{ctc}, and -@samp{usr}. - -@node SH64-Addressing -@subsection Addressing Modes - -@cindex addressing modes, SH64 -@cindex SH64 addressing modes - -SH64 operands consist of either a register or immediate value. The -immediate value can be a constant or label reference (or portion of a -label reference), as in this example: - -@example - movi 4,r2 - pt function, tr4 - movi (function >> 16) & 65535,r0 - shori function & 65535, r0 - ld.l r0,4,r0 -@end example - -@cindex datalabel, SH64 -Instruction label references can reference labels in either SHmedia or -SHcompact. To differentiate between the two, labels in SHmedia sections -will always have the least significant bit set (i.e. they will be odd), -which SHcompact labels will have the least significant bit reset -(i.e. they will be even). If you need to reference the actual address -of a label, you can use the @code{datalabel} modifier, as in this -example: - -@example - .long function - .long datalabel function -@end example - -In that example, the first longword may or may not have the least -significant bit set depending on whether the label is an SHmedia label -or an SHcompact label. The second longword will be the actual address -of the label, regardless of what type of label it is. - -@node SH64 Directives -@section SH64 Machine Directives - -In addition to the SH directives, the SH64 provides the following -directives: - -@cindex SH64 machine directives -@cindex machine directives, SH64 - -@table @code - -@item .mode [shmedia|shcompact] -@itemx .isa [shmedia|shcompact] -Specify the ISA for the following instructions (the two directives are -equivalent). Note that programs such as @code{objdump} rely on symbolic -labels to determine when such mode switches occur (by checking the least -significant bit of the label's address), so such mode/isa changes should -always be followed by a label (in practice, this is true anyway). Note -that you cannot use these directives if you didn't specify an ISA on the -command line. - -@item .abi [32|64] -Specify the ABI for the following instructions. Note that you cannot use -this directive unless you specified an ABI on the command line, and the -ABIs specified must match. - -@end table - -@node SH64 Opcodes -@section Opcodes - -@cindex SH64 opcode summary -@cindex opcode summary, SH64 -@cindex mnemonics, SH64 -@cindex instruction summary, SH64 -For detailed information on the SH64 machine instruction set, see -@cite{SuperH 64 bit RISC Series Architecture Manual} (SuperH, Inc.). - -@code{@value{AS}} implements all the standard SH64 opcodes. In -addition, the following pseudo-opcodes may be expanded into one or more -alternate opcodes: - -@table @code - -@item movi -If the value doesn't fit into a standard @code{movi} opcode, -@code{@value{AS}} will replace the @code{movi} with a sequence of -@code{movi} and @code{shori} opcodes. - -@item pt -This expands to a sequence of @code{movi} and @code{shori} opcode, -followed by a @code{ptrel} opcode, or to a @code{pta} or @code{ptb} -opcode, depending on the label referenced. - -@end table |