ARM64: Fix JIT_MemSet
authorKyungwoo Lee <kyulee@microsoft.com>
Tue, 31 May 2016 18:20:35 +0000 (11:20 -0700)
committerKyungwoo Lee <kyulee@microsoft.com>
Tue, 31 May 2016 18:21:05 +0000 (11:21 -0700)
Init value should be treated as an unsigned char.

src/vm/arm64/crthelpers.asm
tests/arm64/Tests.lst

index a341dc4..74a2186 100644 (file)
@@ -20,7 +20,7 @@
 ;
 ;void JIT_MemSet(void *dst, int val, SIZE_T count)
 ;{
-;    uintptr_t valEx = (char)val;
+;    uintptr_t valEx = (unsigned char)val;
 ;    valEx = valEx | valEx << 8;
 ;    valEx = valEx | valEx << 16;
 ;    valEx = valEx | valEx << 32;
@@ -87,7 +87,7 @@
 ; as C++ method.
 
     LEAF_ENTRY JIT_MemSet
-    sxtb        w8,w1
+    uxtb        w8,w1
     sxtw        x8,w8
     orr         x8,x8,x8 lsl #8
     orr         x8,x8,x8 lsl #0x10
index a8951e4..3f322b1 100644 (file)
@@ -62374,7 +62374,7 @@ RelativePath=JIT\Regression\JitBlue\DevDiv_199169\DevDiv_199169\DevDiv_199169.cm
 WorkingDir=JIT\Regression\JitBlue\DevDiv_199169\DevDiv_199169
 Expected=0
 MaxAllowedDurationSeconds=600
-Categories=NEW;EXPECTED_FAIL
+Categories=NEW;EXPECTED_PASS
 HostStyle=0
 [DevDiv_200492.cmd_9028]
 RelativePath=JIT\Regression\JitBlue\DevDiv_200492\DevDiv_200492\DevDiv_200492.cmd