aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Newsome <tim@sifive.com>2017-12-20 12:17:05 -0800
committerTim Newsome <tim@sifive.com>2017-12-20 12:17:05 -0800
commit30b70b7ed988fa06ab423e05b272898a1527ba11 (patch)
treeba663c8457f72f216b2266ea45b371c177507d7f
parentaaf4df2371624744bd90e2c9e71cabab2d91d9e1 (diff)
downloadriscv-tests-30b70b7ed988fa06ab423e05b272898a1527ba11.zip
riscv-tests-30b70b7ed988fa06ab423e05b272898a1527ba11.tar.gz
riscv-tests-30b70b7ed988fa06ab423e05b272898a1527ba11.tar.bz2
Verify that F18 does not exist on FPU-less targets
-rwxr-xr-xdebug/gdbserver.py37
1 files changed, 20 insertions, 17 deletions
diff --git a/debug/gdbserver.py b/debug/gdbserver.py
index 521fffb..d7092a8 100755
--- a/debug/gdbserver.py
+++ b/debug/gdbserver.py
@@ -106,23 +106,26 @@ class SimpleT1Test(SimpleRegisterTest):
class SimpleF18Test(SimpleRegisterTest):
def check_reg(self, name, alias):
- self.gdb.p_raw("$mstatus=$mstatus | 0x00006000")
- self.gdb.stepi()
- a = random.random()
- b = random.random()
- self.gdb.p_raw("$%s=%f" % (name, a))
- assertLess(abs(float(self.gdb.p_raw("$%s" % alias)) - a), .001)
- self.gdb.stepi()
- assertLess(abs(float(self.gdb.p_raw("$%s" % name)) - a), .001)
- assertLess(abs(float(self.gdb.p_raw("$%s" % alias)) - a), .001)
- self.gdb.p_raw("$%s=%f" % (alias, b))
- assertLess(abs(float(self.gdb.p_raw("$%s" % name)) - b), .001)
- self.gdb.stepi()
- assertLess(abs(float(self.gdb.p_raw("$%s" % name)) - b), .001)
- assertLess(abs(float(self.gdb.p_raw("$%s" % alias)) - b), .001)
-
- def early_applicable(self):
- return self.hart.extensionSupported('F')
+ if self.hart.extensionSupported('F'):
+ self.gdb.p_raw("$mstatus=$mstatus | 0x00006000")
+ self.gdb.stepi()
+ a = random.random()
+ b = random.random()
+ self.gdb.p_raw("$%s=%f" % (name, a))
+ assertLess(abs(float(self.gdb.p_raw("$%s" % alias)) - a), .001)
+ self.gdb.stepi()
+ assertLess(abs(float(self.gdb.p_raw("$%s" % name)) - a), .001)
+ assertLess(abs(float(self.gdb.p_raw("$%s" % alias)) - a), .001)
+ self.gdb.p_raw("$%s=%f" % (alias, b))
+ assertLess(abs(float(self.gdb.p_raw("$%s" % name)) - b), .001)
+ self.gdb.stepi()
+ assertLess(abs(float(self.gdb.p_raw("$%s" % name)) - b), .001)
+ assertLess(abs(float(self.gdb.p_raw("$%s" % alias)) - b), .001)
+ else:
+ output = self.gdb.p_raw("$" + name)
+ assertEqual(output, "void")
+ output = self.gdb.p_raw("$" + alias)
+ assertEqual(output, "void")
def test(self):
self.check_reg("f18", "fs2")