diff options
author | Steve MacLean, Qualcomm Datacenter Technologies, Inc <sdmaclea@qti.qualcomm.com> | 2017-05-01 17:44:19 +0000 |
---|---|---|
committer | Steve MacLean, Qualcomm Datacenter Technologies, Inc <sdmaclea@qti.qualcomm.com> | 2017-05-08 16:23:44 +0000 |
commit | 494f00cb881cc68426718b32a62464d4c7c48007 (patch) | |
tree | 9e0fcadc82962a3358cb098a1b2f247ae316dbd5 /src/jit/codegenarmarch.cpp | |
parent | 487cb23e80d8cc02e21f1497d1c3c16b5ff1f367 (diff) | |
download | coreclr-494f00cb881cc68426718b32a62464d4c7c48007.tar.gz coreclr-494f00cb881cc68426718b32a62464d4c7c48007.tar.bz2 coreclr-494f00cb881cc68426718b32a62464d4c7c48007.zip |
[Arm64] Add emitIns_S_S_R_R
Diffstat (limited to 'src/jit/codegenarmarch.cpp')
-rw-r--r-- | src/jit/codegenarmarch.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/jit/codegenarmarch.cpp b/src/jit/codegenarmarch.cpp index aea4327ce2..61b9309bb9 100644 --- a/src/jit/codegenarmarch.cpp +++ b/src/jit/codegenarmarch.cpp @@ -735,10 +735,9 @@ void CodeGen::genPutArgStk(GenTreePutArgStk* treeNode) INS_OPTS_NONE, emitTypeSize(type0)); } - // Emit two store instructions to store the two registers into the outgoing argument area - emit->emitIns_S_R(ins_Store(type0), emitTypeSize(type0), loReg, varNumOut, argOffsetOut); - emit->emitIns_S_R(ins_Store(type1), emitTypeSize(type1), hiReg, varNumOut, - argOffsetOut + TARGET_POINTER_SIZE); + // Emit stp instruction to store the two registers into the outgoing argument area + emit->emitIns_S_S_R_R(INS_stp, emitTypeSize(type0), emitTypeSize(type1), loReg, hiReg, varNumOut, + argOffsetOut); argOffsetOut += (2 * TARGET_POINTER_SIZE); // We stored 16-bytes of the struct assert(argOffsetOut <= argOffsetMax); // We can't write beyound the outgoing area area |