openpower-isa.git
13 months agosplit out instructions from openpower/isa/system.mdwn split-insns
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/system.mdwn

13 months agosplit out instructions from openpower/isa/svfparith.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/svfparith.mdwn

13 months agosplit out instructions from openpower/isa/svfixedarith.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/svfixedarith.mdwn

13 months agosplit out instructions from openpower/isa/svbranch.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/svbranch.mdwn

13 months agosplit out instructions from openpower/isa/stringldst.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/stringldst.mdwn

13 months agosplit out instructions from openpower/isa/sprset.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/sprset.mdwn

13 months agosplit out instructions from openpower/isa/simplev.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/simplev.mdwn

13 months agosplit out instructions from openpower/isa/prefix_codes.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/prefix_codes.mdwn

13 months agosplit out instructions from openpower/isa/pifixedstore.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/pifixedstore.mdwn

13 months agosplit out instructions from openpower/isa/pifixedload.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/pifixedload.mdwn

13 months agosplit out instructions from openpower/isa/msubrs.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/msubrs.mdwn

13 months agosplit out instructions from openpower/isa/maddsubrs.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/maddsubrs.mdwn

13 months agosplit out instructions from openpower/isa/maddrs.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/maddrs.mdwn

13 months agosplit out instructions from openpower/isa/fptrans.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/fptrans.mdwn

13 months agosplit out instructions from openpower/isa/fpstore.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/fpstore.mdwn

13 months agosplit out instructions from openpower/isa/fpmove.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/fpmove.mdwn

13 months agosplit out instructions from openpower/isa/fpload.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/fpload.mdwn

13 months agosplit out instructions from openpower/isa/fpcvt.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/fpcvt.mdwn

13 months agosplit out instructions from openpower/isa/fparith.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/fparith.mdwn

13 months agosplit out instructions from openpower/isa/fixedtrap.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/fixedtrap.mdwn

13 months agosplit out instructions from openpower/isa/fixedsync.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/fixedsync.mdwn

13 months agosplit out instructions from openpower/isa/fixedstore.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/fixedstore.mdwn

13 months agosplit out instructions from openpower/isa/fixedshift.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/fixedshift.mdwn

13 months agosplit out instructions from openpower/isa/fixedlogical.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/fixedlogical.mdwn

13 months agosplit out instructions from openpower/isa/fixedload.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/fixedload.mdwn

13 months agosplit out instructions from openpower/isa/fixedldstcache.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/fixedldstcache.mdwn

13 months agosplit out instructions from openpower/isa/fixedarith.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/fixedarith.mdwn

13 months agosplit out instructions from openpower/isa/condition.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/condition.mdwn

13 months agosplit out instructions from openpower/isa/comparefixed.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/comparefixed.mdwn

13 months agosplit out instructions from openpower/isa/byterev.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/byterev.mdwn

13 months agosplit out instructions from openpower/isa/branch.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/branch.mdwn

13 months agosplit out instructions from openpower/isa/bitmanip.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/bitmanip.mdwn

13 months agosplit out instructions from openpower/isa/bcd.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/bcd.mdwn

13 months agosplit out instructions from openpower/isa/av.mdwn
Jacob Lifshay [Mon, 7 Aug 2023 23:04:00 +0000 (16:04 -0700)]
split out instructions from openpower/isa/av.mdwn

13 months agochange to only support fully-split instructions (split pseudocode is still optional)
Jacob Lifshay [Mon, 7 Aug 2023 23:02:51 +0000 (16:02 -0700)]
change to only support fully-split instructions (split pseudocode is still optional)

13 months agochange split-insns.sh to split out both whole insn and pseudocode into separate mdwn...
Jacob Lifshay [Mon, 7 Aug 2023 22:28:52 +0000 (15:28 -0700)]
change split-insns.sh to split out both whole insn and pseudocode into separate mdwn files

13 months agoRevert "demo moving pseudocode to separate file"
Jacob Lifshay [Mon, 7 Aug 2023 21:08:07 +0000 (14:08 -0700)]
Revert "demo moving pseudocode to separate file"

reverting because split-insns.sh won't support [[!inline]] already existing

This reverts commit b5d9084971dd761683a3a164af24c673a608aa23.

13 months agoadd split-insns.sh
Jacob Lifshay [Tue, 1 Aug 2023 04:35:13 +0000 (21:35 -0700)]
add split-insns.sh

13 months agodon't warn for directories
Jacob Lifshay [Tue, 1 Aug 2023 04:52:56 +0000 (21:52 -0700)]
don't warn for directories

13 months agoignore indented comments too
Jacob Lifshay [Tue, 1 Aug 2023 04:49:57 +0000 (21:49 -0700)]
ignore indented comments too

13 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

13 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

13 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

13 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

13 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

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

13 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

13 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

13 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

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

13 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

13 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

13 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

13 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

13 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

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

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

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

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

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

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

13 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

13 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

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

13 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

13 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

13 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

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

13 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

13 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

13 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

14 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

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

14 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

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

14 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

14 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

14 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

14 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

14 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

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

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

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

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

14 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

14 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

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

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

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

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

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

15 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

15 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

15 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

15 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

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

15 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

15 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

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

15 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