openpower-isa.git
5 months agopytest: try to improve scheduling programmerjake/powmod
Jacob Lifshay [Thu, 30 Nov 2023 22:55:08 +0000 (14:55 -0800)]
pytest: try to improve scheduling

5 months agotest_caller_svp64_powmod: rename to test_aaa_caller_svp64_powmod so pytest tries...
Jacob Lifshay [Thu, 30 Nov 2023 22:54:05 +0000 (14:54 -0800)]
test_caller_svp64_powmod: rename to test_aaa_caller_svp64_powmod so pytest tries to run it earlier

5 months agospeed up CI by disabling logging and VCD generation
Jacob Lifshay [Thu, 30 Nov 2023 22:21:36 +0000 (14:21 -0800)]
speed up CI by disabling logging and VCD generation

5 months agotest/runner: allow disabling VCD using SIM_NO_VCD=1 env var
Jacob Lifshay [Thu, 30 Nov 2023 22:20:54 +0000 (14:20 -0800)]
test/runner: allow disabling VCD using SIM_NO_VCD=1 env var

5 months agopowmod asm tests pass!
Jacob Lifshay [Tue, 17 Oct 2023 05:22:50 +0000 (22:22 -0700)]
powmod asm tests pass!

5 months agoswitch powmod to using new divmod implementation -- test not enabled yet
Jacob Lifshay [Mon, 16 Oct 2023 23:09:07 +0000 (16:09 -0700)]
switch powmod to using new divmod implementation -- test not enabled yet

5 months agocall log, not print
Jacob Lifshay [Mon, 16 Oct 2023 23:08:44 +0000 (16:08 -0700)]
call log, not print

5 months agomake parser work for pypy
Jacob Lifshay [Mon, 16 Oct 2023 22:39:17 +0000 (15:39 -0700)]
make parser work for pypy

pypy's ast classes' constructors seem to only work if all arguments or
no arguments are passed, not only some of them.

5 months agoadd comments telling people to keep the asm and python versions in sync
Jacob Lifshay [Mon, 16 Oct 2023 04:17:09 +0000 (21:17 -0700)]
add comments telling people to keep the asm and python versions in sync

5 months agodivmod: asm version of Knuth's algorithm D works!
Jacob Lifshay [Mon, 16 Oct 2023 04:06:02 +0000 (21:06 -0700)]
divmod: asm version of Knuth's algorithm D works!

5 months agoadd labels to DIVMOD REGEX log
Jacob Lifshay [Mon, 16 Oct 2023 03:59:36 +0000 (20:59 -0700)]
add labels to DIVMOD REGEX log

5 months agoput DIVMOD REGEX under new LogType: LogType.OutputMatching
Jacob Lifshay [Mon, 16 Oct 2023 03:54:12 +0000 (20:54 -0700)]
put DIVMOD REGEX under new LogType: LogType.OutputMatching

5 months agoWIP divmod: finished writing out asm knuth's algorithm d, still buggy
Jacob Lifshay [Fri, 13 Oct 2023 22:13:15 +0000 (15:13 -0700)]
WIP divmod: finished writing out asm knuth's algorithm d, still buggy

5 months agoWIP getting asm version of knuth's algorithm d working
Jacob Lifshay [Thu, 12 Oct 2023 03:29:51 +0000 (20:29 -0700)]
WIP getting asm version of knuth's algorithm d working

5 months agoWIP divmod: implemented division by single word
Jacob Lifshay [Wed, 11 Oct 2023 05:07:17 +0000 (22:07 -0700)]
WIP divmod: implemented division by single word

5 months agosupport ignoring integer registers for ExpectedState
Jacob Lifshay [Wed, 11 Oct 2023 05:05:49 +0000 (22:05 -0700)]
support ignoring integer registers for ExpectedState

5 months agoconvert assigned values to SVSHAPE when writing to SVSHAPE[0-3] SPRs
Jacob Lifshay [Wed, 11 Oct 2023 05:03:38 +0000 (22:03 -0700)]
convert assigned values to SVSHAPE when writing to SVSHAPE[0-3] SPRs

this makes mtspr SVSHAPE0, reg properly maintain ISACaller invariants

