Add Visium support to gas
gas/ * configure.tgt: Add Visium support. * Makefile.am (TARGET_CPU_CFILES): Move config/tc-vax.c around and add config/tc-visium.c. (TARGET_CPU_HFILES): Move config/tc-vax.h around and add config/tc-visium.h. * Makefile.in: Regenerate. * config/tc-visium.c: New file. * config/tc-visium.h: Likewise. * po/POTFILES.in: Regenerate. gas/testsuite/ * gas/elf/elf.exp: Skip ifunc-1 for Visium. * gas/visium/: New directory.
This commit is contained in:
parent
619ed72008
commit
b6605dddac
@ -1,3 +1,15 @@
|
||||
2014-12-06 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* configure.tgt: Add Visium support.
|
||||
* Makefile.am (TARGET_CPU_CFILES): Move config/tc-vax.c around
|
||||
and add config/tc-visium.c.
|
||||
(TARGET_CPU_HFILES): Move config/tc-vax.h around and add
|
||||
config/tc-visium.h.
|
||||
* Makefile.in: Regenerate.
|
||||
* config/tc-visium.c: New file.
|
||||
* config/tc-visium.h: Likewise.
|
||||
* po/POTFILES.in: Regenerate.
|
||||
|
||||
2014-11-28 Sandra Loosemore <sandra@codesourcery.com>
|
||||
|
||||
* config/tc-nios2.c (can_evaluate_expr, get_expr_value): Delete.
|
||||
|
@ -185,8 +185,9 @@ TARGET_CPU_CFILES = \
|
||||
config/tc-tic6x.c \
|
||||
config/tc-tilegx.c \
|
||||
config/tc-tilepro.c \
|
||||
config/tc-vax.c \
|
||||
config/tc-v850.c \
|
||||
config/tc-vax.c \
|
||||
config/tc-visium.c \
|
||||
config/tc-xstormy16.c \
|
||||
config/tc-xc16x.c \
|
||||
config/tc-xgate.c \
|
||||
@ -256,8 +257,9 @@ TARGET_CPU_HFILES = \
|
||||
config/tc-tic6x.h \
|
||||
config/tc-tilegx.h \
|
||||
config/tc-tilepro.h \
|
||||
config/tc-vax.h \
|
||||
config/tc-v850.h \
|
||||
config/tc-vax.h \
|
||||
config/tc-visium.h \
|
||||
config/tc-xstormy16.h \
|
||||
config/tc-xc16x.h \
|
||||
config/tc-xgate.h \
|
||||
|
@ -454,8 +454,9 @@ TARGET_CPU_CFILES = \
|
||||
config/tc-tic6x.c \
|
||||
config/tc-tilegx.c \
|
||||
config/tc-tilepro.c \
|
||||
config/tc-vax.c \
|
||||
config/tc-v850.c \
|
||||
config/tc-vax.c \
|
||||
config/tc-visium.c \
|
||||
config/tc-xstormy16.c \
|
||||
config/tc-xc16x.c \
|
||||
config/tc-xgate.c \
|
||||
@ -525,8 +526,9 @@ TARGET_CPU_HFILES = \
|
||||
config/tc-tic6x.h \
|
||||
config/tc-tilegx.h \
|
||||
config/tc-tilepro.h \
|
||||
config/tc-vax.h \
|
||||
config/tc-v850.h \
|
||||
config/tc-vax.h \
|
||||
config/tc-visium.h \
|
||||
config/tc-xstormy16.h \
|
||||
config/tc-xc16x.h \
|
||||
config/tc-xgate.h \
|
||||
@ -882,6 +884,7 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-tilepro.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-v850.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-vax.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-visium.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-xc16x.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-xgate.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-xstormy16.Po@am__quote@
|
||||
@ -1767,6 +1770,20 @@ tc-tilepro.obj: config/tc-tilepro.c
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-tilepro.obj `if test -f 'config/tc-tilepro.c'; then $(CYGPATH_W) 'config/tc-tilepro.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-tilepro.c'; fi`
|
||||
|
||||
tc-v850.o: config/tc-v850.c
|
||||
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-v850.o -MD -MP -MF $(DEPDIR)/tc-v850.Tpo -c -o tc-v850.o `test -f 'config/tc-v850.c' || echo '$(srcdir)/'`config/tc-v850.c
|
||||
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/tc-v850.Tpo $(DEPDIR)/tc-v850.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config/tc-v850.c' object='tc-v850.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-v850.o `test -f 'config/tc-v850.c' || echo '$(srcdir)/'`config/tc-v850.c
|
||||
|
||||
tc-v850.obj: config/tc-v850.c
|
||||
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-v850.obj -MD -MP -MF $(DEPDIR)/tc-v850.Tpo -c -o tc-v850.obj `if test -f 'config/tc-v850.c'; then $(CYGPATH_W) 'config/tc-v850.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-v850.c'; fi`
|
||||
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/tc-v850.Tpo $(DEPDIR)/tc-v850.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config/tc-v850.c' object='tc-v850.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-v850.obj `if test -f 'config/tc-v850.c'; then $(CYGPATH_W) 'config/tc-v850.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-v850.c'; fi`
|
||||
|
||||
tc-vax.o: config/tc-vax.c
|
||||
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-vax.o -MD -MP -MF $(DEPDIR)/tc-vax.Tpo -c -o tc-vax.o `test -f 'config/tc-vax.c' || echo '$(srcdir)/'`config/tc-vax.c
|
||||
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/tc-vax.Tpo $(DEPDIR)/tc-vax.Po
|
||||
@ -1781,19 +1798,19 @@ tc-vax.obj: config/tc-vax.c
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-vax.obj `if test -f 'config/tc-vax.c'; then $(CYGPATH_W) 'config/tc-vax.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-vax.c'; fi`
|
||||
|
||||
tc-v850.o: config/tc-v850.c
|
||||
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-v850.o -MD -MP -MF $(DEPDIR)/tc-v850.Tpo -c -o tc-v850.o `test -f 'config/tc-v850.c' || echo '$(srcdir)/'`config/tc-v850.c
|
||||
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/tc-v850.Tpo $(DEPDIR)/tc-v850.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config/tc-v850.c' object='tc-v850.o' libtool=no @AMDEPBACKSLASH@
|
||||
tc-visium.o: config/tc-visium.c
|
||||
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-visium.o -MD -MP -MF $(DEPDIR)/tc-visium.Tpo -c -o tc-visium.o `test -f 'config/tc-visium.c' || echo '$(srcdir)/'`config/tc-visium.c
|
||||
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/tc-visium.Tpo $(DEPDIR)/tc-visium.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config/tc-visium.c' object='tc-visium.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-v850.o `test -f 'config/tc-v850.c' || echo '$(srcdir)/'`config/tc-v850.c
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-visium.o `test -f 'config/tc-visium.c' || echo '$(srcdir)/'`config/tc-visium.c
|
||||
|
||||
tc-v850.obj: config/tc-v850.c
|
||||
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-v850.obj -MD -MP -MF $(DEPDIR)/tc-v850.Tpo -c -o tc-v850.obj `if test -f 'config/tc-v850.c'; then $(CYGPATH_W) 'config/tc-v850.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-v850.c'; fi`
|
||||
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/tc-v850.Tpo $(DEPDIR)/tc-v850.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config/tc-v850.c' object='tc-v850.obj' libtool=no @AMDEPBACKSLASH@
|
||||
tc-visium.obj: config/tc-visium.c
|
||||
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-visium.obj -MD -MP -MF $(DEPDIR)/tc-visium.Tpo -c -o tc-visium.obj `if test -f 'config/tc-visium.c'; then $(CYGPATH_W) 'config/tc-visium.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-visium.c'; fi`
|
||||
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/tc-visium.Tpo $(DEPDIR)/tc-visium.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config/tc-visium.c' object='tc-visium.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-v850.obj `if test -f 'config/tc-v850.c'; then $(CYGPATH_W) 'config/tc-v850.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-v850.c'; fi`
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-visium.obj `if test -f 'config/tc-visium.c'; then $(CYGPATH_W) 'config/tc-visium.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-visium.c'; fi`
|
||||
|
||||
tc-xstormy16.o: config/tc-xstormy16.c
|
||||
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-xstormy16.o -MD -MP -MF $(DEPDIR)/tc-xstormy16.Tpo -c -o tc-xstormy16.o `test -f 'config/tc-xstormy16.c' || echo '$(srcdir)/'`config/tc-xstormy16.c
|
||||
|
2308
gas/config/tc-visium.c
Normal file
2308
gas/config/tc-visium.c
Normal file
File diff suppressed because it is too large
Load Diff
79
gas/config/tc-visium.h
Normal file
79
gas/config/tc-visium.h
Normal file
@ -0,0 +1,79 @@
|
||||
/* tc-visium.h -- Header file for tc-visium.c.
|
||||
|
||||
Copyright (C) 2005-2014 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GAS, the GNU Assembler.
|
||||
|
||||
GAS 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 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GAS 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 GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#define TC_VISIUM
|
||||
|
||||
#define LISTING_HEADER "VISIUM GAS "
|
||||
|
||||
/* The target BFD architecture. */
|
||||
#define TARGET_ARCH bfd_arch_visium
|
||||
|
||||
#define TARGET_BYTES_BIG_ENDIAN 1
|
||||
|
||||
#define TARGET_FORMAT "elf32-visium"
|
||||
|
||||
/* Permit temporary numeric labels. */
|
||||
#define LOCAL_LABELS_FB 1
|
||||
|
||||
/* .-foo gets turned into PC relative relocs. */
|
||||
#define DIFF_EXPR_OK
|
||||
|
||||
/* We don't support external symbols overriding. */
|
||||
#define EXTERN_FORCE_RELOC 0
|
||||
|
||||
/* We don't need to handle .word strangely. */
|
||||
#define WORKING_DOT_WORD
|
||||
|
||||
#define tc_fix_adjustable(FIXP) visium_fix_adjustable (FIXP)
|
||||
extern bfd_boolean visium_fix_adjustable (struct fix *);
|
||||
|
||||
#define HANDLE_ALIGN(FRAGP) \
|
||||
if ((FRAGP)->fr_type == rs_align_code) \
|
||||
visium_handle_align (FRAGP);
|
||||
extern void visium_handle_align (struct frag *);
|
||||
|
||||
#define md_relax_frag(segment, fragp, stretch) \
|
||||
visium_relax_frag (segment, fragp, stretch)
|
||||
extern int visium_relax_frag (asection *, struct frag *, long);
|
||||
|
||||
/* Call md_pcrel_from_section, not md_pcrel_from. */
|
||||
#define MD_PCREL_FROM_SECTION(FIXP, SEC) visium_pcrel_from_section (FIXP, SEC)
|
||||
extern long visium_pcrel_from_section (struct fix *, segT);
|
||||
|
||||
/* Values passed to md_apply_fix3 don't include the symbol value. */
|
||||
#define MD_APPLY_SYM_VALUE(FIX) 0
|
||||
|
||||
#define md_operand(x)
|
||||
|
||||
#define tc_comment_chars visium_comment_chars
|
||||
extern const char *visium_comment_chars;
|
||||
|
||||
#define TARGET_USE_CFIPOP 1
|
||||
|
||||
#define tc_cfi_frame_initial_instructions visium_cfi_frame_initial_instructions
|
||||
extern void visium_cfi_frame_initial_instructions (void);
|
||||
|
||||
#define tc_regname_to_dw2regnum visium_regname_to_dw2regnum
|
||||
extern int visium_regname_to_dw2regnum (char *regname);
|
||||
|
||||
#define DWARF2_LINE_MIN_INSN_LENGTH 4
|
||||
#define DWARF2_DEFAULT_RETURN_COLUMN 21
|
||||
#define DWARF2_CIE_DATA_ALIGNMENT (-4)
|
@ -107,6 +107,7 @@ case ${cpu} in
|
||||
tilegx*be) cpu_type=tilegx endian=big ;;
|
||||
tilegx*) cpu_type=tilegx endian=little ;;
|
||||
v850*) cpu_type=v850 ;;
|
||||
visium) cpu_type=visium endian=big ;;
|
||||
x86_64*) cpu_type=i386 arch=x86_64;;
|
||||
xgate) cpu_type=xgate ;;
|
||||
xtensa*) cpu_type=xtensa arch=xtensa ;;
|
||||
@ -453,6 +454,8 @@ case ${generic_target} in
|
||||
vax-*-netbsdelf*) fmt=elf em=nbsd ;;
|
||||
vax-*-linux-*) fmt=elf em=linux ;;
|
||||
|
||||
visium-*-elf) fmt=elf ;;
|
||||
|
||||
xstormy16-*-*) fmt=elf ;;
|
||||
|
||||
xgate-*-*) fmt=elf ;;
|
||||
|
@ -91,8 +91,9 @@ CPU_DOCS = \
|
||||
c-tic6x.texi \
|
||||
c-tilegx.texi \
|
||||
c-tilepro.texi \
|
||||
c-vax.texi \
|
||||
c-v850.texi \
|
||||
c-vax.texi \
|
||||
c-visium.texi \
|
||||
c-xgate.texi \
|
||||
c-xstormy16.texi \
|
||||
c-xtensa.texi \
|
||||
|
@ -333,8 +333,9 @@ CPU_DOCS = \
|
||||
c-tic6x.texi \
|
||||
c-tilegx.texi \
|
||||
c-tilepro.texi \
|
||||
c-vax.texi \
|
||||
c-v850.texi \
|
||||
c-vax.texi \
|
||||
c-visium.texi \
|
||||
c-xgate.texi \
|
||||
c-xstormy16.texi \
|
||||
c-xtensa.texi \
|
||||
|
@ -74,6 +74,7 @@
|
||||
@set TILEPRO
|
||||
@set V850
|
||||
@set VAX
|
||||
@set VISIUM
|
||||
@set XGATE
|
||||
@set XSTORMY16
|
||||
@set XTENSA
|
||||
|
@ -529,7 +529,6 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}.
|
||||
[@b{-mcpu=54[123589]}|@b{-mcpu=54[56]lp}] [@b{-mfar-mode}|@b{-mf}]
|
||||
[@b{-merrors-to-file} @var{<filename>}|@b{-me} @var{<filename>}]
|
||||
@end ifset
|
||||
|
||||
@ifset TIC6X
|
||||
|
||||
@emph{Target TIC6X options:}
|
||||
@ -545,7 +544,11 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}.
|
||||
@ifset TILEPRO
|
||||
@c TILEPro has no machine-dependent assembler options
|
||||
@end ifset
|
||||
@ifset VISIUM
|
||||
|
||||
@emph{Target Visium options:}
|
||||
[@b{-mtune=@var{arch}}]
|
||||
@end ifset
|
||||
@ifset XTENSA
|
||||
|
||||
@emph{Target Xtensa options:}
|
||||
@ -555,7 +558,6 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}.
|
||||
[@b{--rename-section} @var{oldname}=@var{newname}]
|
||||
[@b{--[no-]trampolines}]
|
||||
@end ifset
|
||||
|
||||
@ifset Z80
|
||||
|
||||
@emph{Target Z80 options:}
|
||||
@ -567,8 +569,8 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}.
|
||||
[@b{ -forbid-undocumented-instructions}] [@b{-Fud}]
|
||||
[@b{ -forbid-unportable-instructions}] [@b{-Fup}]
|
||||
@end ifset
|
||||
|
||||
@ifset Z8000
|
||||
|
||||
@c Z8000 has no machine-dependent assembler options
|
||||
@end ifset
|
||||
|
||||
@ -1638,6 +1640,25 @@ processor.
|
||||
|
||||
@end ifset
|
||||
|
||||
@ifset VISIUM
|
||||
|
||||
@ifclear man
|
||||
@xref{Visium Options}, for the options available when @value{AS} is configured
|
||||
for a Visium processor.
|
||||
@end ifclear
|
||||
|
||||
@ifset man
|
||||
@c man begin OPTIONS
|
||||
The following option is available when @value{AS} is configured for a Visium
|
||||
processor.
|
||||
@c man end
|
||||
@c man begin INCLUDE
|
||||
@include c-visium.texi
|
||||
@c ended inside the included file
|
||||
@end ifset
|
||||
|
||||
@end ifset
|
||||
|
||||
@ifset XTENSA
|
||||
|
||||
@ifclear man
|
||||
@ -7268,6 +7289,12 @@ subject, see the hardware manufacturer's manual.
|
||||
@ifset V850
|
||||
* V850-Dependent:: V850 Dependent Features
|
||||
@end ifset
|
||||
@ifset VAX
|
||||
* Vax-Dependent:: VAX Dependent Features
|
||||
@end ifset
|
||||
@ifset VISIUM
|
||||
* Visium-Dependent:: Visium Dependent Features
|
||||
@end ifset
|
||||
@ifset XGATE
|
||||
* XGATE-Dependent:: XGATE Features
|
||||
@end ifset
|
||||
@ -7283,9 +7310,6 @@ subject, see the hardware manufacturer's manual.
|
||||
@ifset Z8000
|
||||
* Z8000-Dependent:: Z8000 Dependent Features
|
||||
@end ifset
|
||||
@ifset VAX
|
||||
* Vax-Dependent:: VAX Dependent Features
|
||||
@end ifset
|
||||
@end menu
|
||||
|
||||
@lowersections
|
||||
@ -7498,20 +7522,16 @@ family.
|
||||
@include c-tilepro.texi
|
||||
@end ifset
|
||||
|
||||
@ifset Z80
|
||||
@include c-z80.texi
|
||||
@end ifset
|
||||
|
||||
@ifset Z8000
|
||||
@include c-z8k.texi
|
||||
@ifset V850
|
||||
@include c-v850.texi
|
||||
@end ifset
|
||||
|
||||
@ifset VAX
|
||||
@include c-vax.texi
|
||||
@end ifset
|
||||
|
||||
@ifset V850
|
||||
@include c-v850.texi
|
||||
@ifset VISIUM
|
||||
@include c-visium.texi
|
||||
@end ifset
|
||||
|
||||
@ifset XGATE
|
||||
@ -7526,6 +7546,14 @@ family.
|
||||
@include c-xtensa.texi
|
||||
@end ifset
|
||||
|
||||
@ifset Z80
|
||||
@include c-z80.texi
|
||||
@end ifset
|
||||
|
||||
@ifset Z8000
|
||||
@include c-z8k.texi
|
||||
@end ifset
|
||||
|
||||
@ifset GENERIC
|
||||
@c reverse effect of @down at top of generic Machine-Dep chapter
|
||||
@raisesections
|
||||
|
90
gas/doc/c-visium.texi
Normal file
90
gas/doc/c-visium.texi
Normal file
@ -0,0 +1,90 @@
|
||||
@c Copyright (C) 2014 Free Software Foundation, Inc.
|
||||
@c This is part of the GAS manual.
|
||||
@c For copying conditions, see the file as.texinfo.
|
||||
@c man end
|
||||
|
||||
@ifset GENERIC
|
||||
@page
|
||||
@node Visium-Dependent
|
||||
@chapter Visium Dependent Features
|
||||
@end ifset
|
||||
|
||||
@ifclear GENERIC
|
||||
@node Machine Dependencies
|
||||
@chapter Visium Dependent Features
|
||||
@end ifclear
|
||||
|
||||
@cindex Visium support
|
||||
@menu
|
||||
* Visium Options:: Options
|
||||
* Visium Syntax:: Syntax
|
||||
* Visium Opcodes:: Opcodes
|
||||
@end menu
|
||||
|
||||
@node Visium Options
|
||||
@section Options
|
||||
@cindex Visium options
|
||||
@cindex options for Visium
|
||||
|
||||
The Visium assembler implements one machine-specific option:
|
||||
|
||||
@c man begin OPTIONS
|
||||
@table @gcctabopt
|
||||
@cindex @code{-mtune=@var{arch}} command line option, Visium
|
||||
@item -mtune=@var{arch}
|
||||
This option specifies the target architecture. If an attempt is made to
|
||||
assemble an instruction that will not execute on the target architecture,
|
||||
the assembler will issue an error message.
|
||||
|
||||
The following names are recognized:
|
||||
@code{mcm24}
|
||||
@code{mcm}
|
||||
@code{gr5}
|
||||
@code{gr6}
|
||||
@end table
|
||||
@c man end
|
||||
|
||||
@node Visium Syntax
|
||||
@section Syntax
|
||||
|
||||
@menu
|
||||
* Visium Characters:: Special Characters
|
||||
* Visium Registers:: Register Names
|
||||
@end menu
|
||||
|
||||
@node Visium Characters
|
||||
@subsection Special Characters
|
||||
|
||||
@cindex line comment character, Visium
|
||||
@cindex Visium line comment character
|
||||
Line comments are introduced either by the @samp{!} character or by the
|
||||
@samp{;} character appearing anywhere on a line.
|
||||
|
||||
A hash character (@samp{#}) as the first character on a line also
|
||||
marks the start of a line comment, but in this case it could also be a
|
||||
logical line number directive (@pxref{Comments}) or a preprocessor
|
||||
control command (@pxref{Preprocessing}).
|
||||
|
||||
@cindex line separator, Visium
|
||||
@cindex statement separator, Visium
|
||||
@cindex Visium line separator
|
||||
The Visium assembler does not currently support a line separator character.
|
||||
|
||||
@node Visium Registers
|
||||
@subsection Register Names
|
||||
@cindex Visium registers
|
||||
@cindex register names, Visium
|
||||
Registers can be specified either by using their canonical mnemonic names
|
||||
or by using their alias if they have one, for example @samp{sp}.
|
||||
|
||||
@node Visium Opcodes
|
||||
@section Opcodes
|
||||
All the standard opcodes of the architecture are implemented, along with the
|
||||
following three pseudo-instructions: @code{cmp}, @code{cmpc}, @code{move}.
|
||||
|
||||
In addition, the following two illegal opcodes are implemented and used by the simulation:
|
||||
|
||||
@example
|
||||
stop 5-bit immediate, SourceA
|
||||
trace 5-bit immediate, SourceA
|
||||
@end example
|
@ -161,6 +161,8 @@ config/tc-v850.c
|
||||
config/tc-v850.h
|
||||
config/tc-vax.c
|
||||
config/tc-vax.h
|
||||
config/tc-visium.c
|
||||
config/tc-visium.h
|
||||
config/tc-xc16x.c
|
||||
config/tc-xc16x.h
|
||||
config/tc-xgate.c
|
||||
|
@ -1,3 +1,8 @@
|
||||
2014-12-06 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gas/elf/elf.exp: Skip ifunc-1 for Visium.
|
||||
* gas/visium/: New directory.
|
||||
|
||||
2014-11-30 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* gas/ppc/a2.d: Update for mftb change.
|
||||
|
@ -172,11 +172,12 @@ if { [is_elf_format] } then {
|
||||
run_dump_test "symver"
|
||||
|
||||
# No indirect functions on non-GNU targets.
|
||||
# The MSP port sets the ELF header's OSABI field to ELFOSABI_STANDALONE.
|
||||
# The Visium and MSP set the ELF header's OSABI field to ELFOSABI_STANDALONE.
|
||||
# The non-eabi ARM ports sets it to ELFOSABI_ARM.
|
||||
# So for these targets we cannot include an IFUNC symbol type
|
||||
# in the symbol type test.
|
||||
if { [istarget "*-*-hpux*"]
|
||||
|| [istarget "visium-*-*"]
|
||||
|| [istarget "msp*-*-*"]
|
||||
|| [istarget "arm*-*-*"]} then {
|
||||
# hppa64 has a non-standard common directive
|
||||
|
134
gas/testsuite/gas/visium/allinsn_def.d
Normal file
134
gas/testsuite/gas/visium/allinsn_def.d
Normal file
@ -0,0 +1,134 @@
|
||||
#as:
|
||||
#objdump: -dzr
|
||||
#name: allinsn_def
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
0+0000000 <begin>:
|
||||
0: 03 e2 00 14 write.l 0\(r2\),r1
|
||||
4: 03 e2 00 14 write.l 0\(r2\),r1
|
||||
8: 83 e1 04 22 write.w 1\(r1\),r2
|
||||
c: 03 e3 7c 71 write.b 31\(r3\),r7
|
||||
10: 03 e4 00 71 write.b 0\(r4\),r7
|
||||
14: 03 e4 80 54 mults r4,r5
|
||||
18: 83 e7 fc a4 eamwrite 31,r7,r10
|
||||
1c: 83 ee 90 f4 writemd r14,r15
|
||||
20: 83 e9 94 04 writemdc r9
|
||||
24: 03 e5 88 04 divs r5
|
||||
28: 83 e6 8c 04 divu r6
|
||||
2c: 83 ea 98 04 divds r10
|
||||
30: 83 eb 9c 04 divdu r11
|
||||
34: 83 ec a4 04 asrd r12
|
||||
38: 03 ed a8 04 lsrd r13
|
||||
3c: 83 ee ac 04 asld r14
|
||||
40: 82 80 00 04 dsi
|
||||
44: 83 e7 80 84 mults r7,r8
|
||||
48: 03 e9 84 a4 multu r9,r10
|
||||
4c: 02 a0 00 04 eni
|
||||
50: 82 80 00 04 dsi
|
||||
54: 82 fe 01 d4 rfi
|
||||
|
||||
0+0000058 <nsrel>:
|
||||
58: 00 00 00 00 nop
|
||||
5c: 07 a0 00 04 rflag r0
|
||||
60: 08 00 ff fe brr eq,-2
|
||||
64: 07 a0 00 04 rflag r0
|
||||
68: 90 00 ff fc brr cs,-4
|
||||
6c: 07 a0 00 04 rflag r0
|
||||
70: 18 00 ff fa brr os,-6
|
||||
74: 07 a0 00 04 rflag r0
|
||||
78: 20 00 00 1c brr ns,\+28
|
||||
7c: 07 a0 00 04 rflag r0
|
||||
80: a8 00 00 1a brr ne,\+26
|
||||
84: 07 a0 00 04 rflag r0
|
||||
88: 30 00 00 18 brr cc,\+24
|
||||
8c: 07 a0 00 04 rflag r0
|
||||
90: 38 00 00 16 brr oc,\+22
|
||||
94: 07 a0 00 04 rflag r0
|
||||
98: c0 00 00 14 brr nc,\+20
|
||||
9c: 07 a0 00 04 rflag r0
|
||||
a0: 48 00 00 12 brr ge,\+18
|
||||
a4: 07 a0 00 04 rflag r0
|
||||
a8: d0 00 00 10 brr gt,\+16
|
||||
ac: 07 a0 00 04 rflag r0
|
||||
b0: 58 00 00 0e brr hi,\+14
|
||||
b4: 07 a0 00 04 rflag r0
|
||||
b8: 60 00 00 0c brr le,\+12
|
||||
bc: 07 a0 00 04 rflag r0
|
||||
c0: e8 00 00 0a brr ls,\+10
|
||||
c4: 07 a0 00 04 rflag r0
|
||||
c8: 70 00 00 08 brr lt,\+8
|
||||
cc: 07 a0 00 04 rflag r0
|
||||
d0: 78 00 00 06 brr tr,\+6
|
||||
d4: 07 a0 00 04 rflag r0
|
||||
d8: 08 00 ff e0 brr eq,-32
|
||||
dc: 00 00 00 00 nop
|
||||
e0: 00 00 00 00 nop
|
||||
e4: 00 00 00 00 nop
|
||||
|
||||
0+00000e8 <sreg>:
|
||||
e8: 86 20 00 14 adc.l r0,r0,r1
|
||||
ec: 86 20 08 32 adc.w r2,r0,r3
|
||||
f0: 86 20 10 51 adc.b r4,r0,r5
|
||||
f4: 86 00 08 14 add.l r2,r0,r1
|
||||
f8: 06 04 14 32 add.w r5,r4,r3
|
||||
fc: 86 07 1c 61 add.b r7,r7,r6
|
||||
100: 87 40 08 14 and.l r2,r0,r1
|
||||
104: 07 44 14 32 and.w r5,r4,r3
|
||||
108: 87 47 1c 61 and.b r7,r7,r6
|
||||
10c: 06 e3 10 44 asl.l r4,r3,r4
|
||||
110: 86 e5 1a 02 asl.w r6,r5,0
|
||||
114: 06 e5 1a 12 asl.w r6,r5,1
|
||||
118: 06 e7 23 f1 asl.b r8,r7,31
|
||||
11c: 86 a3 10 44 asr.l r4,r3,r4
|
||||
120: 06 a5 1a 02 asr.w r6,r5,0
|
||||
124: 86 a5 1a 12 asr.w r6,r5,1
|
||||
128: 86 a7 23 f1 asr.b r8,r7,31
|
||||
12c: 0f 89 28 04 bra eq,r9,r10
|
||||
130: 07 a0 00 04 rflag r0
|
||||
134: af 87 04 04 bra ne,r7,r1
|
||||
138: 07 e0 ae 04 readmda r11
|
||||
13c: 07 e0 b3 f4 eamread r12,31
|
||||
140: 87 cd 30 04 extb.l r12,r13
|
||||
144: 87 cf 38 02 extb.w r14,r15
|
||||
148: 87 c1 00 01 extb.b r0,r1
|
||||
14c: 86 83 08 04 extw.l r2,r3
|
||||
150: 86 85 10 02 extw.w r4,r5
|
||||
154: 86 c7 18 84 lsr.l r6,r7,r8
|
||||
158: 06 ca 26 02 lsr.w r9,r10,0
|
||||
15c: 86 ca 26 12 lsr.w r9,r10,1
|
||||
160: 86 ca 27 f1 lsr.b r9,r10,31
|
||||
164: 87 6c 2c 04 not.l r11,r12
|
||||
168: 07 6e 34 02 not.w r13,r14
|
||||
16c: 07 6a 3c 01 not.b r15,r10
|
||||
170: 07 26 14 74 or.l r5,r6,r7
|
||||
174: 07 29 20 a2 or.w r8,r9,r10
|
||||
178: 87 22 04 31 or.b r1,r2,r3
|
||||
17c: 87 e5 12 04 read.l r4,0\(r5\)
|
||||
180: 87 e5 12 04 read.l r4,0\(r5\)
|
||||
184: 07 e7 1a 12 read.w r6,1\(r7\)
|
||||
188: 07 e9 23 f1 read.b r8,31\(r9\)
|
||||
18c: 87 e9 1a 11 read.b r6,1\(r9\)
|
||||
190: 87 e0 aa 04 readmda r10
|
||||
194: 87 e0 ae 14 readmdb r11
|
||||
198: 07 e0 c6 24 readmdc r17
|
||||
19c: 87 a0 10 04 rflag r4
|
||||
1a0: 87 a0 1c 04 rflag r7
|
||||
1a4: 86 45 10 64 sub.l r4,r5,r6
|
||||
1a8: 06 48 1c 92 sub.w r7,r8,r9
|
||||
1ac: 06 41 00 21 cmp.b r1,r2
|
||||
1b0: 06 65 10 64 subc.l r4,r5,r6
|
||||
1b4: 86 68 1c 92 subc.w r7,r8,r9
|
||||
1b8: 86 61 00 21 cmpc.b r1,r2
|
||||
1bc: 07 03 10 24 xor.l r4,r3,r2
|
||||
1c0: 87 06 14 72 xor.w r5,r6,r7
|
||||
1c4: 07 09 04 81 xor.b r1,r9,r8
|
||||
1c8: 04 07 ff ff addi r7,65535
|
||||
1cc: 04 87 80 00 movil r7,0x8000
|
||||
1d0: 84 a7 7f ff moviu r7,0x7FFF
|
||||
1d4: 04 c6 00 01 moviq r6,1
|
||||
1d8: 84 47 ff ff subi r7,65535
|
||||
1dc: ff 86 00 04 bra tr,r6,r0
|
||||
1e0: 86 00 00 04 add.l r0,r0,r0
|
157
gas/testsuite/gas/visium/allinsn_def.s
Normal file
157
gas/testsuite/gas/visium/allinsn_def.s
Normal file
@ -0,0 +1,157 @@
|
||||
begin:
|
||||
write.l (r2),r1
|
||||
write.l 0(r2),r1
|
||||
write.w 1(r1),r2
|
||||
write.b 31(r3),r7
|
||||
write.b (r4),r7
|
||||
|
||||
eamwrite 0,r4,r5
|
||||
eamwrite 31,r7,r10
|
||||
|
||||
writemd r14,r15
|
||||
|
||||
writemdc r9
|
||||
|
||||
divs r5
|
||||
divu r6
|
||||
divds r10
|
||||
divdu r11
|
||||
|
||||
asrd r12
|
||||
lsrd r13
|
||||
asld r14
|
||||
|
||||
dsi
|
||||
|
||||
mults r7,r8
|
||||
multu r9,r10
|
||||
|
||||
eni
|
||||
dsi
|
||||
rfi
|
||||
|
||||
|
||||
nsrel:
|
||||
brr fa,nsrel
|
||||
rflag r0
|
||||
brr eq,nsrel
|
||||
rflag r0
|
||||
brr cs,nsrel
|
||||
rflag r0
|
||||
brr os,nsrel
|
||||
rflag r0
|
||||
brr ns,sreg
|
||||
rflag r0
|
||||
brr ne,sreg
|
||||
rflag r0
|
||||
brr cc,sreg
|
||||
rflag r0
|
||||
brr oc,sreg
|
||||
rflag r0
|
||||
brr nc,sreg
|
||||
rflag r0
|
||||
brr ge,sreg
|
||||
rflag r0
|
||||
brr gt,sreg
|
||||
rflag r0
|
||||
brr hi,sreg
|
||||
rflag r0
|
||||
brr le,sreg
|
||||
rflag r0
|
||||
brr ls,sreg
|
||||
rflag r0
|
||||
brr lt,sreg
|
||||
rflag r0
|
||||
brr tr,sreg
|
||||
rflag r0
|
||||
brr eq,nsrel
|
||||
nop
|
||||
brr fa,.
|
||||
nop
|
||||
|
||||
|
||||
sreg:
|
||||
adc.l r0,r0,r1
|
||||
adc.w r2,r0,r3
|
||||
adc.b r4,r0,r5
|
||||
|
||||
add.l r2,r0,r1
|
||||
add.w r5,r4,r3
|
||||
add.b r7,r7,r6
|
||||
|
||||
and.l r2,r0,r1
|
||||
and.w r5,r4,r3
|
||||
and.b r7,r7,r6
|
||||
|
||||
asl.l r4,r3,r4
|
||||
asl.w r6,r5,0
|
||||
asl.w r6,r5,1
|
||||
asl.b r8,r7,31
|
||||
|
||||
asr.l r4,r3,r4
|
||||
asr.w r6,r5,0
|
||||
asr.w r6,r5,1
|
||||
asr.b r8,r7,31
|
||||
|
||||
bra eq,r9,r10
|
||||
rflag r0
|
||||
bra ne,r7,r1
|
||||
|
||||
eamread r11,0
|
||||
eamread r12,31
|
||||
|
||||
extb.l r12,r13
|
||||
extb.w r14,r15
|
||||
extb.b r0,r1
|
||||
|
||||
extw.l r2,r3
|
||||
extw.w r4,r5
|
||||
|
||||
lsr.l r6,r7,r8
|
||||
lsr.w r9,r10,0
|
||||
lsr.w r9,r10,1
|
||||
lsr.b r9,r10,31
|
||||
|
||||
not.l r11,r12
|
||||
not.w r13,r14
|
||||
not.b r15,r10
|
||||
|
||||
or.l r5,r6,r7
|
||||
or.w r8,r9,r10
|
||||
or.b r1,r2,r3
|
||||
|
||||
read.l r4,(r5)
|
||||
read.l r4,0(r5)
|
||||
read.w r6,1(r7)
|
||||
read.b r8,31(r9)
|
||||
read.b r6,1(r9)
|
||||
|
||||
readmda r10
|
||||
readmdb r11
|
||||
readmdc r17
|
||||
|
||||
rflag r4
|
||||
rflag r7
|
||||
|
||||
sub.l r4,r5,r6
|
||||
sub.w r7,r8,r9
|
||||
sub.b r0,r1,r2
|
||||
|
||||
subc.l r4,r5,r6
|
||||
subc.w r7,r8,r9
|
||||
subc.b r0,r1,r2
|
||||
|
||||
xor.l r4,r3,r2
|
||||
xor.w r5,r6,r7
|
||||
xor.b r1,r9,r8
|
||||
|
||||
addi r7,65535
|
||||
movil r7,32768
|
||||
moviu r7,32767
|
||||
moviq r6,1
|
||||
subi r7,65535
|
||||
|
||||
bra tr,r6,r0
|
||||
add.l r0,r0,r0
|
||||
|
||||
.end
|
153
gas/testsuite/gas/visium/allinsn_gr5.d
Normal file
153
gas/testsuite/gas/visium/allinsn_gr5.d
Normal file
@ -0,0 +1,153 @@
|
||||
#as: -mtune=gr5
|
||||
#objdump: -dzr
|
||||
#name: allinsn_gr5
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
0+0000000 <begin>:
|
||||
0: 03 e2 00 14 write.l 0\(r2\),r1
|
||||
4: 03 e2 00 14 write.l 0\(r2\),r1
|
||||
8: 83 e1 04 22 write.w 1\(r1\),r2
|
||||
c: 03 e3 7c 71 write.b 31\(r3\),r7
|
||||
10: 03 e4 00 71 write.b 0\(r4\),r7
|
||||
14: 03 e4 80 54 mults r4,r5
|
||||
18: 83 e7 fc a4 eamwrite 31,r7,r10
|
||||
1c: 83 ee 90 f4 writemd r14,r15
|
||||
20: 83 e9 94 04 writemdc r9
|
||||
24: 03 e5 88 04 divs r5
|
||||
28: 83 e6 8c 04 divu r6
|
||||
2c: 83 ea 98 04 divds r10
|
||||
30: 83 eb 9c 04 divdu r11
|
||||
34: 83 ec a4 04 asrd r12
|
||||
38: 03 ed a8 04 lsrd r13
|
||||
3c: 83 ee ac 04 asld r14
|
||||
40: 82 80 00 04 dsi
|
||||
44: 83 e7 80 84 mults r7,r8
|
||||
48: 03 e9 84 a4 multu r9,r10
|
||||
4c: 02 a0 00 04 eni
|
||||
50: 82 80 00 04 dsi
|
||||
54: 82 fe 01 d4 rfi
|
||||
|
||||
0+0000058 <nsrel>:
|
||||
58: 00 00 00 00 nop
|
||||
5c: 07 a0 00 04 rflag r0
|
||||
60: 08 00 ff fe brr eq,-2
|
||||
64: 07 a0 00 04 rflag r0
|
||||
68: 90 00 ff fc brr cs,-4
|
||||
6c: 07 a0 00 04 rflag r0
|
||||
70: 18 00 ff fa brr os,-6
|
||||
74: 07 a0 00 04 rflag r0
|
||||
78: 20 00 00 1c brr ns,\+28
|
||||
7c: 07 a0 00 04 rflag r0
|
||||
80: a8 00 00 1a brr ne,\+26
|
||||
84: 07 a0 00 04 rflag r0
|
||||
88: 30 00 00 18 brr cc,\+24
|
||||
8c: 07 a0 00 04 rflag r0
|
||||
90: 38 00 00 16 brr oc,\+22
|
||||
94: 07 a0 00 04 rflag r0
|
||||
98: c0 00 00 14 brr nc,\+20
|
||||
9c: 07 a0 00 04 rflag r0
|
||||
a0: 48 00 00 12 brr ge,\+18
|
||||
a4: 07 a0 00 04 rflag r0
|
||||
a8: d0 00 00 10 brr gt,\+16
|
||||
ac: 07 a0 00 04 rflag r0
|
||||
b0: 58 00 00 0e brr hi,\+14
|
||||
b4: 07 a0 00 04 rflag r0
|
||||
b8: 60 00 00 0c brr le,\+12
|
||||
bc: 07 a0 00 04 rflag r0
|
||||
c0: e8 00 00 0a brr ls,\+10
|
||||
c4: 07 a0 00 04 rflag r0
|
||||
c8: 70 00 00 08 brr lt,\+8
|
||||
cc: 07 a0 00 04 rflag r0
|
||||
d0: 78 00 00 06 brr tr,\+6
|
||||
d4: 07 a0 00 04 rflag r0
|
||||
d8: 08 00 ff e0 brr eq,-32
|
||||
dc: 00 00 00 00 nop
|
||||
e0: 00 00 00 00 nop
|
||||
e4: 00 00 00 00 nop
|
||||
|
||||
0+00000e8 <sreg>:
|
||||
e8: 86 20 00 14 adc.l r0,r0,r1
|
||||
ec: 86 20 08 32 adc.w r2,r0,r3
|
||||
f0: 86 20 10 51 adc.b r4,r0,r5
|
||||
f4: 86 00 08 14 add.l r2,r0,r1
|
||||
f8: 06 04 14 32 add.w r5,r4,r3
|
||||
fc: 86 07 1c 61 add.b r7,r7,r6
|
||||
100: 87 40 08 14 and.l r2,r0,r1
|
||||
104: 07 44 14 32 and.w r5,r4,r3
|
||||
108: 87 47 1c 61 and.b r7,r7,r6
|
||||
10c: 06 e3 10 44 asl.l r4,r3,r4
|
||||
110: 86 e5 1a 02 asl.w r6,r5,0
|
||||
114: 06 e5 1a 12 asl.w r6,r5,1
|
||||
118: 06 e7 23 f1 asl.b r8,r7,31
|
||||
11c: 86 a3 10 44 asr.l r4,r3,r4
|
||||
120: 06 a5 1a 02 asr.w r6,r5,0
|
||||
124: 86 a5 1a 12 asr.w r6,r5,1
|
||||
128: 86 a7 23 f1 asr.b r8,r7,31
|
||||
12c: 0f 89 28 04 bra eq,r9,r10
|
||||
130: 07 a0 00 04 rflag r0
|
||||
134: af 87 04 04 bra ne,r7,r1
|
||||
138: 07 e0 ae 04 readmda r11
|
||||
13c: 07 e0 b3 f4 eamread r12,31
|
||||
140: 87 cd 30 04 extb.l r12,r13
|
||||
144: 87 cf 38 02 extb.w r14,r15
|
||||
148: 87 c1 00 01 extb.b r0,r1
|
||||
14c: 86 83 08 04 extw.l r2,r3
|
||||
150: 86 85 10 02 extw.w r4,r5
|
||||
154: 86 c7 18 84 lsr.l r6,r7,r8
|
||||
158: 06 ca 26 02 lsr.w r9,r10,0
|
||||
15c: 86 ca 26 12 lsr.w r9,r10,1
|
||||
160: 86 ca 27 f1 lsr.b r9,r10,31
|
||||
164: 87 6c 2c 04 not.l r11,r12
|
||||
168: 07 6e 34 02 not.w r13,r14
|
||||
16c: 07 6a 3c 01 not.b r15,r10
|
||||
170: 07 26 14 74 or.l r5,r6,r7
|
||||
174: 07 29 20 a2 or.w r8,r9,r10
|
||||
178: 87 22 04 31 or.b r1,r2,r3
|
||||
17c: 87 e5 12 04 read.l r4,0\(r5\)
|
||||
180: 87 e5 12 04 read.l r4,0\(r5\)
|
||||
184: 07 e7 1a 12 read.w r6,1\(r7\)
|
||||
188: 07 e9 23 f1 read.b r8,31\(r9\)
|
||||
18c: 87 e9 1a 11 read.b r6,1\(r9\)
|
||||
190: 87 e0 aa 04 readmda r10
|
||||
194: 87 e0 ae 14 readmdb r11
|
||||
198: 07 e0 c6 24 readmdc r17
|
||||
19c: 87 a0 10 04 rflag r4
|
||||
1a0: 87 a0 1c 04 rflag r7
|
||||
1a4: 86 45 10 64 sub.l r4,r5,r6
|
||||
1a8: 06 48 1c 92 sub.w r7,r8,r9
|
||||
1ac: 06 41 00 21 cmp.b r1,r2
|
||||
1b0: 06 65 10 64 subc.l r4,r5,r6
|
||||
1b4: 86 68 1c 92 subc.w r7,r8,r9
|
||||
1b8: 86 61 00 21 cmpc.b r1,r2
|
||||
1bc: 07 03 10 24 xor.l r4,r3,r2
|
||||
1c0: 87 06 14 72 xor.w r5,r6,r7
|
||||
1c4: 07 09 04 81 xor.b r1,r9,r8
|
||||
1c8: 04 07 ff ff addi r7,65535
|
||||
1cc: 04 87 80 00 movil r7,0x8000
|
||||
1d0: 84 a7 7f ff moviu r7,0x7FFF
|
||||
1d4: 04 c6 00 01 moviq r6,1
|
||||
1d8: 84 47 ff ff subi r7,65535
|
||||
1dc: ff 86 00 04 bra tr,r6,r0
|
||||
1e0: 86 00 00 04 add.l r0,r0,r0
|
||||
1e4: d3 e3 84 5c fpinst 10,f1,f3,f5
|
||||
1e8: db e4 88 6c fpinst 11,f2,f4,f6
|
||||
1ec: 7b ed ac fc fpinst 15,f11,f13,f15
|
||||
1f0: 8f ef e6 ec fpuread 1,r25,f15,f14
|
||||
1f4: 3b e3 9c 0c fabs f7,f3
|
||||
1f8: 0b e6 b0 ec fadd f12,f6,f14
|
||||
1fc: 8b e6 b0 0c fadd f12,f6,f0
|
||||
200: 63 e6 b0 0c fmove f12,f6
|
||||
204: b3 e3 9c 0c fneg f7,f3
|
||||
208: 93 e0 8c 9c fsub f3,f0,f9
|
||||
20c: 1b e2 84 3c fmult f1,f2,f3
|
||||
210: 23 eb a8 cc fdiv f10,f11,f12
|
||||
214: 2b e9 8c 0c fsqrt f3,f9
|
||||
218: 43 e4 94 0c ftoi f5,f4
|
||||
21c: 4b e8 9c 0c itof f7,f8
|
||||
220: 03 ff b4 0c fload f13,r31
|
||||
224: 07 e7 e6 0c fstore r25,f7
|
||||
228: d7 ef 8a 0c fcmp r2,f15,f0
|
||||
22c: df ef 86 1c fcmpe r1,f15,f1
|
179
gas/testsuite/gas/visium/allinsn_gr5.s
Normal file
179
gas/testsuite/gas/visium/allinsn_gr5.s
Normal file
@ -0,0 +1,179 @@
|
||||
begin:
|
||||
write.l (r2),r1
|
||||
write.l 0(r2),r1
|
||||
write.w 1(r1),r2
|
||||
write.b 31(r3),r7
|
||||
write.b (r4),r7
|
||||
|
||||
eamwrite 0,r4,r5
|
||||
eamwrite 31,r7,r10
|
||||
|
||||
writemd r14,r15
|
||||
|
||||
writemdc r9
|
||||
|
||||
divs r5
|
||||
divu r6
|
||||
divds r10
|
||||
divdu r11
|
||||
|
||||
asrd r12
|
||||
lsrd r13
|
||||
asld r14
|
||||
|
||||
dsi
|
||||
|
||||
mults r7,r8
|
||||
multu r9,r10
|
||||
|
||||
eni
|
||||
dsi
|
||||
rfi
|
||||
|
||||
|
||||
nsrel:
|
||||
brr fa,nsrel
|
||||
rflag r0
|
||||
brr eq,nsrel
|
||||
rflag r0
|
||||
brr cs,nsrel
|
||||
rflag r0
|
||||
brr os,nsrel
|
||||
rflag r0
|
||||
brr ns,sreg
|
||||
rflag r0
|
||||
brr ne,sreg
|
||||
rflag r0
|
||||
brr cc,sreg
|
||||
rflag r0
|
||||
brr oc,sreg
|
||||
rflag r0
|
||||
brr nc,sreg
|
||||
rflag r0
|
||||
brr ge,sreg
|
||||
rflag r0
|
||||
brr gt,sreg
|
||||
rflag r0
|
||||
brr hi,sreg
|
||||
rflag r0
|
||||
brr le,sreg
|
||||
rflag r0
|
||||
brr ls,sreg
|
||||
rflag r0
|
||||
brr lt,sreg
|
||||
rflag r0
|
||||
brr tr,sreg
|
||||
rflag r0
|
||||
brr eq,nsrel
|
||||
nop
|
||||
brr fa,.
|
||||
nop
|
||||
|
||||
|
||||
sreg:
|
||||
adc.l r0,r0,r1
|
||||
adc.w r2,r0,r3
|
||||
adc.b r4,r0,r5
|
||||
|
||||
add.l r2,r0,r1
|
||||
add.w r5,r4,r3
|
||||
add.b r7,r7,r6
|
||||
|
||||
and.l r2,r0,r1
|
||||
and.w r5,r4,r3
|
||||
and.b r7,r7,r6
|
||||
|
||||
asl.l r4,r3,r4
|
||||
asl.w r6,r5,0
|
||||
asl.w r6,r5,1
|
||||
asl.b r8,r7,31
|
||||
|
||||
asr.l r4,r3,r4
|
||||
asr.w r6,r5,0
|
||||
asr.w r6,r5,1
|
||||
asr.b r8,r7,31
|
||||
|
||||
bra eq,r9,r10
|
||||
rflag r0
|
||||
bra ne,r7,r1
|
||||
|
||||
eamread r11,0
|
||||
eamread r12,31
|
||||
|
||||
extb.l r12,r13
|
||||
extb.w r14,r15
|
||||
extb.b r0,r1
|
||||
|
||||
extw.l r2,r3
|
||||
extw.w r4,r5
|
||||
|
||||
lsr.l r6,r7,r8
|
||||
lsr.w r9,r10,0
|
||||
lsr.w r9,r10,1
|
||||
lsr.b r9,r10,31
|
||||
|
||||
not.l r11,r12
|
||||
not.w r13,r14
|
||||
not.b r15,r10
|
||||
|
||||
or.l r5,r6,r7
|
||||
or.w r8,r9,r10
|
||||
or.b r1,r2,r3
|
||||
|
||||
read.l r4,(r5)
|
||||
read.l r4,0(r5)
|
||||
read.w r6,1(r7)
|
||||
read.b r8,31(r9)
|
||||
read.b r6,1(r9)
|
||||
|
||||
|
||||
readmda r10
|
||||
readmdb r11
|
||||
readmdc r17
|
||||
|
||||
rflag r4
|
||||
rflag r7
|
||||
|
||||
sub.l r4,r5,r6
|
||||
sub.w r7,r8,r9
|
||||
sub.b r0,r1,r2
|
||||
|
||||
subc.l r4,r5,r6
|
||||
subc.w r7,r8,r9
|
||||
subc.b r0,r1,r2
|
||||
|
||||
xor.l r4,r3,r2
|
||||
xor.w r5,r6,r7
|
||||
xor.b r1,r9,r8
|
||||
|
||||
addi r7,65535
|
||||
movil r7,32768
|
||||
moviu r7,32767
|
||||
moviq r6,1
|
||||
subi r7,65535
|
||||
|
||||
bra tr,r6,r0
|
||||
add.l r0,r0,r0
|
||||
|
||||
|
||||
fpinst 10,f1,f3,f5
|
||||
fpinst 11,f2,f4,f6
|
||||
fpinst 15,f11,f13,f15
|
||||
fpuread 1,r25,f15,f14
|
||||
fabs f7,f3
|
||||
fadd f12,f6,f14
|
||||
fadd f12,f6,f0
|
||||
fmove f12,f6
|
||||
fneg f7,f3
|
||||
fsub f3,f0,f9
|
||||
fmult f1,f2,f3
|
||||
fdiv f10,f11,f12
|
||||
fsqrt f3,f9
|
||||
ftoi f5,f4
|
||||
itof f7,f8
|
||||
fload f13,r31
|
||||
fstore r25,f7
|
||||
fcmp r2,f15,f0
|
||||
fcmpe r1,f15,f1
|
||||
|
||||
.end
|
159
gas/testsuite/gas/visium/allinsn_gr6.d
Normal file
159
gas/testsuite/gas/visium/allinsn_gr6.d
Normal file
@ -0,0 +1,159 @@
|
||||
#as: -mtune=gr6
|
||||
#objdump: -dzr
|
||||
#name: allinsn_gr6
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
0+0000000 <begin>:
|
||||
0: 03 e2 00 14 write.l 0\(r2\),r1
|
||||
4: 03 e2 00 14 write.l 0\(r2\),r1
|
||||
8: 83 e1 04 22 write.w 1\(r1\),r2
|
||||
c: 03 e3 7c 71 write.b 31\(r3\),r7
|
||||
10: 03 e4 00 71 write.b 0\(r4\),r7
|
||||
14: 03 e4 80 54 mults r4,r5
|
||||
18: 83 e7 fc a4 eamwrite 31,r7,r10
|
||||
1c: 83 ee 90 f4 writemd r14,r15
|
||||
20: 83 e9 94 04 writemdc r9
|
||||
24: 03 e5 88 04 divs r5
|
||||
28: 83 e6 8c 04 divu r6
|
||||
2c: 83 ea 98 04 divds r10
|
||||
30: 83 eb 9c 04 divdu r11
|
||||
34: 83 ec a4 04 asrd r12
|
||||
38: 03 ed a8 04 lsrd r13
|
||||
3c: 83 ee ac 04 asld r14
|
||||
40: 82 80 00 04 dsi
|
||||
44: 83 e7 80 84 mults r7,r8
|
||||
48: 03 e9 84 a4 multu r9,r10
|
||||
4c: 02 a0 00 04 eni
|
||||
50: 82 80 00 04 dsi
|
||||
54: 82 fe 01 d4 rfi
|
||||
|
||||
0+0000058 <nsrel>:
|
||||
58: 00 00 00 00 nop
|
||||
5c: 07 a0 00 04 rflag r0
|
||||
60: 08 00 ff fe brr eq,-2
|
||||
64: 07 a0 00 04 rflag r0
|
||||
68: 90 00 ff fc brr cs,-4
|
||||
6c: 07 a0 00 04 rflag r0
|
||||
70: 18 00 ff fa brr os,-6
|
||||
74: 07 a0 00 04 rflag r0
|
||||
78: 20 00 00 1c brr ns,\+28
|
||||
7c: 07 a0 00 04 rflag r0
|
||||
80: a8 00 00 1a brr ne,\+26
|
||||
84: 07 a0 00 04 rflag r0
|
||||
88: 30 00 00 18 brr cc,\+24
|
||||
8c: 07 a0 00 04 rflag r0
|
||||
90: 38 00 00 16 brr oc,\+22
|
||||
94: 07 a0 00 04 rflag r0
|
||||
98: c0 00 00 14 brr nc,\+20
|
||||
9c: 07 a0 00 04 rflag r0
|
||||
a0: 48 00 00 12 brr ge,\+18
|
||||
a4: 07 a0 00 04 rflag r0
|
||||
a8: d0 00 00 10 brr gt,\+16
|
||||
ac: 07 a0 00 04 rflag r0
|
||||
b0: 58 00 00 0e brr hi,\+14
|
||||
b4: 07 a0 00 04 rflag r0
|
||||
b8: 60 00 00 0c brr le,\+12
|
||||
bc: 07 a0 00 04 rflag r0
|
||||
c0: e8 00 00 0a brr ls,\+10
|
||||
c4: 07 a0 00 04 rflag r0
|
||||
c8: 70 00 00 08 brr lt,\+8
|
||||
cc: 07 a0 00 04 rflag r0
|
||||
d0: 78 00 00 06 brr tr,\+6
|
||||
d4: 07 a0 00 04 rflag r0
|
||||
d8: 08 00 ff e0 brr eq,-32
|
||||
dc: 00 00 00 00 nop
|
||||
e0: 00 00 00 00 nop
|
||||
e4: 00 00 00 00 nop
|
||||
|
||||
0+00000e8 <sreg>:
|
||||
e8: 86 20 00 14 adc.l r0,r0,r1
|
||||
ec: 86 20 08 32 adc.w r2,r0,r3
|
||||
f0: 86 20 10 51 adc.b r4,r0,r5
|
||||
f4: 86 00 08 14 add.l r2,r0,r1
|
||||
f8: 06 04 14 32 add.w r5,r4,r3
|
||||
fc: 86 07 1c 61 add.b r7,r7,r6
|
||||
100: 87 40 08 14 and.l r2,r0,r1
|
||||
104: 07 44 14 32 and.w r5,r4,r3
|
||||
108: 87 47 1c 61 and.b r7,r7,r6
|
||||
10c: 06 e3 10 44 asl.l r4,r3,r4
|
||||
110: 86 e5 1a 02 asl.w r6,r5,0
|
||||
114: 06 e5 1a 12 asl.w r6,r5,1
|
||||
118: 06 e7 23 f1 asl.b r8,r7,31
|
||||
11c: 86 a3 10 44 asr.l r4,r3,r4
|
||||
120: 06 a5 1a 02 asr.w r6,r5,0
|
||||
124: 86 a5 1a 12 asr.w r6,r5,1
|
||||
128: 86 a7 23 f1 asr.b r8,r7,31
|
||||
12c: 0f 89 28 04 bra eq,r9,r10
|
||||
130: 07 a0 00 04 rflag r0
|
||||
134: af 87 04 04 bra ne,r7,r1
|
||||
138: 07 e0 ae 04 readmda r11
|
||||
13c: 07 e0 b3 f4 eamread r12,31
|
||||
140: 87 cd 30 04 extb.l r12,r13
|
||||
144: 87 cf 38 02 extb.w r14,r15
|
||||
148: 87 c1 00 01 extb.b r0,r1
|
||||
14c: 86 83 08 04 extw.l r2,r3
|
||||
150: 86 85 10 02 extw.w r4,r5
|
||||
154: 86 c7 18 84 lsr.l r6,r7,r8
|
||||
158: 06 ca 26 02 lsr.w r9,r10,0
|
||||
15c: 86 ca 26 12 lsr.w r9,r10,1
|
||||
160: 86 ca 27 f1 lsr.b r9,r10,31
|
||||
164: 87 6c 2c 04 not.l r11,r12
|
||||
168: 07 6e 34 02 not.w r13,r14
|
||||
16c: 07 6a 3c 01 not.b r15,r10
|
||||
170: 07 26 14 74 or.l r5,r6,r7
|
||||
174: 07 29 20 a2 or.w r8,r9,r10
|
||||
178: 87 22 04 31 or.b r1,r2,r3
|
||||
17c: 87 e5 12 04 read.l r4,0\(r5\)
|
||||
180: 87 e5 12 04 read.l r4,0\(r5\)
|
||||
184: 07 e7 1a 12 read.w r6,1\(r7\)
|
||||
188: 07 e9 23 f1 read.b r8,31\(r9\)
|
||||
18c: 87 e9 1a 11 read.b r6,1\(r9\)
|
||||
190: 87 e0 aa 04 readmda r10
|
||||
194: 87 e0 ae 14 readmdb r11
|
||||
198: 07 e0 c6 24 readmdc r17
|
||||
19c: 87 a0 10 04 rflag r4
|
||||
1a0: 87 a0 1c 04 rflag r7
|
||||
1a4: 86 45 10 64 sub.l r4,r5,r6
|
||||
1a8: 06 48 1c 92 sub.w r7,r8,r9
|
||||
1ac: 06 41 00 21 cmp.b r1,r2
|
||||
1b0: 06 65 10 64 subc.l r4,r5,r6
|
||||
1b4: 86 68 1c 92 subc.w r7,r8,r9
|
||||
1b8: 86 61 00 21 cmpc.b r1,r2
|
||||
1bc: 07 03 10 24 xor.l r4,r3,r2
|
||||
1c0: 87 06 14 72 xor.w r5,r6,r7
|
||||
1c4: 07 09 04 81 xor.b r1,r9,r8
|
||||
1c8: 04 07 ff ff addi r7,65535
|
||||
1cc: 04 87 80 00 movil r7,0x8000
|
||||
1d0: 84 a7 7f ff moviu r7,0x7FFF
|
||||
1d4: 04 c6 00 01 moviq r6,1
|
||||
1d8: 84 47 ff ff subi r7,65535
|
||||
1dc: ff 86 00 04 bra tr,r6,r0
|
||||
1e0: 86 00 00 04 add.l r0,r0,r0
|
||||
1e4: d3 e3 84 5c fpinst 10,f1,f3,f5
|
||||
1e8: db e4 88 6c fpinst 11,f2,f4,f6
|
||||
1ec: 7b ed ac fc fpinst 15,f11,f13,f15
|
||||
1f0: 8f ef e6 ec fpuread 1,r25,f15,f14
|
||||
1f4: 3b e3 9c 0c fabs f7,f3
|
||||
1f8: 0b e6 b0 ec fadd f12,f6,f14
|
||||
1fc: 8b e6 b0 0c fadd f12,f6,f0
|
||||
200: 63 e6 b0 0c fmove f12,f6
|
||||
204: b3 e3 9c 0c fneg f7,f3
|
||||
208: 93 e0 8c 9c fsub f3,f0,f9
|
||||
20c: 1b e2 84 3c fmult f1,f2,f3
|
||||
210: 23 eb a8 cc fdiv f10,f11,f12
|
||||
214: 2b e9 8c 0c fsqrt f3,f9
|
||||
218: 43 e4 94 0c ftoi f5,f4
|
||||
21c: 4b e8 9c 0c itof f7,f8
|
||||
220: 03 ff b4 0c fload f13,r31
|
||||
224: 07 e7 e6 0c fstore r25,f7
|
||||
228: 57 ef 82 0c fcmp r0,f15,f0
|
||||
22c: 5f ef 82 1c fcmpe r0,f15,f1
|
||||
230: 57 ef 82 0c fcmp r0,f15,f0
|
||||
234: 5f ef 82 1c fcmpe r0,f15,f1
|
||||
238: 02 63 00 04 bmd r1,r2,r3
|
||||
23c: 82 23 00 04 bmi r1,r2,r3
|
||||
240: 85 00 80 00 wrtl 0x8000
|
||||
244: 05 20 7f ff wrtu 0x7FFF
|
185
gas/testsuite/gas/visium/allinsn_gr6.s
Normal file
185
gas/testsuite/gas/visium/allinsn_gr6.s
Normal file
@ -0,0 +1,185 @@
|
||||
begin:
|
||||
write.l (r2),r1
|
||||
write.l 0(r2),r1
|
||||
write.w 1(r1),r2
|
||||
write.b 31(r3),r7
|
||||
write.b (r4),r7
|
||||
|
||||
eamwrite 0,r4,r5
|
||||
eamwrite 31,r7,r10
|
||||
|
||||
writemd r14,r15
|
||||
|
||||
writemdc r9
|
||||
|
||||
divs r5
|
||||
divu r6
|
||||
divds r10
|
||||
divdu r11
|
||||
|
||||
asrd r12
|
||||
lsrd r13
|
||||
asld r14
|
||||
|
||||
dsi
|
||||
|
||||
mults r7,r8
|
||||
multu r9,r10
|
||||
|
||||
eni
|
||||
dsi
|
||||
rfi
|
||||
|
||||
|
||||
nsrel:
|
||||
brr fa,nsrel
|
||||
rflag r0
|
||||
brr eq,nsrel
|
||||
rflag r0
|
||||
brr cs,nsrel
|
||||
rflag r0
|
||||
brr os,nsrel
|
||||
rflag r0
|
||||
brr ns,sreg
|
||||
rflag r0
|
||||
brr ne,sreg
|
||||
rflag r0
|
||||
brr cc,sreg
|
||||
rflag r0
|
||||
brr oc,sreg
|
||||
rflag r0
|
||||
brr nc,sreg
|
||||
rflag r0
|
||||
brr ge,sreg
|
||||
rflag r0
|
||||
brr gt,sreg
|
||||
rflag r0
|
||||
brr hi,sreg
|
||||
rflag r0
|
||||
brr le,sreg
|
||||
rflag r0
|
||||
brr ls,sreg
|
||||
rflag r0
|
||||
brr lt,sreg
|
||||
rflag r0
|
||||
brr tr,sreg
|
||||
rflag r0
|
||||
brr eq,nsrel
|
||||
nop
|
||||
brr fa,.
|
||||
nop
|
||||
|
||||
|
||||
sreg:
|
||||
adc.l r0,r0,r1
|
||||
adc.w r2,r0,r3
|
||||
adc.b r4,r0,r5
|
||||
|
||||
add.l r2,r0,r1
|
||||
add.w r5,r4,r3
|
||||
add.b r7,r7,r6
|
||||
|
||||
and.l r2,r0,r1
|
||||
and.w r5,r4,r3
|
||||
and.b r7,r7,r6
|
||||
|
||||
asl.l r4,r3,r4
|
||||
asl.w r6,r5,0
|
||||
asl.w r6,r5,1
|
||||
asl.b r8,r7,31
|
||||
|
||||
asr.l r4,r3,r4
|
||||
asr.w r6,r5,0
|
||||
asr.w r6,r5,1
|
||||
asr.b r8,r7,31
|
||||
|
||||
bra eq,r9,r10
|
||||
rflag r0
|
||||
bra ne,r7,r1
|
||||
|
||||
eamread r11,0
|
||||
eamread r12,31
|
||||
|
||||
extb.l r12,r13
|
||||
extb.w r14,r15
|
||||
extb.b r0,r1
|
||||
|
||||
extw.l r2,r3
|
||||
extw.w r4,r5
|
||||
|
||||
lsr.l r6,r7,r8
|
||||
lsr.w r9,r10,0
|
||||
lsr.w r9,r10,1
|
||||
lsr.b r9,r10,31
|
||||
|
||||
not.l r11,r12
|
||||
not.w r13,r14
|
||||
not.b r15,r10
|
||||
|
||||
or.l r5,r6,r7
|
||||
or.w r8,r9,r10
|
||||
or.b r1,r2,r3
|
||||
|
||||
read.l r4,(r5)
|
||||
read.l r4,0(r5)
|
||||
read.w r6,1(r7)
|
||||
read.b r8,31(r9)
|
||||
read.b r6,1(r9)
|
||||
|
||||
readmda r10
|
||||
readmdb r11
|
||||
readmdc r17
|
||||
|
||||
rflag r4
|
||||
rflag r7
|
||||
|
||||
sub.l r4,r5,r6
|
||||
sub.w r7,r8,r9
|
||||
sub.b r0,r1,r2
|
||||
|
||||
subc.l r4,r5,r6
|
||||
subc.w r7,r8,r9
|
||||
subc.b r0,r1,r2
|
||||
|
||||
xor.l r4,r3,r2
|
||||
xor.w r5,r6,r7
|
||||
xor.b r1,r9,r8
|
||||
|
||||
addi r7,65535
|
||||
movil r7,32768
|
||||
moviu r7,32767
|
||||
moviq r6,1
|
||||
subi r7,65535
|
||||
|
||||
bra tr,r6,r0
|
||||
add.l r0,r0,r0
|
||||
|
||||
|
||||
fpinst 10,f1,f3,f5
|
||||
fpinst 11,f2,f4,f6
|
||||
fpinst 15,f11,f13,f15
|
||||
fpuread 1,r25,f15,f14
|
||||
fabs f7,f3
|
||||
fadd f12,f6,f14
|
||||
fadd f12,f6,f0
|
||||
fmove f12,f6
|
||||
fneg f7,f3
|
||||
fsub f3,f0,f9
|
||||
fmult f1,f2,f3
|
||||
fdiv f10,f11,f12
|
||||
fsqrt f3,f9
|
||||
ftoi f5,f4
|
||||
itof f7,f8
|
||||
fload f13,r31
|
||||
fstore r25,f7
|
||||
fcmp r0,f15,f0
|
||||
fcmpe r0,f15,f1
|
||||
fcmp f15,f0
|
||||
fcmpe f15,f1
|
||||
|
||||
bmd r1,r2,r3
|
||||
bmi r1,r2,r3
|
||||
|
||||
wrtl 32768
|
||||
wrtu 32767
|
||||
.end
|
20
gas/testsuite/gas/visium/basereg.s
Normal file
20
gas/testsuite/gas/visium/basereg.s
Normal file
@ -0,0 +1,20 @@
|
||||
; Test error messages where targets are out of range.
|
||||
|
||||
; { dg-do assemble }
|
||||
; { dg-options "-mtune=mcm" }
|
||||
|
||||
.text
|
||||
foo:
|
||||
fstore r4,f15
|
||||
read.b r6,1(r4) ; { dg-error "base register not ready" "r4 not ready" }
|
||||
readmdc r5
|
||||
read.w r7,31(r5) ; { dg-error "base register not ready" "r5 not ready" }
|
||||
fcmp r6,f4,f5
|
||||
read.l r8,13(r6) ; { dg-error "base register not ready" "r6 not ready" }
|
||||
move.b r7,r0
|
||||
write.b 2(r7),r0 ; { dg-error "base register not ready" "r7 not ready" }
|
||||
move.w r8,r0
|
||||
write.w 2(r8),r0 ; { dg-error "base register not ready" "r8 not ready" }
|
||||
move.l r9,r0
|
||||
write.b 2(r9),r0 ; { dg-error "base register not ready" "r9 not ready" }
|
||||
.end
|
16
gas/testsuite/gas/visium/brr-1.d
Normal file
16
gas/testsuite/gas/visium/brr-1.d
Normal file
@ -0,0 +1,16 @@
|
||||
#as:
|
||||
#objdump: -d
|
||||
#name: brr-1
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
00000000 <foo>:
|
||||
0: 78 00 00 00 brr tr,\+0
|
||||
4: 84 c1 00 01 moviq r1,1
|
||||
8: 78 00 00 00 brr tr,\+0
|
||||
c: 84 c1 00 02 moviq r1,2
|
||||
10: 78 00 ff fc brr tr,-4
|
||||
14: 84 c1 00 04 moviq r1,4
|
||||
18: 00 00 00 00 nop
|
9
gas/testsuite/gas/visium/brr-1.s
Normal file
9
gas/testsuite/gas/visium/brr-1.s
Normal file
@ -0,0 +1,9 @@
|
||||
.text
|
||||
foo:
|
||||
brr tr,foo
|
||||
moviq r1,1
|
||||
brr tr,0
|
||||
moviq r1,2
|
||||
brr tr,foo
|
||||
moviq r1,4
|
||||
brr fa,.
|
18
gas/testsuite/gas/visium/brr-2.d
Normal file
18
gas/testsuite/gas/visium/brr-2.d
Normal file
@ -0,0 +1,18 @@
|
||||
#as: -mtune=gr6
|
||||
#objdump: -d
|
||||
#name: brr-2
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
00000000 <foo>:
|
||||
0: 00 00 00 00 nop
|
||||
4: 78 00 ff ff brr tr,-1
|
||||
8: 84 c1 00 01 moviq r1,1
|
||||
c: 00 00 00 00 nop
|
||||
10: 78 00 ff ff brr tr,-1
|
||||
14: 84 c1 00 02 moviq r1,2
|
||||
18: 78 00 ff fa brr tr,-6
|
||||
1c: 84 c1 00 04 moviq r1,4
|
||||
20: 00 00 00 00 nop
|
9
gas/testsuite/gas/visium/brr-2.s
Normal file
9
gas/testsuite/gas/visium/brr-2.s
Normal file
@ -0,0 +1,9 @@
|
||||
.text
|
||||
foo:
|
||||
brr tr,foo
|
||||
moviq r1,1
|
||||
brr tr,0
|
||||
moviq r1,2
|
||||
brr tr,foo
|
||||
moviq r1,4
|
||||
brr fa,.
|
15
gas/testsuite/gas/visium/brr_backward.s
Normal file
15
gas/testsuite/gas/visium/brr_backward.s
Normal file
@ -0,0 +1,15 @@
|
||||
; Test error messages where targets are out of range.
|
||||
|
||||
; { dg-do assemble }
|
||||
|
||||
.text
|
||||
L1:
|
||||
.rept 32768
|
||||
nop
|
||||
.endr
|
||||
brr tr,L1
|
||||
L2:
|
||||
.rept 32769
|
||||
nop
|
||||
.endr
|
||||
brr tr,L2 ; { dg-error "out of range" "out of range brr" }
|
16
gas/testsuite/gas/visium/brr_forward.s
Normal file
16
gas/testsuite/gas/visium/brr_forward.s
Normal file
@ -0,0 +1,16 @@
|
||||
; Test error messages when targets are out of range
|
||||
|
||||
; { dg-do assemble }
|
||||
|
||||
.text
|
||||
brr tr,L1
|
||||
.rept 32766
|
||||
nop
|
||||
.endr
|
||||
L1:
|
||||
brr tr,L2 ; { dg-error "out of range" "out of range brr" }
|
||||
.rept 32767
|
||||
nop
|
||||
.endr
|
||||
L2:
|
||||
.end
|
35
gas/testsuite/gas/visium/error.exp
Normal file
35
gas/testsuite/gas/visium/error.exp
Normal file
@ -0,0 +1,35 @@
|
||||
# Expect script for Visium tests.
|
||||
# Copyright (C) 2014 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of the GNU Binutils.
|
||||
#
|
||||
# This program 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 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program 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 this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
|
||||
# MA 02110-1301, USA.
|
||||
|
||||
# Test assembler warnings and errors.
|
||||
|
||||
if [istarget visium-*-*] {
|
||||
|
||||
load_lib gas-dg.exp
|
||||
|
||||
dg-init
|
||||
|
||||
dg-runtest "$srcdir/$subdir/brr_backward.s" "" ""
|
||||
dg-runtest "$srcdir/$subdir/brr_forward.s" "" ""
|
||||
dg-runtest "$srcdir/$subdir/basereg.s" "" ""
|
||||
dg-runtest "$srcdir/$subdir/fcmp.s" "" ""
|
||||
|
||||
dg-finish
|
||||
}
|
11
gas/testsuite/gas/visium/fcmp.s
Normal file
11
gas/testsuite/gas/visium/fcmp.s
Normal file
@ -0,0 +1,11 @@
|
||||
; Test error messages for new syntax of FCMP/FCMPE
|
||||
|
||||
; { dg-do assemble }
|
||||
; { dg-options "-mtune=gr6" }
|
||||
|
||||
.text
|
||||
foo:
|
||||
fcmp r1, f1, f2 ; { dg-error "can only use r0 as Dest register" }
|
||||
fcmp r0, f1, f2
|
||||
fcmp f1, f2
|
||||
.end
|
19
gas/testsuite/gas/visium/high-1.d
Normal file
19
gas/testsuite/gas/visium/high-1.d
Normal file
@ -0,0 +1,19 @@
|
||||
#as:
|
||||
#objdump: -dr
|
||||
#name: high-1
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
0+0000000 <foo>:
|
||||
0: 84 a4 00 01 moviu r4,0x0001
|
||||
0: R_VISIUM_HI16 .text\+0x10000
|
||||
4: 84 84 00 00 movil r4,0x0000
|
||||
4: R_VISIUM_LO16 .text\+0x10000
|
||||
8: 84 a4 12 34 moviu r4,0x1234
|
||||
c: 84 84 87 65 movil r4,0x8765
|
||||
10: 04 a4 00 00 moviu r4,0x0000
|
||||
10: R_VISIUM_HI16 .text\+0x18
|
||||
14: 84 84 00 18 movil r4,0x0018
|
||||
14: R_VISIUM_LO16 .text\+0x18
|
11
gas/testsuite/gas/visium/high-1.s
Normal file
11
gas/testsuite/gas/visium/high-1.s
Normal file
@ -0,0 +1,11 @@
|
||||
; Test %hi/%lo handling.
|
||||
|
||||
foo:
|
||||
moviu r4,%u(foo+0x10000)
|
||||
movil r4,%l(foo+0x10000)
|
||||
|
||||
moviu r4,%u 0x12348765
|
||||
movil r4,%l 0x12348765
|
||||
|
||||
moviu r4,%u .+8
|
||||
movil r4,%l .+4
|
17
gas/testsuite/gas/visium/immed-1.d
Normal file
17
gas/testsuite/gas/visium/immed-1.d
Normal file
@ -0,0 +1,17 @@
|
||||
#as:
|
||||
#objdump: -dr
|
||||
#name: immed-1
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
0+0000000 <bar>:
|
||||
0: 04 c1 00 00 moviq r1,0
|
||||
4: 84 41 00 0c subi r1,12
|
||||
8: 04 01 00 00 addi r1,0
|
||||
8: R_VISIUM_IM16 \.text
|
||||
c: 84 c4 ff ec moviq r4,65516
|
||||
\.\.\.
|
||||
1010: 04 c6 00 08 moviq r6,8
|
||||
1014: 04 c7 00 e4 moviq r7,228
|
10
gas/testsuite/gas/visium/immed-1.s
Normal file
10
gas/testsuite/gas/visium/immed-1.s
Normal file
@ -0,0 +1,10 @@
|
||||
! Tests for complex immediate expressions.
|
||||
.text
|
||||
bar:
|
||||
moviq r1, 0
|
||||
subi r1, (. - bar + 8)
|
||||
addi r1, bar
|
||||
moviq r4, (bar - . -8) & 0xffff
|
||||
.space 4096
|
||||
moviq r6, (. - bar - 8) & 0xff
|
||||
moviq r7, (bar - . -8) & 0xff
|
18
gas/testsuite/gas/visium/rela-1.d
Normal file
18
gas/testsuite/gas/visium/rela-1.d
Normal file
@ -0,0 +1,18 @@
|
||||
#as:
|
||||
#objdump: -dr
|
||||
#name: rela-1
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
0+0000000 <text>:
|
||||
0: f8 00 00 04 brr tr,\+4
|
||||
0: R_VISIUM_PC16 .text2\+0x10
|
||||
4: 00 00 00 00 nop
|
||||
8: 84 a6 00 00 moviu r6,0x0000
|
||||
8: R_VISIUM_HI16 .text2\+0x10
|
||||
c: 84 86 00 10 movil r6,0x0010
|
||||
c: R_VISIUM_LO16 .text2\+0x10
|
||||
10: ff 86 00 04 bra tr,r6,r0
|
||||
14: 00 00 00 00 nop
|
20
gas/testsuite/gas/visium/rela-1.s
Normal file
20
gas/testsuite/gas/visium/rela-1.s
Normal file
@ -0,0 +1,20 @@
|
||||
|
||||
.section .text
|
||||
text:
|
||||
brr tr,label
|
||||
nop
|
||||
moviu r6, %u label
|
||||
movil r6, %l label
|
||||
bra tr,r6,r0
|
||||
nop
|
||||
|
||||
.section .text2
|
||||
text2:
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
label:
|
||||
.end
|
||||
|
||||
|
32
gas/testsuite/gas/visium/visium.exp
Normal file
32
gas/testsuite/gas/visium/visium.exp
Normal file
@ -0,0 +1,32 @@
|
||||
# Expect script for Visium tests.
|
||||
# Copyright (C) 2014 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of the GNU Binutils.
|
||||
#
|
||||
# This program 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 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program 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 this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
|
||||
# MA 02110-1301, USA.
|
||||
|
||||
# Visium assembler testsuite.
|
||||
|
||||
if [istarget visium-*-*] {
|
||||
run_dump_test "allinsn_def"
|
||||
run_dump_test "allinsn_gr5"
|
||||
run_dump_test "allinsn_gr6"
|
||||
run_dump_test "brr-1"
|
||||
run_dump_test "brr-2"
|
||||
run_dump_test "high-1"
|
||||
run_dump_test "immed-1"
|
||||
run_dump_test "rela-1"
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user