ev6-memcpy.S (e5451c8f8330e03ad3cfa16048b4daf961af434f) | ev6-memcpy.S (00fc0e0dda6286407f3854cd71a125f519a5689c) |
---|---|
1/* 2 * arch/alpha/lib/ev6-memcpy.S 3 * 21264 version by Rick Gorton <rick.gorton@alpha-processor.com> 4 * 5 * Reasonably optimized memcpy() routine for the Alpha 21264 6 * 7 * - memory accessed as aligned quadwords only 8 * - uses bcmpge to compare 8 bytes in parallel --- 5 unchanged lines hidden (view full) --- 14 * Scheduling notation: 15 * E - either cluster 16 * U - upper subcluster; U0 - subcluster U0; U1 - subcluster U1 17 * L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1 18 * 19 * Temp usage notes: 20 * $1,$2, - scratch 21 */ | 1/* 2 * arch/alpha/lib/ev6-memcpy.S 3 * 21264 version by Rick Gorton <rick.gorton@alpha-processor.com> 4 * 5 * Reasonably optimized memcpy() routine for the Alpha 21264 6 * 7 * - memory accessed as aligned quadwords only 8 * - uses bcmpge to compare 8 bytes in parallel --- 5 unchanged lines hidden (view full) --- 14 * Scheduling notation: 15 * E - either cluster 16 * U - upper subcluster; U0 - subcluster U0; U1 - subcluster U1 17 * L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1 18 * 19 * Temp usage notes: 20 * $1,$2, - scratch 21 */ |
22 | 22#include <asm/export.h> |
23 .set noreorder 24 .set noat 25 26 .align 4 27 .globl memcpy 28 .ent memcpy 29memcpy: 30 .frame $30,0,$26,0 --- 206 unchanged lines hidden (view full) --- 237 238$nomoredata: 239 ret $31, ($26), 1 # L0 : 240 nop # E : 241 nop # E : 242 nop # E : 243 244 .end memcpy | 23 .set noreorder 24 .set noat 25 26 .align 4 27 .globl memcpy 28 .ent memcpy 29memcpy: 30 .frame $30,0,$26,0 --- 206 unchanged lines hidden (view full) --- 237 238$nomoredata: 239 ret $31, ($26), 1 # L0 : 240 nop # E : 241 nop # E : 242 nop # E : 243 244 .end memcpy |
245 EXPORT_SYMBOL(memcpy) |
|
245 246/* For backwards module compatibility. */ 247__memcpy = memcpy 248.globl __memcpy | 246 247/* For backwards module compatibility. */ 248__memcpy = memcpy 249.globl __memcpy |