Closed chambart closed 8 years ago
Sadly the lsl operator is not very well defined in OCaml when shifting by more than a word size.
lsl
For instance on amd64, x lsl 65 is equivalent to x lsl 1, while on arm64 it will be 0. The evaluator should reject it.
x lsl 65
x lsl 1
0
Nice catch, thanks! (I wish everyone used ARM's behaviour for shifts).
Sadly the
lsl
operator is not very well defined in OCaml when shifting by more than a word size.For instance on amd64,
x lsl 65
is equivalent tox lsl 1
, while on arm64 it will be0
. The evaluator should reject it.