Fix consumeReg order for ArrOffs on arm64
authorCarol Eidt <carol.eidt@microsoft.com>
Wed, 18 Jan 2017 20:39:29 +0000 (12:39 -0800)
committerCarol Eidt <carol.eidt@microsoft.com>
Wed, 18 Jan 2017 21:39:22 +0000 (13:39 -0800)
The change in operand order for GenTreeArrOffs was not reflected in code generation for arm64. This fixes that.

src/jit/codegenarm64.cpp

index 10f80f5c1c0e55f53fb1988f16c5a2e1acfe6206..585038b1b9abd33007d7b370a5254d42aacea646 100644 (file)
@@ -3953,14 +3953,14 @@ void CodeGen::genCodeForArrOffset(GenTreeArrOffs* arrOffset)
 
     if (!offsetNode->IsIntegralConst(0))
     {
-        emitter*   emit   = getEmitter();
-        GenTreePtr arrObj = arrOffset->gtArrObj;
-        regNumber  arrReg = genConsumeReg(arrObj);
-        noway_assert(arrReg != REG_NA);
+        emitter*  emit      = getEmitter();
         regNumber offsetReg = genConsumeReg(offsetNode);
         noway_assert(offsetReg != REG_NA);
         regNumber indexReg = genConsumeReg(indexNode);
         noway_assert(indexReg != REG_NA);
+        GenTreePtr arrObj = arrOffset->gtArrObj;
+        regNumber  arrReg = genConsumeReg(arrObj);
+        noway_assert(arrReg != REG_NA);
         regMaskTP tmpRegMask = arrOffset->gtRsvdRegs;
         regNumber tmpReg     = genRegNumFromMask(tmpRegMask);
         noway_assert(tmpReg != REG_NA);