https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105930
--- Comment #13 from Samuel Neves <sneves at dei dot uc.pt> --- Something simple like this -- https://godbolt.org/z/61orYdjK7 -- already exhibits the effect. Furthermore, and this also applies to the full BLAKE2b compression function, if you replace all the xors in the rounds by adds, the stack size goes back to normal. On the other hand, replacing the adds by xors, making the whole round function bitwise ops, does not have any effect on stack size.