• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.5.8/xnu-1228.15.4/bsd/dev/ppc/

Lines Matching refs:bit

30 #define cr1_gt  5       // bit 1 of cr1
44 * of the data, treated as an array of 16-bit integers. 1s-complement sums are done
46 * the adds can be done in parallel on 32-bit (or 64-bit) registers, as long as the
47 * final sum is folded down to 16 bits. On 32-bit machines we use "adde", which is
48 * perfect except that it serializes the adds on the carry bit. On 64-bit machines
49 * we avoid this serialization by adding 32-bit words into 64-bit sums, then folding
50 * all 64-bits into a 16-bit sum at the end. We cannot use "adde" on 64-bit sums,
51 * because the kernel runs in 32-bit mode even on 64-bit machines (so the carry bit
104 b L64BitPath ; use the 64-bit path (patched to nop on 32-bit machine)
107 b LInnerLoop32 ; enter 32-bit loop
109 ; Inner loop for 32-bit machines.
142 bf 27,Lleftover8 ; test 0x10 bit of residual length
185 srwi r6,r2,16 ; top half of 32-bit checksum
203 srwi r6,r2,16 ; top half of 32-bit checksum
237 ; Handle 64-bit machine. The major improvement over the 32-bit path is that we use
238 ; four parallel 32-bit accumulators, which carry into the upper half naturally so we
239 ; do not have to use "adde", which serializes on the carry bit. Note that we cannot
240 ; do 64-bit "adde"s, because we run in 32-bit mode so carry would not be set correctly.
274 ; Inner loop for 64-bit processors. This loop is scheduled for the 970.
340 add r14,r14,r6 ; these are 64-bit adds
350 bf 27,Lleft1 ; test 0x10 bit of residual length
396 add r8,r8,r9 ; now r8 is 64-bit sum of the four accumulators
399 srdi r7,r8,32 ; get upper half of 64-bit sum
400 addc r2,r7,r8 ; finally, do a 32-bit add of the two halves of r8 (setting carry)
401 b Lwrapup ; merge r2, r5, and carry into a 16-bit checksum