1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * unsigned long __xdiv64_32(unsigned long long n, unsigned long d); 4 */ 5 6 #include <linux/linkage.h> 7 8 .text 9 ENTRY(__xdiv64_32) 10 #ifdef CONFIG_CPU_LITTLE_ENDIAN 11 mov r4, r0 12 mov r5, r1 13 #else 14 mov r4, r1 15 mov r5, r0 16 #endif 17 cmp/hs r6, r1 18 bf.s 1f 19 mov #0, r2 20 21 mov r1, r2 22 mov #0, r3 23 div0u 24 .rept 32 25 rotcl r2 26 div1 r6, r3 27 .endr 28 rotcl r2 29 mul.l r6, r2 30 sts macl, r3 31 sub r3, r1 32 1: 33 div0u 34 .rept 32 35 rotcl r0 36 div1 r6, r1 37 .endr 38 #ifdef CONFIG_CPU_LITTLE_ENDIAN 39 mov r2, r1 40 rts 41 rotcl r0 42 #else 43 rotcl r0 44 mov r0, r1 45 rts 46 mov r2, r0 47 #endif
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.