Jacob Lifshay [Thu, 4 May 2023 01:04:36 +0000 (18:04 -0700)]
fix non-zero assembly operands being zero
Jacob Lifshay [Thu, 4 May 2023 00:13:24 +0000 (17:13 -0700)]
update SV csvs
Luke Kenneth Casson Leighton [Tue, 2 May 2023 18:53:45 +0000 (19:53 +0100)]
add links between decode and issue
Luke Kenneth Casson Leighton [Tue, 2 May 2023 18:49:50 +0000 (19:49 +0100)]
reserve writes in Issue Phase, add comment
Luke Kenneth Casson Leighton [Tue, 2 May 2023 18:20:42 +0000 (19:20 +0100)]
add Issue phase and writes/reads possible in CPU
Luke Kenneth Casson Leighton [Tue, 2 May 2023 18:02:03 +0000 (19:02 +0100)]
add Decode and CPU classes
Luke Kenneth Casson Leighton [Tue, 2 May 2023 17:53:15 +0000 (18:53 +0100)]
add quick preamble header
Luke Kenneth Casson Leighton [Tue, 2 May 2023 17:52:14 +0000 (18:52 +0100)]
update comments and correct retiring, remove registers that have been written
Luke Kenneth Casson Leighton [Tue, 2 May 2023 17:44:12 +0000 (18:44 +0100)]
start on cycle-accurate model of inorder core
Luke Kenneth Casson Leighton [Sun, 30 Apr 2023 19:08:19 +0000 (20:08 +0100)]
ffnmadds converted to 3-operand
Luke Kenneth Casson Leighton [Sun, 30 Apr 2023 19:07:04 +0000 (20:07 +0100)]
converted ffnmadds to 3-operand
Luke Kenneth Casson Leighton [Sun, 30 Apr 2023 19:00:53 +0000 (20:00 +0100)]
ffmsubs number of operands reduced to match ffmadds
Dmitry Selyutin [Sun, 30 Apr 2023 18:50:19 +0000 (21:50 +0300)]
power_insn: forbid zero for non-zero operands
Dmitry Selyutin [Sun, 30 Apr 2023 18:38:04 +0000 (21:38 +0300)]
power_insn: drop registers remapping hack
Dmitry Selyutin [Thu, 27 Apr 2023 19:08:39 +0000 (22:08 +0300)]
power_insn: support int and index opcode methods
Luke Kenneth Casson Leighton [Fri, 28 Apr 2023 15:40:49 +0000 (16:40 +0100)]
reduce number of operands to ffmadds as well
Jacob Lifshay [Fri, 28 Apr 2023 08:49:30 +0000 (01:49 -0700)]
prefix-sum remap works!
Jacob Lifshay [Fri, 28 Apr 2023 08:48:03 +0000 (01:48 -0700)]
change order to tuple in remap preduce tests/demos to match rest of simulator
Jacob Lifshay [Fri, 28 Apr 2023 08:47:12 +0000 (01:47 -0700)]
fix <u and >u with int arguments
Luke Kenneth Casson Leighton [Fri, 28 Apr 2023 07:53:40 +0000 (08:53 +0100)]
reduce fdmadds down to only 3 operands, RT-overwrite, to save on operand
space. it is still 3-in 2-out but FRC is now FRA
Luke Kenneth Casson Leighton [Thu, 27 Apr 2023 23:42:14 +0000 (00:42 +0100)]
add SVSHAPE setup for parallel/prefix but it refuses to work
correctly right now because SVyd is utterly borked. needs investigating
Luke Kenneth Casson Leighton [Thu, 27 Apr 2023 20:01:28 +0000 (21:01 +0100)]
add implicit rs detection for maddsubrs
Luke Kenneth Casson Leighton [Thu, 27 Apr 2023 09:23:27 +0000 (10:23 +0100)]
link in new parallel-prefix REMAP schedule
Jacob Lifshay [Thu, 27 Apr 2023 05:09:19 +0000 (22:09 -0700)]
add scan/prefix-sum support to copy of parallel-reduce remap iterator
Jacob Lifshay [Thu, 27 Apr 2023 02:27:58 +0000 (19:27 -0700)]
format remap_preduce_yield.py
Dmitry Selyutin [Wed, 26 Apr 2023 11:36:21 +0000 (14:36 +0300)]
power_insn: deprecate ff/pr common code
Dmitry Selyutin [Wed, 26 Apr 2023 11:31:56 +0000 (14:31 +0300)]
power_insn: deprecate PR specifier
Dmitry Selyutin [Wed, 26 Apr 2023 11:24:18 +0000 (14:24 +0300)]
power_insn: deprecate normal PR mode
Dmitry Selyutin [Wed, 26 Apr 2023 11:37:35 +0000 (14:37 +0300)]
pysvp64dis: deprecate pr tests
Dmitry Selyutin [Wed, 26 Apr 2023 11:37:25 +0000 (14:37 +0300)]
pysvp64asm: deprecate pr tests
Dmitry Selyutin [Wed, 26 Apr 2023 16:29:56 +0000 (19:29 +0300)]
power_enums: sync forms
Luke Kenneth Casson Leighton [Tue, 25 Apr 2023 17:36:31 +0000 (18:36 +0100)]
add CW and CW2 Form
needed for both #1035 and #1067
Luke Kenneth Casson Leighton [Sat, 15 Apr 2023 16:32:29 +0000 (17:32 +0100)]
check RC1, add data-dependent fail-first LD/ST test
Jacob Lifshay [Tue, 25 Apr 2023 06:49:19 +0000 (23:49 -0700)]
replace min/max[su][.] with minmax[.]
Jacob Lifshay [Tue, 25 Apr 2023 06:47:20 +0000 (23:47 -0700)]
add unofficial and comment2 columns to minor_19.csv
Jacob Lifshay [Tue, 25 Apr 2023 06:45:18 +0000 (23:45 -0700)]
add MM-form
Jacob Lifshay [Tue, 25 Apr 2023 06:15:11 +0000 (23:15 -0700)]
fix bug where pseudo-code assignments modify more than just the variable being assigned to
Jacob Lifshay [Fri, 21 Apr 2023 03:23:48 +0000 (20:23 -0700)]
rename/convert/merge XLCASTU/XLCASTS to EXTZXL/EXTSXL
Jacob Lifshay [Fri, 21 Apr 2023 03:15:48 +0000 (20:15 -0700)]
rewrite all uses of XLCASTU/XLCASTS
Jacob Lifshay [Fri, 21 Apr 2023 03:13:57 +0000 (20:13 -0700)]
add EXTZ since it's in PowerISA v3.1B (see lbz for an example)
Jacob Lifshay [Thu, 20 Apr 2023 04:00:51 +0000 (21:00 -0700)]
fix EXTSXL/XLCASTU/XLCASTS when inputs are python ints
Jacob Lifshay [Thu, 20 Apr 2023 03:36:09 +0000 (20:36 -0700)]
use proper cast function
Jacob Lifshay [Thu, 20 Apr 2023 01:12:32 +0000 (18:12 -0700)]
change XLEN-ification
See bug #1064
Jacob Lifshay [Thu, 20 Apr 2023 00:58:19 +0000 (17:58 -0700)]
change extsb/h/w to scale based on XLEN rather than extending from a fixed width
See https://bugs.libre-soc.org/show_bug.cgi?id=1061
Jacob Lifshay [Tue, 18 Apr 2023 04:26:00 +0000 (21:26 -0700)]
add shaddw
Jacob Lifshay [Tue, 18 Apr 2023 04:25:40 +0000 (21:25 -0700)]
spelling fix
Dmitry Selyutin [Wed, 12 Apr 2023 18:16:18 +0000 (21:16 +0300)]
media: migrate to binutils
Dmitry Selyutin [Mon, 10 Apr 2023 16:11:23 +0000 (19:11 +0300)]
sv_binutils: fix broken script
Luke Kenneth Casson Leighton [Thu, 6 Apr 2023 12:26:20 +0000 (13:26 +0100)]
add power_decode_svp64_rm.py capability for new LD/ST format
https://bugs.libre-soc.org/show_bug.cgi?id=1047
Luke Kenneth Casson Leighton [Tue, 4 Apr 2023 15:10:02 +0000 (16:10 +0100)]
add quick test_pysvp64dis.py of LD/ST data-dependent fail-first
Luke Kenneth Casson Leighton [Tue, 4 Apr 2023 14:26:49 +0000 (15:26 +0100)]
https://bugs.libre-soc.org/show_bug.cgi?id=1047
start sorting out power_insn.py to conform to new LD/ST spec.
Data-Dependent Fail-First gets top priority, pred-result is dropped,
saturation removed from LDST-IDX leaving space for "els" to be added
with its own bit
Luke Kenneth Casson Leighton [Tue, 4 Apr 2023 13:18:02 +0000 (14:18 +0100)]
whitespace cleanup (80 char per line hard limit)
Luke Kenneth Casson Leighton [Tue, 4 Apr 2023 13:02:13 +0000 (14:02 +0100)]
comment about massive unnecessary code-duplication that should not
have been done in the way it was, but it is a good step along the right
lines because it a gets the job done by b producing the right answers
that c get us to the simplified path in an incremental fashion.
am adding this note in the source code to make sure that readers are aware
Luke Kenneth Casson Leighton [Tue, 4 Apr 2023 12:48:30 +0000 (13:48 +0100)]
fix setvl unit test which happened to use deprecated
DCT schedule
Jacob Lifshay [Thu, 30 Mar 2023 07:55:20 +0000 (00:55 -0700)]
fix add-like CA/OV outputs
this is a massive kludge, but that's what lkcl requested due to time constraints
Jacob Lifshay [Thu, 30 Mar 2023 07:54:22 +0000 (00:54 -0700)]
fix broken test case
forgot to set the expected value to the input value for inputs that aren't outputs
Jacob Lifshay [Thu, 30 Mar 2023 07:02:56 +0000 (00:02 -0700)]
add addex to simulator
works, except it has incorrect CA/OV outputs, which I'll fix as part of fixing all add-like ops
Jacob Lifshay [Thu, 30 Mar 2023 05:00:43 +0000 (22:00 -0700)]
fix typo when getting pseudo-code output variables
Jacob Lifshay [Thu, 30 Mar 2023 04:38:02 +0000 (21:38 -0700)]
switch to testing Rc=1 variants
Jacob Lifshay [Thu, 30 Mar 2023 04:30:53 +0000 (21:30 -0700)]
fix `neg[o].` causing the simulator to raise TypeError
Jacob Lifshay [Thu, 30 Mar 2023 03:03:43 +0000 (20:03 -0700)]
add case_nego_
Jacob Lifshay [Thu, 30 Mar 2023 02:02:19 +0000 (19:02 -0700)]
rename le -> lt since CR bits are lt, gt, eq, and so, not le
Luke Kenneth Casson Leighton [Wed, 29 Mar 2023 09:08:56 +0000 (10:08 +0100)]
remove DCT/iDCT redundant modes which require less-efficient cos tables
turns out that values are often repeated so why waste space especially
when the svshape instruction is under pressure
this goes into https://libre-soc.org/openpower/sv/rfc/ls009/
Jacob Lifshay [Wed, 29 Mar 2023 03:36:22 +0000 (20:36 -0700)]
add test cases for ca/ov outputs of a bunch of add-like ops covered by pia
Jacob Lifshay [Tue, 28 Mar 2023 07:30:56 +0000 (00:30 -0700)]
add check against PIA's output downloaded from ftp.libre-soc.org
Luke Kenneth Casson Leighton [Sat, 25 Mar 2023 17:14:51 +0000 (17:14 +0000)]
all whitespace. reduce to under 80 chars
Luke Kenneth Casson Leighton [Sat, 25 Mar 2023 14:14:30 +0000 (14:14 +0000)]
update comments on svstep returning pack/unpack state
Konstantinos Margaritis [Sat, 25 Mar 2023 16:17:53 +0000 (16:17 +0000)]
fix docs to align with recent change in setvl syntax/operation
Luke Kenneth Casson Leighton [Sat, 25 Mar 2023 10:21:30 +0000 (10:21 +0000)]
whitespace - 80 char limit
Luke Kenneth Casson Leighton [Sat, 25 Mar 2023 10:03:11 +0000 (10:03 +0000)]
in xchacha20 svp64 assembler remove r22 from setvl and
use (new, modified) setvl options. see simplev.mdwn
Luke Kenneth Casson Leighton [Sat, 25 Mar 2023 09:55:12 +0000 (09:55 +0000)]
updated simplev setvl specification pseudocode: MAJOR spec change.
VF is set and persistence cleared when *MAXVL* is set
test affected: chacha20
Luke Kenneth Casson Leighton [Sat, 25 Mar 2023 08:37:27 +0000 (08:37 +0000)]
whitespace
Luke Kenneth Casson Leighton [Fri, 24 Mar 2023 10:43:27 +0000 (10:43 +0000)]
whoops added "CRB-Form" format not "CRB"
Konstantinos Margaritis [Mon, 20 Mar 2023 09:50:44 +0000 (09:50 +0000)]
add .bin files to target
Konstantinos Margaritis [Mon, 20 Mar 2023 09:47:39 +0000 (09:47 +0000)]
fix typo
Konstantinos Margaritis [Mon, 20 Mar 2023 09:46:03 +0000 (09:46 +0000)]
and *.elf files
Konstantinos Margaritis [Mon, 20 Mar 2023 09:45:07 +0000 (09:45 +0000)]
also clean *.bin files
Konstantinos Margaritis [Mon, 20 Mar 2023 09:42:08 +0000 (09:42 +0000)]
Enable compilation and execution on x86 as well
Konstantinos Margaritis [Mon, 20 Mar 2023 09:40:46 +0000 (09:40 +0000)]
Pass object code filename instead of actual data
This enables compilation on non-Power architectures.
Luke Kenneth Casson Leighton [Sat, 18 Mar 2023 22:50:01 +0000 (22:50 +0000)]
brief explanation of Vertical-First
Luke Kenneth Casson Leighton [Sat, 18 Mar 2023 22:48:06 +0000 (22:48 +0000)]
spelling
Luke Kenneth Casson Leighton [Sat, 18 Mar 2023 22:47:54 +0000 (22:47 +0000)]
whitespace cleanup
Konstantinos Margaritis [Sat, 18 Mar 2023 19:56:31 +0000 (19:56 +0000)]
Documentation about SVP64 implementation of XChacha20
Konstantinos Margaritis [Sat, 18 Mar 2023 00:29:56 +0000 (00:29 +0000)]
fix tabs
Konstantinos Margaritis [Sat, 18 Mar 2023 00:10:56 +0000 (00:10 +0000)]
final working version
Konstantinos Margaritis [Sat, 18 Mar 2023 00:08:52 +0000 (00:08 +0000)]
add for syntax highlighting
Konstantinos Margaritis [Sat, 18 Mar 2023 00:08:21 +0000 (00:08 +0000)]
comment some prints, use correct boundaries when copying ciphertext buffer
Konstantinos Margaritis [Sat, 18 Mar 2023 00:07:50 +0000 (00:07 +0000)]
use svp64 version
Konstantinos Margaritis [Sat, 18 Mar 2023 00:07:13 +0000 (00:07 +0000)]
print correct/svp64 cipher text
Konstantinos Margaritis [Fri, 17 Mar 2023 09:39:18 +0000 (09:39 +0000)]
Add xchacha_encrypt_bytes_svp64
Konstantinos Margaritis [Fri, 17 Mar 2023 09:38:25 +0000 (09:38 +0000)]
call xchacha_encrypt_bytes_svp64
Konstantinos Margaritis [Fri, 17 Mar 2023 09:37:57 +0000 (09:37 +0000)]
rewrite loop
Konstantinos Margaritis [Fri, 17 Mar 2023 09:36:53 +0000 (09:36 +0000)]
Refactor code, add quarterround macros
Konstantinos Margaritis [Fri, 17 Mar 2023 09:35:16 +0000 (09:35 +0000)]
Add xchacha_encrypt_bytes_svp64 wrapper function
Luke Kenneth Casson Leighton [Wed, 15 Mar 2023 15:09:35 +0000 (15:09 +0000)]
add CRB-Form fields for crternlogi and crbinlog, they are both now
reduced to 3-in 1-out, both needing to become overwrites due to the
mask field (msk) making BF a Read-Modify-Write
https://bugs.libre-soc.org/show_bug.cgi?id=1023#c4
Konstantinos Margaritis [Sun, 12 Mar 2023 22:42:23 +0000 (22:42 +0000)]
First working version of SVP64 arm xchacha_hchacha20() function
Luke Kenneth Casson Leighton [Sun, 12 Mar 2023 22:27:01 +0000 (22:27 +0000)]
set MAXVL=VL=32 first, then set vertical-first separately
(chacha20)
Konstantinos Margaritis [Sun, 12 Mar 2023 19:26:30 +0000 (19:26 +0000)]
used same input data as the actual C test
Konstantinos Margaritis [Sun, 12 Mar 2023 19:26:02 +0000 (19:26 +0000)]
WIP: fixed some registers, wrong VL
Konstantinos Margaritis [Sun, 12 Mar 2023 19:24:42 +0000 (19:24 +0000)]
uncomment loop