openpower-isa.git
13 months agoadd check against PIA's output downloaded from ftp.libre-soc.org
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

13 months agoall whitespace. reduce to under 80 chars
Luke Kenneth Casson Leighton [Sat, 25 Mar 2023 17:14:51 +0000 (17:14 +0000)]
all whitespace. reduce to under 80 chars

13 months agoupdate comments on svstep returning pack/unpack state
Luke Kenneth Casson Leighton [Sat, 25 Mar 2023 14:14:30 +0000 (14:14 +0000)]
update comments on svstep returning pack/unpack state

13 months agofix docs to align with recent change in setvl syntax/operation
Konstantinos Margaritis [Sat, 25 Mar 2023 16:17:53 +0000 (16:17 +0000)]
fix docs to align with recent change in setvl syntax/operation

13 months agowhitespace - 80 char limit
Luke Kenneth Casson Leighton [Sat, 25 Mar 2023 10:21:30 +0000 (10:21 +0000)]
whitespace - 80 char limit

13 months agoin xchacha20 svp64 assembler remove r22 from setvl and
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

13 months agoupdated simplev setvl specification pseudocode: MAJOR spec change.
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

13 months agowhitespace
Luke Kenneth Casson Leighton [Sat, 25 Mar 2023 08:37:27 +0000 (08:37 +0000)]
whitespace

13 months agowhoops added "CRB-Form" format not "CRB"
Luke Kenneth Casson Leighton [Fri, 24 Mar 2023 10:43:27 +0000 (10:43 +0000)]
whoops added "CRB-Form" format not "CRB"

13 months agoadd .bin files to target
Konstantinos Margaritis [Mon, 20 Mar 2023 09:50:44 +0000 (09:50 +0000)]
add .bin files to target

13 months agofix typo
Konstantinos Margaritis [Mon, 20 Mar 2023 09:47:39 +0000 (09:47 +0000)]
fix typo

13 months agoand *.elf files
Konstantinos Margaritis [Mon, 20 Mar 2023 09:46:03 +0000 (09:46 +0000)]
and *.elf files

13 months agoalso clean *.bin files
Konstantinos Margaritis [Mon, 20 Mar 2023 09:45:07 +0000 (09:45 +0000)]
also clean *.bin files

13 months agoEnable compilation and execution on x86 as well
Konstantinos Margaritis [Mon, 20 Mar 2023 09:42:08 +0000 (09:42 +0000)]
Enable compilation and execution on x86 as well

13 months agoPass object code filename instead of actual data
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.

13 months agobrief explanation of Vertical-First
Luke Kenneth Casson Leighton [Sat, 18 Mar 2023 22:50:01 +0000 (22:50 +0000)]
brief explanation of Vertical-First

13 months agospelling
Luke Kenneth Casson Leighton [Sat, 18 Mar 2023 22:48:06 +0000 (22:48 +0000)]
spelling

13 months agowhitespace cleanup
Luke Kenneth Casson Leighton [Sat, 18 Mar 2023 22:47:54 +0000 (22:47 +0000)]
whitespace cleanup

13 months agoDocumentation about SVP64 implementation of XChacha20
Konstantinos Margaritis [Sat, 18 Mar 2023 19:56:31 +0000 (19:56 +0000)]
Documentation about SVP64 implementation of XChacha20

13 months agofix tabs
Konstantinos Margaritis [Sat, 18 Mar 2023 00:29:56 +0000 (00:29 +0000)]
fix tabs

13 months agofinal working version
Konstantinos Margaritis [Sat, 18 Mar 2023 00:10:56 +0000 (00:10 +0000)]
final working version

13 months agoadd for syntax highlighting
Konstantinos Margaritis [Sat, 18 Mar 2023 00:08:52 +0000 (00:08 +0000)]
add for syntax highlighting

13 months agocomment some prints, use correct boundaries when copying ciphertext buffer
Konstantinos Margaritis [Sat, 18 Mar 2023 00:08:21 +0000 (00:08 +0000)]
comment some prints, use correct boundaries when copying ciphertext buffer

