openpower-isa.git
12 months agodemo moving pseudocode to separate file
Jacob Lifshay [Tue, 1 Aug 2023 02:52:05 +0000 (19:52 -0700)]
demo moving pseudocode to separate file

12 months agoadd support for pseudocode being a [[!inline]] directive
Jacob Lifshay [Tue, 1 Aug 2023 02:44:00 +0000 (19:44 -0700)]
add support for pseudocode being a [[!inline]] directive

12 months agoput reason for checking for old files in error msg
Jacob Lifshay [Mon, 31 Jul 2023 01:31:51 +0000 (18:31 -0700)]
put reason for checking for old files in error msg

12 months agomove generated files to .../decoder/isa/generated
Jacob Lifshay [Mon, 31 Jul 2023 01:23:01 +0000 (18:23 -0700)]
move generated files to .../decoder/isa/generated

add code to check for old generated files and prompt you to remove
them, to avoid accidentally commiting them.
doesn't move all.py so we don't need to change all the imports

12 months agosplit testcase for separate maddrs/msubrs
Konstantinos Margaritis [Tue, 25 Jul 2023 08:40:38 +0000 (08:40 +0000)]
split testcase for separate maddrs/msubrs

12 months agofix set[n]bc[r]
Jacob Lifshay [Tue, 25 Jul 2023 03:34:22 +0000 (20:34 -0700)]
fix set[n]bc[r]

12 months agodon't convert CR[BI] to CR.BI
Jacob Lifshay [Tue, 25 Jul 2023 03:33:34 +0000 (20:33 -0700)]
don't convert CR[BI] to CR.BI

12 months agoadd set[n]bc[r] -- tests broken
Jacob Lifshay [Tue, 25 Jul 2023 02:51:46 +0000 (19:51 -0700)]
add set[n]bc[r] -- tests broken

12 months agoadd missing test_caller_cr.py
Jacob Lifshay [Tue, 25 Jul 2023 02:50:12 +0000 (19:50 -0700)]
add missing test_caller_cr.py

12 months agoformat code
Jacob Lifshay [Tue, 25 Jul 2023 02:10:37 +0000 (19:10 -0700)]
format code

12 months agorestore use of ? : operator in bfp_ROUND_TO_BFP32/64 pseudocode
Jacob Lifshay [Tue, 25 Jul 2023 01:54:45 +0000 (18:54 -0700)]
restore use of ? : operator in bfp_ROUND_TO_BFP32/64 pseudocode

this changes it to match the PowerISA spec. better

12 months agoadd support for C conditional operator
Jacob Lifshay [Tue, 25 Jul 2023 01:42:27 +0000 (18:42 -0700)]
add support for C conditional operator

its used by setbc's pseudocode and by the bfp_* functions

12 months agoshortened variable names,
Luke Kenneth Casson Leighton [Sat, 22 Jul 2023 11:35:51 +0000 (12:35 +0100)]
shortened variable names,
used itertools.product to get indentation down
used temporary variables rather than unnatural-looking indentation
replaced PHP-style string formatting with project-standard "%" format

12 months agoadd SVP64 test for byte reverse insns
Jacob Lifshay [Sat, 22 Jul 2023 01:47:34 +0000 (18:47 -0700)]
add SVP64 test for byte reverse insns

12 months agoadd SVP64 tests for cfuged, cntlzdm, cnttzdm, pdepd, and pextd
Jacob Lifshay [Sat, 22 Jul 2023 01:46:17 +0000 (18:46 -0700)]
add SVP64 tests for cfuged, cntlzdm, cnttzdm, pdepd, and pextd

12 months agoformat code
Jacob Lifshay [Sat, 22 Jul 2023 00:53:19 +0000 (17:53 -0700)]
format code

12 months agoadd pdepd/pextd
Jacob Lifshay [Sat, 22 Jul 2023 00:34:24 +0000 (17:34 -0700)]
add pdepd/pextd

