Luke Kenneth Casson Leighton [Fri, 30 Sep 2022 09:47:41 +0000 (10:47 +0100)]
add code-comments in variance_svp64_real.s on how to use sv.bc/ctr/all
Luke Kenneth Casson Leighton [Fri, 30 Sep 2022 09:37:57 +0000 (10:37 +0100)]
add new sv.bc CTR-loop test, subtracts VL from CTR
Luke Kenneth Casson Leighton [Fri, 30 Sep 2022 08:14:26 +0000 (09:14 +0100)]
whitespace
Luke Kenneth Casson Leighton [Fri, 30 Sep 2022 08:12:41 +0000 (09:12 +0100)]
use regs variables in get_predint
Luke Kenneth Casson Leighton [Fri, 30 Sep 2022 08:06:58 +0000 (09:06 +0100)]
comments
Jacob Lifshay [Fri, 30 Sep 2022 03:49:16 +0000 (20:49 -0700)]
fix pcdec. assembly -- merge into va_form() since it's no longer VA2-form
Jacob Lifshay [Fri, 30 Sep 2022 03:46:38 +0000 (20:46 -0700)]
fix pcdec.'s form
Jacob Lifshay [Fri, 30 Sep 2022 03:17:50 +0000 (20:17 -0700)]
rewrite pcdec. pseudocode to work better for JPEG
the pcdec. unittests aren't updated yet
Jacob Lifshay [Fri, 30 Sep 2022 01:44:47 +0000 (18:44 -0700)]
add lookup table generation for JPEG decode
Jacob Lifshay [Fri, 30 Sep 2022 01:44:23 +0000 (18:44 -0700)]
allow logging function to be overridden for Mem.log_fancy
Jacob Lifshay [Thu, 29 Sep 2022 23:21:22 +0000 (16:21 -0700)]
convert svp64 bigint unittests to use TestAccumulatorBase
Jacob Lifshay [Thu, 29 Sep 2022 22:46:48 +0000 (15:46 -0700)]
finish changing to use adde, not addeo for bigint add
Luke Kenneth Casson Leighton [Thu, 29 Sep 2022 18:00:30 +0000 (19:00 +0100)]
sv.adde not sv.addeo
Luke Kenneth Casson Leighton [Thu, 29 Sep 2022 14:06:52 +0000 (15:06 +0100)]
destination for maddedu and divmod2du for RS defaults to RC for scalar
Luke Kenneth Casson Leighton [Thu, 29 Sep 2022 13:59:45 +0000 (14:59 +0100)]
wowser, complex. implementing maddedu implicit RC/RS rules.
still TODO
<!-- bit 8 of EXTRA is clear: RS.[s|v]=RT.[s|v]+MAXVL
<!-- bit 8 of EXTRA is set : RS.[s|v]=RC.[s|v]
actually it is currently "if RC is scalar then RS=RC" which is more
sensible
Luke Kenneth Casson Leighton [Thu, 29 Sep 2022 13:57:26 +0000 (14:57 +0100)]
add carry-roll-over-vector-mul-with-add (!) unit test
test_caller_svp64_bigint.py
https://bugs.libre-soc.org/show_bug.cgi?id=937
Luke Kenneth Casson Leighton [Thu, 29 Sep 2022 11:09:43 +0000 (12:09 +0100)]
comments
Luke Kenneth Casson Leighton [Thu, 29 Sep 2022 10:56:20 +0000 (11:56 +0100)]
add shift-left and shift-right scalar-to-vector tests
Luke Kenneth Casson Leighton [Thu, 29 Sep 2022 01:39:55 +0000 (02:39 +0100)]
update iterators in ISACaller, not used yet
Jacob Lifshay [Thu, 29 Sep 2022 03:10:05 +0000 (20:10 -0700)]
rename madded->maddedu for consistency with PowerISA maddhdu instruction
Jacob Lifshay [Thu, 29 Sep 2022 03:05:02 +0000 (20:05 -0700)]
rename divrem2du->divmod2du for consistency with PowerISA mod* instructions
Jacob Lifshay [Thu, 29 Sep 2022 02:46:54 +0000 (19:46 -0700)]
add bigint tests and fix madded pseudocode
Jacob Lifshay [Thu, 29 Sep 2022 02:46:15 +0000 (19:46 -0700)]
add bigint ops
Jacob Lifshay [Thu, 29 Sep 2022 02:45:00 +0000 (19:45 -0700)]
fill out dsld/dsrd pseudocode
Jacob Lifshay [Thu, 29 Sep 2022 02:43:16 +0000 (19:43 -0700)]
add missing DRAFT comment
Jacob Lifshay [Thu, 29 Sep 2022 02:39:27 +0000 (19:39 -0700)]
fix test_minor_30
Jacob Lifshay [Thu, 29 Sep 2022 02:39:07 +0000 (19:39 -0700)]
format code
Jacob Lifshay [Thu, 29 Sep 2022 02:33:00 +0000 (19:33 -0700)]
clean up bigint instruction naming
Jacob Lifshay [Thu, 29 Sep 2022 02:29:20 +0000 (19:29 -0700)]
remove unnecesary commented code
Jacob Lifshay [Thu, 29 Sep 2022 02:08:07 +0000 (19:08 -0700)]
add unofficial and comment2 fields to minor_31.csv
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 23:49:46 +0000 (00:49 +0100)]
srcstep
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 21:14:17 +0000 (22:14 +0100)]
rename iterators init function
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 21:04:16 +0000 (22:04 +0100)]
redundant comment
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 21:00:23 +0000 (22:00 +0100)]
split out svstate update 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
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 20:00:10 +0000 (21:00 +0100)]
new revision of dsld
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 18:33:48 +0000 (19:33 +0100)]
add double-sld pseudocode, first draft
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 18:33:00 +0000 (19:33 +0100)]
add limit argument to MASK() helper
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 18:04:06 +0000 (19:04 +0100)]
add Z23 shift-mode fields.txt
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 16:20:07 +0000 (17:20 +0100)]
bugfix reset remaps and get subvl early
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 13:34:21 +0000 (14:34 +0100)]
comments on horizontal-or
Luke Kenneth Casson Leighton [Wed, 28 Sep 2022 13:27:21 +0000 (14:27 +0100)]
make matrix horizontal-remap example more generic
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
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
Jacob Lifshay [Wed, 28 Sep 2022 02:25:46 +0000 (19:25 -0700)]
extracting demo JPEG bitstream works
Luke Kenneth Casson Leighton [Tue, 27 Sep 2022 16:53:00 +0000 (17:53 +0100)]
add unpack predicated unit test
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
Luke Kenneth Casson Leighton [Tue, 27 Sep 2022 15:40:32 +0000 (16:40 +0100)]
sort out predicate loop-skip on pack/unpack
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)
Konstantinos Margaritis [Tue, 27 Sep 2022 10:23:13 +0000 (10:23 +0000)]
fix typo
Konstantinos Margaritis [Tue, 27 Sep 2022 10:08:09 +0000 (10:08 +0000)]
comment out more debug messages and reference C function
Konstantinos Margaritis [Tue, 27 Sep 2022 10:07:02 +0000 (10:07 +0000)]
comment out debug messages
Konstantinos Margaritis [Tue, 27 Sep 2022 10:04:49 +0000 (10:04 +0000)]
Working version of VP8 DCT4x4 in SVP64
Konstantinos Margaritis [Tue, 27 Sep 2022 10:03:12 +0000 (10:03 +0000)]
remove unused prototypes
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.
Jacob Lifshay [Mon, 26 Sep 2022 23:01:03 +0000 (16:01 -0700)]
add more tests and fix missing corner case
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
Jacob Lifshay [Mon, 26 Sep 2022 22:20:13 +0000 (15:20 -0700)]
add checks for pcdec. once=1
Jacob Lifshay [Mon, 26 Sep 2022 21:50:34 +0000 (14:50 -0700)]
more cleanup after swapping 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.
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
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
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
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
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.
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
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
Konstantinos Margaritis [Sun, 25 Sep 2022 17:11:58 +0000 (17:11 +0000)]
fix variables in memory copy
Konstantinos Margaritis [Sun, 25 Sep 2022 16:56:31 +0000 (16:56 +0000)]
comment out debug dumps
Konstantinos Margaritis [Sun, 25 Sep 2022 16:56:08 +0000 (16:56 +0000)]
Fixed SVP64 implentation
Konstantinos Margaritis [Sun, 25 Sep 2022 16:55:43 +0000 (16:55 +0000)]
remove functions as not relevant for this test
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
Konstantinos Margaritis [Sun, 25 Sep 2022 16:54:22 +0000 (16:54 +0000)]
add prototypes
Konstantinos Margaritis [Sun, 25 Sep 2022 16:54:04 +0000 (16:54 +0000)]
fix finalize function, clean ups
Konstantinos Margaritis [Sun, 25 Sep 2022 16:53:22 +0000 (16:53 +0000)]
remove unimplemented tests, lower iterations
Konstantinos Margaritis [Sun, 25 Sep 2022 16:52:50 +0000 (16:52 +0000)]
use sv.maddled/mr, cleanup
Konstantinos Margaritis [Sat, 24 Sep 2022 19:56:09 +0000 (19:56 +0000)]
add header
Dmitry Selyutin [Sun, 25 Sep 2022 16:03:30 +0000 (19:03 +0300)]
test_pysvp64dis: sort ld/st idx stride specs
Dmitry Selyutin [Sun, 25 Sep 2022 16:02:58 +0000 (19:02 +0300)]
power_insn: always provide els for ld/st idx stride
Dmitry Selyutin [Sun, 25 Sep 2022 16:02:00 +0000 (19:02 +0300)]
pysvp64asm: fix VLi attribute access
Dmitry Selyutin [Sun, 25 Sep 2022 11:05:14 +0000 (14:05 +0300)]
power_insn: fix and unify /vli specifier
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
Luke Kenneth Casson Leighton [Sun, 25 Sep 2022 12:48:23 +0000 (13:48 +0100)]
add dz/sz assertion in is_bc mode
Luke Kenneth Casson Leighton [Sun, 25 Sep 2022 12:46:22 +0000 (13:46 +0100)]
whitespace
Luke Kenneth Casson Leighton [Sat, 24 Sep 2022 16:24:35 +0000 (17:24 +0100)]
move sea check to after all qualifiers are checked
Luke Kenneth Casson Leighton [Sat, 24 Sep 2022 16:21:41 +0000 (17:21 +0100)]
check variable rather than explicit == LDST_IDX
Luke Kenneth Casson Leighton [Sat, 24 Sep 2022 16:16:44 +0000 (17:16 +0100)]
add elstrided/sea on ldst_idx mode
Dmitry Selyutin [Sat, 24 Sep 2022 15:17:59 +0000 (18:17 +0300)]
test_pysvp64dis: test ld/st idx SEA (simple)
Dmitry Selyutin [Sat, 24 Sep 2022 14:51:55 +0000 (17:51 +0300)]
power_insn: support SEA specifier
Dmitry Selyutin [Sat, 24 Sep 2022 14:40:03 +0000 (17:40 +0300)]
pysvp64asm: support /sea specifier
Dmitry Selyutin [Sat, 24 Sep 2022 14:39:24 +0000 (17:39 +0300)]
consts: introduce SEA field
Dmitry Selyutin [Sat, 24 Sep 2022 14:06:44 +0000 (17:06 +0300)]
pysvp64asm: fix comment layout
Luke Kenneth Casson Leighton [Sat, 24 Sep 2022 16:08:59 +0000 (17:08 +0100)]
set sv_mode to 0b01 in element-strided
Luke Kenneth Casson Leighton [Sat, 24 Sep 2022 16:03:58 +0000 (17:03 +0100)]
frickin frick
Luke Kenneth Casson Leighton [Sat, 24 Sep 2022 16:00:28 +0000 (17:00 +0100)]
add assert to stop failfirst+sea
Luke Kenneth Casson Leighton [Sat, 24 Sep 2022 16:31:00 +0000 (17:31 +0100)]
add extra RC1 test, without VLI.
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
Dmitry Selyutin [Sat, 24 Sep 2022 13:22:14 +0000 (16:22 +0300)]
power_insn: slightly change table checking style
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
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