Sunday, 2023-03-26

*** gnucode <gnucode!~gnucode@user/jab> has quit IRC02:58
lkclprogrammerjake, well remembered the duplicate05:04
programmerjakeif you don't mind I'll probably fix it on monday05:05
lkcli have vague recollections of dropping an overflow bit into SelectableInt itself05:13
lkcland/or deliberately having (allowing) the value be greater than its declared bitlength05:14
lkcli can't remember now. it was 18 months ago05:14
lkcli don't mind absolutely-dreadful-hacks at all as long as they're documented05:15
lkclsuch as, in ISACaller:05:15
lkcl"if after result instruction was detected / noted to be an add, do this awful hack-worthy CA calculation"05:15
programmerjakeyeah, well that sorta catches carry (if the insn directly returns the result of the op that overflows), it doesn't handle carry caused by the before-last op05:16
lkcl"if after result computation,..."05:16
programmerjakereferring to the SelectableInt.overflow ^05:16
lkclit does if that before-last operation was also required to... ehm... true05:16
lkclyep scratch that05:16
lkclit looks like, deep breath, the awful-hack approach is needed. which matches with microwatt05:17
lkcland also explains why arithmetic shift explicitly sets CA/CA32 (iirc)05:17
lkclthat *is* - should - be detected05:17
lkclyou *should* see code which goes "if CA/CA32 is one of the return registers, *don't* for goodness sake overwrite them, instead use them"05:18
programmerjakesomething that would work for CA is having SelectableInt store more bits than it advertises and computing carry from that05:18
lkclyeah i don't think it's a good idea, on reflection.05:18
programmerjakewhere add, sub, etc. actually propagate those extra bits05:18
lkclSelectableInt is a major source of slowness and complexity as it is05:19
programmerjakewhat do you think of modifying the pseudo-code to explicitly compute carry?05:19
lkcland it's pretty much hell to read the detailed logs05:19
lkclthat involves proposals to the ISA WG which we need like a hole in the head at the moment05:19
lkclin the case of add it's literally *thirty* add-related instructions.05:19
lkclso no05:19
lkclhack-job is the path of least resistance05:20
lkcljust like microwatt already does05:20
programmerjakewell, path of least resistance isn't necessarily the best in the end -- imho implicit diy carry computations isn't a good idea, though it will work05:20
lkclhonestly: really don't care.05:21
programmerjake(aka. copying microwatt's code)05:21
lkclwe have too much else to do and not a lot of time to do it.05:21
programmerjakeok, implicit diy carry, here we go! :)05:22
lkclspending even days let alone weeks on "doing it right" causes too much loss on an already pressured timescale05:22
lkclthe good news is that microwatt's already done it.05:23
lkcland i've already implemented it05:23
lkclthe question is: is it *correct* - in both ISACaller and the ExpectedResults05:23
programmerjakeexcept that we do need a obviously correct reference, microwatt having done it is fine and likely to be correct, but afaik isn't directly traceable to the spec or Power9 or something.05:24
programmerjakehence why I want explicit in-pseudo-code05:24
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC08:56
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc09:18
*** kanzure <kanzure!~kanzure@user/kanzure> has quit IRC09:32
*** ghostmansd[m] <ghostmansd[m]!> has quit IRC10:28
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC11:11
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc11:12
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC11:20
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc11:21
lkclif that route is taken it has to be done as an appendix. but not now. it impacts too many instructions13:18
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC13:28
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc13:28
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc20:36
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC21:13
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc21:13
sadoon[m]Mirroring the debian repos including source repos, server goes brr23:40
sadoon[m]This way the mini-buildd server fetches local files instead of relying on (and absolutely hammering) the debian servers23:40

Generated by 2.17.1 by Marius Gedminas - find it at!