12 months agoadd cfuged
Jacob Lifshay [Sat, 22 Jul 2023 00:33:38 +0000 (17:33 -0700)]
add cfuged

12 months agoadd cntlzdm/cnttzdm
Jacob Lifshay [Sat, 22 Jul 2023 00:31:04 +0000 (17:31 -0700)]
add cntlzdm/cnttzdm

12 months agoformat code
Jacob Lifshay [Fri, 21 Jul 2023 23:55:41 +0000 (16:55 -0700)]
format code

12 months agoMoved maddsubrs/maddrs/msubrs instructions to separate files
Konstantinos Margaritis [Fri, 21 Jul 2023 14:05:54 +0000 (14:05 +0000)]
Moved maddsubrs/maddrs/msubrs instructions to separate files
As per Jacob's suggestion, simplified maddsubrs by removing masks
and fixing overflow problems.

12 months agoadd much more exhaustive maddrs unit tests
Jacob Lifshay [Thu, 20 Jul 2023 22:42:25 +0000 (15:42 -0700)]
add much more exhaustive maddrs unit tests

12 months agoadd much more exhaustive maddsubrs unit tests
Jacob Lifshay [Thu, 20 Jul 2023 22:19:19 +0000 (15:19 -0700)]
add much more exhaustive maddsubrs unit tests

12 months agoformat code
Jacob Lifshay [Thu, 20 Jul 2023 22:18:18 +0000 (15:18 -0700)]
format code

12 months agoFix failing cases, all tests pass now
Konstantinos Margaritis [Thu, 20 Jul 2023 15:51:39 +0000 (15:51 +0000)]
Fix failing cases, all tests pass now

12 months agoadd byte reverse instructions from PowerISA v3.1B
Jacob Lifshay [Thu, 20 Jul 2023 01:00:58 +0000 (18:00 -0700)]
add byte reverse instructions from PowerISA v3.1B

12 months agosupport official instructions that need .long format
Jacob Lifshay [Thu, 20 Jul 2023 00:59:32 +0000 (17:59 -0700)]
support official instructions that need .long format

12 months agorevert to correct value
Konstantinos Margaritis [Wed, 19 Jul 2023 17:07:43 +0000 (17:07 +0000)]
revert to correct value

12 months agoUnify XLEN =64 special case in the new code
Konstantinos Margaritis [Wed, 19 Jul 2023 16:49:51 +0000 (16:49 +0000)]
Unify XLEN =64 special case in the new code

12 months agoFix XLEN != 64 cases where maddsubrs fails
Konstantinos Margaritis [Wed, 19 Jul 2023 13:41:31 +0000 (13:41 +0000)]
Fix XLEN != 64 cases where maddsubrs fails

12 months agoadd fminmax tests with corresponding pseudocode fixes
Jacob Lifshay [Wed, 19 Jul 2023 03:01:30 +0000 (20:01 -0700)]
add fminmax tests with corresponding pseudocode fixes

12 months agoupdate to use new fminmax instruction
Jacob Lifshay [Mon, 17 Jul 2023 22:49:17 +0000 (15:49 -0700)]
update to use new fminmax instruction

13 months agoleeetle bit excessive on the log of SPRs...
Luke Kenneth Casson Leighton [Sat, 24 Jun 2023 10:03:19 +0000 (11:03 +0100)]
leeetle bit excessive on the log of SPRs...

13 months agoinsndb/db: update traversal algorithm mdis
Dmitry Selyutin [Fri, 23 Jun 2023 08:36:19 +0000 (11:36 +0300)]
insndb/db: update traversal algorithm

13 months agoinsndb/db: introduce section command
Dmitry Selyutin [Thu, 22 Jun 2023 20:22:38 +0000 (23:22 +0300)]
insndb/db: introduce section command

13 months agoinsndb/core: hide section priority type
Dmitry Selyutin [Thu, 22 Jun 2023 19:24:40 +0000 (22:24 +0300)]
insndb/core: hide section priority type

