brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 492298f Raw
64 lines · plain
1//===------------------------- memcopy routines ---------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9 10	.macro FUNCTION_BEGIN name11	.text12	.p2align 513	.globl \name14	.type  \name, @function15\name:16	.endm17 18	.macro FUNCTION_END name19	.size  \name, . - \name20	.endm21 22FUNCTION_BEGIN __hexagon_memcpy_likely_aligned_min32bytes_mult8bytes23	{24		p0 = bitsclr(r1,#7)25		p0 = bitsclr(r0,#7)26		if (p0.new) r5:4 = memd(r1)27		r3 = #-328	}29	{30		if (!p0) jump .Lmemcpy_call31		if (p0) memd(r0++#8) = r5:432		if (p0) r5:4 = memd(r1+#8)33		r3 += lsr(r2,#3)34	}35	{36		memd(r0++#8) = r5:437		r5:4 = memd(r1+#16)38		r1 = add(r1,#24)39		loop0(1f,r3)40	}41	.falign421:43	{44		memd(r0++#8) = r5:445		r5:4 = memd(r1++#8)46	}:endloop047	{48		memd(r0) = r5:449		r0 -= add(r2,#-8)50		jumpr r3151	}52FUNCTION_END __hexagon_memcpy_likely_aligned_min32bytes_mult8bytes53 54.Lmemcpy_call:55#ifdef __PIC__56	jump memcpy@PLT57#else58	jump memcpy59#endif60 61  .globl __qdsp_memcpy_likely_aligned_min32bytes_mult8bytes62  .set   __qdsp_memcpy_likely_aligned_min32bytes_mult8bytes, \63         __hexagon_memcpy_likely_aligned_min32bytes_mult8bytes64