ARM: VIXL32: Implement more codegen code to pass a few more tests.

This patch focuses on passing the tests:
* 403-optimizing-long
* 404-optimizing-allocator
* 405-optimizing-long-allocator

In the process we also pass:
* 043-privates
* 053-wait-some
* 421-large-frame
* 446-checker-inliner2
* 462-checker-inlining-dex-files
* 464-checker-inline-sharpen-calls
* 470-huge-method
* 473-checker-inliner-constants
* 476-checker-ctor-memory-barrier
* 478-checker-inliner-nested-loop
* 480-checker-dead-blocks
* 482-checker-loop-back-edge-use
* 487-checker-inline-calls
* 537-checker-arraycopy
* 548-checker-inlining-and-dce
* 551-checker-clinit
* 564-checker-inline-loop
* 566-checker-codegen-select
* 566-checker-signum
* 567-checker-compare
* 593-checker-boolean-2-integral-conv

Test: export ART_USE_VIXL_ARM_BACKEND=true && \
      mma test-art-host dist && \
      mma test-art-target dist

Change-Id: I4926c56947574cad1cee251fe9baac677b7df1fa
3 files changed