Arithmetic right shift.
Returns n
, shifted right by b
bits. The higher bits are filled in with the sign bit.
When b
is outside the range 0 to 31 inclusive, it's masked by 0x1f
before performing
the shift. This is consistent with Rust's behaviour when overflow checks are disabled.