[Libre-soc-bugs] [Bug 917] pysvp64dis: support SVP64 disassembly
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Wed Sep 7 11:10:19 BST 2022
https://bugs.libre-soc.org/show_bug.cgi?id=917
--- Comment #8 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Dmitry Selyutin from comment #5)
> OK, I started playing around SVP64 EXTRA2/EXTRA3 concepts. Here's what we
> have for now.
> Note the updated ranges for operands, the disassembly itself (first lines),
> and extra modes printed.
>
> Yes I remember about target_addr. I just don't have time to do everything at
> once.
>
> 00 00 40 05 sv.bc 2,9,0x8
> 08 00 49 40
> spec
> sv.bc BO,BI,BD (AA=0 LK=0)
> binary
> [0:8] 00000101
> [8:16] 01000000
> [16:24] 00000000
> [24:32] 00000000
> [32:40] 01000000
> [40:48] 01001001
> [48:56] 00000000
> [56:64] 00001000
> opcode
> 0x40000000
> mask
> 0xfc000003
> BO
> 00010
> (38, 39, 40, 41, 42)
> BI
> 01001
> (43, 44, 45, 46, 47)
> BD
> 00000000000010
> (48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61)
> target_addr = EXTS(BD || 0b00))
> AA
> 0
> (62,)
> LK
> 0
> (63,)
> mode
> branch
>
> 40 18 40 05 sv.add r127,r31,r65
> 14 0a ff 7f
> RB
> 01000001
> (48, 49, 50, 51, 52, 24, 25, 26)
> extra3[2]
ah! yeah, that looks right. vector would
be:
[48,49,50,51,52,24,25] # (or maybe 25,24)
scalar would be:
[24,25,48,49,50,51,52,24,25] # (or maybe 25,24)
> 00 00 40 05 sv.lwzu r3,16,r1
> 10 00 61 84
> spec
> sv.lwzu RT,D(RA)
> RA
> 00001
> (43, 44, 45, 46, 47)
> extra2[2]
and as this is EXTRA2, it would be best as:
RA
{0}000001
[25,43,44,45,46,47] # or maybe 24
where vector would be:
0000001{0}
[43,44,45,46,47,25] # or maybe 24
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list