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

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

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

3 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

3 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

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

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

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

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

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

3 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

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

3 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

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

3 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

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

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

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

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

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

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

3 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

3 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

3 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

3 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)

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

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

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

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

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

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

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

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

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

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

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

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

3 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

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

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

3 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

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

3 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3 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

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

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

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

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

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

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

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

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

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

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

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

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

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

3 years agofixedarith: switch moduw to XLEN
Dmitry Selyutin [Mon, 23 Aug 2021 19:50:22 +0000 (19:50 +0000)]
fixedarith: switch moduw to XLEN

3 years agofixedarith: switch divwuX to XLEN
Dmitry Selyutin [Mon, 23 Aug 2021 19:04:28 +0000 (19:04 +0000)]
fixedarith: switch divwuX to XLEN

3 years agofixedarith: switch divduX to XLEN
Dmitry Selyutin [Tue, 24 Aug 2021 11:51:55 +0000 (11:51 +0000)]
fixedarith: switch divduX to XLEN

3 years agofixedarith: switch maddhd to XLEN
Dmitry Selyutin [Tue, 24 Aug 2021 11:45:36 +0000 (11:45 +0000)]
fixedarith: switch maddhd to XLEN

3 years agofixedarith: switch maddld to XLEN
Dmitry Selyutin [Tue, 24 Aug 2021 11:49:14 +0000 (11:49 +0000)]
fixedarith: switch maddld to XLEN

3 years agofixedarith: switch maddhdu to XLEN
Dmitry Selyutin [Tue, 24 Aug 2021 11:48:17 +0000 (11:48 +0000)]
fixedarith: switch maddhdu to XLEN

3 years agoadd short mulli random test
Luke Kenneth Casson Leighton [Mon, 30 Aug 2021 16:24:56 +0000 (17:24 +0100)]
add short mulli random test

3 years agofixedarith: switch mulli to XLEN
Dmitry Selyutin [Wed, 25 Aug 2021 09:06:13 +0000 (09:06 +0000)]
fixedarith: switch mulli to XLEN

3 years agofixedarith: switch mulhdu to XLEN
Dmitry Selyutin [Tue, 24 Aug 2021 11:41:45 +0000 (11:41 +0000)]
fixedarith: switch mulhdu to XLEN

3 years agoadd mulhdu random test
Luke Kenneth Casson Leighton [Mon, 30 Aug 2021 16:12:58 +0000 (17:12 +0100)]
add mulhdu random test

3 years agofixedarith: switch mulhd to XLEN
Dmitry Selyutin [Tue, 24 Aug 2021 11:41:02 +0000 (11:41 +0000)]
fixedarith: switch mulhd to XLEN

3 years agofixedarith: switch mulldX to XLEN
Dmitry Selyutin [Mon, 23 Aug 2021 19:51:28 +0000 (19:51 +0000)]
fixedarith: switch mulldX to XLEN

3 years agofixedarith: switch mulhwu to XLEN
Dmitry Selyutin [Mon, 23 Aug 2021 18:56:30 +0000 (18:56 +0000)]
fixedarith: switch mulhwu to XLEN

3 years agofixedarith: switch mullwX to XLEN
Dmitry Selyutin [Mon, 23 Aug 2021 18:55:01 +0000 (18:55 +0000)]
fixedarith: switch mullwX to XLEN

3 years agoquite a big intrusive change in auto-assignment
Luke Kenneth Casson Leighton [Mon, 30 Aug 2021 15:03:07 +0000 (16:03 +0100)]
quite a big intrusive change in auto-assignment
variables that do not exist get auto-created based on the bit-width
at which they are first encountered

    prod[0:31]

creates a variable with

    prod = concat(0, repeat=32)

however this needs to be more complicated rather than just assume
it is a pair of constants

expressions can now be

     prod[0:XLEN-1]

which gets an ast.BinOp expression created on the RHS.

therefore allow the assignment "var = concat(...., repeat=xxxx)"
to accept computed expressions by returning an ast.BinOp(UPPER, "-", LOWER)
so that the resultant python code performs the subtract calculation

3 years agoassignment test pattern-matching not adequate, adding quick test
Luke Kenneth Casson Leighton [Mon, 30 Aug 2021 14:39:12 +0000 (15:39 +0100)]
assignment test pattern-matching not adequate, adding quick test

3 years agofixedarith: switch mulhw to XLEN
Dmitry Selyutin [Mon, 23 Aug 2021 18:51:30 +0000 (18:51 +0000)]
fixedarith: switch mulhw to XLEN

3 years agofixedlogical: switch bpermd to XLEN
Dmitry Selyutin [Wed, 25 Aug 2021 15:10:48 +0000 (15:10 +0000)]
fixedlogical: switch bpermd to XLEN

3 years agofixedlogical: switch cntlzd to XLEN
Dmitry Selyutin [Wed, 25 Aug 2021 15:08:31 +0000 (15:08 +0000)]
fixedlogical: switch cntlzd to XLEN

3 years agofixedlogical: switch popcntd to XLEN
Dmitry Selyutin [Wed, 25 Aug 2021 15:07:56 +0000 (15:07 +0000)]
fixedlogical: switch popcntd to XLEN

3 years agofixedlogical: switch extsw to XLEN
Dmitry Selyutin [Wed, 25 Aug 2021 15:04:38 +0000 (15:04 +0000)]
fixedlogical: switch extsw to XLEN

3 years agofixedlogical: switch prtyw to XLEN
Dmitry Selyutin [Wed, 25 Aug 2021 15:03:59 +0000 (15:03 +0000)]
fixedlogical: switch prtyw to XLEN