openpower-isa.git
20 months agoadd bigint ops
Jacob Lifshay [Thu, 29 Sep 2022 02:46:15 +0000 (19:46 -0700)]
add bigint ops

20 months agofill out dsld/dsrd pseudocode
Jacob Lifshay [Thu, 29 Sep 2022 02:45:00 +0000 (19:45 -0700)]
fill out dsld/dsrd pseudocode

20 months agoadd missing DRAFT comment
Jacob Lifshay [Thu, 29 Sep 2022 02:43:16 +0000 (19:43 -0700)]
add missing DRAFT comment

20 months agofix test_minor_30
Jacob Lifshay [Thu, 29 Sep 2022 02:39:27 +0000 (19:39 -0700)]
fix test_minor_30

20 months agoformat code
Jacob Lifshay [Thu, 29 Sep 2022 02:39:07 +0000 (19:39 -0700)]
format code

20 months agoclean up bigint instruction naming
Jacob Lifshay [Thu, 29 Sep 2022 02:33:00 +0000 (19:33 -0700)]
clean up bigint instruction naming

20 months agoremove unnecesary commented code
Jacob Lifshay [Thu, 29 Sep 2022 02:29:20 +0000 (19:29 -0700)]
remove unnecesary commented code

20 months agoadd unofficial and comment2 fields to minor_31.csv
Jacob Lifshay [Thu, 29 Sep 2022 02:08:07 +0000 (19:08 -0700)]
add unofficial and comment2 fields to minor_31.csv

20 months agosrcstep
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 23:49:46 +0000 (00:49 +0100)]
srcstep

20 months agorename iterators init function
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 21:14:17 +0000 (22:14 +0100)]
rename iterators init function

20 months agoredundant comment
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 21:04:16 +0000 (22:04 +0100)]
redundant comment

20 months agosplit out svstate update in ISACaller
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 21:00:23 +0000 (22:00 +0100)]
split out svstate update in ISACaller

20 months agomove failfirst check to separate function in ISACaller
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 20:44:54 +0000 (21:44 +0100)]
move failfirst check to separate function in ISACaller

20 months agonew revision of dsld
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 20:00:10 +0000 (21:00 +0100)]
new revision of dsld

20 months agoadd double-sld pseudocode, first draft
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 18:33:48 +0000 (19:33 +0100)]
add double-sld pseudocode, first draft

20 months agoadd limit argument to MASK() helper
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 18:33:00 +0000 (19:33 +0100)]
add limit argument to MASK() helper

20 months agoadd Z23 shift-mode fields.txt
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 18:04:06 +0000 (19:04 +0100)]
add Z23 shift-mode fields.txt

20 months agobugfix reset remaps and get subvl early
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 16:20:07 +0000 (17:20 +0100)]
bugfix reset remaps and get subvl early

20 months agocomments on horizontal-or
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 13:34:21 +0000 (14:34 +0100)]
comments on horizontal-or

20 months agomake matrix horizontal-remap example more generic
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 13:27:21 +0000 (14:27 +0100)]
make matrix horizontal-remap example more generic

20 months agoadd horizontal-or-reduction example that thoroughly abuses the way
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 13:18:42 +0000 (14:18 +0100)]
add horizontal-or-reduction example that thoroughly abuses the way
that Matrix REMAP works, ignoring the B Matrix entirely

20 months agowhoops VL incorrect in svshape markdown RTL for matrix REMAP
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 13:11:55 +0000 (14:11 +0100)]
whoops VL incorrect in svshape markdown RTL for matrix REMAP

20 months agoextracting demo JPEG bitstream works
Jacob Lifshay [Wed, 28 Sep 2022 02:25:46 +0000 (19:25 -0700)]
extracting demo JPEG bitstream works

20 months agoadd unpack predicated unit test
Luke Kenneth Casson Leighton [Tue, 27 Sep 2022 16:53:00 +0000 (17:53 +0100)]
add unpack predicated unit test

20 months agohack to check skipping on predicate being all-zero.
Luke Kenneth Casson Leighton [Tue, 27 Sep 2022 16:25:05 +0000 (17:25 +0100)]
hack to check skipping on predicate being all-zero.
HOWEVER... this will not work on sv.branches