13 months agouse svp64 version
Konstantinos Margaritis [Sat, 18 Mar 2023 00:07:50 +0000 (00:07 +0000)]
use svp64 version

13 months agoprint correct/svp64 cipher text
Konstantinos Margaritis [Sat, 18 Mar 2023 00:07:13 +0000 (00:07 +0000)]
print correct/svp64 cipher text

13 months agoAdd xchacha_encrypt_bytes_svp64
Konstantinos Margaritis [Fri, 17 Mar 2023 09:39:18 +0000 (09:39 +0000)]
Add xchacha_encrypt_bytes_svp64

13 months agocall xchacha_encrypt_bytes_svp64
Konstantinos Margaritis [Fri, 17 Mar 2023 09:38:25 +0000 (09:38 +0000)]
call xchacha_encrypt_bytes_svp64

13 months agorewrite loop
Konstantinos Margaritis [Fri, 17 Mar 2023 09:37:57 +0000 (09:37 +0000)]
rewrite loop

13 months agoRefactor code, add quarterround macros
Konstantinos Margaritis [Fri, 17 Mar 2023 09:36:53 +0000 (09:36 +0000)]
Refactor code, add quarterround macros

13 months agoAdd xchacha_encrypt_bytes_svp64 wrapper function
Konstantinos Margaritis [Fri, 17 Mar 2023 09:35:16 +0000 (09:35 +0000)]
Add xchacha_encrypt_bytes_svp64 wrapper function

13 months agoadd CRB-Form fields for crternlogi and crbinlog, they are both now
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

13 months agoFirst working version of SVP64 arm xchacha_hchacha20() function
Konstantinos Margaritis [Sun, 12 Mar 2023 22:42:23 +0000 (22:42 +0000)]
First working version of SVP64 arm xchacha_hchacha20() function

13 months agoset MAXVL=VL=32 first, then set vertical-first separately
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)

13 months agoused same input data as the actual C test
Konstantinos Margaritis [Sun, 12 Mar 2023 19:26:30 +0000 (19:26 +0000)]
used same input data as the actual C test

13 months agoWIP: fixed some registers, wrong VL
Konstantinos Margaritis [Sun, 12 Mar 2023 19:26:02 +0000 (19:26 +0000)]
WIP: fixed some registers, wrong VL

13 months agouncomment loop
Konstantinos Margaritis [Sun, 12 Mar 2023 19:24:42 +0000 (19:24 +0000)]
uncomment loop

13 months agochange target registers in test_caller_svp64_chacha20.py to match
Luke Kenneth Casson Leighton [Sun, 12 Mar 2023 15:03:04 +0000 (15:03 +0000)]
change target registers in test_caller_svp64_chacha20.py to match
those in xchacha20_svp64.s

13 months agowhoops use same temp reg for ctr
Luke Kenneth Casson Leighton [Sun, 12 Mar 2023 14:57:15 +0000 (14:57 +0000)]
whoops use same temp reg for ctr

13 months agoparameterise svstep RT (set to 16 in chacha20 test)
Luke Kenneth Casson Leighton [Sun, 12 Mar 2023 14:52:26 +0000 (14:52 +0000)]
parameterise svstep RT (set to 16 in chacha20 test)

13 months agoparameterising VL and SHAPE0-2 in chacha20 test
Luke Kenneth Casson Leighton [Sun, 12 Mar 2023 14:46:07 +0000 (14:46 +0000)]
parameterising VL and SHAPE0-2 in chacha20 test

13 months agoparameterise the target block in chacha20 test,
Luke Kenneth Casson Leighton [Sun, 12 Mar 2023 14:38:42 +0000 (14:38 +0000)]
parameterise the target block in chacha20 test,
set the parameter (block) to GPR 64

13 months agoadd print-out for chacha20 schedule
Luke Kenneth Casson Leighton [Sun, 12 Mar 2023 10:52:01 +0000 (10:52 +0000)]
add print-out for chacha20 schedule

