This test case checks the ability of the register allocator to plan
for dex's invoke-range instruction.

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.
