Path: blob/master/arch/hexagon/lib/memcpy_likely_aligned.S
26425 views
/* SPDX-License-Identifier: GPL-2.0-only */1/*2* Copyright (c) 2021, The Linux Foundation. All rights reserved.3*/45#include <linux/linkage.h>67SYM_FUNC_START(__hexagon_memcpy_likely_aligned_min32bytes_mult8bytes)8{9p0 = bitsclr(r1,#7)10p0 = bitsclr(r0,#7)11if (p0.new) r5:4 = memd(r1)12if (p0.new) r7:6 = memd(r1+#8)13}14{15if (!p0) jump:nt .Lmemcpy_call16if (p0) r9:8 = memd(r1+#16)17if (p0) r11:10 = memd(r1+#24)18p0 = cmp.gtu(r2,#64)19}20{21if (p0) jump:nt .Lmemcpy_call22if (!p0) memd(r0) = r5:423if (!p0) memd(r0+#8) = r7:624p0 = cmp.gtu(r2,#32)25}26{27p1 = cmp.gtu(r2,#40)28p2 = cmp.gtu(r2,#48)29if (p0) r13:12 = memd(r1+#32)30if (p1.new) r15:14 = memd(r1+#40)31}32{33memd(r0+#16) = r9:834memd(r0+#24) = r11:1035}36{37if (p0) memd(r0+#32) = r13:1238if (p1) memd(r0+#40) = r15:1439if (!p2) jumpr:t r3140}41{42p0 = cmp.gtu(r2,#56)43r5:4 = memd(r1+#48)44if (p0.new) r7:6 = memd(r1+#56)45}46{47memd(r0+#48) = r5:448if (p0) memd(r0+#56) = r7:649jumpr r3150}5152.Lmemcpy_call:53jump memcpy5455SYM_FUNC_END(__hexagon_memcpy_likely_aligned_min32bytes_mult8bytes)565758