memcpy-archs.S (9938b04472d5c59f8bd8152a548533a8599596a2) | memcpy-archs.S (86effd0dc675c36caed7b954d7f4f63b77c353b5) |
---|---|
1/* 2 * Copyright (C) 2014-15 Synopsys, Inc. (www.synopsys.com) 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License version 2 as 6 * published by the Free Software Foundation. 7 */ 8 --- 26 unchanged lines hidden (view full) --- 35# define PREFETCH_READ(RX) prefetch [RX, 28] 36# define PREFETCH_WRITE(RX) prefetchw [RX, 32] 37# define LOADX(DST,RX) ld.ab DST, [RX, 4] 38# define STOREX(SRC,RX) st.ab SRC, [RX, 4] 39# define ZOLSHFT 4 40# define ZOLAND 0xF 41#endif 42 | 1/* 2 * Copyright (C) 2014-15 Synopsys, Inc. (www.synopsys.com) 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License version 2 as 6 * published by the Free Software Foundation. 7 */ 8 --- 26 unchanged lines hidden (view full) --- 35# define PREFETCH_READ(RX) prefetch [RX, 28] 36# define PREFETCH_WRITE(RX) prefetchw [RX, 32] 37# define LOADX(DST,RX) ld.ab DST, [RX, 4] 38# define STOREX(SRC,RX) st.ab SRC, [RX, 4] 39# define ZOLSHFT 4 40# define ZOLAND 0xF 41#endif 42 |
43ENTRY(memcpy) | 43ENTRY_CFI(memcpy) |
44 prefetch [r1] ; Prefetch the read location 45 prefetchw [r0] ; Prefetch the write location 46 mov.f 0, r2 47;;; if size is zero 48 jz.d [blink] 49 mov r3, r0 ; don;t clobber ret val 50 51;;; if size <= 8 --- 176 unchanged lines hidden (view full) --- 228 and.f lp_count, r2, 0x07 ;Last 8bytes 229 lpnz @.Lcopybytewise_3 230 ;; LOOP START 231 ldb.ab r6, [r1,1] 232 stb.ab r6, [r3,1] 233.Lcopybytewise_3: 234 j [blink] 235 | 44 prefetch [r1] ; Prefetch the read location 45 prefetchw [r0] ; Prefetch the write location 46 mov.f 0, r2 47;;; if size is zero 48 jz.d [blink] 49 mov r3, r0 ; don;t clobber ret val 50 51;;; if size <= 8 --- 176 unchanged lines hidden (view full) --- 228 and.f lp_count, r2, 0x07 ;Last 8bytes 229 lpnz @.Lcopybytewise_3 230 ;; LOOP START 231 ldb.ab r6, [r1,1] 232 stb.ab r6, [r3,1] 233.Lcopybytewise_3: 234 j [blink] 235 |
236END(memcpy) | 236END_CFI(memcpy) |