Fix run-test 003, llvm method_compiler bug.

Change-Id: I87c211d829c41d5406587f491fd55934afc06fd9
diff --git a/src/compiler_llvm/method_compiler.cc b/src/compiler_llvm/method_compiler.cc
index b6711b6..1253d37 100644
--- a/src/compiler_llvm/method_compiler.cc
+++ b/src/compiler_llvm/method_compiler.cc
@@ -2128,15 +2128,13 @@
     EmitGuard_GarbageCollectionSuspend(dex_pc);
   }
 
-  if (src1_reg_cat == kRegZero && src2_reg_cat == kRegZero) {
-    irb_.CreateBr(GetBasicBlock(dex_pc + branch_offset));
-    return;
-  }
-
   llvm::Value* src1_value;
   llvm::Value* src2_value;
 
-  if (src1_reg_cat != kRegZero && src2_reg_cat != kRegZero) {
+  if (src1_reg_cat == kRegZero && src2_reg_cat == kRegZero) {
+    src1_value = irb_.getInt32(0);
+    src2_value = irb_.getInt32(0);
+  } else if (src1_reg_cat != kRegZero && src2_reg_cat != kRegZero) {
     CHECK_EQ(src1_reg_cat, src2_reg_cat);
 
     if (src1_reg_cat == kRegCat1nr) {
@@ -2196,15 +2194,13 @@
     EmitGuard_GarbageCollectionSuspend(dex_pc);
   }
 
-  if (src_reg_cat == kRegZero) {
-    irb_.CreateBr(GetBasicBlock(dex_pc + branch_offset));
-    return;
-  }
-
   llvm::Value* src1_value;
   llvm::Value* src2_value;
 
-  if (src_reg_cat == kRegCat1nr) {
+  if (src_reg_cat == kRegZero) {
+    src1_value = irb_.getInt32(0);
+    src2_value = irb_.getInt32(0);
+  } else if (src_reg_cat == kRegCat1nr) {
     src1_value = EmitLoadDalvikReg(dec_insn.vA, kInt, kAccurate);
     src2_value = irb_.getInt32(0);
   } else {
diff --git a/src/compiler_llvm/runtime_support_llvm.cc b/src/compiler_llvm/runtime_support_llvm.cc
index fce0f41..092c71b 100644
--- a/src/compiler_llvm/runtime_support_llvm.cc
+++ b/src/compiler_llvm/runtime_support_llvm.cc
@@ -509,8 +509,8 @@
     Thread* thread = art_get_current_thread_from_code();
     thread->ThrowNewExceptionF("Ljava/lang/ClassCastException;",
                                "%s cannot be cast to %s",
-                               PrettyDescriptor(dest_type).c_str(),
-                               PrettyDescriptor(src_type).c_str());
+                               PrettyDescriptor(src_type).c_str(),
+                               PrettyDescriptor(dest_type).c_str());
   }
 }