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

TOMOYO Linux Cross Reference
Linux/arch/m68k/lib/divsi3.S

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ 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.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/m68k/lib/divsi3.S (Version linux-6.11-rc3) and /arch/alpha/lib/divsi3.S (Version linux-4.18.20)


  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                                                   
 36 #include <linux/export.h>                         
 37                                                   
 38 /* These are predefined by new versions of GNU    
 39                                                   
 40 #ifndef __USER_LABEL_PREFIX__                     
 41 #define __USER_LABEL_PREFIX__ _                   
 42 #endif                                            
 43                                                   
 44 #ifndef __REGISTER_PREFIX__                       
 45 #define __REGISTER_PREFIX__                       
 46 #endif                                            
 47                                                   
 48 #ifndef __IMMEDIATE_PREFIX__                      
 49 #define __IMMEDIATE_PREFIX__ #                    
 50 #endif                                            
 51                                                   
 52 /* ANSI concatenation macros.  */                 
 53                                                   
 54 #define CONCAT1(a, b) CONCAT2(a, b)               
 55 #define CONCAT2(a, b) a ## b                      
 56                                                   
 57 /* Use the right prefix for global labels.  */    
 58                                                   
 59 #define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__,    
 60                                                   
 61 /* Use the right prefix for registers.  */        
 62                                                   
 63 #define REG(x) CONCAT1 (__REGISTER_PREFIX__, x    
 64                                                   
 65 /* Use the right prefix for immediate values.     
 66                                                   
 67 #define IMM(x) CONCAT1 (__IMMEDIATE_PREFIX__,     
 68                                                   
 69 #define d0 REG (d0)                               
 70 #define d1 REG (d1)                               
 71 #define d2 REG (d2)                               
 72 #define d3 REG (d3)                               
 73 #define d4 REG (d4)                               
 74 #define d5 REG (d5)                               
 75 #define d6 REG (d6)                               
 76 #define d7 REG (d7)                               
 77 #define a0 REG (a0)                               
 78 #define a1 REG (a1)                               
 79 #define a2 REG (a2)                               
 80 #define a3 REG (a3)                               
 81 #define a4 REG (a4)                               
 82 #define a5 REG (a5)                               
 83 #define a6 REG (a6)                               
 84 #define fp REG (fp)                               
 85 #define sp REG (sp)                               
 86                                                   
 87         .text                                     
 88         .proc                                     
 89         .globl  SYM (__divsi3)                    
 90 SYM (__divsi3):                                   
 91         movel   d2, sp@-                          
 92                                                   
 93         moveq   IMM (1), d2     /* sign of res    
 94         movel   sp@(12), d1     /* d1 = diviso    
 95         jpl     L1                                
 96         negl    d1                                
 97 #if !(defined(__mcf5200__) || defined(__mcoldf    
 98         negb    d2              /* change sign    
 99 #else                                             
100         negl    d2              /* change sign    
101 #endif                                            
102 L1:     movel   sp@(8), d0      /* d0 = divide    
103         jpl     L2                                
104         negl    d0                                
105 #if !(defined(__mcf5200__) || defined(__mcoldf    
106         negb    d2                                
107 #else                                             
108         negl    d2                                
109 #endif                                            
110                                                   
111 L2:     movel   d1, sp@-                          
112         movel   d0, sp@-                          
113         jbsr    SYM (__udivsi3) /* divide abs(    
114         addql   IMM (8), sp                       
115                                                   
116         tstb    d2                                
117         jpl     L3                                
118         negl    d0                                
119                                                   
120 L3:     movel   sp@+, d2                          
121         rts                                       
122                                                   
123         EXPORT_SYMBOL(__divsi3)                   
                                                      

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