*** lkcl <lkcl!lkcl@freebnc.bnc4you.xyz> has joined #libre-soc | 00:33 | |
*** gnucode <gnucode!~gnucode@user/jab> has quit IRC | 02:59 | |
*** ckie <ckie!~ckie@user/cookie> has quit IRC | 05:41 | |
*** ckie <ckie!~ckie@user/cookie> has joined #libre-soc | 05:42 | |
*** ghostmansd <ghostmansd!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has quit IRC | 07:55 | |
*** octavius <octavius!~octavius@92.40.168.193.threembb.co.uk> has joined #libre-soc | 09:36 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has quit IRC | 10:41 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.172.170> has joined #libre-soc | 10:45 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.172.170> has quit IRC | 10:49 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has joined #libre-soc | 10:50 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has quit IRC | 13:00 | |
*** octavius <octavius!~octavius@92.40.168.193.threembb.co.uk> has quit IRC | 16:41 | |
*** ghostmansd <ghostmansd!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has joined #libre-soc | 18:35 | |
ghostmansd | I found that we lack some tables from maddedus. The name doesn't ring a bell. Is it a recent addition? | 19:45 |
---|---|---|
*** octavius <octavius!~octavius@92.40.168.187.threembb.co.uk> has joined #libre-soc | 19:46 | |
ghostmansd | Ah yeah, I see | 19:46 |
ghostmansd | commit d7967c3c21fbf1d37f200b9284232aec15a7fadd (origin/master, origin/HEAD, master) | 19:46 |
ghostmansd | Author: Jacob Lifshay <programmerjake@gmail.com> | 19:46 |
ghostmansd | Date: Fri Nov 11 00:52:36 2022 -0800 | 19:46 |
ghostmansd | Multiply and Add Extended Doubleword Unsigned Signed | 19:46 |
ghostmansd | Unsigned signed? Eh? | 19:47 |
ghostmansd | cast programmerjake | 19:47 |
programmerjake | it multiplies an unsigned value by a signed value and adds to a signed value iirc | 19:51 |
ghostmansd | Ah, OK. Couldn't this be implemented in terms of the existing instructions? | 19:52 |
ghostmansd | (that's not a suggestion to discard it, just curious) | 19:52 |
programmerjake | yes, powerpc is turing complete after all, it wouldn't be efficient though since you'd need 128-bit multiplies since there is no other unsigned-signed multiply instruction | 19:54 |
ghostmansd | Aha, got it | 19:54 |
ghostmansd | Should it share the same intop with maddedu? Seems like yes. | 19:55 |
ghostmansd | OP_MADDEDU | 19:55 |
programmerjake | it can if you like, though it seems just as reasonable to have its own | 19:56 |
programmerjake | icr what i put in the csv | 19:56 |
ghostmansd | OK stay tuned, I'll find out soon :-) | 19:57 |
ghostmansd | I'm currently checking why insndb cannot find this | 19:57 |
ghostmansd | fuck, stupid IRC | 19:57 |
ghostmansd | `/tmp/py.s:1: Error: unrecognized opcode: `maddedus'` | 19:57 |
ghostmansd | I'll never get used to this slash handling | 19:58 |
programmerjake | iirc when i added it i searched for all occurrences of maddedu and added it there... | 20:00 |
ghostmansd | Yeah that'd be the path any of us would follow :-) | 20:01 |
ghostmansd | Never mind, I'm checking it, sorry for bothering | 20:01 |
ghostmansd | Hm. Local assembly is fine. | 20:01 |
ghostmansd | Ah damn | 20:02 |
ghostmansd | Should have taken a look at the error | 20:02 |
ghostmansd | It's not in insndb, it's in the test itself | 20:02 |
ghostmansd | File "/home/ghostmansd/src/openpower-isa/src/openpower/decoder/isa/caller.py", line 1840, in call | 20:03 |
ghostmansd | info = self.instrs[ins_name] | 20:03 |
ghostmansd | KeyError: 'maddedus' | 20:03 |
ghostmansd | insndb is fine, the test is wrong | 20:03 |
ghostmansd | Or, well, not the test but the caller.py | 20:03 |
ghostmansd | That's src/openpower/decoder/isa/test_caller_bigint.py | 20:05 |
ghostmansd | Ah wait, I think I know | 20:05 |
ghostmansd | I need to re-launch pywriter, eh? | 20:05 |
programmerjake | yes | 20:06 |
ghostmansd | Yes | 20:06 |
ghostmansd | Fuck | 20:06 |
ghostmansd | I always forget this bit | 20:06 |
ghostmansd | Sorry for bothering, again | 20:06 |
ghostmansd | At least this time it took about half an hour to debug | 20:06 |
ghostmansd | One day I'll be able to recall it in a minute | 20:06 |
programmerjake | i rerun make right before running any tests in openpower-isa, it's fast enough... | 20:06 |
programmerjake | `make && pytest -n auto -v |& less` | 20:07 |
ghostmansd | I think I'll follow the same strategy | 20:07 |
ghostmansd | Where do you execute the pytest incantation? | 20:07 |
programmerjake | plus some env vars to prevent excessive output | 20:07 |
ghostmansd | openpower-isa? | 20:07 |
programmerjake | repo's root | 20:07 |
ghostmansd | Yeah but which repo? openpower-isa? | 20:07 |
programmerjake | yes | 20:08 |
ghostmansd | I'm going to check insndb branch... | 20:08 |
ghostmansd | But the thing is that it needs one env exported | 20:08 |
ghostmansd | INSNDB=true | 20:08 |
ghostmansd | Any way to check it fast on our CI? | 20:08 |
ghostmansd | Or maybe pytest inherits exported variables? | 20:08 |
programmerjake | add it to .gitlab-ci.yml and push | 20:09 |
programmerjake | it inherits env vars | 20:09 |
*** gnucode <gnucode!~gnucode@user/jab> has joined #libre-soc | 20:09 | |
programmerjake | if you add that env var please add it in a new pytest line, otherwise it'll prevent testing the old codepath | 20:10 |
ghostmansd | --- a/.gitlab-ci.yml | 20:10 |
ghostmansd | +++ b/.gitlab-ci.yml | 20:10 |
ghostmansd | @@ -94,4 +94,4 @@ build: | 20:10 |
ghostmansd | 20:10 | |
ghostmansd | - make generate &> generate.log || { cat generate.log; false; } | 20:10 |
ghostmansd | 20:10 | |
ghostmansd | - - SILENCELOG='!*,default' pytest -n auto -v src/openpower --maxfail=5 | 20:10 |
ghostmansd | + - SILENCELOG='!*,default' INSNDB=true pytest -n auto -v src/openpower --maxfail=5 | 20:10 |
ghostmansd | I'm doing this on a separate branch, insndb, not on master | 20:10 |
programmerjake | please don't delete the old line unless we won't be using the old code path ever again | 20:11 |
ghostmansd | How to add a new one? | 20:12 |
programmerjake | (at which point imho the env var is useless and should be assumed to be always set) | 20:12 |
ghostmansd | Could you help me, please? | 20:12 |
ghostmansd | insndb branch in openpower-isa | 20:12 |
programmerjake | in your git diff, just delete the line deletion and leave the line addition | 20:12 |
ghostmansd | Ah, so just a separate step in CI duplicating the original line with the different env? | 20:13 |
ghostmansd | OK | 20:13 |
ghostmansd | And then the results are at...? | 20:13 |
ghostmansd | I recall something with salsa | 20:13 |
programmerjake | actually, that won't work, since pytest fails so gitlab terminates the test early...it terminates at the first failing statement kinda like bash set -e | 20:15 |
programmerjake | results here: https://salsa.debian.org/Kazan-team/mirrors/openpower-isa/-/jobs | 20:15 |
ghostmansd | OK I'll run pytest locally for now | 20:16 |
ghostmansd | $(sudo apt-get install python3-pytest) under schroot | 20:16 |
ghostmansd | $ SILENCELOG='!*,default' INSNDB=true pytest-3 -n auto -v src/openpower --maxfail=5 | 20:16 |
ghostmansd | File "/home/ghostmansd/.local/lib/python3.7/site-packages/xdist/looponfail.py", line 17, in <module> | 20:17 |
ghostmansd | from _pytest._io import TerminalWriter | 20:17 |
ghostmansd | ModuleNotFoundError: No module named '_pytest._io' | 20:17 |
ghostmansd | sigh | 20:17 |
programmerjake | install pytest-xdist using pip | 20:18 |
programmerjake | not using apt | 20:18 |
ghostmansd | $(sudo python3 -m pip install pytest-xdist) ? | 20:19 |
programmerjake | python3 -m pip install --user pytest-xdist | 20:19 |
programmerjake | or you can use sudo if you like | 20:19 |
programmerjake | you need to uninstall apt pytest first so pip downloads it | 20:19 |
ghostmansd | Yep, just removed it | 20:20 |
ghostmansd | $ ILENCELOG='!*,default' INSNDB=true pytest -n auto -v src/openpower-isa --maxfail=5 | 20:20 |
ghostmansd | SILENCELOG | 20:20 |
ghostmansd | bash: pytest: command not found | 20:20 |
ghostmansd | Still not here :-( | 20:20 |
programmerjake | did you add the user bin path to PATH? | 20:21 |
programmerjake | ~/.local/bin iirc | 20:21 |
*** gnucode <gnucode!~gnucode@user/jab> has quit IRC | 20:33 | |
*** gnucode <gnucode!~gnucode@user/jab> has joined #libre-soc | 20:33 | |
ghostmansd | Thanks, it helped! | 20:39 |
ghostmansd | Running the pytest | 20:39 |
programmerjake | yw | 20:39 |
programmerjake | ghostmansd: i modified .gitlab-ci.yml to add a INSNDB=true pass on top of your insndb branch, i pushed it to the add-insndb-to-gitlab-ci branch: https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=40878d1f299aee44be4943fa6319f1567b03448d | 21:06 |
programmerjake | that way you can rebase it into your insndb branch whenever you update it next | 21:06 |
programmerjake | ci at https://salsa.debian.org/Kazan-team/mirrors/openpower-isa/-/jobs/3649289 | 21:07 |
ghostmansd | thanks programmerjake! | 21:08 |
*** octavius <octavius!~octavius@92.40.168.187.threembb.co.uk> has quit IRC | 21:51 | |
*** doppo_ <doppo_!~doppo@2604:180::e0fc:a07f> has quit IRC | 23:49 | |
*** doppo <doppo!~doppo@2604:180::e0fc:a07f> has joined #libre-soc | 23:50 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!