Lines Matching +full:1 +full:- +full:4
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
8 #include <asm/asm-compat.h>
9 #include <asm/feature-fixups.h>
12 /* 0 == most CPUs, 1 == POWER6, 2 == Cell */
17 #define sLd sld /* Shift towards low-numbered address. */
18 #define sHd srd /* Shift towards high-numbered address. */
20 #define sLd srd /* Shift towards low-numbered address. */
21 #define sHd sld /* Shift towards high-numbered address. */
39 100: EX_TABLE(100b, .Lld_exc - r3_offset)
43 100: EX_TABLE(100b, .Lst_exc - r3_offset)
56 /* first check for a 4kB copy on a 4kB boundary */
60 neg r6,r3 /* LS 3 bits = # bytes to 8-byte dest bdry */
62 std r3,-24(r1)
63 crand cr0*4+2,cr0*4+2,cr6*4+2
64 std r4,-16(r1)
65 std r5,-8(r1)
77 test_feature = (SELFTEST_CASE == 1)
85 addi r3,r3,-16
103 addi r4,r4,-16
135 bf cr7*4+0,246f
140 246: bf cr7*4+1,1f
142 addi r4,r4,4
144 addi r3,r3,4
145 1: bf cr7*4+2,2f
150 2: bf cr7*4+3,3f
159 addi r5,r5,-16
161 srdi r7,r5,4
168 bt cr7*4+0,28f
182 lex; ld r0,0(r4) /* 4+2n loads, 3+2n stores */
185 addi r3,r3,-8
199 1: or r7,r7,r6
211 bdnz 1b
236 bf cr7*4+1,1f
244 addi r3,r3,4
245 1: bf cr7*4+2,2f
254 2: bf cr7*4+3,3f
271 bf cr7*4+3,1f
276 addi r7,r7,1
277 1: bf cr7*4+2,2f
283 2: bf cr7*4+1,3f
295 bf cr7*4+0,1f
297 lex; lwz r9,4(r4)
300 stex; stw r9,4(r3)
302 1: bf cr7*4+1,2f
304 addi r4,r4,4
306 addi r3,r3,4
307 2: bf cr7*4+2,3f
312 3: bf cr7*4+3,4f
315 4: li r3,0
324 * .Lld_exc - r3_offset as the handler address.
345 * distance ahead of the stores, we continue copying byte-by-byte until
349 ld r6,-24(r1)
350 ld r4,-16(r1)
351 ld r5,-8(r1)
363 addi r4,r4,1
365 addi r3,r3,1
382 * .Lst_exc - r3_offset as the handler address.
395 addi r3,r3,4
396 /* adjust by 4 */
397 addi r3,r3,4
399 ld r6,-24(r1) /* original destination pointer */
400 ld r4,-16(r1) /* original source pointer */
401 ld r5,-8(r1) /* original number of bytes */
404 * If the destination pointer isn't 8-byte aligned,
416 addi r3,r3,1
431 std r31,-32(1)
432 std r30,-40(1)
433 std r29,-48(1)
434 std r28,-56(1)
435 std r27,-64(1)
436 std r26,-72(1)
437 std r25,-80(1)
438 std r24,-88(1)
439 std r23,-96(1)
440 std r22,-104(1)
441 std r21,-112(1)
442 std r20,-120(1)
443 li r5,4096/32 - 1
444 addi r3,r3,-8
446 0: addi r5,r5,-24
448 exc; ld r22,640(4)
449 exc; ld r21,512(4)
450 exc; ld r20,384(4)
451 exc; ld r11,256(4)
452 exc; ld r9,128(4)
453 exc; ld r7,0(4)
454 exc; ld r25,648(4)
455 exc; ld r24,520(4)
456 exc; ld r23,392(4)
457 exc; ld r10,264(4)
458 exc; ld r8,136(4)
459 exc; ldu r6,8(4)
461 1:
468 exc; ld r28,648(4)
469 exc; ld r27,520(4)
470 exc; ld r26,392(4)
471 exc; ld r31,264(4)
472 exc; ld r30,136(4)
473 exc; ld r29,8(4)
480 exc; ld r22,656(4)
481 exc; ld r21,528(4)
482 exc; ld r20,400(4)
483 exc; ld r11,272(4)
484 exc; ld r9,144(4)
485 exc; ld r7,16(4)
492 exc; ld r25,664(4)
493 exc; ld r24,536(4)
494 exc; ld r23,408(4)
495 exc; ld r10,280(4)
496 exc; ld r8,152(4)
497 exc; ldu r6,24(4)
498 bdnz 1b
509 exc; ld r7,0(4)
510 exc; ld r8,8(4)
511 exc; ldu r9,16(4)
513 exc; ld r10,8(4)
515 exc; ld r7,16(4)
517 exc; ld r8,24(4)
519 exc; ldu r9,32(4)
522 4:
523 exc; ld r10,8(4)
528 9: ld r20,-120(1)
529 ld r21,-112(1)
530 ld r22,-104(1)
531 ld r23,-96(1)
532 ld r24,-88(1)
533 ld r25,-80(1)
534 ld r26,-72(1)
535 ld r27,-64(1)
536 ld r28,-56(1)
537 ld r29,-48(1)
538 ld r30,-40(1)
539 ld r31,-32(1)
548 ld r20,-120(1)
549 ld r21,-112(1)
550 ld r22,-104(1)
551 ld r23,-96(1)
552 ld r24,-88(1)
553 ld r25,-80(1)
554 ld r26,-72(1)
555 ld r27,-64(1)
556 ld r28,-56(1)
557 ld r29,-48(1)
558 ld r30,-40(1)
559 ld r31,-32(1)
560 ld r3,-24(r1)
561 ld r4,-16(r1)