sevki
c9e1dba412
setup CI/CD for kernel development - added CodeQL for code scanning - every pr is built as an image and is available for 30days on https://oklinux.dev - tagged and released on github for now Signed-off-by: sevki <s@sevki.io>
63 lines
1 KiB
ArmAsm
63 lines
1 KiB
ArmAsm
/* SPDX-License-Identifier: GPL-2.0 */
|
|
|
|
#include <linux/export.h>
|
|
#include <linux/linkage.h>
|
|
#include <asm/nospec-insn.h>
|
|
|
|
.section .noinstr.text, "ax"
|
|
|
|
GEN_BR_THUNK %r14
|
|
|
|
SYM_FUNC_START(__ashlti3)
|
|
lmg %r0,%r1,0(%r3)
|
|
cije %r4,0,1f
|
|
lhi %r3,64
|
|
sr %r3,%r4
|
|
jnh 0f
|
|
srlg %r3,%r1,0(%r3)
|
|
sllg %r0,%r0,0(%r4)
|
|
sllg %r1,%r1,0(%r4)
|
|
ogr %r0,%r3
|
|
j 1f
|
|
0: sllg %r0,%r1,-64(%r4)
|
|
lghi %r1,0
|
|
1: stmg %r0,%r1,0(%r2)
|
|
BR_EX %r14
|
|
SYM_FUNC_END(__ashlti3)
|
|
EXPORT_SYMBOL(__ashlti3)
|
|
|
|
SYM_FUNC_START(__ashrti3)
|
|
lmg %r0,%r1,0(%r3)
|
|
cije %r4,0,1f
|
|
lhi %r3,64
|
|
sr %r3,%r4
|
|
jnh 0f
|
|
sllg %r3,%r0,0(%r3)
|
|
srlg %r1,%r1,0(%r4)
|
|
srag %r0,%r0,0(%r4)
|
|
ogr %r1,%r3
|
|
j 1f
|
|
0: srag %r1,%r0,-64(%r4)
|
|
srag %r0,%r0,63
|
|
1: stmg %r0,%r1,0(%r2)
|
|
BR_EX %r14
|
|
SYM_FUNC_END(__ashrti3)
|
|
EXPORT_SYMBOL(__ashrti3)
|
|
|
|
SYM_FUNC_START(__lshrti3)
|
|
lmg %r0,%r1,0(%r3)
|
|
cije %r4,0,1f
|
|
lhi %r3,64
|
|
sr %r3,%r4
|
|
jnh 0f
|
|
sllg %r3,%r0,0(%r3)
|
|
srlg %r1,%r1,0(%r4)
|
|
srlg %r0,%r0,0(%r4)
|
|
ogr %r1,%r3
|
|
j 1f
|
|
0: srlg %r1,%r0,-64(%r4)
|
|
lghi %r0,0
|
|
1: stmg %r0,%r1,0(%r2)
|
|
BR_EX %r14
|
|
SYM_FUNC_END(__lshrti3)
|
|
EXPORT_SYMBOL(__lshrti3)
|