openpower-isa.git
2 years agoadd expected argument to TestCase
Luke Kenneth Casson Leighton [Wed, 22 Sep 2021 20:08:45 +0000 (21:08 +0100)]
add expected argument to TestCase

2 years agotake a copy of SPRs so they are not modified by ISACaller
Luke Kenneth Casson Leighton [Wed, 22 Sep 2021 18:33:40 +0000 (19:33 +0100)]
take a copy of SPRs so they are not modified by ISACaller

2 years agosplit out function which processes initial test memory values in Mem class
Luke Kenneth Casson Leighton [Wed, 22 Sep 2021 15:48:45 +0000 (16:48 +0100)]
split out function which processes initial test memory values in Mem class

2 years agomade mem sizes equal for compare purposes
klehman [Wed, 22 Sep 2021 13:44:28 +0000 (09:44 -0400)]
made mem sizes equal for compare purposes

2 years agoadded teststate_check_mem
klehman [Tue, 21 Sep 2021 18:08:19 +0000 (14:08 -0400)]
added teststate_check_mem

2 years agofix borked TestState.get_mem() assumed simmem.depth existed DRAFT_SVP64_0_1
Luke Kenneth Casson Leighton [Tue, 21 Sep 2021 14:45:49 +0000 (15:45 +0100)]
fix borked TestState.get_mem() assumed simmem.depth existed

2 years agosyntax error
Luke Kenneth Casson Leighton [Mon, 20 Sep 2021 17:35:12 +0000 (18:35 +0100)]
syntax error

2 years agowalk whole of sim memory rather than risk missing some addresses
Luke Kenneth Casson Leighton [Mon, 20 Sep 2021 17:34:16 +0000 (18:34 +0100)]
walk whole of sim memory rather than risk missing some addresses

2 years agoalways store full memory state (including zeros)
Luke Kenneth Casson Leighton [Sat, 18 Sep 2021 15:04:33 +0000 (16:04 +0100)]
always store full memory state (including zeros)

2 years agoadded get_mem and compare_mem
klehman [Sat, 18 Sep 2021 11:42:22 +0000 (07:42 -0400)]
added get_mem and compare_mem

2 years agoadd mock power-instruction-analyzer implementation to test_caller_bcd_full.py
Jacob Lifshay [Thu, 16 Sep 2021 21:02:09 +0000 (14:02 -0700)]
add mock power-instruction-analyzer implementation to test_caller_bcd_full.py

for use until pia is ported to python

2 years agofix test_caller_bcd_full.py not actually running correct test cases
Jacob Lifshay [Tue, 7 Sep 2021 06:53:26 +0000 (23:53 -0700)]
fix test_caller_bcd_full.py not actually running correct test cases

2 years agoadd test_caller_bcd_full.py to fully test all edge cases missed by test_caller_bcd.py
Jacob Lifshay [Tue, 7 Sep 2021 05:35:07 +0000 (22:35 -0700)]
add test_caller_bcd_full.py to fully test all edge cases missed by test_caller_bcd.py

2 years agobit of a mess, got a working check against static ExpectedState
Luke Kenneth Casson Leighton [Thu, 16 Sep 2021 23:08:32 +0000 (00:08 +0100)]
bit of a mess, got a working check against static ExpectedState
needed to extract state from the simulator *inside* the nmigen process()
function

2 years agowhoops must check crregs being int, not int_regs
Luke Kenneth Casson Leighton [Thu, 16 Sep 2021 23:07:28 +0000 (00:07 +0100)]
whoops must check crregs being int, not int_regs

2 years agogrr weird syntax error
Luke Kenneth Casson Leighton [Thu, 16 Sep 2021 22:35:32 +0000 (23:35 +0100)]
grr weird syntax error

2 years agoanother yield excursion
klehman [Thu, 16 Sep 2021 22:08:36 +0000 (18:08 -0400)]
another yield excursion

2 years agopep8 fix
klehman [Thu, 16 Sep 2021 19:23:23 +0000 (15:23 -0400)]
pep8 fix

2 years agoreduce code linecount slightly
Luke Kenneth Casson Leighton [Thu, 16 Sep 2021 18:48:32 +0000 (19:48 +0100)]
reduce code linecount slightly

2 years agoadded defaults for expected state parameters
klehman [Thu, 16 Sep 2021 17:43:19 +0000 (13:43 -0400)]
added defaults for expected state parameters

