Whole-known-network
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@gamingonlinux" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>gamingonlinux</span></a></span> </p><p>If you are truly sorry, you will quit all of those crappy little doujin games that are Windows only. We don't care that they don't work in Wine or Proton.</p>
<p><span class="h-card" translate="no"><a href="https://infosec.exchange/@turbocooler" class="u-url mention">@<span>turbocooler</span></a></span> <span class="h-card" translate="no"><a href="https://ioc.exchange/@azonenberg" class="u-url mention">@<span>azonenberg</span></a></span> <span class="h-card" translate="no"><a href="https://chaos.social/@gsuberland" class="u-url mention">@<span>gsuberland</span></a></span> <span class="h-card" translate="no"><a href="https://furry.engineer/@soatok" class="u-url mention">@<span>soatok</span></a></span> yeah we use that too</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@whitequark" class="u-url mention">@<span>whitequark</span></a></span> <span class="h-card" translate="no"><a href="https://ioc.exchange/@azonenberg" class="u-url mention">@<span>azonenberg</span></a></span> <span class="h-card" translate="no"><a href="https://chaos.social/@gsuberland" class="u-url mention">@<span>gsuberland</span></a></span> <span class="h-card" translate="no"><a href="https://furry.engineer/@soatok" class="u-url mention">@<span>soatok</span></a></span> indexmap is also nice in some cases where you still want a hash map (which retains its DoS resistance), but with deterministic iteration order</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.gamedev.place/@rygorous" class="u-url mention">@<span>rygorous</span></a></span> <span class="h-card" translate="no"><a href="https://tech.lgbt/@snowfox" class="u-url mention">@<span>snowfox</span></a></span> i also want the x86-based implementation to run several execution threads in parallel, which is a perfect fit for SIMD and also the whole reason i want it to be an OISC rather than just a VM of some sort</p><p>the "vertical" part can be implemented in the obvious way at least if you have AVX512, but i'm less sure about the "horizontal" part</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.gamedev.place/@rygorous" class="u-url mention">@<span>rygorous</span></a></span> <span class="h-card" translate="no"><a href="https://tech.lgbt/@snowfox" class="u-url mention">@<span>snowfox</span></a></span> okay, now that we're here, please hear out my cursed idea</p><p>OISCs are cool, right? but SUBLEQ isn't exactly practical. what if we had an OISC which would have a single instruction like</p><p>rD <- rA OP rB<br />(or maybe rD <- rA OP rB OP rC)</p><p>and OP was based on a LUT applied "vertically" (like in vpternlog), but also a LUT applied "horizontally" (which generates, uses, and propagates carries)</p>
<p><span class="h-card" translate="no"><a href="https://tech.lgbt/@snowfox" class="u-url mention">@<span>snowfox</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.social/@whitequark" class="u-url mention">@<span>whitequark</span></a></span> with AVX512_VBMI, you have the full set of VPERM[IT]2{B,W,D,Q,PS,PD} which gives you up to a 128-entry LUT with 8b values in one go.</p><p>You can still chain two of them to get you up to a full 8b->8b LUT with 256 entries.</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@whitequark" class="u-url mention">@<span>whitequark</span></a></span> <span class="h-card" translate="no"><a href="https://unstable.systems/@demize" class="u-url mention">@<span>demize</span></a></span> <span class="h-card" translate="no"><a href="https://social.noyu.me/@hikari" class="u-url mention">@<span>hikari</span></a></span> </p><p>i 100% agree with that. thank you for formulating this so succinctly.</p>
<p><span class="h-card" translate="no"><a href="https://tech.lgbt/@snowfox" class="u-url mention">@<span>snowfox</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.social/@whitequark" class="u-url mention">@<span>whitequark</span></a></span> That gets you up to 128 entries with linearly increasing cost.</p><p>(The idea is that the lower table inds roll into negatives, so the later VPSHUFB give all 0.)</p><p>You can do the same with a tree of VPBLENDVB, but this needs fewer temp regs and is somewhat easier to set up into.</p><p>You can also do up to 256 by using VPSUBSB (so that you saturate at -128), doing one 128-entry LUT for [0:128] and one for [128:256] with index^128 as seed, and a final VPBLENDVB to combine.</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@unspeaker" class="u-url mention">@<span>unspeaker</span></a></span> <span class="h-card" translate="no"><a href="https://unstable.systems/@demize" class="u-url mention">@<span>demize</span></a></span> <span class="h-card" translate="no"><a href="https://social.noyu.me/@hikari" class="u-url mention">@<span>hikari</span></a></span> an individual is simply an abstraction in the domain of application of power. it is not something inherent to our existence</p>