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

TOMOYO Linux Cross Reference
Linux/arch/riscv/lib/xor.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/riscv/lib/xor.S (Architecture mips) and /arch/alpha/lib/xor.S (Architecture alpha)


  1 /* SPDX-License-Identifier: GPL-2.0-or-later *    
  2 /*                                                
  3  * Copyright (C) 2021 SiFive                      
  4  */                                               
  5 #include <linux/linkage.h>                        
  6 #include <linux/export.h>                         
  7 #include <asm/asm.h>                              
  8                                                   
  9 SYM_FUNC_START(xor_regs_2_)                       
 10         vsetvli a3, a0, e8, m8, ta, ma            
 11         vle8.v v0, (a1)                           
 12         vle8.v v8, (a2)                           
 13         sub a0, a0, a3                            
 14         vxor.vv v16, v0, v8                       
 15         add a2, a2, a3                            
 16         vse8.v v16, (a1)                          
 17         add a1, a1, a3                            
 18         bnez a0, xor_regs_2_                      
 19         ret                                       
 20 SYM_FUNC_END(xor_regs_2_)                         
 21 EXPORT_SYMBOL(xor_regs_2_)                        
 22                                                   
 23 SYM_FUNC_START(xor_regs_3_)                       
 24         vsetvli a4, a0, e8, m8, ta, ma            
 25         vle8.v v0, (a1)                           
 26         vle8.v v8, (a2)                           
 27         sub a0, a0, a4                            
 28         vxor.vv v0, v0, v8                        
 29         vle8.v v16, (a3)                          
 30         add a2, a2, a4                            
 31         vxor.vv v16, v0, v16                      
 32         add a3, a3, a4                            
 33         vse8.v v16, (a1)                          
 34         add a1, a1, a4                            
 35         bnez a0, xor_regs_3_                      
 36         ret                                       
 37 SYM_FUNC_END(xor_regs_3_)                         
 38 EXPORT_SYMBOL(xor_regs_3_)                        
 39                                                   
 40 SYM_FUNC_START(xor_regs_4_)                       
 41         vsetvli a5, a0, e8, m8, ta, ma            
 42         vle8.v v0, (a1)                           
 43         vle8.v v8, (a2)                           
 44         sub a0, a0, a5                            
 45         vxor.vv v0, v0, v8                        
 46         vle8.v v16, (a3)                          
 47         add a2, a2, a5                            
 48         vxor.vv v0, v0, v16                       
 49         vle8.v v24, (a4)                          
 50         add a3, a3, a5                            
 51         vxor.vv v16, v0, v24                      
 52         add a4, a4, a5                            
 53         vse8.v v16, (a1)                          
 54         add a1, a1, a5                            
 55         bnez a0, xor_regs_4_                      
 56         ret                                       
 57 SYM_FUNC_END(xor_regs_4_)                         
 58 EXPORT_SYMBOL(xor_regs_4_)                        
 59                                                   
 60 SYM_FUNC_START(xor_regs_5_)                       
 61         vsetvli a6, a0, e8, m8, ta, ma            
 62         vle8.v v0, (a1)                           
 63         vle8.v v8, (a2)                           
 64         sub a0, a0, a6                            
 65         vxor.vv v0, v0, v8                        
 66         vle8.v v16, (a3)                          
 67         add a2, a2, a6                            
 68         vxor.vv v0, v0, v16                       
 69         vle8.v v24, (a4)                          
 70         add a3, a3, a6                            
 71         vxor.vv v0, v0, v24                       
 72         vle8.v v8, (a5)                           
 73         add a4, a4, a6                            
 74         vxor.vv v16, v0, v8                       
 75         add a5, a5, a6                            
 76         vse8.v v16, (a1)                          
 77         add a1, a1, a6                            
 78         bnez a0, xor_regs_5_                      
 79         ret                                       
 80 SYM_FUNC_END(xor_regs_5_)                         
 81 EXPORT_SYMBOL(xor_regs_5_)                        
                                                      

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