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

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

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

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

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

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

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

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

2 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

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

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

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

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

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

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

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

2 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

2 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

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

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

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

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

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

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

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

2 years agofixedlogical: switch popcntb to XLEN
Dmitry Selyutin [Wed, 25 Aug 2021 14:51:11 +0000 (14:51 +0000)]
fixedlogical: switch popcntb to XLEN

2 years agofixedlogical: switch cmpb to XLEN
Dmitry Selyutin [Wed, 25 Aug 2021 13:05:42 +0000 (13:05 +0000)]
fixedlogical: switch cmpb to XLEN

2 years agofixedlogical: switch cntlzwX to XLEN
Dmitry Selyutin [Wed, 25 Aug 2021 13:03:29 +0000 (13:03 +0000)]
fixedlogical: switch cntlzwX to XLEN

2 years agofix RANGE function, reverse direction needed
Luke Kenneth Casson Leighton [Mon, 30 Aug 2021 12:50:21 +0000 (13:50 +0100)]
fix RANGE function, reverse direction needed

2 years agofixedlogical: switch xori to XLEN
Dmitry Selyutin [Wed, 25 Aug 2021 13:00:03 +0000 (13:00 +0000)]
fixedlogical: switch xori to XLEN

2 years agofixedlogical: switch xoris to XLEN
Dmitry Selyutin [Wed, 25 Aug 2021 12:59:42 +0000 (12:59 +0000)]
fixedlogical: switch xoris to XLEN

2 years agofixedlogical: switch oris to XLEN
Dmitry Selyutin [Wed, 25 Aug 2021 12:59:01 +0000 (12:59 +0000)]
fixedlogical: switch oris to XLEN