URL
https://opencores.org/ocsvn/or1k_old/or1k_old/trunk
Subversion Repositories or1k_old
[/] [or1k_old/] [trunk/] [insight/] [gdb/] [testsuite/] [gdb.disasm/] [mn10300.exp] - Rev 1782
Compare with Previous | Blame | View Log
# Copyright 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_outputset prms_id 0set bug_id 0set testfile "mn10300"set srcfile ${srcdir}/${subdir}/${testfile}.sset 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_promptglobal hexglobal decimalsend_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_promptglobal hexglobal decimalsend_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_promptglobal hexglobal decimalsend_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_promptglobal hexglobal decimalsend_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_promptglobal hexglobal decimalsend_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_promptglobal hexglobal decimalsend_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_promptglobal hexglobal decimalsend_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_promptglobal hexglobal decimalsend_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_promptglobal hexglobal decimalsend_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_promptglobal hexglobal decimalsend_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_promptglobal hexglobal decimalsend_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_promptglobal hexglobal decimalsend_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_promptglobal hexglobal decimalsend_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_promptglobal hexglobal decimalsend_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_promptglobal hexglobal decimalsend_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_promptglobal hexglobal decimalsend_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_promptglobal hexglobal decimalsend_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_promptglobal hexglobal decimalsend_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_promptglobal hexglobal decimalsend_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_exitgdb_startgdb_reinitialize_dir $srcdir/$subdirgdb_load $binfileadd_testsbcc_testsbit_testscmp_testsextend_testsextended_testslogical_testsloop_testsmov_tests_1mov_tests_2mov_tests_3mov_tests_4movbu_testsmovhu_testsmovm_testsmuldiv_testsother_testsshift_testssub_tests