13 months agofix tabs
Konstantinos Margaritis [Sun, 12 Mar 2023 10:50:52 +0000 (10:50 +0000)]
fix tabs

13 months ago[WIP] xchacha20 SVP64 implementation using pypowersim wrapper
Konstantinos Margaritis [Sun, 12 Mar 2023 10:44:43 +0000 (10:44 +0000)]
[WIP] xchacha20 SVP64 implementation using pypowersim wrapper

13 months agouse absolute path
Konstantinos Margaritis [Sun, 12 Mar 2023 10:43:46 +0000 (10:43 +0000)]
use absolute path

13 months agoupdate pseudocode for dsld/dsrd to note that only when Rc=1 is setting
Luke Kenneth Casson Leighton [Wed, 8 Mar 2023 17:19:41 +0000 (17:19 +0000)]
update pseudocode for dsld/dsrd to note that only when Rc=1 is setting
overflow=1 relevant. for ls003

13 months agoafter move data to new directory, update runner-script to match
Luke Kenneth Casson Leighton [Mon, 20 Feb 2023 12:44:03 +0000 (12:44 +0000)]
after move data to new directory, update runner-script to match

13 months agopower_enums: enable Rc-aware dsld/dsrd
Dmitry Selyutin [Tue, 24 Jan 2023 18:47:09 +0000 (21:47 +0300)]
power_enums: enable Rc-aware dsld/dsrd

13 months agofields.text: fix TLI XO format
Dmitry Selyutin [Tue, 24 Jan 2023 13:22:44 +0000 (16:22 +0300)]
fields.text: fix TLI XO format

13 months agobitmanip.mdwn: add missing Rc static operand
Dmitry Selyutin [Tue, 24 Jan 2023 13:22:13 +0000 (16:22 +0300)]
bitmanip.mdwn: add missing Rc static operand

13 months agosvp64_utf_8_validation.py: convert labels to addresses
Dmitry Selyutin [Sun, 22 Jan 2023 17:46:58 +0000 (20:46 +0300)]
svp64_utf_8_validation.py: convert labels to addresses

13 months agopower_insn: fix dst/src duplication detection
Dmitry Selyutin [Sun, 22 Jan 2023 00:32:47 +0000 (03:32 +0300)]
power_insn: fix dst/src duplication detection

13 months agopower_insn: canonicalize SVP64 insn name
Dmitry Selyutin [Sat, 21 Jan 2023 22:06:23 +0000 (01:06 +0300)]
power_insn: canonicalize SVP64 insn name

13 months agopower_insn: hack CR assembly
Dmitry Selyutin [Sat, 21 Jan 2023 18:58:22 +0000 (21:58 +0300)]
power_insn: hack CR assembly

13 months agopower_insn: override bogus FMA instructions
Dmitry Selyutin [Fri, 20 Jan 2023 16:07:27 +0000 (19:07 +0300)]
power_insn: override bogus FMA instructions

13 months agopower_insn: refactor operands; simplify lookups
Dmitry Selyutin [Thu, 19 Jan 2023 21:33:31 +0000 (00:33 +0300)]
power_insn: refactor operands; simplify lookups

13 months agopysvp64asm: drop obsolete code
Dmitry Selyutin [Thu, 19 Jan 2023 04:25:01 +0000 (07:25 +0300)]
pysvp64asm: drop obsolete code

13 months agopower_insn: fix paired registers disassembly
Dmitry Selyutin [Wed, 18 Jan 2023 19:58:00 +0000 (22:58 +0300)]
power_insn: fix paired registers disassembly

13 months agopower_insn: support legacy style
Dmitry Selyutin [Mon, 16 Jan 2023 19:10:44 +0000 (22:10 +0300)]
power_insn: support legacy style

13 months agopower_insn: major refactoring and cleanup
Dmitry Selyutin [Mon, 19 Dec 2022 22:34:00 +0000 (01:34 +0300)]
power_insn: major refactoring and cleanup

13 months agopysvp64dis: do not create temporary bytes upon load
Dmitry Selyutin [Sun, 15 Jan 2023 08:35:18 +0000 (11:35 +0300)]
pysvp64dis: do not create temporary bytes upon load

