URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/trunk/or1ksim/testsuite/or1ksim.tests
- from Rev 230 to Rev 233
- ↔ Reverse comparison
Rev 230 → Rev 233
/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11.1 from Makefile.am. |
# Makefile.in generated by automake 1.11 from Makefile.am. |
# @configure_input@ |
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, |
140,6 → 140,7
PACKAGE_NAME = @PACKAGE_NAME@ |
PACKAGE_STRING = @PACKAGE_STRING@ |
PACKAGE_TARNAME = @PACKAGE_TARNAME@ |
PACKAGE_URL = @PACKAGE_URL@ |
PACKAGE_VERSION = @PACKAGE_VERSION@ |
PATH_SEPARATOR = @PATH_SEPARATOR@ |
POW_LIB = @POW_LIB@ |
/testfloat.exp
0,0 → 1,63
# testfloat.exp - Run and check the testfloat test |
|
# Copyright (C) 2010 Embecosm Limited |
# Copyright (C) 2010 ORSoC AB |
|
# Contributor Jeremy Bennett <jeremy.bennett@embecosm.com> |
# Contributor Julius Baxter <julius.baxter@orsoc.se> |
|
# 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. |
# ----------------------------------------------------------------------------- |
|
|
# Can take up to 5 minutes to run this test |
set timeout 300 |
|
# Run testfloat |
run_or1ksim "testfloat" \ |
[list "!No errors found in int32_to_float32, rounding nearest_even." \ |
"No errors found in int32_to_float32, rounding to_zero." \ |
"No errors found in int32_to_float32, rounding down." \ |
"No errors found in int32_to_float32, rounding up." \ |
"No errors found in float32_to_int32, rounding nearest_even." \ |
"No errors found in float32_to_int32, rounding to_zero." \ |
"No errors found in float32_to_int32, rounding down." \ |
"No errors found in float32_to_int32, rounding up." \ |
"No errors found in float32_to_int32_round_to_zero." \ |
"No errors found in float32_add, rounding nearest_even." \ |
"No errors found in float32_add, rounding to_zero." \ |
"No errors found in float32_add, rounding down." \ |
"No errors found in float32_add, rounding up." \ |
"No errors found in float32_sub, rounding nearest_even." \ |
"No errors found in float32_sub, rounding to_zero." \ |
"No errors found in float32_sub, rounding down." \ |
"No errors found in float32_sub, rounding up." \ |
"No errors found in float32_mul, rounding nearest_even." \ |
"No errors found in float32_mul, rounding to_zero." \ |
"No errors found in float32_mul, rounding down." \ |
"No errors found in float32_mul, rounding up." \ |
"No errors found in float32_div, rounding nearest_even." \ |
"No errors found in float32_div, rounding to_zero." \ |
"No errors found in float32_div, rounding down." \ |
"No errors found in float32_div, rounding up." \ |
"No errors found in float32_eq." \ |
"No errors found in float32_le." \ |
"No errors found in float32_lt" \ |
"exit(0)"] \ |
"testfloat.cfg" "testfloat/testfloat" |
/fp.exp
1,8 → 1,9
# fp.exp. Floating point tests using DejaGNU under automake |
|
# Copyright (C) 2010 Embecosm Limited |
# Copyright (C) 2010 ORSoC AB |
|
# Contributor Jeremy Bennett <jeremy.bennett@embecosm.com> |
# Contributor Julius Baxter <julius.baxter@orsoc.se> |
|
# This file is part of OpenRISC 1000 Architectural Simulator. |
|
24,361 → 25,356
# ----------------------------------------------------------------------------- |
|
|
# Run the Frame buffer test |
# Run the floating point test |
run_or1ksim "fp" \ |
[list "!lf.add.s" \ |
" 1.0 + 0.0 = 1.0: OK" \ |
" 1.0 + -0.0 = 1.0: OK" \ |
" 1.0 + 1.0 = 2.0: OK" \ |
" 2.0 + 1.0 = 3.0: OK" \ |
" 1.5 + 1.5 = 3.0: OK" \ |
" 2.0 + -1.0 = 1.0: OK" \ |
" 1.0 + -2.0 = -1.0: OK" \ |
" 1.0 + -1.0 = +0.0: OK" \ |
" 1.0 + +inf = +inf: OK" \ |
" 1.0 + -inf = -inf: OK" \ |
" +inf + +inf = +inf: OK" \ |
" +inf + -inf = -NaN: OK" \ |
" -inf + -inf = -inf: OK" \ |
" 1.0 + +NaN = +NaN: OK" \ |
" 1.0 + -NaN = -NaN: OK" \ |
" +NaN + +NaN = +NaN: OK" \ |
" +NaN + -NaN = +NaN: OK" \ |
" -NaN + -NaN = -NaN: OK" \ |
" 1.0 + +sNaN = +qNaN: OK" \ |
" 1.0 + -sNaN = -qNaN: OK" \ |
" 1.0 * 2^127 + 1.0 * 2^127 = +inf: OK" \ |
" -1.0 * 2^127 + -1.0 * 2^127 = -inf: OK" \ |
"!lf.cust1.s" \ |
" l.cust1: OK" \ |
"!lf.div.s" \ |
" 1.0 / 1.0 = 1.0: OK" \ |
" 2.0 / 1.0 = 2.0: OK" \ |
" 3.0 / 2.0 = 1.5: OK" \ |
" +0.0 / 1.0 = +0.0: OK" \ |
" -0.0 / 1.0 = -0.0: OK" \ |
" -3.0 / 2.0 = -1.5: OK" \ |
" 3.0 / -2.0 = -1.5: OK" \ |
" -3.0 / -2.0 = -1.5: OK" \ |
" 1.0 / +0.0 = +inf: OK" \ |
" 1.0 / -0.0 = +inf: OK" \ |
" -1.0 / +0.0 = -inf: OK" \ |
" -1.0 / -0.0 = -inf: OK" \ |
" 1.0 / +inf = +0.0: OK" \ |
" 1.0 / -inf = -0.0: OK" \ |
" -1.0 / +inf = -0.0: OK" \ |
" -1.0 / -inf = +0.0: OK" \ |
" +inf / 1.0 = +inf: OK" \ |
" -inf / 1.0 = -inf: OK" \ |
" +inf / -1.0 = -inf: OK" \ |
" -inf / -1.0 = +inf: OK" \ |
" +inf / +inf = -NaN: OK" \ |
" +inf / -inf = -NaN: OK" \ |
" -inf / +inf = -NaN: OK" \ |
" -inf / -inf = -NaN: OK" \ |
" 1.0 / +NaN = +NaN: OK" \ |
" 1.0 / -NaN = -NaN: OK" \ |
" -1.0 / +NaN = +NaN: OK" \ |
" -1.0 / -NaN = 1NaN: OK" \ |
" +NaN / 1.0 = +NaN: OK" \ |
" -NaN / 1.0 = -NaN: OK" \ |
" +NaN / -1.0 = +NaN: OK" \ |
" -NaN / -1.0 = -NaN: OK" \ |
" +NaN / +NaN = +NaN: OK" \ |
" +NaN / -NaN = +NaN: OK" \ |
" -NaN / +NaN = -NaN: OK" \ |
" -NaN / -NaN = -NaN: OK" \ |
" 1.0 * 2^127 / 1.0 * 2^-129 = +inf: OK" \ |
" -1.0 * 2^127 / 1.0 * 2^-129 = -inf: OK" \ |
" 1.0 * 2^127 / -1.0 * 2^-129 = -inf: OK" \ |
" -1.0 * 2^127 / -1.0 * 2^-129 = +inf: OK" \ |
" 1.0 * 2^-129 / 1.0 * 2^127 = +0.0: OK" \ |
" -1.0 * 2^-129 / 1.0 * 2^127 = -0.0: OK" \ |
" 1.0 * 2^-129 / -1.0 * 2^127 = -0.0: OK" \ |
" -1.0 * 2^-129 / -1.0 * 2^127 = +0.0: OK" \ |
"!lf.ftoi.s" \ |
" (int) 1.0 = 1: OK" \ |
" (int) -1.0 = -1: OK" \ |
" (int) +0.0 = 0: OK" \ |
" (int) -0.0 = 0: OK" \ |
" (int) 1.5 = 1: OK" \ |
" (int) -1.5 = -1: OK" \ |
" (int) 1.0 * 2^126 = -2^31: OK" \ |
" (int) -1.0 * 2^126 = -2^31: OK" \ |
" (int) 1.0 * 2^-129 = 0: OK" \ |
" (int) -1.0 * 2^-129 = 0: OK" \ |
" (int) +inf = -2^31: OK" \ |
" (int) -inf = -2^31: OK" \ |
" (int) +NaN = -2^31: OK" \ |
" (int) -NaN = -2^31: OK" \ |
"!lf.itof.s" \ |
" (float) 1.0 = 1: OK" \ |
" (float) -1.0 = -1: OK" \ |
" (float) +0.0 = 0: OK" \ |
" (float) -0.0 = 0: OK" \ |
"!lf.madd.s" \ |
" 1.0 + 1.0 * 1.0 = 2.0: OK" \ |
" 0.5 + 1.0 * 1.0 = 1.5: OK" \ |
" 1.0 + 0.5 * 2.0 = 2.0: OK" \ |
" 1.0 + -1.0 * 2.0 = -1.0: OK" \ |
" -2.0 + 2.0 * 0.5 = -1.0: OK" \ |
" -0.5 + -0.5 * 3.0 = -2.0: OK" \ |
" +0.0 + +0.0 * +0.0 = +0.0: OK" \ |
" -0.0 + +0.0 * -0.0 = +0.0: OK" \ |
" -0.0 + -0.0 * -0.0 = +0.0: OK" \ |
" -1.0 + 1.0 * 1.0 = +0.0: OK" \ |
" +inf + 1.0 * 1.0 = +inf: OK" \ |
" 1.0 + 1.0 * +inf = +inf: OK" \ |
" +inf + 1.0 * +inf = +inf: OK" \ |
" -inf + 1.0 * 1.0 = -inf: OK" \ |
" +NaN + 1.0 * 1.0 = +NaN: OK" \ |
" 1.0 + 1.0 * +NaN = +NaN: OK" \ |
" +NaN + 1.0 * +NaN = +NaN: OK" \ |
" -NaN + 1.0 * 1.0 = -NaN: OK" \ |
" 1.0 * 2^127 + 1.0 * 2^127 * 1.0 = +inf: OK" \ |
" 1.0 * 2^127 + 1.0 * 2^127 * 1.0 * 2^-129 = +inf: OK" \ |
"!lf.mul.s" \ |
" 1.0 * 1.0 = 1.0: OK" \ |
" 3.0 * 1.0 = 3.0: OK" \ |
" 1.5 * 2.0 = 3.0: OK" \ |
" -1.0 * 2.0 = -2.0: OK" \ |
" -1.0 * -2.0 = +2.0: OK" \ |
" +0.0 * 2.0 = +0.0: OK" \ |
" +0.0 * 2.0 = +0.0: OK" \ |
" +inf * -2.0 = -inf: OK" \ |
" +NaN * 2.0 = +NaN: OK" \ |
" 1.0 * 2^127 * 1.0 * 2^127 = +inf: OK" \ |
" -1.0 * 2^127 * 1.0 * 2^127 = -inf: OK" \ |
" 1.0 * 2^127 * -1.0 * 2^127 = -inf: OK" \ |
" -1.0 * 2^127 * -1.0 * 2^127 = +inf: OK" \ |
"!lf.rem.s" \ |
" 1.0 % 1.0 = +0.0: OK" \ |
" 1.0 % 2.0 = 1.0: OK" \ |
" 1.5 % 2.0 = 1.5: OK" \ |
" 2.0 % 1.5 = 0.5: OK" \ |
" 3.0 % 1.5 = +0.0: OK" \ |
" -3.0 % 2.0 = -1.0: OK" \ |
" -3.0 % 2.0 = -1.0: OK" \ |
" 3.0 % -2.0 = 1.0: OK" \ |
" -3.0 % -2.0 = -1.0: OK" \ |
" +0.0 % 2.0 = +0.0: OK" \ |
" -0.0 % 2.0 = -0.0: OK" \ |
" 2.0 % +0.0 = -NaN: OK" \ |
" -2.0 % +0.0 = -NaN: OK" \ |
" 2.0 % -0.0 = -NaN: OK" \ |
" 2.0 % +inf = 2.0: OK" \ |
" +inf % 2.0 = -NaN: OK" \ |
" 2.0 % +NaN = +NaN: OK" \ |
" +NaN % 2.0 = +NaN: OK" \ |
" 1.0 * 2^127 % 1.0 * 2^-129 = +0.0: OK" \ |
" 1.0 * 2^-129 % 1.0 * 2^127 = +0.0: OK" \ |
"!lf.sfeq.s" \ |
" 1.0 == 1.0: TRUE" \ |
" 1.0 == 2.0: FALSE" \ |
" 1.5 == 1.5: TRUE" \ |
" 1.5 == 0.5: FALSE" \ |
" -1.5 == -1.5: TRUE" \ |
" 1.5 == -1.5: FALSE" \ |
" +0.0 == +0.0: TRUE" \ |
" -0.0 == -0.0: TRUE" \ |
" +0.0 == -0.0: TRUE" \ |
" 1.0 == +inf: FALSE" \ |
" +inf == +inf: TRUE" \ |
" -inf == -inf: TRUE" \ |
" +inf == -inf: FALSE" \ |
" 1.0 == +NaN: FALSE" \ |
" +NaN == +NaN: FALSE" \ |
" -NaN == -NaN: FALSE" \ |
" +NaN == -NaN: FALSE" \ |
" 1.0 * 2^-129 == 1.0 * 2^-129: TRUE" \ |
" 1.0 * 2^-129 == 1.0 * 2^-128: FALSE" \ |
" 1.0 * 2^126 == 1.0 * 2^-128: FALSE" \ |
"!lf.sfge.s" \ |
" 1.0 >= 1.0: TRUE" \ |
" 2.0 >= 1.0: TRUE" \ |
" 1.0 >= 2.0: FALSE" \ |
" 1.5 >= 1.5: TRUE" \ |
" 1.5 >= 0.5: TRUE" \ |
" 0.5 >= 1.5: FALSE" \ |
" -1.5 >= -1.5: TRUE" \ |
" -1.5 >= -0.5: FALSE" \ |
" -0.5 >= -1.5: TRUE" \ |
" 1.5 >= -1.5: TRUE" \ |
" -1.5 >= 1.5: FALSE" \ |
" +0.0 >= +0.0: TRUE" \ |
" -0.0 >= -0.0: TRUE" \ |
" +0.0 >= -0.0: TRUE" \ |
" -0.0 >= +0.0: TRUE" \ |
" 1.0 >= +inf: FALSE" \ |
" +inf >= 1.0: TRUE" \ |
" 1.0 >= -inf: TRUE" \ |
" -inf >= 1.0: FALSE" \ |
" +inf >= +inf: TRUE" \ |
" -inf >= -inf: TRUE" \ |
" +inf >= -inf: TRUE" \ |
" -inf >= +inf: FALSE" \ |
" 1.0 >= +NaN: FALSE" \ |
" +NaN >= +NaN: FALSE" \ |
" -NaN >= -NaN: FALSE" \ |
" +NaN >= -NaN: FALSE" \ |
" -NaN >= +NaN: FALSE" \ |
" 1.0 * 2^-129 >= 1.0 * 2^-129: TRUE" \ |
" 1.0 * 2^-129 >= 1.0 * 2^-128: FALSE" \ |
" 1.0 * 2^-128 >= 1.0 * 2^-129: TRUE" \ |
" 1.0 * 2^126 >= 1.0 * 2^-128: TRUE" \ |
" 1.0 * 2^-128 >= 1.0 * 2^126: FALSE" \ |
"!lf.sfgt.s" \ |
" 1.0 > 1.0: FALSE" \ |
" 2.0 > 1.0: TRUE" \ |
" 1.0 > 2.0: FALSE" \ |
" 1.5 > 1.5: FALSE" \ |
" 1.5 > 0.5: TRUE" \ |
" 0.5 > 1.5: FALSE" \ |
" -1.5 > -1.5: FALSE" \ |
" -1.5 > -0.5: FALSE" \ |
" -0.5 > -1.5: TRUE" \ |
" 1.5 > -1.5: TRUE" \ |
" -1.5 > 1.5: FALSE" \ |
" +0.0 > +0.0: FALSE" \ |
" -0.0 > -0.0: FALSE" \ |
" +0.0 > -0.0: FALSE" \ |
" -0.0 > +0.0: FALSE" \ |
" 1.0 > +inf: FALSE" \ |
" +inf > 1.0: TRUE" \ |
" 1.0 > -inf: TRUE" \ |
" -inf > 1.0: FALSE" \ |
" +inf > +inf: FALSE" \ |
" -inf > -inf: FALSE" \ |
" +inf > -inf: TRUE" \ |
" -inf > +inf: FALSE" \ |
" 1.0 > +NaN: FALSE" \ |
" +NaN > +NaN: FALSE" \ |
" -NaN > -NaN: FALSE" \ |
" +NaN > -NaN: FALSE" \ |
" -NaN > +NaN: FALSE" \ |
" 1.0 * 2^-129 > 1.0 * 2^-129: FALSE" \ |
" 1.0 * 2^-129 > 1.0 * 2^-128: FALSE" \ |
" 1.0 * 2^-128 > 1.0 * 2^-129: TRUE" \ |
" 1.0 * 2^126 > 1.0 * 2^-128: TRUE" \ |
" 1.0 * 2^-128 > 1.0 * 2^126: FALSE" \ |
"!lf.sfle.s" \ |
" 1.0 <= 1.0: TRUE" \ |
" 2.0 <= 1.0: FALSE" \ |
" 1.0 <= 2.0: TRUE" \ |
" 1.5 <= 1.5: TRUE" \ |
" 1.5 <= 0.5: FALSE" \ |
" 0.5 <= 1.5: TRUE" \ |
" -1.5 <= -1.5: TRUE" \ |
" -1.5 <= -0.5: TRUE" \ |
" -0.5 <= -1.5: FALSE" \ |
" 1.5 <= -1.5: FALSE" \ |
" -1.5 <= 1.5: TRUE" \ |
" +0.0 <= +0.0: TRUE" \ |
" -0.0 <= -0.0: TRUE" \ |
" +0.0 <= -0.0: TRUE" \ |
" -0.0 <= +0.0: TRUE" \ |
" 1.0 <= +inf: TRUE" \ |
" +inf <= 1.0: FALSE" \ |
" 1.0 <= -inf: FALSE" \ |
" -inf <= 1.0: TRUE" \ |
" +inf <= +inf: TRUE" \ |
" -inf <= -inf: TRUE" \ |
" +inf <= -inf: FALSE" \ |
" -inf <= +inf: TRUE" \ |
" 1.0 <= +NaN: FALSE" \ |
" +NaN <= +NaN: FALSE" \ |
" -NaN <= -NaN: FALSE" \ |
" +NaN <= -NaN: FALSE" \ |
" -NaN <= +NaN: FALSE" \ |
" 1.0 * 2^-129 <= 1.0 * 2^-129: TRUE" \ |
" 1.0 * 2^-129 <= 1.0 * 2^-128: TRUE" \ |
" 1.0 * 2^-128 <= 1.0 * 2^-129: FALSE" \ |
" 1.0 * 2^126 <= 1.0 * 2^-128: FALSE" \ |
" 1.0 * 2^-128 <= 1.0 * 2^126: TRUE" \ |
"!lf.sflt.s" \ |
" 1.0 < 1.0: FALSE" \ |
" 2.0 < 1.0: FALSE" \ |
" 1.0 < 2.0: TRUE" \ |
" 1.5 < 1.5: FALSE" \ |
" 1.5 < 0.5: FALSE" \ |
" 0.5 < 1.5: TRUE" \ |
" -1.5 < -1.5: FALSE" \ |
" -1.5 < -0.5: TRUE" \ |
" -0.5 < -1.5: FALSE" \ |
" 1.5 < -1.5: FALSE" \ |
" -1.5 < 1.5: TRUE" \ |
" +0.0 < +0.0: FALSE" \ |
" -0.0 < -0.0: FALSE" \ |
" +0.0 < -0.0: FALSE" \ |
" -0.0 < +0.0: FALSE" \ |
" 1.0 < +inf: TRUE" \ |
" +inf < 1.0: FALSE" \ |
" 1.0 < -inf: FALSE" \ |
" -inf < 1.0: TRUE" \ |
" +inf < +inf: FALSE" \ |
" -inf < -inf: FALSE" \ |
" +inf < -inf: FALSE" \ |
" -inf < +inf: TRUE" \ |
" 1.0 < +NaN: FALSE" \ |
" +NaN < +NaN: FALSE" \ |
" -NaN < -NaN: FALSE" \ |
" +NaN < -NaN: FALSE" \ |
" -NaN < +NaN: FALSE" \ |
" 1.0 * 2^-129 < 1.0 * 2^-129: FALSE" \ |
" 1.0 * 2^-129 < 1.0 * 2^-128: TRUE" \ |
" 1.0 * 2^-128 < 1.0 * 2^-129: FALSE" \ |
" 1.0 * 2^126 < 1.0 * 2^-128: FALSE" \ |
" 1.0 * 2^-128 < 1.0 * 2^126: TRUE" \ |
"!lf.sfne.s" \ |
" 1.0 != 1.0: FALSE" \ |
" 1.0 != 2.0: TRUE" \ |
" 1.5 != 1.5: FALSE" \ |
" 1.5 != 0.5: TRUE" \ |
" -1.5 != -1.5: FALSE" \ |
" 1.5 != -1.5: TRUE" \ |
" +0.0 != +0.0: FALSE" \ |
" -0.0 != -0.0: FALSE" \ |
" +0.0 != -0.0: FALSE" \ |
" 1.0 != +inf: TRUE" \ |
" +inf != +inf: FALSE" \ |
" -inf != -inf: FALSE" \ |
" +inf != -inf: TRUE" \ |
" 1.0 != +NaN: TRUE" \ |
" +NaN != +NaN: TRUE" \ |
" -NaN != -NaN: TRUE" \ |
" +NaN != -NaN: TRUE" \ |
" 1.0 * 2^-129 != 1.0 * 2^-129: FALSE" \ |
" 1.0 * 2^-129 != 1.0 * 2^-128: TRUE" \ |
" 1.0 * 2^126 != 1.0 * 2^-128: TRUE" \ |
"!lf.sub.s" \ |
" 1.0 - 0.0 = 1.0: OK" \ |
" 1.0 - -0.0 = 1.0: OK" \ |
" 1.0 - 1.0 = +0.0: OK" \ |
" 2.0 - 1.0 = 1.0: OK" \ |
" 1.5 - 1.5 = +0.0: OK" \ |
" 1.5 - 0.5 = 1.0: OK" \ |
" 1.5 - 1.5 = 0.5: OK" \ |
" 2.0 - -1.0 = 3.0: OK" \ |
" 1.0 - -2.0 = 3.0: OK" \ |
" 1.0 - -1.0 = 2.0: OK" \ |
" -1.0 - 2.0 = -3.0: OK" \ |
" 1.0 - 2.0 = -1.0: OK" \ |
" -1.0 - -1.0 = 0.0: OK" \ |
" 1.0 - +inf = -inf: OK" \ |
" 1.0 - -inf = +inf: OK" \ |
" +inf - +inf = -NaN: OK" \ |
" +inf - -inf = +inf: OK" \ |
" -inf - -inf = -NaN: OK" \ |
" 1.0 - +NaN = +NaN: OK" \ |
" 1.0 - -NaN = -NaN: OK" \ |
" +NaN - +NaN = +NaN: OK" \ |
" +NaN - -NaN = +NaN: OK" \ |
" -NaN - -NaN = -NaN: OK" \ |
" 1.0 - +sNaN = +qNaN: OK" \ |
" 1.0 - -sNaN = -qNaN: OK" \ |
" -1.0 * 2^127 - 1.0 * 2^127 = +inf: OK" \ |
" 1.0 * 2^127 - -1.0 * 2^127 = -inf: OK" \ |
"!Test completed" \ |
"!report(0xdeaddead);" \ |
"!exit(0)"] \ |
" 1.0 + 0.0 = 1.0: OK" \ |
" 1.0 + -0.0 = 1.0: OK" \ |
" 1.0 + 1.0 = 2.0: OK" \ |
" 2.0 + 1.0 = 3.0: OK" \ |
" 1.5 + 1.5 = 3.0: OK" \ |
" 2.0 + -1.0 = 1.0: OK" \ |
" 1.0 + -2.0 = -1.0: OK" \ |
" 1.0 + -1.0 = +0.0: OK" \ |
" 1.0 + +inf = +inf: OK" \ |
" 1.0 + -inf = -inf: OK" \ |
" +inf + +inf = +inf: OK" \ |
" +inf + -inf = -NaN: OK" \ |
" -inf + -inf = -inf: OK" \ |
" 1.0 + +NaN = +NaN: OK" \ |
" 1.0 + -NaN = -NaN: OK" \ |
" +NaN + +NaN = +NaN: OK" \ |
" +NaN + -NaN = +NaN: OK" \ |
" -NaN + -NaN = -NaN: OK" \ |
" 1.0 + +sNaN = +qNaN: OK" \ |
" 1.0 + -sNaN = -qNaN: OK" \ |
" 1.0 * 2^127 + 1.0 * 2^127 = +inf: OK" \ |
" -1.0 * 2^127 + -1.0 * 2^127 = -inf: OK" \ |
"lf.cust1.s" \ |
" l.cust1: OK" \ |
"lf.div.s" \ |
" 1.0 / 1.0 = 1.0: OK" \ |
" 2.0 / 1.0 = 2.0: OK" \ |
" 3.0 / 2.0 = 1.5: OK" \ |
" +0.0 / 1.0 = +0.0: OK" \ |
" -0.0 / 1.0 = -0.0: OK" \ |
" -3.0 / 2.0 = -1.5: OK" \ |
" 3.0 / -2.0 = -1.5: OK" \ |
" -3.0 / -2.0 = -1.5: OK" \ |
" 1.0 / +0.0 = +inf: OK" \ |
" 1.0 / -0.0 = +inf: OK" \ |
" -1.0 / +0.0 = -inf: OK" \ |
" -1.0 / -0.0 = -inf: OK" \ |
" 1.0 / +inf = +0.0: OK" \ |
" 1.0 / -inf = -0.0: OK" \ |
" -1.0 / +inf = -0.0: OK" \ |
" -1.0 / -inf = +0.0: OK" \ |
" +inf / 1.0 = +inf: OK" \ |
" -inf / 1.0 = -inf: OK" \ |
" +inf / -1.0 = -inf: OK" \ |
" -inf / -1.0 = +inf: OK" \ |
" +inf / +inf = -NaN: OK" \ |
" +inf / -inf = -NaN: OK" \ |
" -inf / +inf = -NaN: OK" \ |
" -inf / -inf = -NaN: OK" \ |
" 1.0 / +NaN = +NaN: OK" \ |
" 1.0 / -NaN = -NaN: OK" \ |
" -1.0 / +NaN = +NaN: OK" \ |
" -1.0 / -NaN = 1NaN: OK" \ |
" +NaN / 1.0 = +NaN: OK" \ |
" -NaN / 1.0 = -NaN: OK" \ |
" +NaN / -1.0 = +NaN: OK" \ |
" -NaN / -1.0 = -NaN: OK" \ |
" +NaN / +NaN = +NaN: OK" \ |
" +NaN / -NaN = +NaN: OK" \ |
" -NaN / +NaN = -NaN: OK" \ |
" -NaN / -NaN = -NaN: OK" \ |
" 1.0 * 2^127 / 1.0 * 2^-129 = +inf: OK" \ |
" -1.0 * 2^127 / 1.0 * 2^-129 = -inf: OK" \ |
" 1.0 * 2^127 / -1.0 * 2^-129 = -inf: OK" \ |
" -1.0 * 2^127 / -1.0 * 2^-129 = +inf: OK" \ |
" 1.0 * 2^-129 / 1.0 * 2^127 = +0.0: OK" \ |
" -1.0 * 2^-129 / 1.0 * 2^127 = -0.0: OK" \ |
" 1.0 * 2^-129 / -1.0 * 2^127 = -0.0: OK" \ |
" -1.0 * 2^-129 / -1.0 * 2^127 = +0.0: OK" \ |
"lf.ftoi.s" \ |
" (int) 1.0 = 1: OK" \ |
" (int) -1.0 = -1: OK" \ |
" (int) +0.0 = 0: OK" \ |
" (int) -0.0 = 0: OK" \ |
" (int) 1.5 = 1: OK" \ |
" (int) -1.5 = -1: OK" \ |
" (int) 1.0 * 2^126 = 2^31: OK" \ |
" (int) -1.0 * 2^126 = -2^31: OK" \ |
" (int) 1.0 * 2^-129 = 0: OK" \ |
" (int) -1.0 * 2^-129 = 0: OK" \ |
" (int) +inf = 2^31: OK" \ |
" (int) -inf = -2^31: OK" \ |
" (int) +NaN = 2^31: OK" \ |
" (int) -NaN = 2^31: OK" \ |
"lf.itof.s" \ |
" (float) 1.0 = 1: OK" \ |
" (float) -1.0 = -1: OK" \ |
" (float) +0.0 = 0: OK" \ |
" (float) -0.0 = 0: OK" \ |
"lf.madd.s" \ |
" 1.0 + 1.0 * 1.0 = 2.0: OK" \ |
" 0.5 + 1.0 * 1.0 = 1.5: OK" \ |
" 1.0 + 0.5 * 2.0 = 2.0: OK" \ |
" 1.0 + -1.0 * 2.0 = -1.0: OK" \ |
" -2.0 + 2.0 * 0.5 = -1.0: OK" \ |
" -0.5 + -0.5 * 3.0 = -2.0: OK" \ |
" +0.0 + +0.0 * +0.0 = +0.0: OK" \ |
" -0.0 + +0.0 * -0.0 = +0.0: OK" \ |
" -0.0 + -0.0 * -0.0 = +0.0: OK" \ |
" -1.0 + 1.0 * 1.0 = +0.0: OK" \ |
" +inf + 1.0 * 1.0 = +inf: OK" \ |
" 1.0 + 1.0 * +inf = +inf: OK" \ |
" +inf + 1.0 * +inf = +inf: OK" \ |
" -inf + 1.0 * 1.0 = -inf: OK" \ |
" +NaN + 1.0 * 1.0 = +NaN: OK" \ |
" 1.0 + 1.0 * +NaN = +NaN: OK" \ |
" +NaN + 1.0 * +NaN = +NaN: OK" \ |
" -NaN + 1.0 * 1.0 = -NaN: OK" \ |
" 1.0 * 2^127 + 1.0 * 2^127 * 1.0 = +inf: OK" \ |
" 1.0 * 2^127 + 1.0 * 2^127 * 1.0 * 2^-129 = +inf: OK" \ |
"lf.mul.s" \ |
" 1.0 * 1.0 = 1.0: OK" \ |
" 3.0 * 1.0 = 3.0: OK" \ |
" 1.5 * 2.0 = 3.0: OK" \ |
" -1.0 * 2.0 = -2.0: OK" \ |
" -1.0 * -2.0 = +2.0: OK" \ |
" +0.0 * 2.0 = +0.0: OK" \ |
" +0.0 * 2.0 = +0.0: OK" \ |
" +inf * -2.0 = -inf: OK" \ |
" +NaN * 2.0 = +NaN: OK" \ |
" 1.0 * 2^127 * 1.0 * 2^127 = +inf: OK" \ |
" -1.0 * 2^127 * -1.0 * 2^127 = +inf: OK" \ |
" -1.0 * 2^127 * 1.0 * 2^127 = -inf: OK" \ |
" 1.0 * 2^127 * -1.0 * 2^127 = -inf: OK" \ |
"lf.rem.s" \ |
" 1.0 % 1.0 = +0.0: OK" \ |
" 1.0 % 2.0 = 1.0: OK" \ |
" 2.0 % 1.5 = 0.5: OK" \ |
" 3.0 % 1.5 = +0.0: OK" \ |
" +0.0 % 2.0 = +0.0: OK" \ |
" -0.0 % 2.0 = -0.0: OK" \ |
" 2.0 % +0.0 = -NaN: OK" \ |
" -2.0 % +0.0 = -NaN: OK" \ |
" 2.0 % -0.0 = -NaN: OK" \ |
" 2.0 % +inf = 2.0: OK" \ |
" +inf % 2.0 = -NaN: OK" \ |
" 2.0 % +NaN = +NaN: OK" \ |
" +NaN % 2.0 = +NaN: OK" \ |
" 1.0 * 2^127 % 1.0 * 2^-129 = +0.0: OK" \ |
" 1.0 * 2^-129 % 1.0 * 2^127 = +0.0: OK" \ |
"lf.sfeq.s" \ |
" 1.0 == 1.0: TRUE" \ |
" 1.0 == 2.0: FALSE" \ |
" 1.5 == 1.5: TRUE" \ |
" 1.5 == 0.5: FALSE" \ |
" -1.5 == -1.5: TRUE" \ |
" 1.5 == -1.5: FALSE" \ |
" +0.0 == +0.0: TRUE" \ |
" -0.0 == -0.0: TRUE" \ |
" +0.0 == -0.0: TRUE" \ |
" 1.0 == +inf: FALSE" \ |
" +inf == +inf: TRUE" \ |
" -inf == -inf: TRUE" \ |
" +inf == -inf: FALSE" \ |
" 1.0 == +NaN: FALSE" \ |
" +NaN == +NaN: FALSE" \ |
" -NaN == -NaN: FALSE" \ |
" +NaN == -NaN: FALSE" \ |
" 1.0 * 2^-129 == 1.0 * 2^-129: TRUE" \ |
" 1.0 * 2^-129 == 1.0 * 2^-128: FALSE" \ |
" 1.0 * 2^126 == 1.0 * 2^-128: FALSE" \ |
"lf.sfge.s" \ |
" 1.0 >= 1.0: TRUE" \ |
" 2.0 >= 1.0: TRUE" \ |
" 1.0 >= 2.0: FALSE" \ |
" 1.5 >= 1.5: TRUE" \ |
" 1.5 >= 0.5: TRUE" \ |
" 0.5 >= 1.5: FALSE" \ |
" -1.5 >= -1.5: TRUE" \ |
" -1.5 >= -0.5: FALSE" \ |
" -0.5 >= -1.5: TRUE" \ |
" 1.5 >= -1.5: TRUE" \ |
" -1.5 >= 1.5: FALSE" \ |
" +0.0 >= +0.0: TRUE" \ |
" -0.0 >= -0.0: TRUE" \ |
" +0.0 >= -0.0: TRUE" \ |
" -0.0 >= +0.0: TRUE" \ |
" 1.0 >= +inf: FALSE" \ |
" +inf >= 1.0: TRUE" \ |
" 1.0 >= -inf: TRUE" \ |
" -inf >= 1.0: FALSE" \ |
" +inf >= +inf: TRUE" \ |
" -inf >= -inf: TRUE" \ |
" +inf >= -inf: TRUE" \ |
" -inf >= +inf: FALSE" \ |
" 1.0 >= +NaN: FALSE" \ |
" +NaN >= +NaN: FALSE" \ |
" -NaN >= -NaN: FALSE" \ |
" +NaN >= -NaN: FALSE" \ |
" -NaN >= +NaN: FALSE" \ |
" 1.0 * 2^-129 >= 1.0 * 2^-129: TRUE" \ |
" 1.0 * 2^-129 >= 1.0 * 2^-128: FALSE" \ |
" 1.0 * 2^-128 >= 1.0 * 2^-129: TRUE" \ |
" 1.0 * 2^126 >= 1.0 * 2^-128: TRUE" \ |
" 1.0 * 2^-128 >= 1.0 * 2^126: FALSE" \ |
"lf.sfgt.s" \ |
" 1.0 > 1.0: FALSE" \ |
" 2.0 > 1.0: TRUE" \ |
" 1.0 > 2.0: FALSE" \ |
" 1.5 > 1.5: FALSE" \ |
" 1.5 > 0.5: TRUE" \ |
" 0.5 > 1.5: FALSE" \ |
" -1.5 > -1.5: FALSE" \ |
" -1.5 > -0.5: FALSE" \ |
" -0.5 > -1.5: TRUE" \ |
" 1.5 > -1.5: TRUE" \ |
" -1.5 > 1.5: FALSE" \ |
" +0.0 > +0.0: FALSE" \ |
" -0.0 > -0.0: FALSE" \ |
" +0.0 > -0.0: FALSE" \ |
" -0.0 > +0.0: FALSE" \ |
" 1.0 > +inf: FALSE" \ |
" +inf > 1.0: TRUE" \ |
" 1.0 > -inf: TRUE" \ |
" -inf > 1.0: FALSE" \ |
" +inf > +inf: FALSE" \ |
" -inf > -inf: FALSE" \ |
" +inf > -inf: TRUE" \ |
" -inf > +inf: FALSE" \ |
" 1.0 > +NaN: FALSE" \ |
" +NaN > +NaN: FALSE" \ |
" -NaN > -NaN: FALSE" \ |
" +NaN > -NaN: FALSE" \ |
" -NaN > +NaN: FALSE" \ |
" 1.0 * 2^-129 > 1.0 * 2^-129: FALSE" \ |
" 1.0 * 2^-129 > 1.0 * 2^-128: FALSE" \ |
" 1.0 * 2^-128 > 1.0 * 2^-129: TRUE" \ |
" 1.0 * 2^126 > 1.0 * 2^-128: TRUE" \ |
" 1.0 * 2^-128 > 1.0 * 2^126: FALSE" \ |
"lf.sfle.s" \ |
" 1.0 <= 1.0: TRUE" \ |
" 2.0 <= 1.0: FALSE" \ |
" 1.0 <= 2.0: TRUE" \ |
" 1.5 <= 1.5: TRUE" \ |
" 1.5 <= 0.5: FALSE" \ |
" 0.5 <= 1.5: TRUE" \ |
" -1.5 <= -1.5: TRUE" \ |
" -1.5 <= -0.5: TRUE" \ |
" -0.5 <= -1.5: FALSE" \ |
" 1.5 <= -1.5: FALSE" \ |
" -1.5 <= 1.5: TRUE" \ |
" +0.0 <= +0.0: TRUE" \ |
" -0.0 <= -0.0: TRUE" \ |
" +0.0 <= -0.0: TRUE" \ |
" -0.0 <= +0.0: TRUE" \ |
" 1.0 <= +inf: TRUE" \ |
" +inf <= 1.0: FALSE" \ |
" 1.0 <= -inf: FALSE" \ |
" -inf <= 1.0: TRUE" \ |
" +inf <= +inf: TRUE" \ |
" -inf <= -inf: TRUE" \ |
" +inf <= -inf: FALSE" \ |
" -inf <= +inf: TRUE" \ |
" 1.0 <= +NaN: FALSE" \ |
" +NaN <= +NaN: FALSE" \ |
" -NaN <= -NaN: FALSE" \ |
" +NaN <= -NaN: FALSE" \ |
" -NaN <= +NaN: FALSE" \ |
" 1.0 * 2^-129 <= 1.0 * 2^-129: TRUE" \ |
" 1.0 * 2^-129 <= 1.0 * 2^-128: TRUE" \ |
" 1.0 * 2^-128 <= 1.0 * 2^-129: FALSE" \ |
" 1.0 * 2^126 <= 1.0 * 2^-128: FALSE" \ |
" 1.0 * 2^-128 <= 1.0 * 2^126: TRUE" \ |
"lf.sflt.s" \ |
" 1.0 < 1.0: FALSE" \ |
" 2.0 < 1.0: FALSE" \ |
" 1.0 < 2.0: TRUE" \ |
" 1.5 < 1.5: FALSE" \ |
" 1.5 < 0.5: FALSE" \ |
" 0.5 < 1.5: TRUE" \ |
" -1.5 < -1.5: FALSE" \ |
" -1.5 < -0.5: TRUE" \ |
" -0.5 < -1.5: FALSE" \ |
" 1.5 < -1.5: FALSE" \ |
" -1.5 < 1.5: TRUE" \ |
" +0.0 < +0.0: FALSE" \ |
" -0.0 < -0.0: FALSE" \ |
" +0.0 < -0.0: FALSE" \ |
" -0.0 < +0.0: FALSE" \ |
" 1.0 < +inf: TRUE" \ |
" +inf < 1.0: FALSE" \ |
" 1.0 < -inf: FALSE" \ |
" -inf < 1.0: TRUE" \ |
" +inf < +inf: FALSE" \ |
" -inf < -inf: FALSE" \ |
" +inf < -inf: FALSE" \ |
" -inf < +inf: TRUE" \ |
" 1.0 < +NaN: FALSE" \ |
" +NaN < +NaN: FALSE" \ |
" -NaN < -NaN: FALSE" \ |
" +NaN < -NaN: FALSE" \ |
" -NaN < +NaN: FALSE" \ |
" 1.0 * 2^-129 < 1.0 * 2^-129: FALSE" \ |
" 1.0 * 2^-129 < 1.0 * 2^-128: TRUE" \ |
" 1.0 * 2^-128 < 1.0 * 2^-129: FALSE" \ |
" 1.0 * 2^126 < 1.0 * 2^-128: FALSE" \ |
" 1.0 * 2^-128 < 1.0 * 2^126: TRUE" \ |
"lf.sfne.s" \ |
" 1.0 != 1.0: FALSE" \ |
" 1.0 != 2.0: TRUE" \ |
" 1.5 != 1.5: FALSE" \ |
" 1.5 != 0.5: TRUE" \ |
" -1.5 != -1.5: FALSE" \ |
" 1.5 != -1.5: TRUE" \ |
" +0.0 != +0.0: FALSE" \ |
" -0.0 != -0.0: FALSE" \ |
" +0.0 != -0.0: FALSE" \ |
" 1.0 != +inf: TRUE" \ |
" +inf != +inf: FALSE" \ |
" -inf != -inf: FALSE" \ |
" +inf != -inf: TRUE" \ |
" 1.0 != +NaN: TRUE" \ |
" +NaN != +NaN: TRUE" \ |
" -NaN != -NaN: TRUE" \ |
" +NaN != -NaN: TRUE" \ |
" 1.0 * 2^-129 != 1.0 * 2^-129: FALSE" \ |
" 1.0 * 2^-129 != 1.0 * 2^-128: TRUE" \ |
" 1.0 * 2^126 != 1.0 * 2^-128: TRUE" \ |
"lf.sub.s" \ |
" 1.0 - 0.0 = 1.0: OK" \ |
" 1.0 - -0.0 = 1.0: OK" \ |
" 1.0 - 1.0 = +0.0: OK" \ |
" 2.0 - 1.0 = 1.0: OK" \ |
" 1.5 - 1.5 = +0.0: OK" \ |
" 1.5 - 0.5 = 1.0: OK" \ |
" 1.5 - 1.5 = 0.5: OK" \ |
" 2.0 - -1.0 = 3.0: OK" \ |
" 1.0 - -2.0 = 3.0: OK" \ |
" 1.0 - -1.0 = 2.0: OK" \ |
" -1.0 - 2.0 = -3.0: OK" \ |
" 1.0 - 2.0 = -1.0: OK" \ |
" -1.0 - -1.0 = 0.0: OK" \ |
" 1.0 - +inf = -inf: OK" \ |
" 1.0 - -inf = +inf: OK" \ |
" +inf - +inf = -NaN: OK" \ |
" +inf - -inf = +inf: OK" \ |
" -inf - -inf = -NaN: OK" \ |
" 1.0 - +NaN = +NaN: OK" \ |
" 1.0 - -NaN = -NaN: OK" \ |
" +NaN - +NaN = +NaN: OK" \ |
" +NaN - -NaN = +NaN: OK" \ |
" -NaN - -NaN = -NaN: OK" \ |
" 1.0 - +sNaN = +qNaN: OK" \ |
" 1.0 - -sNaN = -qNaN: OK" \ |
" -1.0 * 2^127 - 1.0 * 2^127 = +inf: OK" \ |
" 1.0 * 2^127 - -1.0 * 2^127 = -inf: OK" \ |
"Test completed" \ |
"report(0xdeaddead);" \ |
"exit(0)"] \ |
"fp.cfg" "fp/fp" |
/testfloat.cfg
0,0 → 1,150
/* fp.cfg -- Or1ksim configuration script file when using FP instructions. |
|
Copyright (C) 2001, Marko Mlinar <markom@opencores.org> |
Copyright (C) 2010 Embecosm Limited |
|
Contributor Marko Mlinar <markom@opencores.org> |
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/>. */ |
|
section memory |
/*random_seed = 12345 |
type = random*/ |
pattern = 0x00 |
type = unknown /* Fastest */ |
|
name = "FLASH" |
ce = 0 |
mc = 0 |
baseaddr = 0xf0000000 |
size = 0x00200000 |
delayr = 10 |
delayw = -1 |
end |
|
section memory |
/*random_seed = 12345 |
type = random*/ |
pattern = 0x00 |
type = unknown /* Fastest */ |
|
name = "RAM" |
ce = 1 |
mc = 0 |
baseaddr = 0x00000000 |
size = 0x00200000 |
delayr = 1 |
delayw = 1 |
end |
|
section immu |
enabled = 1 |
nsets = 64 |
nways = 1 |
ustates = 2 |
pagesize = 8192 |
end |
|
section dmmu |
enabled = 1 |
nsets = 64 |
nways = 1 |
ustates = 2 |
pagesize = 8192 |
end |
|
section ic |
enabled = 1 |
nsets = 256 |
nways = 1 |
ustates = 2 |
blocksize = 16 |
end |
|
section dc |
enabled = 1 |
nsets = 256 |
nways = 1 |
ustates = 2 |
blocksize = 16 |
end |
|
section cpu |
ver = 0x12 |
rev = 0x0001 |
/* upr = */ |
superscalar = 0 |
hazards = 0 |
dependstats = 0 |
hardfloat = 1 |
end |
|
section bpb |
enabled = 0 |
btic = 0 |
end |
|
section debug |
/* enabled = 1 |
rsp_enabled = 1 |
rsp_port = 51000 */ |
end |
|
section sim |
debug = 0 |
profile = 0 |
prof_fn = "sim.profile" |
|
exe_log = 0 |
exe_log_type = software |
exe_log_fn = "executed.log" |
end |
|
section mc |
enabled = 1 |
baseaddr = 0x93000000 |
POC = 0x00000008 /* Power on configuration register */ |
index = 0 |
end |
|
section dma |
baseaddr = 0xB8000000 |
irq = 4 |
end |
|
section ethernet |
enabled = 0 |
baseaddr = 0x92000000 |
irq = 4 |
rtx_type = 0 |
end |
|
section VAPI |
enabled = 0 |
server_port = 9998 |
end |
|
section fb |
enabled = 1 |
baseaddr = 0x97000000 |
refresh_rate = 10000 |
filename = "primary" |
end |
|
section kbd |
enabled = 0 |
end |
/fp.cfg
47,8 → 47,8
mc = 0 |
baseaddr = 0x00000000 |
size = 0x00200000 |
delayr = 2 |
delayw = 4 |
delayr = 1 |
delayw = 1 |
end |
|
section immu |