13 months agoinsndb/core: hide section opcode type
Dmitry Selyutin [Thu, 22 Jun 2023 19:24:07 +0000 (22:24 +0300)]
insndb/core: hide section opcode type

13 months agoinsndb/core: hide section bitsel type
Dmitry Selyutin [Thu, 22 Jun 2023 19:23:00 +0000 (22:23 +0300)]
insndb/core: hide section bitsel type

13 months agoinsndb/core: introduce section path type
Dmitry Selyutin [Thu, 22 Jun 2023 19:16:51 +0000 (22:16 +0300)]
insndb/core: introduce section path type

13 months agoinsndb/db: fix SVP64 instruction check
Dmitry Selyutin [Thu, 22 Jun 2023 19:10:56 +0000 (22:10 +0300)]
insndb/db: fix SVP64 instruction check

13 months agoinsndb/db: introduce etype command
Dmitry Selyutin [Thu, 22 Jun 2023 19:09:07 +0000 (22:09 +0300)]
insndb/db: introduce etype command

13 months agopower_enum: modify SVPtype stringification
Dmitry Selyutin [Thu, 22 Jun 2023 19:07:59 +0000 (22:07 +0300)]
power_enum: modify SVPtype stringification

13 months agoinsndb/db: introduce ptype command
Dmitry Selyutin [Thu, 22 Jun 2023 18:57:48 +0000 (21:57 +0300)]
insndb/db: introduce ptype command

13 months agorename fmv[ft]g*/fcvt[ft]g* to m[tf]fpr*/c[tf]fpr*
Jacob Lifshay [Fri, 23 Jun 2023 03:10:45 +0000 (20:10 -0700)]
rename fmv[ft]g*/fcvt[ft]g* to m[tf]fpr*/c[tf]fpr*

13 months agouse the CSV "CR out" column to compute which mode to use for Rc=1
Jacob Lifshay [Fri, 23 Jun 2023 02:58:04 +0000 (19:58 -0700)]
use the CSV "CR out" column to compute which mode to use for Rc=1

this works much better than trying to bodge it by checking if the
instruction name meets some pattern

13 months ago.gitlab-ci.yml: introduce mdis dependency
Dmitry Selyutin [Thu, 22 Jun 2023 21:26:30 +0000 (00:26 +0300)]
.gitlab-ci.yml: introduce mdis dependency

13 months agoinsndb/db: introduce selectors command
Dmitry Selyutin [Thu, 22 Jun 2023 18:43:03 +0000 (21:43 +0300)]
insndb/db: introduce selectors command

13 months agoinsndb/db: refactor extras command
Dmitry Selyutin [Thu, 22 Jun 2023 18:31:59 +0000 (21:31 +0300)]
insndb/db: refactor extras command

13 months agoinsndb/core: introduce basic walker
Dmitry Selyutin [Thu, 22 Jun 2023 15:32:18 +0000 (18:32 +0300)]
insndb/core: introduce basic walker

13 months agoinsndb/core: switch to mdis
Dmitry Selyutin [Thu, 22 Jun 2023 15:23:28 +0000 (18:23 +0300)]
insndb/core: switch to mdis

13 months agoremove Rc=1 from fmvfg[s]
Jacob Lifshay [Sat, 17 Jun 2023 00:52:07 +0000 (17:52 -0700)]
remove Rc=1 from fmvfg[s]

13 months agosv_analysis: raise error instead of outputting TODO
Jacob Lifshay [Sat, 17 Jun 2023 00:40:01 +0000 (17:40 -0700)]
sv_analysis: raise error instead of outputting TODO

13 months agoadd sv.fmv/sv.fcvt tests
Jacob Lifshay [Fri, 16 Jun 2023 03:29:29 +0000 (20:29 -0700)]
add sv.fmv/sv.fcvt tests

13 months agoadd fmvfg[s] and fmvtg[s][.] tests
Jacob Lifshay [Fri, 16 Jun 2023 01:41:18 +0000 (18:41 -0700)]
add fmvfg[s] and fmvtg[s][.] tests

