Lines Matching +full:carry +full:- +full:less
1 /* SPDX-License-Identifier: GPL-2.0 */
10 * Linux/Alpha checksum c-code
13 * David Mosberger-Tang for optimized reference c-code
35 ldd [buf - offset - 0x08], t0; \
36 ldd [buf - offset - 0x00], t2; \
50 addx %g0, %o2, %o2 ! add in final carry
57 addx %g0, %o2, %o2 ! add in final carry
60 addcc %o1, -1, %g0 ! only one byte remains?
74 addx %g0, %o2, %o0 ! add final carry into retval
79 bl cpte - 0x4
113 sethi %hi(cpte - 8), %g7 ! prepare table jmp ptr
116 andcc %o1, 0x70, %g1 ! clears carry flag too
121 addx %g0, %o2, %o2 ! sink in final carry
125 andcc %o1, 0x70, %g1 ! clears carry flag too
131 jmp %g7 + %lo(cpte - 8) ! enter the table
140 addx %g0, %o2, %o2 ! fetch final carry
147 /* Work around cpp -rob */
210 EX(ldd [src - off - 0x08], t0); \
211 EX(ldd [src - off - 0x00], t2); \
213 EX(st t0, [dst - off - 0x08]); \
215 EX(st t1, [dst - off - 0x04]); \
217 EX(st t2, [dst - off - 0x00]); \
219 EX(st t3, [dst - off + 0x04]);
230 EX(st %g2, [%o1 - 0x08])
233 EX(st %g3, [%o1 - 0x04])
239 EX(st %g2, [%o1 - 0x04])
244 addcc %o3, -1, %g0
320 3: be 3f ! nope, less than one loop remains
328 addx %g0, %g7, %g7 ! add in last carry bit
335 andcc %g1, 0xf, %o3 ! get low bits of length (clears carry btw)
343 add %o1, %o2, %o1 ! advance dest ptr (carry is clear btw)
362 addx %g0, %g7, %g7 ! add in last carry bit
368 andcc %g1, 0x70, %o2 ! can use table? (clears carry btw)
412 add %o1, 4, %o1 ! is worthy). Maybe some day - with the sll/srl