20 months agosort out predicate loop-skip on pack/unpack
Luke Kenneth Casson Leighton [Tue, 27 Sep 2022 15:40:32 +0000 (16:40 +0100)]
sort out predicate loop-skip on pack/unpack

20 months agoadapt loops to include predicate-mask skipping in ISACaller
Luke Kenneth Casson Leighton [Tue, 27 Sep 2022 14:39:18 +0000 (15:39 +0100)]
adapt loops to include predicate-mask skipping in ISACaller
currently not working, investigating (disabled for now)

20 months agofix typo
Konstantinos Margaritis [Tue, 27 Sep 2022 10:23:13 +0000 (10:23 +0000)]
fix typo

20 months agocomment out more debug messages and reference C function
Konstantinos Margaritis [Tue, 27 Sep 2022 10:08:09 +0000 (10:08 +0000)]
comment out more debug messages and reference C function

20 months agocomment out debug messages
Konstantinos Margaritis [Tue, 27 Sep 2022 10:07:02 +0000 (10:07 +0000)]
comment out debug messages

20 months agoWorking version of VP8 DCT4x4 in SVP64
Konstantinos Margaritis [Tue, 27 Sep 2022 10:04:49 +0000 (10:04 +0000)]
Working version of VP8 DCT4x4 in SVP64

20 months agoremove unused prototypes
Konstantinos Margaritis [Tue, 27 Sep 2022 10:03:12 +0000 (10:03 +0000)]
remove unused prototypes

20 months agoadd WIP jpeg decoder demo
Jacob Lifshay [Tue, 27 Sep 2022 04:05:38 +0000 (21:05 -0700)]
add WIP jpeg decoder demo

this includes a tiny test jpeg that's <2kB, so should be fine to be in git.

20 months agoadd more tests and fix missing corner case
Jacob Lifshay [Mon, 26 Sep 2022 23:01:03 +0000 (16:01 -0700)]
add more tests and fix missing corner case

20 months agopcdec.: change CR0.eq to be early-stop-needed to fit with data-dependent fail-first
Jacob Lifshay [Mon, 26 Sep 2022 22:59:33 +0000 (15:59 -0700)]
pcdec.: change CR0.eq to be early-stop-needed to fit with data-dependent fail-first

20 months agoadd checks for pcdec. once=1
Jacob Lifshay [Mon, 26 Sep 2022 22:20:13 +0000 (15:20 -0700)]
add checks for pcdec. once=1

20 months agomore cleanup after swapping RA/RB for pcdec.
Jacob Lifshay [Mon, 26 Sep 2022 21:50:34 +0000 (14:50 -0700)]
more cleanup after swapping RA/RB for pcdec.

20 months agoclean up after lkcl swapped RA/RB for pcdec.
Jacob Lifshay [Mon, 26 Sep 2022 21:48:55 +0000 (14:48 -0700)]
clean up after lkcl swapped RA/RB for pcdec.

20 months agoskipping on maskedout elements de-restricted when substep zero
Luke Kenneth Casson Leighton [Mon, 26 Sep 2022 21:44:21 +0000 (22:44 +0100)]
skipping on maskedout elements de-restricted when substep zero
makes predicate skipping work in pack mode

20 months agoadd first predicate-mask test of pack/unpack
Luke Kenneth Casson Leighton [Mon, 26 Sep 2022 19:24:20 +0000 (20:24 +0100)]
add first predicate-mask test of pack/unpack
https://bugs.libre-soc.org/show_bug.cgi?id=871

20 months agoget pack/unpack tests to use sv.ori to copy sequence 01234567
Luke Kenneth Casson Leighton [Mon, 26 Sep 2022 18:55:38 +0000 (19:55 +0100)]
get pack/unpack tests to use sv.ori to copy sequence 01234567
https://bugs.libre-soc.org/show_bug.cgi?id=871

20 months agofinally got pack/unpack working
Luke Kenneth Casson Leighton [Mon, 26 Sep 2022 19:19:49 +0000 (20:19 +0100)]
finally got pack/unpack working
https://bugs.libre-soc.org/show_bug.cgi?id=871

20 months agocode-morph on loop-end detection in ISACaller
Luke Kenneth Casson Leighton [Mon, 26 Sep 2022 17:45:52 +0000 (18:45 +0100)]
code-morph on loop-end detection in ISACaller
there is a bit of a problem in Pack/Unpack in that the end-of-loop
detection is overrunning.

