* src/vm/jit/alpha/emit.c (emit_copy): Only one not-equal comparison.
[cacao.git] / src / vm / jit / alpha / emit.c
index 2f2c022f3e00f8f91e868e9f92405b798a5bcb71..365858a1256cd3b54b4f1237abb9ae62c6b0484e 100644 (file)
@@ -205,10 +205,12 @@ void emit_copy(jitdata *jd, instruction *iptr, stackptr src, stackptr dst)
                        d = codegen_reg_of_var(rd, iptr->opc, dst, s1);
                }
 
-               if (IS_FLT_DBL_TYPE(src->type))
-                       M_FLTMOVE(s1, d);
-               else
-                       M_INTMOVE(s1, d);
+               if (s1 != d) {
+                       if (IS_FLT_DBL_TYPE(src->type))
+                               M_FMOV(s1, d);
+                       else
+                               M_MOV(s1, d);
+               }
 
                emit_store(jd, iptr, dst, d);
        }