Tuesday, 2022-11-01

*** jab <jab!~jab@user/jab> has quit IRC02:22
*** markos <markos!~Konstanti@static062038151250.dsl.hol.gr> has quit IRC02:30
*** markos <markos!~Konstanti@static062038151250.dsl.hol.gr> has joined #libre-soc02:42
*** lxo <lxo!~lxo@linux-libre.fsfla.org> has quit IRC03:31
*** lxo <lxo!~lxo@linux-libre.fsfla.org> has joined #libre-soc04:01
*** psydroid <psydroid!~psydroid@user/psydroid> has quit IRC04:13
*** jevinskie[m] <jevinskie[m]!~jevinskie@2001:470:69fc:105::bb3> has quit IRC04:13
*** psydroid <psydroid!~psydroid@user/psydroid> has joined #libre-soc04:29
*** jevinskie[m] <jevinskie[m]!~jevinskie@2001:470:69fc:105::bb3> has joined #libre-soc04:33
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has quit IRC06:01
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.40.122> has joined #libre-soc06:02
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.40.122> has quit IRC06:30
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has joined #libre-soc06:31
programmerjakenaming nitpick -- shadduw should be named shaddwu, just like mulhwu has the u after the w, though otoh the PowerISA is pretty inconsistent for ud vs. du06:59
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has quit IRC07:47
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has joined #libre-soc08:12
*** markos <markos!~Konstanti@static062038151250.dsl.hol.gr> has quit IRC08:16
*** markos <markos!~Konstanti@static062038151250.dsl.hol.gr> has joined #libre-soc08:16
*** toshywoshy <toshywoshy!~toshywosh@ptr-377wf33o3bnthuddmycb.18120a2.ip6.access.telenet.be> has quit IRC11:34
*** toshywoshy <toshywoshy!~toshywosh@ptr-377wf33o3bnthuddmycb.18120a2.ip6.access.telenet.be> has joined #libre-soc11:34
*** octavius <octavius!~octavius@239.147.93.209.dyn.plus.net> has joined #libre-soc12:46
*** lx0 <lx0!~lxo@linux-libre.fsfla.org> has joined #libre-soc13:05
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has quit IRC13:16
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.54.98> has joined #libre-soc13:16
*** lx0 <lx0!~lxo@linux-libre.fsfla.org> has quit IRC13:50
*** octavius <octavius!~octavius@239.147.93.209.dyn.plus.net> has quit IRC15:03
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.54.98> has quit IRC16:11
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.54.103> has joined #libre-soc16:13
*** lxo <lxo!~lxo@linux-libre.fsfla.org> has quit IRC16:17
*** lxo <lxo!~lxo@linux-libre.fsfla.org> has joined #libre-soc16:18
markosdo we have a meeting today? I know tomorrow's canceled, but not sure about today :)17:36
ghostmansd[m]lkcl, a little hint: if I write about something that I debugged for 3 hours, it means I already mostly made it work.17:39
ghostmansd[m]So, I will revert the revert once it transits from "mostly" to "fully".17:39
*** ghostmansd <ghostmansd!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has joined #libre-soc17:48
*** octavius <octavius!~octavius@239.147.93.209.dyn.plus.net> has joined #libre-soc18:18
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.54.103> has quit IRC18:23
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has joined #libre-soc18:23
*** jab <jab!~jab@user/jab> has joined #libre-soc18:29
*** jab <jab!~jab@user/jab> has joined #libre-soc18:35
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has quit IRC19:07
octaviusghostmansd, I remember libreriscv access was revoked a few times, due to "sub-repo git stuff" (I don't know the details, but files were automatically pulled in from another repo)19:35
octaviusAs for the commitdiff you posted in c#12 of bug #968, I don't understand the code19:36
ghostmansdAh, it's simple19:36
ghostmansdAll these arguments we have, they have fixed width.19:36
octaviusOr more like, I don't understand how it relates to instructions19:36
ghostmansdAnd sm is 2-bit one.19:36
ghostmansdIf you add 1 to sm=0x3, it will overflow.19:37
ghostmansdAnd be turned into 0.19:37
ghostmansdJust like if you added 1 to UINT32_MAX, just treat it like UINT2_MAX. :-)19:37
octaviusBut the pseudo-code is not storing sm+1 into sm, the intemediary has more bits (I assume, probably wrong assumption)19:37
ghostmansdThe correct term would be wraparound, I think.19:38
ghostmansdYes, it doesn't. :-)19:38
ghostmansdIf we add two integers, our code checks the width.19:38
ghostmansdIf one of the addends is a simple Python integer (or constant, if we're talking of pseudocode), then it gets the same width.19:39
ghostmansdSo, sm + 1 is...19:39
octaviusWhen I see variables being defined in pseudocode, there's no clear indication as to the size of the variable19:39
ghostmansdsm=SelectableInt(sm, 2)19:39
octaviusfor example "shift <- sm + 1"19:39
ghostmansd1 => SelectableInt(1, sm.bits)19:39
ghostmansdThen (sm + SI(1, bits=2)) => wrap19:40
ghostmansd> When I see variables being defined in pseudocode, there's no clear indication as to the size of the variable19:40
octaviusSo does there need to be an explicit "shift[0:4]" to ensure correct size?19:40
ghostmansdsigh, yes I know, it's implementation detail19:40
octaviusOh sorry19:40
octaviusshift[0:2]19:40
ghostmansd1 sec, what's shift?19:41
ghostmansdDo you mean the doc?19:41
octaviusThis is the pseudocode for ls004:19:41
octaviushttps://libre-soc.org/openpower/sv/rfc/ls004/19:41
octaviusyeah19:41
ghostmansdAha, I see19:41
ghostmansdYou need at most 3 bits to store values in range from 1 to 419:42
octaviusI changed it from "shift = shift + 1" to "shift <- sm +1" because "sm" is a bitfield, while "shift" is an intemediary19:42
ghostmansd1 option is to do something like `shift <- [0] * 3`19:42
octaviusIt's like were constructing a processor from back of the napkin notes :)19:43
octaviusAh I see, explicitly define shift19:43
ghostmansdand then assign it `sm`, then assign it to `shift + 1`19:43
octaviusYeah can do19:43
ghostmansdOr, as I did19:43
ghostmansdSimply prepend a 0 bit, then add19:43
ghostmansdBut, again, this is a tricky impl detail19:43
ghostmansdPerhaps we should debate how we should handle such stuff19:44
ghostmansdm <- ((0b0 || sm) + 1)19:44
octaviusshift <- ([0] || sm) + 119:44
ghostmansdThis gets SM, prepends 0 to it, getting 3-bit integer19:44
octaviussomething like that?19:44
ghostmansdThen adds 1, which also becomes 3-bit19:45
ghostmansdYep19:45
octaviusyeah19:45
ghostmansdBut, again, my feeling is that this is impossible to explain sanely to anyone in WG why the fuck we do it19:45
ghostmansdI mean, I can tell 'em the sm is 2-bit19:45
ghostmansdBut explaining that our addition works this way...19:46
octaviusThe only way I can think of to avoid this is to implicitly extend the variable, but that could be unpredictable19:46
ghostmansdI'm almost certain they'd tell us to get the hell out of their specs19:46
ghostmansdMy thoughts too19:46
octaviusWell, why not define the length of the variable at initialisation?19:47
ghostmansdI mean, this overflow logic is for a reason, and there's even an explicit check for bits mismatch19:47
octaviusshift[0:2] <- sm + 119:47
ghostmansdIt won't work :-)19:47
ghostmansdIt's sm that fucks stuff up19:47
ghostmansdYou'll add 1 to sm first19:47
ghostmansdCausing wrap around19:47
ghostmansdThen you'll store this shiny 0 to 3-bit :-)19:48
octaviusAh, because the stuff on the right is dealt without knowledge of the left19:48
ghostmansdagain, `sm` is 2-bit, and this constant, 1, gets converted to 2-bit on addition19:48
ghostmansdYep19:48
ghostmansdCrazy, eh?19:48
octaviusindeed19:48
ghostmansdNow imagine how many hours I spent there19:49
octaviusis this a bug, or a feature :)19:49
ghostmansd:-D19:49
ghostmansdI think both lol19:49
octaviusveselo XD19:49
ghostmansdbugofeature19:49
octaviusSo doing, "shift <- sm" and then "shift <- shift + 1" is fine?19:49
ghostmansdLike when someone asked Stalin, what is worse, left wing, or right wing, in politics?19:50
ghostmansdThe reply was, "they both are worse"19:50
ghostmansdI _think_ so19:50
ghostmansdYes, should be fine19:50
octaviusOk, I'll make changes to the bitmanip.mdwn and ls00319:51
octavius*ls00419:51
ghostmansdYour variant seems more explicit, to be honest19:51
ghostmansdSo I think I will tune the openpower-isa code respectively19:51
octaviusBecause I have to understand it :)19:52
ghostmansdAnyway, I'd really like lkcl to take a look at it when he's back19:52
ghostmansdRegardless of the pseudocode we end up with19:52
ghostmansdBoth are better than the switch anyway19:52
ghostmansdYou know, perhaps another option is, when we meet constant, _expand_19:52
ghostmansdI mean, add the damn bit19:53
ghostmansdBut this would make the whole stuff somewhat illogical19:53
octaviusWhat about defaulting to XLEN sized variables?19:53
octaviusToo much waste?19:53
ghostmansdThis would trigger an error :-)19:54
ghostmansdThis code also checks for bit width mismatch19:54
ghostmansd1 sec19:54
ghostmansdhttps://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/decoder/selectable_int.py;h=e90b68f156bd727aa7fde8c32de025502b4ff469;hb=0389a26f6d725335ee1e3d920dc9e87861bff1d6#l12119:54
ghostmansdhttps://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/decoder/selectable_int.py;h=e90b68f156bd727aa7fde8c32de025502b4ff469;hb=0389a26f6d725335ee1e3d920dc9e87861bff1d6#l27819:54
ghostmansdassert b.bits == self.bits19:55
ghostmansdSo when you'd add 2-bit sm to constant which was extended by default...19:55
ghostmansdBOOOOOOM19:55
ghostmansdFrankly, this _is_ logical, if we think about it... But damn, it's SOOOOO complicated.19:56
octaviusI'm annoyed with the difficulty in communication, a lot of this is quite obscure.20:01
octaviusEspecially dealing with software :')20:02
octaviusHardware is nicer, but comes with its own problems20:03
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has joined #libre-soc20:09
*** ghostmansd <ghostmansd!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has quit IRC20:17
programmerjakeis there a meeting today?21:07
programmerjakeonly cesar and I showed up...21:08
programmerjakelkcl, toshaan, octavius, etc...21:09
programmerjake^21:09
markosis it now?21:10
markosdamn the hour change21:10
markosI thought it was in one hour21:10
markoshm, no it's UTC 22:00 so it's in one hour21:11
markoswell, 50min21:11
octaviusOh hour change21:12
programmerjakehmm, well the event lkcl created on google calendar is right now...21:12
octaviusNo, you're right, I forget21:13
octaviusforgot21:13
programmerjakeit says moved to utc 21:0021:13
programmerjakethough that could be old21:13
markosgot an email from lkcl that says it's 22:00 so I'll stick to that :)21:14
markosI'd prefer now tbh21:14
markosit's "only" 23:00 here now :)21:14
octaviuswhen did you get an email about the time change markos?21:16
programmerjakeuuh, i have no recent email saying that21:16
octavius^ same here21:16
markosabout an hour ago, apparently he only sent it to me, maybe because I asked here21:17
programmerjakelkcl just sent an email cancelling  the wed meeting, said nothing about the tuesday meeting21:18
markosthe mail just says: "still same time UTC 22:00"21:18
programmerjakewell, maybe he made an error? afaict it's been 21:00 utc for months21:20
markoswell, if everyone is connected right now I'll happily join21:21
markosas I said, I prefer now anyway21:21
markoslkcl, ??21:21
programmerjakeeveryone else but me disconnected21:21
markossigh21:21
markosI'm not sure it was 21:00 UTC though21:22
programmerjakei guess the meeting is in 38min then21:23
markosI seem to remember that it was always midnight when I connected21:23
markos(local time that is)21:23
programmerjakewhich timezone? icr21:23
markosbut tbh, I'm not really famous for my great memory :-P21:23
markosEEST, Athens, so GMT+2 in winter, GMT+3 in summer21:24
programmerjakeah, your timezone switched 2 days ago, so it no longer being at your midnight checks out..21:27
programmerjakemidnight during the summer is utc 21:00 for you, just like i remember21:28
markoswell, I would greatly appreciate having it at UTC 21:00 so I don't have to go to bed at 2am :)21:29
programmerjakeif only everyone agreed that daylight savings switching was a bad idea that needs to no longer happen...21:29
markosI'm indifferent, I just want them to make up their minds21:29
markosone year it's over then it's back again21:29
markosjust make up your minds damn it21:29
markosbut that's not the only thing that EU has completely messed up21:30
markosmy hopes are not high21:30
markoschances are that things will go to shit first before they bounce back to some kind of normal21:30
programmerjakei looked through my email history and lkcl changed to saying utc 22:00 for wed 18 may, but afaict the meeting has always been 21:00 utc and he just got the text of his mail wrong, the google calendar generated part of the email says 22:00 UK time (BST -- UTC+1 then)21:38
programmerjakeso, i think lkcl just forgot the tz change for the uk today21:40
octaviusmeeting on programmerjake, toshywoshy22:00
*** octavius <octavius!~octavius@239.147.93.209.dyn.plus.net> has quit IRC23:02
*** jab <jab!~jab@user/jab> has quit IRC23:57
*** jab <jab!~jab@user/jab> has joined #libre-soc23:57

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