Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Copyright 2022, Kajol Jain, IBM Corp.
0004  */
0005 
0006 #include <ppc-asm.h>
0007 
0008     .text
0009 
0010 #define ITER_SHIFT  31
0011 
0012 FUNC_START(indirect_branch_loop)
0013     li  r3, 1
0014     sldi    r3, r3, ITER_SHIFT
0015 
0016 1:  cmpdi   r3, 0
0017     beqlr
0018 
0019     addi    r3, r3, -1
0020 
0021     ld  r4, 2f@got(%r2)
0022     mtctr   r4
0023     bctr
0024 
0025     .balign 32
0026 2:  b   1b
0027 
0028 FUNC_END(indirect_branch_loop)