20 months agoexplicit test of src/dststep end-condition in ISACaller iterators
Luke Kenneth Casson Leighton [Mon, 26 Sep 2022 16:14:26 +0000 (17:14 +0100)]
explicit test of src/dststep end-condition in ISACaller iterators

20 months agoswap RA/RB so that RA|0 is used not RB|0
Luke Kenneth Casson Leighton [Mon, 26 Sep 2022 11:03:07 +0000 (12:03 +0100)]
swap RA/RB so that RA|0 is used not RB|0
RB|0 would need a new flag to be passed down to ALUs in HDL

20 months agofix variables in memory copy
Konstantinos Margaritis [Sun, 25 Sep 2022 17:11:58 +0000 (17:11 +0000)]
fix variables in memory copy

20 months agocomment out debug dumps
Konstantinos Margaritis [Sun, 25 Sep 2022 16:56:31 +0000 (16:56 +0000)]
comment out debug dumps

20 months agoFixed SVP64 implentation
Konstantinos Margaritis [Sun, 25 Sep 2022 16:56:08 +0000 (16:56 +0000)]
Fixed SVP64 implentation

20 months agoremove functions as not relevant for this test
Konstantinos Margaritis [Sun, 25 Sep 2022 16:55:43 +0000 (16:55 +0000)]
remove functions as not relevant for this test

20 months agoclean up, convert from uint64 for python due to rounding in Python, fix copying functions
Konstantinos Margaritis [Sun, 25 Sep 2022 16:55:15 +0000 (16:55 +0000)]
clean up, convert from uint64 for python due to rounding in Python, fix copying functions

20 months agoadd prototypes
Konstantinos Margaritis [Sun, 25 Sep 2022 16:54:22 +0000 (16:54 +0000)]
add prototypes

20 months agofix finalize function, clean ups
Konstantinos Margaritis [Sun, 25 Sep 2022 16:54:04 +0000 (16:54 +0000)]
fix finalize function, clean ups

20 months agoremove unimplemented tests, lower iterations
Konstantinos Margaritis [Sun, 25 Sep 2022 16:53:22 +0000 (16:53 +0000)]
remove unimplemented tests, lower iterations

20 months agouse sv.maddled/mr, cleanup
Konstantinos Margaritis [Sun, 25 Sep 2022 16:52:50 +0000 (16:52 +0000)]
use sv.maddled/mr, cleanup

20 months agoadd header
Konstantinos Margaritis [Sat, 24 Sep 2022 19:56:09 +0000 (19:56 +0000)]
add header

20 months agotest_pysvp64dis: sort ld/st idx stride specs
Dmitry Selyutin [Sun, 25 Sep 2022 16:03:30 +0000 (19:03 +0300)]
test_pysvp64dis: sort ld/st idx stride specs

20 months agopower_insn: always provide els for ld/st idx stride
Dmitry Selyutin [Sun, 25 Sep 2022 16:02:58 +0000 (19:02 +0300)]
power_insn: always provide els for ld/st idx stride

20 months agopysvp64asm: fix VLi attribute access
Dmitry Selyutin [Sun, 25 Sep 2022 16:02:00 +0000 (19:02 +0300)]
pysvp64asm: fix VLi attribute access

20 months agopower_insn: fix and unify /vli specifier
Dmitry Selyutin [Sun, 25 Sep 2022 11:05:14 +0000 (14:05 +0300)]
power_insn: fix and unify /vli specifier

20 months agohave to sanity-check dz/zz after full qualifier-processing in branch-mode
Luke Kenneth Casson Leighton [Sun, 25 Sep 2022 12:50:35 +0000 (13:50 +0100)]
have to sanity-check dz/zz after full qualifier-processing in branch-mode

20 months agoadd dz/sz assertion in is_bc mode
Luke Kenneth Casson Leighton [Sun, 25 Sep 2022 12:48:23 +0000 (13:48 +0100)]
add dz/sz assertion in is_bc mode

20 months agowhitespace
Luke Kenneth Casson Leighton [Sun, 25 Sep 2022 12:46:22 +0000 (13:46 +0100)]
whitespace

20 months agomove sea check to after all qualifiers are checked
Luke Kenneth Casson Leighton [Sat, 24 Sep 2022 16:24:35 +0000 (17:24 +0100)]
move sea check to after all qualifiers are checked

