]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Library/BaseMemoryLibOptDxe/Arm/CompareGuid.asm
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdePkg / Library / BaseMemoryLibOptDxe / Arm / CompareGuid.asm
1 ;
2 ; Copyright (c) 2016, Linaro Limited
3 ; All rights reserved.
4 ; SPDX-License-Identifier: BSD-2-Clause-Patent
5 ;
6
7 EXPORT InternalMemCompareGuid
8 THUMB
9 AREA CompareGuid, CODE, READONLY, CODEALIGN, ALIGN=5
10
11 InternalMemCompareGuid
12 push {r4, lr}
13 ldr r2, [r0]
14 ldr r3, [r0, #4]
15 ldr r4, [r0, #8]
16 ldr r0, [r0, #12]
17 cbz r1, L1
18 ldr ip, [r1]
19 ldr lr, [r1, #4]
20 cmp r2, ip
21 it eq
22 cmpeq r3, lr
23 beq L0
24 movs r0, #0
25 pop {r4, pc}
26
27 L0
28 ldr r2, [r1, #8]
29 ldr r3, [r1, #12]
30 cmp r4, r2
31 it eq
32 cmpeq r0, r3
33 bne L2
34 movs r0, #1
35 pop {r4, pc}
36
37 L1
38 orrs r2, r2, r3
39 orrs r4, r4, r0
40 movs r0, #1
41 orrs r2, r2, r4
42
43 L2
44 it ne
45 movne r0, #0
46 pop {r4, pc}
47
48 END