[vm/arm] Fix vmovd Dd[x], ... simulation
[vm/arm] Fix vmovd Dd[x], ... simulation

This instruction operations on the lo/hi parts of D register and not
on S registers - which means we should not be using D->(S, S) projection
helpers because not all D registers have corresponding even/odd S
registers.

vmovd D20[0], ...  is a valid ARM instruction, but viewing it as
vmovd S40, ... is incorrect (because there is no such thing as S40).

Fixes https://github.com/dart-lang/sdk/issues/45805

TEST=lib_2/typed_data/float32x4_test on dartkp-linux-debug-simarm-crossword


Change-Id: Ia2fc827e1e629cdf5f2b66502681a080274fd73c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/196660
Commit-Queue: Vyacheslav Egorov <72c81f38df725d8f1832acb9b5bb99563fc2f1b9@google.com>
Reviewed-by: Martin Kustermann <a35dd5b79fac84b2bb3b026a16b8becc55af5961@google.com>

dart-lang/sdk,dart-lang/sdk,dart-lang/sdk,dart-lang/sdk,dart-lang/sdk,dart-lang/sdk,dart-lang/sdk,dart-lang/sdk