13 months agopower_enums: support paired registers
Dmitry Selyutin [Sun, 15 Jan 2023 08:32:38 +0000 (11:32 +0300)]
power_enums: support paired registers

13 months agopower_fields: support assignment to same class instance
Dmitry Selyutin [Fri, 6 Jan 2023 17:22:53 +0000 (20:22 +0300)]
power_fields: support assignment to same class instance

13 months agopower_enums: fix CR register types
Dmitry Selyutin [Sun, 18 Dec 2022 20:16:28 +0000 (23:16 +0300)]
power_enums: fix CR register types

13 months agopower_enums: fix RC1 predicates conversion
Dmitry Selyutin [Sun, 18 Dec 2022 19:13:20 +0000 (22:13 +0300)]
power_enums: fix RC1 predicates conversion

13 months agopysvp64asm: avoid empty fields
Dmitry Selyutin [Sun, 18 Dec 2022 18:36:09 +0000 (21:36 +0300)]
pysvp64asm: avoid empty fields

13 months agoisatables: split dsld/dsrd Rc versions
Dmitry Selyutin [Sun, 18 Dec 2022 18:35:26 +0000 (21:35 +0300)]
isatables: split dsld/dsrd Rc versions

13 months agopower_insn: fix signed operands assembly
Dmitry Selyutin [Tue, 13 Dec 2022 23:32:43 +0000 (02:32 +0300)]
power_insn: fix signed operands assembly

13 months agopower_insn: fix arguments conversion
Dmitry Selyutin [Tue, 13 Dec 2022 19:47:23 +0000 (22:47 +0300)]
power_insn: fix arguments conversion

13 months agopower_insn: fix specifiers errors
Dmitry Selyutin [Tue, 13 Dec 2022 19:46:14 +0000 (22:46 +0300)]
power_insn: fix specifiers errors

13 months agopower_insn: common records lookup
Dmitry Selyutin [Tue, 13 Dec 2022 09:03:52 +0000 (12:03 +0300)]
power_insn: common records lookup

13 months agopower_insn: consider EXTS operand as signed
Dmitry Selyutin [Mon, 12 Dec 2022 21:55:32 +0000 (00:55 +0300)]
power_insn: consider EXTS operand as signed

13 months agopower_insn: discard SVP64 record for word instructions
Dmitry Selyutin [Mon, 12 Dec 2022 19:42:49 +0000 (22:42 +0300)]
power_insn: discard SVP64 record for word instructions

13 months agopower_insn: support pi/lf specifiers
Dmitry Selyutin [Sun, 11 Dec 2022 16:53:25 +0000 (19:53 +0300)]
power_insn: support pi/lf specifiers

13 months agopower_insn: support ctr/cti specifiers
Dmitry Selyutin [Mon, 21 Nov 2022 17:58:15 +0000 (20:58 +0300)]
power_insn: support ctr/cti specifiers

13 months agopower_insn: support vs/vsi/vsb/vsbi specifiers
Dmitry Selyutin [Mon, 21 Nov 2022 17:54:52 +0000 (20:54 +0300)]
power_insn: support vs/vsi/vsb/vsbi specifiers

13 months agopower_insn: support lru specifier
Dmitry Selyutin [Mon, 21 Nov 2022 17:36:57 +0000 (20:36 +0300)]
power_insn: support lru specifier

13 months agopower_insn: support slu specifier
Dmitry Selyutin [Mon, 21 Nov 2022 17:36:29 +0000 (20:36 +0300)]
power_insn: support slu specifier

13 months agopower_insn: support sl specifier
Dmitry Selyutin [Mon, 21 Nov 2022 17:35:24 +0000 (20:35 +0300)]
power_insn: support sl specifier

13 months agopower_insn: support snz specifier
Dmitry Selyutin [Mon, 21 Nov 2022 17:34:11 +0000 (20:34 +0300)]
power_insn: support snz specifier