2 years agomoving teststate_check_regs written by klehman into openpower-isa
Luke Kenneth Casson Leighton [Thu, 16 Sep 2021 16:06:27 +0000 (17:06 +0100)]
moving teststate_check_regs written by klehman into openpower-isa

2 years agoshift__rot_caller change to use expected state
klehman [Thu, 16 Sep 2021 14:54:26 +0000 (10:54 -0400)]
shift__rot_caller change to use expected state

2 years agorevised state class for expected
klehman [Wed, 15 Sep 2021 21:52:21 +0000 (17:52 -0400)]
revised state class for expected

2 years agoyield from in unit test
klehman [Wed, 15 Sep 2021 19:42:57 +0000 (15:42 -0400)]
yield from in unit test

2 years agoexpected class WIP
klehman [Wed, 15 Sep 2021 19:13:12 +0000 (15:13 -0400)]
expected class WIP

2 years agochange state_add to name, kls
Luke Kenneth Casson Leighton [Tue, 14 Sep 2021 17:39:38 +0000 (18:39 +0100)]
change state_add to name, kls

2 years agoadd copy of teststate.py written by klehman
Luke Kenneth Casson Leighton [Tue, 14 Sep 2021 16:52:52 +0000 (17:52 +0100)]
add copy of teststate.py written by klehman

2 years agowhitespace
Luke Kenneth Casson Leighton [Sun, 12 Sep 2021 13:37:10 +0000 (14:37 +0100)]
whitespace

2 years agoadded assertion to regression_rlwnm
klehman [Tue, 7 Sep 2021 15:47:32 +0000 (11:47 -0400)]
added assertion to regression_rlwnm

2 years agofixedtrap: switch tw to XLEN
Dmitry Selyutin [Sat, 4 Sep 2021 19:38:56 +0000 (19:38 +0000)]
fixedtrap: switch tw to XLEN

2 years agofixedtrap: switch twi to XLEN
Dmitry Selyutin [Sat, 4 Sep 2021 19:38:26 +0000 (19:38 +0000)]
fixedtrap: switch twi to XLEN

2 years agoXLEN-ify bcd instructions
Jacob Lifshay [Tue, 7 Sep 2021 06:54:12 +0000 (23:54 -0700)]
XLEN-ify bcd instructions

2 years agoclean up test_caller_bcd.py
Jacob Lifshay [Tue, 7 Sep 2021 05:10:22 +0000 (22:10 -0700)]
clean up test_caller_bcd.py

2 years agoadd missing items to .gitignore
Jacob Lifshay [Tue, 7 Sep 2021 05:09:51 +0000 (22:09 -0700)]
add missing items to .gitignore

2 years agoremoved duplicate function and unneeded modules
Luke Kenneth Casson Leighton [Tue, 7 Sep 2021 10:07:23 +0000 (11:07 +0100)]
removed duplicate function and unneeded modules

2 years agoFixed typo for sraw test
klehman [Tue, 7 Sep 2021 02:22:12 +0000 (22:22 -0400)]
Fixed typo for sraw test

2 years agoInitial commit for shift/rotate caller
klehman [Tue, 7 Sep 2021 01:02:50 +0000 (21:02 -0400)]
Initial commit for shift/rotate caller

2 years agocomparefixed: switch cmpeqb to XLEN
Dmitry Selyutin [Sat, 4 Sep 2021 18:05:40 +0000 (18:05 +0000)]
comparefixed: switch cmpeqb to XLEN

2 years agocomparefixed: switch cmprb to XLEN
Dmitry Selyutin [Sat, 4 Sep 2021 17:37:55 +0000 (17:37 +0000)]
comparefixed: switch cmprb to XLEN

2 years agocomparefixed: switch cmpl to XLEN
Dmitry Selyutin [Sat, 4 Sep 2021 17:30:12 +0000 (17:30 +0000)]
comparefixed: switch cmpl to XLEN

2 years agocomparefixed: switch cmpli to XLEN
Dmitry Selyutin [Sat, 4 Sep 2021 17:29:28 +0000 (17:29 +0000)]
comparefixed: switch cmpli to XLEN

2 years agocomparefixed: switch cmp to XLEN
Dmitry Selyutin [Sat, 4 Sep 2021 17:27:44 +0000 (17:27 +0000)]
comparefixed: switch cmp to XLEN

