]>
Commit | Line | Data |
---|---|---|
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 |