Tuesday, 2023-09-12

*** gnucode <gnucode!~gnucode@user/jab> has quit IRC00:20
*** gnucode <gnucode!~gnucode@user/jab> has joined #libre-soc00:21
*** gnucode <gnucode!~gnucode@user/jab> has quit IRC01:50
*** gnucode <gnucode!~gnucode@user/jab> has joined #libre-soc01:50
*** Gooberpatrol66 <Gooberpatrol66!~Gooberpat@user/gooberpatrol66> has quit IRC06:02
*** openpowerbot <openpowerbot!~openpower@94-226-187-44.access.telenet.be> has quit IRC06:02
*** Lucretia <Lucretia!~laguest@user/lucretia> has quit IRC06:02
*** hl <hl!~hl@user/hl> has quit IRC06:02
*** sauce <sauce!~sauce@free.and.open.sauce.icu> has quit IRC06:02
*** JTL <JTL!~jtl@user/jtl> has quit IRC06:02
*** rsc <rsc!~robert@fedora/rsc> has quit IRC06:02
*** gnucode <gnucode!~gnucode@user/jab> has quit IRC06:02
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC06:02
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC06:02
*** leah <leah!~leah@libreboot/developer/leah> has quit IRC06:02
*** libredev <libredev!libredev@libredev.ircforever.org> has quit IRC06:02
*** jn <jn!~quassel@user/jn/x-3390946> has quit IRC06:02
*** toshywoshy <toshywoshy!~toshywosh@ptr-377wf33o3bnthuddmycb.18120a2.ip6.access.telenet.be> has quit IRC06:02
*** mx08 <mx08!~mx08@user/mx08> has quit IRC06:02
*** gnucode <gnucode!~gnucode@user/jab> has joined #libre-soc06:03
*** openpowerbot <openpowerbot!~openpower@94-226-187-44.access.telenet.be> has joined #libre-soc06:03
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc06:03
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc06:03
*** Lucretia <Lucretia!~laguest@user/lucretia> has joined #libre-soc06:03
*** Gooberpatrol66 <Gooberpatrol66!~Gooberpat@user/gooberpatrol66> has joined #libre-soc06:03
*** JTL <JTL!~jtl@user/jtl> has joined #libre-soc06:03
*** hl <hl!~hl@user/hl> has joined #libre-soc06:03
*** sauce <sauce!~sauce@free.and.open.sauce.icu> has joined #libre-soc06:03
*** rsc <rsc!~robert@fedora/rsc> has joined #libre-soc06:03
*** jn <jn!~quassel@user/jn/x-3390946> has joined #libre-soc06:03
*** leah <leah!~leah@libreboot/developer/leah> has joined #libre-soc06:03
*** libredev <libredev!libredev@libredev.ircforever.org> has joined #libre-soc06:03
*** mx08 <mx08!~mx08@user/mx08> has joined #libre-soc06:03
*** toshywoshy <toshywoshy!~toshywosh@ptr-377wf33o3bnthuddmycb.18120a2.ip6.access.telenet.be> has joined #libre-soc06:03
*** HumanGeek <HumanGeek!~HumanG33k@> has quit IRC06:07
*** HumanGeek <HumanGeek!~HumanG33k@> has joined #libre-soc06:08
*** gnucode <gnucode!~gnucode@user/jab> has quit IRC07:23
*** gnucode <gnucode!~gnucode@user/jab> has joined #libre-soc07:24
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC10:34
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc10:34
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC10:50
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc10:51
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC10:55
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc10:55
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC11:22
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc11:23
*** psydroid <psydroid!~psydroid@user/psydroid> has joined #libre-soc12:41
*** psydroid <psydroid!~psydroid@user/psydroid> has quit IRC12:42
*** psydroid <psydroid!~psydroid@user/psydroid> has joined #libre-soc12:42
*** octavius <octavius!~octavius@> has joined #libre-soc13:36
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC14:14
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc14:14
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC14:18
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc14:19
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC14:49
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc14:49
*** gnucode <gnucode!~gnucode@user/jab> has quit IRC15:09
ghostmansd[m]Assuming we have matched several opcodes which correspond to the same instruction name, what'd be the best way to handle this? I'm looking for something short and simple.16:08
ghostmansd[m]Say isel, or svshape.16:08
markos_that's by accident right? I mean it shouldn't be like that on purpose16:13
ghostmansd[m]No, that's not an accident. :-)16:25
ghostmansd[m]Check isel in major_31.csv16:26
openpowerbot[irc] <programmerjake> isel just has a register field that takes up some of what minor_31.csv thinks is the XO field, if minor_31.csv used the proper syntax, it would have one entry with XO `------1111`16:29
openpowerbot[irc] <programmerjake> but it doesn't and putting 64 entries is easier than changing the entire file's format16:30
ghostmansd[m]Yes, but, still, technically, these are "one name : several records"16:30
openpowerbot[irc] <programmerjake> for disassembly, it shouldn't matter, just output the name of the record corresponding to the opcode you got16:31
ghostmansd[m]So, back to the original question raised. Assume I have several records found by name... how to assemble this?16:32
ghostmansd[m]Yes, disassembly is fine, the question is about the assembly16:32
ghostmansd[m]I can collect all entries and then merge somehow (IIRC I remove bits where dynamic operands map)16:33
ghostmansd[m]But maybe something better16:33
openpowerbot[irc] <programmerjake> that should work16:33
ghostmansd[m]Or just owrewrite the stuff :-)16:33
ghostmansd[m]I mean, we know where the dynamic operands map, hey16:34
ghostmansd[m]So we can write directly16:34
openpowerbot[irc] <programmerjake> for svshape, if you pass invalid operands, imho it's fine to end up generating svshape2, though it'd be nice to give an error16:34
ghostmansd[m]That said, the format is pissed16:34
ghostmansd[m]Because, as markos_ said, it shouldn't be like that on purpose :-)16:35
ghostmansd[m]1 name : 1 opcode. Anything else goes to "aliases" section.16:35
openpowerbot[irc] <programmerjake> so, basically, if after removing the bits covered by operands, there are still different XO values, report an error, that shouldn't happen16:35
openpowerbot[irc] <programmerjake> they should end up with 64 identical entries for isel and several for svshape, just deduplicate16:36
openpowerbot[irc] <programmerjake> if that doesn't work (I'd be surprised), we can re-think then16:38
ghostmansd[m]We don't even check whether all records match :-)16:39
ghostmansd[m]I mean, hey, all such entries should have the identical operands16:39
ghostmansd[m]And everything identical16:39
ghostmansd[m](or, better, another format, but Luke will object)16:39
openpowerbot[irc] <programmerjake> well, just insert the records in a dict[str, insn-record] (after removing opcode bits from XO) while generating and report an error when there's an entry with a different insn-record, i don't expect that to be more than a few lines of code extra16:42
ghostmansd[m]Yeah I know.16:43
openpowerbot[irc] <programmerjake> :)16:43
ghostmansd[m]My point was, the format sucks :-)16:43
ghostmansd[m]But still we don't attempt to cover ourselves from a possible BOOM16:44
openpowerbot[irc] <programmerjake> i agree, but changing it is too much work for now (I'm counting convincing lkcl as part of that work)16:44
ghostmansd[m]If you count that, the work naturally takes decades :-)16:45
ghostmansd[m]lkcl, no offense, Luke, I'm just kidding :-)16:46
openpowerbot[irc] <programmerjake> yeah, i don't like that the general philosophy of the project is no error checking for a lot of stuff...16:46
ghostmansd[m]Nah, that's actually my fault. I simply didn't stop at this place.16:54
ghostmansd[m]But I hope next iteration will be better16:55
openpowerbot[irc] <programmerjake> no, i'm referring to far more than just what you worked on, e.g. the pseudo-code parser, and consistency checking for fields.txt and many others...16:56
ghostmansd[m]Oh, speaking of fields.txt: if there's something worse than our CSVs, it's the first candidate16:59
ghostmansd[m]It's good for print, sure16:59
ghostmansd[m]But so damn awful for parsing16:59
markos_shouldn't the opcodes be something like a dict of bitsets?16:59
openpowerbot[irc] <programmerjake> I did add some error checking...so it will error if you misalign stuff17:00
openpowerbot[irc] <programmerjake> if i were designing it, i'd follow vulkan's lead and encode the info in xml or json or something and have a generator that generates the pdf format rather than the other way around17:01
openpowerbot[irc] <programmerjake> vulkan has the whole spec in xml so it's easy to extract the right info17:02
openpowerbot[irc] <programmerjake> plus they distribute autogenerated json and a few other formats17:02
octaviusUnless we already have such a task, it's probably worth noting as a bug in the Future milestone.17:03
octaviusNo resources to work on now, but definitely needed to include in future grants17:04
openpowerbot[irc] <programmerjake> imho it's not worth the effort for now especially with the spec hopefully being released in latex soon and I've heard rumors of it coming with a parser for extracting stuff17:05
octaviusAh of course, I keep forgetting about the eventual latex spec. Please ignore what I said17:16
*** choozy <choozy!~choozy@80-62-174-82.ftth.glasoperator.nl> has joined #libre-soc18:15
*** gnucode <gnucode!~gnucode@user/jab> has joined #libre-soc19:17
*** octavius <octavius!~octavius@> has quit IRC21:41
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC21:49
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc21:50
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC21:56
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc21:57
*** choozy <choozy!~choozy@80-62-174-82.ftth.glasoperator.nl> has quit IRC22:00

Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!