Backported cherry-pick of: ARMv8 `asm!` cleanups (#101)
We pass in `state.as_mut_ptr()` as `x0`, which was previously marked as
`in`. However, it's modified in the `asm!`, e.g.:
sub x0, x0, #192
Note: it's also post-incremented by `ld1.1d` as state is loaded.
Since it's modified, it needs to be `inout`. This marks it as such,
using the `=> _` syntax to discard the result, then it's reset, then
modified as state is written).
Similar mutations were occurring with `x1` and `x8` as well, which have
been modified accordingly.