| ; | |
| ; Copyright (c) 2016, Linaro Limited | |
| ; All rights reserved. | |
| ; SPDX-License-Identifier: BSD-2-Clause-Patent | |
| ; | |
| EXPORT InternalMemCompareGuid | |
| THUMB | |
| AREA CompareGuid, CODE, READONLY, CODEALIGN, ALIGN=5 | |
| InternalMemCompareGuid | |
| push {r4, lr} | |
| ldr r2, [r0] | |
| ldr r3, [r0, #4] | |
| ldr r4, [r0, #8] | |
| ldr r0, [r0, #12] | |
| cbz r1, L1 | |
| ldr ip, [r1] | |
| ldr lr, [r1, #4] | |
| cmp r2, ip | |
| it eq | |
| cmpeq r3, lr | |
| beq L0 | |
| movs r0, #0 | |
| pop {r4, pc} | |
| L0 | |
| ldr r2, [r1, #8] | |
| ldr r3, [r1, #12] | |
| cmp r4, r2 | |
| it eq | |
| cmpeq r0, r3 | |
| bne L2 | |
| movs r0, #1 | |
| pop {r4, pc} | |
| L1 | |
| orrs r2, r2, r3 | |
| orrs r4, r4, r0 | |
| movs r0, #1 | |
| orrs r2, r2, r4 | |
| L2 | |
| it ne | |
| movne r0, #0 | |
| pop {r4, pc} | |
| END |