5 months agoadd WIP Knuth's algorithm D assembly
Jacob Lifshay [Tue, 10 Oct 2023 04:05:17 +0000 (21:05 -0700)]
add WIP Knuth's algorithm D assembly

5 months agodivmod: assign registers to variables
Jacob Lifshay [Tue, 10 Oct 2023 03:38:30 +0000 (20:38 -0700)]
divmod: assign registers to variables

5 months agoadapt divmod algorithm for putting variables in registers
Jacob Lifshay [Tue, 10 Oct 2023 03:35:40 +0000 (20:35 -0700)]
adapt divmod algorithm for putting variables in registers

5 months agoadd more features for _DivModRegsRegexLogger
Jacob Lifshay [Tue, 10 Oct 2023 03:30:43 +0000 (20:30 -0700)]
add more features for _DivModRegsRegexLogger

5 months agofinish moving Knuth algorithm D into a class
Jacob Lifshay [Tue, 10 Oct 2023 01:25:43 +0000 (18:25 -0700)]
finish moving Knuth algorithm D into a class

5 months agomerely indent function
Jacob Lifshay [Tue, 10 Oct 2023 01:21:40 +0000 (18:21 -0700)]
merely indent function

[skip ci]

5 months agostart adding DivModKnuthAlgorithmD class
Jacob Lifshay [Tue, 10 Oct 2023 01:19:25 +0000 (18:19 -0700)]
start adding DivModKnuthAlgorithmD class

5 months agoformat code
Jacob Lifshay [Tue, 10 Oct 2023 01:18:28 +0000 (18:18 -0700)]
format code

5 months agofinish writing python_divmod_knuth_algorithm_d
Jacob Lifshay [Mon, 9 Oct 2023 04:46:57 +0000 (21:46 -0700)]
finish writing python_divmod_knuth_algorithm_d

5 months agofix generating invalid divmod tests
Jacob Lifshay [Mon, 9 Oct 2023 04:46:14 +0000 (21:46 -0700)]
fix generating invalid divmod tests

5 months agospeed up divmod shift-sub tests by removing most test cases
Jacob Lifshay [Mon, 9 Oct 2023 04:43:00 +0000 (21:43 -0700)]
speed up divmod shift-sub tests by removing most test cases

5 months agoadd WIP knuth algorithm D python implementation
Jacob Lifshay [Sat, 7 Oct 2023 00:08:35 +0000 (17:08 -0700)]
add WIP knuth algorithm D python implementation

5 months agorename divmod algorithm -> divmod_shift_sub in prep for adding divmod based on Knuth...
Jacob Lifshay [Fri, 6 Oct 2023 22:21:07 +0000 (15:21 -0700)]
rename divmod algorithm -> divmod_shift_sub in prep for adding divmod based on Knuth's Algorithm D

5 months agoadd WIP powmod_256 -- asm test is currently disabled since divmod is too slow
Jacob Lifshay [Fri, 6 Oct 2023 02:57:29 +0000 (19:57 -0700)]
add WIP powmod_256 -- asm test is currently disabled since divmod is too slow

5 months agofix assemble to properly look for whole symbols to replace
Jacob Lifshay [Fri, 6 Oct 2023 02:53:45 +0000 (19:53 -0700)]
fix assemble to properly look for whole symbols to replace

previously if there were labels foo and foobar, it would partially
replace foobar giving 0x<addr>bar, which is wrong.

also optimized to use dict instead of linear search for label names

5 months agowhitespace in pseudocode to aid clarity
Luke Kenneth Casson Leighton [Thu, 30 Nov 2023 03:03:14 +0000 (03:03 +0000)]
whitespace in pseudocode to aid clarity

5 months agogot sv.bc working for pospopcount
Luke Kenneth Casson Leighton [Mon, 27 Nov 2023 10:08:43 +0000 (10:08 +0000)]
got sv.bc working for pospopcount

5 months agotry ctrtest mode in pospopcount
Luke Kenneth Casson Leighton [Mon, 27 Nov 2023 09:47:29 +0000 (09:47 +0000)]
try ctrtest mode in pospopcount

5 months agoreduce indentation
Luke Kenneth Casson Leighton [Thu, 23 Nov 2023 07:03:49 +0000 (07:03 +0000)]
reduce indentation