2 years agocomparefixed: switch cmpi to XLEN
Dmitry Selyutin [Sat, 4 Sep 2021 17:27:20 +0000 (17:27 +0000)]
comparefixed: switch cmpi to XLEN

2 years agotest_caller_bcd: switch to test_runner module
Dmitry Selyutin [Fri, 3 Sep 2021 20:31:34 +0000 (20:31 +0000)]
test_caller_bcd: switch to test_runner module

2 years agotest_runner: support custom pdecode2 instances
Dmitry Selyutin [Fri, 3 Sep 2021 20:29:00 +0000 (20:29 +0000)]
test_runner: support custom pdecode2 instances

2 years agosplit out ISATestRunner to separate module
Luke Kenneth Casson Leighton [Sat, 4 Sep 2021 13:11:47 +0000 (14:11 +0100)]
split out ISATestRunner to separate module

2 years agoredo SVP64 RM Decode to new CTR-Test Mode (svstep not included)
Luke Kenneth Casson Leighton [Sat, 4 Sep 2021 12:24:55 +0000 (13:24 +0100)]
redo SVP64 RM Decode to new CTR-Test Mode (svstep not included)

2 years agofixedstore: switch stwux to XLEN
Dmitry Selyutin [Fri, 3 Sep 2021 17:52:12 +0000 (17:52 +0000)]
fixedstore: switch stwux to XLEN

2 years agofixedstore: switch stwu to XLEN
Dmitry Selyutin [Fri, 3 Sep 2021 17:51:13 +0000 (17:51 +0000)]
fixedstore: switch stwu to XLEN

2 years agofixedstore: switch stwx to XLEN
Dmitry Selyutin [Fri, 3 Sep 2021 17:50:49 +0000 (17:50 +0000)]
fixedstore: switch stwx to XLEN

2 years agofixedstore: switch stw to XLEN
Dmitry Selyutin [Fri, 3 Sep 2021 17:50:00 +0000 (17:50 +0000)]
fixedstore: switch stw to XLEN

2 years agofixedstore: switch sthux to XLEN
Dmitry Selyutin [Fri, 3 Sep 2021 17:40:18 +0000 (17:40 +0000)]
fixedstore: switch sthux to XLEN

2 years agofixedstore: switch sthu to XLEN
Dmitry Selyutin [Fri, 3 Sep 2021 17:39:33 +0000 (17:39 +0000)]
fixedstore: switch sthu to XLEN

2 years agofixedstore: switch sthx to XLEN
Dmitry Selyutin [Fri, 3 Sep 2021 17:39:16 +0000 (17:39 +0000)]
fixedstore: switch sthx to XLEN

2 years agofixedstore: switch sth to XLEN
Dmitry Selyutin [Fri, 3 Sep 2021 17:38:37 +0000 (17:38 +0000)]
fixedstore: switch sth to XLEN

2 years agofixedstore: switch stbux to XLEN
Dmitry Selyutin [Fri, 3 Sep 2021 17:32:32 +0000 (17:32 +0000)]
fixedstore: switch stbux to XLEN

2 years agofixedstore: switch stbu to XLEN
Dmitry Selyutin [Fri, 3 Sep 2021 17:31:53 +0000 (17:31 +0000)]
fixedstore: switch stbu to XLEN

2 years agofixedstore: switch stbx to XLEN
Dmitry Selyutin [Fri, 3 Sep 2021 17:31:23 +0000 (17:31 +0000)]
fixedstore: switch stbx to XLEN

2 years agofixedstore: switch stb to XLEN
Dmitry Selyutin [Fri, 3 Sep 2021 17:30:13 +0000 (17:30 +0000)]
fixedstore: switch stb to XLEN

2 years agouse brackets round (XLEN/2) in divw pseudocode
Luke Kenneth Casson Leighton [Fri, 3 Sep 2021 07:49:13 +0000 (08:49 +0100)]
use brackets round (XLEN/2) in divw pseudocode
[0]*XLEN/2 was being interpreted as ([0]*XLEN)/2

2 years agodetect native ppc64le
Luke Kenneth Casson Leighton [Thu, 2 Sep 2021 20:48:35 +0000 (21:48 +0100)]
detect native ppc64le

2 years agodetect native ppc64le
Luke Kenneth Casson Leighton [Thu, 2 Sep 2021 20:47:37 +0000 (21:47 +0100)]
detect native ppc64le

