*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC | 00:32 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc | 00:44 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC | 00:53 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc | 00:54 | |
*** Ritish <Ritish!~Ritish@60.243.42.218> has joined #libre-soc | 05:27 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC | 05:35 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc | 05:36 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has quit IRC | 06:29 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.164.12> has joined #libre-soc | 06:30 | |
*** ritish_ <ritish_!~Ritish@2401:4900:1f2d:31dd:b448:d32b:b61b:22e1> has joined #libre-soc | 07:07 | |
*** Ritish <Ritish!~Ritish@60.243.42.218> has quit IRC | 07:09 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.164.12> has quit IRC | 07:14 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has joined #libre-soc | 07:15 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has quit IRC | 07:21 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.164.12> has joined #libre-soc | 07:23 | |
*** ritish_ is now known as Ritish | 07:33 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.164.12> has quit IRC | 07:37 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.164.12> has joined #libre-soc | 07:37 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.164.12> has quit IRC | 07:58 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has joined #libre-soc | 07:58 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has quit IRC | 08:01 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has joined #libre-soc | 08:01 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has quit IRC | 08:38 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has joined #libre-soc | 08:39 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC | 09:02 | |
*** ritish_ <ritish_!~Ritish@60.243.42.218> has joined #libre-soc | 09:38 | |
*** Ritish <Ritish!~Ritish@2401:4900:1f2d:31dd:b448:d32b:b61b:22e1> has quit IRC | 09:41 | |
*** ritish_ is now known as Ritish | 09:43 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has quit IRC | 10:42 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.164.164> has joined #libre-soc | 10:42 | |
*** knar <knar!~Knar@106.206.97.240> has joined #libre-soc | 10:46 | |
*** knar <knar!~Knar@106.206.97.240> has left #libre-soc | 10:46 | |
*** knar <knar!~Knar@106.206.97.240> has joined #libre-soc | 10:48 | |
*** knar <knar!~Knar@106.206.97.240> has left #libre-soc | 10:50 | |
*** Ritish <Ritish!~Ritish@60.243.42.218> has quit IRC | 10:55 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.164.164> has quit IRC | 10:58 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has joined #libre-soc | 10:58 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has quit IRC | 11:16 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has joined #libre-soc | 11:17 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has quit IRC | 11:21 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.164.123> has joined #libre-soc | 11:22 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.164.123> has quit IRC | 11:26 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has joined #libre-soc | 11:29 | |
*** Knar <Knar!~Knar@49.37.169.206> has joined #libre-soc | 12:05 | |
*** Knar <Knar!~Knar@49.37.169.206> has left #libre-soc | 12:07 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has quit IRC | 12:12 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has joined #libre-soc | 12:13 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has quit IRC | 12:22 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has joined #libre-soc | 12:23 | |
lkcl | markos, toshywoshy, this is where i got up to | 13:26 |
---|---|---|
lkcl | https://git.libre-soc.org/?p=openpower-isa.git;a=commit;h=743846019f66dcf5058a323faf34b90c52b2f258 | 13:26 |
lkcl | it's going under here https://bugs.libre-soc.org/show_bug.cgi?id=589 | 13:27 |
lkcl | a sub-bug of this https://bugs.libre-soc.org/show_bug.cgi?id=773 | 13:27 |
lkcl | from yesterday: i have the single-function *working* - returning 0x00000 in r3 - which can be extracted to a file with the right "dump" option to pypowersim | 13:28 |
lkcl | and a .sh script do a "grep" for "r3: 00000000000" - equals success of the unit test. | 13:28 |
lkcl | it is *complete* overkill to apply the same technique that you developed, markos, and it would be wasting time and effort to deploy it | 13:29 |
lkcl | in this case | 13:29 |
lkcl | because there is just one - and only one - function being called and tested. | 13:29 |
lkcl | (just like for the mp3 tests which literally called one and only one function: apply_window_float()) | 13:30 |
lkcl | plus i've already done the work (for scalar) | 13:40 |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has quit IRC | 13:57 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.164.39> has joined #libre-soc | 14:01 | |
markos | lkcl, hardly an overkill, there is only a wrapper function, and now it would take me only a couple of hours to write it, but I would prefer this way for a number of reasons, a) it allows me to add lots of debugging and gradually write the code in parallel, b) I can use binutils for code generation, and when we have libresoc on FPGA I just have to remove the wrapper and it will just work | 14:17 |
markos | trying to do the mp3 code with the original way in asm proved to be really difficult for me, there is no debugger, I had to read thousands of lines in the pypowersim output -which I was not familiar with | 14:18 |
markos | with the wrapper I could just write C and asm code and compare them in parallel and see where the differences are, I *cannot* do this in the original way, or at least I cannot do it as easily | 14:19 |
markos | which means wasted time | 14:19 |
markos | I could never have ported libvpx or av1 functions if I were still using the original method | 14:19 |
markos | you probably could, because you know exactly what to look for in pypowersim output | 14:20 |
markos | but not everyone thinks or works the same way | 14:20 |
markos | with this way, I can have it done in a couple of weeks -time is pressing on my side right now so I cannot do dedicate my time fully as it is | 14:20 |
markos | it doesn't matter if it's one function or more, it's the method | 14:21 |
markos | anyway, as I said, I will happily do it that way if you let me | 14:21 |
markos | plus it proved to be a very good beta testing for binutils if you recall | 14:22 |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.164.39> has quit IRC | 14:35 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has joined #libre-soc | 14:36 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has quit IRC | 14:45 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has joined #libre-soc | 14:45 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has quit IRC | 14:48 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has joined #libre-soc | 14:49 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has quit IRC | 14:53 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.164.39> has joined #libre-soc | 14:58 | |
lkcl | markos, you can still use binutils for code generation. | 16:02 |
lkcl | the wrapper will *literally* be the first - and only - function being called. | 16:03 |
lkcl | this is nothing like the use of gtest. | 16:03 |
lkcl | there's literally nothing to call which needs transferring between c and assembler | 16:04 |
lkcl | the function is *literally* "zero arguments in, one register r3 return equal zero for success -1 for fail" | 16:04 |
lkcl | it's a massively-degenerate case for which the wrapper is a complete and utter waste of time. | 16:05 |
lkcl | if you really really really want to make a wrapper that has *zero arguments*, passes *zero data*, and returns *one register* (r3), then do go ahead | 16:06 |
lkcl | oh wait... | 16:09 |
lkcl | ahhh i worked out what you're intending to do | 16:09 |
lkcl | to make a function, initially entirely in c, that slowly gains more and more assembler | 16:10 |
lkcl | yes sorry, no absolutely | 16:10 |
lkcl | i was thinking from totally a different direction: to start from "gcc -S" on a tiny sub-function, that is then converted from ppc64 scalar assembler to svp64 assembler. | 16:11 |
lkcl | which is a very different approach | 16:11 |
lkcl | yep do ignore everything i said :) | 16:11 |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.164.39> has quit IRC | 17:07 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has joined #libre-soc | 17:07 | |
markos | lkcl, wait, isn't there a test suite or a unit test that will verify the function? | 17:09 |
markos | but yes, that was my intention, to gradually "build-up" the function from scratch | 17:10 |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc | 17:24 | |
markos | by verify I mean, test it with different arguments/values, just to make sure, I've seen it happen multiple times in the past, just because it happens to pass a test with some initial value, doesn't mean it will pass the test with all values | 17:25 |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has quit IRC | 18:56 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.164.18> has joined #libre-soc | 18:57 | |
lkcl | there's a known example which comes directly out of the paper | 19:06 |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.164.18> has quit IRC | 20:40 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@62.176.2.159> has joined #libre-soc | 20:41 | |
lkcl | cryptograaphy is so staggeringly statistically linked that even one example is sufficient grounds to conclude that a bug is 100% a bug | 21:21 |
lkcl | you wouldn't think twice about going "whoaaaa" if you heard that there were two collisions on a SHA hashing algorithm? | 21:22 |
lkcl | cryptographic algorithms are exactly the same principle | 21:22 |
lkcl | if you did ever find two pieces of data (or key) that produced wrong results, or, worse, produced the same result, it would be absolutely catastrophic | 21:23 |
lkcl | and would warrant a scientific paper and/or a CVE report | 21:23 |
lkcl | whilst just one example is perfectly sufficient, you'll find that there are two additional examples which i've commented out from the c code | 21:24 |
lkcl | feel free to put them back in if you want to slow down execution for no valid reason, but just to satisfy your own curiosity: technically i can say 100% that there's no benefit to doing so | 21:25 |
lkcl | but it *is* very important to use the known-example which has dozens of implementations confirming the validity of the example. | 21:25 |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC | 22:30 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc | 22:35 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!