Luke Kenneth Casson Leighton [Tue, 6 Jul 2021 16:03:53 +0000 (17:03 +0100)]
add FFT butterfly iteration to SVSHAPE REMAP class for ISACaller
Luke Kenneth Casson Leighton [Tue, 6 Jul 2021 16:03:16 +0000 (17:03 +0100)]
when FFT madd detected, only enable VL offset in non-REMAP mode
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 22:16:11 +0000 (23:16 +0100)]
add 2nd matrix multiply unit test with SV REMAP
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 21:29:51 +0000 (22:29 +0100)]
fix ISACaller FFT-enable detection, fixes sv.fmadds, matrix multiply works
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 21:03:15 +0000 (22:03 +0100)]
fix svremap field offsets
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 19:07:49 +0000 (20:07 +0100)]
whoops, REMAP inverted
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 19:01:18 +0000 (20:01 +0100)]
debug of SVP64 REMAP
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 18:36:01 +0000 (19:36 +0100)]
debugging SVSHAPE for REMAP
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 18:02:18 +0000 (19:02 +0100)]
add in use of SVSHAPE in ISACaller. untested (no damage done)
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 17:45:46 +0000 (18:45 +0100)]
add redirection "steps" for REMAP purposes, to be set up manually
in ISACaller for now
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 17:33:17 +0000 (18:33 +0100)]
add last_op_svshape flag to ISACaller
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 16:28:31 +0000 (17:28 +0100)]
add svremap manual instruction (Primary Opcode 22, sandbox)
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 14:53:18 +0000 (15:53 +0100)]
add SVSHAPE class, starting to add to ISACaller
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 13:30:50 +0000 (14:30 +0100)]
add function to turn permute into an order list
Luke Kenneth Casson Leighton [Mon, 5 Jul 2021 13:18:54 +0000 (14:18 +0100)]
update SVREMAP to match spec
Luke Kenneth Casson Leighton [Fri, 2 Jul 2021 12:45:31 +0000 (13:45 +0100)]
add basic README for media tests
Luke Kenneth Casson Leighton [Thu, 1 Jul 2021 17:12:13 +0000 (18:12 +0100)]
add temporary SV pseudocode
Luke Kenneth Casson Leighton [Thu, 1 Jul 2021 14:17:35 +0000 (15:17 +0100)]
add TEMPORARY svremap form and instruction
Luke Kenneth Casson Leighton [Tue, 29 Jun 2021 15:22:17 +0000 (16:22 +0100)]
re-enable accidentally-disabled sv ld/st tests
Luke Kenneth Casson Leighton [Tue, 29 Jun 2021 15:18:51 +0000 (16:18 +0100)]
corrections to comments and map-reduce adds, wrong way round
(not a prefix-sum)
Luke Kenneth Casson Leighton [Tue, 29 Jun 2021 15:16:32 +0000 (16:16 +0100)]
tab replacement
Luke Kenneth Casson Leighton [Mon, 28 Jun 2021 18:35:17 +0000 (19:35 +0100)]
add some notes into imdct_standalone.c
Luke Kenneth Casson Leighton [Mon, 28 Jun 2021 18:12:03 +0000 (19:12 +0100)]
morph imdct36 standalone c to look like it uses predication
loop can now be 5-long
Luke Kenneth Casson Leighton [Mon, 28 Jun 2021 18:03:26 +0000 (19:03 +0100)]
add copy of imdct36 standalone c test
Luke Kenneth Casson Leighton [Mon, 28 Jun 2021 14:15:03 +0000 (15:15 +0100)]
add extra offset for FRB, for FFT Cooley-Tukey twin mul/add-sub
Luke Kenneth Casson Leighton [Sun, 27 Jun 2021 17:39:11 +0000 (18:39 +0100)]
add new SVP64 FFT twin multiply-and-accumulate unit test
Luke Kenneth Casson Leighton [Sun, 27 Jun 2021 17:38:45 +0000 (18:38 +0100)]
add new (experimental) ffmadds and ffmsubs, for FFT twin mul-accumulate
Luke Kenneth Casson Leighton [Sun, 27 Jun 2021 13:26:09 +0000 (14:26 +0100)]
override logic for getting FRS in SVP64 FFT mode
Luke Kenneth Casson Leighton [Sun, 27 Jun 2021 12:52:25 +0000 (13:52 +0100)]
add FRS decode (2nd output) for SVP64 FFT FP mul-add in PowerDecoder2
Luke Kenneth Casson Leighton [Sun, 27 Jun 2021 12:46:51 +0000 (13:46 +0100)]
change name to OP_FP_MADD to identify fmadd (etc)
Luke Kenneth Casson Leighton [Sun, 27 Jun 2021 12:46:19 +0000 (13:46 +0100)]
comments on SVP64 LD/ST Mode detection
Luke Kenneth Casson Leighton [Sun, 27 Jun 2021 12:22:04 +0000 (13:22 +0100)]
add SVP64 FFT mode to PowerDecoder, add CSV entries
Luke Kenneth Casson Leighton [Sat, 26 Jun 2021 17:42:56 +0000 (18:42 +0100)]
add LD bit-reversed unit test
add LD/ST bit-reverse logic in ISACaller
Luke Kenneth Casson Leighton [Sat, 26 Jun 2021 14:14:44 +0000 (15:14 +0100)]
comment out l*br pseudo-ops from power_enums.py
Luke Kenneth Casson Leighton [Sat, 26 Jun 2021 12:37:25 +0000 (13:37 +0100)]
use If Elif in power_decoder conditions, a lot easier than switch/case
Luke Kenneth Casson Leighton [Sat, 26 Jun 2021 12:36:56 +0000 (13:36 +0100)]
rename bit-reversed LDs to match v3.0B (strip "br")
Luke Kenneth Casson Leighton [Sat, 26 Jun 2021 09:39:32 +0000 (10:39 +0100)]
move D const update to after picking up main input registers
Luke Kenneth Casson Leighton [Fri, 25 Jun 2021 18:18:35 +0000 (19:18 +0100)]
identify SVP64 LD bit-reverse pattern as pseudo-assembler
rewrite it before it gets too far into SVP64Asm
morph any "sv.ldxxxxbr" into "sv.ld/br" and rewrite the fields
Luke Kenneth Casson Leighton [Fri, 25 Jun 2021 18:12:13 +0000 (19:12 +0100)]
only set conditions in PowerDecoder2 for svp64 mode
Luke Kenneth Casson Leighton [Fri, 25 Jun 2021 13:42:55 +0000 (14:42 +0100)]
update sv_analysis.py to match new CONDITIONs field in CSV files
Luke Kenneth Casson Leighton [Fri, 25 Jun 2021 13:42:23 +0000 (14:42 +0100)]
rename svp64 bit-reversed LD instructions to not conflict with v3.0B
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 21:17:02 +0000 (22:17 +0100)]
whoops SVP64 bit-rev LDs need to use SVD and SVDS immediate not D and DS
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 21:11:26 +0000 (22:11 +0100)]
allow default decoder to be created with no col/row subset
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 21:07:53 +0000 (22:07 +0100)]
add in Power Decoder conditions to select SVP64 bit-rev decoding
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 21:02:07 +0000 (22:02 +0100)]
add "conditions" for PowerDecoder, basic test
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 21:00:58 +0000 (22:00 +0100)]
remove svp64 ld/st decoder tree
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 19:10:52 +0000 (20:10 +0100)]
must pass in conditions into Sub-decoders
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 19:09:06 +0000 (20:09 +0100)]
search for CSV "Conditions", set to static (disabled) for now
conditions in CSV files activate an additional case statement
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 18:23:54 +0000 (19:23 +0100)]
add major.csv LD operations with SVP64BREV condition
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 18:19:26 +0000 (19:19 +0100)]
add PowerDecoder condition switches (untested, doesnt break anything)
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 18:01:27 +0000 (19:01 +0100)]
was going to set 2nd decoder up through MUX but now too complicated
going to do "decoder conditions" instead
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 17:59:47 +0000 (18:59 +0100)]
add extra CONDITION column to CSVs
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 15:09:25 +0000 (16:09 +0100)]
whoops fix rounding error in mapreduce unit test
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 15:07:23 +0000 (16:07 +0100)]
only add svdecldst in PowerDecoder2 or LDST PowerDecodeSubset
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 15:04:09 +0000 (16:04 +0100)]
use PowerOp copy of PowerDecodeSubset in get_op
not the one in the "main" decoder.
in preparation for MUXing onto self.op
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 14:50:32 +0000 (15:50 +0100)]
add "user_svp64_ldst_dec" flag to PowerDecodeSubset
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 14:34:43 +0000 (15:34 +0100)]
use new PowerOp.like function in PowerDecoder, fix missing fields
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 14:24:11 +0000 (15:24 +0100)]
use get_op on "internal_op" instead of self.dec.op in PowerDecoder2
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 12:25:45 +0000 (13:25 +0100)]
do shorter-path detection of SVP64 LD/ST bitreverse mode
needs to be very quick, because the entire decode path is to be MUXED
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 12:24:22 +0000 (13:24 +0100)]
tidy up PowerOp and rename svp64 ldst decoder creater
Luke Kenneth Casson Leighton [Thu, 24 Jun 2021 11:47:45 +0000 (12:47 +0100)]
add comment about perfcounters
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 22:32:07 +0000 (23:32 +0100)]
get op always using function PowerDecoder.op_get
need to mux this when doing SVP64 bitrev LD/ST detection
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 22:15:04 +0000 (23:15 +0100)]
add PowerOp.like function to be able to duplicate a PowerOp
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 21:57:30 +0000 (22:57 +0100)]
add SVP64 alternative LDST decoder (unused so far)
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 21:42:37 +0000 (22:42 +0100)]
only add SVP64 bitreverse mode for LDs at the moment. ST would need 4 operands
add RC to PowerDecoder
add create_decode_svp64
sort out Forms and Const names in enums
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 20:17:47 +0000 (21:17 +0100)]
add SVP64 LD/ST "bitrev" alternative CSV
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 20:12:48 +0000 (21:12 +0100)]
add sv bitrev "major" CSV table
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 17:57:22 +0000 (18:57 +0100)]
add start of bit-reverse mode for LD/ST to SVP64 encode/decode
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 16:31:55 +0000 (17:31 +0100)]
looks like spec error on maddhd etc. should be a comma rather than fullstop
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 16:28:34 +0000 (17:28 +0100)]
add mul-add to list of instructions
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 16:21:05 +0000 (17:21 +0100)]
add ASCII art example to int predicated SVP64
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 15:33:32 +0000 (16:33 +0100)]
add VL and srcstep to ISACaller namespace
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 15:29:54 +0000 (16:29 +0100)]
add SHL64 helper function
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 15:26:02 +0000 (16:26 +0100)]
add bitrev to pywriter autogenerator
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 15:23:56 +0000 (16:23 +0100)]
add bitrev function to be used in LD-ST-bitrev FFT/DCT
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 15:07:12 +0000 (16:07 +0100)]
better ways to do sign-inversion (without multiply which rounds)
also fix FP unit tests
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 14:46:02 +0000 (15:46 +0100)]
add sign-inversion argument to FPMUL/DIV helpers
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 13:48:31 +0000 (14:48 +0100)]
add comments for SVP64 FP FFT/DCT
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 13:44:24 +0000 (14:44 +0100)]
add FFT/DCT to titles
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 13:42:40 +0000 (14:42 +0100)]
add SV FP arithmetic in "Overflow" mode for FFT/DCT +/-
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 11:26:37 +0000 (12:26 +0100)]
use SHL64 function for shift because "<<" operator doesnt exist in
v3.0B pseudocode syntax
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 11:19:04 +0000 (12:19 +0100)]
add in bitreverse function call into svfixedload
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 11:06:33 +0000 (12:06 +0100)]
add RC and SVD/SVDS-Form to svfixedload
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 11:04:53 +0000 (12:04 +0100)]
add svfixedload.mdwn at correct place
Luke Kenneth Casson Leighton [Wed, 23 Jun 2021 11:04:06 +0000 (12:04 +0100)]
add SVD-Form and SVDS-Form, variants of fixedload for SVP64
Luke Kenneth Casson Leighton [Sat, 19 Jun 2021 19:41:14 +0000 (20:41 +0100)]
128 regs added to simulator - works
Luke Kenneth Casson Leighton [Sat, 19 Jun 2021 19:40:13 +0000 (20:40 +0100)]
sigh cannot add comments at end of SV lines in SVP64 asm yet
Luke Kenneth Casson Leighton [Sat, 19 Jun 2021 18:57:36 +0000 (19:57 +0100)]
increase number of registers to 128 in pypowersim
Luke Kenneth Casson Leighton [Sat, 19 Jun 2021 18:53:50 +0000 (19:53 +0100)]
set regfile in ISACaller equal to length of initial variables
Luke Kenneth Casson Leighton [Sat, 19 Jun 2021 12:52:42 +0000 (13:52 +0100)]
add mapreduce "reverse gear" unit tests
add svp64 assembly mode "/mrr" - mapreduce reverse
add non-reverse mapreduce unit test as well (pascal triangle)
Luke Kenneth Casson Leighton [Sat, 19 Jun 2021 12:13:33 +0000 (13:13 +0100)]
add mapreduce "reverse gear" to PowerDecoder2. gets the reg num to
swap direction instead of 0..VL-1 it is VL-1..0
Luke Kenneth Casson Leighton [Sat, 19 Jun 2021 12:02:03 +0000 (13:02 +0100)]
add decode of "reverse gear" in SVP64 reduce mode
Luke Kenneth Casson Leighton [Sat, 19 Jun 2021 11:47:56 +0000 (12:47 +0100)]
add "reverse-gear" mode to mapreduce in SVP64
Luke Kenneth Casson Leighton [Fri, 18 Jun 2021 12:16:13 +0000 (13:16 +0100)]
add SV Context SPRs (SVCTX0-7)
Luke Kenneth Casson Leighton [Fri, 18 Jun 2021 11:57:59 +0000 (12:57 +0100)]
add SVR-Form and associated fields
Luke Kenneth Casson Leighton [Fri, 18 Jun 2021 11:27:02 +0000 (12:27 +0100)]
add four SVSHAPE SPRs for REMAP
https://libre-soc.org/openpower/sv/remap/
Luke Kenneth Casson Leighton [Thu, 17 Jun 2021 18:57:57 +0000 (19:57 +0100)]
add SV "Context Propagation" Form
Luke Kenneth Casson Leighton [Thu, 17 Jun 2021 18:43:00 +0000 (19:43 +0100)]
add SVP64REMAP Record
https://libre-soc.org/openpower/sv/remap/
Luke Kenneth Casson Leighton [Thu, 17 Jun 2021 14:47:19 +0000 (15:47 +0100)]
shuffle comments
Luke Kenneth Casson Leighton [Thu, 17 Jun 2021 10:30:44 +0000 (11:30 +0100)]
fix MP3 CODEC basic demo by using fmuls and fadds/fsubs not fmadds
now accurate to scalar version