URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [or1ksim/] [testsuite/] [or1ksim.tests/] [inst-set-test.exp] - Rev 115
Go to most recent revision | Compare with Previous | Blame | View Log
# inst-set-test.exp. Tests of ORBIS32 instruction set# Copyright (C) 2010 Embecosm Limited# Contributor Jeremy Bennett <jeremy.bennett@embecosm.com># This file is part of OpenRISC 1000 Architectural Simulator.# This program is free software; you can redistribute it and/or modify it# under the terms of the GNU General Public License as published by the Free# Software Foundation; either version 3 of the License, or (at your option)# any later version.# This program is distributed in the hope that it will be useful, but WITHOUT# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for# more details.# You should have received a copy of the GNU General Public License along# with this program. If not, see <http:#www.gnu.org/licenses/>. */# -----------------------------------------------------------------------------# This code is commented throughout for use with Doxygen.# -----------------------------------------------------------------------------# Run the l.add, l.addc, l.addi and l.addic testsrun_or1ksim "add-test" \[list "!l.add" \" 0x00000001 + 0x00000002 = 0x00000003: OK" \" - carry flag set: FALSE" \" - overflow flag set: FALSE" \" 0x00000001 + 0x00000002 = 0x00000003: OK" \" - carry flag set: FALSE" \" - overflow flag set: FALSE" \" 0xffffffff + 0xfffffffe = 0xfffffffd: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" 0x40000000 + 0x3fffffff = 0x7fffffff: OK" \" - carry flag set: FALSE" \" - overflow flag set: FALSE" \" 0x40000000 + 0x40000000 = 0x80000000: OK" \" - carry flag set: FALSE" \" - overflow flag set: TRUE" \" 0xc0000000 + 0xc0000000 = 0x80000000: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" 0xbfffffff + 0xbfffffff = 0x7ffffffe: OK" \" - carry flag set: TRUE" \" - overflow flag set: TRUE" \"! ** OVE flag set **" \" RANGE exception" \" - caused by: report(0xe0853000);" \" - SR value: report(0x00009a01);" \" 0x40000000 + 0x40000000 = 0x80000000: OK" \" - carry flag set: FALSE" \" - overflow flag set: TRUE" \" 0xffffffff + 0xfffffffe = 0xfffffffd: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" RANGE exception" \" - caused by: report(0xe0853000);" \" - SR value: report(0x00009e01);" \" 0xbfffffff + 0xbfffffff = 0x7ffffffe: OK" \" - carry flag set: TRUE" \" - overflow flag set: TRUE" \"! ** OVE flag cleared **" \"!l.addc" \" 0x00000001 + 0x00000002 = 0x00000003: OK" \" - carry flag set: FALSE" \" - overflow flag set: FALSE" \" 0xffffffff + 0xfffffffe = 0xfffffffd: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" 0x40000000 + 0x3fffffff = 0x7fffffff: OK" \" - carry flag set: FALSE" \" - overflow flag set: FALSE" \" 0x40000000 + 0x3fffffff + c = 0x80000000: OK" \" - carry flag set: FALSE" \" - overflow flag set: TRUE" \" 0x40000000 + 0x40000000 = 0x80000000: OK" \" - carry flag set: FALSE" \" - overflow flag set: TRUE" \" 0xffffffff + 0x00000000 + c = 0x00000000: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" 0x00000000 + 0xffffffff + c = 0x00000000: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" 0xc0000000 + 0xc0000000 = 0x80000000: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" 0xc0000000 + 0xbfffffff + c = 0x80000000: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" 0xbfffffff + 0xbfffffff = 0x7ffffffe: OK" \" - carry flag set: TRUE" \" - overflow flag set: TRUE" \"! ** OVE flag set **" \" RANGE exception" \" - caused by: report(0xe0853001);" \" - SR value: report(0x00009a01);" \" 0x40000000 + 0x40000000 = 0x80000000: OK" \" - carry flag set: FALSE" \" - overflow flag set: TRUE" \" RANGE exception" \" - caused by: report(0xe0853001);" \" - SR value: report(0x00009a01);" \" 0x40000000 + 0x3fffffff + c = 0x80000000: OK" \" - carry flag set: FALSE" \" - overflow flag set: TRUE" \" 0xffffffff + 0xfffffffe = 0xfffffffd: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" 0x00000000 + 0xffffffff + c = 0x00000000: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" RANGE exception" \" - caused by: report(0xe0853001);" \" - SR value: report(0x00009e01);" \" 0xbfffffff + 0xbfffffff = 0x7ffffffe: OK" \" - carry flag set: TRUE" \" - overflow flag set: TRUE" \"! ** OVE flag cleared **" \"!l.addi" \" 0x00000001 + 0x00000002 = 0x00000003: OK" \" - carry flag set: FALSE" \" - overflow flag set: FALSE" \" 0x00000001 + 0x00000002 = 0x00000003: OK" \" - carry flag set: FALSE" \" - overflow flag set: FALSE" \" 0xffffffff + 0xfffffffe = 0xfffffffd: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" 0x7fff8000 + 0x00007fff = 0x7fffffff: OK" \" - carry flag set: FALSE" \" - overflow flag set: FALSE" \" 0x7fffc000 + 0x00004000 = 0x80000000: OK" \" - carry flag set: FALSE" \" - overflow flag set: TRUE" \" 0x80008000 + 0xffff8000 = 0x80000000: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" 0x80007fff + 0xffff8000 = 0x7fffffff: OK" \" - carry flag set: TRUE" \" - overflow flag set: TRUE" \"! ** OVE flag set **" \" RANGE exception" \" - caused by: report(0x9c854000);" \" - SR value: report(0x00009a01);" \" 0x7fffc000 + 0x00004000 = 0x80000000: OK" \" - carry flag set: FALSE" \" - overflow flag set: TRUE" \" 0xffffffff + 0xfffffffe = 0xfffffffd: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" RANGE exception" \" - caused by: report(0x9c858000);" \" - SR value: report(0x00009e01);" \" 0x80007fff + 0xffff8000 = 0x7ffffffe: OK" \" - carry flag set: TRUE" \" - overflow flag set: TRUE" \"! ** OVE flag cleared **" \"!l.addic" \" 0x00000001 + 0x00000002 = 0x00000003: OK" \" - carry flag set: FALSE" \" - overflow flag set: FALSE" \" 0xffffffff + 0xfffffffe = 0xfffffffd: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" 0x7fff8000 + 0x00007fff = 0x7fffffff: OK" \" - carry flag set: FALSE" \" - overflow flag set: FALSE" \" 0x7fff8000 + 0x00007fff + c = 0x80000000: OK" \" - carry flag set: FALSE" \" - overflow flag set: TRUE" \" 0x7fffc000 + 0x00004000 = 0x80000000: OK" \" - carry flag set: FALSE" \" - overflow flag set: TRUE" \" 0xffffffff + 0x00000000 + c = 0x00000000: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" 0x00000000 + 0xffffffff + c = 0x00000000: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" 0x80008000 + 0xffff8000 = 0x80000000: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" 0x80007fff + 0xffff8000 + c = 0x80000000: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" 0x80007fff + 0xffff8000 = 0x7fffffff: OK" \" - carry flag set: TRUE" \" - overflow flag set: TRUE" \"! ** OVE flag set **" \" RANGE exception" \" - caused by: report(0xa0854000);" \" - SR value: report(0x00009a01);" \" 0x7fffc000 + 0x00004000 = 0x80000000: OK" \" - carry flag set: FALSE" \" - overflow flag set: TRUE" \" RANGE exception" \" - caused by: report(0xa0853fff);" \" - SR value: report(0x00009a01);" \" 0x7fffc000 + 0x00003fff + c = 0x80000000: OK" \" - carry flag set: FALSE" \" - overflow flag set: TRUE" \" 0xffffffff + 0xfffffffe = 0xfffffffd: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" 0x00000000 + 0xffffffff + c = 0x00000000: OK" \" - carry flag set: TRUE" \" - overflow flag set: FALSE" \" RANGE exception" \" - caused by: report(0xa0858000);" \" - SR value: report(0x00009e01);" \" 0x80007fff + 0xffff8000 = 0x7ffffffe: OK" \" - carry flag set: TRUE" \" - overflow flag set: TRUE" \"! ** OVE flag cleared **" \"!Test completed" \"!report(0xdeaddead);" \"!exit(0)"] \"inst-set-test.cfg" "inst-set-test/is-add-test"# Run the l.div and l.divu testrun_or1ksim "div-test" \[list "!l.div" \"! RANGE exception" \" - caused by: report(0xe0853309);" \"! - SR value: report(0x00008601);" \" 1 / 0 (with error) carry flag set: TRUE" \"!l.divu" \"! RANGE exception" \" - caused by: report(0xe085330a);" \"! - SR value: report(0x00008601);" \" 1 / 0 (with error) carry flag set: TRUE" \"!Test completed" \"!report(0xdeaddead);" \"!exit(0)"] \"inst-set-test.cfg" "inst-set-test/is-div-test"# Run the l.ff1 and l.fl1 testrun_or1ksim "find-test" \[list "!l.ff1" \" ff1 (0x00000001) = 1: OK" \" ff1 (0x80000000) = 32: OK" \" ff1 (0x55555555) = 1: OK" \" ff1 (0xaaaaaaaa) = 2: OK" \" ff1 (0x00018000) = 16: OK" \" ff1 (0xc0000000) = 31: OK" \" ff1 (0x00000000) = 0: OK" \"!l.fl1" \" fl1 (0x00000001) = 1: OK" \" fl1 (0x80000000) = 32: OK" \" fl1 (0x55555555) = 31: OK" \" fl1 (0xaaaaaaaa) = 32: OK" \" fl1 (0x00018000) = 17: OK" \" fl1 (0xc0000000) = 32: OK" \" fl1 (0x00000000) = 0: OK" \"!Test completed" \"!report(0xdeaddead);" \"!exit(0)"] \"inst-set-test.cfg" "inst-set-test/is-find-test"# Run the l.lws testrun_or1ksim "lws-test" \[list "!l.lws" \" l.lws r4,0(r5): r4=0xdeadbeef: OK" \" l.lws r4,0(r5): r4=0x00000000: OK" \" l.lws r4,0(r5): r4=0x7fffffff: OK" \" l.lws r4,0(r5): r4=0x80000000: OK" \" l.lws r4,0(r5): r4=0xffffffff: OK" \" l.lws r4,0(r5): r4=0x00000000: OK" \" l.lws r4,0(r5): r4=0x7fffffff: OK" \" l.lws r4,0(r5): r4=0x80000000: OK" \" l.lws r4,0(r5): r4=0xffffffff: OK" \" l.lws r4,0(r5): r4=0xdeadbeef: OK" \" l.lws r4,0(r5): r4=0x00000000: OK" \" l.lws r4,0(r5): r4=0x7fffffff: OK" \" l.lws r4,0(r5): r4=0x80000000: OK" \"!Test completed" \"!report(0xdeaddead);" \"!exit(0)"] \"inst-set-test.cfg" "inst-set-test/is-lws-test"
Go to most recent revision | Compare with Previous | Blame | View Log
