<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 6, 2023, 04:10 Luke Kenneth Casson Leighton <<a href="mailto:lkcl@lkcl.net">lkcl@lkcl.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">folks we need to discuss what RFCs should go in next, and plan<br>groupings<br><a href="https://libre-soc.org/openpower/sv/bitmanip/" target="_blank" rel="noreferrer">https://libre-soc.org/openpower/sv/bitmanip/</a><br><br>my recommendation is to not go above about 5-7 instructions<br>per RFC, and to group them.  candidates:<br><br>* ternlogi, crternlogi, binlut, crbinlut<br></blockquote></div></div><div dir="auto">these are a good choice to submit next with mostly obvious benefit, though we might be able to squeeze an extra bit out of ternlogi's immediate by deleting the redundant encodings already covered by li, and, or, xor, mv, etc. it seems worth trying and seeing how complex that would be. we can also just decide redundancy is ok and simplicity is worth the extra encoding bit. maybe that should be an unresolved question that the ISA WG can answer.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">* average-sum-diff and abs-accumulate, useful for AV<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div></div><div dir="auto">pretty good, but imho ternlog is more compelling since av insns already exist in vsx and, without vectorization of some sort, are not very beneficial</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">* grevlut, xperm, bitmatrix<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div></div><div dir="auto">imho grevlut still has the major problem of using a huge amount of encoding space for not much benefit, i think it can be greatly simplified while retaining nearly all the practical benefit, therefore imho it's not ready for submission. also, it needs grev and bitrev and similar aliases</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">* bmask (x86 BMI on steroids) and cprop (carry-propagation)<br>* bitmask ops (or/and/xor/get) actually shift operations<br></blockquote></div></div><div dir="auto">aren't those just `crand` or `and` and similar? i'm guessing that's not what you meant, so links please.</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">* crweird operations (powerful interchange between GPR and CR)<br>* carryless mul/div/mod</blockquote></div></div><div dir="auto">these are basically good to go, though imho are less critical so can be left for later when we need a break from more complex stuff.</div><div dir="auto"></div><div dir="auto"></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">* int/fp mv and mv.swizzle/fmv.swizzle<br></blockquote></div></div><div dir="auto">imho int/fp mv/convert should be its own separate rfc without swizzle. imho int/fp is basically ready, trying to smash it into fewer opcodes is imho a fool's errand because it just doesn't fit, uses the same amount of encoding space, and makes it harder to understand.</div><div dir="auto">also imho we might want to do swizzles after submitting at least basic svp64 subvl support. also imho swizzle might not be ready for submission, icr reviewing it in detail, so it may need some design tweaks.</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>transcendentals and the GF groups are a bit big to tackle at<br>the moment.<br><br>the most obvious priority ones (easiest to justify) would<br>be the AV ones. there exist already VSX variants.<br><br>thoughts?<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">in summary imho we should next submit int/fp mv/convert (no swizzle for now) or ternlog & friends.</div><div dir="auto"><br></div><div dir="auto">Jacob</div></div>