Friday, 2022-10-28

*** openpowerbot_ <openpowerbot_!> has quit IRC00:04
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC00:05
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc00:34
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC05:00
*** openpowerbot_ <openpowerbot_!> has joined #libre-soc06:56
*** lxo <lxo!> has joined #libre-soc08:42
*** ghostmansd <ghostmansd!> has quit IRC08:46
*** ghostmansd[m] <ghostmansd[m]!> has quit IRC09:07
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc09:08
*** octavius <octavius!> has joined #libre-soc09:46
cesarlkcl: The RFP Overview page for project 2019-10-032 shows EUR 1250 budget left, while my pending RFP is for EUR 2500. I wonder if it's a problem?10:18
lkclcesar, 1 sec let me check12:02
lkclno it shouldn't be a problem12:03
*** ckie <ckie!~ckie@user/cookie> has quit IRC13:09
lkcloctavius, can you add dsld and dsrd to ls003? we cleared up the issue which was preventing them from being added13:13
octaviuswill do13:13
*** ckie <ckie!~ckie@user/cookie> has joined #libre-soc13:13
lkcli'm just editing the bigint page to add the pseudocode from the mdwn13:14
lkcloctavius, make sure to git pull, i just added pseudocode and also notes about adding VA2-Form13:31
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC14:00
*** ghostmansd[m] <ghostmansd[m]!> has joined #libre-soc14:03
*** markos <markos!> has joined #libre-soc14:19
octaviusIn the PowerISA spec, section 64-bit Fixed-Point Shift Instructions, is there a mistake?14:25
octaviussld pseudo-code says (RB)58:63, but the description says (RB)57:6314:25
*** octavius <octavius!> has quit IRC15:17
*** markos <markos!> has quit IRC15:27
ghostmansd[m]lkcl, thank you for changes with pattern15:32
lkclreally? in Power ISA v3.0B?15:36
lkclyep that's a bug15:36
lkclreporting it now15:40
lkclghostmansd[m], saves a lot of pissing about15:40
ghostmansd[m]This change should have had description "Improving UX in 3..2..1..." :-)15:41
lkclmumble mumble... :)15:44
programmerjakeoctavius lkcl: sld pseudo-code says (RB)58:63 because it separately checks bit, no that is not a bug.17:55
programmerjakedsld/dsrd do not check bit 57 because that means we don't need an additional andi instruction when doing bigint shifts possibly by >64-bits17:57
programmerjakeoctavius lkcl: the MASK calls for dsld/dsrd should mirror sld/srd: sld: MASK(0, 63 - sh)  srd: MASK(sh, 63)18:00
programmerjakealso, why did you add setting overflow? dsld/dsrd do not set SO/OV18:01
programmerjakeif any overflow-kinda thing is calculated, it should be like srad that sets CA iff the input is negative and 1-bits are shifted out to the right -- however, dsrd on a bigint can't keep track of the sign bit all the way to calculating the lsb word,so can't tell if the input bigint was negative -- therefore dsrd shouldn't detect overflow. dsld should mirror sld and never detect overflow.18:08
programmerjakesra[wd][i] setting CA is used to make right shift emulate a truncating division by a power of two, by incrementing the result using addze afterwards18:11
*** jab <jab!~jab@user/jab> has joined #libre-soc20:59
*** octavius <octavius!> has joined #libre-soc21:48
*** jab <jab!~jab@user/jab> has quit IRC22:36
*** jab <jab!~jab@user/jab> has joined #libre-soc22:37
lkclokaay, lots of things to unpack.23:09
lkcl1) checking bit 57 - thank you for spotting that. i closed the bugreport as invalid23:10
lkcl2) when experimenting randomly to try to find something that passed a unit test, MASK(0, 63-sh) did not work (or, in my random hunting around i didn't find it)23:10
lkcl(yes, really, i can't do the analysis: i literally have to go through all permutations looking for "something that works")23:11
lkcl3) i added overflow because it seemed like a good idea. ISACaller.handle_carry() will read *but not write* XER.SO - writing to XER.SO would only be permitted by a dsldo instruction (which is not worth it)23:14
lkclthe thought occurred to me it might be useful to have CR0.OV contain a notification as to whether the 64-bit carry was zero or nonzero23:15
programmerjakeso you mean write OV but not SO?23:15
lkclwrite CR0.OV bit, yes.  write XER.SO, no23:15
lkclsee ISACaller.handle_comparison(). it *reads* XER.So and includes it (ORs in) in setting of CR0.SO23:16
lkclit does *not* write to XER.SO (or any XER bits).23:16
programmerjakek, though i wasn't planning on writing CR0 at all23:16
lkclthat's only activated by OE=123:17
lkclthat's "dsld." and "dsrd."23:17
programmerjakeah, yeah23:17
lkclwhich i just realised, in minor_4.csv, it's unnecessary to have CR0 as an output on this23:18
lkcl 10 52,SHIFT_ROT,OP_DSHL,RA,RB,RC,RT,NONE,CR0,0,0,ZERO,0,NONE,0,0,0,0,0,0,RC_ONLY,023:18
lkclbut... yeah it's ok  "RC_ONLY" will detect it23:19
lkclis it useful? honestly i don't know23:19
lkcli can see the value of detecting if the last element had a "64-bit-carry".23:21
lkclis it useful at all for prefix-codes, to know if the 64-bit-carry is non-zero?23:21
lkclor when using this for grouping bits together (constructing an instruction from operand fields, for example)23:22
programmerjakeyeah, it's useful for bigint as long as Rc is optional, allows saving an instruction to check for shift left overflowing (bigint needs one more word) or for signed shift right truncating instead of flooring for emulating division by a power of 223:23
lkclyes it's optional.23:23
programmerjakeRc=0 should be an option to avoid overwriting CR predicates23:23
lkcli have to say it feels slightly odd that these two are not natural inverses of each other23:23
lkclyes agreed23:23
lkclbeen thinking about that - using some of SVSTATE bits to change the offset where CR predicates start from23:24
programmerjakeprefix-code doesn't care about non-zero outputs, after all codes that are a string of zeros are just as valid as strings of ones and need to be handled identically23:25
lkcl;a=commitdiff;h=a5e874ed4f20a8febed2f7cf51715e2a930f1f01 nice catch btw23:25
programmerjakeimho using bits to expand offset for vslideup/vslidedown would be quite useful23:26
lkclnggggh that one fell through the cracks23:26
lkclhave to think about it23:26
lkclcan you raise a bugreport and link it to... to... errr..23:26
programmerjakeimho lots more of our ops likely don't calculate CA correctly because SelectableInt doesn't propagate carrys23:27
programmerjakeuuh, already created a bug...
*** yambo <yambo!~yambo@> has quit IRC23:28
lkcloh i meant for offsets23:31
programmerjakei'll make a bug for expanding svoffset23:32
octaviusHave you prepared for the trip lkcl? You should get some good sleep before the drive :)23:35
lkclsunday. yes.23:35
octaviusAh ok, plenty of time then23:36
lkclpeugeot's gearbox is f*****d - taking the toyota starlight instead23:36
lkclordered a replacement one with "only" 75,000 miles on it23:36
octaviusIs it expensive to do the replacement? I guess such an old model has simpler disassembly23:37
lkclgod yes23:37
lkcllikely about GBP 350 quid in labour.23:37
lkcl350 quid for the gearbox23:38
lkclthere's is a certain appeal to a car this old - one that can run on vegetable oil straight into the tank and has no computer control whatsoever23:38
octaviusNo ECUs of anykind?23:39
lkcllooked it up: below 1250 litres per year, you do not need to pay tax23:39
lkclthere's a cable.23:39
lkclit goes to the throttle.23:39
lkclit's got a screw-stop on it to limit how much "pull" the cable has.23:39
octaviusInteresting, my car's 1.25l. But it's the age that makes it tax-exempt?23:40
lkclah no - that's in 6 years time23:40
lkclno, it's the UK Inland Revenue rules on "alternative fuels"23:40
lkcl2500 litres, not 125023:41
*** yambo <yambo!~yambo@> has joined #libre-soc23:41
lkclsection 4.2.123:41
lkcl2500 litres per year is 538 gallons.23:42
lkcl538 gallons @ 60 mpg is over 32,000 miles :)23:42
octaviusAh, I thought of the engine volume...60mpg is very good!23:44
lkclonly 800 kg, that's why23:44
octaviusAh of course23:45
octaviusMy car is just under double that :D23:45

Generated by 2.17.1 by Marius Gedminas - find it at!