5 months agostarting on pospopcount assembler
Luke Kenneth Casson Leighton [Tue, 21 Nov 2023 17:40:27 +0000 (17:40 +0000)]
starting on pospopcount assembler

5 months agoadd cut/paste copy of strncpy example as basis for pospopcount
Luke Kenneth Casson Leighton [Tue, 21 Nov 2023 12:39:28 +0000 (12:39 +0000)]
add cut/paste copy of strncpy example as basis for pospopcount
https://bugs.libre-soc.org/show_bug.cgi?id=672

5 months agofix vertical-first sv.bc 1210-attempt-to-fix-vf-sv.bc
Jacob Lifshay [Tue, 21 Nov 2023 01:45:23 +0000 (17:45 -0800)]
fix vertical-first sv.bc

https://bugs.libre-soc.org/show_bug.cgi?id=1210

5 months agoAdded sv.bc in vertical-first test
Andrey Miroshnikov [Fri, 17 Nov 2023 14:55:52 +0000 (14:55 +0000)]
Added sv.bc in vertical-first test

5 months agoadd Z-23 to RT FRS FRT
Luke Kenneth Casson Leighton [Fri, 17 Nov 2023 15:42:07 +0000 (15:42 +0000)]
add Z-23 to RT FRS FRT

5 months agoAdded English language description for stdupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:38:47 +0000 (15:38 +0000)]
Added English language description for stdupsx instruction

5 months agoAdded English language description for sthupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:38:13 +0000 (15:38 +0000)]
Added English language description for sthupsx instruction

5 months agoAdded English language description for sthupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:36:11 +0000 (15:36 +0000)]
Added English language description for sthupsx instruction

5 months agoAdded English language description for stbupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:35:39 +0000 (15:35 +0000)]
Added English language description for stbupsx instruction

5 months agoAdded English language description for ldupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:34:20 +0000 (15:34 +0000)]
Added English language description for ldupsx instruction

5 months agoadd RS/FRT/FRS to Z-23 Form for ls004
Luke Kenneth Casson Leighton [Fri, 17 Nov 2023 15:30:33 +0000 (15:30 +0000)]
add RS/FRT/FRS to Z-23 Form for ls004
https://bugs.libre-soc.org/show_bug.cgi?id=1055

5 months agoAdded English language description for lwaupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:33:42 +0000 (15:33 +0000)]
Added English language description for lwaupsx instruction

5 months agoAdded English language description for lwzupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:32:56 +0000 (15:32 +0000)]
Added English language description for lwzupsx instruction

5 months agoAdded English language description for lhaupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:32:18 +0000 (15:32 +0000)]
Added English language description for lhaupsx instruction

5 months agoAdded English language description for lhzupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:31:08 +0000 (15:31 +0000)]
Added English language description for lhzupsx instruction

5 months agochange ld/st shift to Z23-Form
Luke Kenneth Casson Leighton [Fri, 17 Nov 2023 15:27:48 +0000 (15:27 +0000)]
change ld/st shift to Z23-Form

5 months agoAdded English language description for lfdupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:29:12 +0000 (15:29 +0000)]
Added English language description for lfdupsx instruction

5 months agoAdded English language description for lbzupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:27:31 +0000 (15:27 +0000)]
Added English language description for lbzupsx instruction

5 months agoAdded English language description for stfdux instruction
Shriya Sharma [Fri, 17 Nov 2023 15:24:36 +0000 (15:24 +0000)]
Added English language description for stfdux instruction

5 months agoadd comment/header on ld/st shift instructions
Luke Kenneth Casson Leighton [Fri, 17 Nov 2023 15:20:37 +0000 (15:20 +0000)]
add comment/header on ld/st shift instructions

5 months agoAdded English language description for lfdupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:22:08 +0000 (15:22 +0000)]
Added English language description for lfdupsx instruction

5 months agoTest case (all same nos) for maxloc
Shriya Sharma [Fri, 17 Nov 2023 13:11:09 +0000 (13:11 +0000)]
Test case (all same nos) for maxloc

5 months agoadd asserts to check results
Luke Kenneth Casson Leighton [Fri, 17 Nov 2023 13:02:10 +0000 (13:02 +0000)]
add asserts to check results

