URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
Compare Revisions
- This comparison shows the changes necessary to convert path
/or1k/trunk/gdb-5.0/gdb/testsuite/gdb.disasm
- from Rev 107 to Rev 1765
- ↔ Reverse comparison
Rev 107 → Rev 1765
/mn10300.s
0,0 → 1,300
.text |
.global _main |
.global add_tests |
.global bCC_tests |
.global bit_tests |
.global cmp_tests |
.global extend_tests |
.global extended_tests |
.global logical_tests |
.global loop_tests |
.global mov_tests_1 |
.global mov_tests_2 |
.global mov_tests_3 |
.global mov_tests_4 |
.global movbu_tests |
.global movhu_tests |
.global movm_tests |
.global muldiv_tests |
.global other_tests |
.global shift_tests |
.global sub_tests |
|
_main: |
nop |
|
add_tests: |
add d1,d2 |
add d2,a3 |
add a3,a2 |
add a2,d1 |
add 16,d1 |
add 256,d2 |
add 131071,d3 |
add 16,a1 |
add 256,a2 |
add 131071,a3 |
add 16,sp |
add 256,sp |
add 131071,sp |
addc d1,d2 |
|
bCC_tests: |
beq bCC_tests |
bne bCC_tests |
bgt bCC_tests |
bge bCC_tests |
ble bCC_tests |
blt bCC_tests |
bhi bCC_tests |
bcc bCC_tests |
bls bCC_tests |
bcs bCC_tests |
bvc bCC_tests |
bvs bCC_tests |
bnc bCC_tests |
bns bCC_tests |
bra bCC_tests |
|
bit_tests: |
btst 64,d1 |
btst 8192,d2 |
btst 131071,d3 |
btst 64,(8,a1) |
btst 64,(0x1ffff) |
bset d1,(a2) |
bset 64,(8,a1) |
bset 64,(0x1ffff) |
bclr d1,(a2) |
bclr 64,(8,a1) |
bclr 64,(0x1ffff) |
|
cmp_tests: |
cmp d1,d2 |
cmp d2,a3 |
cmp a3,d3 |
cmp a3,a2 |
cmp 16,d3 |
cmp 256,d2 |
cmp 131071,d1 |
cmp 16,a3 |
cmp 256,a2 |
cmp 131071,a1 |
|
|
extend_tests: |
ext d1 |
extb d2 |
extbu d3 |
exth d2 |
exthu d1 |
|
extended_tests: |
putx d1 |
getx d2 |
mulq d1,d2 |
mulq 16,d2 |
mulq 256,d3 |
mulq 131071,d3 |
mulqu d1,d2 |
mulqu 16,d2 |
mulqu 256,d3 |
mulqu 131071,d3 |
sat16 d2,d3 |
sat24 d3,d2 |
bsch d1,d2 |
|
logical_tests: |
and d1,d2 |
and 127,d2 |
and 32767,d3 |
and 131071,d3 |
and 32767,psw |
or d1,d2 |
or 127,d2 |
or 32767,d3 |
or 131071,d3 |
or 32767,psw |
xor d1,d2 |
xor 32767,d3 |
xor 131071,d3 |
not d3 |
|
loop_tests: |
leq |
lne |
lgt |
lge |
lle |
llt |
lhi |
lcc |
lls |
lcs |
lra |
setlb |
|
mov_tests_1: |
mov d1,d2 |
mov d1,a2 |
mov a2,d1 |
mov a2,a1 |
mov sp,a2 |
mov a1,sp |
mov d2,psw |
mov mdr,d1 |
mov d2,mdr |
mov (a2),d1 |
mov (8,a2),d1 |
mov (256,a2),d1 |
mov (131071,a2),d1 |
mov (8,sp),d1 |
mov (256,sp),d1 |
mov psw,d3 |
|
mov_tests_2: |
mov (131071,sp),d1 |
mov (d1,a1),d2 |
mov (32768),d1 |
mov (131071),d1 |
mov (a2),a1 |
mov (8,a2),a1 |
mov (256,a2),a1 |
mov (131071,a2),a1 |
mov (8,sp),a1 |
mov (256,sp),a1 |
mov (131071,sp),a1 |
mov (d1,a1),a2 |
mov (32768),a1 |
mov (131071),a1 |
mov (32,a1),sp |
|
mov_tests_3: |
mov d1,(a2) |
mov d1,(32,a2) |
mov d1,(256,a2) |
mov d1,(131071,a2) |
mov d1,(32,sp) |
mov d1,(32768,sp) |
mov d1,(131071,sp) |
mov d1,(d2,a2) |
mov d1,(128) |
mov d1,(131071) |
mov a1,(a2) |
mov a1,(32,a2) |
mov a1,(256,a2) |
mov a1,(131071,a2) |
mov a1,(32,sp) |
|
mov_tests_4: |
mov a1,(32768,sp) |
mov a1,(131071,sp) |
mov a1,(d2,a2) |
mov a1,(128) |
mov a1,(131071) |
mov sp,(32,a1) |
mov 8,d1 |
mov 256,d1 |
mov 131071,d1 |
mov 8,a1 |
mov 256,a1 |
mov 131071,a1 |
|
movbu_tests: |
movbu (a2),d1 |
movbu (8,a2),d1 |
movbu (256,a2),d1 |
movbu (131071,a2),d1 |
movbu (8,sp),d1 |
movbu (256,sp),d1 |
movbu (131071,sp),d1 |
movbu (d1,a1),d2 |
movbu (32768),d1 |
movbu (131071),d1 |
movbu d1,(a2) |
movbu d1,(32,a2) |
movbu d1,(256,a2) |
movbu d1,(131071,a2) |
movbu d1,(32,sp) |
movbu d1,(32768,sp) |
movbu d1,(131071,sp) |
movbu d1,(d2,a2) |
movbu d1,(128) |
movbu d1,(131071) |
|
movhu_tests: |
movhu (a2),d1 |
movhu (8,a2),d1 |
movhu (256,a2),d1 |
movhu (131071,a2),d1 |
movhu (8,sp),d1 |
movhu (256,sp),d1 |
movhu (131071,sp),d1 |
movhu (d1,a1),d2 |
movhu (32768),d1 |
movhu (131071),d1 |
movhu d1,(a2) |
movhu d1,(32,a2) |
movhu d1,(256,a2) |
movhu d1,(131071,a2) |
movhu d1,(32,sp) |
movhu d1,(32768,sp) |
movhu d1,(131071,sp) |
movhu d1,(d2,a2) |
movhu d1,(128) |
movhu d1,(131071) |
|
movm_tests: |
movm (sp),[a2,a3] |
movm (sp),[d2,d3,a2,a3,other] |
movm [a2,a3],(sp) |
movm [d2,d3,a2,a3,other],(sp) |
|
|
muldiv_tests: |
mul d1,d2 |
mulu d2,d3 |
div d3,d3 |
divu d3,d2 |
|
other_tests: |
clr d2 |
inc d1 |
inc a2 |
inc4 a3 |
jmp (a2) |
jmp _main |
jmp _start |
call _main,[a2,a3],9 |
call _start,[a2,a3],32 |
calls (a2) |
calls _main |
calls _start |
ret [a2,a3],7 |
retf [a2,a3],5 |
rets |
rti |
trap |
nop |
rtm |
|
shift_tests: |
asr d1,d2 |
asr 4,d2 |
lsr d2,d3 |
lsr 4,d3 |
asl d3,d2 |
asl 4,d2 |
asl2 d2 |
ror d1 |
rol d2 |
|
sub_tests: |
sub d1,d2 |
sub d2,a3 |
sub a3,d3 |
sub a3,a2 |
sub 131071,d2 |
sub 131071,a1 |
subc d1,d2 |
|
/configure
0,0 → 1,899
#! /bin/sh |
|
# Guess values for system-dependent variables and create Makefiles. |
# Generated automatically using autoconf version 2.12.1 |
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. |
# |
# This configure script is free software; the Free Software Foundation |
# gives unlimited permission to copy, distribute and modify it. |
|
# Defaults: |
ac_help= |
ac_default_prefix=/usr/local |
# Any additions from configure.in: |
|
# Initialize some variables set by options. |
# The variables have the same names as the options, with |
# dashes changed to underlines. |
build=NONE |
cache_file=./config.cache |
exec_prefix=NONE |
host=NONE |
no_create= |
nonopt=NONE |
no_recursion= |
prefix=NONE |
program_prefix=NONE |
program_suffix=NONE |
program_transform_name=s,x,x, |
silent= |
site= |
srcdir= |
target=NONE |
verbose= |
x_includes=NONE |
x_libraries=NONE |
bindir='${exec_prefix}/bin' |
sbindir='${exec_prefix}/sbin' |
libexecdir='${exec_prefix}/libexec' |
datadir='${prefix}/share' |
sysconfdir='${prefix}/etc' |
sharedstatedir='${prefix}/com' |
localstatedir='${prefix}/var' |
libdir='${exec_prefix}/lib' |
includedir='${prefix}/include' |
oldincludedir='/usr/include' |
infodir='${prefix}/info' |
mandir='${prefix}/man' |
|
# Initialize some other variables. |
subdirs= |
MFLAGS= MAKEFLAGS= |
SHELL=${CONFIG_SHELL-/bin/sh} |
# Maximum number of lines to put in a shell here document. |
ac_max_here_lines=12 |
|
ac_prev= |
for ac_option |
do |
|
# If the previous option needs an argument, assign it. |
if test -n "$ac_prev"; then |
eval "$ac_prev=\$ac_option" |
ac_prev= |
continue |
fi |
|
case "$ac_option" in |
-*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; |
*) ac_optarg= ;; |
esac |
|
# Accept the important Cygnus configure options, so we can diagnose typos. |
|
case "$ac_option" in |
|
-bindir | --bindir | --bindi | --bind | --bin | --bi) |
ac_prev=bindir ;; |
-bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) |
bindir="$ac_optarg" ;; |
|
-build | --build | --buil | --bui | --bu) |
ac_prev=build ;; |
-build=* | --build=* | --buil=* | --bui=* | --bu=*) |
build="$ac_optarg" ;; |
|
-cache-file | --cache-file | --cache-fil | --cache-fi \ |
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) |
ac_prev=cache_file ;; |
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ |
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) |
cache_file="$ac_optarg" ;; |
|
-datadir | --datadir | --datadi | --datad | --data | --dat | --da) |
ac_prev=datadir ;; |
-datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ |
| --da=*) |
datadir="$ac_optarg" ;; |
|
-disable-* | --disable-*) |
ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` |
# Reject names that are not valid shell variable names. |
if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then |
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } |
fi |
ac_feature=`echo $ac_feature| sed 's/-/_/g'` |
eval "enable_${ac_feature}=no" ;; |
|
-enable-* | --enable-*) |
ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` |
# Reject names that are not valid shell variable names. |
if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then |
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } |
fi |
ac_feature=`echo $ac_feature| sed 's/-/_/g'` |
case "$ac_option" in |
*=*) ;; |
*) ac_optarg=yes ;; |
esac |
eval "enable_${ac_feature}='$ac_optarg'" ;; |
|
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ |
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ |
| --exec | --exe | --ex) |
ac_prev=exec_prefix ;; |
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ |
| --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ |
| --exec=* | --exe=* | --ex=*) |
exec_prefix="$ac_optarg" ;; |
|
-gas | --gas | --ga | --g) |
# Obsolete; use --with-gas. |
with_gas=yes ;; |
|
-help | --help | --hel | --he) |
# Omit some internal or obsolete options to make the list less imposing. |
# This message is too long to be a string in the A/UX 3.1 sh. |
cat << EOF |
Usage: configure [options] [host] |
Options: [defaults in brackets after descriptions] |
Configuration: |
--cache-file=FILE cache test results in FILE |
--help print this message |
--no-create do not create output files |
--quiet, --silent do not print \`checking...' messages |
--version print the version of autoconf that created configure |
Directory and file names: |
--prefix=PREFIX install architecture-independent files in PREFIX |
[$ac_default_prefix] |
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX |
[same as prefix] |
--bindir=DIR user executables in DIR [EPREFIX/bin] |
--sbindir=DIR system admin executables in DIR [EPREFIX/sbin] |
--libexecdir=DIR program executables in DIR [EPREFIX/libexec] |
--datadir=DIR read-only architecture-independent data in DIR |
[PREFIX/share] |
--sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] |
--sharedstatedir=DIR modifiable architecture-independent data in DIR |
[PREFIX/com] |
--localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] |
--libdir=DIR object code libraries in DIR [EPREFIX/lib] |
--includedir=DIR C header files in DIR [PREFIX/include] |
--oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] |
--infodir=DIR info documentation in DIR [PREFIX/info] |
--mandir=DIR man documentation in DIR [PREFIX/man] |
--srcdir=DIR find the sources in DIR [configure dir or ..] |
--program-prefix=PREFIX prepend PREFIX to installed program names |
--program-suffix=SUFFIX append SUFFIX to installed program names |
--program-transform-name=PROGRAM |
run sed PROGRAM on installed program names |
EOF |
cat << EOF |
Host type: |
--build=BUILD configure for building on BUILD [BUILD=HOST] |
--host=HOST configure for HOST [guessed] |
--target=TARGET configure for TARGET [TARGET=HOST] |
Features and packages: |
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) |
--enable-FEATURE[=ARG] include FEATURE [ARG=yes] |
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes] |
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) |
--x-includes=DIR X include files are in DIR |
--x-libraries=DIR X library files are in DIR |
EOF |
if test -n "$ac_help"; then |
echo "--enable and --with options recognized:$ac_help" |
fi |
exit 0 ;; |
|
-host | --host | --hos | --ho) |
ac_prev=host ;; |
-host=* | --host=* | --hos=* | --ho=*) |
host="$ac_optarg" ;; |
|
-includedir | --includedir | --includedi | --included | --include \ |
| --includ | --inclu | --incl | --inc) |
ac_prev=includedir ;; |
-includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ |
| --includ=* | --inclu=* | --incl=* | --inc=*) |
includedir="$ac_optarg" ;; |
|
-infodir | --infodir | --infodi | --infod | --info | --inf) |
ac_prev=infodir ;; |
-infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) |
infodir="$ac_optarg" ;; |
|
-libdir | --libdir | --libdi | --libd) |
ac_prev=libdir ;; |
-libdir=* | --libdir=* | --libdi=* | --libd=*) |
libdir="$ac_optarg" ;; |
|
-libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ |
| --libexe | --libex | --libe) |
ac_prev=libexecdir ;; |
-libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ |
| --libexe=* | --libex=* | --libe=*) |
libexecdir="$ac_optarg" ;; |
|
-localstatedir | --localstatedir | --localstatedi | --localstated \ |
| --localstate | --localstat | --localsta | --localst \ |
| --locals | --local | --loca | --loc | --lo) |
ac_prev=localstatedir ;; |
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ |
| --localstate=* | --localstat=* | --localsta=* | --localst=* \ |
| --locals=* | --local=* | --loca=* | --loc=* | --lo=*) |
localstatedir="$ac_optarg" ;; |
|
-mandir | --mandir | --mandi | --mand | --man | --ma | --m) |
ac_prev=mandir ;; |
-mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) |
mandir="$ac_optarg" ;; |
|
-nfp | --nfp | --nf) |
# Obsolete; use --without-fp. |
with_fp=no ;; |
|
-no-create | --no-create | --no-creat | --no-crea | --no-cre \ |
| --no-cr | --no-c) |
no_create=yes ;; |
|
-no-recursion | --no-recursion | --no-recursio | --no-recursi \ |
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) |
no_recursion=yes ;; |
|
-oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ |
| --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ |
| --oldin | --oldi | --old | --ol | --o) |
ac_prev=oldincludedir ;; |
-oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ |
| --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ |
| --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) |
oldincludedir="$ac_optarg" ;; |
|
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p) |
ac_prev=prefix ;; |
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) |
prefix="$ac_optarg" ;; |
|
-program-prefix | --program-prefix | --program-prefi | --program-pref \ |
| --program-pre | --program-pr | --program-p) |
ac_prev=program_prefix ;; |
-program-prefix=* | --program-prefix=* | --program-prefi=* \ |
| --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) |
program_prefix="$ac_optarg" ;; |
|
-program-suffix | --program-suffix | --program-suffi | --program-suff \ |
| --program-suf | --program-su | --program-s) |
ac_prev=program_suffix ;; |
-program-suffix=* | --program-suffix=* | --program-suffi=* \ |
| --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) |
program_suffix="$ac_optarg" ;; |
|
-program-transform-name | --program-transform-name \ |
| --program-transform-nam | --program-transform-na \ |
| --program-transform-n | --program-transform- \ |
| --program-transform | --program-transfor \ |
| --program-transfo | --program-transf \ |
| --program-trans | --program-tran \ |
| --progr-tra | --program-tr | --program-t) |
ac_prev=program_transform_name ;; |
-program-transform-name=* | --program-transform-name=* \ |
| --program-transform-nam=* | --program-transform-na=* \ |
| --program-transform-n=* | --program-transform-=* \ |
| --program-transform=* | --program-transfor=* \ |
| --program-transfo=* | --program-transf=* \ |
| --program-trans=* | --program-tran=* \ |
| --progr-tra=* | --program-tr=* | --program-t=*) |
program_transform_name="$ac_optarg" ;; |
|
-q | -quiet | --quiet | --quie | --qui | --qu | --q \ |
| -silent | --silent | --silen | --sile | --sil) |
silent=yes ;; |
|
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) |
ac_prev=sbindir ;; |
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ |
| --sbi=* | --sb=*) |
sbindir="$ac_optarg" ;; |
|
-sharedstatedir | --sharedstatedir | --sharedstatedi \ |
| --sharedstated | --sharedstate | --sharedstat | --sharedsta \ |
| --sharedst | --shareds | --shared | --share | --shar \ |
| --sha | --sh) |
ac_prev=sharedstatedir ;; |
-sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ |
| --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ |
| --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ |
| --sha=* | --sh=*) |
sharedstatedir="$ac_optarg" ;; |
|
-site | --site | --sit) |
ac_prev=site ;; |
-site=* | --site=* | --sit=*) |
site="$ac_optarg" ;; |
|
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr) |
ac_prev=srcdir ;; |
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) |
srcdir="$ac_optarg" ;; |
|
-sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ |
| --syscon | --sysco | --sysc | --sys | --sy) |
ac_prev=sysconfdir ;; |
-sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ |
| --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) |
sysconfdir="$ac_optarg" ;; |
|
-target | --target | --targe | --targ | --tar | --ta | --t) |
ac_prev=target ;; |
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) |
target="$ac_optarg" ;; |
|
-v | -verbose | --verbose | --verbos | --verbo | --verb) |
verbose=yes ;; |
|
-version | --version | --versio | --versi | --vers) |
echo "configure generated by autoconf version 2.12.1" |
exit 0 ;; |
|
-with-* | --with-*) |
ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` |
# Reject names that are not valid shell variable names. |
if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then |
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } |
fi |
ac_package=`echo $ac_package| sed 's/-/_/g'` |
case "$ac_option" in |
*=*) ;; |
*) ac_optarg=yes ;; |
esac |
eval "with_${ac_package}='$ac_optarg'" ;; |
|
-without-* | --without-*) |
ac_package=`echo $ac_option|sed -e 's/-*without-//'` |
# Reject names that are not valid shell variable names. |
if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then |
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } |
fi |
ac_package=`echo $ac_package| sed 's/-/_/g'` |
eval "with_${ac_package}=no" ;; |
|
--x) |
# Obsolete; use --with-x. |
with_x=yes ;; |
|
-x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ |
| --x-incl | --x-inc | --x-in | --x-i) |
ac_prev=x_includes ;; |
-x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ |
| --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) |
x_includes="$ac_optarg" ;; |
|
-x-libraries | --x-libraries | --x-librarie | --x-librari \ |
| --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) |
ac_prev=x_libraries ;; |
-x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ |
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) |
x_libraries="$ac_optarg" ;; |
|
-*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } |
;; |
|
*) |
if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then |
echo "configure: warning: $ac_option: invalid host type" 1>&2 |
fi |
if test "x$nonopt" != xNONE; then |
{ echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } |
fi |
nonopt="$ac_option" |
;; |
|
esac |
done |
|
if test -n "$ac_prev"; then |
{ echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } |
fi |
|
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 |
|
# File descriptor usage: |
# 0 standard input |
# 1 file creation |
# 2 errors and warnings |
# 3 some systems may open it to /dev/tty |
# 4 used on the Kubota Titan |
# 6 checking for... messages and results |
# 5 compiler messages saved in config.log |
if test "$silent" = yes; then |
exec 6>/dev/null |
else |
exec 6>&1 |
fi |
exec 5>./config.log |
|
echo "\ |
This file contains any messages produced by compilers while |
running configure, to aid debugging if configure makes a mistake. |
" 1>&5 |
|
# Strip out --no-create and --no-recursion so they do not pile up. |
# Also quote any args containing shell metacharacters. |
ac_configure_args= |
for ac_arg |
do |
case "$ac_arg" in |
-no-create | --no-create | --no-creat | --no-crea | --no-cre \ |
| --no-cr | --no-c) ;; |
-no-recursion | --no-recursion | --no-recursio | --no-recursi \ |
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; |
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) |
ac_configure_args="$ac_configure_args '$ac_arg'" ;; |
*) ac_configure_args="$ac_configure_args $ac_arg" ;; |
esac |
done |
|
# NLS nuisances. |
# Only set these to C if already set. These must not be set unconditionally |
# because not all systems understand e.g. LANG=C (notably SCO). |
# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! |
# Non-C LC_CTYPE values break the ctype check. |
if test "${LANG+set}" = set; then LANG=C; export LANG; fi |
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi |
if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi |
if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi |
|
# confdefs.h avoids OS command line length limits that DEFS can exceed. |
rm -rf conftest* confdefs.h |
# AIX cpp loses on an empty file, so make sure it contains at least a newline. |
echo > confdefs.h |
|
# A filename unique to this package, relative to the directory that |
# configure is in, which we can look for to find out if srcdir is correct. |
ac_unique_file=sh3.s |
|
# Find the source files, if location was not specified. |
if test -z "$srcdir"; then |
ac_srcdir_defaulted=yes |
# Try the directory containing this script, then its parent. |
ac_prog=$0 |
ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` |
test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. |
srcdir=$ac_confdir |
if test ! -r $srcdir/$ac_unique_file; then |
srcdir=.. |
fi |
else |
ac_srcdir_defaulted=no |
fi |
if test ! -r $srcdir/$ac_unique_file; then |
if test "$ac_srcdir_defaulted" = yes; then |
{ echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } |
else |
{ echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } |
fi |
fi |
srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` |
|
# Prefer explicitly selected file to automatically selected ones. |
if test -z "$CONFIG_SITE"; then |
if test "x$prefix" != xNONE; then |
CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" |
else |
CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" |
fi |
fi |
for ac_site_file in $CONFIG_SITE; do |
if test -r "$ac_site_file"; then |
echo "loading site script $ac_site_file" |
. "$ac_site_file" |
fi |
done |
|
if test -r "$cache_file"; then |
echo "loading cache $cache_file" |
. $cache_file |
else |
echo "creating cache $cache_file" |
> $cache_file |
fi |
|
ac_ext=c |
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. |
ac_cpp='$CPP $CPPFLAGS' |
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' |
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' |
cross_compiling=$ac_cv_prog_cc_cross |
|
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then |
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. |
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then |
ac_n= ac_c=' |
' ac_t=' ' |
else |
ac_n=-n ac_c= ac_t= |
fi |
else |
ac_n= ac_c='\c' ac_t= |
fi |
|
|
|
CC=${CC-cc} |
|
ac_aux_dir= |
for ac_dir in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../..; do |
if test -f $ac_dir/install-sh; then |
ac_aux_dir=$ac_dir |
ac_install_sh="$ac_aux_dir/install-sh -c" |
break |
elif test -f $ac_dir/install.sh; then |
ac_aux_dir=$ac_dir |
ac_install_sh="$ac_aux_dir/install.sh -c" |
break |
fi |
done |
if test -z "$ac_aux_dir"; then |
{ echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../.." 1>&2; exit 1; } |
fi |
ac_config_guess=$ac_aux_dir/config.guess |
ac_config_sub=$ac_aux_dir/config.sub |
ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. |
|
|
# Do some error checking and defaulting for the host and target type. |
# The inputs are: |
# configure --host=HOST --target=TARGET --build=BUILD NONOPT |
# |
# The rules are: |
# 1. You are not allowed to specify --host, --target, and nonopt at the |
# same time. |
# 2. Host defaults to nonopt. |
# 3. If nonopt is not specified, then host defaults to the current host, |
# as determined by config.guess. |
# 4. Target and build default to nonopt. |
# 5. If nonopt is not specified, then target and build default to host. |
|
# The aliases save the names the user supplied, while $host etc. |
# will get canonicalized. |
case $host---$target---$nonopt in |
NONE---*---* | *---NONE---* | *---*---NONE) ;; |
*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; |
esac |
|
|
# Make sure we can run config.sub. |
if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : |
else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } |
fi |
|
echo $ac_n "checking host system type""... $ac_c" 1>&6 |
echo "configure:573: checking host system type" >&5 |
|
host_alias=$host |
case "$host_alias" in |
NONE) |
case $nonopt in |
NONE) |
if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : |
else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } |
fi ;; |
*) host_alias=$nonopt ;; |
esac ;; |
esac |
|
host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` |
host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` |
host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` |
host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` |
echo "$ac_t""$host" 1>&6 |
|
echo $ac_n "checking target system type""... $ac_c" 1>&6 |
echo "configure:594: checking target system type" >&5 |
|
target_alias=$target |
case "$target_alias" in |
NONE) |
case $nonopt in |
NONE) target_alias=$host_alias ;; |
*) target_alias=$nonopt ;; |
esac ;; |
esac |
|
target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` |
target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` |
target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` |
target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` |
echo "$ac_t""$target" 1>&6 |
|
echo $ac_n "checking build system type""... $ac_c" 1>&6 |
echo "configure:612: checking build system type" >&5 |
|
build_alias=$build |
case "$build_alias" in |
NONE) |
case $nonopt in |
NONE) build_alias=$host_alias ;; |
*) build_alias=$nonopt ;; |
esac ;; |
esac |
|
build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` |
build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` |
build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` |
build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` |
echo "$ac_t""$build" 1>&6 |
|
test "$host_alias" != "$target_alias" && |
test "$program_prefix$program_suffix$program_transform_name" = \ |
NONENONEs,x,x, && |
program_prefix=${target_alias}- |
|
|
trap '' 1 2 15 |
cat > confcache <<\EOF |
# This file is a shell script that caches the results of configure |
# tests run on this system so they can be shared between configure |
# scripts and configure runs. It is not useful on other systems. |
# If it contains results you don't want to keep, you may remove or edit it. |
# |
# By default, configure uses ./config.cache as the cache file, |
# creating it if it does not exist already. You can give configure |
# the --cache-file=FILE option to use a different cache file; that is |
# what configure does when it calls configure scripts in |
# subdirectories, so they share the cache. |
# Giving --cache-file=/dev/null disables caching, for debugging configure. |
# config.status only pays attention to the cache file if you give it the |
# --recheck option to rerun configure. |
# |
EOF |
# The following way of writing the cache mishandles newlines in values, |
# but we know of no workaround that is simple, portable, and efficient. |
# So, don't put newlines in cache variables' values. |
# Ultrix sh set writes to stderr and can't be redirected directly, |
# and sets the high bit in the cache file unless we assign to the vars. |
(set) 2>&1 | |
case `(ac_space=' '; set) 2>&1 | grep ac_space` in |
*ac_space=\ *) |
# `set' does not quote correctly, so add quotes (double-quote substitution |
# turns \\\\ into \\, and sed turns \\ into \). |
sed -n \ |
-e "s/'/'\\\\''/g" \ |
-e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" |
;; |
*) |
# `set' quotes correctly as required by POSIX, so do not add quotes. |
sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' |
;; |
esac >> confcache |
if cmp -s $cache_file confcache; then |
: |
else |
if test -w $cache_file; then |
echo "updating cache $cache_file" |
cat confcache > $cache_file |
else |
echo "not updating unwritable cache $cache_file" |
fi |
fi |
rm -f confcache |
|
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 |
|
test "x$prefix" = xNONE && prefix=$ac_default_prefix |
# Let make expand exec_prefix. |
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' |
|
# Any assignment to VPATH causes Sun make to only execute |
# the first set of double-colon rules, so remove it if not needed. |
# If there is a colon in the path, we need to keep it. |
if test "x$srcdir" = x.; then |
ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' |
fi |
|
trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 |
|
# Transform confdefs.h into DEFS. |
# Protect against shell expansion while executing Makefile rules. |
# Protect against Makefile macro expansion. |
cat > conftest.defs <<\EOF |
s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g |
s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g |
s%\[%\\&%g |
s%\]%\\&%g |
s%\$%$$%g |
EOF |
DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` |
rm -f conftest.defs |
|
|
# Without the "./", some shells look in PATH for config.status. |
: ${CONFIG_STATUS=./config.status} |
|
echo creating $CONFIG_STATUS |
rm -f $CONFIG_STATUS |
cat > $CONFIG_STATUS <<EOF |
#! /bin/sh |
# Generated automatically by configure. |
# Run this file to recreate the current configuration. |
# This directory was configured as follows, |
# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: |
# |
# $0 $ac_configure_args |
# |
# Compiler output produced by configure, useful for debugging |
# configure, is in ./config.log if it exists. |
|
ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" |
for ac_option |
do |
case "\$ac_option" in |
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) |
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" |
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; |
-version | --version | --versio | --versi | --vers | --ver | --ve | --v) |
echo "$CONFIG_STATUS generated by autoconf version 2.12.1" |
exit 0 ;; |
-help | --help | --hel | --he | --h) |
echo "\$ac_cs_usage"; exit 0 ;; |
*) echo "\$ac_cs_usage"; exit 1 ;; |
esac |
done |
|
ac_given_srcdir=$srcdir |
|
trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 |
EOF |
cat >> $CONFIG_STATUS <<EOF |
|
# Protect against being on the right side of a sed subst in config.status. |
sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; |
s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF |
$ac_vpsub |
$extrasub |
s%@SHELL@%$SHELL%g |
s%@CFLAGS@%$CFLAGS%g |
s%@CPPFLAGS@%$CPPFLAGS%g |
s%@CXXFLAGS@%$CXXFLAGS%g |
s%@DEFS@%$DEFS%g |
s%@LDFLAGS@%$LDFLAGS%g |
s%@LIBS@%$LIBS%g |
s%@exec_prefix@%$exec_prefix%g |
s%@prefix@%$prefix%g |
s%@program_transform_name@%$program_transform_name%g |
s%@bindir@%$bindir%g |
s%@sbindir@%$sbindir%g |
s%@libexecdir@%$libexecdir%g |
s%@datadir@%$datadir%g |
s%@sysconfdir@%$sysconfdir%g |
s%@sharedstatedir@%$sharedstatedir%g |
s%@localstatedir@%$localstatedir%g |
s%@libdir@%$libdir%g |
s%@includedir@%$includedir%g |
s%@oldincludedir@%$oldincludedir%g |
s%@infodir@%$infodir%g |
s%@mandir@%$mandir%g |
s%@CC@%$CC%g |
s%@host@%$host%g |
s%@host_alias@%$host_alias%g |
s%@host_cpu@%$host_cpu%g |
s%@host_vendor@%$host_vendor%g |
s%@host_os@%$host_os%g |
s%@target@%$target%g |
s%@target_alias@%$target_alias%g |
s%@target_cpu@%$target_cpu%g |
s%@target_vendor@%$target_vendor%g |
s%@target_os@%$target_os%g |
s%@build@%$build%g |
s%@build_alias@%$build_alias%g |
s%@build_cpu@%$build_cpu%g |
s%@build_vendor@%$build_vendor%g |
s%@build_os@%$build_os%g |
|
CEOF |
EOF |
|
cat >> $CONFIG_STATUS <<\EOF |
|
# Split the substitutions into bite-sized pieces for seds with |
# small command number limits, like on Digital OSF/1 and HP-UX. |
ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. |
ac_file=1 # Number of current file. |
ac_beg=1 # First line for current file. |
ac_end=$ac_max_sed_cmds # Line after last line for current file. |
ac_more_lines=: |
ac_sed_cmds="" |
while $ac_more_lines; do |
if test $ac_beg -gt 1; then |
sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file |
else |
sed "${ac_end}q" conftest.subs > conftest.s$ac_file |
fi |
if test ! -s conftest.s$ac_file; then |
ac_more_lines=false |
rm -f conftest.s$ac_file |
else |
if test -z "$ac_sed_cmds"; then |
ac_sed_cmds="sed -f conftest.s$ac_file" |
else |
ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" |
fi |
ac_file=`expr $ac_file + 1` |
ac_beg=$ac_end |
ac_end=`expr $ac_end + $ac_max_sed_cmds` |
fi |
done |
if test -z "$ac_sed_cmds"; then |
ac_sed_cmds=cat |
fi |
EOF |
|
cat >> $CONFIG_STATUS <<EOF |
|
CONFIG_FILES=\${CONFIG_FILES-"Makefile"} |
EOF |
cat >> $CONFIG_STATUS <<\EOF |
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then |
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". |
case "$ac_file" in |
*:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` |
ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; |
*) ac_file_in="${ac_file}.in" ;; |
esac |
|
# Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. |
|
# Remove last slash and all that follows it. Not all systems have dirname. |
ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` |
if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then |
# The file is in a subdirectory. |
test ! -d "$ac_dir" && mkdir "$ac_dir" |
ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" |
# A "../" for each directory in $ac_dir_suffix. |
ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` |
else |
ac_dir_suffix= ac_dots= |
fi |
|
case "$ac_given_srcdir" in |
.) srcdir=. |
if test -z "$ac_dots"; then top_srcdir=. |
else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; |
/*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; |
*) # Relative path. |
srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" |
top_srcdir="$ac_dots$ac_given_srcdir" ;; |
esac |
|
|
echo creating "$ac_file" |
rm -f "$ac_file" |
configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." |
case "$ac_file" in |
*Makefile*) ac_comsub="1i\\ |
# $configure_input" ;; |
*) ac_comsub= ;; |
esac |
|
ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` |
sed -e "$ac_comsub |
s%@configure_input@%$configure_input%g |
s%@srcdir@%$srcdir%g |
s%@top_srcdir@%$top_srcdir%g |
" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file |
fi; done |
rm -f conftest.s* |
|
EOF |
cat >> $CONFIG_STATUS <<EOF |
|
EOF |
cat >> $CONFIG_STATUS <<\EOF |
|
exit 0 |
EOF |
chmod +x $CONFIG_STATUS |
rm -fr confdefs* $ac_clean_files |
test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 |
|
/Makefile.in
0,0 → 1,20
#### host, target, and site specific Makefile frags come in here. |
|
VPATH = @srcdir@ |
srcdir = @srcdir@ |
|
.PHONY: all clean mostlyclean distclean realclean |
|
all: |
@echo "Nothing to be done for all..." |
|
clean mostlyclean: |
-rm -f *.o *.diff *~ *.bad core sh3 hppa mn10200 mn10300 |
|
distclean maintainer-clean realclean: clean |
-rm -f Makefile config.status config.log |
|
Makefile: $(srcdir)/Makefile.in $(srcdir)/configure.in |
$(SHELL) ./config.status --recheck |
|
|
/hppa.exp
0,0 → 1,1404
|
# Copyright (C) 1992, 1997 Free Software Foundation, Inc. |
|
# 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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
|
# Please email any bugs, comments, and/or additions to this file to: |
# bug-gdb@prep.ai.mit.edu |
|
# This file was written by Jeff Law. (law@cs.utah.edu) |
|
if $tracelevel then { |
strace $tracelevel |
} |
|
if ![istarget "hppa*-*-*"] { |
verbose "Tests ignored for all but hppa based targets." |
return |
} |
|
|
set prms_id 0 |
set bug_id 0 |
|
set testfile "hppa" |
set srcfile ${srcdir}/${subdir}/${testfile}.s |
set binfile ${objdir}/${subdir}/${testfile} |
set comp_output [gdb_compile "${srcfile}" "${binfile}" executable ""]; |
if { $comp_output != "" } { |
if [ regexp "Opcode not defined - DIAG" $comp_output] { |
warning "HP assembler in use--skipping disasm tests" |
return |
} else { |
perror "Couldn't compile ${srcfile}" |
return -1 |
} |
} |
|
proc all_integer_memory_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/8i integer_memory_tests\n" |
gdb_expect { |
-re " |
.*ldw 0\\(sr0,r4\\),r26.* |
.*ldh 0\\(sr0,r4\\),r26.* |
.*ldb 0\\(sr0,r4\\),r26.* |
.*stw r26,0\\(sr0,r4\\).* |
.*sth r26,0\\(sr0,r4\\).* |
.*stb r26,0\\(sr0,r4\\).* |
.*ldwm 0\\(sr0,r4\\),r26.* |
.*stwm r26,0\\(sr0,r4\\).* |
.*$gdb_prompt $" { pass "integer_memory_tests" } |
-re "$gdb_prompt $" { fail "integer_memory_tests" } |
timeout { fail "(timeout) integer memory_tests" } |
} |
|
send_gdb "x/20i integer_indexing_load\n" |
gdb_expect { |
-re " |
.*ldwx r5\\(sr0,r4\\),r26.* |
.*ldwx,s r5\\(sr0,r4\\),r26.* |
.*ldwx,m r5\\(sr0,r4\\),r26.* |
.*ldwx,sm r5\\(sr0,r4\\),r26.* |
.*ldhx r5\\(sr0,r4\\),r26.* |
.*ldhx,s r5\\(sr0,r4\\),r26.* |
.*ldhx,m r5\\(sr0,r4\\),r26.* |
.*ldhx,sm r5\\(sr0,r4\\),r26.* |
.*ldbx r5\\(sr0,r4\\),r26.* |
.*ldbx,s r5\\(sr0,r4\\),r26.* |
.*ldbx,m r5\\(sr0,r4\\),r26.* |
.*ldbx,sm r5\\(sr0,r4\\),r26.* |
.*ldwax r5\\(r4\\),r26.* |
.*ldwax,s r5\\(r4\\),r26.* |
.*ldwax,m r5\\(r4\\),r26.* |
.*ldwax,sm r5\\(r4\\),r26.* |
.*ldcwx r5\\(sr0,r4\\),r26.* |
.*ldcwx,s r5\\(sr0,r4\\),r26.* |
.*ldcwx,m r5\\(sr0,r4\\),r26.* |
.*ldcwx,sm r5\\(sr0,r4\\),r26.* |
.*$gdb_prompt $" { pass "integer_indexing_load" } |
-re "$gdb_prompt $" { fail "integer_indexing_load" } |
timeout { fail "(timeout) integer_indexing" } |
} |
|
send_gdb "x/15i integer_load_short_memory\n" |
gdb_expect { |
-re " |
.*ldws 0\\(sr0,r4\\),r26.* |
.*ldws,mb 0\\(sr0,r4\\),r26.* |
.*ldws,ma 0\\(sr0,r4\\),r26.* |
.*ldhs 0\\(sr0,r4\\),r26.* |
.*ldhs,mb 0\\(sr0,r4\\),r26.* |
.*ldhs,ma 0\\(sr0,r4\\),r26.* |
.*ldbs 0\\(sr0,r4\\),r26.* |
.*ldbs,mb 0\\(sr0,r4\\),r26.* |
.*ldbs,ma 0\\(sr0,r4\\),r26.* |
.*ldwas 0\\(r4\\),r26.* |
.*ldwas,mb 0\\(r4\\),r26.* |
.*ldwas,ma 0\\(r4\\),r26.* |
.*ldcws 0\\(sr0,r4\\),r26.* |
.*ldcws,mb 0\\(sr0,r4\\),r26.* |
.*ldcws,ma 0\\(sr0,r4\\),r26.* |
.*$gdb_prompt $" { pass "integer_load_short_memory" } |
-re "$gdb_prompt $" { fail "integer_load_short_memory" } |
timeout { fail "(timeout) integer_load_short_memory " } |
} |
|
|
send_gdb "x/17i integer_store_short_memory\n" |
gdb_expect { |
-re " |
.*stws r26,0\\(sr0,r4\\).* |
.*stws,mb r26,0\\(sr0,r4\\).* |
.*stws,ma r26,0\\(sr0,r4\\).* |
.*sths r26,0\\(sr0,r4\\).* |
.*sths,mb r26,0\\(sr0,r4\\).* |
.*sths,ma r26,0\\(sr0,r4\\).* |
.*stbs r26,0\\(sr0,r4\\).* |
.*stbs,mb r26,0\\(sr0,r4\\).* |
.*stbs,ma r26,0\\(sr0,r4\\).* |
.*stwas r26,0\\(r4\\).* |
.*stwas,mb r26,0\\(r4\\).* |
.*stwas,ma r26,0\\(r4\\).* |
.*stbys r26,0\\(sr0,r4\\).* |
.*stbys r26,0\\(sr0,r4\\).* |
.*stbys,e r26,0\\(sr0,r4\\).* |
.*stbys,b,m r26,0\\(sr0,r4\\).* |
.*stbys,e,m r26,0\\(sr0,r4\\).* |
.*$gdb_prompt $" { pass "integer_store_short_memory" } |
-re "$gdb_prompt $" { fail "integer_store_short_memory" } |
timeout { fail "(timeout) integer_short_memory " } |
} |
} |
|
proc all_immediate_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/3i immediate_tests\n" |
gdb_expect { |
-re " |
.*ldo 5\\(r26\\),r26.* |
.*ldil -21524800,r26.* |
.*addil -21524800,r5.* |
.*$gdb_prompt $" { pass "immedate_tests" } |
-re "$gdb_prompt $" { fail "immedate_tests" } |
timeout { fail "(timeout) immedate_tests " } |
} |
} |
|
proc all_branch_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/10i branch_tests_1\n" |
gdb_expect { |
-re " |
.*bl.*,rp.* |
.*bl,n.*,rp.* |
.*b.* |
.*b,n.* |
.*gate.*,rp.* |
.*gate,n.*,rp.* |
.*blr r4,rp.* |
.*blr,n r4,rp.* |
.*blr r4,r0.* |
.*blr,n r4,r0.* |
.*$gdb_prompt $" { pass "branch_tests_1" } |
-re "$gdb_prompt $" { fail "branch_tests_1" } |
timeout { fail "(timeout) branch_tests_1" } |
} |
|
send_gdb "x/6i branch_tests_2\n" |
gdb_expect { |
-re " |
.*bv r0\\(rp\\).* |
.*bv,n r0\\(rp\\).* |
.*be 1234\\(sr1,rp\\).* |
.*be,n 1234\\(sr1,rp\\).* |
.*ble 1234\\(sr1,rp\\).* |
.*ble,n 1234\\(sr1,rp\\).* |
.*$gdb_prompt $" { pass "branch_tests_2" } |
-re "$gdb_prompt $" { fail "branch_tests_2" } |
timeout { fail "(timeout) branch_tests_2" } |
} |
|
|
send_gdb "x/8i movb_tests\n" |
gdb_expect { |
-re " |
.*movb r4,r26,.* <movb_tests>.* |
.*movb,= r4,r26,.* <movb_tests>.* |
.*movb,< r4,r26,.* <movb_tests>.* |
.*movb,od r4,r26,.* <movb_tests>.* |
.*movb,tr r4,r26,.* <movb_tests>.* |
.*movb,<> r4,r26,.* <movb_tests>.* |
.*movb,>= r4,r26,.* <movb_tests>.* |
.*movb,ev r4,r26,.* <movb_tests>.* |
.*$gdb_prompt $" { pass "movb_tests" } |
-re "$gdb_prompt $" { fail "movb_tests" } |
timeout { fail "(timeout) movb_tests " } |
} |
|
send_gdb "x/8i movb_nullified_tests\n" |
gdb_expect { |
-re " |
.*movb,n.*r4,r26,.* <movb_tests>.* |
.*movb,=,n.*r4,r26,.* <movb_tests>.* |
.*movb,<,n.*r4,r26,.* <movb_tests>.* |
.*movb,od,n.*r4,r26,.* <movb_tests>.* |
.*movb,tr,n.*r4,r26,.* <movb_tests>.* |
.*movb,<>,n.*r4,r26,.* <movb_tests>.* |
.*movb,>=,n.*r4,r26,.* <movb_tests>.* |
.*movb,ev,n.*r4,r26,.* <movb_tests>.* |
.*$gdb_prompt $" { pass "movb_nullified_tests" } |
-re "$gdb_prompt $" { fail "movb_nullified_tests" } |
timeout { fail "(timeout) movb_nullified_tests " } |
} |
|
send_gdb "x/8i movib_tests\n" |
gdb_expect { |
-re " |
.*movib 5,r26,.* <movib_tests>.* |
.*movib,= 5,r26,.* <movib_tests>.* |
.*movib,< 5,r26,.* <movib_tests>.* |
.*movib,od 5,r26,.* <movib_tests>.* |
.*movib,tr 5,r26,.* <movib_tests>.* |
.*movib,<> 5,r26,.* <movib_tests>.* |
.*movib,>= 5,r26,.* <movib_tests>.* |
.*movib,ev 5,r26,.* <movib_tests>.* |
.*$gdb_prompt $" { pass "movib_tests" } |
-re "$gdb_prompt $" { fail "movib_tests" } |
timeout { fail "(timeout) movib_tests " } |
} |
|
send_gdb "x/8i movib_nullified_tests\n" |
gdb_expect { |
-re " |
.*movib,n.*5,r26,.* <movib_tests>.* |
.*movib,=,n.*5,r26,.* <movib_tests>.* |
.*movib,<,n.*5,r26,.* <movib_tests>.* |
.*movib,od,n.*5,r26,.* <movib_tests>.* |
.*movib,tr,n.*5,r26,.* <movib_tests>.* |
.*movib,<>,n.*5,r26,.* <movib_tests>.* |
.*movib,>=,n.*5,r26,.* <movib_tests>.* |
.*movib,ev,n.*5,r26,.* <movib_tests>.* |
.*$gdb_prompt $" { pass "movib_nullified_tests" } |
-re "$gdb_prompt $" { fail "movib_nullified_tests" } |
timeout { fail "(timeout) movib_nullified_tests " } |
} |
|
send_gdb "x/8i comb_tests_1\n" |
gdb_expect { |
-re " |
.*comb r0,r4,.* <comb_tests_1>.* |
.*comb,= r0,r4,.* <comb_tests_1>.* |
.*comb,< r0,r4,.* <comb_tests_1>.* |
.*comb,<= r0,r4,.* <comb_tests_1>.* |
.*comb,<< r0,r4,.* <comb_tests_1>.* |
.*comb,<<= r0,r4,.* <comb_tests_1>.* |
.*comb,sv r0,r4,.* <comb_tests_1>.* |
.*comb,od r0,r4,.* <comb_tests_1>.* |
.*$gdb_prompt $" { pass "comb_tests_1" } |
-re "$gdb_prompt $" { fail "comb_tests_1" } |
timeout { fail "(timeout) comb_tests_1" } |
} |
|
send_gdb "x/8i comb_tests_2\n" |
gdb_expect { |
-re " |
.*combf r0,r4,.* <comb_tests_2>.* |
.*combf,= r0,r4,.* <comb_tests_2>.* |
.*combf,< r0,r4,.* <comb_tests_2>.* |
.*combf,<= r0,r4,.* <comb_tests_2>.* |
.*combf,<< r0,r4,.* <comb_tests_2>.* |
.*combf,<<= r0,r4,.* <comb_tests_2>.* |
.*combf,sv r0,r4,.* <comb_tests_2>.* |
.*combf,od r0,r4,.* <comb_tests_2>.* |
.*$gdb_prompt $" { pass "comb_tests_2" } |
-re "$gdb_prompt $" { fail "comb_tests_2" } |
timeout { fail "(timeout) comb_tests_2" } |
} |
|
send_gdb "x/8i comb_nullified_tests_1\n" |
gdb_expect { |
-re " |
.*comb,n r0,r4,.* <comb_tests_1>.* |
.*comb,=,n r0,r4,.* <comb_tests_1>.* |
.*comb,<,n r0,r4,.* <comb_tests_1>.* |
.*comb,<=,n r0,r4,.* <comb_tests_1>.* |
.*comb,<<,n r0,r4,.* <comb_tests_1>.* |
.*comb,<<=,n r0,r4,.* <comb_tests_1>.* |
.*comb,sv,n r0,r4,.* <comb_tests_1>.* |
.*comb,od,n r0,r4,.* <comb_tests_1>.* |
.*$gdb_prompt $" { pass "comb_nullified_tests_1" } |
-re "$gdb_prompt $" { fail "comb_nullified_tests_1" } |
timeout { fail "(timeout) comb_nullified_tests_1" } |
} |
|
send_gdb "x/8i comb_nullified_tests_2\n" |
gdb_expect { |
-re " |
.*combf,n r0,r4,.* <comb_tests_2>.* |
.*combf,=,n r0,r4,.* <comb_tests_2>.* |
.*combf,<,n r0,r4,.* <comb_tests_2>.* |
.*combf,<=,n r0,r4,.* <comb_tests_2>.* |
.*combf,<<,n r0,r4,.* <comb_tests_2>.* |
.*combf,<<=,n r0,r4,.* <comb_tests_2>.* |
.*combf,sv,n r0,r4,.* <comb_tests_2>.* |
.*combf,od,n r0,r4,.* <comb_tests_2>.* |
.*$gdb_prompt $" { pass "comb_nullified_tests_2" } |
-re "$gdb_prompt $" { fail "comb_nullified_tests_2" } |
timeout { fail "(timeout) comb_nullified_tests_2" } |
} |
|
send_gdb "x/8i comib_tests_1\n" |
gdb_expect { |
-re " |
.*comib 0,r4,.* <comib_tests_1>.* |
.*comib,= 0,r4,.* <comib_tests_1>.* |
.*comib,< 0,r4,.* <comib_tests_1>.* |
.*comib,<= 0,r4,.* <comib_tests_1>.* |
.*comib,<< 0,r4,.* <comib_tests_1>.* |
.*comib,<<= 0,r4,.* <comib_tests_1>.* |
.*comib,sv 0,r4,.* <comib_tests_1>.* |
.*comib,od 0,r4,.* <comib_tests_1>.* |
.*$gdb_prompt $" { pass "comib_tests_1" } |
-re "$gdb_prompt $" { fail "comib_tests_1" } |
timeout { fail "(timeout) comib_tests_1" } |
} |
|
send_gdb "x/8i comib_tests_2\n" |
gdb_expect { |
-re " |
.*comibf 0,r4,.* <comib_tests_2>.* |
.*comibf,= 0,r4,.* <comib_tests_2>.* |
.*comibf,< 0,r4,.* <comib_tests_2>.* |
.*comibf,<= 0,r4,.* <comib_tests_2>.* |
.*comibf,<< 0,r4,.* <comib_tests_2>.* |
.*comibf,<<= 0,r4,.* <comib_tests_2>.* |
.*comibf,sv 0,r4,.* <comib_tests_2>.* |
.*comibf,od 0,r4,.* <comib_tests_2>.* |
.*$gdb_prompt $" { pass "comib_tests_2" } |
-re "$gdb_prompt $" { fail "comib_tests_2" } |
timeout { fail "(timeout) comib_tests_2" } |
} |
|
send_gdb "x/8i comib_nullified_tests_1\n" |
gdb_expect { |
-re " |
.*comib,n 0,r4,.* <comib_tests_1>.* |
.*comib,=,n 0,r4,.* <comib_tests_1>.* |
.*comib,<,n 0,r4,.* <comib_tests_1>.* |
.*comib,<=,n 0,r4,.* <comib_tests_1>.* |
.*comib,<<,n 0,r4,.* <comib_tests_1>.* |
.*comib,<<=,n 0,r4,.* <comib_tests_1>.* |
.*comib,sv,n 0,r4,.* <comib_tests_1>.* |
.*comib,od,n 0,r4,.* <comib_tests_1>.* |
.*$gdb_prompt $" { pass "comib_nullified_tests_1" } |
-re "$gdb_prompt $" { fail "comib_nullified_tests_1" } |
timeout { fail "(timeout) comib_nullified_tests_1" } |
} |
|
send_gdb "x/8i comib_nullified_tests_2\n" |
gdb_expect { |
-re " |
.*comibf,n 0,r4,.* <comib_tests_2>.* |
.*comibf,=,n 0,r4,.* <comib_tests_2>.* |
.*comibf,<,n 0,r4,.* <comib_tests_2>.* |
.*comibf,<=,n 0,r4,.* <comib_tests_2>.* |
.*comibf,<<,n 0,r4,.* <comib_tests_2>.* |
.*comibf,<<=,n 0,r4,.* <comib_tests_2>.* |
.*comibf,sv,n 0,r4,.* <comib_tests_2>.* |
.*comibf,od,n 0,r4,.* <comib_tests_2>.* |
.*$gdb_prompt $" { pass "comib_nullified_tests_2" } |
-re "$gdb_prompt $" { fail "comib_nullified_tests_2" } |
timeout { fail "(timeout) comib_nullified_tests_2" } |
} |
|
send_gdb "x/8i addb_tests_1\n" |
gdb_expect { |
-re " |
.*addb r1,r4,.* <addb_tests_1>.* |
.*addb,= r1,r4,.* <addb_tests_1>.* |
.*addb,< r1,r4,.* <addb_tests_1>.* |
.*addb,<= r1,r4,.* <addb_tests_1>.* |
.*addb,nuv r1,r4,.* <addb_tests_1>.* |
.*addb,znv r1,r4,.* <addb_tests_1>.* |
.*addb,sv r1,r4,.* <addb_tests_1>.* |
.*addb,od r1,r4,.* <addb_tests_1>.* |
.*$gdb_prompt $" { pass "addb_tests_1" } |
-re "$gdb_prompt $" { fail "addb_tests_1" } |
timeout { fail "(timeout) addb_tests_1" } |
} |
|
send_gdb "x/8i addb_tests_2\n" |
gdb_expect { |
-re " |
.*addbf r1,r4,.* <addb_tests_2>.* |
.*addbf,= r1,r4,.* <addb_tests_2>.* |
.*addbf,< r1,r4,.* <addb_tests_2>.* |
.*addbf,<= r1,r4,.* <addb_tests_2>.* |
.*addbf,nuv r1,r4,.* <addb_tests_2>.* |
.*addbf,znv r1,r4,.* <addb_tests_2>.* |
.*addbf,sv r1,r4,.* <addb_tests_2>.* |
.*addbf,od r1,r4,.* <addb_tests_2>.* |
.*$gdb_prompt $" { pass "addb_tests_2" } |
-re "$gdb_prompt $" { fail "addb_tests_2" } |
timeout { fail "(timeout) addb_tests_2" } |
} |
|
send_gdb "x/8i addb_nullified_tests_1\n" |
gdb_expect { |
-re " |
.*addb,n r1,r4,.* <addb_tests_1>.* |
.*addb,=,n r1,r4,.* <addb_tests_1>.* |
.*addb,<,n r1,r4,.* <addb_tests_1>.* |
.*addb,<=,n r1,r4,.* <addb_tests_1>.* |
.*addb,nuv,n r1,r4,.* <addb_tests_1>.* |
.*addb,znv,n r1,r4,.* <addb_tests_1>.* |
.*addb,sv,n r1,r4,.* <addb_tests_1>.* |
.*addb,od,n r1,r4,.* <addb_tests_1>.* |
.*$gdb_prompt $" { pass "addb_nullified_tests_1" } |
-re "$gdb_prompt $" { fail "addb_nullified_tests_1" } |
timeout { fail "(timeout) addb_nullified_tests_1" } |
} |
|
send_gdb "x/8i addb_nullified_tests_2\n" |
gdb_expect { |
-re " |
.*addbf,n r1,r4,.* <addb_tests_2>.* |
.*addbf,=,n r1,r4,.* <addb_tests_2>.* |
.*addbf,<,n r1,r4,.* <addb_tests_2>.* |
.*addbf,<=,n r1,r4,.* <addb_tests_2>.* |
.*addbf,nuv,n r1,r4,.* <addb_tests_2>.* |
.*addbf,znv,n r1,r4,.* <addb_tests_2>.* |
.*addbf,sv,n r1,r4,.* <addb_tests_2>.* |
.*addbf,od,n r1,r4,.* <addb_tests_2>.* |
.*$gdb_prompt $" { pass "addb_nullified_tests_2" } |
-re "$gdb_prompt $" { fail "addb_nullified_tests_2" } |
timeout { fail "(timeout) addb_nullified_tests_2" } |
} |
|
send_gdb "x/8i addib_tests_1\n" |
gdb_expect { |
-re " |
.*addib -1,r4,.* <addib_tests_1>.* |
.*addib,= -1,r4,.* <addib_tests_1>.* |
.*addib,< -1,r4,.* <addib_tests_1>.* |
.*addib,<= -1,r4,.* <addib_tests_1>.* |
.*addib,nuv -1,r4,.* <addib_tests_1>.* |
.*addib,znv -1,r4,.* <addib_tests_1>.* |
.*addib,sv -1,r4,.* <addib_tests_1>.* |
.*addib,od -1,r4,.* <addib_tests_1>.* |
.*$gdb_prompt $" { pass "addib_tests_1" } |
-re "$gdb_prompt $" { fail "addib_tests_1" } |
timeout { fail "(timeout) addib_tests_1" } |
} |
|
send_gdb "x/8i addib_tests_2\n" |
gdb_expect { |
-re " |
.*addibf -1,r4,.* <addib_tests_2>.* |
.*addibf,= -1,r4,.* <addib_tests_2>.* |
.*addibf,< -1,r4,.* <addib_tests_2>.* |
.*addibf,<= -1,r4,.* <addib_tests_2>.* |
.*addibf,nuv -1,r4,.* <addib_tests_2>.* |
.*addibf,znv -1,r4,.* <addib_tests_2>.* |
.*addibf,sv -1,r4,.* <addib_tests_2>.* |
.*addibf,od -1,r4,.* <addib_tests_2>.* |
.*$gdb_prompt $" { pass "addib_tests_2" } |
-re "$gdb_prompt $" { fail "addib_tests_2" } |
timeout { fail "(timeout) addib_tests_2" } |
} |
|
send_gdb "x/8i addib_nullified_tests_1\n" |
gdb_expect { |
-re " |
.*addib,n -1,r4,.* <addib_tests_1>.* |
.*addib,=,n -1,r4,.* <addib_tests_1>.* |
.*addib,<,n -1,r4,.* <addib_tests_1>.* |
.*addib,<=,n -1,r4,.* <addib_tests_1>.* |
.*addib,nuv,n -1,r4,.* <addib_tests_1>.* |
.*addib,znv,n -1,r4,.* <addib_tests_1>.* |
.*addib,sv,n -1,r4,.* <addib_tests_1>.* |
.*addib,od,n -1,r4,.* <addib_tests_1>.* |
.*$gdb_prompt $" { pass "addb_nullified_tests_1" } |
-re "$gdb_prompt $" { fail "addb_nullified_tests_1" } |
timeout { fail "(timeout) addb_nullified_tests_1" } |
} |
|
send_gdb "x/8i addib_nullified_tests_2\n" |
gdb_expect { |
-re " |
.*addibf,n -1,r4,.* <addib_tests_2>.* |
.*addibf,=,n -1,r4,.* <addib_tests_2>.* |
.*addibf,<,n -1,r4,.* <addib_tests_2>.* |
.*addibf,<=,n -1,r4,.* <addib_tests_2>.* |
.*addibf,nuv,n -1,r4,.* <addib_tests_2>.* |
.*addibf,znv,n -1,r4,.* <addib_tests_2>.* |
.*addibf,sv,n -1,r4,.* <addib_tests_2>.* |
.*addibf,od,n -1,r4,.* <addib_tests_2>.* |
.*$gdb_prompt $" { pass "addb_nullified_tests_2" } |
-re "$gdb_prompt $" { fail "addb_nullified_tests_2" } |
timeout { fail "(timeout) addb_nullified_tests_2" } |
} |
|
send_gdb "x/8i bb_tests\n" |
gdb_expect { |
-re " |
.*bvb,< r4,.* <bb_tests>.* |
.*bvb,>= r4,.* <bb_tests>.* |
.*bvb,<,n r4,.* <bb_tests>.* |
.*bvb,>=,n r4,.* <bb_tests>.* |
.*bb,< r4,5,.* <bb_tests>.* |
.*bb,>= r4,5,.* <bb_tests>.* |
.*bb,<,n r4,5,.* <bb_tests>.* |
.*bb,>=,n r4,5,.* <bb_tests>.* |
.*$gdb_prompt $" { pass "bb_tests" } |
-re "$gdb_prompt $" { fail "bb_tests" } |
timeout { fail "(timeout) bb_tests " } |
} |
} |
|
proc all_integer_computational_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
set add_insns [list {add} {addl} {addo} {addc} {addco} \ |
{sh1add} {sh1addl} {sh1addo} \ |
{sh2add} {sh2addl} {sh2addo} \ |
{sh3add} {sh3addl} {sh3addo} ] |
|
foreach i $add_insns { |
send_gdb "x/16i $i"; send_gdb "_tests\n" |
gdb_expect { |
-re " |
.*$i r4,r5,r6.* |
.*$i,= r4,r5,r6.* |
.*$i,< r4,r5,r6.* |
.*$i,<= r4,r5,r6.* |
.*$i,nuv r4,r5,r6.* |
.*$i,znv r4,r5,r6.* |
.*$i,sv r4,r5,r6.* |
.*$i,od r4,r5,r6.* |
.*$i,tr r4,r5,r6.* |
.*$i,<> r4,r5,r6.* |
.*$i,>= r4,r5,r6.* |
.*$i,> r4,r5,r6.* |
.*$i,uv r4,r5,r6.* |
.*$i,vnz r4,r5,r6.* |
.*$i,nsv r4,r5,r6.* |
.*$i,ev r4,r5,r6.* |
.*$gdb_prompt $" { pass "$i tests" } |
-re "$gdb_prompt $" { fail "$i tests" } |
timeout { fail "(timeout) $i tests" } |
} |
} |
|
set sub_insns [list {sub} {subo} {subb} {subbo} {subt} {subto} \ |
{ds} {comclr} ] |
|
foreach i $sub_insns { |
send_gdb "x/16i $i"; send_gdb "_tests\n" |
gdb_expect { |
-re " |
.*$i r4,r5,r6.* |
.*$i,= r4,r5,r6.* |
.*$i,< r4,r5,r6.* |
.*$i,<= r4,r5,r6.* |
.*$i,<< r4,r5,r6.* |
.*$i,<<= r4,r5,r6.* |
.*$i,sv r4,r5,r6.* |
.*$i,od r4,r5,r6.* |
.*$i,tr r4,r5,r6.* |
.*$i,<> r4,r5,r6.* |
.*$i,>= r4,r5,r6.* |
.*$i,> r4,r5,r6.* |
.*$i,>>= r4,r5,r6.* |
.*$i,>> r4,r5,r6.* |
.*$i,nsv r4,r5,r6.* |
.*$i,ev r4,r5,r6.* |
.*$gdb_prompt $" { pass "$i tests" } |
-re "$gdb_prompt $" { fail "$i tests" } |
timeout { fail "(timeout) $i tests" } |
} |
} |
|
set logical_insns [list {or} {xor} {and} {andcm} ] |
|
foreach i $logical_insns { |
send_gdb "x/10i $i"; send_gdb "_tests\n" |
gdb_expect { |
-re " |
.*$i r4,r5,r6.* |
.*$i,= r4,r5,r6.* |
.*$i,< r4,r5,r6.* |
.*$i,<= r4,r5,r6.* |
.*$i,od r4,r5,r6.* |
.*$i,tr r4,r5,r6.* |
.*$i,<> r4,r5,r6.* |
.*$i,>= r4,r5,r6.* |
.*$i,> r4,r5,r6.* |
.*$i,ev r4,r5,r6.* |
.*$gdb_prompt $" { pass "$i tests" } |
-re "$gdb_prompt $" { fail "$i tests" } |
timeout { fail "(timeout) $i tests" } |
} |
} |
|
set unit_insns1 [list {uxor} {uaddcm} {uaddcmt} ] |
|
foreach i $unit_insns1 { |
send_gdb "x/12i $i"; send_gdb "_tests\n" |
gdb_expect { |
-re " |
.*$i r4,r5,r6.* |
.*$i,sbz r4,r5,r6.* |
.*$i,shz r4,r5,r6.* |
.*$i,sdc r4,r5,r6.* |
.*$i,sbc r4,r5,r6.* |
.*$i,shc r4,r5,r6.* |
.*$i,tr r4,r5,r6.* |
.*$i,nbz r4,r5,r6.* |
.*$i,nhz r4,r5,r6.* |
.*$i,ndc r4,r5,r6.* |
.*$i,nbc r4,r5,r6.* |
.*$i,nhc r4,r5,r6.* |
.*$gdb_prompt $" { pass "$i tests" } |
-re "$gdb_prompt $" { fail "$i tests" } |
timeout { fail "(timeout) $i tests" } |
} |
} |
|
set unit_insns2 [list {dcor} {idcor} ] |
|
foreach i $unit_insns2 { |
send_gdb "x/12i $i"; send_gdb "_tests\n" |
gdb_expect { |
-re " |
.*$i r4,r5.* |
.*$i,sbz r4,r5.* |
.*$i,shz r4,r5.* |
.*$i,sdc r4,r5.* |
.*$i,sbc r4,r5.* |
.*$i,shc r4,r5.* |
.*$i,tr r4,r5.* |
.*$i,nbz r4,r5.* |
.*$i,nhz r4,r5.* |
.*$i,ndc r4,r5.* |
.*$i,nbc r4,r5.* |
.*$i,nhc r4,r5.* |
.*$gdb_prompt $" { pass "$i tests" } |
-re "$gdb_prompt $" { fail "$i tests" } |
timeout { fail "(timeout) $i tests" } |
} |
} |
|
set addi_insns [list {addi} {addio} {addit} {addito} ] |
|
foreach i $addi_insns { |
send_gdb "x/16i $i"; send_gdb "_tests\n" |
gdb_expect { |
-re " |
.*$i 7b,r5,r6.* |
.*$i,= 7b,r5,r6.* |
.*$i,< 7b,r5,r6.* |
.*$i,<= 7b,r5,r6.* |
.*$i,nuv 7b,r5,r6.* |
.*$i,znv 7b,r5,r6.* |
.*$i,sv 7b,r5,r6.* |
.*$i,od 7b,r5,r6.* |
.*$i,tr 7b,r5,r6.* |
.*$i,<> 7b,r5,r6.* |
.*$i,>= 7b,r5,r6.* |
.*$i,> 7b,r5,r6.* |
.*$i,uv 7b,r5,r6.* |
.*$i,vnz 7b,r5,r6.* |
.*$i,nsv 7b,r5,r6.* |
.*$i,ev 7b,r5,r6.* |
.*$gdb_prompt $" { pass "$i tests" } |
-re "$gdb_prompt $" { fail "$i tests" } |
timeout { fail "(timeout) $i tests" } |
} |
} |
|
set subi_insns [list {subi} {subio} {comiclr} ] |
|
foreach i $subi_insns { |
send_gdb "x/16i $i"; send_gdb "_tests\n" |
gdb_expect { |
-re " |
.*$i 7b,r5,r6.* |
.*$i,= 7b,r5,r6.* |
.*$i,< 7b,r5,r6.* |
.*$i,<= 7b,r5,r6.* |
.*$i,<< 7b,r5,r6.* |
.*$i,<<= 7b,r5,r6.* |
.*$i,sv 7b,r5,r6.* |
.*$i,od 7b,r5,r6.* |
.*$i,tr 7b,r5,r6.* |
.*$i,<> 7b,r5,r6.* |
.*$i,>= 7b,r5,r6.* |
.*$i,> 7b,r5,r6.* |
.*$i,>>= 7b,r5,r6.* |
.*$i,>> 7b,r5,r6.* |
.*$i,nsv 7b,r5,r6.* |
.*$i,ev 7b,r5,r6.* |
.*$gdb_prompt $" { pass "$i tests" } |
-re "$gdb_prompt $" { fail "$i tests" } |
timeout { fail "(timeout) $i tests" } |
} |
} |
|
send_gdb "x/8i vshd_tests\n" |
gdb_expect { |
-re " |
.*vshd r4,r5,r6.* |
.*vshd,= r4,r5,r6.* |
.*vshd,< r4,r5,r6.* |
.*vshd,od r4,r5,r6.* |
.*vshd,tr r4,r5,r6.* |
.*vshd,<> r4,r5,r6.* |
.*vshd,>= r4,r5,r6.* |
.*vshd,ev r4,r5,r6.* |
.*$gdb_prompt $" { pass "vshd tests" } |
-re "$gdb_prompt $" { fail "vshd tests" } |
timeout { fail "(timeout) "vshd tests" } |
} |
|
send_gdb "x/8i shd_tests\n" |
gdb_expect { |
-re " |
.*shd r4,r5,5,r6.* |
.*shd,= r4,r5,5,r6.* |
.*shd,< r4,r5,5,r6.* |
.*shd,od r4,r5,5,r6.* |
.*shd,tr r4,r5,5,r6.* |
.*shd,<> r4,r5,5,r6.* |
.*shd,>= r4,r5,5,r6.* |
.*shd,ev r4,r5,5,r6.* |
.*$gdb_prompt $" { pass "shd tests" } |
-re "$gdb_prompt $" { fail "shd tests" } |
timeout { fail "(timeout) "shd tests" } |
} |
|
set extract_insns1 [list {extru} {extrs} {zdep} {dep} ] |
|
foreach i $extract_insns1 { |
send_gdb "x/8i $i"; send_gdb "_tests\n" |
gdb_expect { |
-re " |
.*$i r4,5,10,r6.* |
.*$i,= r4,5,10,r6.* |
.*$i,< r4,5,10,r6.* |
.*$i,od r4,5,10,r6.* |
.*$i,tr r4,5,10,r6.* |
.*$i,<> r4,5,10,r6.* |
.*$i,>= r4,5,10,r6.* |
.*$i,ev r4,5,10,r6.* |
.*$gdb_prompt $" { pass "$i tests" } |
-re "$gdb_prompt $" { fail "$i tests" } |
timeout { fail "(timeout) $i tests" } |
} |
} |
|
set extract_insns2 [list {vextru} {vextrs} {zvdep} {vdep} ] |
|
foreach i $extract_insns2 { |
send_gdb "x/8i $i"; send_gdb "_tests\n" |
gdb_expect { |
-re " |
.*$i r4,5,r6.* |
.*$i,= r4,5,r6.* |
.*$i,< r4,5,r6.* |
.*$i,od r4,5,r6.* |
.*$i,tr r4,5,r6.* |
.*$i,<> r4,5,r6.* |
.*$i,>= r4,5,r6.* |
.*$i,ev r4,5,r6.* |
.*$gdb_prompt $" { pass "$i tests" } |
-re "$gdb_prompt $" { fail "$i tests" } |
timeout { fail "(timeout) $i tests" } |
} |
} |
|
set extract_insns3 [list {vdepi} {zvdepi} ] |
|
foreach i $extract_insns3 { |
send_gdb "x/8i $i"; send_gdb "_tests\n" |
gdb_expect { |
-re " |
.*$i -1,5,r6.* |
.*$i,= -1,5,r6.* |
.*$i,< -1,5,r6.* |
.*$i,od -1,5,r6.* |
.*$i,tr -1,5,r6.* |
.*$i,<> -1,5,r6.* |
.*$i,>= -1,5,r6.* |
.*$i,ev -1,5,r6.* |
.*$gdb_prompt $" { pass "$i tests" } |
-re "$gdb_prompt $" { fail "$i tests" } |
timeout { fail "(timeout) $i tests" } |
} |
} |
|
set extract_insns4 [list {depi} {zdepi} ] |
|
foreach i $extract_insns4 { |
send_gdb "x/8i $i"; send_gdb "_tests\n" |
gdb_expect { |
-re " |
.*$i -1,4,10,r6.* |
.*$i,= -1,4,10,r6.* |
.*$i,< -1,4,10,r6.* |
.*$i,od -1,4,10,r6.* |
.*$i,tr -1,4,10,r6.* |
.*$i,<> -1,4,10,r6.* |
.*$i,>= -1,4,10,r6.* |
.*$i,ev -1,4,10,r6.* |
.*$gdb_prompt $" { pass "$i tests" } |
-re "$gdb_prompt $" { fail "$i tests" } |
timeout { fail "(timeout) $i tests" } |
} |
} |
} |
|
proc all_system_control_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/14i system_control_tests\n" |
gdb_expect { |
-re " |
.*break 5,c.* |
.*rfi.* |
.*rfir.* |
.*ssm 5,r4.* |
.*rsm 5,r4.* |
.*mtsm r4.* |
.*ldsid \\(sr0,r5\\),r4.* |
.*mtsp r4,sr0.* |
.*mtctl r4,ccr.* |
.*mfsp sr0,r4.* |
.*mfctl ccr,r4.* |
.*sync.* |
.*syncdma.* |
.*diag 4d2.* |
.*$gdb_prompt $" { pass "system_constrol_tests" } |
-re "$gdb_prompt $" { fail "system_control_tests" } |
timeout { file "(timeout) system_control_tests" } |
} |
|
send_gdb "x/4i probe_tests\n" |
gdb_expect { |
-re " |
.*prober \\(sr0,r5\\),r6,r7.* |
.*proberi \\(sr0,r5\\),1,r7.* |
.*probew \\(sr0,r5\\),r6,r7.* |
.*probewi \\(sr0,r5\\),1,r7.* |
.*$gdb_prompt $" { pass "probe_tests" } |
-re "$gdb_prompt $" { fail "probe_tests" } |
timeout { file "(timeout) probe_tests" } |
} |
|
# lci uses the same bit pattern as lha, so accept lha. |
send_gdb "x/5i lpa_tests\n" |
gdb_expect { |
-re " |
.*lpa r4\\(sr0,r5\\),r6.* |
.*lpa,m r4\\(sr0,r5\\),r6.* |
.*lha r4\\(sr0,r5\\),r6.* |
.*lha,m r4\\(sr0,r5\\),r6.* |
.*lha r4\\(sr0,r5\\),r6.* |
.*$gdb_prompt $" { pass "lpa_tests" } |
-re "$gdb_prompt $" { fail "lpa_tests" } |
timeout { file "(timeout) lpa_tests" } |
} |
|
send_gdb "x/18i purge_tests\n" |
gdb_expect { |
-re " |
.*pdtlb r4\\(sr0,r5\\).* |
.*pdtlb,m r4\\(sr0,r5\\).* |
.*pitlb r4\\(sr0,r5\\).* |
.*pitlb,m r4\\(sr0,r5\\).* |
.*pdtlbe r4\\(sr0,r5\\).* |
.*pdtlbe,m r4\\(sr0,r5\\).* |
.*pitlbe r4\\(sr0,r5\\).* |
.*pitlbe,m r4\\(sr0,r5\\).* |
.*pdc r4\\(sr0,r5\\).* |
.*pdc,m r4\\(sr0,r5\\).* |
.*fdc r4\\(sr0,r5\\).* |
.*fdc,m r4\\(sr0,r5\\).* |
.*fic r4\\(sr0,r5\\).* |
.*fic,m r4\\(sr0,r5\\).* |
.*fdce r4\\(sr0,r5\\).* |
.*fdce,m r4\\(sr0,r5\\).* |
.*fice r4\\(sr0,r5\\).* |
.*fice,m r4\\(sr0,r5\\).* |
.*$gdb_prompt $" { pass "purge_tests" } |
-re "$gdb_prompt $" { fail "purge_tests" } |
timeout { file "(timeout) purge_tests" } |
} |
|
send_gdb "x/4i insert_tests\n" |
gdb_expect { |
-re " |
.*idtlba r4,\\(sr0,r5\\).* |
.*iitlba r4,\\(sr0,r5\\).* |
.*idtlbp r4,\\(sr0,r5\\).* |
.*iitlbp r4,\\(sr0,r5\\).* |
.*$gdb_prompt $" { pass "insert_tests" } |
-re "$gdb_prompt $" { fail "insert_tests" } |
timeout { file "(timeout) insert_tests" } |
} |
|
} |
|
proc all_fpu_memory_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/20i fpu_memory_indexing_tests\n" |
gdb_expect { |
-re " |
.*fldwx r4\\(sr0,r5\\),fr6.* |
.*fldwx,s r4\\(sr0,r5\\),fr6.* |
.*fldwx,m r4\\(sr0,r5\\),fr6.* |
.*fldwx,sm r4\\(sr0,r5\\),fr6.* |
.*flddx r4\\(sr0,r5\\),fr6.* |
.*flddx,s r4\\(sr0,r5\\),fr6.* |
.*flddx,m r4\\(sr0,r5\\),fr6.* |
.*flddx,sm r4\\(sr0,r5\\),fr6.* |
.*fstwx fr6,r4\\(sr0,r5\\).* |
.*fstwx,s fr6,r4\\(sr0,r5\\).* |
.*fstwx,m fr6,r4\\(sr0,r5\\).* |
.*fstwx,sm fr6,r4\\(sr0,r5\\).* |
.*fstdx fr6,r4\\(sr0,r5\\).* |
.*fstdx,s fr6,r4\\(sr0,r5\\).* |
.*fstdx,m fr6,r4\\(sr0,r5\\).* |
.*fstdx,sm fr6,r4\\(sr0,r5\\).* |
.*fstqx fr6,r4\\(sr0,r5\\).* |
.*fstqx,s fr6,r4\\(sr0,r5\\).* |
.*fstqx,m fr6,r4\\(sr0,r5\\).* |
.*fstqx,sm fr6,r4\\(sr0,r5\\).* |
.*$gdb_prompt $" { pass "fpu_memory_indexing_tests" } |
-re "$gdb_prompt $" { fail "fpu_memory_indexing_tests" } |
timeout { file "(timeout) fpu_memory_indexing_tests" } |
} |
|
send_gdb "x/15i fpu_short_memory_tests\n" |
gdb_expect { |
-re " |
.*fldws 0\\(sr0,r5\\),fr6.* |
.*fldws,mb 0\\(sr0,r5\\),fr6.* |
.*fldws,ma 0\\(sr0,r5\\),fr6.* |
.*fldds 0\\(sr0,r5\\),fr6.* |
.*fldds,mb 0\\(sr0,r5\\),fr6.* |
.*fldds,ma 0\\(sr0,r5\\),fr6.* |
.*fstws fr6,0\\(sr0,r5\\).* |
.*fstws,mb fr6,0\\(sr0,r5\\).* |
.*fstws,ma fr6,0\\(sr0,r5\\).* |
.*fstds fr6,0\\(sr0,r5\\).* |
.*fstds,mb fr6,0\\(sr0,r5\\).* |
.*fstds,ma fr6,0\\(sr0,r5\\).* |
.*fstqs fr6,0\\(sr0,r5\\).* |
.*fstqs,mb fr6,0\\(sr0,r5\\).* |
.*fstqs,ma fr6,0\\(sr0,r5\\).* |
.*$gdb_prompt $" { pass "fpu_short_memory_tests" } |
-re "$gdb_prompt $" { fail "fpu_short_memory_tests" } |
timeout { file "(timeout) fpu_short_memory_tests" } |
} |
|
} |
|
proc all_fpu_computational_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/1i fpu_misc_tests\n" |
gdb_expect { |
-re " |
.*ftest.* |
.*$gdb_prompt $" { pass "fpu_misc_tests" } |
-re "$gdb_prompt $" { fail "fpu_misc_tests" } |
timeout { file "(timeout) fpu_misc_tests" } |
} |
|
set fpu_two_op_insns [list {fcpy} {fabs} {fsqrt} {frnd} ] |
|
foreach i $fpu_two_op_insns { |
send_gdb "x/5i $i"; send_gdb "_tests\n" |
gdb_expect { |
-re " |
.*$i,sgl fr5,fr10.* |
.*$i,dbl fr5,fr10.* |
.*$i,quad fr5,fr10.* |
.*$i,sgl fr20,fr24.* |
.*$i,dbl fr20,fr24.* |
.*$gdb_prompt $" { pass "$i tests" } |
-re "$gdb_prompt $" { fail "$i tests" } |
timeout { fail "(timeout) $i tests" } |
} |
} |
|
set fpu_conversions [list {fcnvff} {fcnvxf} {fcnvfx} {fcnvfxt} ] |
|
foreach i $fpu_conversions { |
send_gdb "x/18i $i"; send_gdb "_tests\n" |
gdb_expect { |
-re " |
.*$i,sgl,sgl fr5,fr10.* |
.*$i,sgl,dbl fr5,fr10.* |
.*$i,sgl,quad fr5,fr10.* |
.*$i,dbl,sgl fr5,fr10.* |
.*$i,dbl,dbl fr5,fr10.* |
.*$i,dbl,quad fr5,fr10.* |
.*$i,quad,sgl fr5,fr10.* |
.*$i,quad,dbl fr5,fr10.* |
.*$i,quad,quad fr5,fr10.* |
.*$i,sgl,sgl fr20,fr24.* |
.*$i,sgl,dbl fr20,fr24.* |
.*$i,sgl,quad fr20,fr24.* |
.*$i,dbl,sgl fr20,fr24.* |
.*$i,dbl,dbl fr20,fr24.* |
.*$i,dbl,quad fr20,fr24.* |
.*$i,quad,sgl fr20,fr24.* |
.*$i,quad,dbl fr20,fr24.* |
.*$i,quad,quad fr20,fr24.* |
.*$gdb_prompt $" { pass "$i tests" } |
-re "$gdb_prompt $" { fail "$i tests" } |
timeout { fail "(timeout) $i tests" } |
} |
} |
|
set fpu_three_op_insns [list {fadd} {fsub} {fmpy} {fdiv} {frem} ] |
|
foreach i $fpu_three_op_insns { |
send_gdb "x/6i $i"; send_gdb "_tests\n" |
gdb_expect { |
-re " |
.*$i,sgl fr4,fr8,fr12.* |
.*$i,dbl fr4,fr8,fr12.* |
.*$i,quad fr4,fr8,fr12.* |
.*$i,sgl fr20,fr24,fr28.* |
.*$i,dbl fr20,fr24,fr28.* |
.*$i,quad fr20,fr24,fr28.* |
.*$gdb_prompt $" { pass "$i tests" } |
-re "$gdb_prompt $" { fail "$i tests" } |
timeout { fail "(timeout) $i tests" } |
} |
} |
|
send_gdb "x/4i fmpy_addsub_tests\n" |
gdb_expect { |
-re " |
.*fmpyadd,sgl fr16,fr17,fr18,fr19,fr20.* |
.*fmpyadd,dbl fr16,fr17,fr18,fr19,fr20.* |
.*fmpysub,sgl fr16,fr17,fr18,fr19,fr20.* |
.*fmpysub,dbl fr16,fr17,fr18,fr19,fr20.* |
.*$gdb_prompt $" { pass "fmpy_addsub_tests" } |
-re "$gdb_prompt $" { fail "fmpy_addsub_tests" } |
timeout { fail "(timeout) fmpy_addsub_tests" } |
} |
|
send_gdb "x/i xmpyu_tests\n" |
gdb_expect { |
-re " |
.*xmpyu fr4,fr5,fr6.* |
.*$gdb_prompt $" {pass "xmpyu_tests" } |
-re "$gdb_prompt $" {fail "xmpyu_tests" } |
timeout { fail "(timeout) xmpyu_tests" } |
} |
|
} |
|
proc all_fpu_comparison_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
set fpu_comparison_formats [list {sgl} {dbl} {quad} ] |
|
foreach i $fpu_comparison_formats { |
send_gdb "x/8i fcmp_$i"; send_gdb "_tests_1\n" |
gdb_expect { |
-re " |
.*fcmp,$i,false\\? fr4,fr5.* |
.*fcmp,$i,false fr4,fr5.* |
.*fcmp,$i,\\? fr4,fr5.* |
.*fcmp,$i,!<=> fr4,fr5.* |
.*fcmp,$i,= fr4,fr5.* |
.*fcmp,$i,=t fr4,fr5.* |
.*fcmp,$i,\\?= fr4,fr5.* |
.*fcmp,$i,!<> fr4,fr5.* |
.*$gdb_prompt $" { pass "$i tests (part1) " } |
-re "$gdb_prompt $" { fail "fcmp_$i tests (part1) " } |
timeout { fail "(timeout) fcmp_$i tests (part1) " } |
} |
|
send_gdb "x/8i fcmp_$i"; send_gdb "_tests_2\n" |
gdb_expect { |
-re " |
.*fcmp,$i,!\\?>= fr4,fr5.* |
.*fcmp,$i,< fr4,fr5.* |
.*fcmp,$i,\\?< fr4,fr5.* |
.*fcmp,$i,!>= fr4,fr5.* |
.*fcmp,$i,!\\?> fr4,fr5.* |
.*fcmp,$i,<= fr4,fr5.* |
.*fcmp,$i,\\?<= fr4,fr5.* |
.*fcmp,$i,!> fr4,fr5.* |
.*$gdb_prompt $" { pass "$i tests (part2) " } |
-re "$gdb_prompt $" { fail "fcmp_$i tests (part2) " } |
timeout { fail "(timeout) fcmp_$i tests (part2) " } |
} |
|
send_gdb "x/8i fcmp_$i"; send_gdb "_tests_3\n" |
gdb_expect { |
-re " |
.*fcmp,$i,!\\?<= fr4,fr5.* |
.*fcmp,$i,> fr4,fr5.* |
.*fcmp,$i,\\?> fr4,fr5.* |
.*fcmp,$i,!<= fr4,fr5.* |
.*fcmp,$i,!\\?< fr4,fr5.* |
.*fcmp,$i,>= fr4,fr5.* |
.*fcmp,$i,\\?>= fr4,fr5.* |
.*fcmp,$i,!< fr4,fr5.* |
.*$gdb_prompt $" { pass "$i tests (part3) " } |
-re "$gdb_prompt $" { fail "fcmp_$i tests (part3) " } |
timeout { fail "(timeout) fcmp_$i tests (part3) " } |
} |
|
send_gdb "x/8i fcmp_$i"; send_gdb "_tests_4\n" |
gdb_expect { |
-re " |
.*fcmp,$i,!\\?= fr4,fr5.* |
.*fcmp,$i,<> fr4,fr5.* |
.*fcmp,$i,!= fr4,fr5.* |
.*fcmp,$i,!=t fr4,fr5.* |
.*fcmp,$i,!\\? fr4,fr5.* |
.*fcmp,$i,<=> fr4,fr5.* |
.*fcmp,$i,true\\? fr4,fr5.* |
.*fcmp,$i,true fr4,fr5.* |
.*$gdb_prompt $" { pass "$i tests (part4) " } |
-re "$gdb_prompt $" { fail "fcmp_$i tests (part4) " } |
timeout { fail "(timeout) fcmp_$i tests (part4) " } |
} |
} |
} |
|
proc all_special_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/4i special_tests\n" |
gdb_expect { |
-re " |
.*gfw r4\\(sr0,r5\\).* |
.*gfw,m r4\\(sr0,r5\\).* |
.*gfr r4\\(sr0,r5\\).* |
.*gfr,m r4\\(sr0,r5\\).* |
.*$gdb_prompt $" { pass "special tests" } |
-re "$gdb_prompt $" { fail "special tests" } |
timeout { fail "(timeout) special tests " } |
} |
|
} |
|
proc all_sfu_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/16i sfu_tests\n" |
gdb_expect { |
-re " |
.*spop0,4,5.* |
.*spop0,4,73.* |
.*spop0,4,5,n.* |
.*spop0,4,73,n.* |
.*spop1,4,5 r5.* |
.*spop1,4,73 r5.* |
.*spop1,4,5,n r5.* |
.*spop1,4,73,n r5.* |
.*spop2,4,5 r5.* |
.*spop2,4,73 r5.* |
.*spop2,4,5,n r5.* |
.*spop2,4,73,n r5.* |
.*spop3,4,5 r5,r6.* |
.*spop3,4,73 r5,r6.* |
.*spop3,4,5,n r5,r6.* |
.*spop3,4,73,n r5,r6.* |
.*$gdb_prompt $" { pass "sfu tests" } |
-re "$gdb_prompt $" { fail "sfu tests" } |
timeout { fail "(timeout) sfu tests " } |
} |
} |
|
proc all_copr_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/4i copr_tests\n" |
gdb_expect { |
-re " |
.*copr,4,5.* |
.*copr,4,73.* |
.*copr,4,5,n.* |
.*copr,4,73,n.* |
.*$gdb_prompt $" { pass "copr tests" } |
-re "$gdb_prompt $" { fail "copr tests" } |
timeout { fail "(timeout) copr tests " } |
} |
} |
|
proc all_copr_mem_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/8i copr_indexing_load\n" |
gdb_expect { |
-re " |
.*cldwx,4 r5\\(sr0,r4\\),r26.* |
.*cldwx,4,s r5\\(sr0,r4\\),r26.* |
.*cldwx,4,m r5\\(sr0,r4\\),r26.* |
.*cldwx,4,sm r5\\(sr0,r4\\),r26.* |
.*clddx,4 r5\\(sr0,r4\\),r26.* |
.*clddx,4,s r5\\(sr0,r4\\),r26.* |
.*clddx,4,m r5\\(sr0,r4\\),r26.* |
.*clddx,4,sm r5\\(sr0,r4\\),r26.* |
.*$gdb_prompt $" { pass "copr indexed load tests" } |
-re "$gdb_prompt $" { fail "copr indexed load tests" } |
timeout { fail "(timeout) copr indexed load tests " } |
} |
|
send_gdb "x/8i copr_indexing_store\n" |
gdb_expect { |
-re " |
.*cstwx,4 r26,r5\\(sr0,r4\\).* |
.*cstwx,4,s r26,r5\\(sr0,r4\\).* |
.*cstwx,4,m r26,r5\\(sr0,r4\\).* |
.*cstwx,4,sm r26,r5\\(sr0,r4\\).* |
.*cstdx,4 r26,r5\\(sr0,r4\\).* |
.*cstdx,4,s r26,r5\\(sr0,r4\\).* |
.*cstdx,4,m r26,r5\\(sr0,r4\\).* |
.*cstdx,4,sm r26,r5\\(sr0,r4\\).* |
.*$gdb_prompt $" { pass "copr indexed store tests" } |
-re "$gdb_prompt $" { fail "copr indexed store tests" } |
timeout { fail "(timeout) copr indexed load tests " } |
} |
|
send_gdb "x/12i copr_short_memory\n" |
gdb_expect { |
-re " |
.*cldws,4 0\\(sr0,r4\\),r26.* |
.*cldws,4,mb 0\\(sr0,r4\\),r26.* |
.*cldws,4,ma 0\\(sr0,r4\\),r26.* |
.*cldds,4 0\\(sr0,r4\\),r26.* |
.*cldds,4,mb 0\\(sr0,r4\\),r26.* |
.*cldds,4,ma 0\\(sr0,r4\\),r26.* |
.*cstws,4 r26,0\\(sr0,r4\\).* |
.*cstws,4,mb r26,0\\(sr0,r4\\).* |
.*cstws,4,ma r26,0\\(sr0,r4\\).* |
.*cstds,4 r26,0\\(sr0,r4\\).* |
.*cstds,4,mb r26,0\\(sr0,r4\\).* |
.*cstds,4,ma r26,0\\(sr0,r4\\).* |
.*$gdb_prompt $" { pass "copr short memory tests" } |
-re "$gdb_prompt $" { fail "copr short memory tests" } |
timeout { fail "(timeout) copr short memory tests " } |
} |
} |
|
proc fmemLRbug_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/12i fmemLRbug_tests_1\n" |
gdb_expect { |
-re " |
.*fstws fr6R,0\\(sr0,r26\\).* |
.*fstws fr6,4\\(sr0,r26\\).* |
.*fstws fr6,8\\(sr0,r26\\).* |
.*fstds fr6,0\\(sr0,r26\\).* |
.*fstds fr6,4\\(sr0,r26\\).* |
.*fstds fr6,8\\(sr0,r26\\).* |
.*fldws 0\\(sr0,r26\\),fr6R.* |
.*fldws 4\\(sr0,r26\\),fr6.* |
.*fldws 8\\(sr0,r26\\),fr6.* |
.*fldds 0\\(sr0,r26\\),fr6.* |
.*fldds 4\\(sr0,r26\\),fr6.* |
.*fldds 8\\(sr0,r26\\),fr6.* |
.*$gdb_prompt $" { pass "fmem LR register selector tests (part1)" } |
-re "$gdb_prompt $" { fail "fmem LR register selector tests (part1)" } |
timeout { fail "(timeout) fmem LR register selector tests (part1)" } |
} |
|
send_gdb "x/12i fmemLRbug_tests_2\n" |
gdb_expect { |
-re " |
.*fstws fr6R,0\\(sr0,r26\\).* |
.*fstws fr6,4\\(sr0,r26\\).* |
.*fstws fr6,8\\(sr0,r26\\).* |
.*fstds fr6,0\\(sr0,r26\\).* |
.*fstds fr6,4\\(sr0,r26\\).* |
.*fstds fr6,8\\(sr0,r26\\).* |
.*fldws 0\\(sr0,r26\\),fr6R.* |
.*fldws 4\\(sr0,r26\\),fr6.* |
.*fldws 8\\(sr0,r26\\),fr6.* |
.*fldds 0\\(sr0,r26\\),fr6.* |
.*fldds 4\\(sr0,r26\\),fr6.* |
.*fldds 8\\(sr0,r26\\),fr6.* |
.*$gdb_prompt $" { pass "fmem LR register selector tests (part2)" } |
-re "$gdb_prompt $" { fail "fmem LR register selector tests (part2)" } |
timeout { fail "(timeout) fmem LR register selector tests (part2)" } |
} |
|
send_gdb "x/12i fmemLRbug_tests_3\n" |
gdb_expect { |
-re " |
.*fstwx fr6R,r25\\(sr0,r26\\).* |
.*fstwx fr6,r25\\(sr0,r26\\).* |
.*fstwx fr6,r25\\(sr0,r26\\).* |
.*fstdx fr6,r25\\(sr0,r26\\).* |
.*fstdx fr6,r25\\(sr0,r26\\).* |
.*fstdx fr6,r25\\(sr0,r26\\).* |
.*fldwx r25\\(sr0,r26\\),fr6R.* |
.*fldwx r25\\(sr0,r26\\),fr6.* |
.*fldwx r25\\(sr0,r26\\),fr6.* |
.*flddx r25\\(sr0,r26\\),fr6.* |
.*flddx r25\\(sr0,r26\\),fr6.* |
.*flddx r25\\(sr0,r26\\),fr6.* |
.*$gdb_prompt $" { pass "fmem LR register selector tests (part3)" } |
-re "$gdb_prompt $" { fail "fmem LR register selector tests (part3)" } |
timeout { fail "(timeout) fmem LR register selector tests (part3)" } |
} |
|
send_gdb "x/12i fmemLRbug_tests_4\n" |
gdb_expect { |
-re " |
.*fstwx fr6R,r25\\(sr0,r26\\).* |
.*fstwx fr6,r25\\(sr0,r26\\).* |
.*fstwx fr6,r25\\(sr0,r26\\).* |
.*fstdx fr6,r25\\(sr0,r26\\).* |
.*fstdx fr6,r25\\(sr0,r26\\).* |
.*fstdx fr6,r25\\(sr0,r26\\).* |
.*fldwx r25\\(sr0,r26\\),fr6R.* |
.*fldwx r25\\(sr0,r26\\),fr6.* |
.*fldwx r25\\(sr0,r26\\),fr6.* |
.*flddx r25\\(sr0,r26\\),fr6.* |
.*flddx r25\\(sr0,r26\\),fr6.* |
.*flddx r25\\(sr0,r26\\),fr6.* |
.*$gdb_prompt $" { pass "fmem LR register selector tests (part4)" } |
-re "$gdb_prompt $" { fail "fmem LR register selector tests (part4)" } |
timeout { fail "(timeout) fmem LR register selector tests (part4)" } |
} |
} |
|
# Start with a fresh gdb. |
|
gdb_exit |
gdb_start |
gdb_reinitialize_dir $srcdir/$subdir |
gdb_load $binfile |
|
all_integer_memory_tests |
all_immediate_tests |
all_branch_tests |
all_integer_computational_tests |
all_system_control_tests |
all_fpu_memory_tests |
all_fpu_computational_tests |
all_fpu_comparison_tests |
all_special_tests |
all_sfu_tests |
all_copr_tests |
all_copr_mem_tests |
|
# Regression test for a bug Tege found. |
fmemLRbug_tests |
/am33.s
0,0 → 1,524
|
.globl _main |
.globl call_tests |
.globl movm_tests |
.globl misc_tests |
.globl mov_tests |
.globl ext_tests |
.globl add_tests |
.globl sub_tests |
.globl cmp_tests |
.globl logical_tests |
.globl shift_tests |
.globl muldiv_tests |
.globl movbu_tests |
.globl movhu_tests |
.globl mac_tests |
.globl bit_tests |
.globl dsp_add_tests |
.globl dsp_cmp_tests |
.globl dsp_sub_tests |
.globl dsp_mov_tests |
.globl dsp_logical_tests |
.globl dsp_misc_tests |
.globl autoincrement_tests |
.globl dsp_autoincrement_tests |
|
.text |
.am33 |
_main: |
call_tests: |
call 256,[a2,a3,exreg0],9 |
call 256,[a2,a3,exreg1],9 |
call 256,[a2,a3,exother],9 |
call 256,[a2,a3,all],9 |
call 131071,[a2,a3,exreg0],9 |
call 131071,[a2,a3,exreg1],9 |
call 131071,[a2,a3,exother],9 |
call 131071,[a2,a3,all],9 |
|
movm_tests: |
movm (sp),[a2,a3,exreg0] |
movm (sp),[a2,a3,exreg1] |
movm (sp),[a2,a3,exother] |
movm (sp),[a2,a3,all] |
movm [a2,a3,exreg0],(sp) |
movm [a2,a3,exreg1],(sp) |
movm [a2,a3,exother],(sp) |
movm [a2,a3,all],(sp) |
movm (usp),[a2,a3,exreg0] |
movm (usp),[a2,a3,exreg1] |
movm (usp),[a2,a3,exother] |
movm (usp),[a2,a3,all] |
movm [a2,a3,exreg0],(usp) |
movm [a2,a3,exreg1],(usp) |
movm [a2,a3,exother],(usp) |
movm [a2,a3,all],(usp) |
|
misc_tests: |
syscall 0x4 |
mcst9 d0 |
mcst48 d1 |
getchx d0 |
getclx d1 |
clr r9 |
sat16 r9,r8 |
mcste r7,r6 |
swap r5,r4 |
swaph r3,r2 |
swhw r1,r0 |
|
|
mov_tests: |
mov r0,r1 |
mov xr0, r1 |
mov r1, xr2 |
mov (r1),r2 |
mov r3,(r4) |
mov (sp),r5 |
mov r6,(sp) |
mov 16,r1 |
mov 16,xr1 |
mov (16,r1),r2 |
mov r2,(16,r1) |
mov (16,sp),r2 |
mov r2,(16,sp) |
mov 0x1ffeff,r2 |
mov 0x1ffeff,xr2 |
mov (0x1ffeff,r1),r2 |
mov r2,(0x1ffeff,r1) |
mov (0x1ffeff,sp),r2 |
mov r2,(0x1ffeff,sp) |
mov (0x1ffeff),r2 |
mov r2,(0x1ffeff) |
mov 0x7ffefdfc,r2 |
mov 0x7ffefdfc,xr2 |
mov (0x7ffefdfc,r1),r2 |
mov r2,(0x7ffefdfc,r1) |
mov (0x7ffefdfc,sp),r2 |
mov r2,(0x7ffefdfc,sp) |
mov (0x7ffefdfc),r2 |
mov r2,(0x7ffefdfc) |
movu 16,r1 |
movu 0x1ffeff,r2 |
movu 0x7ffefdfc,r2 |
mov usp,a0 |
mov ssp,a1 |
mov msp,a2 |
mov pc,a3 |
mov a0,usp |
mov a1,ssp |
mov a2,msp |
mov epsw,d0 |
mov d1,epsw |
mov a0,r1 |
mov d2,r3 |
mov r5,a1 |
mov r7,d3 |
|
ext_tests: |
ext r2 |
extb r3,r4 |
extbu r4,r5 |
exth r6,r7 |
exthu r7,r8 |
|
add_tests: |
add r10,r11 |
add 16,r1 |
add 0x1ffeff,r2 |
add 0x7ffefdfc,r2 |
add r1,r2,r3 |
addc r12,r13 |
addc 16,r1 |
addc 0x1ffeff,r2 |
addc 0x7ffefdfc,r2 |
inc r13 |
inc4 r12 |
|
|
sub_tests: |
sub r14,r15 |
sub 16,r1 |
sub 0x1ffeff,r2 |
sub 0x7ffefdfc,r2 |
subc r15,r14 |
subc 16,r1 |
subc 0x1ffeff,r2 |
subc 0x7ffefdfc,r2 |
|
cmp_tests: |
cmp r11,r10 |
cmp 16,r1 |
cmp 0x1ffeff,r2 |
cmp 0x7ffefdfc,r2 |
|
logical_tests: |
and r0,r1 |
or r2,r3 |
xor r4,r5 |
not r6 |
and 16,r1 |
or 16,r1 |
xor 16,r1 |
and 0x1ffeff,r2 |
or 0x1ffeff,r2 |
xor 0x1ffeff,r2 |
and 0x7ffefdfc,r2 |
or 0x7ffefdfc,r2 |
xor 0x7ffefdfc,r2 |
and 131072,epsw |
or 65535,epsw |
|
shift_tests: |
asr r7,r8 |
lsr r9,r10 |
asl r11,r12 |
asl2 r13 |
ror r14 |
rol r15 |
asr 16,r1 |
lsr 16,r1 |
asl 16,r1 |
asr 0x1ffeff,r2 |
lsr 0x1ffeff,r2 |
asl 0x1ffeff,r2 |
asr 0x7ffefdfc,r2 |
lsr 0x7ffefdfc,r2 |
asl 0x7ffefdfc,r2 |
|
muldiv_tests: |
mul r1,r2 |
mulu r3,r4 |
mul 16,r1 |
mulu 16,r1 |
mul 0x1ffeff,r2 |
mulu 0x1ffeff,r2 |
mul 0x7ffefdfc,r2 |
mulu 0x7ffefdfc,r2 |
div r5,r6 |
divu r7,r8 |
dmulh r13,r12 |
dmulhu r11,r10 |
dmulh 0x7ffefdfc,r2 |
dmulhu 0x7ffefdfc,r2 |
mul r1,r2,r3,r4 |
mulu r1,r2,r3,r4 |
|
movbu_tests: |
movbu (r5),r6 |
movbu r7,(r8) |
movbu (sp),r7 |
movbu r8,(sp) |
movbu (16,r1),r2 |
movbu r2,(16,r1) |
movbu (16,sp),r2 |
movbu r2,(16,sp) |
movbu (0x1ffeff,r1),r2 |
movbu r2,(0x1ffeff,r1) |
movbu (0x1ffeff,sp),r2 |
movbu r2,(0x1ffeff,sp) |
movbu (0x1ffeff),r2 |
movbu r2,(0x1ffeff) |
movbu (0x7ffefdfc,r1),r2 |
movbu r2,(0x7ffefdfc,r1) |
movbu (0x7ffefdfc,sp),r2 |
movbu r2,(0x7ffefdfc,sp) |
movbu (0x7ffefdfc),r2 |
movbu r2,(0x7ffefdfc) |
|
movhu_tests: |
movhu (r9),r10 |
movhu r11,(r12) |
movhu (sp),r9 |
movhu r10,(sp) |
movhu (16,r1),r2 |
movhu r2,(16,r1) |
movhu (16,sp),r2 |
movhu r2,(16,sp) |
movhu (0x1ffeff,r1),r2 |
movhu r2,(0x1ffeff,r1) |
movhu (0x1ffeff,sp),r2 |
movhu r2,(0x1ffeff,sp) |
movhu (0x1ffeff),r2 |
movhu r2,(0x1ffeff) |
movhu (0x7ffefdfc,r1),r2 |
movhu r2,(0x7ffefdfc,r1) |
movhu (0x7ffefdfc,sp),r2 |
movhu r2,(0x7ffefdfc,sp) |
movhu (0x7ffefdfc),r2 |
movhu r2,(0x7ffefdfc) |
|
|
mac_tests: |
mac r1,r2 |
macu r3,r4 |
macb r5,r6 |
macbu r7,r8 |
mach r9,r10 |
machu r11,r12 |
dmach r13,r14 |
dmachu r15,r14 |
mac 16,r1 |
macu 16,r1 |
macb 16,r1 |
macbu 16,r1 |
mach 16,r1 |
machu 16,r1 |
mac 0x1ffeff,r2 |
macu 0x1ffeff,r2 |
macb 0x1ffeff,r2 |
macbu 0x1ffeff,r2 |
mach 0x1ffeff,r2 |
machu 0x1ffeff,r2 |
mac 0x7ffefdfc,r2 |
macu 0x7ffefdfc,r2 |
macb 0x7ffefdfc,r2 |
macbu 0x7ffefdfc,r2 |
mach 0x7ffefdfc,r2 |
machu 0x7ffefdfc,r2 |
dmach 0x7ffefdfc,r2 |
dmachu 0x7ffefdfc,r2 |
|
bit_tests: |
bsch r1,r2 |
btst 16,r1 |
btst 0x1ffeff,r2 |
btst 0x7ffefdfc,r2 |
|
|
|
dsp_add_tests: |
add_add r4,r1,r2,r3 |
add_add r4,r1,2,r3 |
add_sub r4,r1,r2,r3 |
add_sub r4,r1,2,r3 |
add_cmp r4,r1,r2,r3 |
add_cmp r4,r1,2,r3 |
add_mov r4,r1,r2,r3 |
add_mov r4,r1,2,r3 |
add_asr r4,r1,r2,r3 |
add_asr r4,r1,2,r3 |
add_lsr r4,r1,r2,r3 |
add_lsr r4,r1,2,r3 |
add_asl r4,r1,r2,r3 |
add_asl r4,r1,2,r3 |
add_add 4,r1,r2,r3 |
add_add 4,r1,2,r3 |
add_sub 4,r1,r2,r3 |
add_sub 4,r1,2,r3 |
add_cmp 4,r1,r2,r3 |
add_cmp 4,r1,2,r3 |
add_mov 4,r1,r2,r3 |
add_mov 4,r1,2,r3 |
add_asr 4,r1,r2,r3 |
add_asr 4,r1,2,r3 |
add_lsr 4,r1,r2,r3 |
add_lsr 4,r1,2,r3 |
add_asl 4,r1,r2,r3 |
add_asl 4,r1,2,r3 |
|
dsp_cmp_tests: |
cmp_add r4,r1,r2,r3 |
cmp_add r4,r1,2,r3 |
cmp_sub r4,r1,r2,r3 |
cmp_sub r4,r1,2,r3 |
cmp_mov r4,r1,r2,r3 |
cmp_mov r4,r1,2,r3 |
cmp_asr r4,r1,r2,r3 |
cmp_asr r4,r1,2,r3 |
cmp_lsr r4,r1,r2,r3 |
cmp_lsr r4,r1,2,r3 |
cmp_asl r4,r1,r2,r3 |
cmp_asl r4,r1,2,r3 |
cmp_add 4,r1,r2,r3 |
cmp_add 4,r1,2,r3 |
cmp_sub 4,r1,r2,r3 |
cmp_sub 4,r1,2,r3 |
cmp_mov 4,r1,r2,r3 |
cmp_mov 4,r1,2,r3 |
cmp_asr 4,r1,r2,r3 |
cmp_asr 4,r1,2,r3 |
cmp_lsr 4,r1,r2,r3 |
cmp_lsr 4,r1,2,r3 |
cmp_asl 4,r1,r2,r3 |
cmp_asl 4,r1,2,r3 |
|
dsp_sub_tests: |
sub_add r4,r1,r2,r3 |
sub_add r4,r1,2,r3 |
sub_sub r4,r1,r2,r3 |
sub_sub r4,r1,2,r3 |
sub_cmp r4,r1,r2,r3 |
sub_cmp r4,r1,2,r3 |
sub_mov r4,r1,r2,r3 |
sub_mov r4,r1,2,r3 |
sub_asr r4,r1,r2,r3 |
sub_asr r4,r1,2,r3 |
sub_lsr r4,r1,r2,r3 |
sub_lsr r4,r1,2,r3 |
sub_asl r4,r1,r2,r3 |
sub_asl r4,r1,2,r3 |
sub_add 4,r1,r2,r3 |
sub_add 4,r1,2,r3 |
sub_sub 4,r1,r2,r3 |
sub_sub 4,r1,2,r3 |
sub_cmp 4,r1,r2,r3 |
sub_cmp 4,r1,2,r3 |
sub_mov 4,r1,r2,r3 |
sub_mov 4,r1,2,r3 |
sub_asr 4,r1,r2,r3 |
sub_asr 4,r1,2,r3 |
sub_lsr 4,r1,r2,r3 |
sub_lsr 4,r1,2,r3 |
sub_asl 4,r1,r2,r3 |
sub_asl 4,r1,2,r3 |
|
dsp_mov_tests: |
mov_add r4,r1,r2,r3 |
mov_add r4,r1,2,r3 |
mov_sub r4,r1,r2,r3 |
mov_sub r4,r1,2,r3 |
mov_cmp r4,r1,r2,r3 |
mov_cmp r4,r1,2,r3 |
mov_mov r4,r1,r2,r3 |
mov_mov r4,r1,2,r3 |
mov_asr r4,r1,r2,r3 |
mov_asr r4,r1,2,r3 |
mov_lsr r4,r1,r2,r3 |
mov_lsr r4,r1,2,r3 |
mov_asl r4,r1,r2,r3 |
mov_asl r4,r1,2,r3 |
mov_add 4,r1,r2,r3 |
mov_add 4,r1,2,r3 |
mov_sub 4,r1,r2,r3 |
mov_sub 4,r1,2,r3 |
mov_cmp 4,r1,r2,r3 |
mov_cmp 4,r1,2,r3 |
mov_mov 4,r1,r2,r3 |
mov_mov 4,r1,2,r3 |
mov_asr 4,r1,r2,r3 |
mov_asr 4,r1,2,r3 |
mov_lsr 4,r1,r2,r3 |
mov_lsr 4,r1,2,r3 |
mov_asl 4,r1,r2,r3 |
mov_asl 4,r1,2,r3 |
|
dsp_logical_tests: |
and_add r4,r1,r2,r3 |
and_add r4,r1,2,r3 |
and_sub r4,r1,r2,r3 |
and_sub r4,r1,2,r3 |
and_cmp r4,r1,r2,r3 |
and_cmp r4,r1,2,r3 |
and_mov r4,r1,r2,r3 |
and_mov r4,r1,2,r3 |
and_asr r4,r1,r2,r3 |
and_asr r4,r1,2,r3 |
and_lsr r4,r1,r2,r3 |
and_lsr r4,r1,2,r3 |
and_asl r4,r1,r2,r3 |
and_asl r4,r1,2,r3 |
xor_add r4,r1,r2,r3 |
xor_add r4,r1,2,r3 |
xor_sub r4,r1,r2,r3 |
xor_sub r4,r1,2,r3 |
xor_cmp r4,r1,r2,r3 |
xor_cmp r4,r1,2,r3 |
xor_mov r4,r1,r2,r3 |
xor_mov r4,r1,2,r3 |
xor_asr r4,r1,r2,r3 |
xor_asr r4,r1,2,r3 |
xor_lsr r4,r1,r2,r3 |
xor_lsr r4,r1,2,r3 |
xor_asl r4,r1,r2,r3 |
xor_asl r4,r1,2,r3 |
or_add r4,r1,r2,r3 |
or_add r4,r1,2,r3 |
or_sub r4,r1,r2,r3 |
or_sub r4,r1,2,r3 |
or_cmp r4,r1,r2,r3 |
or_cmp r4,r1,2,r3 |
or_mov r4,r1,r2,r3 |
or_mov r4,r1,2,r3 |
or_asr r4,r1,r2,r3 |
or_asr r4,r1,2,r3 |
or_lsr r4,r1,r2,r3 |
or_lsr r4,r1,2,r3 |
or_asl r4,r1,r2,r3 |
or_asl r4,r1,2,r3 |
|
dsp_misc_tests: |
dmach_add r4,r1,r2,r3 |
dmach_add r4,r1,2,r3 |
dmach_sub r4,r1,r2,r3 |
dmach_sub r4,r1,2,r3 |
dmach_cmp r4,r1,r2,r3 |
dmach_cmp r4,r1,2,r3 |
dmach_mov r4,r1,r2,r3 |
dmach_mov r4,r1,2,r3 |
dmach_asr r4,r1,r2,r3 |
dmach_asr r4,r1,2,r3 |
dmach_lsr r4,r1,r2,r3 |
dmach_lsr r4,r1,2,r3 |
dmach_asl r4,r1,r2,r3 |
dmach_asl r4,r1,2,r3 |
swhw_add r4,r1,r2,r3 |
swhw_add r4,r1,2,r3 |
swhw_sub r4,r1,r2,r3 |
swhw_sub r4,r1,2,r3 |
swhw_cmp r4,r1,r2,r3 |
swhw_cmp r4,r1,2,r3 |
swhw_mov r4,r1,r2,r3 |
swhw_mov r4,r1,2,r3 |
swhw_asr r4,r1,r2,r3 |
swhw_asr r4,r1,2,r3 |
swhw_lsr r4,r1,r2,r3 |
swhw_lsr r4,r1,2,r3 |
swhw_asl r4,r1,r2,r3 |
swhw_asl r4,r1,2,r3 |
sat16_add r4,r1,r2,r3 |
sat16_add r4,r1,2,r3 |
sat16_sub r4,r1,r2,r3 |
sat16_sub r4,r1,2,r3 |
sat16_cmp r4,r1,r2,r3 |
sat16_cmp r4,r1,2,r3 |
sat16_mov r4,r1,r2,r3 |
sat16_mov r4,r1,2,r3 |
sat16_asr r4,r1,r2,r3 |
sat16_asr r4,r1,2,r3 |
sat16_lsr r4,r1,r2,r3 |
sat16_lsr r4,r1,2,r3 |
sat16_asl r4,r1,r2,r3 |
sat16_asl r4,r1,2,r3 |
|
autoincrement_tests: |
mov (r1+),r2 |
mov r3,(r4+) |
movhu (r6+),r7 |
movhu r8,(r9+) |
mov (r1+,64),r2 |
mov r1,(r2+,64) |
movhu (r1+,64),r2 |
movhu r1,(r2+,64) |
mov (r1+,0x1ffef),r2 |
mov r1,(r2+,0x1ffef) |
movhu (r1+,0x1ffef),r2 |
movhu r1,(r2+,0x1ffef) |
mov (r1+,0x7ffefdfc),r2 |
mov r1,(r2+,0x7ffefdfc) |
movhu (r1+,0x7ffefdfc),r2 |
movhu r1,(r2+,0x7ffefdfc) |
|
dsp_autoincrement_tests: |
mov_llt (r1+,4),r2 |
mov_lgt (r1+,4),r2 |
mov_lge (r1+,4),r2 |
mov_lle (r1+,4),r2 |
mov_lcs (r1+,4),r2 |
mov_lhi (r1+,4),r2 |
mov_lcc (r1+,4),r2 |
mov_lls (r1+,4),r2 |
mov_leq (r1+,4),r2 |
mov_lne (r1+,4),r2 |
mov_lra (r1+,4),r2 |
/configure.in
0,0 → 1,15
dnl Process this file file with autoconf to produce a configure script. |
dnl This file is a shell script fragment that supplies the information |
dnl necessary to tailor a template configure script into the configure |
dnl script appropriate for this directory. For more information, check |
dnl any existing configure script. |
|
AC_PREREQ(2.5) |
AC_INIT(sh3.s) |
|
CC=${CC-cc} |
AC_SUBST(CC) |
AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..) |
AC_CANONICAL_SYSTEM |
|
AC_OUTPUT(Makefile) |
/sh3.exp
0,0 → 1,123
# Copyright (C) 1992, 1997 Free Software Foundation, Inc. |
|
# 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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
|
# Please email any bugs, comments, and/or additions to this file to: |
# bug-gdb@prep.ai.mit.edu |
|
# This file was written by Jeff Law. (law@cs.utah.edu) |
|
if $tracelevel then { |
strace $tracelevel |
} |
|
if ![istarget "sh3*-*-*"] { |
verbose "Tests ignored for all but sh3 based targets." |
return |
} |
|
set prms_id 0 |
set bug_id 0 |
|
set testfile "sh3" |
set srcfile ${srcdir}/${subdir}/${testfile}.s |
set binfile ${objdir}/${subdir}/${testfile} |
if { [gdb_compile "${srcfile}" "${binfile}" executable ""] != "" } { |
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." |
} |
|
proc all_fp_move_and_load_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/9i fp_move_and_load_tests\n" |
gdb_expect { |
-re " |
.*fmov.s\t@r0,fr0.* |
.*fmov.s\tfr0,@r0.* |
.*fmov.s\t@r0\\+,fr0.* |
.*fmov.s\tfr0,@-r0.* |
.*fmov.s\t@\\(r0,r0\\),fr0.* |
.*fmov.s\tfr0,@\\(r0,r0\\).* |
.*fmov\tfr0,fr1.* |
.*fldi0\tfr0.* |
.*fldi1\tfr0.* |
.*$gdb_prompt $" { pass "fp_move_and_load_tests" } |
-re "$gdb_prompt $" { fail "fp_move_and_load_tests" } |
timeout { fail "(timeout) fp_move_and_load_tests" } |
} |
} |
|
proc all_fp_arithmetic_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/13i fp_arithmetic_tests\n" |
gdb_expect { |
-re " |
.*fadd\tfr0,fr1.* |
.*fsub\tfr0,fr1.* |
.*fmul\tfr0,fr1.* |
.*fdiv\tfr0,fr1.* |
.*fmac\tfr0,fr0,fr1.* |
.*fcmp/eq\tfr0,fr1.* |
.*fcmp/gt\tfr0,fr1.* |
.*ftst/nan\tfr0.* |
.*fneg\tfr0.* |
.*fabs\tfr0.* |
.*fsqrt\tfr0.* |
.*float\tfpul,fr0.* |
.*ftrc\tfr0,fpul.* |
.*$gdb_prompt $" { pass "fp_arithmetic_tests" } |
-re "$gdb_prompt $" { fail "fp_arithmetic_tests" } |
timeout { fail "(timeout) fp_arithmetic_tests" } |
} |
} |
|
proc all_fp_misc_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/10i fp_misc_tests\n" |
gdb_expect { |
-re " |
.*fsts\tfpul,fr0.* |
.*flds\tfr0,fpul.* |
.*lds\tr3,fpul.* |
.*lds\\.l\t@r3\\+,fpul.* |
.*lds\tr3,fpscr.* |
.*lds\\.l\t@r3\\+,fpscr.* |
.*sts\tfpul,r3.* |
.*sts\\.l\tfpul,@-r3.* |
.*sts\tfpscr,r3.* |
.*sts\\.l\tfpscr,@-r3.* |
.*$gdb_prompt $" { pass "fp_misc_tests" } |
-re "$gdb_prompt $" { fail "fp_misc_tests" } |
timeout { fail "(timeout) fp_misc_tests" } |
} |
} |
|
gdb_exit |
gdb_start |
gdb_reinitialize_dir $srcdir/$subdir |
gdb_load $binfile |
|
all_fp_move_and_load_tests |
all_fp_arithmetic_tests |
all_fp_misc_tests |
|
/mn10200.exp
0,0 → 1,478
|
# Copyright (C) 1997 Free Software Foundation, Inc. |
|
# 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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
|
# Please email any bugs, comments, and/or additions to this file to: |
# bug-gdb@prep.ai.mit.edu |
|
# This file was written by Jeff Law. (law@cygnus.com) |
|
if $tracelevel then { |
strace $tracelevel |
} |
|
if ![istarget "mn10200*-*-*"] { |
verbose "Tests ignored for all but mn10200 based targets." |
return |
} |
|
global exec_output |
set prms_id 0 |
set bug_id 0 |
|
set testfile "mn10200" |
set srcfile ${srcdir}/${subdir}/${testfile}.s |
set binfile ${objdir}/${subdir}/${testfile} |
if { [gdb_compile "${srcfile}" "${binfile}" executable ""] != "" } { |
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." |
} |
|
proc add_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/12i add_tests\n" |
gdb_expect { |
-re " |
.*add d1,d2.* |
.*add d2,a3.* |
.*add a2,d1.* |
.*add a3,a2.* |
.*add 16,d1.* |
.*add 256,d2.* |
.*add 131071,d3.* |
.*add 16,a1.* |
.*add 256,a2.* |
.*add 131071,a3.* |
.*addc d1,d2.* |
.*addnf 16,a2.* |
.*$gdb_prompt $" { pass "add tests" } |
-re "$gdb_prompt $" { fail "add tests" } |
timeout { fail "(timeout) add tests" } |
} |
} |
|
proc bcc_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/15i bCC_tests\n" |
gdb_expect { |
-re " |
.*beq 0x\[0-9a-f]+ <bCC_tests>.* |
.*bne 0x\[0-9a-f]+ <bCC_tests>.* |
.*bgt 0x\[0-9a-f]+ <bCC_tests>.* |
.*bge 0x\[0-9a-f]+ <bCC_tests>.* |
.*ble 0x\[0-9a-f]+ <bCC_tests>.* |
.*blt 0x\[0-9a-f]+ <bCC_tests>.* |
.*bhi 0x\[0-9a-f]+ <bCC_tests>.* |
.*bcc 0x\[0-9a-f]+ <bCC_tests>.* |
.*bls 0x\[0-9a-f]+ <bCC_tests>.* |
.*bcs 0x\[0-9a-f]+ <bCC_tests>.* |
.*bvc 0x\[0-9a-f]+ <bCC_tests>.* |
.*bvs 0x\[0-9a-f]+ <bCC_tests>.* |
.*bnc 0x\[0-9a-f]+ <bCC_tests>.* |
.*bns 0x\[0-9a-f]+ <bCC_tests>.* |
.*bra 0x\[0-9a-f]+ <bCC_tests>.* |
.*$gdb_prompt $" { pass "bCC tests" } |
-re "$gdb_prompt $" { fail "bCC tests" } |
timeout { fail "(timeout) bCC tests" } |
} |
} |
|
proc bccx_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/14i bCCx_tests\n" |
gdb_expect { |
-re " |
.*beqx 0x\[0-9a-f]+ <bCCx_tests>.* |
.*bnex 0x\[0-9a-f]+ <bCCx_tests>.* |
.*bgtx 0x\[0-9a-f]+ <bCCx_tests>.* |
.*bgex 0x\[0-9a-f]+ <bCCx_tests>.* |
.*blex 0x\[0-9a-f]+ <bCCx_tests>.* |
.*bltx 0x\[0-9a-f]+ <bCCx_tests>.* |
.*bhix 0x\[0-9a-f]+ <bCCx_tests>.* |
.*bccx 0x\[0-9a-f]+ <bCCx_tests>.* |
.*blsx 0x\[0-9a-f]+ <bCCx_tests>.* |
.*bcsx 0x\[0-9a-f]+ <bCCx_tests>.* |
.*bvcx 0x\[0-9a-f]+ <bCCx_tests>.* |
.*bvsx 0x\[0-9a-f]+ <bCCx_tests>.* |
.*bncx 0x\[0-9a-f]+ <bCCx_tests>.* |
.*bnsx 0x\[0-9a-f]+ <bCCx_tests>.* |
.*$gdb_prompt $" { pass "bCCx tests" } |
-re "$gdb_prompt $" { fail "bCCx tests" } |
timeout { fail "(timeout) bCCx tests" } |
} |
} |
|
proc bit_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/4 bit_tests\n" |
gdb_expect { |
-re " |
.*btst 64,d1.* |
.*btst 8192,d2.* |
.*bset d1,\\(a2\\).* |
.*bclr d1,\\(a2\\).* |
.*$gdb_prompt $" { pass "bit tests" } |
-re "$gdb_prompt $" { fail "bit tests" } |
timeout { fail "(timeout) bit tests" } |
} |
} |
|
proc cmp_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/9i cmp_tests\n" |
gdb_expect { |
-re " |
.*cmp d1,d2.* |
.*cmp d2,a3.* |
.*cmp a3,d3.* |
.*cmp a3,a2.* |
.*cmp 16,d3.* |
.*cmp 256,d2.* |
.*cmp 131071,d1.* |
.*cmp 256,a2.* |
.*cmp 131071,a1.* |
.*$gdb_prompt $" { pass "cmp tests" } |
-re "$gdb_prompt $" { fail "cmp tests" } |
timeout { fail "(timeout) cmp tests" } |
} |
} |
|
proc extend_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/5i extend_tests\n" |
gdb_expect { |
-re " |
.*ext d1.* |
.*extx d2.* |
.*extxu d3.* |
.*extxb d2.* |
.*extxbu d1.* |
.*$gdb_prompt $" { pass "extend tests" } |
-re "$gdb_prompt $" { fail "extend tests" } |
timeout { fail "(timeout) extend tests" } |
} |
} |
|
proc logical_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/11i logical_tests\n" |
gdb_expect { |
-re " |
.*and d1,d2.* |
.*and 127,d2.* |
.*and 32767,d3.* |
.*and 32767,psw.* |
.*or d1,d2.* |
.*or 127,d2.* |
.*or 32767,d3.* |
.*or 32767,psw.* |
.*xor d1,d2.* |
.*xor 32767,d3.* |
.*not d3.* |
.*$gdb_prompt $" { pass "logical tests" } |
-re "$gdb_prompt $" { fail "logical tests" } |
timeout { fail "(timeout) logical tests" } |
} |
} |
|
proc mov_tests_1 { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/12i mov_tests_1\n" |
gdb_expect { |
-re " |
.*mov d1,a2.* |
.*mov a2,d1.* |
.*mov d1,d2.* |
.*mov a2,a1.* |
.*mov psw,d3.* |
.*mov d2,psw.* |
.*mov mdr,d1.* |
.*mov d2,mdr.* |
.*mov \\(a2\\),d1.* |
.*mov \\(8,a2\\),d1.* |
.*mov \\(256,a2\\),d1.* |
.*mov \\(131071,a2\\),d1.* |
.*$gdb_prompt $" { pass "mov1 tests" } |
-re "$gdb_prompt $" { fail "mov1 tests" } |
timeout { fail "(timeout) mov1 tests" } |
} |
} |
|
proc mov_tests_2 { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/9 mov_tests_2\n" |
gdb_expect { |
-re " |
.*mov \\(d1,a1\\),d2.* |
.*mov \\(0x8000.*\\),d1.* |
.*mov \\(0x1ffff.*\\),d1.* |
.*mov \\(8,a2\\),a1.* |
.*mov \\(256,a2\\),a1.* |
.*mov \\(131071,a2\\),a1.* |
.*mov \\(d1,a1\\),a2.* |
.*mov \\(0x8000.*\\),a1.* |
.*mov \\(0x1ffff.*\\),a1.* |
.*$gdb_prompt $" { pass "mov2 tests" } |
-re "$gdb_prompt $" { fail "mov2 tests" } |
timeout { fail "(timeout) mov2 tests" } |
} |
} |
|
proc mov_tests_3 { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/10 mov_tests_3\n" |
gdb_expect { |
-re " |
.*mov d1,\\(a2\\).* |
.*mov d1,\\(32,a2\\).* |
.*mov d1,\\(256,a2\\).* |
.*mov d1,\\(131071,a2\\).* |
.*mov d1,\\(d2,a2\\).* |
.*mov d1,\\(0x80.*\\).* |
.*mov d1,\\(0x1ffff.*\\).* |
.*mov a1,\\(32,a2\\).* |
.*mov a1,\\(256,a2\\).* |
.*mov a1,\\(131071,a2\\).* |
.*$gdb_prompt $" { pass "mov3 tests" } |
-re "$gdb_prompt $" { fail "mov3 tests" } |
timeout { fail "(timeout) mov3 tests" } |
} |
} |
|
proc mov_tests_4 { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/8 mov_tests_4\n" |
gdb_expect { |
-re " |
.*mov a1,\\(d2,a2\\).* |
.*mov a1,\\(0x80.*\\).* |
.*mov a1,\\(0x1ffff.*\\).* |
.*mov 8,d1.* |
.*mov 256,d1.* |
.*mov 131071,d1.* |
.*mov 256,a1.* |
.*mov 131071,a1.* |
.*$gdb_prompt $" { pass "mov4 tests" } |
-re "$gdb_prompt $" { fail "mov4 tests" } |
timeout { fail "(timeout) mov4 tests" } |
} |
} |
|
proc movb_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/12 movb_tests\n" |
gdb_expect { |
-re " |
.*movb \\(8,a2\\),d1.* |
.*movb \\(256,a2\\),d1.* |
.*movb \\(131071,a2\\),d1.* |
.*movb \\(d2,a2\\),d3.* |
.*movb \\(0x1ffff.*\\),d2.* |
.*movb d1,\\(a2\\).* |
.*movb d1,\\(8,a2\\).* |
.*movb d1,\\(256,a2\\).* |
.*movb d1,\\(131071,a2\\).* |
.*movb d1,\\(d2,a2\\).* |
.*movb d1,\\(0x100.*\\).* |
.*movb d1,\\(0x1ffff.*\\).* |
.*$gdb_prompt $" { pass "movb tests" } |
-re "$gdb_prompt $" { fail "movb tests" } |
timeout { fail "(timeout) movb tests" } |
} |
} |
|
proc movbu_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/7 movbu_tests\n" |
gdb_expect { |
-re " |
.*movbu \\(a2\\),d1.* |
.*movbu \\(8,a2\\),d1.* |
.*movbu \\(256,a2\\),d1.* |
.*movbu \\(131071,a2\\),d1.* |
.*movbu \\(d1,a1\\),d2.* |
.*movbu \\(0x8000.*\\),d1.* |
.*movbu \\(0x1ffff.*\\),d1.* |
.*$gdb_prompt $" { pass "movbu tests" } |
-re "$gdb_prompt $" { fail "movbu tests" } |
timeout { fail "(timeout) movbu tests" } |
} |
} |
|
proc movx_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/6 movx_tests\n" |
gdb_expect { |
-re " |
.*movx \\(8,a2\\),d1.* |
.*movx \\(256,a2\\),d1.* |
.*movx \\(131071,a2\\),d1.* |
.*movx d1,\\(8,a2\\).* |
.*movx d1,\\(256,a2\\).* |
.*movx d1,\\(131071,a2\\).* |
.*$gdb_prompt $" { pass "movx tests" } |
-re "$gdb_prompt $" { fail "movx tests" } |
timeout { fail "(timeout) movx tests" } |
} |
} |
|
proc muldiv_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/3 muldiv_tests\n" |
gdb_expect { |
-re " |
.*mul d1,d2.* |
.*mulu d2,d3.* |
.*divu d3,d2.* |
.*$gdb_prompt $" { pass "muldiv tests" } |
-re "$gdb_prompt $" { fail "muldiv tests" } |
timeout { fail "(timeout) muldiv tests" } |
} |
} |
|
proc misc_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/9 misc_tests\n" |
gdb_expect { |
-re " |
.*jmp 0x\[0-9a-f]+ <main>.* |
.*jmp 0x\[0-9a-f]+ <start>.* |
.*jmp \\(a2\\).* |
.*jsr 0x\[0-9a-f]+ <main>.* |
.*jsr 0x\[0-9a-f]+ <start>.* |
.*jsr \\(a2\\).* |
.*rts.* |
.*rti.* |
.*nop.* |
.*$gdb_prompt $" { pass "misc tests" } |
-re "$gdb_prompt $" { fail "misc tests" } |
timeout { fail "(timeout) misc tests" } |
} |
} |
|
proc shift_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/4i shift_tests\n" |
gdb_expect { |
-re " |
.*asr d2.* |
.*lsr d3.* |
.*ror d1.* |
.*rol d2.* |
.*$gdb_prompt $" { pass "shift tests" } |
-re "$gdb_prompt $" { fail "shift tests" } |
timeout { fail "(timeout) shift tests" } |
} |
} |
|
proc sub_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/9i sub_tests\n" |
gdb_expect { |
-re " |
.*sub d1,d2.* |
.*sub d2,a3.* |
.*sub a3,d3.* |
.*sub a3,a2.* |
.*sub 32767,d2.* |
.*sub 131071,d2.* |
.*sub 32767,a2.* |
.*sub 131071,a2.* |
.*subc d1,d2.* |
.*$gdb_prompt $" { pass "sub tests" } |
-re "$gdb_prompt $" { fail "sub tests" } |
timeout { fail "(timeout) sub tests" } |
} |
} |
|
# Start with a fresh gdb. |
|
gdb_exit |
gdb_start |
gdb_reinitialize_dir $srcdir/$subdir |
gdb_load $binfile |
|
add_tests |
bcc_tests |
bccx_tests |
bit_tests |
cmp_tests |
extend_tests |
logical_tests |
mov_tests_1 |
mov_tests_2 |
mov_tests_3 |
mov_tests_4 |
movb_tests |
movbu_tests |
movx_tests |
muldiv_tests |
misc_tests |
shift_tests |
sub_tests |
/mn10300.exp
0,0 → 1,569
|
# Copyright (C) 1997 Free Software Foundation, Inc. |
|
# 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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
|
# Please email any bugs, comments, and/or additions to this file to: |
# bug-gdb@prep.ai.mit.edu |
|
# This file was written by Jeff Law. (law@cygnus.com) |
|
if $tracelevel then { |
strace $tracelevel |
} |
|
if ![istarget "mn10300*-*-*"] { |
verbose "Tests ignored for all but mn10300 based targets." |
return |
} |
|
global exec_output |
set prms_id 0 |
set bug_id 0 |
|
set testfile "mn10300" |
set srcfile ${srcdir}/${subdir}/${testfile}.s |
set binfile ${objdir}/${subdir}/${testfile} |
if { [gdb_compile "${srcfile}" "${binfile}" executable ""] != "" } { |
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." |
} |
|
proc add_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/14i add_tests\n" |
gdb_expect { |
-re " |
.*add d1,d2.* |
.*add d2,a3.* |
.*add a3,a2.* |
.*add a2,d1.* |
.*add 16,d1.* |
.*add 256,d2.* |
.*add 131071,d3.* |
.*add 16,a1.* |
.*add 256,a2.* |
.*add 131071,a3.* |
.*add 16,sp.* |
.*add 256,sp.* |
.*add 131071,sp.* |
.*addc d1,d2.* |
.*$gdb_prompt $" { pass "add tests" } |
-re "$gdb_prompt $" { fail "add tests" } |
timeout { fail "(timeout) add tests" } |
} |
} |
|
proc bcc_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/15i bCC_tests\n" |
gdb_expect { |
-re " |
.*beq 0x\[0-9a-f]+ <bCC_tests>.* |
.*bne 0x\[0-9a-f]+ <bCC_tests>.* |
.*bgt 0x\[0-9a-f]+ <bCC_tests>.* |
.*bge 0x\[0-9a-f]+ <bCC_tests>.* |
.*ble 0x\[0-9a-f]+ <bCC_tests>.* |
.*blt 0x\[0-9a-f]+ <bCC_tests>.* |
.*bhi 0x\[0-9a-f]+ <bCC_tests>.* |
.*bcc 0x\[0-9a-f]+ <bCC_tests>.* |
.*bls 0x\[0-9a-f]+ <bCC_tests>.* |
.*bcs 0x\[0-9a-f]+ <bCC_tests>.* |
.*bvc 0x\[0-9a-f]+ <bCC_tests>.* |
.*bvs 0x\[0-9a-f]+ <bCC_tests>.* |
.*bnc 0x\[0-9a-f]+ <bCC_tests>.* |
.*bns 0x\[0-9a-f]+ <bCC_tests>.* |
.*bra 0x\[0-9a-f]+ <bCC_tests>.* |
.*$gdb_prompt $" { pass "bCC tests" } |
-re "$gdb_prompt $" { fail "bCC tests" } |
timeout { fail "(timeout) bCC tests" } |
} |
} |
|
proc bit_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/11i bit_tests\n" |
gdb_expect { |
-re " |
.*btst 64,d1.* |
.*btst 8192,d2.* |
.*btst 131071,d3.* |
.*btst 64,\\(8,a1\\).* |
.*btst 64,\\(0x1ffff\\).* |
.*bset d1,\\(a2\\).* |
.*bset 64,\\(8,a1\\).* |
.*bset 64,\\(0x1ffff\\).* |
.*bclr d1,\\(a2\\).* |
.*bclr 64,\\(8,a1\\).* |
.*bclr 64,\\(0x1ffff\\).* |
.*$gdb_prompt $" { pass "bit tests" } |
-re "$gdb_prompt $" { fail "bit tests" } |
timeout { fail "(timeout) bit tests" } |
} |
} |
|
proc cmp_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/10i cmp_tests\n" |
gdb_expect { |
-re " |
.*cmp d1,d2.* |
.*cmp d2,a3.* |
.*cmp a3,d3.* |
.*cmp a3,a2.* |
.*cmp 16,d3.* |
.*cmp 256,d2.* |
.*cmp 131071,d1.* |
.*cmp 16,a3.* |
.*cmp 256,a2.* |
.*cmp 131071,a1.* |
.*$gdb_prompt $" { pass "cmp tests" } |
-re "$gdb_prompt $" { fail "cmp tests" } |
timeout { fail "(timeout) cmp tests" } |
} |
} |
|
proc extend_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/5i extend_tests\n" |
gdb_expect { |
-re " |
.*ext d1.* |
.*extb d2.* |
.*extbu d3.* |
.*exth d2.* |
.*exthu d1.* |
.*$gdb_prompt $" { pass "extend tests" } |
-re "$gdb_prompt $" { fail "extend tests" } |
timeout { fail "(timeout) extend tests" } |
} |
} |
|
proc extended_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/13i extended_tests\n" |
gdb_expect { |
-re " |
.*putx d1.* |
.*getx d2.* |
.*mulq d1,d2.* |
.*mulq 16,d2.* |
.*mulq 256,d3.* |
.*mulq 131071,d3.* |
.*mulqu d1,d2.* |
.*mulqu 16,d2.* |
.*mulqu 256,d3.* |
.*mulqu 131071,d3.* |
.*sat16 d2,d3.* |
.*sat24 d3,d2.* |
.*bsch d1,d2.* |
.*$gdb_prompt $" { pass "extended tests" } |
-re "$gdb_prompt $" { fail "extended tests" } |
timeout { fail "(timeout) extended tests" } |
} |
} |
|
proc logical_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/14i logical_tests\n" |
gdb_expect { |
-re " |
.*and d1,d2.* |
.*and 127,d2.* |
.*and 32767,d3.* |
.*and 131071,d3.* |
.*and 32767,psw.* |
.*or d1,d2.* |
.*or 127,d2.* |
.*or 32767,d3.* |
.*or 131071,d3.* |
.*or 32767,psw.* |
.*xor d1,d2.* |
.*xor 32767,d3.* |
.*xor 131071,d3.* |
.*not d3.* |
.*$gdb_prompt $" { pass "logical tests" } |
-re "$gdb_prompt $" { fail "logical tests" } |
timeout { fail "(timeout) logical tests" } |
} |
} |
|
proc loop_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/12i loop_tests\n" |
gdb_expect { |
-re " |
.*leq.* |
.*lne.* |
.*lgt.* |
.*lge.* |
.*lle.* |
.*llt.* |
.*lhi.* |
.*lcc.* |
.*lls.* |
.*lcs.* |
.*lra.* |
.*setlb.* |
.*$gdb_prompt $" { pass "loop tests" } |
-re "$gdb_prompt $" { fail "loop tests" } |
timeout { fail "(timeout) loop tests" } |
} |
} |
|
proc mov_tests_1 { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/16i mov_tests_1\n" |
gdb_expect { |
-re " |
.*mov d1,d2.* |
.*mov d1,a2.* |
.*mov a2,d1.* |
.*mov a2,a1.* |
.*mov sp,a2.* |
.*mov a1,sp.* |
.*mov d2,psw.* |
.*mov mdr,d1.* |
.*mov d2,mdr.* |
.*mov \\(a2\\),d1.* |
.*mov \\(8,a2\\),d1.* |
.*mov \\(256,a2\\),d1.* |
.*mov \\(131071,a2\\),d1.* |
.*mov \\(8,sp\\),d1.* |
.*mov \\(256,sp\\),d1.* |
.*mov psw,d3.* |
.*$gdb_prompt $" { pass "mov1 tests" } |
-re "$gdb_prompt $" { fail "mov1 tests" } |
timeout { fail "(timeout) mov1 tests" } |
} |
} |
|
proc mov_tests_2 { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/15i mov_tests_2\n" |
gdb_expect { |
-re " |
.*mov \\(131071,sp\\),d1.* |
.*mov \\(d1,a1\\),d2.* |
.*mov \\(0x8000.*\\),d1.* |
.*mov \\(0x1ffff.*\\),d1.* |
.*mov \\(a2\\),a1.* |
.*mov \\(8,a2\\),a1.* |
.*mov \\(256,a2\\),a1.* |
.*mov \\(131071,a2\\),a1.* |
.*mov \\(8,sp\\),a1.* |
.*mov \\(256,sp\\),a1.* |
.*mov \\(131071,sp\\),a1.* |
.*mov \\(d1,a1\\),a2.* |
.*mov \\(0x8000.*\\),a1.* |
.*mov \\(0x1ffff.*\\),a1.* |
.*mov \\(32,a1\\),sp.* |
.*$gdb_prompt $" { pass "mov2 tests" } |
-re "$gdb_prompt $" { fail "mov2 tests" } |
timeout { fail "(timeout) mov2 tests" } |
} |
} |
|
proc mov_tests_3 { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/15i mov_tests_3\n" |
gdb_expect { |
-re " |
.*mov d1,\\(a2\\).* |
.*mov d1,\\(32,a2\\).* |
.*mov d1,\\(256,a2\\).* |
.*mov d1,\\(131071,a2\\).* |
.*mov d1,\\(32,sp\\).* |
.*mov d1,\\(32768,sp\\).* |
.*mov d1,\\(131071,sp\\).* |
.*mov d1,\\(d2,a2\\).* |
.*mov d1,\\(0x80.*\\).* |
.*mov d1,\\(0x1ffff.*\\).* |
.*mov a1,\\(a2\\).* |
.*mov a1,\\(32,a2\\).* |
.*mov a1,\\(256,a2\\).* |
.*mov a1,\\(131071,a2\\).* |
.*mov a1,\\(32,sp\\).* |
.*$gdb_prompt $" { pass "mov3 tests" } |
-re "$gdb_prompt $" { fail "mov3 tests" } |
timeout { fail "(timeout) mov3 tests" } |
} |
} |
|
proc mov_tests_4 { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/12i mov_tests_4\n" |
gdb_expect { |
-re " |
.*mov a1,\\(32768,sp\\).* |
.*mov a1,\\(131071,sp\\).* |
.*mov a1,\\(d2,a2\\).* |
.*mov a1,\\(0x80.*\\).* |
.*mov a1,\\(0x1ffff.*\\).* |
.*mov sp,\\(32,a1\\).* |
.*mov 8,d1.* |
.*mov 256,d1.* |
.*mov 131071,d1.* |
.*mov 8,a1.* |
.*mov 256,a1.* |
.*mov 131071,a1.* |
.*$gdb_prompt $" { pass "mov4 tests" } |
-re "$gdb_prompt $" { fail "mov4 tests" } |
timeout { fail "(timeout) mov4 tests" } |
} |
} |
|
proc movbu_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/20i movbu_tests\n" |
gdb_expect { |
-re " |
.*movbu \\(a2\\),d1.* |
.*movbu \\(8,a2\\),d1.* |
.*movbu \\(256,a2\\),d1.* |
.*movbu \\(131071,a2\\),d1.* |
.*movbu \\(8,sp\\),d1.* |
.*movbu \\(256,sp\\),d1.* |
.*movbu \\(131071,sp\\),d1.* |
.*movbu \\(d1,a1\\),d2.* |
.*movbu \\(0x8000.*\\),d1.* |
.*movbu \\(0x1ffff.*\\),d1.* |
.*movbu d1,\\(a2\\).* |
.*movbu d1,\\(32,a2\\).* |
.*movbu d1,\\(256,a2\\).* |
.*movbu d1,\\(131071,a2\\).* |
.*movbu d1,\\(32,sp\\).* |
.*movbu d1,\\(32768,sp\\).* |
.*movbu d1,\\(131071,sp\\).* |
.*movbu d1,\\(d2,a2\\).* |
.*movbu d1,\\(0x80.*\\).* |
.*movbu d1,\\(0x1ffff.*\\).* |
.*$gdb_prompt $" { pass "movbu tests" } |
-re "$gdb_prompt $" { fail "movbu tests" } |
timeout { fail "(timeout) movbu tests" } |
} |
} |
|
proc movhu_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/20i movhu_tests\n" |
gdb_expect { |
-re " |
.*movhu \\(a2\\),d1.* |
.*movhu \\(8,a2\\),d1.* |
.*movhu \\(256,a2\\),d1.* |
.*movhu \\(131071,a2\\),d1.* |
.*movhu \\(8,sp\\),d1.* |
.*movhu \\(256,sp\\),d1.* |
.*movhu \\(131071,sp\\),d1.* |
.*movhu \\(d1,a1\\),d2.* |
.*movhu \\(0x8000.*\\),d1.* |
.*movhu \\(0x1ffff.*\\),d1.* |
.*movhu d1,\\(a2\\).* |
.*movhu d1,\\(32,a2\\).* |
.*movhu d1,\\(256,a2\\).* |
.*movhu d1,\\(131071,a2\\).* |
.*movhu d1,\\(32,sp\\).* |
.*movhu d1,\\(32768,sp\\).* |
.*movhu d1,\\(131071,sp\\).* |
.*movhu d1,\\(d2,a2\\).* |
.*movhu d1,\\(0x80.*\\).* |
.*movhu d1,\\(0x1ffff.*\\).* |
.*$gdb_prompt $" { pass "movhu tests" } |
-re "$gdb_prompt $" { fail "movhu tests" } |
timeout { fail "(timeout) movhu tests" } |
} |
} |
|
proc movm_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/4i movm_tests\n" |
gdb_expect { |
-re " |
.*movm \\(sp\\),.a2,a3..* |
.*movm \\(sp\\),.d2,d3,a2,a3,other..* |
.*movm .a2,a3.,\\(sp\\).* |
.*movm .d2,d3,a2,a3,other.,\\(sp\\).* |
.*$gdb_prompt $" { pass "movm tests" } |
-re "$gdb_prompt $" { fail "movm tests" } |
timeout { fail "(timeout) movm tests" } |
} |
} |
|
proc muldiv_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/4i muldiv_tests\n" |
gdb_expect { |
-re " |
.*mul d1,d2.* |
.*mulu d2,d3.* |
.*div d3,d3.* |
.*divu d3,d2.* |
.*$gdb_prompt $" { pass "muldiv tests" } |
-re "$gdb_prompt $" { fail "muldiv tests" } |
timeout { fail "(timeout) muldiv tests" } |
} |
} |
|
proc other_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/19i other_tests\n" |
gdb_expect { |
-re " |
.*clr d2.* |
.*inc d1.* |
.*inc a2.* |
.*inc4 a3.* |
.*jmp \\(a2\\).* |
.*jmp 0x\[0-9a-f]+ <main>.* |
.*jmp 0x\[0-9a-f]+ <start>.* |
.*call 0x\[0-9a-f]+ <main>,.a2,a3.,9.* |
.*call 0x\[0-9a-f]+ <start>,.a2,a3.,32.* |
.*calls \\(a2\\).* |
.*calls 0x\[0-9a-f]+ <main>.* |
.*calls 0x\[0-9a-f]+ <start>.* |
.*ret .a2,a3.,7.* |
.*retf .a2,a3.,5.* |
.*rets.* |
.*rti.* |
.*trap.* |
.*nop.* |
.*rtm.* |
.*$gdb_prompt $" { pass "other tests" } |
-re "$gdb_prompt $" { fail "other tests" } |
timeout { fail "(timeout) other tests" } |
} |
} |
|
proc shift_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/9i shift_tests\n" |
gdb_expect { |
-re " |
.*asr d1,d2.* |
.*asr 4,d2.* |
.*lsr d2,d3.* |
.*lsr 4,d3.* |
.*asl d3,d2.* |
.*asl 4,d2.* |
.*asl2 d2.* |
.*ror d1.* |
.*rol d2.* |
.*$gdb_prompt $" { pass "shift tests" } |
-re "$gdb_prompt $" { fail "shift tests" } |
timeout { fail "(timeout) shift tests" } |
} |
} |
|
proc sub_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/7i sub_tests\n" |
gdb_expect { |
-re " |
.*sub d1,d2.* |
.*sub d2,a3.* |
.*sub a3,d3.* |
.*sub a3,a2.* |
.*sub 131071,d2.* |
.*sub 131071,a1.* |
.*subc d1,d2.* |
.*$gdb_prompt $" { pass "sub tests" } |
-re "$gdb_prompt $" { fail "sub tests" } |
timeout { fail "(timeout) sub tests" } |
} |
} |
|
# Start with a fresh gdb. |
|
gdb_exit |
gdb_start |
gdb_reinitialize_dir $srcdir/$subdir |
gdb_load $binfile |
|
add_tests |
bcc_tests |
bit_tests |
cmp_tests |
extend_tests |
extended_tests |
logical_tests |
loop_tests |
mov_tests_1 |
mov_tests_2 |
mov_tests_3 |
mov_tests_4 |
movbu_tests |
movhu_tests |
movm_tests |
muldiv_tests |
other_tests |
shift_tests |
sub_tests |
/hppa.s
0,0 → 1,1738
.SPACE $PRIVATE$ |
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31 |
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82 |
.SPACE $TEXT$ |
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44 |
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY |
.IMPORT $global$,DATA |
.IMPORT $$dyncall,MILLICODE |
; gcc_compiled.: |
.SPACE $TEXT$ |
.SUBSPA $CODE$ |
|
.align 4 |
.EXPORT integer_memory_tests,CODE |
.EXPORT integer_indexing_load,CODE |
.EXPORT integer_load_short_memory,CODE |
.EXPORT integer_store_short_memory,CODE |
.EXPORT immediate_tests,CODE |
.EXPORT branch_tests_1,CODE |
.EXPORT branch_tests_2,CODE |
.EXPORT movb_tests,CODE |
.EXPORT movb_nullified_tests,CODE |
.EXPORT movib_tests,CODE |
.EXPORT movib_nullified_tests,CODE |
.EXPORT comb_tests_1,CODE |
.EXPORT comb_tests_2,CODE |
.EXPORT comb_nullified_tests_1,CODE |
.EXPORT comb_nullified_tests_2,CODE |
.EXPORT comib_tests_1,CODE |
.EXPORT comib_tests_2,CODE |
.EXPORT comib_nullified_tests_1,CODE |
.EXPORT comib_nullified_tests_2,CODE |
.EXPORT addb_tests_1,CODE |
.EXPORT addb_tests_2,CODE |
.EXPORT addb_nullified_tests_1,CODE |
.EXPORT addb_nullified_tests_2,CODE |
.EXPORT addib_tests_1,CODE |
.EXPORT addib_tests_2,CODE |
.EXPORT addib_nullified_tests_1,CODE |
.EXPORT addib_nullified_tests_2,CODE |
.EXPORT bb_tests,CODE |
.EXPORT add_tests,CODE |
.EXPORT addl_tests,CODE |
.EXPORT addo_tests,CODE |
.EXPORT addc_tests,CODE |
.EXPORT addco_tests,CODE |
.EXPORT sh1add_tests,CODE |
.EXPORT sh1addl_tests,CODE |
.EXPORT sh1addo_tests,CODE |
.EXPORT sh2add_tests,CODE |
.EXPORT sh2addl_tests,CODE |
.EXPORT sh2addo_tests,CODE |
.EXPORT sh3add_tests,CODE |
.EXPORT sh3addl_tests,CODE |
.EXPORT sh3addo_tests,CODE |
.EXPORT sub_tests,CODE |
.EXPORT subo_tests,CODE |
.EXPORT subb_tests,CODE |
.EXPORT subbo_tests,CODE |
.EXPORT subt_tests,CODE |
.EXPORT subto_tests,CODE |
.EXPORT ds_tests,CODE |
.EXPORT comclr_tests,CODE |
.EXPORT or_tests,CODE |
.EXPORT xor_tests,CODE |
.EXPORT and_tests,CODE |
.EXPORT andcm_tests,CODE |
.EXPORT uxor_tests,CODE |
.EXPORT uaddcm_tests,CODE |
.EXPORT uaddcmt_tests,CODE |
.EXPORT dcor_tests,CODE |
.EXPORT idcor_tests,CODE |
.EXPORT addi_tests,CODE |
.EXPORT addio_tests,CODE |
.EXPORT addit_tests,CODE |
.EXPORT addito_tests,CODE |
.EXPORT subi_tests,CODE |
.EXPORT subio_tests,CODE |
.EXPORT comiclr_tests,CODE |
.EXPORT vshd_tests,CODE |
.EXPORT shd_tests,CODE |
.EXPORT extru_tests,CODE |
.EXPORT extrs_tests,CODE |
.EXPORT zdep_tests,CODE |
.EXPORT dep_tests,CODE |
.EXPORT vextru_tests,CODE |
.EXPORT vextrs_tests,CODE |
.EXPORT zvdep_tests,CODE |
.EXPORT vdep_tests,CODE |
.EXPORT vdepi_tests,CODE |
.EXPORT zvdepi_tests,CODE |
.EXPORT depi_tests,CODE |
.EXPORT zdepi_tests,CODE |
.EXPORT system_control_tests,CODE |
.EXPORT probe_tests,CODE |
.EXPORT lpa_tests,CODE |
.EXPORT purge_tests,CODE |
.EXPORT insert_tests,CODE |
.EXPORT fpu_misc_tests,CODE |
.EXPORT fpu_memory_indexing_tests,CODE |
.EXPORT fpu_short_memory_tests,CODE |
.EXPORT fcpy_tests,CODE |
.EXPORT fabs_tests,CODE |
.EXPORT fsqrt_tests,CODE |
.EXPORT frnd_tests,CODE |
.EXPORT fcnvff_tests,CODE |
.EXPORT fcnvxf_tests,CODE |
.EXPORT fcnvfx_tests,CODE |
.EXPORT fcnvfxt_tests,CODE |
.EXPORT fadd_tests,CODE |
.EXPORT fsub_tests,CODE |
.EXPORT fmpy_tests,CODE |
.EXPORT fdiv_tests,CODE |
.EXPORT frem_tests,CODE |
.EXPORT fcmp_sgl_tests_1,CODE |
.EXPORT fcmp_sgl_tests_2,CODE |
.EXPORT fcmp_sgl_tests_3,CODE |
.EXPORT fcmp_sgl_tests_4,CODE |
.EXPORT fcmp_dbl_tests_1,CODE |
.EXPORT fcmp_dbl_tests_2,CODE |
.EXPORT fcmp_dbl_tests_3,CODE |
.EXPORT fcmp_dbl_tests_4,CODE |
.EXPORT fcmp_quad_tests_1,CODE |
.EXPORT fcmp_quad_tests_2,CODE |
.EXPORT fcmp_quad_tests_3,CODE |
.EXPORT fcmp_quad_tests_4,CODE |
.EXPORT fmpy_addsub_tests,CODE |
.EXPORT xmpyu_tests,CODE |
.EXPORT special_tests,CODE |
.EXPORT sfu_tests,CODE |
.EXPORT copr_tests,CODE |
.EXPORT copr_indexing_load,CODE |
.EXPORT copr_indexing_store,CODE |
.EXPORT copr_short_memory,CODE |
.EXPORT fmemLRbug_tests_1,CODE |
.EXPORT fmemLRbug_tests_2,CODE |
.EXPORT fmemLRbug_tests_3,CODE |
.EXPORT fmemLRbug_tests_4,CODE |
.EXPORT main,CODE |
.EXPORT main,ENTRY,PRIV_LEV=3,RTNVAL=GR |
main |
.PROC |
.CALLINFO FRAME=64,NO_CALLS,SAVE_SP |
.ENTRY |
copy %r4,%r1 |
copy %r30,%r4 |
stwm %r1,64(0,%r30) |
; First memory reference instructions. |
; Should try corner cases for each field extraction. |
; Should deal with s == 0 case somehow?!? |
integer_memory_tests |
ldw 0(0,%r4),%r26 |
ldh 0(0,%r4),%r26 |
ldb 0(0,%r4),%r26 |
stw %r26,0(0,%r4) |
sth %r26,0(0,%r4) |
stb %r26,0(0,%r4) |
|
; Should make sure pre/post modes are recognized correctly. |
ldwm 0(0,%r4),%r26 |
stwm %r26,0(0,%r4) |
|
integer_indexing_load |
ldwx %r5(0,%r4),%r26 |
ldwx,s %r5(0,%r4),%r26 |
ldwx,m %r5(0,%r4),%r26 |
ldwx,sm %r5(0,%r4),%r26 |
ldhx %r5(0,%r4),%r26 |
ldhx,s %r5(0,%r4),%r26 |
ldhx,m %r5(0,%r4),%r26 |
ldhx,sm %r5(0,%r4),%r26 |
ldbx %r5(0,%r4),%r26 |
ldbx,s %r5(0,%r4),%r26 |
ldbx,m %r5(0,%r4),%r26 |
ldbx,sm %r5(0,%r4),%r26 |
ldwax %r5(%r4),%r26 |
ldwax,s %r5(%r4),%r26 |
ldwax,m %r5(%r4),%r26 |
ldwax,sm %r5(%r4),%r26 |
ldcwx %r5(0,%r4),%r26 |
ldcwx,s %r5(0,%r4),%r26 |
ldcwx,m %r5(0,%r4),%r26 |
ldcwx,sm %r5(0,%r4),%r26 |
|
integer_load_short_memory |
ldws 0(0,%r4),%r26 |
ldws,mb 0(0,%r4),%r26 |
ldws,ma 0(0,%r4),%r26 |
ldhs 0(0,%r4),%r26 |
ldhs,mb 0(0,%r4),%r26 |
ldhs,ma 0(0,%r4),%r26 |
ldbs 0(0,%r4),%r26 |
ldbs,mb 0(0,%r4),%r26 |
ldbs,ma 0(0,%r4),%r26 |
ldwas 0(%r4),%r26 |
ldwas,mb 0(%r4),%r26 |
ldwas,ma 0(%r4),%r26 |
ldcws 0(0,%r4),%r26 |
ldcws,mb 0(0,%r4),%r26 |
ldcws,ma 0(0,%r4),%r26 |
|
integer_store_short_memory |
stws %r26,0(0,%r4) |
stws,mb %r26,0(0,%r4) |
stws,ma %r26,0(0,%r4) |
sths %r26,0(0,%r4) |
sths,mb %r26,0(0,%r4) |
sths,ma %r26,0(0,%r4) |
stbs %r26,0(0,%r4) |
stbs,mb %r26,0(0,%r4) |
stbs,ma %r26,0(0,%r4) |
stwas %r26,0(%r4) |
stwas,mb %r26,0(%r4) |
stwas,ma %r26,0(%r4) |
stbys %r26,0(0,%r4) |
stbys,b %r26,0(0,%r4) |
stbys,e %r26,0(0,%r4) |
stbys,b,m %r26,0(0,%r4) |
stbys,e,m %r26,0(0,%r4) |
|
; Immediate instructions. |
immediate_tests |
ldo 5(%r26),%r26 |
ldil L%0xdeadbeef,%r26 |
addil L%0xdeadbeef,%r5 |
|
; Lots of branch instructions. |
; blr with %r0 as return pointer should really be just br <target>, |
; but the assemblers can't handle it. |
branch_tests_1 |
bl main,%r2 |
bl,n main,%r2 |
b main |
b,n main |
gate main,%r2 |
gate,n main,%r2 |
blr %r4,%r2 |
blr,n %r4,%r2 |
blr %r4,%r0 |
blr,n %r4,%r0 |
branch_tests_2 |
bv 0(%r2) |
bv,n 0(%r2) |
be 0x1234(%sr1,%r2) |
be,n 0x1234(%sr1,%r2) |
ble 0x1234(%sr1,%r2) |
ble,n 0x1234(%sr1,%r2) |
|
; GAS can't assemble movb,n or movib,n. |
movb_tests |
movb %r4,%r26,movb_tests |
movb,= %r4,%r26,movb_tests |
movb,< %r4,%r26,movb_tests |
movb,od %r4,%r26,movb_tests |
movb,tr %r4,%r26,movb_tests |
movb,<> %r4,%r26,movb_tests |
movb,>= %r4,%r26,movb_tests |
movb,ev %r4,%r26,movb_tests |
movb_nullified_tests |
movb,n %r4,%r26,movb_tests |
movb,=,n %r4,%r26,movb_tests |
movb,<,n %r4,%r26,movb_tests |
movb,od,n %r4,%r26,movb_tests |
movb,tr,n %r4,%r26,movb_tests |
movb,<>,n %r4,%r26,movb_tests |
movb,>=,n %r4,%r26,movb_tests |
movb,ev,n %r4,%r26,movb_tests |
|
movib_tests |
movib 5,%r26,movib_tests |
movib,= 5,%r26,movib_tests |
movib,< 5,%r26,movib_tests |
movib,od 5,%r26,movib_tests |
movib,tr 5,%r26,movib_tests |
movib,<> 5,%r26,movib_tests |
movib,>= 5,%r26,movib_tests |
movib,ev 5,%r26,movib_tests |
movib_nullified_tests |
movib,n 5,%r26,movib_tests |
movib,=,n 5,%r26,movib_tests |
movib,<,n 5,%r26,movib_tests |
movib,od,n 5,%r26,movib_tests |
movib,tr,n 5,%r26,movib_tests |
movib,<>,n 5,%r26,movib_tests |
movib,>=,n 5,%r26,movib_tests |
movib,ev,n 5,%r26,movib_tests |
|
comb_tests_1 |
comb %r0,%r4,comb_tests_1 |
comb,= %r0,%r4,comb_tests_1 |
comb,< %r0,%r4,comb_tests_1 |
comb,<= %r0,%r4,comb_tests_1 |
comb,<< %r0,%r4,comb_tests_1 |
comb,<<= %r0,%r4,comb_tests_1 |
comb,sv %r0,%r4,comb_tests_1 |
comb,od %r0,%r4,comb_tests_1 |
|
comb_tests_2 |
comb,tr %r0,%r4,comb_tests_2 |
comb,<> %r0,%r4,comb_tests_2 |
comb,>= %r0,%r4,comb_tests_2 |
comb,> %r0,%r4,comb_tests_2 |
comb,>>= %r0,%r4,comb_tests_2 |
comb,>> %r0,%r4,comb_tests_2 |
comb,nsv %r0,%r4,comb_tests_2 |
comb,ev %r0,%r4,comb_tests_2 |
|
comb_nullified_tests_1 |
comb,n %r0,%r4,comb_tests_1 |
comb,=,n %r0,%r4,comb_tests_1 |
comb,<,n %r0,%r4,comb_tests_1 |
comb,<=,n %r0,%r4,comb_tests_1 |
comb,<<,n %r0,%r4,comb_tests_1 |
comb,<<=,n %r0,%r4,comb_tests_1 |
comb,sv,n %r0,%r4,comb_tests_1 |
comb,od,n %r0,%r4,comb_tests_1 |
|
comb_nullified_tests_2 |
comb,tr,n %r0,%r4,comb_tests_2 |
comb,<>,n %r0,%r4,comb_tests_2 |
comb,>=,n %r0,%r4,comb_tests_2 |
comb,>,n %r0,%r4,comb_tests_2 |
comb,>>=,n %r0,%r4,comb_tests_2 |
comb,>>,n %r0,%r4,comb_tests_2 |
comb,nsv,n %r0,%r4,comb_tests_2 |
comb,ev,n %r0,%r4,comb_tests_2 |
|
comib_tests_1 |
comib 0,%r4,comib_tests_1 |
comib,= 0,%r4,comib_tests_1 |
comib,< 0,%r4,comib_tests_1 |
comib,<= 0,%r4,comib_tests_1 |
comib,<< 0,%r4,comib_tests_1 |
comib,<<= 0,%r4,comib_tests_1 |
comib,sv 0,%r4,comib_tests_1 |
comib,od 0,%r4,comib_tests_1 |
|
comib_tests_2 |
comib,tr 0,%r4,comib_tests_2 |
comib,<> 0,%r4,comib_tests_2 |
comib,>= 0,%r4,comib_tests_2 |
comib,> 0,%r4,comib_tests_2 |
comib,>>= 0,%r4,comib_tests_2 |
comib,>> 0,%r4,comib_tests_2 |
comib,nsv 0,%r4,comib_tests_2 |
comib,ev 0,%r4,comib_tests_2 |
|
comib_nullified_tests_1 |
comib,n 0,%r4,comib_tests_1 |
comib,=,n 0,%r4,comib_tests_1 |
comib,<,n 0,%r4,comib_tests_1 |
comib,<=,n 0,%r4,comib_tests_1 |
comib,<<,n 0,%r4,comib_tests_1 |
comib,<<=,n 0,%r4,comib_tests_1 |
comib,sv,n 0,%r4,comib_tests_1 |
comib,od,n 0,%r4,comib_tests_1 |
|
comib_nullified_tests_2 |
comib,tr,n 0,%r4,comib_tests_2 |
comib,<>,n 0,%r4,comib_tests_2 |
comib,>=,n 0,%r4,comib_tests_2 |
comib,>,n 0,%r4,comib_tests_2 |
comib,>>=,n 0,%r4,comib_tests_2 |
comib,>>,n 0,%r4,comib_tests_2 |
comib,nsv,n 0,%r4,comib_tests_2 |
comib,ev,n 0,%r4,comib_tests_2 |
|
addb_tests_1 |
addb %r1,%r4,addb_tests_1 |
addb,= %r1,%r4,addb_tests_1 |
addb,< %r1,%r4,addb_tests_1 |
addb,<= %r1,%r4,addb_tests_1 |
addb,nuv %r1,%r4,addb_tests_1 |
addb,znv %r1,%r4,addb_tests_1 |
addb,sv %r1,%r4,addb_tests_1 |
addb,od %r1,%r4,addb_tests_1 |
|
addb_tests_2 |
addb,tr %r1,%r4,addb_tests_2 |
addb,<> %r1,%r4,addb_tests_2 |
addb,>= %r1,%r4,addb_tests_2 |
addb,> %r1,%r4,addb_tests_2 |
addb,uv %r1,%r4,addb_tests_2 |
addb,vnz %r1,%r4,addb_tests_2 |
addb,nsv %r1,%r4,addb_tests_2 |
addb,ev %r1,%r4,addb_tests_2 |
|
addb_nullified_tests_1 |
addb,n %r1,%r4,addb_tests_1 |
addb,=,n %r1,%r4,addb_tests_1 |
addb,<,n %r1,%r4,addb_tests_1 |
addb,<=,n %r1,%r4,addb_tests_1 |
addb,nuv,n %r1,%r4,addb_tests_1 |
addb,znv,n %r1,%r4,addb_tests_1 |
addb,sv,n %r1,%r4,addb_tests_1 |
addb,od,n %r1,%r4,addb_tests_1 |
|
addb_nullified_tests_2 |
addb,tr,n %r1,%r4,addb_tests_2 |
addb,<>,n %r1,%r4,addb_tests_2 |
addb,>=,n %r1,%r4,addb_tests_2 |
addb,>,n %r1,%r4,addb_tests_2 |
addb,uv,n %r1,%r4,addb_tests_2 |
addb,vnz,n %r1,%r4,addb_tests_2 |
addb,nsv,n %r1,%r4,addb_tests_2 |
addb,ev,n %r1,%r4,addb_tests_2 |
|
addib_tests_1 |
addib -1,%r4,addib_tests_1 |
addib,= -1,%r4,addib_tests_1 |
addib,< -1,%r4,addib_tests_1 |
addib,<= -1,%r4,addib_tests_1 |
addib,nuv -1,%r4,addib_tests_1 |
addib,znv -1,%r4,addib_tests_1 |
addib,sv -1,%r4,addib_tests_1 |
addib,od -1,%r4,addib_tests_1 |
|
addib_tests_2 |
addib,tr -1,%r4,addib_tests_2 |
addib,<> -1,%r4,addib_tests_2 |
addib,>= -1,%r4,addib_tests_2 |
addib,> -1,%r4,addib_tests_2 |
addib,uv -1,%r4,addib_tests_2 |
addib,vnz -1,%r4,addib_tests_2 |
addib,nsv -1,%r4,addib_tests_2 |
addib,ev -1,%r4,addib_tests_2 |
|
addib_nullified_tests_1 |
addib,n -1,%r4,addib_tests_1 |
addib,=,n -1,%r4,addib_tests_1 |
addib,<,n -1,%r4,addib_tests_1 |
addib,<=,n -1,%r4,addib_tests_1 |
addib,nuv,n -1,%r4,addib_tests_1 |
addib,znv,n -1,%r4,addib_tests_1 |
addib,sv,n -1,%r4,addib_tests_1 |
addib,od,n -1,%r4,addib_tests_1 |
|
addib_nullified_tests_2 |
addib,tr,n -1,%r4,addib_tests_2 |
addib,<>,n -1,%r4,addib_tests_2 |
addib,>=,n -1,%r4,addib_tests_2 |
addib,>,n -1,%r4,addib_tests_2 |
addib,uv,n -1,%r4,addib_tests_2 |
addib,vnz,n -1,%r4,addib_tests_2 |
addib,nsv,n -1,%r4,addib_tests_2 |
addib,ev,n -1,%r4,addib_tests_2 |
|
|
; Needs to check lots of stuff (like corner bit cases) |
bb_tests |
bvb,< %r4,bb_tests |
bvb,>= %r4,bb_tests |
bvb,<,n %r4,bb_tests |
bvb,>=,n %r4,bb_tests |
bb,< %r4,5,bb_tests |
bb,>= %r4,5,bb_tests |
bb,<,n %r4,5,bb_tests |
bb,>=,n %r4,5,bb_tests |
|
; Computational instructions |
add_tests |
add %r4,%r5,%r6 |
add,= %r4,%r5,%r6 |
add,< %r4,%r5,%r6 |
add,<= %r4,%r5,%r6 |
add,nuv %r4,%r5,%r6 |
add,znv %r4,%r5,%r6 |
add,sv %r4,%r5,%r6 |
add,od %r4,%r5,%r6 |
add,tr %r4,%r5,%r6 |
add,<> %r4,%r5,%r6 |
add,>= %r4,%r5,%r6 |
add,> %r4,%r5,%r6 |
add,uv %r4,%r5,%r6 |
add,vnz %r4,%r5,%r6 |
add,nsv %r4,%r5,%r6 |
add,ev %r4,%r5,%r6 |
|
addl_tests |
addl %r4,%r5,%r6 |
addl,= %r4,%r5,%r6 |
addl,< %r4,%r5,%r6 |
addl,<= %r4,%r5,%r6 |
addl,nuv %r4,%r5,%r6 |
addl,znv %r4,%r5,%r6 |
addl,sv %r4,%r5,%r6 |
addl,od %r4,%r5,%r6 |
addl,tr %r4,%r5,%r6 |
addl,<> %r4,%r5,%r6 |
addl,>= %r4,%r5,%r6 |
addl,> %r4,%r5,%r6 |
addl,uv %r4,%r5,%r6 |
addl,vnz %r4,%r5,%r6 |
addl,nsv %r4,%r5,%r6 |
addl,ev %r4,%r5,%r6 |
|
addo_tests |
addo %r4,%r5,%r6 |
addo,= %r4,%r5,%r6 |
addo,< %r4,%r5,%r6 |
addo,<= %r4,%r5,%r6 |
addo,nuv %r4,%r5,%r6 |
addo,znv %r4,%r5,%r6 |
addo,sv %r4,%r5,%r6 |
addo,od %r4,%r5,%r6 |
addo,tr %r4,%r5,%r6 |
addo,<> %r4,%r5,%r6 |
addo,>= %r4,%r5,%r6 |
addo,> %r4,%r5,%r6 |
addo,uv %r4,%r5,%r6 |
addo,vnz %r4,%r5,%r6 |
addo,nsv %r4,%r5,%r6 |
addo,ev %r4,%r5,%r6 |
|
addc_tests |
addc %r4,%r5,%r6 |
addc,= %r4,%r5,%r6 |
addc,< %r4,%r5,%r6 |
addc,<= %r4,%r5,%r6 |
addc,nuv %r4,%r5,%r6 |
addc,znv %r4,%r5,%r6 |
addc,sv %r4,%r5,%r6 |
addc,od %r4,%r5,%r6 |
addc,tr %r4,%r5,%r6 |
addc,<> %r4,%r5,%r6 |
addc,>= %r4,%r5,%r6 |
addc,> %r4,%r5,%r6 |
addc,uv %r4,%r5,%r6 |
addc,vnz %r4,%r5,%r6 |
addc,nsv %r4,%r5,%r6 |
addc,ev %r4,%r5,%r6 |
|
addco_tests |
addco %r4,%r5,%r6 |
addco,= %r4,%r5,%r6 |
addco,< %r4,%r5,%r6 |
addco,<= %r4,%r5,%r6 |
addco,nuv %r4,%r5,%r6 |
addco,znv %r4,%r5,%r6 |
addco,sv %r4,%r5,%r6 |
addco,od %r4,%r5,%r6 |
addco,tr %r4,%r5,%r6 |
addco,<> %r4,%r5,%r6 |
addco,>= %r4,%r5,%r6 |
addco,> %r4,%r5,%r6 |
addco,uv %r4,%r5,%r6 |
addco,vnz %r4,%r5,%r6 |
addco,nsv %r4,%r5,%r6 |
addco,ev %r4,%r5,%r6 |
|
sh1add_tests |
sh1add %r4,%r5,%r6 |
sh1add,= %r4,%r5,%r6 |
sh1add,< %r4,%r5,%r6 |
sh1add,<= %r4,%r5,%r6 |
sh1add,nuv %r4,%r5,%r6 |
sh1add,znv %r4,%r5,%r6 |
sh1add,sv %r4,%r5,%r6 |
sh1add,od %r4,%r5,%r6 |
sh1add,tr %r4,%r5,%r6 |
sh1add,<> %r4,%r5,%r6 |
sh1add,>= %r4,%r5,%r6 |
sh1add,> %r4,%r5,%r6 |
sh1add,uv %r4,%r5,%r6 |
sh1add,vnz %r4,%r5,%r6 |
sh1add,nsv %r4,%r5,%r6 |
sh1add,ev %r4,%r5,%r6 |
|
sh1addl_tests |
sh1addl %r4,%r5,%r6 |
sh1addl,= %r4,%r5,%r6 |
sh1addl,< %r4,%r5,%r6 |
sh1addl,<= %r4,%r5,%r6 |
sh1addl,nuv %r4,%r5,%r6 |
sh1addl,znv %r4,%r5,%r6 |
sh1addl,sv %r4,%r5,%r6 |
sh1addl,od %r4,%r5,%r6 |
sh1addl,tr %r4,%r5,%r6 |
sh1addl,<> %r4,%r5,%r6 |
sh1addl,>= %r4,%r5,%r6 |
sh1addl,> %r4,%r5,%r6 |
sh1addl,uv %r4,%r5,%r6 |
sh1addl,vnz %r4,%r5,%r6 |
sh1addl,nsv %r4,%r5,%r6 |
sh1addl,ev %r4,%r5,%r6 |
|
sh1addo_tests |
sh1addo %r4,%r5,%r6 |
sh1addo,= %r4,%r5,%r6 |
sh1addo,< %r4,%r5,%r6 |
sh1addo,<= %r4,%r5,%r6 |
sh1addo,nuv %r4,%r5,%r6 |
sh1addo,znv %r4,%r5,%r6 |
sh1addo,sv %r4,%r5,%r6 |
sh1addo,od %r4,%r5,%r6 |
sh1addo,tr %r4,%r5,%r6 |
sh1addo,<> %r4,%r5,%r6 |
sh1addo,>= %r4,%r5,%r6 |
sh1addo,> %r4,%r5,%r6 |
sh1addo,uv %r4,%r5,%r6 |
sh1addo,vnz %r4,%r5,%r6 |
sh1addo,nsv %r4,%r5,%r6 |
sh1addo,ev %r4,%r5,%r6 |
|
|
sh2add_tests |
sh2add %r4,%r5,%r6 |
sh2add,= %r4,%r5,%r6 |
sh2add,< %r4,%r5,%r6 |
sh2add,<= %r4,%r5,%r6 |
sh2add,nuv %r4,%r5,%r6 |
sh2add,znv %r4,%r5,%r6 |
sh2add,sv %r4,%r5,%r6 |
sh2add,od %r4,%r5,%r6 |
sh2add,tr %r4,%r5,%r6 |
sh2add,<> %r4,%r5,%r6 |
sh2add,>= %r4,%r5,%r6 |
sh2add,> %r4,%r5,%r6 |
sh2add,uv %r4,%r5,%r6 |
sh2add,vnz %r4,%r5,%r6 |
sh2add,nsv %r4,%r5,%r6 |
sh2add,ev %r4,%r5,%r6 |
|
sh2addl_tests |
sh2addl %r4,%r5,%r6 |
sh2addl,= %r4,%r5,%r6 |
sh2addl,< %r4,%r5,%r6 |
sh2addl,<= %r4,%r5,%r6 |
sh2addl,nuv %r4,%r5,%r6 |
sh2addl,znv %r4,%r5,%r6 |
sh2addl,sv %r4,%r5,%r6 |
sh2addl,od %r4,%r5,%r6 |
sh2addl,tr %r4,%r5,%r6 |
sh2addl,<> %r4,%r5,%r6 |
sh2addl,>= %r4,%r5,%r6 |
sh2addl,> %r4,%r5,%r6 |
sh2addl,uv %r4,%r5,%r6 |
sh2addl,vnz %r4,%r5,%r6 |
sh2addl,nsv %r4,%r5,%r6 |
sh2addl,ev %r4,%r5,%r6 |
|
sh2addo_tests |
sh2addo %r4,%r5,%r6 |
sh2addo,= %r4,%r5,%r6 |
sh2addo,< %r4,%r5,%r6 |
sh2addo,<= %r4,%r5,%r6 |
sh2addo,nuv %r4,%r5,%r6 |
sh2addo,znv %r4,%r5,%r6 |
sh2addo,sv %r4,%r5,%r6 |
sh2addo,od %r4,%r5,%r6 |
sh2addo,tr %r4,%r5,%r6 |
sh2addo,<> %r4,%r5,%r6 |
sh2addo,>= %r4,%r5,%r6 |
sh2addo,> %r4,%r5,%r6 |
sh2addo,uv %r4,%r5,%r6 |
sh2addo,vnz %r4,%r5,%r6 |
sh2addo,nsv %r4,%r5,%r6 |
sh2addo,ev %r4,%r5,%r6 |
|
|
sh3add_tests |
sh3add %r4,%r5,%r6 |
sh3add,= %r4,%r5,%r6 |
sh3add,< %r4,%r5,%r6 |
sh3add,<= %r4,%r5,%r6 |
sh3add,nuv %r4,%r5,%r6 |
sh3add,znv %r4,%r5,%r6 |
sh3add,sv %r4,%r5,%r6 |
sh3add,od %r4,%r5,%r6 |
sh3add,tr %r4,%r5,%r6 |
sh3add,<> %r4,%r5,%r6 |
sh3add,>= %r4,%r5,%r6 |
sh3add,> %r4,%r5,%r6 |
sh3add,uv %r4,%r5,%r6 |
sh3add,vnz %r4,%r5,%r6 |
sh3add,nsv %r4,%r5,%r6 |
sh3add,ev %r4,%r5,%r6 |
|
sh3addl_tests |
sh3addl %r4,%r5,%r6 |
sh3addl,= %r4,%r5,%r6 |
sh3addl,< %r4,%r5,%r6 |
sh3addl,<= %r4,%r5,%r6 |
sh3addl,nuv %r4,%r5,%r6 |
sh3addl,znv %r4,%r5,%r6 |
sh3addl,sv %r4,%r5,%r6 |
sh3addl,od %r4,%r5,%r6 |
sh3addl,tr %r4,%r5,%r6 |
sh3addl,<> %r4,%r5,%r6 |
sh3addl,>= %r4,%r5,%r6 |
sh3addl,> %r4,%r5,%r6 |
sh3addl,uv %r4,%r5,%r6 |
sh3addl,vnz %r4,%r5,%r6 |
sh3addl,nsv %r4,%r5,%r6 |
sh3addl,ev %r4,%r5,%r6 |
|
sh3addo_tests |
sh3addo %r4,%r5,%r6 |
sh3addo,= %r4,%r5,%r6 |
sh3addo,< %r4,%r5,%r6 |
sh3addo,<= %r4,%r5,%r6 |
sh3addo,nuv %r4,%r5,%r6 |
sh3addo,znv %r4,%r5,%r6 |
sh3addo,sv %r4,%r5,%r6 |
sh3addo,od %r4,%r5,%r6 |
sh3addo,tr %r4,%r5,%r6 |
sh3addo,<> %r4,%r5,%r6 |
sh3addo,>= %r4,%r5,%r6 |
sh3addo,> %r4,%r5,%r6 |
sh3addo,uv %r4,%r5,%r6 |
sh3addo,vnz %r4,%r5,%r6 |
sh3addo,nsv %r4,%r5,%r6 |
sh3addo,ev %r4,%r5,%r6 |
|
|
sub_tests |
sub %r4,%r5,%r6 |
sub,= %r4,%r5,%r6 |
sub,< %r4,%r5,%r6 |
sub,<= %r4,%r5,%r6 |
sub,<< %r4,%r5,%r6 |
sub,<<= %r4,%r5,%r6 |
sub,sv %r4,%r5,%r6 |
sub,od %r4,%r5,%r6 |
sub,tr %r4,%r5,%r6 |
sub,<> %r4,%r5,%r6 |
sub,>= %r4,%r5,%r6 |
sub,> %r4,%r5,%r6 |
sub,>>= %r4,%r5,%r6 |
sub,>> %r4,%r5,%r6 |
sub,nsv %r4,%r5,%r6 |
sub,ev %r4,%r5,%r6 |
|
subo_tests |
subo %r4,%r5,%r6 |
subo,= %r4,%r5,%r6 |
subo,< %r4,%r5,%r6 |
subo,<= %r4,%r5,%r6 |
subo,<< %r4,%r5,%r6 |
subo,<<= %r4,%r5,%r6 |
subo,sv %r4,%r5,%r6 |
subo,od %r4,%r5,%r6 |
subo,tr %r4,%r5,%r6 |
subo,<> %r4,%r5,%r6 |
subo,>= %r4,%r5,%r6 |
subo,> %r4,%r5,%r6 |
subo,>>= %r4,%r5,%r6 |
subo,>> %r4,%r5,%r6 |
subo,nsv %r4,%r5,%r6 |
subo,ev %r4,%r5,%r6 |
|
subb_tests |
subb %r4,%r5,%r6 |
subb,= %r4,%r5,%r6 |
subb,< %r4,%r5,%r6 |
subb,<= %r4,%r5,%r6 |
subb,<< %r4,%r5,%r6 |
subb,<<= %r4,%r5,%r6 |
subb,sv %r4,%r5,%r6 |
subb,od %r4,%r5,%r6 |
subb,tr %r4,%r5,%r6 |
subb,<> %r4,%r5,%r6 |
subb,>= %r4,%r5,%r6 |
subb,> %r4,%r5,%r6 |
subb,>>= %r4,%r5,%r6 |
subb,>> %r4,%r5,%r6 |
subb,nsv %r4,%r5,%r6 |
subb,ev %r4,%r5,%r6 |
|
subbo_tests |
subbo %r4,%r5,%r6 |
subbo,= %r4,%r5,%r6 |
subbo,< %r4,%r5,%r6 |
subbo,<= %r4,%r5,%r6 |
subbo,<< %r4,%r5,%r6 |
subbo,<<= %r4,%r5,%r6 |
subbo,sv %r4,%r5,%r6 |
subbo,od %r4,%r5,%r6 |
subbo,tr %r4,%r5,%r6 |
subbo,<> %r4,%r5,%r6 |
subbo,>= %r4,%r5,%r6 |
subbo,> %r4,%r5,%r6 |
subbo,>>= %r4,%r5,%r6 |
subbo,>> %r4,%r5,%r6 |
subbo,nsv %r4,%r5,%r6 |
subbo,ev %r4,%r5,%r6 |
|
subt_tests |
subt %r4,%r5,%r6 |
subt,= %r4,%r5,%r6 |
subt,< %r4,%r5,%r6 |
subt,<= %r4,%r5,%r6 |
subt,<< %r4,%r5,%r6 |
subt,<<= %r4,%r5,%r6 |
subt,sv %r4,%r5,%r6 |
subt,od %r4,%r5,%r6 |
subt,tr %r4,%r5,%r6 |
subt,<> %r4,%r5,%r6 |
subt,>= %r4,%r5,%r6 |
subt,> %r4,%r5,%r6 |
subt,>>= %r4,%r5,%r6 |
subt,>> %r4,%r5,%r6 |
subt,nsv %r4,%r5,%r6 |
subt,ev %r4,%r5,%r6 |
|
subto_tests |
subto %r4,%r5,%r6 |
subto,= %r4,%r5,%r6 |
subto,< %r4,%r5,%r6 |
subto,<= %r4,%r5,%r6 |
subto,<< %r4,%r5,%r6 |
subto,<<= %r4,%r5,%r6 |
subto,sv %r4,%r5,%r6 |
subto,od %r4,%r5,%r6 |
subto,tr %r4,%r5,%r6 |
subto,<> %r4,%r5,%r6 |
subto,>= %r4,%r5,%r6 |
subto,> %r4,%r5,%r6 |
subto,>>= %r4,%r5,%r6 |
subto,>> %r4,%r5,%r6 |
subto,nsv %r4,%r5,%r6 |
subto,ev %r4,%r5,%r6 |
|
ds_tests |
ds %r4,%r5,%r6 |
ds,= %r4,%r5,%r6 |
ds,< %r4,%r5,%r6 |
ds,<= %r4,%r5,%r6 |
ds,<< %r4,%r5,%r6 |
ds,<<= %r4,%r5,%r6 |
ds,sv %r4,%r5,%r6 |
ds,od %r4,%r5,%r6 |
ds,tr %r4,%r5,%r6 |
ds,<> %r4,%r5,%r6 |
ds,>= %r4,%r5,%r6 |
ds,> %r4,%r5,%r6 |
ds,>>= %r4,%r5,%r6 |
ds,>> %r4,%r5,%r6 |
ds,nsv %r4,%r5,%r6 |
ds,ev %r4,%r5,%r6 |
|
comclr_tests |
comclr %r4,%r5,%r6 |
comclr,= %r4,%r5,%r6 |
comclr,< %r4,%r5,%r6 |
comclr,<= %r4,%r5,%r6 |
comclr,<< %r4,%r5,%r6 |
comclr,<<= %r4,%r5,%r6 |
comclr,sv %r4,%r5,%r6 |
comclr,od %r4,%r5,%r6 |
comclr,tr %r4,%r5,%r6 |
comclr,<> %r4,%r5,%r6 |
comclr,>= %r4,%r5,%r6 |
comclr,> %r4,%r5,%r6 |
comclr,>>= %r4,%r5,%r6 |
comclr,>> %r4,%r5,%r6 |
comclr,nsv %r4,%r5,%r6 |
comclr,ev %r4,%r5,%r6 |
|
or_tests |
or %r4,%r5,%r6 |
or,= %r4,%r5,%r6 |
or,< %r4,%r5,%r6 |
or,<= %r4,%r5,%r6 |
or,od %r4,%r5,%r6 |
or,tr %r4,%r5,%r6 |
or,<> %r4,%r5,%r6 |
or,>= %r4,%r5,%r6 |
or,> %r4,%r5,%r6 |
or,ev %r4,%r5,%r6 |
xor_tests |
xor %r4,%r5,%r6 |
xor,= %r4,%r5,%r6 |
xor,< %r4,%r5,%r6 |
xor,<= %r4,%r5,%r6 |
xor,od %r4,%r5,%r6 |
xor,tr %r4,%r5,%r6 |
xor,<> %r4,%r5,%r6 |
xor,>= %r4,%r5,%r6 |
xor,> %r4,%r5,%r6 |
xor,ev %r4,%r5,%r6 |
|
and_tests |
and %r4,%r5,%r6 |
and,= %r4,%r5,%r6 |
and,< %r4,%r5,%r6 |
and,<= %r4,%r5,%r6 |
and,od %r4,%r5,%r6 |
and,tr %r4,%r5,%r6 |
and,<> %r4,%r5,%r6 |
and,>= %r4,%r5,%r6 |
and,> %r4,%r5,%r6 |
and,ev %r4,%r5,%r6 |
|
andcm_tests |
andcm %r4,%r5,%r6 |
andcm,= %r4,%r5,%r6 |
andcm,< %r4,%r5,%r6 |
andcm,<= %r4,%r5,%r6 |
andcm,od %r4,%r5,%r6 |
andcm,tr %r4,%r5,%r6 |
andcm,<> %r4,%r5,%r6 |
andcm,>= %r4,%r5,%r6 |
andcm,> %r4,%r5,%r6 |
andcm,ev %r4,%r5,%r6 |
|
|
uxor_tests |
uxor %r4,%r5,%r6 |
uxor,sbz %r4,%r5,%r6 |
uxor,shz %r4,%r5,%r6 |
uxor,sdc %r4,%r5,%r6 |
uxor,sbc %r4,%r5,%r6 |
uxor,shc %r4,%r5,%r6 |
uxor,tr %r4,%r5,%r6 |
uxor,nbz %r4,%r5,%r6 |
uxor,nhz %r4,%r5,%r6 |
uxor,ndc %r4,%r5,%r6 |
uxor,nbc %r4,%r5,%r6 |
uxor,nhc %r4,%r5,%r6 |
|
uaddcm_tests |
uaddcm %r4,%r5,%r6 |
uaddcm,sbz %r4,%r5,%r6 |
uaddcm,shz %r4,%r5,%r6 |
uaddcm,sdc %r4,%r5,%r6 |
uaddcm,sbc %r4,%r5,%r6 |
uaddcm,shc %r4,%r5,%r6 |
uaddcm,tr %r4,%r5,%r6 |
uaddcm,nbz %r4,%r5,%r6 |
uaddcm,nhz %r4,%r5,%r6 |
uaddcm,ndc %r4,%r5,%r6 |
uaddcm,nbc %r4,%r5,%r6 |
uaddcm,nhc %r4,%r5,%r6 |
|
uaddcmt_tests |
uaddcmt %r4,%r5,%r6 |
uaddcmt,sbz %r4,%r5,%r6 |
uaddcmt,shz %r4,%r5,%r6 |
uaddcmt,sdc %r4,%r5,%r6 |
uaddcmt,sbc %r4,%r5,%r6 |
uaddcmt,shc %r4,%r5,%r6 |
uaddcmt,tr %r4,%r5,%r6 |
uaddcmt,nbz %r4,%r5,%r6 |
uaddcmt,nhz %r4,%r5,%r6 |
uaddcmt,ndc %r4,%r5,%r6 |
uaddcmt,nbc %r4,%r5,%r6 |
uaddcmt,nhc %r4,%r5,%r6 |
|
dcor_tests |
dcor %r4,%r5 |
dcor,sbz %r4,%r5 |
dcor,shz %r4,%r5 |
dcor,sdc %r4,%r5 |
dcor,sbc %r4,%r5 |
dcor,shc %r4,%r5 |
dcor,tr %r4,%r5 |
dcor,nbz %r4,%r5 |
dcor,nhz %r4,%r5 |
dcor,ndc %r4,%r5 |
dcor,nbc %r4,%r5 |
dcor,nhc %r4,%r5 |
|
idcor_tests |
idcor %r4,%r5 |
idcor,sbz %r4,%r5 |
idcor,shz %r4,%r5 |
idcor,sdc %r4,%r5 |
idcor,sbc %r4,%r5 |
idcor,shc %r4,%r5 |
idcor,tr %r4,%r5 |
idcor,nbz %r4,%r5 |
idcor,nhz %r4,%r5 |
idcor,ndc %r4,%r5 |
idcor,nbc %r4,%r5 |
idcor,nhc %r4,%r5 |
|
addi_tests |
addi 123,%r5,%r6 |
addi,= 123,%r5,%r6 |
addi,< 123,%r5,%r6 |
addi,<= 123,%r5,%r6 |
addi,nuv 123,%r5,%r6 |
addi,znv 123,%r5,%r6 |
addi,sv 123,%r5,%r6 |
addi,od 123,%r5,%r6 |
addi,tr 123,%r5,%r6 |
addi,<> 123,%r5,%r6 |
addi,>= 123,%r5,%r6 |
addi,> 123,%r5,%r6 |
addi,uv 123,%r5,%r6 |
addi,vnz 123,%r5,%r6 |
addi,nsv 123,%r5,%r6 |
addi,ev 123,%r5,%r6 |
|
addio_tests |
addio 123,%r5,%r6 |
addio,= 123,%r5,%r6 |
addio,< 123,%r5,%r6 |
addio,<= 123,%r5,%r6 |
addio,nuv 123,%r5,%r6 |
addio,znv 123,%r5,%r6 |
addio,sv 123,%r5,%r6 |
addio,od 123,%r5,%r6 |
addio,tr 123,%r5,%r6 |
addio,<> 123,%r5,%r6 |
addio,>= 123,%r5,%r6 |
addio,> 123,%r5,%r6 |
addio,uv 123,%r5,%r6 |
addio,vnz 123,%r5,%r6 |
addio,nsv 123,%r5,%r6 |
addio,ev 123,%r5,%r6 |
|
addit_tests |
addit 123,%r5,%r6 |
addit,= 123,%r5,%r6 |
addit,< 123,%r5,%r6 |
addit,<= 123,%r5,%r6 |
addit,nuv 123,%r5,%r6 |
addit,znv 123,%r5,%r6 |
addit,sv 123,%r5,%r6 |
addit,od 123,%r5,%r6 |
addit,tr 123,%r5,%r6 |
addit,<> 123,%r5,%r6 |
addit,>= 123,%r5,%r6 |
addit,> 123,%r5,%r6 |
addit,uv 123,%r5,%r6 |
addit,vnz 123,%r5,%r6 |
addit,nsv 123,%r5,%r6 |
addit,ev 123,%r5,%r6 |
|
addito_tests |
addito 123,%r5,%r6 |
addito,= 123,%r5,%r6 |
addito,< 123,%r5,%r6 |
addito,<= 123,%r5,%r6 |
addito,nuv 123,%r5,%r6 |
addito,znv 123,%r5,%r6 |
addito,sv 123,%r5,%r6 |
addito,od 123,%r5,%r6 |
addito,tr 123,%r5,%r6 |
addito,<> 123,%r5,%r6 |
addito,>= 123,%r5,%r6 |
addito,> 123,%r5,%r6 |
addito,uv 123,%r5,%r6 |
addito,vnz 123,%r5,%r6 |
addito,nsv 123,%r5,%r6 |
addito,ev 123,%r5,%r6 |
|
subi_tests |
subi 123,%r5,%r6 |
subi,= 123,%r5,%r6 |
subi,< 123,%r5,%r6 |
subi,<= 123,%r5,%r6 |
subi,<< 123,%r5,%r6 |
subi,<<= 123,%r5,%r6 |
subi,sv 123,%r5,%r6 |
subi,od 123,%r5,%r6 |
subi,tr 123,%r5,%r6 |
subi,<> 123,%r5,%r6 |
subi,>= 123,%r5,%r6 |
subi,> 123,%r5,%r6 |
subi,>>= 123,%r5,%r6 |
subi,>> 123,%r5,%r6 |
subi,nsv 123,%r5,%r6 |
subi,ev 123,%r5,%r6 |
|
subio_tests |
subio 123,%r5,%r6 |
subio,= 123,%r5,%r6 |
subio,< 123,%r5,%r6 |
subio,<= 123,%r5,%r6 |
subio,<< 123,%r5,%r6 |
subio,<<= 123,%r5,%r6 |
subio,sv 123,%r5,%r6 |
subio,od 123,%r5,%r6 |
subio,tr 123,%r5,%r6 |
subio,<> 123,%r5,%r6 |
subio,>= 123,%r5,%r6 |
subio,> 123,%r5,%r6 |
subio,>>= 123,%r5,%r6 |
subio,>> 123,%r5,%r6 |
subio,nsv 123,%r5,%r6 |
subio,ev 123,%r5,%r6 |
|
comiclr_tests |
comiclr 123,%r5,%r6 |
comiclr,= 123,%r5,%r6 |
comiclr,< 123,%r5,%r6 |
comiclr,<= 123,%r5,%r6 |
comiclr,<< 123,%r5,%r6 |
comiclr,<<= 123,%r5,%r6 |
comiclr,sv 123,%r5,%r6 |
comiclr,od 123,%r5,%r6 |
comiclr,tr 123,%r5,%r6 |
comiclr,<> 123,%r5,%r6 |
comiclr,>= 123,%r5,%r6 |
comiclr,> 123,%r5,%r6 |
comiclr,>>= 123,%r5,%r6 |
comiclr,>> 123,%r5,%r6 |
comiclr,nsv 123,%r5,%r6 |
comiclr,ev 123,%r5,%r6 |
|
vshd_tests |
vshd %r4,%r5,%r6 |
vshd,= %r4,%r5,%r6 |
vshd,< %r4,%r5,%r6 |
vshd,od %r4,%r5,%r6 |
vshd,tr %r4,%r5,%r6 |
vshd,<> %r4,%r5,%r6 |
vshd,>= %r4,%r5,%r6 |
vshd,ev %r4,%r5,%r6 |
|
shd_tests |
shd %r4,%r5,5,%r6 |
shd,= %r4,%r5,5,%r6 |
shd,< %r4,%r5,5,%r6 |
shd,od %r4,%r5,5,%r6 |
shd,tr %r4,%r5,5,%r6 |
shd,<> %r4,%r5,5,%r6 |
shd,>= %r4,%r5,5,%r6 |
shd,ev %r4,%r5,5,%r6 |
|
extru_tests |
extru %r4,5,10,%r6 |
extru,= %r4,5,10,%r6 |
extru,< %r4,5,10,%r6 |
extru,od %r4,5,10,%r6 |
extru,tr %r4,5,10,%r6 |
extru,<> %r4,5,10,%r6 |
extru,>= %r4,5,10,%r6 |
extru,ev %r4,5,10,%r6 |
|
extrs_tests |
extrs %r4,5,10,%r6 |
extrs,= %r4,5,10,%r6 |
extrs,< %r4,5,10,%r6 |
extrs,od %r4,5,10,%r6 |
extrs,tr %r4,5,10,%r6 |
extrs,<> %r4,5,10,%r6 |
extrs,>= %r4,5,10,%r6 |
extrs,ev %r4,5,10,%r6 |
|
zdep_tests |
zdep %r4,5,10,%r6 |
zdep,= %r4,5,10,%r6 |
zdep,< %r4,5,10,%r6 |
zdep,od %r4,5,10,%r6 |
zdep,tr %r4,5,10,%r6 |
zdep,<> %r4,5,10,%r6 |
zdep,>= %r4,5,10,%r6 |
zdep,ev %r4,5,10,%r6 |
|
dep_tests |
dep %r4,5,10,%r6 |
dep,= %r4,5,10,%r6 |
dep,< %r4,5,10,%r6 |
dep,od %r4,5,10,%r6 |
dep,tr %r4,5,10,%r6 |
dep,<> %r4,5,10,%r6 |
dep,>= %r4,5,10,%r6 |
dep,ev %r4,5,10,%r6 |
|
vextru_tests |
vextru %r4,5,%r6 |
vextru,= %r4,5,%r6 |
vextru,< %r4,5,%r6 |
vextru,od %r4,5,%r6 |
vextru,tr %r4,5,%r6 |
vextru,<> %r4,5,%r6 |
vextru,>= %r4,5,%r6 |
vextru,ev %r4,5,%r6 |
|
vextrs_tests |
vextrs %r4,5,%r6 |
vextrs,= %r4,5,%r6 |
vextrs,< %r4,5,%r6 |
vextrs,od %r4,5,%r6 |
vextrs,tr %r4,5,%r6 |
vextrs,<> %r4,5,%r6 |
vextrs,>= %r4,5,%r6 |
vextrs,ev %r4,5,%r6 |
|
zvdep_tests |
zvdep %r4,5,%r6 |
zvdep,= %r4,5,%r6 |
zvdep,< %r4,5,%r6 |
zvdep,od %r4,5,%r6 |
zvdep,tr %r4,5,%r6 |
zvdep,<> %r4,5,%r6 |
zvdep,>= %r4,5,%r6 |
zvdep,ev %r4,5,%r6 |
|
|
vdep_tests |
vdep %r4,5,%r6 |
vdep,= %r4,5,%r6 |
vdep,< %r4,5,%r6 |
vdep,od %r4,5,%r6 |
vdep,tr %r4,5,%r6 |
vdep,<> %r4,5,%r6 |
vdep,>= %r4,5,%r6 |
vdep,ev %r4,5,%r6 |
|
vdepi_tests |
vdepi -1,5,%r6 |
vdepi,= -1,5,%r6 |
vdepi,< -1,5,%r6 |
vdepi,od -1,5,%r6 |
vdepi,tr -1,5,%r6 |
vdepi,<> -1,5,%r6 |
vdepi,>= -1,5,%r6 |
vdepi,ev -1,5,%r6 |
|
zvdepi_tests |
zvdepi -1,5,%r6 |
zvdepi,= -1,5,%r6 |
zvdepi,< -1,5,%r6 |
zvdepi,od -1,5,%r6 |
zvdepi,tr -1,5,%r6 |
zvdepi,<> -1,5,%r6 |
zvdepi,>= -1,5,%r6 |
zvdepi,ev -1,5,%r6 |
|
depi_tests |
depi -1,4,10,%r6 |
depi,= -1,4,10,%r6 |
depi,< -1,4,10,%r6 |
depi,od -1,4,10,%r6 |
depi,tr -1,4,10,%r6 |
depi,<> -1,4,10,%r6 |
depi,>= -1,4,10,%r6 |
depi,ev -1,4,10,%r6 |
|
zdepi_tests |
zdepi -1,4,10,%r6 |
zdepi,= -1,4,10,%r6 |
zdepi,< -1,4,10,%r6 |
zdepi,od -1,4,10,%r6 |
zdepi,tr -1,4,10,%r6 |
zdepi,<> -1,4,10,%r6 |
zdepi,>= -1,4,10,%r6 |
zdepi,ev -1,4,10,%r6 |
|
|
system_control_tests |
break 5,12 |
rfi |
rfir |
ssm 5,%r4 |
rsm 5,%r4 |
mtsm %r4 |
ldsid (%sr0,%r5),%r4 |
mtsp %r4,%sr0 |
mtctl %r4,%cr10 |
mfsp %sr0,%r4 |
mfctl %cr10,%r4 |
sync |
syncdma |
diag 1234 |
|
probe_tests |
prober (%sr0,%r5),%r6,%r7 |
proberi (%sr0,%r5),1,%r7 |
probew (%sr0,%r5),%r6,%r7 |
probewi (%sr0,%r5),1,%r7 |
|
lpa_tests |
lpa %r4(%sr0,%r5),%r6 |
lpa,m %r4(%sr0,%r5),%r6 |
lha %r4(%sr0,%r5),%r6 |
lha,m %r4(%sr0,%r5),%r6 |
lci %r4(%sr0,%r5),%r6 |
|
purge_tests |
pdtlb %r4(%sr0,%r5) |
pdtlb,m %r4(%sr0,%r5) |
pitlb %r4(%sr0,%r5) |
pitlb,m %r4(%sr0,%r5) |
pdtlbe %r4(%sr0,%r5) |
pdtlbe,m %r4(%sr0,%r5) |
pitlbe %r4(%sr0,%r5) |
pitlbe,m %r4(%sr0,%r5) |
pdc %r4(%sr0,%r5) |
pdc,m %r4(%sr0,%r5) |
fdc %r4(%sr0,%r5) |
fdc,m %r4(%sr0,%r5) |
fic %r4(%sr0,%r5) |
fic,m %r4(%sr0,%r5) |
fdce %r4(%sr0,%r5) |
fdce,m %r4(%sr0,%r5) |
fice %r4(%sr0,%r5) |
fice,m %r4(%sr0,%r5) |
|
insert_tests |
idtlba %r4,(%sr0,%r5) |
iitlba %r4,(%sr0,%r5) |
idtlbp %r4,(%sr0,%r5) |
iitlbp %r4,(%sr0,%r5) |
|
fpu_misc_tests |
ftest |
|
fpu_memory_indexing_tests |
fldwx %r4(%sr0,%r5),%fr6 |
fldwx,s %r4(%sr0,%r5),%fr6 |
fldwx,m %r4(%sr0,%r5),%fr6 |
fldwx,sm %r4(%sr0,%r5),%fr6 |
flddx %r4(%sr0,%r5),%fr6 |
flddx,s %r4(%sr0,%r5),%fr6 |
flddx,m %r4(%sr0,%r5),%fr6 |
flddx,sm %r4(%sr0,%r5),%fr6 |
fstwx %fr6,%r4(%sr0,%r5) |
fstwx,s %fr6,%r4(%sr0,%r5) |
fstwx,m %fr6,%r4(%sr0,%r5) |
fstwx,sm %fr6,%r4(%sr0,%r5) |
fstdx %fr6,%r4(%sr0,%r5) |
fstdx,s %fr6,%r4(%sr0,%r5) |
fstdx,m %fr6,%r4(%sr0,%r5) |
fstdx,sm %fr6,%r4(%sr0,%r5) |
fstqx %fr6,%r4(%sr0,%r5) |
fstqx,s %fr6,%r4(%sr0,%r5) |
fstqx,m %fr6,%r4(%sr0,%r5) |
fstqx,sm %fr6,%r4(%sr0,%r5) |
|
fpu_short_memory_tests |
fldws 0(%sr0,%r5),%fr6 |
fldws,mb 0(%sr0,%r5),%fr6 |
fldws,ma 0(%sr0,%r5),%fr6 |
fldds 0(%sr0,%r5),%fr6 |
fldds,mb 0(%sr0,%r5),%fr6 |
fldds,ma 0(%sr0,%r5),%fr6 |
fstws %fr6,0(%sr0,%r5) |
fstws,mb %fr6,0(%sr0,%r5) |
fstws,ma %fr6,0(%sr0,%r5) |
fstds %fr6,0(%sr0,%r5) |
fstds,mb %fr6,0(%sr0,%r5) |
fstds,ma %fr6,0(%sr0,%r5) |
fstqs %fr6,0(%sr0,%r5) |
fstqs,mb %fr6,0(%sr0,%r5) |
fstqs,ma %fr6,0(%sr0,%r5) |
|
|
fcpy_tests |
fcpy,sgl %fr5,%fr10 |
fcpy,dbl %fr5,%fr10 |
fcpy,quad %fr5,%fr10 |
fcpy,sgl %fr20,%fr24 |
fcpy,dbl %fr20,%fr24 |
|
fabs_tests |
fabs,sgl %fr5,%fr10 |
fabs,dbl %fr5,%fr10 |
fabs,quad %fr5,%fr10 |
fabs,sgl %fr20,%fr24 |
fabs,dbl %fr20,%fr24 |
|
fsqrt_tests |
fsqrt,sgl %fr5,%fr10 |
fsqrt,dbl %fr5,%fr10 |
fsqrt,quad %fr5,%fr10 |
fsqrt,sgl %fr20,%fr24 |
fsqrt,dbl %fr20,%fr24 |
|
frnd_tests |
frnd,sgl %fr5,%fr10 |
frnd,dbl %fr5,%fr10 |
frnd,quad %fr5,%fr10 |
frnd,sgl %fr20,%fr24 |
frnd,dbl %fr20,%fr24 |
|
fcnvff_tests |
fcnvff,sgl,sgl %fr5,%fr10 |
fcnvff,sgl,dbl %fr5,%fr10 |
fcnvff,sgl,quad %fr5,%fr10 |
fcnvff,dbl,sgl %fr5,%fr10 |
fcnvff,dbl,dbl %fr5,%fr10 |
fcnvff,dbl,quad %fr5,%fr10 |
fcnvff,quad,sgl %fr5,%fr10 |
fcnvff,quad,dbl %fr5,%fr10 |
fcnvff,quad,quad %fr5,%fr10 |
fcnvff,sgl,sgl %fr20,%fr24 |
fcnvff,sgl,dbl %fr20,%fr24 |
fcnvff,sgl,quad %fr20,%fr24 |
fcnvff,dbl,sgl %fr20,%fr24 |
fcnvff,dbl,dbl %fr20,%fr24 |
fcnvff,dbl,quad %fr20,%fr24 |
fcnvff,quad,sgl %fr20,%fr24 |
fcnvff,quad,dbl %fr20,%fr24 |
fcnvff,quad,quad %fr20,%fr24 |
|
fcnvxf_tests |
fcnvxf,sgl,sgl %fr5,%fr10 |
fcnvxf,sgl,dbl %fr5,%fr10 |
fcnvxf,sgl,quad %fr5,%fr10 |
fcnvxf,dbl,sgl %fr5,%fr10 |
fcnvxf,dbl,dbl %fr5,%fr10 |
fcnvxf,dbl,quad %fr5,%fr10 |
fcnvxf,quad,sgl %fr5,%fr10 |
fcnvxf,quad,dbl %fr5,%fr10 |
fcnvxf,quad,quad %fr5,%fr10 |
fcnvxf,sgl,sgl %fr20,%fr24 |
fcnvxf,sgl,dbl %fr20,%fr24 |
fcnvxf,sgl,quad %fr20,%fr24 |
fcnvxf,dbl,sgl %fr20,%fr24 |
fcnvxf,dbl,dbl %fr20,%fr24 |
fcnvxf,dbl,quad %fr20,%fr24 |
fcnvxf,quad,sgl %fr20,%fr24 |
fcnvxf,quad,dbl %fr20,%fr24 |
fcnvxf,quad,quad %fr20,%fr24 |
|
fcnvfx_tests |
fcnvfx,sgl,sgl %fr5,%fr10 |
fcnvfx,sgl,dbl %fr5,%fr10 |
fcnvfx,sgl,quad %fr5,%fr10 |
fcnvfx,dbl,sgl %fr5,%fr10 |
fcnvfx,dbl,dbl %fr5,%fr10 |
fcnvfx,dbl,quad %fr5,%fr10 |
fcnvfx,quad,sgl %fr5,%fr10 |
fcnvfx,quad,dbl %fr5,%fr10 |
fcnvfx,quad,quad %fr5,%fr10 |
fcnvfx,sgl,sgl %fr20,%fr24 |
fcnvfx,sgl,dbl %fr20,%fr24 |
fcnvfx,sgl,quad %fr20,%fr24 |
fcnvfx,dbl,sgl %fr20,%fr24 |
fcnvfx,dbl,dbl %fr20,%fr24 |
fcnvfx,dbl,quad %fr20,%fr24 |
fcnvfx,quad,sgl %fr20,%fr24 |
fcnvfx,quad,dbl %fr20,%fr24 |
fcnvfx,quad,quad %fr20,%fr24 |
|
fcnvfxt_tests |
fcnvfxt,sgl,sgl %fr5,%fr10 |
fcnvfxt,sgl,dbl %fr5,%fr10 |
fcnvfxt,sgl,quad %fr5,%fr10 |
fcnvfxt,dbl,sgl %fr5,%fr10 |
fcnvfxt,dbl,dbl %fr5,%fr10 |
fcnvfxt,dbl,quad %fr5,%fr10 |
fcnvfxt,quad,sgl %fr5,%fr10 |
fcnvfxt,quad,dbl %fr5,%fr10 |
fcnvfxt,quad,quad %fr5,%fr10 |
fcnvfxt,sgl,sgl %fr20,%fr24 |
fcnvfxt,sgl,dbl %fr20,%fr24 |
fcnvfxt,sgl,quad %fr20,%fr24 |
fcnvfxt,dbl,sgl %fr20,%fr24 |
fcnvfxt,dbl,dbl %fr20,%fr24 |
fcnvfxt,dbl,quad %fr20,%fr24 |
fcnvfxt,quad,sgl %fr20,%fr24 |
fcnvfxt,quad,dbl %fr20,%fr24 |
fcnvfxt,quad,quad %fr20,%fr24 |
|
fadd_tests |
fadd,sgl %fr4,%fr8,%fr12 |
fadd,dbl %fr4,%fr8,%fr12 |
fadd,quad %fr4,%fr8,%fr12 |
fadd,sgl %fr20,%fr24,%fr28 |
fadd,dbl %fr20,%fr24,%fr28 |
fadd,quad %fr20,%fr24,%fr28 |
|
fsub_tests |
fsub,sgl %fr4,%fr8,%fr12 |
fsub,dbl %fr4,%fr8,%fr12 |
fsub,quad %fr4,%fr8,%fr12 |
fsub,sgl %fr20,%fr24,%fr28 |
fsub,dbl %fr20,%fr24,%fr28 |
fsub,quad %fr20,%fr24,%fr28 |
|
fmpy_tests |
fmpy,sgl %fr4,%fr8,%fr12 |
fmpy,dbl %fr4,%fr8,%fr12 |
fmpy,quad %fr4,%fr8,%fr12 |
fmpy,sgl %fr20,%fr24,%fr28 |
fmpy,dbl %fr20,%fr24,%fr28 |
fmpy,quad %fr20,%fr24,%fr28 |
|
fdiv_tests |
fdiv,sgl %fr4,%fr8,%fr12 |
fdiv,dbl %fr4,%fr8,%fr12 |
fdiv,quad %fr4,%fr8,%fr12 |
fdiv,sgl %fr20,%fr24,%fr28 |
fdiv,dbl %fr20,%fr24,%fr28 |
fdiv,quad %fr20,%fr24,%fr28 |
|
frem_tests |
frem,sgl %fr4,%fr8,%fr12 |
frem,dbl %fr4,%fr8,%fr12 |
frem,quad %fr4,%fr8,%fr12 |
frem,sgl %fr20,%fr24,%fr28 |
frem,dbl %fr20,%fr24,%fr28 |
frem,quad %fr20,%fr24,%fr28 |
|
fcmp_sgl_tests_1 |
fcmp,sgl,false? %fr4,%fr5 |
fcmp,sgl,false %fr4,%fr5 |
fcmp,sgl,? %fr4,%fr5 |
fcmp,sgl,!<=> %fr4,%fr5 |
fcmp,sgl,= %fr4,%fr5 |
fcmp,sgl,=T %fr4,%fr5 |
fcmp,sgl,?= %fr4,%fr5 |
fcmp,sgl,!<> %fr4,%fr5 |
fcmp_sgl_tests_2 |
fcmp,sgl,!?>= %fr4,%fr5 |
fcmp,sgl,< %fr4,%fr5 |
fcmp,sgl,?< %fr4,%fr5 |
fcmp,sgl,!>= %fr4,%fr5 |
fcmp,sgl,!?> %fr4,%fr5 |
fcmp,sgl,<= %fr4,%fr5 |
fcmp,sgl,?<= %fr4,%fr5 |
fcmp,sgl,!> %fr4,%fr5 |
fcmp_sgl_tests_3 |
fcmp,sgl,!?<= %fr4,%fr5 |
fcmp,sgl,> %fr4,%fr5 |
fcmp,sgl,?> %fr4,%fr5 |
fcmp,sgl,!<= %fr4,%fr5 |
fcmp,sgl,!?< %fr4,%fr5 |
fcmp,sgl,>= %fr4,%fr5 |
fcmp,sgl,?>= %fr4,%fr5 |
fcmp,sgl,!< %fr4,%fr5 |
fcmp_sgl_tests_4 |
fcmp,sgl,!?= %fr4,%fr5 |
fcmp,sgl,<> %fr4,%fr5 |
fcmp,sgl,!= %fr4,%fr5 |
fcmp,sgl,!=T %fr4,%fr5 |
fcmp,sgl,!? %fr4,%fr5 |
fcmp,sgl,<=> %fr4,%fr5 |
fcmp,sgl,true? %fr4,%fr5 |
fcmp,sgl,true %fr4,%fr5 |
|
fcmp_dbl_tests_1 |
fcmp,dbl,false? %fr4,%fr5 |
fcmp,dbl,false %fr4,%fr5 |
fcmp,dbl,? %fr4,%fr5 |
fcmp,dbl,!<=> %fr4,%fr5 |
fcmp,dbl,= %fr4,%fr5 |
fcmp,dbl,=T %fr4,%fr5 |
fcmp,dbl,?= %fr4,%fr5 |
fcmp,dbl,!<> %fr4,%fr5 |
fcmp_dbl_tests_2 |
fcmp,dbl,!?>= %fr4,%fr5 |
fcmp,dbl,< %fr4,%fr5 |
fcmp,dbl,?< %fr4,%fr5 |
fcmp,dbl,!>= %fr4,%fr5 |
fcmp,dbl,!?> %fr4,%fr5 |
fcmp,dbl,<= %fr4,%fr5 |
fcmp,dbl,?<= %fr4,%fr5 |
fcmp,dbl,!> %fr4,%fr5 |
fcmp_dbl_tests_3 |
fcmp,dbl,!?<= %fr4,%fr5 |
fcmp,dbl,> %fr4,%fr5 |
fcmp,dbl,?> %fr4,%fr5 |
fcmp,dbl,!<= %fr4,%fr5 |
fcmp,dbl,!?< %fr4,%fr5 |
fcmp,dbl,>= %fr4,%fr5 |
fcmp,dbl,?>= %fr4,%fr5 |
fcmp,dbl,!< %fr4,%fr5 |
fcmp_dbl_tests_4 |
fcmp,dbl,!?= %fr4,%fr5 |
fcmp,dbl,<> %fr4,%fr5 |
fcmp,dbl,!= %fr4,%fr5 |
fcmp,dbl,!=T %fr4,%fr5 |
fcmp,dbl,!? %fr4,%fr5 |
fcmp,dbl,<=> %fr4,%fr5 |
fcmp,dbl,true? %fr4,%fr5 |
fcmp,dbl,true %fr4,%fr5 |
|
fcmp_quad_tests_1 |
fcmp,quad,false? %fr4,%fr5 |
fcmp,quad,false %fr4,%fr5 |
fcmp,quad,? %fr4,%fr5 |
fcmp,quad,!<=> %fr4,%fr5 |
fcmp,quad,= %fr4,%fr5 |
fcmp,quad,=T %fr4,%fr5 |
fcmp,quad,?= %fr4,%fr5 |
fcmp,quad,!<> %fr4,%fr5 |
fcmp_quad_tests_2 |
fcmp,quad,!?>= %fr4,%fr5 |
fcmp,quad,< %fr4,%fr5 |
fcmp,quad,?< %fr4,%fr5 |
fcmp,quad,!>= %fr4,%fr5 |
fcmp,quad,!?> %fr4,%fr5 |
fcmp,quad,<= %fr4,%fr5 |
fcmp,quad,?<= %fr4,%fr5 |
fcmp,quad,!> %fr4,%fr5 |
fcmp_quad_tests_3 |
fcmp,quad,!?<= %fr4,%fr5 |
fcmp,quad,> %fr4,%fr5 |
fcmp,quad,?> %fr4,%fr5 |
fcmp,quad,!<= %fr4,%fr5 |
fcmp,quad,!?< %fr4,%fr5 |
fcmp,quad,>= %fr4,%fr5 |
fcmp,quad,?>= %fr4,%fr5 |
fcmp,quad,!< %fr4,%fr5 |
fcmp_quad_tests_4 |
fcmp,quad,!?= %fr4,%fr5 |
fcmp,quad,<> %fr4,%fr5 |
fcmp,quad,!= %fr4,%fr5 |
fcmp,quad,!=T %fr4,%fr5 |
fcmp,quad,!? %fr4,%fr5 |
fcmp,quad,<=> %fr4,%fr5 |
fcmp,quad,true? %fr4,%fr5 |
fcmp,quad,true %fr4,%fr5 |
|
fmpy_addsub_tests |
fmpyadd,sgl %fr16,%fr17,%fr18,%fr19,%fr20 |
fmpyadd,dbl %fr16,%fr17,%fr18,%fr19,%fr20 |
fmpysub,sgl %fr16,%fr17,%fr18,%fr19,%fr20 |
fmpysub,dbl %fr16,%fr17,%fr18,%fr19,%fr20 |
|
xmpyu_tests |
xmpyu %fr4,%fr5,%fr6 |
|
special_tests |
gfw %r4(%sr0,%r5) |
gfw,m %r4(%sr0,%r5) |
gfr %r4(%sr0,%r5) |
gfr,m %r4(%sr0,%r5) |
|
sfu_tests |
spop0,4,5 |
spop0,4,115 |
spop0,4,5,n |
spop0,4,115,n |
spop1,4,5 5 |
spop1,4,115 5 |
spop1,4,5,n 5 |
spop1,4,115,n 5 |
spop2,4,5 5 |
spop2,4,115 5 |
spop2,4,5,n 5 |
spop2,4,115,n 5 |
spop3,4,5 5,6 |
spop3,4,115 5,6 |
spop3,4,5,n 5,6 |
spop3,4,115,n 5,6 |
|
copr_tests |
copr,4,5 |
copr,4,115 |
copr,4,5,n |
copr,4,115,n |
|
copr_indexing_load |
cldwx,4 5(0,4),26 |
cldwx,4,s 5(0,4),26 |
cldwx,4,m 5(0,4),26 |
cldwx,4,sm 5(0,4),26 |
clddx,4 5(0,4),26 |
clddx,4,s 5(0,4),26 |
clddx,4,m 5(0,4),26 |
clddx,4,sm 5(0,4),26 |
|
copr_indexing_store |
cstwx,4 26,5(0,4) |
cstwx,4,s 26,5(0,4) |
cstwx,4,m 26,5(0,4) |
cstwx,4,sm 26,5(0,4) |
cstdx,4 26,5(0,4) |
cstdx,4,s 26,5(0,4) |
cstdx,4,m 26,5(0,4) |
cstdx,4,sm 26,5(0,4) |
|
copr_short_memory |
cldws,4 0(0,4),26 |
cldws,4,mb 0(0,4),26 |
cldws,4,ma 0(0,4),26 |
cldds,4 0(0,4),26 |
cldds,4,mb 0(0,4),26 |
cldds,4,ma 0(0,4),26 |
cstws,4 26,0(0,4) |
cstws,4,mb 26,0(0,4) |
cstws,4,ma 26,0(0,4) |
cstds,4 26,0(0,4) |
cstds,4,mb 26,0(0,4) |
cstds,4,ma 26,0(0,4) |
|
fmemLRbug_tests_1 |
fstws %fr6R,0(%r26) |
fstws %fr6L,4(%r26) |
fstws %fr6,8(%r26) |
fstds %fr6R,0(%r26) |
fstds %fr6L,4(%r26) |
fstds %fr6,8(%r26) |
fldws 0(%r26),%fr6R |
fldws 4(%r26),%fr6L |
fldws 8(%r26),%fr6 |
fldds 0(%r26),%fr6R |
fldds 4(%r26),%fr6L |
fldds 8(%r26),%fr6 |
|
fmemLRbug_tests_2 |
fstws %fr6R,0(%sr0,%r26) |
fstws %fr6L,4(%sr0,%r26) |
fstws %fr6,8(%sr0,%r26) |
fstds %fr6R,0(%sr0,%r26) |
fstds %fr6L,4(%sr0,%r26) |
fstds %fr6,8(%sr0,%r26) |
fldws 0(%sr0,%r26),%fr6R |
fldws 4(%sr0,%r26),%fr6L |
fldws 8(%sr0,%r26),%fr6 |
fldds 0(%sr0,%r26),%fr6R |
fldds 4(%sr0,%r26),%fr6L |
fldds 8(%sr0,%r26),%fr6 |
|
fmemLRbug_tests_3 |
fstwx %fr6R,%r25(%r26) |
fstwx %fr6L,%r25(%r26) |
fstwx %fr6,%r25(%r26) |
fstdx %fr6R,%r25(%r26) |
fstdx %fr6L,%r25(%r26) |
fstdx %fr6,%r25(%r26) |
fldwx %r25(%r26),%fr6R |
fldwx %r25(%r26),%fr6L |
fldwx %r25(%r26),%fr6 |
flddx %r25(%r26),%fr6R |
flddx %r25(%r26),%fr6L |
flddx %r25(%r26),%fr6 |
|
fmemLRbug_tests_4 |
fstwx %fr6R,%r25(%sr0,%r26) |
fstwx %fr6L,%r25(%sr0,%r26) |
fstwx %fr6,%r25(%sr0,%r26) |
fstdx %fr6R,%r25(%sr0,%r26) |
fstdx %fr6L,%r25(%sr0,%r26) |
fstdx %fr6,%r25(%sr0,%r26) |
fldwx %r25(%sr0,%r26),%fr6R |
fldwx %r25(%sr0,%r26),%fr6L |
fldwx %r25(%sr0,%r26),%fr6 |
flddx %r25(%sr0,%r26),%fr6R |
flddx %r25(%sr0,%r26),%fr6L |
flddx %r25(%sr0,%r26),%fr6 |
|
ldw 0(0,%r4),%r26 |
ldw 0(0,%r4),%r26 |
ldo 64(%r4),%r30 |
ldwm -64(0,%r30),%r4 |
bv,n 0(%r2) |
.EXIT |
.PROCEND |
/am33.exp
0,0 → 1,838
|
# Copyright (C) 1997 Free Software Foundation, Inc. |
|
# 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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
|
# Please email any bugs, comments, and/or additions to this file to: |
# bug-gdb@prep.ai.mit.edu |
|
# This file was written by Jeff Law. (law@cygnus.com) |
|
if $tracelevel then { |
strace $tracelevel |
} |
|
if ![istarget "mn10300*-*-*"] { |
verbose "Tests ignored for all but mn10300 based targets." |
return |
} |
|
global exec_output |
set prms_id 0 |
set bug_id 0 |
|
set testfile "am33" |
set srcfile ${srcdir}/${subdir}/${testfile}.s |
set binfile ${objdir}/${subdir}/${testfile} |
if { [gdb_compile "${srcfile}" "${binfile}" object ""] != "" } { |
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." |
} |
|
proc call_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/8i call_tests\n" |
gdb_expect { |
-re " |
.*call .*,.a2,a3,exreg0.,9.* |
.*call .*,.a2,a3,exreg1.,9.* |
.*call .*,.a2,a3,exother.,9.* |
.*call .*,.d2,d3,a2,a3,other,exreg0,exreg1,exother.,9.* |
.*call .*,.a2,a3,exreg0.,9.* |
.*call .*,.a2,a3,exreg1.,9.* |
.*call .*,.a2,a3,exother.,9.* |
.*call .*,.d2,d3,a2,a3,other,exreg0,exreg1,exother.,9.* |
.*$gdb_prompt $" { pass "call tests" } |
-re "$gdb_prompt $" { fail "call tests" } |
timeout { fail "(timeout) call tests" } |
} |
} |
|
proc movm_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/16i movm_tests\n" |
gdb_expect { |
-re " |
.*movm \\(sp\\),.a2,a3,exreg0.* |
.*movm \\(sp\\),.a2,a3,exreg1.* |
.*movm \\(sp\\),.a2,a3,exother.* |
.*movm \\(sp\\),.d2,d3,a2,a3,other,exreg0,exreg1,exother.* |
.*movm .a2,a3,exreg0.,\\(sp\\).* |
.*movm .a2,a3,exreg1.,\\(sp\\).* |
.*movm .a2,a3,exother.,\\(sp\\).* |
.*movm .d2,d3,a2,a3,other,exreg0,exreg1,exother.,\\(sp\\).* |
.*movm \\(usp\\),.a2,a3,exreg0.* |
.*movm \\(usp\\),.a2,a3,exreg1.* |
.*movm \\(usp\\),.a2,a3,exother.* |
.*movm \\(usp\\),.d2,d3,a2,a3,other,exreg0,exreg1,exother.* |
.*movm .a2,a3,exreg0.,\\(usp\\).* |
.*movm .a2,a3,exreg1.,\\(usp\\).* |
.*movm .a2,a3,exother.,\\(usp\\).* |
.*movm .d2,d3,a2,a3,other,exreg0,exreg1,exother.,\\(usp\\).* |
.*$gdb_prompt $" { pass "movm tests" } |
-re "$gdb_prompt $" { fail "movm tests" } |
timeout { fail "(timeout) movm tests" } |
} |
} |
|
proc misc_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/11i misc_tests\n" |
gdb_expect { |
-re " |
.*syscall 4.* |
.*mcst9 d0.* |
.*mcst48 d1.* |
.*getchx d0.* |
.*getclx d1.* |
.*clr a1.* |
.*sat16 a1,a0.* |
.*mcste r7,r6.* |
.*swap r5,r4.* |
.*swaph r3,r2.* |
.*swhw r1,r0.* |
.*$gdb_prompt $" { pass "misc tests" } |
-re "$gdb_prompt $" { fail "misc tests" } |
timeout { fail "(timeout) misc tests" } |
} |
} |
|
proc mov_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/45i mov_tests\n" |
gdb_expect { |
-re " |
.*mov r0,r1.* |
.*mov sp,r1.* |
.*mov r1,xr2.* |
.*mov \\(r1\\),r2.* |
.*mov r3,\\(r4\\).* |
.*mov \\(sp\\),r5.* |
.*mov r6,\\(sp\\).* |
.*mov 16,r1.* |
.*mov 16,xr1.* |
.*mov \\(16,r1\\),r2.* |
.*mov r2,\\(16,r1\\).* |
.*mov \\(16,sp\\),r2.* |
.*mov r2,\\(16,sp\\).* |
.*mov 2096895,r2.* |
.*mov 2096895,xr2.* |
.*mov \\(2096895,r1\\),r2.* |
.*mov r2,\\(2096895,r1\\).* |
.*mov \\(2096895,sp\\),r2.* |
.*mov r2,\\(2096895,sp\\).* |
.*mov \\(0x1ffeff\\),r2.* |
.*mov r2,\\(0x1ffeff\\).* |
.*mov 2147417596,r2.* |
.*mov 2147417596,xr2.* |
.*mov \\(2147417596,r1\\),r2.* |
.*mov r2,\\(2147417596,r1\\).* |
.*mov \\(2147417596,sp\\),r2.* |
.*mov r2,\\(2147417596,sp\\).* |
.*mov \\(0x7ffefdfc\\),r2.* |
.*mov r2,\\(0x7ffefdfc\\).* |
.*movu 16,r1.* |
.*movu 2096895,r2.* |
.*movu 2147417596,r2.* |
.*mov usp,a0.* |
.*mov ssp,a1.* |
.*mov msp,a2.* |
.*mov pc,a3.* |
.*mov a0,usp.* |
.*mov a1,ssp.* |
.*mov a2,msp.* |
.*mov epsw,d0.* |
.*mov d1,epsw.* |
.*mov a0,r1.* |
.*mov d2,r3.* |
.*mov r5,a1.* |
.*mov r7,d3.* |
.*$gdb_prompt $" { pass "mov tests" } |
-re "$gdb_prompt $" { fail "mov tests" } |
timeout { fail "(timeout) mov tests" } |
} |
} |
|
proc ext_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/5i ext_tests\n" |
gdb_expect { |
-re " |
.*ext r2.* |
.*extb r3,r4.* |
.*extbu r4,r5.* |
.*exth r6,r7.* |
.*exthu r7,a0.* |
.*$gdb_prompt $" { pass "ext tests" } |
-re "$gdb_prompt $" { fail "ext tests" } |
timeout { fail "(timeout) ext tests" } |
} |
} |
|
proc add_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/11i add_tests\n" |
gdb_expect { |
-re " |
.*add a2,a3.* |
.*add 16,r1.* |
.*add 2096895,r2.* |
.*add 2147417596,r2.* |
.*add r1,r2,r3.* |
.*addc d0,d1.* |
.*addc 16,r1.* |
.*addc 2096895,r2.* |
.*addc 2147417596,r2.* |
.*inc d1.* |
.*inc4 d0.* |
.*$gdb_prompt $" { pass "add tests" } |
-re "$gdb_prompt $" { fail "add tests" } |
timeout { fail "(timeout) add tests" } |
} |
} |
|
proc sub_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/8i sub_tests\n" |
gdb_expect { |
-re " |
.*sub d2,d3.* |
.*sub 16,r1.* |
.*sub 2096895,r2.* |
.*sub 2147417596,r2.* |
.*subc d3,d2.* |
.*subc 16,r1.* |
.*subc 2096895,r2.* |
.*subc 2147417596,r2.* |
.*$gdb_prompt $" { pass "sub tests" } |
-re "$gdb_prompt $" { fail "sub tests" } |
timeout { fail "(timeout) sub tests" } |
} |
} |
|
proc cmp_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/4i cmp_tests\n" |
gdb_expect { |
-re " |
.*cmp a3,a2.* |
.*cmp 16,r1.* |
.*cmp 2096895,r2.* |
.*cmp 2147417596,r2.* |
.*$gdb_prompt $" { pass "cmp tests" } |
-re "$gdb_prompt $" { fail "cmp tests" } |
timeout { fail "(timeout) cmp tests" } |
} |
} |
|
proc logical_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/15i logical_tests\n" |
gdb_expect { |
-re " |
.*and r0,r1.* |
.*or r2,r3.* |
.*xor r4,r5.* |
.*not r6.* |
.*and 16,r1.* |
.*or 16,r1.* |
.*xor 16,r1.* |
.*and 2096895,r2.* |
.*or 2096895,r2.* |
.*xor 2096895,r2.* |
.*and 2147417596,r2.* |
.*or 2147417596,r2.* |
.*xor 2147417596,r2.* |
.*and 131072,epsw.* |
.*or 65535,epsw.* |
.*$gdb_prompt $" { pass "logical tests" } |
-re "$gdb_prompt $" { fail "logical tests" } |
timeout { fail "(timeout) logical tests" } |
} |
} |
|
proc shift_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/15i shift_tests\n" |
gdb_expect { |
-re " |
.*asr r7,a0.* |
.*lsr a1,a2.* |
.*asl a3,d0.* |
.*asl2 d1.* |
.*ror d2.* |
.*rol d3.* |
.*asr 16,r1.* |
.*lsr 16,r1.* |
.*asl 16,r1.* |
.*asr 2096895,r2.* |
.*lsr 2096895,r2.* |
.*asl 2096895,r2.* |
.*asr 2147417596,r2.* |
.*lsr 2147417596,r2.* |
.*asl 2147417596,r2.* |
.*$gdb_prompt $" { pass "shift tests" } |
-re "$gdb_prompt $" { fail "shift tests" } |
timeout { fail "(timeout) shift tests" } |
} |
} |
|
proc muldiv_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/16i muldiv_tests\n" |
gdb_expect { |
-re " |
.*mul r1,r2.* |
.*mulu r3,r4.* |
.*mul 16,r1.* |
.*mulu 16,r1.* |
.*mul 2096895,r2.* |
.*mulu 2096895,r2.* |
.*mul 2147417596,r2.* |
.*mulu 2147417596,r2.* |
.*div r5,r6.* |
.*divu r7,a0.* |
.*dmulh d1,d0.* |
.*dmulhu a3,a2.* |
.*dmulh 2147417596,r2.* |
.*dmulhu 2147417596,r2.* |
.*mul r1,r2,r3,r4.* |
.*mulu r1,r2,r3,r4.* |
.*$gdb_prompt $" { pass "muldiv tests" } |
-re "$gdb_prompt $" { fail "muldiv tests" } |
timeout { fail "(timeout) muldiv tests" } |
} |
} |
|
proc movbu_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/20i movbu_tests\n" |
gdb_expect { |
-re " |
.*movbu \\(r5\\),r6.* |
.*movbu r7,\\(a0\\).* |
.*movbu \\(sp\\),r7.* |
.*movbu a0,\\(sp\\).* |
.*movbu \\(16,r1\\),r2.* |
.*movbu r2,\\(16,r1\\).* |
.*movbu \\(16,sp\\),r2.* |
.*movbu r2,\\(16,sp\\).* |
.*movbu \\(2096895,r1\\),r2.* |
.*movbu r2,\\(2096895,r1\\).* |
.*movbu \\(2096895,sp\\),r2.* |
.*movbu r2,\\(2096895,sp\\).* |
.*movbu \\(0x1ffeff\\),r2.* |
.*movbu r2,\\(0x1ffeff\\).* |
.*movbu \\(2147417596,r1\\),r2.* |
.*movbu r2,\\(2147417596,r1\\).* |
.*movbu \\(2147417596,sp\\),r2.* |
.*movbu r2,\\(2147417596,sp\\).* |
.*movbu \\(0x7ffefdfc\\),r2.* |
.*movbu r2,\\(0x7ffefdfc\\).* |
.*$gdb_prompt $" { pass "movbu tests" } |
-re "$gdb_prompt $" { fail "movbu tests" } |
timeout { fail "(timeout) movbu tests" } |
} |
} |
|
proc movhu_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/20i movhu_tests\n" |
gdb_expect { |
-re " |
.*movhu \\(a1\\),a2.* |
.*movhu a3,\\(d0\\).* |
.*movhu \\(sp\\),a1.* |
.*movhu a2,\\(sp\\).* |
.*movhu \\(16,r1\\),r2.* |
.*movhu r2,\\(16,r1\\).* |
.*movhu \\(16,sp\\),r2.* |
.*movhu r2,\\(16,sp\\).* |
.*movhu \\(2096895,r1\\),r2.* |
.*movhu r2,\\(2096895,r1\\).* |
.*movhu \\(2096895,sp\\),r2.* |
.*movhu r2,\\(2096895,sp\\).* |
.*movhu \\(0x1ffeff\\),r2.* |
.*movhu r2,\\(0x1ffeff\\).* |
.*movhu \\(2147417596,r1\\),r2.* |
.*movhu r2,\\(2147417596,r1\\).* |
.*movhu \\(2147417596,sp\\),r2.* |
.*movhu r2,\\(2147417596,sp\\).* |
.*movhu \\(0x7ffefdfc\\),r2.* |
.*movhu r2,\\(0x7ffefdfc\\).* |
.*$gdb_prompt $" { pass "movhu tests" } |
-re "$gdb_prompt $" { fail "movhu tests" } |
timeout { fail "(timeout) movhu tests" } |
} |
} |
|
proc mac_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/28i mac_tests\n" |
gdb_expect { |
-re " |
.*mac r1,r2.* |
.*macu r3,r4.* |
.*macb r5,r6.* |
.*macbu r7,a0.* |
.*mach a1,a2.* |
.*machu a3,d0.* |
.*dmach d1,d2.* |
.*dmachu d3,d2.* |
.*mac 16,r1.* |
.*macu 16,r1.* |
.*macb 16,r1.* |
.*macbu 16,r1.* |
.*mach 16,r1.* |
.*machu 16,r1.* |
.*mac 2096895,r2.* |
.*macu 2096895,r2.* |
.*macb 2096895,r2.* |
.*macbu 2096895,r2.* |
.*mach 2096895,r2.* |
.*machu 2096895,r2.* |
.*mac 2147417596,r2.* |
.*macu 2147417596,r2.* |
.*macb 2147417596,r2.* |
.*macbu 2147417596,r2.* |
.*mach 2147417596,r2.* |
.*machu 2147417596,r2.* |
.*dmach 2147417596,r2.* |
.*dmachu 2147417596,r2.* |
.*$gdb_prompt $" { pass "mac tests" } |
-re "$gdb_prompt $" { fail "mac tests" } |
timeout { fail "(timeout) mac tests" } |
} |
} |
|
proc bit_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/4i bit_tests\n" |
gdb_expect { |
-re " |
.*bsch r1,r2.* |
.*btst 16,r1.* |
.*btst 2096895,r2.* |
.*btst 2147417596,r2.* |
.*$gdb_prompt $" { pass "bit tests" } |
-re "$gdb_prompt $" { fail "bit tests" } |
timeout { fail "(timeout) bit tests" } |
} |
} |
|
proc dsp_add_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/28i dsp_add_tests\n" |
gdb_expect { |
-re " |
.*add_add r4,r1,r2,r3.* |
.*add_add r4,r1,2,r3.* |
.*add_sub r4,r1,r2,r3.* |
.*add_sub r4,r1,2,r3.* |
.*add_cmp r4,r1,r2,r3.* |
.*add_cmp r4,r1,2,r3.* |
.*add_mov r4,r1,r2,r3.* |
.*add_mov r4,r1,2,r3.* |
.*add_asr r4,r1,r2,r3.* |
.*add_asr r4,r1,2,r3.* |
.*add_lsr r4,r1,r2,r3.* |
.*add_lsr r4,r1,2,r3.* |
.*add_asl r4,r1,r2,r3.* |
.*add_asl r4,r1,2,r3.* |
.*add_add 4,r1,r2,r3.* |
.*add_add 4,r1,2,r3.* |
.*add_sub 4,r1,r2,r3.* |
.*add_sub 4,r1,2,r3.* |
.*add_cmp 4,r1,r2,r3.* |
.*add_cmp 4,r1,2,r3.* |
.*add_mov 4,r1,r2,r3.* |
.*add_mov 4,r1,2,r3.* |
.*add_asr 4,r1,r2,r3.* |
.*add_asr 4,r1,2,r3.* |
.*add_lsr 4,r1,r2,r3.* |
.*add_lsr 4,r1,2,r3.* |
.*add_asl 4,r1,r2,r3.* |
.*add_asl 4,r1,2,r3.* |
.*$gdb_prompt $" { pass "dsp_add tests" } |
-re "$gdb_prompt $" { fail "dsp_add tests" } |
timeout { fail "(timeout) dsp_add tests" } |
} |
} |
|
proc dsp_cmp_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/24i dsp_cmp_tests\n" |
gdb_expect { |
-re " |
.*cmp_add r4,r1,r2,r3.* |
.*cmp_add r4,r1,2,r3.* |
.*cmp_sub r4,r1,r2,r3.* |
.*cmp_sub r4,r1,2,r3.* |
.*cmp_mov r4,r1,r2,r3.* |
.*cmp_mov r4,r1,2,r3.* |
.*cmp_asr r4,r1,r2,r3.* |
.*cmp_asr r4,r1,2,r3.* |
.*cmp_lsr r4,r1,r2,r3.* |
.*cmp_lsr r4,r1,2,r3.* |
.*cmp_asl r4,r1,r2,r3.* |
.*cmp_asl r4,r1,2,r3.* |
.*cmp_add 4,r1,r2,r3.* |
.*cmp_add 4,r1,2,r3.* |
.*cmp_sub 4,r1,r2,r3.* |
.*cmp_sub 4,r1,2,r3.* |
.*cmp_mov 4,r1,r2,r3.* |
.*cmp_mov 4,r1,2,r3.* |
.*cmp_asr 4,r1,r2,r3.* |
.*cmp_asr 4,r1,2,r3.* |
.*cmp_lsr 4,r1,r2,r3.* |
.*cmp_lsr 4,r1,2,r3.* |
.*cmp_asl 4,r1,r2,r3.* |
.*cmp_asl 4,r1,2,r3.* |
.*$gdb_prompt $" { pass "dsp_cmp tests" } |
-re "$gdb_prompt $" { fail "dsp_cmp tests" } |
timeout { fail "(timeout) dsp_cmp tests" } |
} |
} |
|
proc dsp_sub_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/28i dsp_sub_tests\n" |
gdb_expect { |
-re " |
.*sub_add r4,r1,r2,r3.* |
.*sub_add r4,r1,2,r3.* |
.*sub_sub r4,r1,r2,r3.* |
.*sub_sub r4,r1,2,r3.* |
.*sub_cmp r4,r1,r2,r3.* |
.*sub_cmp r4,r1,2,r3.* |
.*sub_mov r4,r1,r2,r3.* |
.*sub_mov r4,r1,2,r3.* |
.*sub_asr r4,r1,r2,r3.* |
.*sub_asr r4,r1,2,r3.* |
.*sub_lsr r4,r1,r2,r3.* |
.*sub_lsr r4,r1,2,r3.* |
.*sub_asl r4,r1,r2,r3.* |
.*sub_asl r4,r1,2,r3.* |
.*sub_add 4,r1,r2,r3.* |
.*sub_add 4,r1,2,r3.* |
.*sub_sub 4,r1,r2,r3.* |
.*sub_sub 4,r1,2,r3.* |
.*sub_cmp 4,r1,r2,r3.* |
.*sub_cmp 4,r1,2,r3.* |
.*sub_mov 4,r1,r2,r3.* |
.*sub_mov 4,r1,2,r3.* |
.*sub_asr 4,r1,r2,r3.* |
.*sub_asr 4,r1,2,r3.* |
.*sub_lsr 4,r1,r2,r3.* |
.*sub_lsr 4,r1,2,r3.* |
.*sub_asl 4,r1,r2,r3.* |
.*sub_asl 4,r1,2,r3.* |
.*$gdb_prompt $" { pass "dsp_sub tests" } |
-re "$gdb_prompt $" { fail "dsp_sub tests" } |
timeout { fail "(timeout) dsp_sub tests" } |
} |
} |
|
proc dsp_mov_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/28i dsp_mov_tests\n" |
gdb_expect { |
-re " |
.*mov_add r4,r1,r2,r3.* |
.*mov_add r4,r1,2,r3.* |
.*mov_sub r4,r1,r2,r3.* |
.*mov_sub r4,r1,2,r3.* |
.*mov_cmp r4,r1,r2,r3.* |
.*mov_cmp r4,r1,2,r3.* |
.*mov_mov r4,r1,r2,r3.* |
.*mov_mov r4,r1,2,r3.* |
.*mov_asr r4,r1,r2,r3.* |
.*mov_asr r4,r1,2,r3.* |
.*mov_lsr r4,r1,r2,r3.* |
.*mov_lsr r4,r1,2,r3.* |
.*mov_asl r4,r1,r2,r3.* |
.*mov_asl r4,r1,2,r3.* |
.*mov_add 4,r1,r2,r3.* |
.*mov_add 4,r1,2,r3.* |
.*mov_sub 4,r1,r2,r3.* |
.*mov_sub 4,r1,2,r3.* |
.*mov_cmp 4,r1,r2,r3.* |
.*mov_cmp 4,r1,2,r3.* |
.*mov_mov 4,r1,r2,r3.* |
.*mov_mov 4,r1,2,r3.* |
.*mov_asr 4,r1,r2,r3.* |
.*mov_asr 4,r1,2,r3.* |
.*mov_lsr 4,r1,r2,r3.* |
.*mov_lsr 4,r1,2,r3.* |
.*mov_asl 4,r1,r2,r3.* |
.*mov_asl 4,r1,2,r3.* |
.*$gdb_prompt $" { pass "dsp_mov tests" } |
-re "$gdb_prompt $" { fail "dsp_mov tests" } |
timeout { fail "(timeout) dsp_mov tests" } |
} |
} |
|
proc dsp_logical_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/42i dsp_logical_tests\n" |
gdb_expect { |
-re " |
.*and_add r4,r1,r2,r3.* |
.*and_add r4,r1,2,r3.* |
.*and_sub r4,r1,r2,r3.* |
.*and_sub r4,r1,2,r3.* |
.*and_cmp r4,r1,r2,r3.* |
.*and_cmp r4,r1,2,r3.* |
.*and_mov r4,r1,r2,r3.* |
.*and_mov r4,r1,2,r3.* |
.*and_asr r4,r1,r2,r3.* |
.*and_asr r4,r1,2,r3.* |
.*and_lsr r4,r1,r2,r3.* |
.*and_lsr r4,r1,2,r3.* |
.*and_asl r4,r1,r2,r3.* |
.*and_asl r4,r1,2,r3.* |
.*xor_add r4,r1,r2,r3.* |
.*xor_add r4,r1,2,r3.* |
.*xor_sub r4,r1,r2,r3.* |
.*xor_sub r4,r1,2,r3.* |
.*xor_cmp r4,r1,r2,r3.* |
.*xor_cmp r4,r1,2,r3.* |
.*xor_mov r4,r1,r2,r3.* |
.*xor_mov r4,r1,2,r3.* |
.*xor_asr r4,r1,r2,r3.* |
.*xor_asr r4,r1,2,r3.* |
.*xor_lsr r4,r1,r2,r3.* |
.*xor_lsr r4,r1,2,r3.* |
.*xor_asl r4,r1,r2,r3.* |
.*xor_asl r4,r1,2,r3.* |
.*or_add r4,r1,r2,r3.* |
.*or_add r4,r1,2,r3.* |
.*or_sub r4,r1,r2,r3.* |
.*or_sub r4,r1,2,r3.* |
.*or_cmp r4,r1,r2,r3.* |
.*or_cmp r4,r1,2,r3.* |
.*or_mov r4,r1,r2,r3.* |
.*or_mov r4,r1,2,r3.* |
.*or_asr r4,r1,r2,r3.* |
.*or_asr r4,r1,2,r3.* |
.*or_lsr r4,r1,r2,r3.* |
.*or_lsr r4,r1,2,r3.* |
.*or_asl r4,r1,r2,r3.* |
.*or_asl r4,r1,2,r3.* |
.*$gdb_prompt $" { pass "dsp_logical tests" } |
-re "$gdb_prompt $" { fail "dsp_logical tests" } |
timeout { fail "(timeout) dsp_logical tests" } |
} |
} |
|
proc dsp_misc_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/42i dsp_misc_tests\n" |
gdb_expect { |
-re " |
.*dmach_add r4,r1,r2,r3.* |
.*dmach_add r4,r1,2,r3.* |
.*dmach_sub r4,r1,r2,r3.* |
.*dmach_sub r4,r1,2,r3.* |
.*dmach_cmp r4,r1,r2,r3.* |
.*dmach_cmp r4,r1,2,r3.* |
.*dmach_mov r4,r1,r2,r3.* |
.*dmach_mov r4,r1,2,r3.* |
.*dmach_asr r4,r1,r2,r3.* |
.*dmach_asr r4,r1,2,r3.* |
.*dmach_lsr r4,r1,r2,r3.* |
.*dmach_lsr r4,r1,2,r3.* |
.*dmach_asl r4,r1,r2,r3.* |
.*dmach_asl r4,r1,2,r3.* |
.*swhw_add r4,r1,r2,r3.* |
.*swhw_add r4,r1,2,r3.* |
.*swhw_sub r4,r1,r2,r3.* |
.*swhw_sub r4,r1,2,r3.* |
.*swhw_cmp r4,r1,r2,r3.* |
.*swhw_cmp r4,r1,2,r3.* |
.*swhw_mov r4,r1,r2,r3.* |
.*swhw_mov r4,r1,2,r3.* |
.*swhw_asr r4,r1,r2,r3.* |
.*swhw_asr r4,r1,2,r3.* |
.*swhw_lsr r4,r1,r2,r3.* |
.*swhw_lsr r4,r1,2,r3.* |
.*swhw_asl r4,r1,r2,r3.* |
.*swhw_asl r4,r1,2,r3.* |
.*sat16_add r4,r1,r2,r3.* |
.*sat16_add r4,r1,2,r3.* |
.*sat16_sub r4,r1,r2,r3.* |
.*sat16_sub r4,r1,2,r3.* |
.*sat16_cmp r4,r1,r2,r3.* |
.*sat16_cmp r4,r1,2,r3.* |
.*sat16_mov r4,r1,r2,r3.* |
.*sat16_mov r4,r1,2,r3.* |
.*sat16_asr r4,r1,r2,r3.* |
.*sat16_asr r4,r1,2,r3.* |
.*sat16_lsr r4,r1,r2,r3.* |
.*sat16_lsr r4,r1,2,r3.* |
.*sat16_asl r4,r1,r2,r3.* |
.*sat16_asl r4,r1,2,r3.* |
.*$gdb_prompt $" { pass "dsp_misc tests" } |
-re "$gdb_prompt $" { fail "dsp_misc tests" } |
timeout { fail "(timeout) dsp_misc tests" } |
} |
} |
|
proc autoincrement_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/16i autoincrement_tests\n" |
gdb_expect { |
-re " |
.*mov \\(r1\\+\\),r2.* |
.*mov r3,\\(r4\\+\\).* |
.*movhu \\(r6\\+\\),r7.* |
.*movhu a0,\\(a1\\+\\).* |
.*mov \\(r1\\+,64\\),r2.* |
.*mov r1,\\(r2\\+,64\\).* |
.*movhu \\(r1\\+,64\\),r2.* |
.*movhu r1,\\(r2\\+,64\\).* |
.*mov \\(r1\\+,131055\\),r2.* |
.*mov r1,\\(r2\\+,131055\\).* |
.*movhu \\(r1\\+,131055\\),r2.* |
.*movhu r1,\\(r2\\+,131055\\).* |
.*mov \\(r1\\+,2147417596\\),r2.* |
.*mov r1,\\(r2\\+,2147417596\\).* |
.*movhu \\(r1\\+,2147417596\\),r2.* |
.*movhu r1,\\(r2\\+,2147417596\\).* |
.*$gdb_prompt $" { pass "autoincrement tests" } |
-re "$gdb_prompt $" { fail "autoincrement tests" } |
timeout { fail "(timeout) autoincrement tests" } |
} |
} |
|
proc dsp_autoincrement_tests { } { |
global gdb_prompt |
global hex |
global decimal |
|
send_gdb "x/11i dsp_autoincrement_tests\n" |
gdb_expect { |
-re " |
.*mov_llt \\(r1\\+,4\\),r2.* |
.*mov_lgt \\(r1\\+,4\\),r2.* |
.*mov_lge \\(r1\\+,4\\),r2.* |
.*mov_lle \\(r1\\+,4\\),r2.* |
.*mov_lcs \\(r1\\+,4\\),r2.* |
.*mov_lhi \\(r1\\+,4\\),r2.* |
.*mov_lcc \\(r1\\+,4\\),r2.* |
.*mov_lls \\(r1\\+,4\\),r2.* |
.*mov_leq \\(r1\\+,4\\),r2.* |
.*mov_lne \\(r1\\+,4\\),r2.* |
.*mov_lra \\(r1\\+,4\\),r2.* |
.*$gdb_prompt $" { pass "autoincrement tests" } |
-re "$gdb_prompt $" { fail "autoincrement tests" } |
timeout { fail "(timeout) autoincrement tests" } |
} |
} |
|
# Start with a fresh gdb. |
|
gdb_exit |
gdb_start |
gdb_reinitialize_dir $srcdir/$subdir |
gdb_load $binfile |
|
call_tests |
movm_tests |
misc_tests |
mov_tests |
ext_tests |
add_tests |
sub_tests |
cmp_tests |
logical_tests |
shift_tests |
muldiv_tests |
movbu_tests |
movhu_tests |
mac_tests |
bit_tests |
dsp_add_tests |
dsp_cmp_tests |
dsp_sub_tests |
dsp_mov_tests |
dsp_logical_tests |
autoincrement_tests |
dsp_autoincrement_tests |
/mn10200.s
0,0 → 1,217
.text |
.global _main |
.global add_tests |
.global bCC_tests |
.global bCCx_tests |
.global bit_tests |
.global cmp_tests |
.global extend_tests |
.global logical_tests |
.global mov_tests_1 |
.global mov_tests_2 |
.global mov_tests_3 |
.global mov_tests_4 |
.global movb_tests |
.global movbu_tests |
.global movx_tests |
.global misc_tests |
.global shift_tests |
.global sub_tests |
|
_main: |
nop |
|
add_tests: |
add d1,d2 |
add d2,a3 |
add a2,d1 |
add a3,a2 |
add 16,d1 |
add 256,d2 |
add 131071,d3 |
add 16,a1 |
add 256,a2 |
add 131071,a3 |
addc d1,d2 |
addnf 16,a2 |
|
bCC_tests: |
beq bCC_tests |
bne bCC_tests |
bgt bCC_tests |
bge bCC_tests |
ble bCC_tests |
blt bCC_tests |
bhi bCC_tests |
bcc bCC_tests |
bls bCC_tests |
bcs bCC_tests |
bvc bCC_tests |
bvs bCC_tests |
bnc bCC_tests |
bns bCC_tests |
bra bCC_tests |
|
bCCx_tests: |
beqx bCCx_tests |
bnex bCCx_tests |
bgtx bCCx_tests |
bgex bCCx_tests |
blex bCCx_tests |
bltx bCCx_tests |
bhix bCCx_tests |
bccx bCCx_tests |
blsx bCCx_tests |
bcsx bCCx_tests |
bvcx bCCx_tests |
bvsx bCCx_tests |
bncx bCCx_tests |
bnsx bCCx_tests |
|
bit_tests: |
btst 64,d1 |
btst 8192,d2 |
bset d1,(a2) |
bclr d1,(a2) |
|
cmp_tests: |
cmp d1,d2 |
cmp d2,a3 |
cmp a3,d3 |
cmp a3,a2 |
cmp 16,d3 |
cmp 256,d2 |
cmp 131071,d1 |
cmp 256,a2 |
cmp 131071,a1 |
|
extend_tests: |
ext d1 |
extx d2 |
extxu d3 |
extxb d2 |
extxbu d1 |
|
logical_tests: |
and d1,d2 |
and 127,d2 |
and 32767,d3 |
and 32767,psw |
or d1,d2 |
or 127,d2 |
or 32767,d3 |
or 32767,psw |
xor d1,d2 |
xor 32767,d3 |
not d3 |
|
mov_tests_1: |
mov d1,a2 |
mov a2,d1 |
mov d1,d2 |
mov a2,a1 |
mov psw,d3 |
mov d2,psw |
mov mdr,d1 |
mov d2,mdr |
mov (a2),d1 |
mov (8,a2),d1 |
mov (256,a2),d1 |
mov (131071,a2),d1 |
|
mov_tests_2: |
mov (d1,a1),d2 |
mov (32768),d1 |
mov (131071),d1 |
mov (8,a2),a1 |
mov (256,a2),a1 |
mov (131071,a2),a1 |
mov (d1,a1),a2 |
mov (32768),a1 |
mov (131071),a1 |
|
mov_tests_3: |
mov d1,(a2) |
mov d1,(32,a2) |
mov d1,(256,a2) |
mov d1,(131071,a2) |
mov d1,(d2,a2) |
mov d1,(128) |
mov d1,(131071) |
mov a1,(32,a2) |
mov a1,(256,a2) |
mov a1,(131071,a2) |
|
mov_tests_4: |
mov a1,(d2,a2) |
mov a1,(128) |
mov a1,(131071) |
mov 8,d1 |
mov 256,d1 |
mov 131071,d1 |
mov 256,a1 |
mov 131071,a1 |
|
movb_tests: |
movb (8,a2),d1 |
movb (256,a2),d1 |
movb (131071,a2),d1 |
movb (d2,a2),d3 |
movb (131071),d2 |
movb d1,(a2) |
movb d1,(8,a2) |
movb d1,(256,a2) |
movb d1,(131071,a2) |
movb d1,(d2,a2) |
movb d1,(256) |
movb d1,(131071) |
|
movbu_tests: |
movbu (a2),d1 |
movbu (8,a2),d1 |
movbu (256,a2),d1 |
movbu (131071,a2),d1 |
movbu (d1,a1),d2 |
movbu (32768),d1 |
movbu (131071),d1 |
|
movx_tests: |
movx (8,a2),d1 |
movx (256,a2),d1 |
movx (131071,a2),d1 |
movx d1,(8,a2) |
movx d1,(256,a2) |
movx d1,(131071,a2) |
|
muldiv_tests: |
mul d1,d2 |
mulu d2,d3 |
divu d3,d2 |
|
misc_tests: |
jmp _main |
jmp _start |
jmp (a2) |
jsr _main |
jsr _start |
jsr (a2) |
rts |
rti |
nop |
|
shift_tests: |
asr d2 |
lsr d3 |
ror d1 |
rol d2 |
|
sub_tests: |
sub d1,d2 |
sub d2,a3 |
sub a3,d3 |
sub a3,a2 |
sub 32767,d2 |
sub 131071,d2 |
sub 32767,a2 |
sub 131071,a2 |
subc d1,d2 |
/sh3.s
0,0 → 1,54
.file "test.c" |
.data |
|
! Hitachi SH cc1 (cygnus-2.7.1-950728) arguments: -O -fpeephole |
! -ffunction-cse -freg-struct-return -fdelayed-branch -fcommon -fgnu-linker |
|
gcc2_compiled.: |
___gnu_compiled_c: |
.text |
.align 2 |
.global _fp_move_and_load_tests |
.global _fp_arithmetic_tests |
.global _fp_misc_tests |
.global _main |
|
_main: |
_fp_move_and_load_tests: |
fmov.s @r0,fr0 |
fmov.s fr0,@r0 |
fmov.s @r0+,fr0 |
fmov.s fr0,@-r0 |
fmov.s @(r0,r0),fr0 |
fmov.s fr0,@(r0,r0) |
fmov fr0,fr1 |
fldi0 fr0 |
fldi1 fr0 |
|
_fp_arithmetic_tests: |
fadd fr0,fr1 |
fsub fr0,fr1 |
fmul fr0,fr1 |
fdiv fr0,fr1 |
fmac fr0,fr0,fr1 |
fcmp/eq fr0,fr1 |
fcmp/gt fr0,fr1 |
ftst/nan fr0 |
fneg fr0 |
fabs fr0 |
fsqrt fr0 |
float fpul,fr0 |
ftrc fr0,fpul |
|
_fp_misc_tests: |
fsts fpul,fr0 |
flds fr0,fpul |
lds r3,fpul |
lds.l @r3+,fpul |
lds r3,fpscr |
lds.l @r3+,fpscr |
sts fpul,r3 |
sts.l fpul,@-r3 |
sts fpscr,r3 |
sts.l fpscr,@-r3 |
|