Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 3 additions & 7 deletions src/coreclr/vm/arm64/asmhelpers.S
Original file line number Diff line number Diff line change
Expand Up @@ -949,25 +949,21 @@ LEAF_END Load_Stack_Ref, _TEXT


.macro Copy_Ref argReg
cmp x11, #16
subs x11, x11, #16
blt LOCAL_LABEL(CopyBy8\argReg)
LOCAL_LABEL(RefCopyLoop16\argReg):
ldp x13, x14, [\argReg], #16
stp x13, x14, [x9], #16
subs x11, x11, #16
bgt LOCAL_LABEL(RefCopyLoop16\argReg)
beq LOCAL_LABEL(RefCopyDone\argReg)
add x11, x11, #16
bge LOCAL_LABEL(RefCopyLoop16\argReg)
LOCAL_LABEL(CopyBy8\argReg):
add x11, x11, #16
cmp x11, #8
blt LOCAL_LABEL(RefCopyLoop1\argReg)
LOCAL_LABEL(RefCopyLoop8\argReg):
ldr x13, [\argReg], #8
str x13, [x9], #8
subs x11, x11, #8
bgt LOCAL_LABEL(RefCopyLoop8\argReg)
beq LOCAL_LABEL(RefCopyDone\argReg)
add x11, x11, #8
LOCAL_LABEL(RefCopyLoop1\argReg):
ldrb w13, [\argReg], #1
strb w13, [x9], #1
Expand Down
10 changes: 3 additions & 7 deletions src/coreclr/vm/arm64/asmhelpers.asm
Original file line number Diff line number Diff line change
Expand Up @@ -1300,25 +1300,21 @@ StoreCopyLoop

MACRO
Copy_Ref $argReg
cmp x11, #16
subs x11, x11, #16
blt CopyBy8$argReg
RefCopyLoop16$argReg
ldp x13, x14, [$argReg], #16
stp x13, x14, [x9], #16
subs x11, x11, #16
bgt RefCopyLoop16$argReg
beq RefCopyDone$argReg
add x11, x11, #16
bge RefCopyLoop16$argReg
CopyBy8$argReg
add x11, x11, #16
cmp x11, #8
blt RefCopyLoop1$argReg
RefCopyLoop8$argReg
ldr x13, [$argReg], #8
str x13, [x9], #8
subs x11, x11, #8
bgt RefCopyLoop8$argReg
beq RefCopyDone$argReg
add x11, x11, #8
RefCopyLoop1$argReg
ldrb w13, [$argReg], #1
strb w13, [x9], #1
Expand Down
Loading