Wednesday, 2023-03-08

*** gnucode2 <gnucode2!~gnucode2@user/jab> has joined #libre-soc00:51
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has quit IRC01:32
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has joined #libre-soc01:55
*** gnucode2 <gnucode2!~gnucode2@user/jab> has quit IRC02:51
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has quit IRC03:30
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has joined #libre-soc03:55
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has quit IRC04:17
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has joined #libre-soc04:42
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has quit IRC06:49
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has joined #libre-soc07:29
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has quit IRC07:49
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has joined #libre-soc09:14
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has quit IRC09:18
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC09:35
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has joined #libre-soc09:58
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc11:09
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has quit IRC12:12
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.166.144> has joined #libre-soc12:13
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC14:53
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc14:54
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.166.144> has quit IRC15:10
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has joined #libre-soc15:10
*** tplaten <tplaten!~tplaten@62.144.45.55> has joined #libre-soc16:32
*** adi_ <adi_!uid592526@id-592526.ilkley.irccloud.com> has joined #libre-soc17:08
* lkcl filling in https://bugs.libre-soc.org/show_bug.cgi?id=95217:40
lkcli've got most of Schedule A done, but not the leaf-nodes yet because there's going to be too many to do all at once17:41
markoslkcl, please remind me, how do I call a single unit test, eg test_0_sv_index?18:05
markosbtw, I'm going to start adding some stuff to 953 (svp64 cookbook) in the near future18:05
markoswhat's the preferred doc format? latex?18:06
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has quit IRC18:11
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.40.76> has joined #libre-soc18:15
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.40.76> has quit IRC18:19
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has joined #libre-soc18:20
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has quit IRC18:26
lkclmarkos, i typically comment-out all other functions ":%s/def test_/def tst_" then run the file "python3 test_caller_whatever.py" :)19:35
lkclfor the cookbook: markdown, directly in the wiki. i'll create a top-level page for it (based on the rfc template, because you can add sub-pages and they get automatically listed in the root page)19:36
lkclwe already have a couple of Makefiles in the wiki that perform automatic conversion to latex and then latex to pdf.19:37
lkclprogrammerjake, i've reverted - removed - the fgrevi instructions because there has been absolutely no discussion whatsoever as to whether they are valuable or whether they could even potentially cause damage to the Power ISA's reputation19:39
lkclmarkos, https://git.libre-soc.org/?p=libreriscv.git;a=blob;f=openpower/sv/rfc/Makefile;hb=HEAD19:40
lkclthat completely does away with any need to write latex directly, and has the strong advantage that what is in the cookbook is also directly accessible in the wiki19:41
lkclthis voodoo-magic ikiwiki incantation "collates" (lists) every sub-page under the rfc directory: https://git.libre-soc.org/?p=libreriscv.git;a=blob;f=openpower/sv/rfc.mdwn;hb=HEAD19:41
markosok, good point19:41
lkclanything "tagged" with [[!tag opf_rfc]]19:42
lkclthere is btw a "normal" way of running a single function in a unit test in nosetest319:42
lkcli just can't remember what it is because i find it easier to do the commenting-out trick :)19:42
lkclbut i know it is actually possible19:43
lkclhttps://stackoverflow.com/questions/11286688/how-do-i-specify-a-single-test-in-a-file-with-nosetests19:43
lkclwhich in my mind looks like a hell of a lot of hassle :)19:43
markosnice19:43
markoshahaha, I guess it's just easier to just comment out stuff19:44
lkclparticularly if you have a deep directory structure - yes i know you can always "cd" to the test_caller directory, sigh19:44
lkclwhich is one of the reasons why we *very much* do not use relative imports, because relative imports get royally screwed if you cd into the directories of the repo and start trying to execute things in it19:45
lkclmarkos, https://git.libre-soc.org/?p=libreriscv.git;a=commitdiff;h=ad71d796fe9e1f77c366b1941ae7275760ef668f19:48
programmerjakelkcl: i specifically added the fgrev instructions as a separate file so we could review and decide if we wanted them -- imho removing them doesn't help anything, please put them back. if you're worried about people thinking libre-soc is proposing them, add a disclaimer to the top stating they are experimental and not currently endorsed by libre-soc as a whole20:12
programmerjakealso, you can specify the single unittest to run like so: python3 test_file.py -k test_function_name20:15
programmerjakeno need to comment everything20:16
programmerjakesee python3 -m unittest --help20:17
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-109-173-83-100.ip.moscow.rt.ru> has joined #libre-soc20:34
markosprogrammerjake, thanks20:52
markosalso, had very little time for reviewing this morning, will do so tomorrow morning, sorry about that20:52
programmerjakeno problem20:53
programmerjakelkcl: i'm guessing you missed that fgrev stuff is in a new totally separate file, int_fp_mv.mdwn is not modified22:00
markosprogrammerjake, thanks, I will read it in detail tomorrow, for now just a question, which conversion mode is used by Power for fp -> int? For reference, Arm provides 5 modes (round to nearest with ties to even, round to nearest with ties to away, towards minus inf, towards plus inf, towards zero), I think x86 has some of those -I know one is definitely missing, iirc x86 does not have the Round to Nearest with Ties to Away22:09
markosyes, that's correct22:09
markosI understand Power uses the FPCR register22:10
markosto select the rounding mode that is22:10
markosbut I'm not sure which modes it supports22:10
markosFPSCR sorry22:11
markosETOOMANYROUNDINGMODES :)22:12
programmerjakepower has both dynamic rounding mode and always-truncate modes, you can also combine them with explicitly selected round to integral instructions (implements floor, ceil, trunc, etc) that return fp results then use an insn to convert to integet22:13
programmerjakethe int/fp mv proposal is mostly adding new insns that change how power handles out-of-range integer results rather than rounding differently22:15
programmerjakee.g. javascript has a particularly annoying scheme where it returns the remainder rather than saturating22:15
programmerjakeas well as actually being able to use gprs as src/dest rather than having to use fp store and int load or vsx insns22:16
markosI didn't realize js has its own rounding scheme22:17
markosok, thanks for the clarification, I'll read it tomorrow22:18
programmerjakethe main part i wanted you to review is the naming scheme -- the other parts luke and i agree on, though feel free to review it anyway if you like22:19
markosI don't have any strong opinions about the naming, but I *loved* the FPR <-> GPR instructions, finally!22:20
programmerjakei prefer the "old" naming scheme, luke thinks it's too many insns and requested me to make the "new" naming scheme22:20
markosI'm all for consistency but if we can make the naming more predictable I'm all for it22:20
markos+as well22:21
markosanyway22:21
programmerjakei think the old naming scheme matches the rest of powerisa much better since it uses s, ., uw, w, d, ud suffixes rather than an immediate22:21
programmerjakenaming comparison table: https://libre-soc.org/openpower/sv/int_fp_mv_reduced_insn_count/#reduced-instruction-list22:22
markosyeah, I'm looking at it as well, tbh, I find the old scheme easier too, took me a while to learn those suffixes, it's nice to see I don't have to learn yet another scheme :)22:23
markosbut I'll have a clearer head tomorrow morning22:23
markostoo tired atm22:23
programmerjakek, sleep well!22:23
markosthanks, ttyt!22:24

Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!