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