ARM64: Fix ZeroInit of Locals
authorKyungwoo Lee <kyulee@microsoft.com>
Sun, 13 Mar 2016 20:11:18 +0000 (13:11 -0700)
committerKyungwoo Lee <kyulee@microsoft.com>
Mon, 14 Mar 2016 14:53:43 +0000 (07:53 -0700)
commit59ea8565227343b3d5c5035ea7abdd4fb4fcc67d
treec5f2280b48cf7a00ee47082fa628afb1824b6ec8
parent7fbb95d2eb98f87c7a2563b37eed004df37a3d0a
ARM64: Fix ZeroInit of Locals

When zero-initializing locals, JIT emits wrong instruction sequence --
e.g, 28 byte zero-intialization as shown below.
The issue was JIT passed wrong arguments to emitIns_R_R_I.

Before (Fail)
```
 stp     xzr, xzr, [x2],#16
 str     xzr, [x2,#2]  --> just two byte offset (no x2 post-increment)
 str     wzr, [x2]
```

After (Pass)
```
 stp     xzr, xzr, [x2],#16
 str     xzr, [x2],#8
 str     wzr, [x2]
```
src/jit/codegencommon.cpp
tests/arm64/Tests.lst