2 years agooff-by-one in srad, same as sld and srd: XLEN-6:XLEN-1 not XLEN-5:XLEN-1
Luke Kenneth Casson Leighton [Wed, 1 Sep 2021 19:29:24 +0000 (20:29 +0100)]
off-by-one in srad, same as sld and srd: XLEN-6:XLEN-1 not XLEN-5:XLEN-1

2 years agofixedshift: switch sradX to XLEN
Dmitry Selyutin [Tue, 31 Aug 2021 20:28:26 +0000 (20:28 +0000)]
fixedshift: switch sradX to XLEN

2 years agooff-by-one in sld and srd, XLEN-6:XLEN-1 not XLEN-5:XLEN-1
Luke Kenneth Casson Leighton [Wed, 1 Sep 2021 19:26:33 +0000 (20:26 +0100)]
off-by-one in sld and srd, XLEN-6:XLEN-1 not XLEN-5:XLEN-1

2 years agofixedshift: switch srdX to XLEN
Dmitry Selyutin [Tue, 31 Aug 2021 20:27:42 +0000 (20:27 +0000)]
fixedshift: switch srdX to XLEN

2 years agofixedshift: switch sldX to XLEN
Dmitry Selyutin [Tue, 31 Aug 2021 20:26:51 +0000 (20:26 +0000)]
fixedshift: switch sldX to XLEN

2 years agofixedshift: switch srawX to XLEN
Dmitry Selyutin [Tue, 31 Aug 2021 20:26:15 +0000 (20:26 +0000)]
fixedshift: switch srawX to XLEN

2 years agofixedshift: switch srwX to XLEN
Dmitry Selyutin [Tue, 31 Aug 2021 20:25:04 +0000 (20:25 +0000)]
fixedshift: switch srwX to XLEN

2 years agofixedshift: switch slwX to XLEN
Dmitry Selyutin [Tue, 31 Aug 2021 20:24:13 +0000 (20:24 +0000)]
fixedshift: switch slwX to XLEN

2 years agofixedshift: switch rldcrX to XLEN
Dmitry Selyutin [Tue, 31 Aug 2021 20:22:14 +0000 (20:22 +0000)]
fixedshift: switch rldcrX to XLEN

2 years agofixedshift: switch rldclX to XLEN
Dmitry Selyutin [Tue, 31 Aug 2021 20:21:40 +0000 (20:21 +0000)]
fixedshift: switch rldclX to XLEN

2 years agofixedshift: switch rlwnmX to XLEN
Dmitry Selyutin [Tue, 31 Aug 2021 20:21:26 +0000 (20:21 +0000)]
fixedshift: switch rlwnmX to XLEN

2 years agofixedshift: switch extswsliX to XLEN
Dmitry Selyutin [Tue, 31 Aug 2021 20:01:21 +0000 (20:01 +0000)]
fixedshift: switch extswsliX to XLEN

2 years agofixedshift: switch sradiX to XLEN
Dmitry Selyutin [Tue, 31 Aug 2021 20:00:52 +0000 (20:00 +0000)]
fixedshift: switch sradiX to XLEN

2 years agofixedshift: switch srawiX to XLEN
Dmitry Selyutin [Tue, 31 Aug 2021 20:00:08 +0000 (20:00 +0000)]
fixedshift: switch srawiX to XLEN

2 years agofixedshift: switch rldiclX to XLEN
Dmitry Selyutin [Tue, 31 Aug 2021 19:58:04 +0000 (19:58 +0000)]
fixedshift: switch rldiclX to XLEN

2 years agofixedshift: switch rlwimiX to XLEN
Dmitry Selyutin [Tue, 31 Aug 2021 19:48:12 +0000 (19:48 +0000)]
fixedshift: switch rlwimiX to XLEN

2 years agofixedshift: switch rlwinmX to XLEN
Dmitry Selyutin [Tue, 31 Aug 2021 19:40:55 +0000 (19:40 +0000)]
fixedshift: switch rlwinmX to XLEN

2 years agofixedarith: switch divwX to XLEN
Dmitry Selyutin [Sun, 29 Aug 2021 18:16:26 +0000 (18:16 +0000)]
fixedarith: switch divwX to XLEN

