memcpy_arm.S (256281) | memcpy_arm.S (271337) |
---|---|
1/* $NetBSD: memcpy_arm.S,v 1.1 2003/10/14 07:51:45 scw Exp $ */ 2 3/*- 4 * Copyright (c) 1997 The NetBSD Foundation, Inc. 5 * All rights reserved. 6 * 7 * This code is derived from software contributed to The NetBSD Foundation 8 * by Neil A. Carson and Mark Brinicombe --- 16 unchanged lines hidden (view full) --- 25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 * POSSIBILITY OF SUCH DAMAGE. 30 */ 31 32#include <machine/asm.h> | 1/* $NetBSD: memcpy_arm.S,v 1.1 2003/10/14 07:51:45 scw Exp $ */ 2 3/*- 4 * Copyright (c) 1997 The NetBSD Foundation, Inc. 5 * All rights reserved. 6 * 7 * This code is derived from software contributed to The NetBSD Foundation 8 * by Neil A. Carson and Mark Brinicombe --- 16 unchanged lines hidden (view full) --- 25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 * POSSIBILITY OF SUCH DAMAGE. 30 */ 31 32#include <machine/asm.h> |
33__FBSDID("$FreeBSD: stable/10/lib/libc/arm/string/memcpy_arm.S 204607 2010-03-02 22:16:40Z joel $"); | 33__FBSDID("$FreeBSD: stable/10/lib/libc/arm/string/memcpy_arm.S 271337 2014-09-09 22:24:01Z ian $"); |
34/* 35 * This is one fun bit of code ... 36 * Some easy listening music is suggested while trying to understand this 37 * code e.g. Iron Maiden 38 * 39 * For anyone attempting to understand it : 40 * 41 * The core code is implemented here with simple stubs for memcpy(). --- 283 unchanged lines hidden (view full) --- 325#endif 326 str r12, [r0], #4 327 subs r2, r2, #4 328 bge .Lmemcpy_srcul3loop4 329 330.Lmemcpy_srcul3l4: 331 sub r1, r1, #1 332 b .Lmemcpy_l4 | 34/* 35 * This is one fun bit of code ... 36 * Some easy listening music is suggested while trying to understand this 37 * code e.g. Iron Maiden 38 * 39 * For anyone attempting to understand it : 40 * 41 * The core code is implemented here with simple stubs for memcpy(). --- 283 unchanged lines hidden (view full) --- 325#endif 326 str r12, [r0], #4 327 subs r2, r2, #4 328 bge .Lmemcpy_srcul3loop4 329 330.Lmemcpy_srcul3l4: 331 sub r1, r1, #1 332 b .Lmemcpy_l4 |
333END(memcpy) |
|