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

TOMOYO Linux Cross Reference
Linux/tools/testing/selftests/powerpc/pmu/loop.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 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0-only */
  2 /*
  3  * Copyright 2013, Michael Ellerman, IBM Corp.
  4  */
  5 
  6 #include <ppc-asm.h>
  7 
  8         .text
  9 
 10 FUNC_START(thirty_two_instruction_loop)
 11         cmpdi   r3,0
 12         beqlr
 13         addi    r4,r3,1
 14         addi    r4,r4,1
 15         addi    r4,r4,1
 16         addi    r4,r4,1
 17         addi    r4,r4,1
 18         addi    r4,r4,1
 19         addi    r4,r4,1
 20         addi    r4,r4,1
 21         addi    r4,r4,1
 22         addi    r4,r4,1
 23         addi    r4,r4,1
 24         addi    r4,r4,1
 25         addi    r4,r4,1
 26         addi    r4,r4,1
 27         addi    r4,r4,1
 28         addi    r4,r4,1
 29         addi    r4,r4,1
 30         addi    r4,r4,1
 31         addi    r4,r4,1
 32         addi    r4,r4,1
 33         addi    r4,r4,1
 34         addi    r4,r4,1
 35         addi    r4,r4,1
 36         addi    r4,r4,1
 37         addi    r4,r4,1
 38         addi    r4,r4,1
 39         addi    r4,r4,1
 40         addi    r4,r4,1 # 28 addi's
 41         subi    r3,r3,1
 42         b       FUNC_NAME(thirty_two_instruction_loop)
 43 FUNC_END(thirty_two_instruction_loop)
 44 
 45 FUNC_START(thirty_two_instruction_loop_with_ll_sc)
 46         cmpdi   r3,0
 47         beqlr
 48         addi    r5,r5,1
 49         addi    r5,r5,1
 50         addi    r5,r5,1         # 5
 51         addi    r5,r5,1
 52         addi    r5,r5,1
 53         addi    r5,r5,1
 54         addi    r5,r5,1
 55 1:      ldarx   r6,0,r4         # 10
 56         addi    r5,r5,1
 57         addi    r5,r5,1
 58         addi    r5,r5,1
 59         addi    r5,r5,1
 60         addi    r5,r5,1         # 15
 61         addi    r5,r5,1
 62         addi    r5,r5,1
 63         stdcx.  r6,0,r4
 64         bne-    1b
 65         addi    r5,r5,1         # 20
 66         addi    r5,r5,1
 67         addi    r5,r5,1
 68         addi    r5,r5,1
 69         addi    r5,r5,1
 70         addi    r5,r5,1         # 25
 71         addi    r5,r5,1
 72         addi    r5,r5,1
 73         addi    r5,r5,1
 74         addi    r5,r5,1
 75         addi    r5,r5,1         # 30
 76         subi    r3,r3,1
 77         b       FUNC_NAME(thirty_two_instruction_loop_with_ll_sc)
 78 FUNC_END(thirty_two_instruction_loop_with_ll_sc)

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