]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Library/ArmSoftFloatLib/Arm/__aeabi_cdcmp.asm
ArmPkg/ArmSoftFloatLib: switch to new version of softfloat library
[mirror_edk2.git] / ArmPkg / Library / ArmSoftFloatLib / Arm / __aeabi_cdcmp.asm
CommitLineData
0b5d7b6e
AB
1//------------------------------------------------------------------------------\r
2//\r
3// Copyright (c) 2015, Linaro Limited. All rights reserved.\r
4//\r
4059386c 5// SPDX-License-Identifier: BSD-2-Clause-Patent\r
0b5d7b6e
AB
6//\r
7//------------------------------------------------------------------------------\r
8\r
9 EXPORT __aeabi_cdrcmple\r
10 EXPORT __aeabi_cdcmpeq\r
11 EXPORT __aeabi_cdcmple\r
12 IMPORT _softfloat_float64_eq\r
13 IMPORT _softfloat_float64_lt\r
14\r
15 AREA __aeabi_cdcmp, CODE, READONLY\r
16 PRESERVE8\r
17\r
18__aeabi_cdrcmple\r
19 MOV IP, R0\r
20 MOV R0, R2\r
21 MOV R2, IP\r
22\r
23 MOV IP, R1\r
24 MOV R1, R3\r
25 MOV R3, IP\r
26\r
27__aeabi_cdcmpeq\r
28__aeabi_cdcmple\r
29 PUSH {R0 - R3, IP, LR}\r
30 BL _softfloat_float64_eq\r
31 SUB IP, R0, #1\r
32 CMP IP, #0 // sets C and Z if R0 == 1\r
33 POPEQ {R0 - R3, IP, PC}\r
34\r
35 LDM SP, {R0 - R3}\r
36 BL _softfloat_float64_lt\r
37 SUB IP, R0, #1\r
38 CMP IP, #1 // sets C if R0 == 0\r
39 POP {R0 - R3, IP, PC}\r
40\r
41 END\r