xref: /linux/arch/arm/lib/ucmpdi2.S (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
1*d2912cb1SThomas Gleixner/* SPDX-License-Identifier: GPL-2.0-only */
2f741a1aaSNicolas Pitre/*
3f741a1aaSNicolas Pitre *  linux/arch/arm/lib/ucmpdi2.S
4f741a1aaSNicolas Pitre *
5f741a1aaSNicolas Pitre *  Author:	Nicolas Pitre
6f741a1aaSNicolas Pitre *  Created:	Oct 19, 2005
7f741a1aaSNicolas Pitre *  Copyright:	Monta Vista Software, Inc.
8f741a1aaSNicolas Pitre */
9f741a1aaSNicolas Pitre
10f741a1aaSNicolas Pitre#include <linux/linkage.h>
116ebbf2ceSRussell King#include <asm/assembler.h>
12f741a1aaSNicolas Pitre
13f741a1aaSNicolas Pitre#ifdef __ARMEB__
14f741a1aaSNicolas Pitre#define xh r0
15f741a1aaSNicolas Pitre#define xl r1
16f741a1aaSNicolas Pitre#define yh r2
17f741a1aaSNicolas Pitre#define yl r3
18f741a1aaSNicolas Pitre#else
19f741a1aaSNicolas Pitre#define xl r0
20f741a1aaSNicolas Pitre#define xh r1
21f741a1aaSNicolas Pitre#define yl r2
22f741a1aaSNicolas Pitre#define yh r3
23f741a1aaSNicolas Pitre#endif
24f741a1aaSNicolas Pitre
25f741a1aaSNicolas PitreENTRY(__ucmpdi2)
26f741a1aaSNicolas Pitre
27f741a1aaSNicolas Pitre	cmp	xh, yh
28f741a1aaSNicolas Pitre	cmpeq	xl, yl
29f741a1aaSNicolas Pitre	movlo	r0, #0
30f741a1aaSNicolas Pitre	moveq	r0, #1
31f741a1aaSNicolas Pitre	movhi	r0, #2
326ebbf2ceSRussell King	ret	lr
33f741a1aaSNicolas Pitre
3493ed3970SCatalin MarinasENDPROC(__ucmpdi2)
3593ed3970SCatalin Marinas
36ba95e4e4SNicolas Pitre#ifdef CONFIG_AEABI
37ba95e4e4SNicolas Pitre
38ba95e4e4SNicolas PitreENTRY(__aeabi_ulcmp)
39ba95e4e4SNicolas Pitre
40ba95e4e4SNicolas Pitre	cmp	xh, yh
41ba95e4e4SNicolas Pitre	cmpeq	xl, yl
42ba95e4e4SNicolas Pitre	movlo	r0, #-1
43ba95e4e4SNicolas Pitre	moveq	r0, #0
44ba95e4e4SNicolas Pitre	movhi	r0, #1
456ebbf2ceSRussell King	ret	lr
46ba95e4e4SNicolas Pitre
4793ed3970SCatalin MarinasENDPROC(__aeabi_ulcmp)
4893ed3970SCatalin Marinas
49ba95e4e4SNicolas Pitre#endif
50ba95e4e4SNicolas Pitre
51