diff options
Diffstat (limited to 'ArmPkg/Library/CompilerIntrinsicsLib/Arm/memset.S')
-rw-r--r-- | ArmPkg/Library/CompilerIntrinsicsLib/Arm/memset.S | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memset.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memset.S index 73cb1b2af3..3cd71e9f5f 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memset.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memset.S @@ -14,23 +14,25 @@ .text - .align 2 - GCC_ASM_EXPORT (memset) -
-ASM_PFX(memset):
- @ args = 0, pretend = 0, frame = 0 - @ frame_needed = 1, uses_anonymous_args = 0 - stmfd sp!, {r7, lr} - mov ip, #0 - add r7, sp, #0 - mov lr, r0 - b L9 +\s\s.align 2 +\s\sGCC_ASM_EXPORT (memset) + + +ASM_PFX(memset): + +\s\s@ args = 0, pretend = 0, frame = 0 +\s\s@ frame_needed = 1, uses_anonymous_args = 0 +\s\sstmfd\s\ssp!, {r7, lr} +\s\smov\s\sip, #0 +\s\sadd\s\sr7, sp, #0 +\s\smov\s\slr, r0 +\s\sb\s\sL9 L10: - and r3, r1, #255 - add ip, ip, #1 - strb r3, [lr], #1 +\s\sand\s\sr3, r1, #255 +\s\sadd\s\sip, ip, #1 +\s\sstrb\s\sr3, [lr], #1 L9: - cmp ip, r2 - bne L10 - ldmfd sp!, {r7, pc} +\s\scmp\s\sip, r2 +\s\sbne\s\sL10 +\s\sldmfd\s\ssp!, {r7, pc} |