13 months agodeepcopy is really slow and unnecessary here
Jacob Lifshay [Wed, 14 Jun 2023 05:56:10 +0000 (22:56 -0700)]
deepcopy is really slow and unnecessary here

13 months agospeed up StateSPRs.__init__
Jacob Lifshay [Wed, 14 Jun 2023 05:55:49 +0000 (22:55 -0700)]
speed up StateSPRs.__init__

13 months agocache FPSCR computation since it's slow
Jacob Lifshay [Wed, 14 Jun 2023 05:55:20 +0000 (22:55 -0700)]
cache FPSCR computation since it's slow

13 months agodeepcopy is really slow and actually unnecessary here
Jacob Lifshay [Wed, 14 Jun 2023 05:54:28 +0000 (22:54 -0700)]
deepcopy is really slow and actually unnecessary here

13 months agocache get_csv
Jacob Lifshay [Wed, 14 Jun 2023 05:53:52 +0000 (22:53 -0700)]
cache get_csv

13 months agocomment out GC collection since it's really slow and shouldn't be needed
Jacob Lifshay [Wed, 14 Jun 2023 05:53:09 +0000 (22:53 -0700)]
comment out GC collection since it's really slow and shouldn't be needed

13 months agocache SVP64Instruction.Prefix instance since it's slow to construct
Jacob Lifshay [Wed, 14 Jun 2023 05:51:14 +0000 (22:51 -0700)]
cache SVP64Instruction.Prefix instance since it's slow to construct

13 months agoremove fcvttgs since it's redundant
Jacob Lifshay [Tue, 13 Jun 2023 02:26:15 +0000 (19:26 -0700)]
remove fcvttgs since it's redundant

13 months agoMerge branch 'pytest7'
Jacob Lifshay [Tue, 13 Jun 2023 01:43:59 +0000 (18:43 -0700)]
Merge branch 'pytest7'

13 months agocommit f6efd96b89fe55292dd5470ec35dd5263e4d3803
Luke Kenneth Casson Leighton [Sun, 11 Jun 2023 12:34:40 +0000 (13:34 +0100)]
commit f6efd96b89fe55292dd5470ec35dd5263e4d3803
Author: Luke Kenneth Casson Leighton <lkcl@lkcl.net>
Date:   Sun Jun 11 00:08:19 2023 +0100

    reduce down one more line in walkmethod.__get__

13 months agoredo commit adbe1ffb671b29c6854f951fa65d939895600fe6
Luke Kenneth Casson Leighton [Sun, 11 Jun 2023 12:33:48 +0000 (13:33 +0100)]
redo commit adbe1ffb671b29c6854f951fa65d939895600fe6
Author: Luke Kenneth Casson Leighton <lkcl@lkcl.net>
Date:   Sat Jun 10 23:42:32 2023 +0100

    lambda is a singleton (hashable) therefore can be safely set as the
    default option to a function parameter
    https://bugs.libre-soc.org/show_bug.cgi?id=1094#c89

13 months agotemporary hack-revert, the original is now in branch "paths"
Luke Kenneth Casson Leighton [Sun, 11 Jun 2023 12:27:23 +0000 (13:27 +0100)]
temporary hack-revert, the original is now in branch "paths"

Revert "insndb/core: switch Fields to Dict class"

This reverts commit 963fa4fcadf76740083d9fce3ffe986a81f247fe.

13 months agotemporary hack-revert, the original is now in branch "paths"
Luke Kenneth Casson Leighton [Sun, 11 Jun 2023 12:26:55 +0000 (13:26 +0100)]
temporary hack-revert, the original is now in branch "paths"

Revert "lambda is a singleton (hashable) therefore can be safely set as the"

This reverts commit adbe1ffb671b29c6854f951fa65d939895600fe6.

13 months agotemporary hack-revert, the original is now in branch "paths"
Luke Kenneth Casson Leighton [Sun, 11 Jun 2023 12:26:20 +0000 (13:26 +0100)]
temporary hack-revert, the original is now in branch "paths"

