summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHanjoung Lee <hanjoung.lee@samsung.com>2017-08-17 11:55:43 +0900
committerHanjoung Lee <hanjoung.lee@samsung.com>2017-08-17 11:57:54 +0900
commit92c3ea6000b37737a7caa5876a12a52d61198676 (patch)
tree096f3ac021c84083fbb8f73eb5cadd3c043831c9
parentce9bc942510fc9608c24e938f6d043c39fd0085d (diff)
downloadcoreclr-92c3ea6000b37737a7caa5876a12a52d61198676.tar.gz
coreclr-92c3ea6000b37737a7caa5876a12a52d61198676.tar.bz2
coreclr-92c3ea6000b37737a7caa5876a12a52d61198676.zip
[RyuJIT/arm32] Fix LEA codegen
Do not generate `mov` when src and dst are the same when we generate code for LEA node. Fix #13418
-rw-r--r--src/jit/codegenarmarch.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/jit/codegenarmarch.cpp b/src/jit/codegenarmarch.cpp
index 11d2258f51..d7514822cc 100644
--- a/src/jit/codegenarmarch.cpp
+++ b/src/jit/codegenarmarch.cpp
@@ -3235,7 +3235,10 @@ void CodeGen::genLeaInstruction(GenTreeAddrMode* lea)
}
else // offset is zero
{
- emit->emitIns_R_R(INS_mov, size, lea->gtRegNum, memBase->gtRegNum);
+ if (lea->gtRegNum != memBase->gtRegNum)
+ {
+ emit->emitIns_R_R(INS_mov, size, lea->gtRegNum, memBase->gtRegNum);
+ }
}
}
else