20 months agocheck variable rather than explicit == LDST_IDX
Luke Kenneth Casson Leighton [Sat, 24 Sep 2022 16:21:41 +0000 (17:21 +0100)]
check variable rather than explicit == LDST_IDX

20 months agoadd elstrided/sea on ldst_idx mode
Luke Kenneth Casson Leighton [Sat, 24 Sep 2022 16:16:44 +0000 (17:16 +0100)]
add elstrided/sea on ldst_idx mode

20 months agotest_pysvp64dis: test ld/st idx SEA (simple)
Dmitry Selyutin [Sat, 24 Sep 2022 15:17:59 +0000 (18:17 +0300)]
test_pysvp64dis: test ld/st idx SEA (simple)

20 months agopower_insn: support SEA specifier
Dmitry Selyutin [Sat, 24 Sep 2022 14:51:55 +0000 (17:51 +0300)]
power_insn: support SEA specifier

20 months agopysvp64asm: support /sea specifier
Dmitry Selyutin [Sat, 24 Sep 2022 14:40:03 +0000 (17:40 +0300)]
pysvp64asm: support /sea specifier

20 months agoconsts: introduce SEA field
Dmitry Selyutin [Sat, 24 Sep 2022 14:39:24 +0000 (17:39 +0300)]
consts: introduce SEA field

20 months agopysvp64asm: fix comment layout
Dmitry Selyutin [Sat, 24 Sep 2022 14:06:44 +0000 (17:06 +0300)]
pysvp64asm: fix comment layout

20 months agoset sv_mode to 0b01 in element-strided
Luke Kenneth Casson Leighton [Sat, 24 Sep 2022 16:08:59 +0000 (17:08 +0100)]
set sv_mode to 0b01 in element-strided

20 months agofrickin frick
Luke Kenneth Casson Leighton [Sat, 24 Sep 2022 16:03:58 +0000 (17:03 +0100)]
frickin frick

20 months agoadd assert to stop failfirst+sea
Luke Kenneth Casson Leighton [Sat, 24 Sep 2022 16:00:28 +0000 (17:00 +0100)]
add assert to stop failfirst+sea

20 months agoadd extra RC1 test, without VLI.
Luke Kenneth Casson Leighton [Sat, 24 Sep 2022 16:31:00 +0000 (17:31 +0100)]
add extra RC1 test, without VLI.

20 months agoadd RC1 support to ISACaller.
Luke Kenneth Casson Leighton [Sat, 24 Sep 2022 16:17:55 +0000 (17:17 +0100)]
add RC1 support to ISACaller.
this involves:
* reading Rc=0 and substituting RC1 in its place OR
* for non-Rc instructions just putting RC1 in place of Rc
* reading VLi flag and adding it to srcstep to put into VL on ffirst hit
* setting the cr-bit to test to EQ in RC1 mode

20 months agopower_insn: slightly change table checking style
Dmitry Selyutin [Sat, 24 Sep 2022 13:22:14 +0000 (16:22 +0300)]
power_insn: slightly change table checking style

20 months agoadd extra test_pysvp64dis.py test for ff=~RC1/vli mode
Luke Kenneth Casson Leighton [Sat, 24 Sep 2022 13:25:09 +0000 (14:25 +0100)]
add extra test_pysvp64dis.py test for ff=~RC1/vli mode

20 months agowhoops got mask/match test wrong in power_insn.py
Luke Kenneth Casson Leighton [Sat, 24 Sep 2022 13:22:09 +0000 (14:22 +0100)]
whoops got mask/match test wrong in power_insn.py
should be value & mask == search & mask

20 months agocomment inv,CRbit swap in decode_bo
Luke Kenneth Casson Leighton [Sat, 24 Sep 2022 10:25:04 +0000 (11:25 +0100)]
comment inv,CRbit swap in decode_bo

20 months agosv_binutils: support RS opindex
Dmitry Selyutin [Sat, 24 Sep 2022 09:09:32 +0000 (12:09 +0300)]
sv_binutils: support RS opindex

20 months agopower_insn: reorder mode tables to match the spec
Dmitry Selyutin [Fri, 23 Sep 2022 07:37:47 +0000 (10:37 +0300)]
power_insn: reorder mode tables to match the spec

