Lines Matching +full:- +full:d2

2 # SPDX-License-Identifier: GPL-1.0+ OR BSD-3-Clause
5 # Written by Andy Polyakov, @dot-asm, originally for the OpenSSL
16 # R1x000 ~5.5/+130% (big-endian)
17 # Octeon II 2.50/+70% (little-endian)
21 # Add 32-bit code path.
25 # Modulo-scheduling reduction allows to omit dependency chain at the
30 # R1x000 ~9.8/? (big-endian)
31 # Octeon II 3.65/+140% (little-endian)
32 # MT7621/1004K 4.75/? (little-endian)
48 # - never ever touch $tp, "thread pointer", former $gp [o32 can be
50 # - copy return value to $t0, former $v0 [or to $a0 if you're adapting
52 # - on O32 populate $a4-$a7 with 'lw $aN,4*N($sp)' if necessary;
72 # 64-bit code path
204 daddiu $tmp0,-63 # 0x00000000ffffffc1
206 daddiu $tmp0,-1 # 0x0ffffffc0fffffff
209 daddiu $tmp0,-3 # 0x0ffffffc0ffffffc
226 my ($h0,$h1,$h2,$r0,$r1,$rs1,$d0,$d1,$d2) =
249 .mask $SAVED_REGS_MASK|0x000c0000,-8
255 .mask $SAVED_REGS_MASK,-8
261 $code.=<<___ if ($flavour =~ /nubi/i); # optimize non-nubi prologue
360 dsrl $tmp1,$h2,2 # modulo-scheduled reduction
375 daddu $d2,$h2,$padbit
381 daddu $d2,$tmp1
382 daddu $d2,$tmp0
399 dmultu ($rs1,$d2) # h2*5*r1
402 mflo ($tmp2,$rs1,$d2)
404 dmultu ($r0,$d2) # h2*r0
407 mflo ($tmp3,$r0,$d2)
430 $code.=<<___ if ($flavour =~ /nubi/i); # optimize non-nubi epilogue
461 li $in0,-4 # final reduction
537 .asciiz "Poly1305 for MIPS64, CRYPTOGAMS by \@dot-asm"
543 # 32-bit code path
735 my ($d0,$d1,$d2,$d3) =
746 .mask $SAVED_REGS_MASK,-4
758 $code.=<<___ if ($flavour =~ /nubi/i); # optimize non-nubi prologue
800 lw $d2,8($inp)
811 srlv $at,$d2,$t1
812 sllv $d2,$d2,$shr
816 or $d2,$d2,$at
824 sllv $at,$d2,$t1
825 srlv $d2,$d2,$shr
829 or $d2,$d2,$at
837 lwl $d2,8+MSB($inp)
841 lwr $d2,8+LSB($inp)
848 wsbh $d2,$d2
852 rotr $d2,$d2,16
871 srl $at,$d2,24
873 srl $t0,$d2,8
875 andi $t1,$d2,0xFF00
876 sll $d2,$d2,24
879 or $d2,$at
883 or $d2,$t0
893 srl $t0,$h4,2 # modulo-scheduled reduction
909 addu $d2,$d2,$h2
911 sltu $h2,$d2,$h2
912 addu $d2,$d2,$h1
913 sltu $h1,$d2,$h1
925 maddu $rs2,$d2 # d2*s2
934 maddu $rs3,$d2 # d2*s3
943 maddu $r0,$d2 # d2*r0
954 maddu $r1,$d2 # d2*r1
980 multu ($rs2,$d2) # d2*s2
981 mflo ($a3,$rs2,$d2)
982 mfhi ($t1,$rs2,$d2)
1010 multu ($rs3,$d2) # d2*s3
1013 mflo ($a3,$rs3,$d2)
1014 mfhi ($t1,$rs3,$d2)
1048 multu ($r0,$d2) # d2*r0
1051 mflo ($at,$r0,$d2)
1052 mfhi ($t0,$r0,$d2)
1093 multu ($r1,$d2) # d2*r1
1097 mflo ($at,$r1,$d2)
1098 mfhi ($t0,$r1,$d2)
1140 $code.=<<___ if ($flavour =~ /nubi/i); # optimize non-nubi prologue
1169 li $in0,-4 # final reduction
1265 .asciiz "Poly1305 for MIPS32, CRYPTOGAMS by \@dot-asm"