programmerjake
  • Joined on 2024-07-08
programmerjake created branch speed-up-interning in programmerjake/fayalite 2026-02-03 01:53:07 +00:00
programmerjake pushed to speed-up-interning at programmerjake/fayalite 2026-02-03 01:53:07 +00:00
a96efa9696 cache interned UInt/SInt types
4ac1bcbc0a change Interner to use a sharded hash table
39810043ea move Interner into new mod interner
26b0dc3fd8 change Interner to pub(crate)
11281a9842 add a thread-local cache when using TypeIdMap
Compare 10 commits »
programmerjake commented on issue libre-chip/grant-tracking#12 2026-01-29 02:23:38 +00:00
NLnet 2024-12-324 Create the PowerISA decoder

I'm considering this complete. A description of what is implemented: libre-chip/cpu#7 (comment)

programmerjake closed issue libre-chip/grant-tracking#12 2026-01-29 02:23:38 +00:00
NLnet 2024-12-324 Create the PowerISA decoder
programmerjake deleted branch add-powerisa-decoder from programmerjake/cpu 2026-01-29 02:22:15 +00:00
programmerjake merged pull request libre-chip/cpu#7 2026-01-29 02:22:14 +00:00
add PowerISA decoder
programmerjake pushed to master at libre-chip/cpu 2026-01-29 02:22:14 +00:00
f88346ea37 implement decoding mtspr/mfspr/mftb
a42b76b468 implement decoding all rotate instructions
130c1b2892 change CommonMOp to directly contain a generic immediate type
167bc4b6a6 implement decoding extswsli[.]
faa8dde774 reduce the number of wires to have one per form/field pair instead of one per insn/field pair
Compare 35 commits »
programmerjake commented on pull request libre-chip/cpu#7 2026-01-29 02:22:00 +00:00
add PowerISA decoder

The decoder handles decoding either 32 or 64-bit (prefixed) instructions, and for each instruction generates 0-3 µOps:

  • no-ops decode to 0 µOps
  • most instructions decode to 1…
programmerjake pushed to add-powerisa-decoder at programmerjake/cpu 2026-01-29 01:35:24 +00:00
f88346ea37 implement decoding mtspr/mfspr/mftb
programmerjake pushed to add-powerisa-decoder at programmerjake/cpu 2026-01-28 03:20:27 +00:00
a42b76b468 implement decoding all rotate instructions
130c1b2892 change CommonMOp to directly contain a generic immediate type
167bc4b6a6 implement decoding extswsli[.]
Compare 3 commits »
programmerjake pushed to add-powerisa-decoder at programmerjake/cpu 2026-01-27 00:13:45 +00:00
faa8dde774 reduce the number of wires to have one per form/field pair instead of one per insn/field pair
1db65ae753 implement decoding shifts: s[lr][wd][.] and sra[wd][i][.]
Compare 2 commits »
programmerjake pushed to add-powerisa-decoder at programmerjake/cpu 2026-01-26 04:35:17 +00:00
59874b9b29 add shift/rotate MOp definition
2ad469e331 simplify getting IMM_WIDTH for LogicalFlagsMOpImm
Compare 2 commits »
programmerjake pushed to add-powerisa-decoder at programmerjake/cpu 2026-01-25 23:07:05 +00:00
0824b63d31 implement decoding 8/16/32/64-bit store instructions -- all of Power ISA v3.1c Book I 3.3.3
programmerjake pushed to add-powerisa-decoder at programmerjake/cpu 2026-01-24 00:08:05 +00:00
706d54ae0d implement decoding 8/16/32/64-bit load instructions -- all of Power ISA v3.1C Book I 3.3.2
programmerjake pushed to add-powerisa-decoder at programmerjake/cpu 2026-01-23 20:13:20 +00:00
d361a2b578 make LogicalFlagsMOp also copy the dest PRegValue.flags into PRegValue.int_fp
aa07e24c78 make check-copyright.sh also handle other tests/.../expected/... files
Compare 2 commits »
programmerjake pushed to add-powerisa-decoder at programmerjake/cpu 2026-01-23 19:47:25 +00:00
29757a568c implement decoding mcrf
33529a2296 implement decoding condition register logical instructions
5e9d0957f6 reorder the decoder test cases to match the PowerISA v3.1C PDF
fc8a6cd959 split up tests/simple_power_isa_decoder into separate modules
87112c681a move simple_power_isa_decoder integration test into its own folder
Compare 5 commits »
programmerjake pushed to add-powerisa-decoder at programmerjake/cpu 2026-01-22 16:29:24 +00:00
e6f876f9af fix & clean up MOp definitions and ensure_reg_fields_are_in_the_same_place
programmerjake pushed to add-powerisa-decoder at programmerjake/cpu 2026-01-22 15:35:19 +00:00
9b8d99e9af implement decoding mcrxrx
ffc3d4283c refactor PRegFlags to use view structs instead of a long list of accessor methods
Compare 2 commits »
programmerjake pushed to add-powerisa-decoder at programmerjake/cpu 2026-01-21 00:20:59 +00:00
0433e4f8f1 mark .vcd files as generated
a93dca25ac extract lut out into separate Lut4 type and add test
Compare 2 commits »
programmerjake pushed to add-powerisa-decoder at programmerjake/cpu 2026-01-20 06:39:38 +00:00
85ada6e55a add tests for and fix decoding branch instructions