• Jason A. Donenfeld's avatar
    random: help compiler out with fast_mix() by using simpler arguments · 791332b3
    Jason A. Donenfeld authored
    Now that fast_mix() has more than one caller, gcc no longer inlines it.
    That's fine. But it also doesn't handle the compound literal argument we
    pass it very efficiently, nor does it handle the loop as well as it
    could. So just expand the code to spell out this function so that it
    generates the same code as it did before. Performance-wise, this now
    behaves as it did before the last commit. The difference in actual code
    size on x86 is 45 bytes, which is less than a cache line.
    Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
    791332b3
random.c 50.4 KB