Deleted Added
full compact
ldivmod.S (245548) ldivmod.S (248367)
1/*
2 * Copyright (C) 2012 Andrew Turner
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 12 unchanged lines hidden (view full) ---

21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 */
27
28#include <machine/asm.h>
1/*
2 * Copyright (C) 2012 Andrew Turner
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 12 unchanged lines hidden (view full) ---

21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 */
27
28#include <machine/asm.h>
29__FBSDID("$FreeBSD: head/sys/libkern/arm/ldivmod.S 245548 2013-01-17 09:37:42Z andrew $");
29__FBSDID("$FreeBSD: head/sys/libkern/arm/ldivmod.S 248367 2013-03-16 04:08:01Z andrew $");
30
31#ifdef __ARM_EABI__
32
33/*
34 * These calculate:
35 * q = n / m
36 * With a remainer r.
37 *

--- 10 unchanged lines hidden (view full) ---

48ENTRY_NP(__aeabi_ldivmod)
49 sub sp, sp, #8 /* Space for the remainder */
50 stmfd sp!, {sp, lr} /* Save a pointer to the above space and lr */
51 bl PIC_SYM(_C_LABEL(__kern_ldivmod), PLT)
52 ldr lr, [sp, #4] /* Restore lr */
53 add sp, sp, #8 /* Move sp to the remainder value */
54 ldmfd sp!, {r2, r3} /* Load the remainder */
55 RET
30
31#ifdef __ARM_EABI__
32
33/*
34 * These calculate:
35 * q = n / m
36 * With a remainer r.
37 *

--- 10 unchanged lines hidden (view full) ---

48ENTRY_NP(__aeabi_ldivmod)
49 sub sp, sp, #8 /* Space for the remainder */
50 stmfd sp!, {sp, lr} /* Save a pointer to the above space and lr */
51 bl PIC_SYM(_C_LABEL(__kern_ldivmod), PLT)
52 ldr lr, [sp, #4] /* Restore lr */
53 add sp, sp, #8 /* Move sp to the remainder value */
54 ldmfd sp!, {r2, r3} /* Load the remainder */
55 RET
56END(__aeabi_ldivmod)
56
57ENTRY_NP(__aeabi_uldivmod)
58 sub sp, sp, #8 /* Space for the remainder */
59 stmfd sp!, {sp, lr} /* Save a pointer to the above space and lr */
60 bl PIC_SYM(_C_LABEL(__qdivrem), PLT)
61 ldr lr, [sp, #4] /* Restore lr */
62 add sp, sp, #8 /* Move sp to the remainder value */
63 ldmfd sp!, {r2, r3} /* Load the remainder */
64 RET
57
58ENTRY_NP(__aeabi_uldivmod)
59 sub sp, sp, #8 /* Space for the remainder */
60 stmfd sp!, {sp, lr} /* Save a pointer to the above space and lr */
61 bl PIC_SYM(_C_LABEL(__qdivrem), PLT)
62 ldr lr, [sp, #4] /* Restore lr */
63 add sp, sp, #8 /* Move sp to the remainder value */
64 ldmfd sp!, {r2, r3} /* Load the remainder */
65 RET
66END(__aeabi_uldivmod)
65
66#endif
67
67
68#endif
69