ghostmansd | OK it seems macro'd width for sw/ew work, at least I get the correct results with this code: https://pastebin.com/ | 14:50 |
---|---|---|
ghostmansd | Predicates will be way more tricky since I'll have to make binutils aware of our special stuff, like "1<<r3", "r3", "~r3", etc. | 14:51 |
ghostmansd | This "predicates" section include both m/sm/dm and ff/pr modes, though. The most challenging part would be 1<<r3 et al. I'm not sure binutils allow to handle these in a simple way. | 14:55 |
ghostmansd | lt/nl/ge/etc. will also be tricky somewhat, since they don't expand to constants but rather symbols. But for these I at least have an idea in mind. | 14:56 |
ghostmansd | Even this idea would be a bit of hackery with global context, though. | 15:02 |
ghostmansd | Fortuanately the code already has some of these hacks, so I'm not the first to corrupt it. :-) | 15:02 |
ghostmansd | lkcl, some updates ^^^ | 15:02 |
ghostmansd | Also, how often irclong gets the entries? I don't see all the entries I wrote, but I see them in both phone and laptop. | 15:05 |
ghostmansd | Ah it got entries already. Never mind. | 15:05 |
ghostmansd[m] | A funny typo, irclong... Judging from the name it should take a while before it collects the entries. | 15:06 |
lkcl | ghostmansd[m], if you're typing "irclong" you've been focussing on c for too log. | 15:17 |
lkcl | yes it's a cron job, 5 minutes | 15:18 |
lkcl | do drop the example into the bugreport, remember pastebin is not under our control: anything in it is lost (for archive purposes) immediately | 15:19 |
ghostmansd[m] | lkcl, heh, I even dropped a link to pastebin as is, w/o pressing the submit button | 15:30 |
ghostmansd[m] | lkcl, dropped the code to the task | 15:34 |
ghostmansd | Out of curiosity. How does one even define "1<<r3" as macro? | 15:51 |
ghostmansd | Aha, I see. This is as simple as `.set cocojumbo, 1<<r3`. Still, a difficult thing to parse. | 16:21 |
ghostmansd | Error: invalid operands (*ABS* and *UND* sections) for `<<' when setting `cocojumbo' | 16:21 |
ghostmansd | Still this happens upon usage, not upon the ".set" directove, so it's technicaly a valid code. | 16:22 |
ghostmansd | And, likely, the calculation is deferred... | 16:22 |
ghostmansd | Yeah a damn tricky case. I assume that's the same for all predicates which have some operator. | 16:23 |
lkcl | ghostmansd, it's the only one. | 16:38 |
ghostmansd | ~r30, ~r10 | 16:39 |
ghostmansd | these also have an operator | 16:39 |
ghostmansd | ~r3 too | 16:39 |
lkcl | basically it turns a vector operation into a single scalar operation, where r3 picks the element. | 16:39 |
lkcl | sv.add/m=1<<r3 GPR(RT+r3) = GPR(RA+r3) + GPR(RB+r3) | 16:40 |
lkcl | ghostmansd, ah yeah | 16:40 |
lkcl | hmmmmm | 16:40 |
ghostmansd | :-) | 16:41 |
ghostmansd | It'd have been somewhat simpler if those are not operator-based | 16:41 |
ghostmansd | Anyway, I think it's doable, just a bit slower then just a simple ASCII-word-without-punctuation | 16:42 |
ghostmansd | (that's to avoid horrifying you with some damned regex, lol) | 16:42 |
lkcl | :) | 16:43 |
ghostmansd | Luke, any docs I can refer to about these modes? | 16:44 |
ghostmansd | I mean, links etc. | 16:44 |
lkcl | that's not a mode, it's predicate selection | 16:44 |
lkcl | 1 sec | 16:44 |
ghostmansd | Yeah under mode I mean ff/pr etc. | 16:45 |
lkcl | ah 1 sec | 16:45 |
lkcl | there's 4 pages | 16:45 |
lkcl | https://libre-soc.org/openpower/sv/normal/ | 16:46 |
lkcl | https://libre-soc.org/openpower/sv/branches/ (ignore that one for now) | 16:46 |
lkcl | https://libre-soc.org/openpower/sv/cr_ops/ (ignore that one too) | 16:46 |
lkcl | https://libre-soc.org/openpower/sv/ldst/ | 16:46 |
lkcl | if you want to know *about* the modes (what they do) | 16:47 |
lkcl | https://libre-soc.org/openpower/sv/svp64/appendix/#index9h1 | 16:47 |
lkcl | start around there | 16:47 |
ghostmansd | Aha, perfect | 16:47 |
ghostmansd | Actually I also intend to use these links as tips for binutils developers | 16:48 |
ghostmansd | I'm going to raise the discussion on the mailing list about this stuff | 16:48 |
ghostmansd | First, I'm a bit unsure how to do it in an elegant way | 16:48 |
ghostmansd | Second, I have an idea how to do it in an unelegant way, but I suspect it would look like a real crap | 16:49 |
lkcl | well if it helps try using !r10 !r30 !r3 instead of ~r3 | 16:49 |
ghostmansd | I think it won't :-) | 16:50 |
lkcl | meh | 16:50 |
ghostmansd | Or, well, it will perhaps help, but still would need some tricks | 16:50 |
ghostmansd | (and I think these tricks will be the same with ~ and <<) | 16:50 |
lkcl | dmitry: how about moving the symbol to the lhs? | 18:22 |
lkcl | ~sm=r3 | 18:23 |
lkcl | and something else (convenient) instead of 1<<r3 | 18:24 |
lkcl | or just sm=1r3 or sm=sr3 (shifted r3) or sm=u for "unary" would do | 18:27 |
lkcl | anything to avoid expressions on the rhs | 18:28 |
ghostmansd[m] | lkcl, this would do the trick for sm/dm/m, yep | 18:51 |
ghostmansd[m] | And 1<<r3, I've been thinking about it too, having something non-operands-related would also work | 18:52 |
ghostmansd[m] | On the other hand, ~sm=r3 makes it look like there's a different mode instead of just a different predicate | 18:53 |
ghostmansd[m] | I'm not sure whether it satisfies my need for beauty | 18:53 |
ghostmansd[m] | That said, the beauty is in the eye of the beholder | 18:54 |
ghostmansd[m] | And, since I'm a huge fan of HoMM III, here's the beholder I mean: | 18:55 |
ghostmansd[m] | https://mightandmagic.fandom.com/wiki/Beholder?file=Beholder.jpg | 18:55 |
lkcl | ooOooo | 18:57 |
lkcl | why does it remind me of Monsters University Scare Cards? https://pixarpost.com/2013/10/muscarecards.html | 18:58 |
lkcl | "~sm=r3" can be interpreted from english to the words (in order), "inversion of source-mask r3" | 19:00 |
lkcl | which makes sense | 19:00 |
lkcl | rather than "source-mask is inverted r3" | 19:00 |
lkcl | "m=u3" into english "mask is unary r3" | 19:01 |
ghostmansd[m] | > why does it remind me of Monsters University Scare Cards? | 19:16 |
ghostmansd[m] | Perhaps they got an inspiration from HoMM? | 19:16 |
ghostmansd[m] | Hm, your suggestion makes sense, yeah. I suggest to have a day or two for Alan's reply. If things are doable with little blood, I'd go for it; otherwise let's think of the overall convention. | 19:20 |
ghostmansd[m] | This _seems_ simpler than the register-related stuff; I might be wrong, though. | 19:21 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!