This is a smoke test of dex conversion, which checks to make sure that
high registers are moved to and from low registers with
type-appropriate instructions.

This test compares emitted code against a known-good (via eyeballing)
version, so it is possible for this test to spuriously fail if other
aspects of conversion end up altering the output in innocuous ways.