5 months agowhitespace
Luke Kenneth Casson Leighton [Fri, 17 Nov 2023 13:01:22 +0000 (13:01 +0000)]
whitespace

5 months agoTest case (all zeroes) for maxloc
Shriya Sharma [Fri, 17 Nov 2023 12:02:01 +0000 (12:02 +0000)]
Test case (all zeroes) for maxloc

5 months agomsr and svstate default to None in TestCase, they're replaced with actual values...
Jacob Lifshay [Thu, 16 Nov 2023 03:31:32 +0000 (19:31 -0800)]
msr and svstate default to None in TestCase, they're replaced with actual values in ISACaller

5 months agono point defining nm=-1
Luke Kenneth Casson Leighton [Wed, 15 Nov 2023 14:34:38 +0000 (14:34 +0000)]
no point defining nm=-1

5 months agoadd 2nd maxloc case
Luke Kenneth Casson Leighton [Wed, 15 Nov 2023 14:33:03 +0000 (14:33 +0000)]
add 2nd maxloc case

5 months agomove maxloc to isacaller directory
Luke Kenneth Casson Leighton [Wed, 15 Nov 2023 14:18:20 +0000 (14:18 +0000)]
move maxloc to isacaller directory

5 months agopython conversion of maxloc.c
Luke Kenneth Casson Leighton [Wed, 15 Nov 2023 14:17:09 +0000 (14:17 +0000)]
python conversion of maxloc.c

6 months agoadd TRAP docs programmerjake/bug-1177
Jacob Lifshay [Thu, 9 Nov 2023 02:27:34 +0000 (18:27 -0800)]
add TRAP docs

6 months agomisc fixes for fallout of copying insn inputs
Jacob Lifshay [Tue, 7 Nov 2023 04:54:52 +0000 (20:54 -0800)]
misc fixes for fallout of copying insn inputs

6 months agoSystem Call Interrupts do *not* set SRR1[TRAP]
Jacob Lifshay [Tue, 7 Nov 2023 04:38:18 +0000 (20:38 -0800)]
System Call Interrupts do *not* set SRR1[TRAP]

See PowerISA v3.1B Book III 7.5.14

6 months agosupport TRAP being called without setting a trap_bit
Jacob Lifshay [Tue, 7 Nov 2023 04:37:07 +0000 (20:37 -0800)]
support TRAP being called without setting a trap_bit

6 months agoonly write outputs that have .ok == True
Jacob Lifshay [Tue, 7 Nov 2023 04:54:05 +0000 (20:54 -0800)]
only write outputs that have .ok == True

6 months agouse create_full_args to generate insn arg list
Jacob Lifshay [Tue, 7 Nov 2023 04:49:19 +0000 (20:49 -0800)]
use create_full_args to generate insn arg list

6 months agoadd SelectableInt.ok
Jacob Lifshay [Tue, 7 Nov 2023 04:46:03 +0000 (20:46 -0800)]
add SelectableInt.ok

6 months agohelper for one-source-of-truth for insn argument list for ISACaller and parser
Jacob Lifshay [Tue, 7 Nov 2023 04:43:13 +0000 (20:43 -0800)]
helper for one-source-of-truth for insn argument list for ISACaller and parser

6 months agocopy_assign_rhs must retain subclasses of SelectableInt
Jacob Lifshay [Tue, 7 Nov 2023 04:41:11 +0000 (20:41 -0800)]
copy_assign_rhs must retain subclasses of SelectableInt

6 months agolog load/stores to InstrInOuts
Jacob Lifshay [Mon, 6 Nov 2023 02:14:29 +0000 (18:14 -0800)]
log load/stores to InstrInOuts

6 months agoformat code
Jacob Lifshay [Thu, 2 Nov 2023 01:36:10 +0000 (18:36 -0700)]
format code

6 months agomisc AST correctness fixes
Jacob Lifshay [Wed, 1 Nov 2023 05:50:40 +0000 (22:50 -0700)]
misc AST correctness fixes

6 months agofix maxloc
Luke Kenneth Casson Leighton [Tue, 14 Nov 2023 11:58:09 +0000 (11:58 +0000)]
fix maxloc

