Luke Kenneth Casson Leighton [Fri, 9 Jul 2021 11:48:57 +0000 (12:48 +0100)]
comments in unit test
Luke Kenneth Casson Leighton [Fri, 9 Jul 2021 11:44:22 +0000 (12:44 +0100)]
add Vertical-First explicit branch-loop using svstep, with an sv.add. works!
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 22:09:49 +0000 (23:09 +0100)]
end SVP64 "Vertical First" mode on rollover when end of svstep reached
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 22:04:51 +0000 (23:04 +0100)]
add CR0 setting and unit test on svstep
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 21:34:29 +0000 (22:34 +0100)]
whoops asmcode length (number of instructions) went over 256, caused
asmcode in simulator to "wrap" and get the wrong instruction name,
and then execute totally the wrong simulated instruction
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 21:26:30 +0000 (22:26 +0100)]
test MSR.SVF bit set after setvl Vertical-First mode set
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 21:10:03 +0000 (22:10 +0100)]
whoops must not reset last_op_svstate except when out of SVP64 mode
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 21:03:55 +0000 (22:03 +0100)]
testing new setvl "svstep" mode
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 20:46:56 +0000 (21:46 +0100)]
whoops sv.lfs registers must be even numbers (match SVP6 EXTRA2 encoding)
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 18:02:37 +0000 (19:02 +0100)]
add ability to explicitly increment SVSTATE srcstep/dststep
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 15:21:49 +0000 (16:21 +0100)]
add (new) extra argument to setvl (Vertical-First mode, set to zero here)
Luke Kenneth Casson Leighton [Thu, 8 Jul 2021 15:12:14 +0000 (16:12 +0100)]
add in extra "vertical" mode into SVP64 setvl
Luke Kenneth Casson Leighton [Wed, 7 Jul 2021 15:43:40 +0000 (16:43 +0100)]
clean up imports and unit test name
Luke Kenneth Casson Leighton [Wed, 7 Jul 2021 15:31:08 +0000 (16:31 +0100)]
ffmuls test, had to add to b not a in expected results
Luke Kenneth Casson Leighton [Wed, 7 Jul 2021 15:27:46 +0000 (16:27 +0100)]
get butterfly RADIX2 SVP64 example working, breaks the fpmadds one though
Luke Kenneth Casson Leighton [Wed, 7 Jul 2021 13:07:27 +0000 (14:07 +0100)]
add in DFT test from Project Nayuki to verify results of butterfly schedule
Luke Kenneth Casson Leighton [Tue, 6 Jul 2021 20:15:02 +0000 (21:15 +0100)]
change coefficients in FFT REMAP example so as not to get alternating zeros
Luke Kenneth Casson Leighton [Tue, 6 Jul 2021 20:14:33 +0000 (21:14 +0100)]
when REMAP shape is zero, skip it in ISACaller.
also use srcstep only for FFT butterfly mode (for now)
bit of a hack
Luke Kenneth Casson Leighton [Tue, 6 Jul 2021 20:13:50 +0000 (21:13 +0100)]
on FRS for FFT with REMAP use scheduled offset
Luke Kenneth Casson Leighton [Tue, 6 Jul 2021 19:34:40 +0000 (20:34 +0100)]
add FFT REMAP butterfly unit test
Luke Kenneth Casson Leighton [Tue, 6 Jul 2021 18:55:41 +0000 (19:55 +0100)]
add FFT SHAPE pseudocode in svremap, and a schedule in ISACaller
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