Bounds Check Elimination with Fast-Range

Andrew Haley aph at redhat.com
Thu Dec 19 10:31:44 UTC 2019


On 12/3/19 6:06 AM, John Rose wrote:
> But what I keep wishing for a good one- or two-cycle instruction
> that will mix all input bits into all the output bits, so that any
> change in one input bit is likely to cause cascading changes in
> many output bits, perhaps even 50% on average.  A pair of AES
> steps is a good example of this.

I've searched for something like this too. However, I
experimented with two rounds of AES and I didn't get very good
results. From what I remember, it took at least three or four
rounds to get decent mixing, let alone full avalanche.

Also, the latency of AES instructions tends to be a few cycles
and the latency of moving data from integer to vector registers
is as many as five cycles. So I gave up.

This was a while ago, so probably badly remembered...

-- 
Andrew Haley  (he/him)
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
https://keybase.io/andrewhaley
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671



More information about the hotspot-compiler-dev mailing list