ghostmansd | https://bugs.libre-soc.org/show_bug.cgi?id=849#c29 | 10:07 |
---|---|---|
ghostmansd | https://bugs.libre-soc.org/show_bug.cgi?id=849#c30 | 10:07 |
ghostmansd | Long time no news, eh? Still, it seems I managed to make macros work. | 10:07 |
ghostmansd | I'm really tired, it took a fucking eternity to hack gas expressions. | 10:08 |
ghostmansd | I haven't yet introduced an alias for (1<<r3), ^r3. I think it's doable, though; if you think this is needed, I can support it too. | 10:10 |
ghostmansd | After I found how to make (1<<r3) work, I simply surrendered. :-) | 10:10 |
lkcl | ghostmansd[m], haha | 10:16 |
lkcl | unnnbeliieeevablllle | 10:16 |
lkcl | 1<<%r3 is far too many, it comes out as 7 characters including the / | 10:18 |
lkcl | i hadn't noticed that before | 10:18 |
ghostmansd[m] | With -mregnames it's 1 char shorter | 10:19 |
lkcl | much as i don't like the fact that i have to also go through the spec, i feel ^r3 is better | 10:19 |
lkcl | yeah but who's going to start adding that by default to all compilation? | 10:20 |
lkcl | btw, just so you know, i'm leaving various bits of other work 100% paid to you but completing them myself | 10:20 |
lkcl | because #550 is up to its EUR 12k limit | 10:20 |
lkcl | i must apologise, as well, for not making it clear, i was expecting ^r3 *instead* of 1<<r3 | 10:22 |
ghostmansd[m] | lkcl, this is not ok, please split it then | 10:24 |
lkcl | ghostmansd[m], sorry, which bit isn't ok? | 10:25 |
lkcl | (mornin, btw, i still haven't properly woken up) | 10:25 |
ghostmansd[m] | Ok I'll add ^r3 too | 10:25 |
ghostmansd[m] | Should I drop 1<<r3 support at all? | 10:26 |
ghostmansd[m] | Or should I keep it as an alias? | 10:26 |
lkcl | i think really, it's... mmm ah ok, yes. | 10:26 |
lkcl | if that's possible / easier, keeping it as an alias would work | 10:26 |
lkcl | and be a lot less work for me (modifying the spec) | 10:27 |
ghostmansd[m] | lkcl, I mean splitting the budget | 10:27 |
ghostmansd[m] | Ah OK | 10:27 |
ghostmansd[m] | OK I'll make an alias ^r3 for 1<<r3 | 10:27 |
lkcl | for example this one https://bugs.libre-soc.org/show_bug.cgi?id=728 | 10:28 |
lkcl | i'm completing it (already underway) but the budget i will put entirely to you | 10:28 |
lkcl | #550 is maxed out | 10:28 |
lkcl | oh, can you confirm whether EUR arrived on the 21st/22nd in the EU bank account? | 10:29 |
ghostmansd[m] | No, if you do it, then this should be on your side :-) | 10:29 |
ghostmansd[m] | Let me check with my sister, I have no idea | 10:29 |
lkcl | :) | 10:30 |
ghostmansd[m] | This is not even my account :-) | 10:30 |
lkcl | ok... so are you good with the amount you're receiving for binutils? | 10:30 |
ghostmansd[m] | You mean macros? | 10:31 |
ghostmansd[m] | 2100 IIRC, right? | 10:31 |
lkcl | etc. etc. yes | 10:32 |
lkcl | otherwise i will put you some extra via e.g. https://bugs.libre-soc.org/show_bug.cgi?id=728 | 10:32 |
lkcl | your sister should have EUR 1,400 arrive on 21st jul 2022 | 10:33 |
ghostmansd[m] | lkcl, there is arrival of EUR 1400! | 10:34 |
ghostmansd[m] | So I'll update the tasks (or you could, I'm AFK) | 10:35 |
ghostmansd[m] | As for payment, feel free to tune 728 or other tasks as you feel appropriate | 10:35 |
lkcl | hoorah. ok willdo | 10:36 |
lkcl | ack on 728. | 10:36 |
ghostmansd[m] | lkcl, star | 11:00 |
ghostmansd[m] | lkcl, any ideas how to call this predicate ^r3 in enum? I had SVP64_PREDICATE_1_LSHIFT_R3, but this feels dumb, compared to SVP64_PREDICATE_EQ or even SVP64_PREDICATE_R3_INV. And with new predicate, the name doesn't fit at all. | 11:22 |
lkcl | errrm.. ermermerm... | 12:05 |
* lkcl thinks | 12:05 | |
lkcl | 1BIT | 12:05 |
lkcl | SVP64_PREDICATE_1BIT | 12:05 |
lkcl | or | 12:06 |
lkcl | SVP64_PREDICATE_1BIT_R3 | 12:06 |
lkcl | ? | 12:06 |
ghostmansd[m] | OK, looks good | 12:45 |
lkcl | dang it's not. again | 13:00 |
cesar | It came to me that 2^r3 (two to the power of r3) is mathematically equivalent to 1<<r3, and only one character more than ^r3. Just a thought. | 15:44 |
cesar | I guess this is were the ^r3 proposal came from. | 15:54 |
cesar | ... but eliding the 2. | 15:54 |
lkcl | cesar, no, not at all :) | 16:02 |
lkcl | ok maybe subconsciously | 16:02 |
lkcl | toshywoshy, appreciate it's your "reading-day", https://bugs.libre-soc.org/show_bug.cgi?id=893 two one-pagers there | 16:13 |
lkcl | https://libre-soc.org/openpower/sv/executive_summary/ | 16:13 |
lkcl | https://libre-soc.org/openpower/sv/comparison_table/ | 16:13 |
lkcl | any thoughts? | 16:13 |
ghostmansd | https://bugs.libre-soc.org/show_bug.cgi?id=849#c32 | 19:23 |
ghostmansd | lkcl, it seems I managed to make it work! | 19:23 |
ghostmansd | I have to check the disasm, but I think I haven't touched the remapping algorithm | 19:24 |
ghostmansd | lkcl, I've updated 728 (basically re-allocated the budget to you); fine with you? | 19:48 |
ghostmansd | As for binutils budget, we're out of luck. :-) But it for sure took a lot of time, much more than I expected, and I assume prefix would need more time too (because, well, with macros I assumed it'd be waaaay simpler). So, if there will be some way to get an extra tip, I for sure won't object. :-) If not -- still fine. | 19:50 |
ghostmansd[m] | Sigh, yes I broke the assembly, at least for mp3. I wonder whether this task will ever end. | 20:23 |
lkcl | hoorah | 21:49 |
lkcl | ah... | 21:49 |
lkcl | sv.extsw./pr=^r3 isn't possible | 21:49 |
lkcl | https://libre-soc.org/openpower/sv/normal/#index2h1 | 21:50 |
lkcl | 0-1 2 3 4 description | 21:50 |
lkcl | 11 inv CR-bit Rc=1: pred-result CR sel | 21:50 |
lkcl | only a CR bit is possible | 21:50 |
lkcl | where (sigh) https://libre-soc.org/openpower/sv/svp64/#index11h1 | 21:51 |
lkcl | after doing MSB0-number-mind-bending-inversion | 21:52 |
lkcl | if you take the inv and CR-bits [2..4] of normal mode | 21:52 |
lkcl | they *should* happen to exactly match up with 11.2 CR-based predication table | 21:52 |
lkcl | but | 21:53 |
lkcl | see 11.1? that's for integer predication only | 21:53 |
lkcl | and there's no 4th bit in the normal-arithmetic table to select integer predication, right? | 21:54 |
lkcl | basically, "pr=" happens by a *coincidence* to use the exact same CR-field-selection as predication m=,dm=,sm= | 21:54 |
lkcl | fail-first as well | 21:56 |
lkcl | easily fixed with an extra argument to svp64_decode_predicate() | 21:56 |
lkcl | https://git.libre-soc.org/?p=binutils-gdb.git;a=blob;f=gas/config/tc-ppc-svp64.c;h=7f27093cde7fff236e4d254b54072e8430a1aab5;hb=0abcbc8220d812de3261fc44c5c65989882c0cec#l304 | 21:57 |
lkcl | ghostmansd[m], i did drop the remainder from 577 at you https://bugs.libre-soc.org/show_bug.cgi?id=577 | 22:07 |
ghostmansd[m] | lkcl, it seems I've dropped the check after calling svp64_decode_predicate | 22:20 |
ghostmansd[m] | ff/pr should allow either CR or RC1-related | 22:21 |
ghostmansd[m] | dm/sm/m should allow everything but RC1 | 22:21 |
ghostmansd[m] | Ok should be fine now | 22:25 |
ghostmansd[m] | Ok it seems this is done | 22:42 |
ghostmansd[m] | So, I fixed this (in)famous mp3 assembly, and also restored CR/RC1 post-check for sm/dm/m. I think we can now close 849. | 22:43 |
lkcl | 633 if (!iter || !(cr || ((mask & SVP64_RC1_ACTIVE) != 0))) | 22:43 |
lkcl | yeah! that works exactly the same | 22:43 |
lkcl | hooorahhh | 22:43 |
ghostmansd[m] | Aha | 22:43 |
ghostmansd[m] | This is what the code had before I started all this macro madness | 22:44 |
lkcl | i will PM you the secret URLs for submitting an RFP | 22:44 |
ghostmansd[m] | Perfect, thank you! Will do it tomorrow, enough for today | 22:45 |
lkcl | heh yeah | 22:47 |
cesar | lkcl: Just found out that, on vesa_ecp5.py, in nmigen_boards, the DDR3 reset pin name was incorrectly changed from "rst" to "reset". On every other DDR3 target, it's "rst". | 23:06 |
cesar | An inspection of the verilog generated by ls2.py confirms that the DDR3 reset pin not really connected to the PHY, it's wired to VCC. Bug was introduced in commit 3caaf1ffc9ff7635f66f33bc88da16bbe10852cc on nmigen-boards. | 23:07 |
lkcl | cesar, appreciated, 1 sec | 23:07 |
lkcl | https://gitlab.com/nmigen/nmigen-boards/-/commit/3caaf1ffc9ff7635f66f33bc88da16bbe10852cc | 23:08 |
lkcl | frick, i didn't notice | 23:08 |
lkcl | can you do a patch to fix that and put it back? | 23:09 |
cesar | Sure. | 23:09 |
lkcl | it explains why DDR3 doesn't work | 23:09 |
lkcl | because gram goes looking for named-attributes | 23:09 |
lkcl | if hasattr(self.pads, "rst"): # this gets renamed later to match dfi | 23:13 |
lkcl | controls.append("rst") | 23:13 |
lkcl | https://git.libre-soc.org/?p=gram.git;a=blob;f=gram/phy/ecp5ddrphy.py;h=e3e7f5ff7d8d528ae4113a8f0935206ce12edda3;hb=5064f00d605ccd16a169454fdede5f9e77591bce#l273 | 23:13 |
cesar | Indeed, I was inspecting the output from a print a few lines below, and missed "rst" among the others. | 23:19 |
lkcl | there's a cut/paste error of a "hasattr(self.pads, "rst") further above | 23:20 |
cesar | lkcl: Done: https://gitlab.com/nmigen/nmigen-boards/-/merge_requests/5 | 23:50 |
lkcl | cesar, awesome, done | 23:57 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!