Revert "reduce down one more line in walkmethod.__get__"

This reverts commit f6efd96b89fe55292dd5470ec35dd5263e4d3803.

13 months agotemporary hack-revert, the original is now in branch "paths"
Luke Kenneth Casson Leighton [Sun, 11 Jun 2023 12:22:57 +0000 (13:22 +0100)]
temporary hack-revert, the original is now in branch "paths"

Revert "insndb/core: fix operands iteration"

This reverts commit 84019f9487c696d066087cf7de7d049f883c2bd3.

13 months agoinsndb/core: fix operands iteration
Dmitry Selyutin [Sun, 11 Jun 2023 08:13:11 +0000 (11:13 +0300)]
insndb/core: fix operands iteration

13 months agoreduce down one more line in walkmethod.__get__
Luke Kenneth Casson Leighton [Sat, 10 Jun 2023 23:08:19 +0000 (00:08 +0100)]
reduce down one more line in walkmethod.__get__

13 months agoreduce number of lines slightly by using yield from filter(match, ...)
Luke Kenneth Casson Leighton [Sat, 10 Jun 2023 22:50:03 +0000 (23:50 +0100)]
reduce number of lines slightly by using yield from filter(match, ...)

13 months agolambda is a singleton (hashable) therefore can be safely set as the
Luke Kenneth Casson Leighton [Sat, 10 Jun 2023 22:42:32 +0000 (23:42 +0100)]
lambda is a singleton (hashable) therefore can be safely set as the
default option to a function parameter
https://bugs.libre-soc.org/show_bug.cgi?id=1094#c89

13 months agoinsndb/core: switch Fields to Dict class
Dmitry Selyutin [Sat, 10 Jun 2023 20:08:15 +0000 (23:08 +0300)]
insndb/core: switch Fields to Dict class

13 months agoinsndb/core: make Dict almost immutable
Dmitry Selyutin [Sat, 10 Jun 2023 19:50:54 +0000 (22:50 +0300)]
insndb/core: make Dict almost immutable

13 months agoinsndb/core: switch Fields to Dict class
Dmitry Selyutin [Sat, 10 Jun 2023 19:37:30 +0000 (22:37 +0300)]
insndb/core: switch Fields to Dict class

13 months agoinsndb/core: introduce Dict class
Dmitry Selyutin [Sat, 10 Jun 2023 19:32:52 +0000 (22:32 +0300)]
insndb/core: introduce Dict class

13 months agoinsndb/db: beautify tree
Dmitry Selyutin [Sat, 10 Jun 2023 19:24:56 +0000 (22:24 +0300)]
insndb/db: beautify tree

13 months agoinsndb: make walk yield paths
Dmitry Selyutin [Sat, 10 Jun 2023 19:00:56 +0000 (22:00 +0300)]
insndb: make walk yield paths

13 months agoinsndb/db: support tree command sketch
Dmitry Selyutin [Sat, 10 Jun 2023 18:35:50 +0000 (21:35 +0300)]
insndb/db: support tree command sketch

13 months agoinsndb/core: fix Record ppc field
Dmitry Selyutin [Sat, 10 Jun 2023 18:25:29 +0000 (21:25 +0300)]
insndb/core: fix Record ppc field

13 months agoinsndb/core: switch PCode to Tuple
Dmitry Selyutin [Sat, 10 Jun 2023 18:20:33 +0000 (21:20 +0300)]
insndb/core: switch PCode to Tuple

13 months agoinsndb/core: switch PPCRecord.Flags to Tuple
Dmitry Selyutin [Sat, 10 Jun 2023 18:18:53 +0000 (21:18 +0300)]
insndb/core: switch PPCRecord.Flags to Tuple

13 months agoinsndb/core: switch PPCMultiRecord to Tuple
Dmitry Selyutin [Sat, 10 Jun 2023 18:16:42 +0000 (21:16 +0300)]
insndb/core: switch PPCMultiRecord to Tuple

