For copies shorter than 512 bytes, the data is copied using plain ld/std instructions. For 512 bytes or more, the copy is done in 3 phases: Phase 1: copy from the src buffer until it's aligned at a 16-byte boundary Phase 2: copy as many aligned 64-byte blocks from the src buffer as possible Phase 3: copy the remaining data, if any In phase 2, this code uses VSX instructions when available. Otherwise, it uses ldx/stdx. Submitted by: Luis Pires <lffpires_ruabrasil.org> (original version) Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D15118 |
||
---|---|---|
.. | ||
gen | ||
softfloat | ||
string | ||
sys | ||
_fpmath.h | ||
arith.h | ||
gd_qnan.h | ||
Makefile.inc | ||
static_tls.h | ||
Symbol.map | ||
SYS.h |