13 months agopower_insn: support all specifier
Dmitry Selyutin [Mon, 21 Nov 2022 17:33:22 +0000 (20:33 +0300)]
power_insn: support all specifier

13 months agopower_insn: support crm specifier
Dmitry Selyutin [Mon, 21 Nov 2022 17:32:54 +0000 (20:32 +0300)]
power_insn: support crm specifier

13 months agopower_insn: support mr/mrr specifiers
Dmitry Selyutin [Mon, 21 Nov 2022 16:48:26 +0000 (19:48 +0300)]
power_insn: support mr/mrr specifiers

13 months agopower_insn: support sats/satu specifiers
Dmitry Selyutin [Mon, 21 Nov 2022 16:34:06 +0000 (19:34 +0300)]
power_insn: support sats/satu specifiers

13 months agopower_insn: simplify assembly validation
Dmitry Selyutin [Mon, 21 Nov 2022 16:12:13 +0000 (19:12 +0300)]
power_insn: simplify assembly validation

13 months agopower_insn: support sea specifier assembly
Dmitry Selyutin [Sun, 20 Nov 2022 14:49:44 +0000 (17:49 +0300)]
power_insn: support sea specifier assembly

13 months agopower_insn: support els specifier assembly
Dmitry Selyutin [Sun, 20 Nov 2022 14:17:32 +0000 (17:17 +0300)]
power_insn: support els specifier assembly

13 months agopower_fields: avoid unknown attributes
Dmitry Selyutin [Sun, 20 Nov 2022 13:56:33 +0000 (16:56 +0300)]
power_fields: avoid unknown attributes

13 months agopower_insn: fix combined zz disassembly
Dmitry Selyutin [Wed, 16 Nov 2022 22:41:55 +0000 (01:41 +0300)]
power_insn: fix combined zz disassembly

13 months agopower_insn: refactor w/sw/dw specifiers
Dmitry Selyutin [Wed, 16 Nov 2022 22:03:20 +0000 (01:03 +0300)]
power_insn: refactor w/sw/dw specifiers

13 months agopower_insn: support zz/sz/dz specifiers
Dmitry Selyutin [Wed, 16 Nov 2022 21:43:14 +0000 (00:43 +0300)]
power_insn: support zz/sz/dz specifiers

13 months agopower_enums: unify predicates classes
Dmitry Selyutin [Wed, 16 Nov 2022 19:47:40 +0000 (22:47 +0300)]
power_enums: unify predicates classes

13 months agopower_enums: deprecate CRType enum
Dmitry Selyutin [Wed, 16 Nov 2022 19:47:40 +0000 (22:47 +0300)]
power_enums: deprecate CRType enum

13 months agopower_enums: clean code
Dmitry Selyutin [Wed, 16 Nov 2022 19:47:40 +0000 (22:47 +0300)]
power_enums: clean code

13 months agopower_enums: support 8/16/32 in SVP64Width
Dmitry Selyutin [Wed, 16 Nov 2022 19:47:40 +0000 (22:47 +0300)]
power_enums: support 8/16/32 in SVP64Width

13 months agopower_insn: switch to SVP64SubVL enum
Dmitry Selyutin [Tue, 15 Nov 2022 20:56:13 +0000 (23:56 +0300)]
power_insn: switch to SVP64SubVL enum

13 months agopower_enums: support subvl conversions
Dmitry Selyutin [Tue, 15 Nov 2022 20:04:53 +0000 (23:04 +0300)]
power_enums: support subvl conversions

13 months agopower_insn: validate predicates masks
Dmitry Selyutin [Tue, 15 Nov 2022 19:57:36 +0000 (22:57 +0300)]
power_insn: validate predicates masks

13 months agopower_enums: support predicate type property
Dmitry Selyutin [Tue, 15 Nov 2022 19:41:13 +0000 (22:41 +0300)]
power_enums: support predicate type property

13 months agopower_insn: introduce validation stubs
Dmitry Selyutin [Tue, 15 Nov 2022 19:25:10 +0000 (22:25 +0300)]
power_insn: introduce validation stubs