Thursday, 2023-07-20

lkclmarkos_, it can't be too much because the only way to obtain the money is by reducing the amount given to other people for doing other work, such as this
lkclthat's 5 instructions which need writing  - they're relatively straightforward so the amount could go down and be moved to maddsubrs07:54
markos_no, I wouldn't want that I was hoping that there is an amount unallocated, if there isn't any, we'll leave it at that07:54
lkclwe can sort something out another way07:56
lkcl is under pressure for the amount of work to be done, even at EUR 100k.07:57
markos_programmerjake, found the bug, it's the calculation of the masks that's the problem, the actual product is correct07:57
markos_working on a fix now07:58
programmerjakeone other place that might have issues is if the add/sub overflows08:06
programmerjakewell, it's late here, so ttyl08:08
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC09:44
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc09:45
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC09:47
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc09:48
markos_how can I sign extend to XLEN*2 (even for XLEN=64, so to 128-bit SelectableInt)?14:14
markos_tried EXTSXL(RT, XLEN*2) but I still get a SelectableInt of 64-bits14:14
markos_I need to add a XLEN*2 to a XLEN number14:15
markos_solved the maddsubrs now doing the same fix for its counterpart, maddrs14:16
markos_and I have res1 <- (RT) + prod, where prod is XLEN*2 and (RT) is XLEN14:16
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC15:27
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc15:28
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC15:45
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc15:54
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC16:12
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc16:13
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC16:22
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc16:23
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC16:31
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc16:31
programmerjake`temp[0:XLEN*2-1] <- EXTS(v)` should work, or you can do `EXTSXL(v[0], 1) || v`16:36
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC16:36
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc16:36
programmerjakefor an example, see;a=blob;f=openpower/isa/svfixedarith.mdwn;h=6ce79fb69925bef2faef666c0a251e860ec3e3b0;hb=HEAD#l3916:37
markos_programmerjake, that was it, thanks!16:50
markos_all tests pass now16:51
markos_feel free to check yourself and if it's good, we can close this16:52
programmerjakei'll check later, probably today17:02
programmerjakei'll probably just write a much more thorough unit test17:02
lkclcesar, have you heard about this?
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC19:39
programmerjakei read that just recently...scientists haven't found the best explanation for everything yet19:40
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc19:43
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC19:50
*** choozy <choozy!> has joined #libre-soc19:50
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc19:50
*** choozy <choozy!> has quit IRC22:07
markos_lkcl, programmerjake both instructions write to both RT, RS, why are they prohibited? I remember there was some discussion why that /might/ be a problem, but I don't remember anything final23:50
markos_programmerjake, also, maddrs is supposed to be used in conjuction with maddsubrs23:51
markos_the first one is for single butterfly : fdct_round_shift((a +/- b) * c)23:53
programmerjakethe issue is that reading 4 inputs is too many23:53
programmerjakemy suggested replacement would replace uses of the maddsubrs maddrs pair, not maddsubrs by itself23:54
markos_well, as it is, it's news to me that these are prohibited23:56
markos_so no point in arguing one way or the other23:56
markos_if there is no chance of getting these instructions in, I say that it's just a wasted opportunity23:58
programmerjakek, the main idea is that instruction inputs/outputs are quite expensive to track, so we want to reduce those as much as possible. 3-in/2-out is just about doable, 4-in/2-out is too much23:58
programmerjakemaddsubrs should be fine23:58
markos_I don't understand, they both take and write the same number of registers23:59
markos_why is one good and the other is bad23:59
lkclmarkos_, it's final and absolute.23:59
markos_well it's still news23:59
markos_you could have said that earlier23:59
lkclDependency Matrices. i did go over it.23:59
programmerjakebecause they read different numbers of registers23:59
lkcli did.23:59
lkclset theory.23:59
markos_not in a final way you didn't, you said that it would be hard, not that it would be impossible23:59

Generated by 2.17.1 by Marius Gedminas - find it at!