13 months agoinsndb/core: introduce Tuple type
Dmitry Selyutin [Sat, 10 Jun 2023 18:08:49 +0000 (21:08 +0300)]
insndb/core: introduce Tuple type

13 months agoinsndb/core: replace walkability check
Dmitry Selyutin [Sat, 10 Jun 2023 17:01:52 +0000 (20:01 +0300)]
insndb/core: replace walkability check

13 months agoinsndb/core: rename Section.path to Section.csv
Dmitry Selyutin [Sat, 10 Jun 2023 17:00:09 +0000 (20:00 +0300)]
insndb/core: rename Section.path to Section.csv

13 months agoinsndb/core: deprecate custom classes
Dmitry Selyutin [Sat, 10 Jun 2023 16:51:56 +0000 (19:51 +0300)]
insndb/core: deprecate custom classes

13 months agoinsndb/core: deprecate Extra class
Dmitry Selyutin [Sat, 10 Jun 2023 16:48:06 +0000 (19:48 +0300)]
insndb/core: deprecate Extra class

13 months agoinsndb/db: simplify command checks
Dmitry Selyutin [Sat, 10 Jun 2023 16:40:39 +0000 (19:40 +0300)]
insndb/db: simplify command checks

13 months agoinsndb/db: switch to holy-cow visitors
Dmitry Selyutin [Sat, 10 Jun 2023 16:00:32 +0000 (19:00 +0300)]
insndb/db: switch to holy-cow visitors

13 months agoinsndb: holy-cow visitors
Dmitry Selyutin [Sat, 10 Jun 2023 15:40:47 +0000 (18:40 +0300)]
insndb: holy-cow visitors

13 months agosilence log by default just in fmv/fcvt and utf-8 tests pytest7
Jacob Lifshay [Sat, 10 Jun 2023 03:14:44 +0000 (20:14 -0700)]
silence log by default just in fmv/fcvt and utf-8 tests

this is overridable by setting SILENCELOG to any value, which is then used

13 months agoRevert "disable fmv / fcvt unit tests as there are such a vast number"
Jacob Lifshay [Sat, 10 Jun 2023 02:02:50 +0000 (19:02 -0700)]
Revert "disable fmv / fcvt unit tests as there are such a vast number"

new pytest-output-to-files plugin mitigates memory use

This reverts commit 329985466b05b821c1f02277224f445051c77bb6.

13 months agoRevert "disable fmv-fcvt tests entirely"
Jacob Lifshay [Sat, 10 Jun 2023 02:02:26 +0000 (19:02 -0700)]
Revert "disable fmv-fcvt tests entirely"

new pytest-output-to-files plugin mitigates memory use

This reverts commit beadcce36dc23ffc8d599b1ac4601da9500476a4.

13 months agoRevert "far too much memory (58 GB) being used by these unit tests,"
Jacob Lifshay [Sat, 10 Jun 2023 02:00:37 +0000 (19:00 -0700)]
Revert "far too much memory (58 GB) being used by these unit tests,"

new pytest-output-to-files plugin mitigates memory use

This reverts commit e31e5486822023bf99701e410d7b5e55df355048.

13 months agouse pytest-output-to-files plugin with pytest==7.3.1 and pytest-xdist==3.3.1
Jacob Lifshay [Sat, 10 Jun 2023 01:29:48 +0000 (18:29 -0700)]
use pytest-output-to-files plugin with pytest==7.3.1 and pytest-xdist==3.3.1

13 months agoinsndb/core: support class walking
Dmitry Selyutin [Fri, 9 Jun 2023 19:20:38 +0000 (22:20 +0300)]
insndb/core: support class walking

13 months agoinsndb: rename subnodes into walk
Dmitry Selyutin [Fri, 9 Jun 2023 18:28:53 +0000 (21:28 +0300)]
insndb: rename subnodes into walk

13 months agoinsndb/core: introduce Records type
Dmitry Selyutin [Fri, 9 Jun 2023 18:27:57 +0000 (21:27 +0300)]
insndb/core: introduce Records type