6 months agoadd debug print
Luke Kenneth Casson Leighton [Wed, 8 Nov 2023 20:25:09 +0000 (20:25 +0000)]
add debug print

6 months agowhoole stack of whitespace corrections
Luke Kenneth Casson Leighton [Wed, 8 Nov 2023 20:21:42 +0000 (20:21 +0000)]
whoole stack of whitespace corrections

6 months agomore crap removed
Luke Kenneth Casson Leighton [Wed, 8 Nov 2023 20:17:54 +0000 (20:17 +0000)]
more crap removed

6 months agoremove unnecessary cruft from Makefile
Luke Kenneth Casson Leighton [Wed, 8 Nov 2023 20:14:32 +0000 (20:14 +0000)]
remove unnecessary cruft from Makefile

6 months agoRemoved unused include: bug #676
Andrey Miroshnikov [Wed, 8 Nov 2023 16:37:57 +0000 (16:37 +0000)]
Removed unused include: bug #676

6 months agoAdding fortran C example for Shriya, bug #676
Andrey Miroshnikov [Wed, 8 Nov 2023 16:17:59 +0000 (16:17 +0000)]
Adding fortran C example for Shriya, bug #676

6 months agorename all load/store update-shifted-post-increment to *upsx
Jacob Lifshay [Mon, 6 Nov 2023 03:07:57 +0000 (19:07 -0800)]
rename all load/store update-shifted-post-increment to *upsx

https://bugs.libre-soc.org/show_bug.cgi?id=1048#c21

6 months agofix instruction name conflicts
Jacob Lifshay [Mon, 6 Nov 2023 02:20:42 +0000 (18:20 -0800)]
fix instruction name conflicts

6 months agoremove lhaup from pifixedloadshift -- all pi-shift instructions are indexed X-Form...
Jacob Lifshay [Mon, 6 Nov 2023 02:18:08 +0000 (18:18 -0800)]
remove lhaup from pifixedloadshift -- all pi-shift instructions are indexed X-Form rather than D-Form

6 months agodetect duplicate instructions
Jacob Lifshay [Mon, 6 Nov 2023 02:15:03 +0000 (18:15 -0800)]
detect duplicate instructions

6 months agorename pifpstore instructions, add "p" into names
Luke Kenneth Casson Leighton [Mon, 6 Nov 2023 02:46:09 +0000 (02:46 +0000)]
rename pifpstore instructions, add "p" into names

6 months agouse of the word "Kind" is too irritating. replace all occurrences with "Type".
Luke Kenneth Casson Leighton [Thu, 2 Nov 2023 07:27:50 +0000 (07:27 +0000)]
use of the word "Kind" is too irritating. replace all occurrences with "Type".
cannot replace lowercase "kind" with "type" as it is a python keyword.
have to think of a better (*short*) argument name

6 months agocomment on rfid doing a swap-backup of the program, must find
Luke Kenneth Casson Leighton [Thu, 2 Nov 2023 07:14:58 +0000 (07:14 +0000)]
comment on rfid doing a swap-backup of the program, must find
out why and fix it so that is not necessary

6 months agoadd LSHIFT and RSHIFT operators to parser. reluctantly
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 14:46:12 +0000 (15:46 +0100)]
add LSHIFT and RSHIFT operators to parser. reluctantly

6 months agolook for and allow blank lines in pseudocode as well
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 14:45:52 +0000 (15:45 +0100)]
look for and allow blank lines in pseudocode as well
as english description. remove use of regex (too complex to understand)

6 months agomissing colon on end of "Description"
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 14:31:12 +0000 (15:31 +0100)]
missing colon on end of "Description"

6 months agoremove use of regex (this code is REQUIRED to be SIMPLE)
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 14:00:43 +0000 (15:00 +0100)]
remove use of regex (this code is REQUIRED to be SIMPLE)

6 months agoforgot title
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:56:50 +0000 (11:56 +0100)]
forgot title

6 months agomissing brackets in lhbrx
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:55:38 +0000 (11:55 +0100)]
missing brackets in lhbrx

6 months agoadded english language description for lhbrsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:50:50 +0000 (11:50 +0100)]
added english language description for lhbrsx instruction

6 months agomissing brackets in lhbrx
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:46:27 +0000 (11:46 +0100)]
missing brackets in lhbrx