Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) /* SPDX-License-Identifier: GPL-2.0-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3)  * Copyright (c) 2021, The Linux Foundation. All rights reserved.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) #include <linux/linkage.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) SYM_FUNC_START(__hexagon_divsi3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9)         {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)                 p0 = cmp.gt(r0,#-1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)                 p1 = cmp.gt(r1,#-1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)                 r3:2 = vabsw(r1:0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)         }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)         {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)                 p3 = xor(p0,p1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)                 r4 = sub(r2,r3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)                 r6 = cl0(r2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)                 p0 = cmp.gtu(r3,r2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)         }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)         {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)                 r0 = mux(p3,#-1,#1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)                 r7 = cl0(r3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)                 p1 = cmp.gtu(r3,r4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)         }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)         {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)                 r0 = mux(p0,#0,r0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)                 p0 = or(p0,p1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)                 if (p0.new) jumpr:nt r31
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)                 r6 = sub(r7,r6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)         }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)         {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)                 r7 = r6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)                 r5:4 = combine(#1,r3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)                 r6 = add(#1,lsr(r6,#1))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)                 p0 = cmp.gtu(r6,#4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)         }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)         {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)                 r5:4 = vaslw(r5:4,r7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)                 if (!p0) r6 = #3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)         }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)         {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)                 loop0(1f,r6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)                 r7:6 = vlsrw(r5:4,#1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)                 r1:0 = #0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)         }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)         .falign
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 1:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)         {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)                 r5:4 = vlsrw(r5:4,#2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)                 if (!p0.new) r0 = add(r0,r5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)                 if (!p0.new) r2 = sub(r2,r4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)                 p0 = cmp.gtu(r4,r2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)         }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)         {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)                 r7:6 = vlsrw(r7:6,#2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)                 if (!p0.new) r0 = add(r0,r7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)                 if (!p0.new) r2 = sub(r2,r6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58)                 p0 = cmp.gtu(r6,r2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59)         }:endloop0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)         {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)                 if (!p0) r0 = add(r0,r7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)         }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)         {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)                 if (p3) r0 = sub(r1,r0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65)                 jumpr r31
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66)         }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) SYM_FUNC_END(__hexagon_divsi3)