diff --git a/src/coreclr/src/jit/codegenarmarch.cpp b/src/coreclr/src/jit/codegenarmarch.cpp index 21b4ba72ee2949..cb1a495c058c3e 100644 --- a/src/coreclr/src/jit/codegenarmarch.cpp +++ b/src/coreclr/src/jit/codegenarmarch.cpp @@ -1402,7 +1402,7 @@ void CodeGen::genMultiRegStoreToLocal(GenTree* treeNode) // Insert pieces in reverse order for (int i = regCount - 1; i >= 0; --i) { - var_types type = op1->GetRegTypeByIndex(i); + var_types type = op1->gtSkipReloadOrCopy()->GetRegTypeByIndex(i); regNumber reg = op1->GetRegByIndex(i); if (op1->IsCopyOrReload()) { @@ -1444,7 +1444,7 @@ void CodeGen::genMultiRegStoreToLocal(GenTree* treeNode) { for (unsigned i = 0; i < regCount; ++i) { - var_types type = op1->GetRegTypeByIndex(i); + var_types type = op1->gtSkipReloadOrCopy()->GetRegTypeByIndex(i); regNumber reg = op1->GetRegByIndex(i); if (op1->IsCopyOrReload()) { diff --git a/src/coreclr/src/jit/codegenxarch.cpp b/src/coreclr/src/jit/codegenxarch.cpp index e6bb678d93a26f..f365138a912270 100644 --- a/src/coreclr/src/jit/codegenxarch.cpp +++ b/src/coreclr/src/jit/codegenxarch.cpp @@ -1968,7 +1968,7 @@ void CodeGen::genMultiRegStoreToLocal(GenTree* treeNode) int offset = 0; for (unsigned i = 0; i < regCount; ++i) { - var_types type = op1->GetRegTypeByIndex(i); + var_types type = op1->gtSkipReloadOrCopy()->GetRegTypeByIndex(i); regNumber reg = op1->GetRegByIndex(i); if (op1->IsCopyOrReload()) {