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

TOMOYO Linux Cross Reference
Linux/arch/m68k/lib/umodsi3.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/m68k/lib/umodsi3.S (Version linux-6.12-rc7) and /arch/sparc64/lib/umodsi3.S (Version linux-6.3.13)


  1 /* libgcc1 routines for 68000 w/o floating-poi    
  2    Copyright (C) 1994, 1996, 1997, 1998 Free S    
  3                                                   
  4 This file is part of GNU CC.                      
  5                                                   
  6 GNU CC is free software; you can redistribute     
  7 under the terms of the GNU General Public Lice    
  8 Free Software Foundation; either version 2, or    
  9 later version.                                    
 10                                                   
 11 In addition to the permissions in the GNU Gene    
 12 Free Software Foundation gives you unlimited p    
 13 compiled version of this file with other progr    
 14 those programs without any restriction coming     
 15 file.  (The General Public License restriction    
 16 respects; for example, they cover modification    
 17 distribution when not linked into another prog    
 18                                                   
 19 This file is distributed in the hope that it w    
 20 WITHOUT ANY WARRANTY; without even the implied    
 21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PU    
 22 General Public License for more details. */       
 23                                                   
 24 /* As a special exception, if you link this li    
 25    compiled with GCC to produce an executable,    
 26    the resulting executable to be covered by t    
 27    This exception does not however invalidate     
 28    the executable file might be covered by the    
 29                                                   
 30 /* Use this one for any 680x0; assumes no floa    
 31    The trailing " '" appearing on some lines i    
 32    Some of this code comes from MINIX, via the    
 33    D. V. Henkel-Wallace (gumby@cygnus.com) Fet    
 34 */                                                
 35 #include <linux/export.h>                         
 36 /* These are predefined by new versions of GNU    
 37                                                   
 38 #ifndef __USER_LABEL_PREFIX__                     
 39 #define __USER_LABEL_PREFIX__ _                   
 40 #endif                                            
 41                                                   
 42 #ifndef __REGISTER_PREFIX__                       
 43 #define __REGISTER_PREFIX__                       
 44 #endif                                            
 45                                                   
 46 #ifndef __IMMEDIATE_PREFIX__                      
 47 #define __IMMEDIATE_PREFIX__ #                    
 48 #endif                                            
 49                                                   
 50 /* ANSI concatenation macros.  */                 
 51                                                   
 52 #define CONCAT1(a, b) CONCAT2(a, b)               
 53 #define CONCAT2(a, b) a ## b                      
 54                                                   
 55 /* Use the right prefix for global labels.  */    
 56                                                   
 57 #define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__,    
 58                                                   
 59 /* Use the right prefix for registers.  */        
 60                                                   
 61 #define REG(x) CONCAT1 (__REGISTER_PREFIX__, x    
 62                                                   
 63 /* Use the right prefix for immediate values.     
 64                                                   
 65 #define IMM(x) CONCAT1 (__IMMEDIATE_PREFIX__,     
 66                                                   
 67 #define d0 REG (d0)                               
 68 #define d1 REG (d1)                               
 69 #define d2 REG (d2)                               
 70 #define d3 REG (d3)                               
 71 #define d4 REG (d4)                               
 72 #define d5 REG (d5)                               
 73 #define d6 REG (d6)                               
 74 #define d7 REG (d7)                               
 75 #define a0 REG (a0)                               
 76 #define a1 REG (a1)                               
 77 #define a2 REG (a2)                               
 78 #define a3 REG (a3)                               
 79 #define a4 REG (a4)                               
 80 #define a5 REG (a5)                               
 81 #define a6 REG (a6)                               
 82 #define fp REG (fp)                               
 83 #define sp REG (sp)                               
 84                                                   
 85         .text                                     
 86         .proc                                     
 87         .globl  SYM (__umodsi3)                   
 88 SYM (__umodsi3):                                  
 89         movel   sp@(8), d1      /* d1 = diviso    
 90         movel   sp@(4), d0      /* d0 = divide    
 91         movel   d1, sp@-                          
 92         movel   d0, sp@-                          
 93         jbsr    SYM (__udivsi3)                   
 94         addql   IMM (8), sp                       
 95         movel   sp@(8), d1      /* d1 = diviso    
 96 #if !(defined(__mcf5200__) || defined(__mcoldf    
 97         movel   d1, sp@-                          
 98         movel   d0, sp@-                          
 99         jbsr    SYM (__mulsi3)  /* d0 = (a/b)*    
100         addql   IMM (8), sp                       
101 #else                                             
102         mulsl   d1,d0                             
103 #endif                                            
104         movel   sp@(4), d1      /* d1 = divide    
105         subl    d0, d1          /* d1 = a - (a    
106         movel   d1, d0                            
107         rts                                       
108         EXPORT_SYMBOL(__umodsi3)                  
                                                      

~ [ 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