Fix arm32 code generator when used with baseline compilation.

A shift with zero can happen in baseline as we don't run
instruction simplification.

Also move baseline testing to AOT to catch such regressions.

Test: test.py --baseline
Change-Id: I9fa7af8e058135688ec44d907da7a6da27a6311e
diff --git a/compiler/optimizing/code_generator_arm_vixl.cc b/compiler/optimizing/code_generator_arm_vixl.cc
index c8db3d6..6469c69 100644
--- a/compiler/optimizing/code_generator_arm_vixl.cc
+++ b/compiler/optimizing/code_generator_arm_vixl.cc
@@ -4972,8 +4972,11 @@
             __ Lsrs(o_h, high, 1);
             __ Rrx(o_l, low);
           }
+        } else if (shift_value == 0) {
+          __ Mov(o_l, low);
+          __ Mov(o_h, high);
         } else {
-          DCHECK(0 <= shift_value && shift_value < 32) << shift_value;
+          DCHECK(0 < shift_value && shift_value < 32) << shift_value;
           if (op->IsShl()) {
             __ Lsl(o_h, high, shift_value);
             __ Orr(o_h, o_h, Operand(low, ShiftType::LSR, 32 - shift_value));