20 months agopower_insn: rename smr to mr
Dmitry Selyutin [Fri, 23 Sep 2022 07:36:37 +0000 (10:36 +0300)]
power_insn: rename smr to mr

20 months agosv_binutils: provide Boolean class and Rc field
Dmitry Selyutin [Thu, 22 Sep 2022 21:49:46 +0000 (00:49 +0300)]
sv_binutils: provide Boolean class and Rc field

20 months agopower_insn: provide Record.Rc field
Dmitry Selyutin [Thu, 22 Sep 2022 21:49:29 +0000 (00:49 +0300)]
power_insn: provide Record.Rc field

20 months agopower_insn: simplify rsvd naming; drop unused rsvd
Dmitry Selyutin [Thu, 22 Sep 2022 21:30:59 +0000 (00:30 +0300)]
power_insn: simplify rsvd naming; drop unused rsvd

20 months agopower_insn: replace Record.function with Record.mode
Dmitry Selyutin [Thu, 22 Sep 2022 21:30:32 +0000 (00:30 +0300)]
power_insn: replace Record.function with Record.mode

20 months agopysvp64asm: expand vector register macros
Dmitry Selyutin [Wed, 21 Sep 2022 19:35:08 +0000 (22:35 +0300)]
pysvp64asm: expand vector register macros

20 months agosv_binutils: support opcodes offset representation
Dmitry Selyutin [Wed, 21 Sep 2022 15:07:01 +0000 (18:07 +0300)]
sv_binutils: support opcodes offset representation

20 months agosv_binutils: fix fields traversal
Dmitry Selyutin [Wed, 21 Sep 2022 15:06:32 +0000 (18:06 +0300)]
sv_binutils: fix fields traversal

20 months agopower_insn: sort database finally
Dmitry Selyutin [Wed, 21 Sep 2022 15:04:53 +0000 (18:04 +0300)]
power_insn: sort database finally

20 months agopower_insn: provide missing cr_in2 properties
Dmitry Selyutin [Wed, 21 Sep 2022 10:21:46 +0000 (13:21 +0300)]
power_insn: provide missing cr_in2 properties

20 months agosv_binutils: generate svp64_cr_in2 opindices
Dmitry Selyutin [Wed, 21 Sep 2022 08:39:00 +0000 (11:39 +0300)]
sv_binutils: generate svp64_cr_in2 opindices

20 months agosv_binutils: generate BA opindex
Dmitry Selyutin [Wed, 21 Sep 2022 08:37:46 +0000 (11:37 +0300)]
sv_binutils: generate BA opindex

20 months agopower_fields: restore class-oriented traversal
Dmitry Selyutin [Tue, 20 Sep 2022 20:50:43 +0000 (23:50 +0300)]
power_fields: restore class-oriented traversal

20 months agopcdec. works!
Jacob Lifshay [Sat, 24 Sep 2022 00:12:47 +0000 (17:12 -0700)]
pcdec. works!

20 months agocheck svstate (vl) in failfirst test
Luke Kenneth Casson Leighton [Fri, 23 Sep 2022 23:00:20 +0000 (00:00 +0100)]
check svstate (vl) in failfirst test

20 months agogrr annoying recurrence of svshape bug, mscale starts with 6 bits
Luke Kenneth Casson Leighton [Fri, 23 Sep 2022 22:15:23 +0000 (23:15 +0100)]
grr annoying recurrence of svshape bug, mscale starts with 6 bits

20 months agoadd data-dependent fail-first mode, Rc=1 variant not RC1 yet
Luke Kenneth Casson Leighton [Fri, 23 Sep 2022 21:44:14 +0000 (22:44 +0100)]
add data-dependent fail-first mode, Rc=1 variant not RC1 yet
first unit test passes, not Vertical-First Mode

20 months agowhoops consistent inversion of inv,CRbit was CRbit,inv
Luke Kenneth Casson Leighton [Fri, 23 Sep 2022 21:42:49 +0000 (22:42 +0100)]
whoops consistent inversion of inv,CRbit was CRbit,inv

20 months agoextra failfirst dis tests
Luke Kenneth Casson Leighton [Fri, 23 Sep 2022 20:17:52 +0000 (21:17 +0100)]
extra failfirst dis tests