~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/sh/lib/udivsi3.S

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/sh/lib/udivsi3.S (Architecture m68k) and /arch/sparc64/lib/udivsi3.S (Architecture sparc64)


  1 /* SPDX-License-Identifier: GPL-2.0+ WITH GCC-    
  2                                                   
  3    Copyright (C) 1994, 1995, 1997, 1998, 1999,    
  4    2004, 2005                                     
  5    Free Software Foundation, Inc.                 
  6 */                                                
  7                                                   
  8 !! libgcc routines for the Renesas / SuperH SH    
  9 !! Contributed by Steve Chamberlain.              
 10 !! sac@cygnus.com                                 
 11                                                   
 12         .balign 4                                 
 13         .global __udivsi3                         
 14         .type   __udivsi3, @function              
 15 div8:                                             
 16         div1 r5,r4                                
 17 div7:                                             
 18         div1 r5,r4; div1 r5,r4; div1 r5,r4        
 19         div1 r5,r4; div1 r5,r4; div1 r5,r4; rt    
 20                                                   
 21 divx4:                                            
 22         div1 r5,r4; rotcl r0                      
 23         div1 r5,r4; rotcl r0                      
 24         div1 r5,r4; rotcl r0                      
 25         rts; div1 r5,r4                           
 26                                                   
 27 __udivsi3:                                        
 28         sts.l pr,@-r15                            
 29         extu.w r5,r0                              
 30         cmp/eq r5,r0                              
 31         bf/s large_divisor                        
 32         div0u                                     
 33         swap.w r4,r0                              
 34         shlr16 r4                                 
 35         bsr div8                                  
 36         shll16 r5                                 
 37         bsr div7                                  
 38         div1 r5,r4                                
 39         xtrct r4,r0                               
 40         xtrct r0,r4                               
 41         bsr div8                                  
 42         swap.w r4,r4                              
 43         bsr div7                                  
 44         div1 r5,r4                                
 45         lds.l @r15+,pr                            
 46         xtrct r4,r0                               
 47         swap.w r0,r0                              
 48         rotcl r0                                  
 49         rts                                       
 50         shlr16 r5                                 
 51                                                   
 52 large_divisor:                                    
 53         mov #0,r0                                 
 54         xtrct r4,r0                               
 55         xtrct r0,r4                               
 56         bsr divx4                                 
 57         rotcl r0                                  
 58         bsr divx4                                 
 59         rotcl r0                                  
 60         bsr divx4                                 
 61         rotcl r0                                  
 62         bsr divx4                                 
 63         rotcl r0                                  
 64         lds.l @r15+,pr                            
 65         rts                                       
 66         rotcl r0                                  
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php