Luke Kenneth Casson Leighton [Mon, 12 Sep 2022 14:25:21 +0000 (15:25 +0100)]
some weird moving of opcodes around, probably because their
XO changed. looks like the actual RM*.csv definitions themselves
remained the same. TODO: sort opcodes (alphabetically will do it)
Luke Kenneth Casson Leighton [Mon, 12 Sep 2022 09:55:11 +0000 (10:55 +0100)]
skip addpcis for now, needs properly qualifying
Jacob Lifshay [Mon, 12 Sep 2022 08:15:34 +0000 (01:15 -0700)]
fix svanalysis failing due to missing comma in addpcis csv entry
Luke Kenneth Casson Leighton [Sun, 11 Sep 2022 20:53:00 +0000 (21:53 +0100)]
add new CRIn2Sel for later, for getting rid of CRInSel.BA_BB
Luke Kenneth Casson Leighton [Sun, 11 Sep 2022 16:55:41 +0000 (17:55 +0100)]
BFT does not exist
Luke Kenneth Casson Leighton [Sun, 11 Sep 2022 14:03:53 +0000 (15:03 +0100)]
add sv.isel 12,2,3,*99 test to test_pysvp64dis.py
Luke Kenneth Casson Leighton [Sun, 11 Sep 2022 13:37:35 +0000 (14:37 +0100)]
add some CR3 pysvp64dis.py tests, sv.crand
Dmitry Selyutin [Sat, 10 Sep 2022 19:38:30 +0000 (22:38 +0300)]
power_insn: check exact matches directly in set
Dmitry Selyutin [Sat, 10 Sep 2022 19:37:51 +0000 (22:37 +0300)]
power_insn: group opcodes and names
Luke Kenneth Casson Leighton [Sun, 11 Sep 2022 11:03:14 +0000 (12:03 +0100)]
add sv.isel asm-disasm tests to test_pysvp64dis.py
Luke Kenneth Casson Leighton [Sun, 11 Sep 2022 11:00:56 +0000 (12:00 +0100)]
add missing addpcis to power_enums.py and minor_19.csv
Luke Kenneth Casson Leighton [Sun, 11 Sep 2022 10:57:20 +0000 (11:57 +0100)]
convert minor_19 to bitpattern (for adding addpcis)
Luke Kenneth Casson Leighton [Sun, 11 Sep 2022 10:39:10 +0000 (11:39 +0100)]
whoops lsbshf=2 for CR5
Luke Kenneth Casson Leighton [Sun, 11 Sep 2022 09:58:29 +0000 (10:58 +0100)]
whoops missed lsb-shift parameter
Luke Kenneth Casson Leighton [Sun, 11 Sep 2022 09:54:24 +0000 (10:54 +0100)]
add comments into CR5Operand class
Luke Kenneth Casson Leighton [Sun, 11 Sep 2022 00:40:56 +0000 (01:40 +0100)]
add CR5Operand and CR3Operand to power_insns.py
Luke Kenneth Casson Leighton [Sat, 10 Sep 2022 23:54:49 +0000 (00:54 +0100)]
huhn? addpcis converts to .long? huhn?
Luke Kenneth Casson Leighton [Sat, 10 Sep 2022 23:54:29 +0000 (00:54 +0100)]
fix issue with pysvp64dis.py load() reading from stdin
take a copy of the input and allow "seek()" on the copy (BytesIO)
Dmitry Selyutin [Sat, 10 Sep 2022 19:18:08 +0000 (22:18 +0300)]
power_insn: perform minor opcodes cleanup
Dmitry Selyutin [Sat, 10 Sep 2022 18:18:14 +0000 (21:18 +0300)]
power_insn: hopefully final take on the opcodes
Dmitry Selyutin [Sat, 10 Sep 2022 15:07:02 +0000 (18:07 +0300)]
power_insn: yet another take on the opcodes
Luke Kenneth Casson Leighton [Sat, 10 Sep 2022 14:07:37 +0000 (15:07 +0100)]
whitespace cleanup
Luke Kenneth Casson Leighton [Sat, 10 Sep 2022 13:59:28 +0000 (14:59 +0100)]
add quine-mckluskey algorithm
Dmitry Selyutin [Sat, 10 Sep 2022 06:07:27 +0000 (09:07 +0300)]
power_insn: refactor register verbose assembly
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