2 years agofixedarith: switch divweX to XLEN
Dmitry Selyutin [Sun, 29 Aug 2021 18:22:22 +0000 (18:22 +0000)]
fixedarith: switch divweX to XLEN

2 years agofixedarith: switch divweuX to XLEN
Dmitry Selyutin [Sun, 29 Aug 2021 19:34:42 +0000 (19:34 +0000)]
fixedarith: switch divweuX to XLEN

2 years agofixedarith: switch divdX to XLEN
Dmitry Selyutin [Sun, 29 Aug 2021 19:40:12 +0000 (19:40 +0000)]
fixedarith: switch divdX to XLEN

2 years agofixedarith: switch divdeX to XLEN
Dmitry Selyutin [Sun, 29 Aug 2021 19:44:52 +0000 (19:44 +0000)]
fixedarith: switch divdeX to XLEN

2 years agofixedarith: switch modsd to XLEN
Dmitry Selyutin [Sun, 29 Aug 2021 19:46:51 +0000 (19:46 +0000)]
fixedarith: switch modsd to XLEN

2 years agofixedarith: switch modsw to XLEN
Dmitry Selyutin [Sun, 29 Aug 2021 19:38:48 +0000 (19:38 +0000)]
fixedarith: switch modsw to XLEN

2 years agoadjusted popcntw to simplify by using temp vars
Luke Kenneth Casson Leighton [Tue, 31 Aug 2021 11:19:49 +0000 (12:19 +0100)]
adjusted popcntw to simplify by using temp vars
https://bugs.libre-soc.org/show_bug.cgi?id=671#c50
e <- (XLEN/2)-1
s <- i*XLEN/2

2 years agofixedload: switch lbz to XLEN
Dmitry Selyutin [Mon, 30 Aug 2021 08:41:16 +0000 (08:41 +0000)]
fixedload: switch lbz to XLEN

2 years agofixedload: switch lbzx to XLEN
Dmitry Selyutin [Mon, 30 Aug 2021 08:41:49 +0000 (08:41 +0000)]
fixedload: switch lbzx to XLEN

2 years agofixedload: switch lbzu to XLEN
Dmitry Selyutin [Mon, 30 Aug 2021 08:42:37 +0000 (08:42 +0000)]
fixedload: switch lbzu to XLEN

2 years agofixedload: switch lbzux to XLEN
Dmitry Selyutin [Mon, 30 Aug 2021 08:42:51 +0000 (08:42 +0000)]
fixedload: switch lbzux to XLEN

2 years agofixedload: switch lhz to XLEN
Dmitry Selyutin [Mon, 30 Aug 2021 08:43:50 +0000 (08:43 +0000)]
fixedload: switch lhz to XLEN

2 years agofixedload: switch lhzx to XLEN
Dmitry Selyutin [Mon, 30 Aug 2021 08:48:10 +0000 (08:48 +0000)]
fixedload: switch lhzx to XLEN

2 years agofixedload: switch lhzu to XLEN
Dmitry Selyutin [Mon, 30 Aug 2021 08:48:37 +0000 (08:48 +0000)]
fixedload: switch lhzu to XLEN

2 years agofixedload: switch lhzux to XLEN
Dmitry Selyutin [Mon, 30 Aug 2021 08:49:23 +0000 (08:49 +0000)]
fixedload: switch lhzux to XLEN

2 years agofixedlogical: switch cnttzd to XLEN
Dmitry Selyutin [Wed, 25 Aug 2021 15:09:14 +0000 (15:09 +0000)]
fixedlogical: switch cnttzd to XLEN

2 years agofixedlogical: bpermd fixup
Dmitry Selyutin [Mon, 30 Aug 2021 19:49:48 +0000 (19:49 +0000)]
fixedlogical: bpermd fixup

2 years agofixedlogical: switch popcntw to XLEN
Dmitry Selyutin [Wed, 25 Aug 2021 14:52:01 +0000 (14:52 +0000)]
fixedlogical: switch popcntw to XLEN

2 years agofixedarith: switch modud to XLEN
Dmitry Selyutin [Tue, 24 Aug 2021 12:01:25 +0000 (12:01 +0000)]
fixedarith: switch modud to XLEN

2 years agofixedarith: switch divdeuX to XLEN
Dmitry Selyutin [Tue, 24 Aug 2021 11:59:10 +0000 (11:59 +0000)]
fixedarith: switch divdeuX to XLEN