Dmitry Selyutin [Sat, 10 Sep 2022 06:02:42 +0000 (09:02 +0300)]
power_insn: support pcode
Dmitry Selyutin [Sat, 10 Sep 2022 05:43:06 +0000 (08:43 +0300)]
power_insn: tune TargetAddrOperand disassembly
Dmitry Selyutin [Thu, 8 Sep 2022 22:36:44 +0000 (01:36 +0300)]
power_insn: support CR remap
Dmitry Selyutin [Fri, 9 Sep 2022 22:12:53 +0000 (01:12 +0300)]
power_insn: support non-zero operands
Dmitry Selyutin [Fri, 9 Sep 2022 22:08:35 +0000 (01:08 +0300)]
power_insn: simplify operand naming conventions
Dmitry Selyutin [Fri, 9 Sep 2022 22:05:40 +0000 (01:05 +0300)]
power_insn: drop redundant dataclass incantations
Dmitry Selyutin [Fri, 9 Sep 2022 22:04:35 +0000 (01:04 +0300)]
power_insn: do not print blob suffix unless needed
Dmitry Selyutin [Fri, 9 Sep 2022 21:52:47 +0000 (00:52 +0300)]
power_insn: do not panic upon database query
Dmitry Selyutin [Fri, 9 Sep 2022 21:34:58 +0000 (00:34 +0300)]
power_insn: refactor opcode matching
Dmitry Selyutin [Fri, 9 Sep 2022 17:07:15 +0000 (20:07 +0300)]
power_insn: support D operand in DX form
Dmitry Selyutin [Fri, 9 Sep 2022 12:28:00 +0000 (15:28 +0300)]
power_insn: refactor span detection
Dmitry Selyutin [Fri, 9 Sep 2022 12:16:45 +0000 (15:16 +0300)]
power_insn: simplify code
Dmitry Selyutin [Thu, 8 Sep 2022 22:25:35 +0000 (01:25 +0300)]
power_insn: remove redundant code
Dmitry Selyutin [Thu, 8 Sep 2022 21:31:36 +0000 (00:31 +0300)]
power_insn: decouple extra merge routine
Dmitry Selyutin [Thu, 8 Sep 2022 21:13:38 +0000 (00:13 +0300)]
power_insn: rename extra to spec
Dmitry Selyutin [Thu, 8 Sep 2022 21:04:37 +0000 (00:04 +0300)]
power_insn: deprecate redundant else section
Dmitry Selyutin [Thu, 8 Sep 2022 20:54:54 +0000 (23:54 +0300)]
power_insn: rename Extra classes
Dmitry Selyutin [Fri, 9 Sep 2022 14:28:30 +0000 (17:28 +0300)]
fields.text: this fish ain't moving
Jacob Lifshay [Sat, 10 Sep 2022 02:19:55 +0000 (19:19 -0700)]
reallocate fcbrt(s) to match new fptrans allocations
Jacob Lifshay [Sat, 10 Sep 2022 02:08:56 +0000 (19:08 -0700)]
move ffadds to not conflict with fptrans -- makes space for min/max/fmod/remainder ops
Luke Kenneth Casson Leighton [Fri, 9 Sep 2022 19:14:37 +0000 (20:14 +0100)]
add fishmv fmvis addpcis instructions to test_pysvp64dis.py
these are not hugely verbose
Luke Kenneth Casson Leighton [Fri, 9 Sep 2022 18:26:54 +0000 (19:26 +0100)]
add subtests
Luke Kenneth Casson Leighton [Fri, 9 Sep 2022 18:23:52 +0000 (19:23 +0100)]
hooray got test_pysvp64dis.py working with new Verbosity level
Dmitry Selyutin [Fri, 9 Sep 2022 16:27:59 +0000 (19:27 +0300)]
power_insn: support verbosity levels
Dmitry Selyutin [Fri, 9 Sep 2022 15:51:33 +0000 (18:51 +0300)]
power_insn: indent refactoring
Luke Kenneth Casson Leighton [Fri, 9 Sep 2022 15:25:31 +0000 (16:25 +0100)]
add seek/tell on load in pysvp64dis so that generator can be reused
Luke Kenneth Casson Leighton [Fri, 9 Sep 2022 15:25:03 +0000 (16:25 +0100)]
add "short" argument (TODO pick better name) to pysvp64dis
Luke Kenneth Casson Leighton [Fri, 9 Sep 2022 15:22:40 +0000 (16:22 +0100)]
add pysvp64dis tester
Luke Kenneth Casson Leighton [Fri, 9 Sep 2022 15:19:36 +0000 (16:19 +0100)]
extend short down into rest of disassembly
Luke Kenneth Casson Leighton [Fri, 9 Sep 2022 15:11:48 +0000 (16:11 +0100)]
add "short" form of instruction - not output hex-encoding
Luke Kenneth Casson Leighton [Fri, 9 Sep 2022 14:45:22 +0000 (15:45 +0100)]
"D" of fishmv RT,D has to be done as a custom field
Revert "fields.text: this fish ain't moving"
This reverts commit
c86e1ad76c423dd4cf6a8b79a2c2720a1ef963a5.
Dmitry Selyutin [Fri, 9 Sep 2022 14:28:30 +0000 (17:28 +0300)]
fields.text: this fish ain't moving
Dmitry Selyutin [Fri, 9 Sep 2022 14:35:37 +0000 (17:35 +0300)]
minor_22: make svshape2 really shaped
Dmitry Selyutin [Fri, 9 Sep 2022 14:40:23 +0000 (17:40 +0300)]
minor_31: fix setb form
Dmitry Selyutin [Fri, 9 Sep 2022 14:30:28 +0000 (17:30 +0300)]
minor_30: fix rldicl form
Luke Kenneth Casson Leighton [Fri, 9 Sep 2022 14:20:22 +0000 (15:20 +0100)]
add default arg byteorder=LITTLE to pysvp64dis
Luke Kenneth Casson Leighton [Fri, 9 Sep 2022 14:18:46 +0000 (15:18 +0100)]
added missing RA RB RT to TLI-Form fields.txt
Dmitry Selyutin [Fri, 9 Sep 2022 14:10:26 +0000 (17:10 +0300)]
major: fix andi./andis. form
Dmitry Selyutin [Fri, 9 Sep 2022 13:55:56 +0000 (16:55 +0300)]
minor_30: fix rldcl/rldcr forms
Luke Kenneth Casson Leighton [Thu, 8 Sep 2022 22:46:04 +0000 (23:46 +0100)]
whitespace
Dmitry Selyutin [Thu, 8 Sep 2022 22:37:17 +0000 (01:37 +0300)]
pysvp64asm: fix missing arguments
Luke Kenneth Casson Leighton [Thu, 8 Sep 2022 21:25:41 +0000 (22:25 +0100)]
rename svshape and svoffset fields
* yx to SVyx
* offs to SVo
also correct the pseudocode!
Dmitry Selyutin [Thu, 8 Sep 2022 18:01:46 +0000 (21:01 +0300)]
svshape2: rename fields
Dmitry Selyutin [Wed, 7 Sep 2022 20:22:46 +0000 (23:22 +0300)]
power_insn: dump operand type (scalar/vector)
Luke Kenneth Casson Leighton [Wed, 7 Sep 2022 19:27:09 +0000 (20:27 +0100)]
add fcpsgn parallel reduction test
https://bugs.libre-soc.org/show_bug.cgi?id=864
Luke Kenneth Casson Leighton [Wed, 7 Sep 2022 19:26:24 +0000 (20:26 +0100)]
whoops forgot to strip "NN/NN=insn" in power_svp64.py
Luke Kenneth Casson Leighton [Wed, 7 Sep 2022 18:40:01 +0000 (19:40 +0100)]
add 2nd parallel prefix test, this time subtract (non-commutative)
Dmitry Selyutin [Wed, 7 Sep 2022 16:15:54 +0000 (19:15 +0300)]
power_insn: fix immediate operands
Dmitry Selyutin [Wed, 7 Sep 2022 12:30:32 +0000 (15:30 +0300)]
power_insn: refactor operands disassembly
Dmitry Selyutin [Wed, 7 Sep 2022 09:47:38 +0000 (12:47 +0300)]
power_fields: deprecate arrays
Dmitry Selyutin [Tue, 6 Sep 2022 19:09:59 +0000 (22:09 +0300)]
power_insn: support EXTRA2/EXTRA3 GPR/FPR
Dmitry Selyutin [Tue, 6 Sep 2022 18:26:53 +0000 (21:26 +0300)]
power_fields: allow getting individual field bits
Dmitry Selyutin [Tue, 6 Sep 2022 18:26:03 +0000 (21:26 +0300)]
power_insn: use tuple for bit ranges in fields
Dmitry Selyutin [Tue, 6 Sep 2022 13:25:23 +0000 (16:25 +0300)]
pysvp64asm: create database once
Dmitry Selyutin [Tue, 6 Sep 2022 12:26:42 +0000 (15:26 +0300)]
power_insn: fix naming conventions
Dmitry Selyutin [Tue, 6 Sep 2022 11:51:18 +0000 (14:51 +0300)]
power_insn: stricter reg type check
Luke Kenneth Casson Leighton [Tue, 6 Sep 2022 14:50:35 +0000 (15:50 +0100)]
add first functional confirmed unit test for parallel reduce REMAP
https://bugs.libre-soc.org/show_bug.cgi?id=864
using remap_preduce_yield directly, confirmed operational through ISACaller
added through decoder/isa/svshape.py which is responsible
in SVSHAPE.getiterator() for returning the appropriate yield-iterator
Luke Kenneth Casson Leighton [Tue, 6 Sep 2022 14:28:05 +0000 (15:28 +0100)]
REMAP parallel-reduce:
https://bugs.libre-soc.org/show_bug.cgi?id=864
* add 0b0111 csv entry for svshape
* stop sv/trans/svp64.py raising exception for SVrm=0b0111
* add beginnings of svshape SVrm=0b0111 to simplev.mdwn
* add first unit test
Jacob Lifshay [Tue, 6 Sep 2022 12:20:19 +0000 (05:20 -0700)]
add fixedsync.py to .gitignore
Jacob Lifshay [Tue, 6 Sep 2022 12:19:15 +0000 (05:19 -0700)]
fix incorrect comment
Jacob Lifshay [Tue, 6 Sep 2022 12:07:32 +0000 (05:07 -0700)]
add all fptrans ops to CSVs
Jacob Lifshay [Tue, 6 Sep 2022 11:50:57 +0000 (04:50 -0700)]
add unofficial and comment2 fields to minor_63.csv
Dmitry Selyutin [Tue, 6 Sep 2022 09:01:35 +0000 (12:01 +0300)]
power_insn: rename value argument to insn in operands
Dmitry Selyutin [Tue, 6 Sep 2022 09:01:10 +0000 (12:01 +0300)]
power_insn: support branch stub
Dmitry Selyutin [Mon, 5 Sep 2022 19:29:09 +0000 (22:29 +0300)]
power_insn: clean extra disassembly
Dmitry Selyutin [Mon, 5 Sep 2022 18:36:24 +0000 (21:36 +0300)]
power_enum: tune SVPtype representation
Dmitry Selyutin [Mon, 5 Sep 2022 18:35:33 +0000 (21:35 +0300)]
power_enum: tune SVEtype representation
Dmitry Selyutin [Mon, 5 Sep 2022 18:00:15 +0000 (21:00 +0300)]
power_insn: disassemble extra index
Dmitry Selyutin [Mon, 5 Sep 2022 17:58:13 +0000 (20:58 +0300)]
power_enum: tune SVExtra representation
Dmitry Selyutin [Mon, 5 Sep 2022 17:39:17 +0000 (20:39 +0300)]
power_insn: support extra_reg routine
Dmitry Selyutin [Mon, 5 Sep 2022 11:19:52 +0000 (14:19 +0300)]
power_insn: move extras to SVP64Record
Luke Kenneth Casson Leighton [Tue, 6 Sep 2022 11:42:30 +0000 (12:42 +0100)]
removing two unused fields (E) which somehow
made it into the 1.6.2 section
Luke Kenneth Casson Leighton [Tue, 6 Sep 2022 11:01:29 +0000 (12:01 +0100)]
add dummy fixedsync.mdwn pseudocode for lwarx/stbcx. LR/SC operations
Luke Kenneth Casson Leighton [Tue, 6 Sep 2022 01:22:02 +0000 (02:22 +0100)]
sort out demo of remap_preduce_yield.py
originally based on wiki preduce.py, split into two separate SVSHAPEs
one for left operand the other for right
Luke Kenneth Casson Leighton [Tue, 6 Sep 2022 00:39:00 +0000 (01:39 +0100)]
add first version of parallel reduction yield
Luke Kenneth Casson Leighton [Mon, 5 Sep 2022 23:12:10 +0000 (00:12 +0100)]
add a new log option to pysvp64dis and make it a command-line
console script using setup.py entry_points
Luke Kenneth Casson Leighton [Mon, 5 Sep 2022 23:09:06 +0000 (00:09 +0100)]
use log function for warnings about .mdwn files in pagereader.py
Luke Kenneth Casson Leighton [Mon, 5 Sep 2022 23:07:46 +0000 (00:07 +0100)]
move reading of os.environ out of a global which prohibits
setting of os.environ at runtime
Luke Kenneth Casson Leighton [Mon, 5 Sep 2022 16:23:12 +0000 (17:23 +0100)]
remove parallel-reduction mode from decoder and sv/trans/svp64.py
parallel reduction has to be done through REMAP due to two critical factors:
1) the amount of gates in joining REMAP with PREDUCE as a "Mode"
2) the differing Vector Length (similar to Matrix) from the number of
operations needed to be performed
the complexity arising is too great which means it has to be done as REMAP
Luke Kenneth Casson Leighton [Mon, 5 Sep 2022 11:40:04 +0000 (12:40 +0100)]
rename remap_debug to remap_set_steps
Luke Kenneth Casson Leighton [Mon, 5 Sep 2022 11:25:26 +0000 (12:25 +0100)]
please do not use format-specifiers
Luke Kenneth Casson Leighton [Mon, 5 Sep 2022 11:20:26 +0000 (12:20 +0100)]
remove yet more f"" specifiers
Luke Kenneth Casson Leighton [Mon, 5 Sep 2022 11:14:28 +0000 (12:14 +0100)]
removing use of format. please do not use format
Luke Kenneth Casson Leighton [Mon, 5 Sep 2022 09:21:20 +0000 (10:21 +0100)]
rename "PARALLEL" enums to "PTREDUCE" - parallel tree reduce
Luke Kenneth Casson Leighton [Sun, 4 Sep 2022 19:47:40 +0000 (20:47 +0100)]
add detection of Parallel-Reduction Mode into SVP64RMModeDecode
Luke Kenneth Casson Leighton [Sun, 4 Sep 2022 19:35:53 +0000 (20:35 +0100)]
add parallel-reduction (subvl=0) in sv/trans/svp64.py
Dmitry Selyutin [Sun, 4 Sep 2022 18:21:49 +0000 (21:21 +0300)]
power_insn: support mode description
Dmitry Selyutin [Sun, 4 Sep 2022 17:36:16 +0000 (20:36 +0300)]
power_insn: decouple mode function
Dmitry Selyutin [Sun, 4 Sep 2022 17:27:41 +0000 (20:27 +0300)]
power_insn: pass database instance everywhere
Dmitry Selyutin [Sun, 4 Sep 2022 16:17:48 +0000 (19:17 +0300)]
power_insn: refactor operation order
Luke Kenneth Casson Leighton [Sun, 4 Sep 2022 15:06:50 +0000 (16:06 +0100)]
whoops forgot to write maxvl in PowerDecoder2
Dmitry Selyutin [Sun, 4 Sep 2022 13:28:29 +0000 (16:28 +0300)]
power_insn: drop argument in PPCDatabase
Dmitry Selyutin [Sun, 4 Sep 2022 12:33:23 +0000 (15:33 +0300)]
power_table: replace prints with logging
Dmitry Selyutin [Sun, 4 Sep 2022 12:31:35 +0000 (15:31 +0300)]
power_table: simplify the code
Dmitry Selyutin [Sun, 4 Sep 2022 12:12:01 +0000 (15:12 +0300)]
power_insn: inherit PPCMultiRecord from frozenset
Dmitry Selyutin [Sun, 4 Sep 2022 12:10:56 +0000 (15:10 +0300)]
power_insn: try exact name matching first
Luke Kenneth Casson Leighton [Sun, 4 Sep 2022 11:35:34 +0000 (12:35 +0100)]
brainmelt moment, added a comma into a comment in a csv file
Luke Kenneth Casson Leighton [Sun, 4 Sep 2022 11:05:33 +0000 (12:05 +0100)]
use maxvl not vl in impicit-RS
Dmitry Selyutin [Sun, 4 Sep 2022 11:23:45 +0000 (14:23 +0300)]
power_insn: remove the whitespaces properly
Luke Kenneth Casson Leighton [Sun, 4 Sep 2022 10:45:32 +0000 (11:45 +0100)]
comments for 3-in 2-out ops