Monday, 2022-07-25

ghostmansd[m]I have to admit, the new site for RFPs is ass-kicking07:33
ghostmansd[m]lkcl, what's the state of bug 884? Should we submit RFPs?07:43
lkclyes go for it11:40
lkcltook a lot of work i had to do a json format11:41
lkclbe careful though, don't submit RFPs for work that's not completed yet.11:42
ghostmansdlkcl, could you remind me the whole deal with svindex update?12:49
ghostmansdI see that we switched from RS to SVG in SVI form.12:51
ghostmansdI see that we still pass GPR, exactly as we do in RS. openpower/isa/simplev.mdwn doesn't ring a bell either.12:53
ghostmansdIt looks like a duck, and even the quacking is somewhat familiar.12:58
ghostmansd> ghostmansd[m], i had to rename RS in svindex to SVG to specifically avoid it getting detected and processed as a GPR13:43
ghostmansdI don't quite get, it's still documented as GPR in fields.text.13:43
ghostmansdAnyway, I updated pysvp64asm, and will also introduce an alias for binutils (#define SVG RS).13:44
lkcllkcl> one thing i haven't mentinoed (yet) is that there's a new Pack/Unpack mode.  sv_analysis and sv_binutils have to take that into account but i don't want to get into discussing that with you or begin adding it until everything else has stabilised.13:53
lkclghostmansd, gimme a sec to catch up on svindex.13:54
ghostmansd[m]Sure, no rush13:54
lkcl+* svindex RS,rmm,SVd,ew,yz,mr,sk13:55
lkclold version13:56
lkclnew version13:56
lkcl 270 SVI-Form13:56
lkcl 27113:56
lkcl 272 * svindex SVG,rmm,SVd,ew,yx,mr,sk13:56
lkcli know what it is.13:56
lkclif you use a register (RS,RA,RB,RC,RT) then that gets the register lookups to kick in13:57
lkclif you use "RS", it means "go get the CONTENTS from the GPR, GPR(RS)"13:57
lkclthis is ***NOT*** what is required for svindex13:57
lkclsvindex you must perform a vector lookup *starting* from RS13:58
lkclthe normal vector loop is13:58
lkclfor i = 0 to VL-1:13:59
lkcl     GPR(RT+i) = GPR(RA+i) + GPR(RB+i)13:59
ghostmansd[m]Is it possible to code "svindex %r1, ..."?13:59
lkclhmmm.... i wouldn't recommend it for now.13:59
lkclit's offset/shifted in a slightly complicated way because there are only 5 bits14:00
lkclso i'd just leave it as an integer 0-31 for now14:00
lkclthe normal vector loop blah blah14:00
lkclwhereas the svindex loop is:14:00
lkclfor i = 0 to VL-1:14:01
lkcl     GPR(RT+GPR(SVG+i)) = GPR(RA+GPR(SVG+i)) + GPR(RB+GPR(SVG+i))14:01
lkclactually because there are 128 GPRs, it's more like14:01
lkcl     GPR(RT+GPR(SVG<<4+i)) = GPR(RA+GPR(SVG<<4+i)) + GPR(RB+GPR(SVG<<4+i))14:02
lkcl     GPR(RT+GPR(SVG<<2+i)) = GPR(RA+GPR(SVG<<2+i)) + GPR(RB+GPR(SVG<<2+i))14:02
ghostmansdLooks like this isn't GPR at all then.14:02
ghostmansdBut a simple integer.14:02
lkclbasically... correct14:02
ghostmansdField used to specify a GPR to be used as a14:02
ghostmansdsource for indexing.14:02
ghostmansdThis is fields.text opinion, though.14:02
ghostmansdThis is really confusing :-)14:02
lkclalthough the confusion comes when you realise that that indexing is in fact into the GPR14:03
ghostmansdYes, but the way GPR's indexed is different.14:03
lkclyes. it helps to do an FP operation14:03
lkclfor i = 0 to VL-1:14:03
lkcl     FPR(FRT+GPR(SVG<<2+i)) = FPR(FRA+GPR(SVG<<2+i)) + FPR(FRB+GPR(SVG<<2+i))14:04
ghostmansdHm. OK, but still this is not a register, right? So no need to mark it as PPC_OPERAND_GPR to let others do %r1, %r25, etc.14:04
ghostmansdOnly simple integers, 1, 25, etc.14:04
lkclno, don't mark it as a PPC_OPERAND_GPR14:04
ghostmansdOK then :-)14:04
lkclmacro substitution and arithmetic expressions are still possible, though, right?14:05
lkcl.set SVG_OFFSET 514:05
lkclsvindex SVG_OFFSET*2, blah, blah14:05
* lkcl afk was in the middle of a looong reply to jacob bachmeyer14:06
ghostmansdLet me check for stull like SVG_OFFSET * 214:06
ghostmansdShould work, yes14:07
ghostmansdlkcl, the following works:14:50
ghostmansd.set IMM, 5514:50
ghostmansdsv.addi %r3, %r1, IMM*5-114:50
lkclyes i'd expect that to.15:18
lkclghostmansd[m] you're now on 2019-10-03117:34
ghostmansd[m]Cool, thanks!17:35
lkcltoshywoshy, ping, mattermost is behind (about 3 hours)17:36
ghostmansdHeck, somehow the commit which added ff/pr squashed multiple others (mr, mrr, crm, svm, etc.). Spent quite a bit splitting it again. :-)20:25
ghostmansdFor now we have 34 commits.20:29
ghostmansd19 files changed, 12631 insertions(+), 44 deletions(-)20:29
ghostmansd10520 for the generated stuff. It will decrease soon, though: I'll remove one register table for CRs (Alan changed the logic a bit recently, so that one became redundant).20:30
ghostmansdWe almost haven't touched vanilla PPC, by the way. I made a huge effort to avoid it. Perhaps we can do even more.20:31
ghostmansd gas/config/tc-ppc.c             |   215 +++-20:31
ghostmansd gas/config/tc-ppc.h             |    19 +-20:31
lkclghostmansd[m], doh.22:09
lkclyeah avoiding tc-ppc.c is adviseable, the history behind it is significant and it would freak people out to start hacking on it significantly.22:10
lkclalan on the other hand can get away with it22:10
lkclghostmansd[m], please do keep the bugtracker database up-to-date.22:12
lkclplease don't submit RFPs without also immediately updating the "submitted=" date22:12
lkcloh er you have. or i did. i forget. dang22:13
lkclonly 2 hours ago and i'd forgotten already. dang.22:14
* lkcl melted brain22:14
octaviuslkcl.... YES!23:10
octavius...the docs are compiling23:10
octaviusI'll pull in the changes now23:11
lkcloctavius, hooorah23:33
lkclyou found an appropriate version of saxon / libxslt / whatever?23:33
octaviusYeah, the original makefile for some reason calls the saxon9 jar file, whereas instead you can call saxonb-xslt directly23:34
octavius(saxon is the original v6.5.5, 1.0 only, saxonb is v9+ 2.0/3.0 support)23:35
lkclnice find. frustrating but good to find.23:40
octaviusAfter enough practice (and you drilling to 'grep' and learn myself), finally getting the hang of it XD23:41
octaviusNow just need to figure out how to source the env vars as root, probably no clean way to do it?23:43
octaviusAh yeah, I can just call bash23:45
octaviusand that should reload the .bashrc23:45

Generated by 2.17.1 by Marius Gedminas - find it at!