📄 aix_ppc64.s
字号:
mulhdu r8,r5,r6 addc r11,r7,r11 adde r9,r8,r9 addze r10,r0 addc r11,r7,r11 adde r9,r8,r9 addze r10,r10 #sqr_add_c2(a,6,5,c3,c1,c2); ld r5,40(r4) ld r6,48(r4) mulld r7,r5,r6 mulhdu r8,r5,r6 addc r11,r7,r11 adde r9,r8,r9 addze r10,r10 addc r11,r7,r11 adde r9,r8,r9 addze r10,r10 std r11,88(r3) #r[11]=c3; #sqr_add_c(a,6,c1,c2,c3); mulld r7,r6,r6 mulhdu r8,r6,r6 addc r9,r7,r9 adde r10,r8,r10 addze r11,r0 #sqr_add_c2(a,7,5,c1,c2,c3) ld r6,56(r4) mulld r7,r5,r6 mulhdu r8,r5,r6 addc r9,r7,r9 adde r10,r8,r10 addze r11,r11 addc r9,r7,r9 adde r10,r8,r10 addze r11,r11 std r9,96(r3) #r[12]=c1; #sqr_add_c2(a,7,6,c2,c3,c1) ld r5,48(r4) mulld r7,r5,r6 mulhdu r8,r5,r6 addc r10,r7,r10 adde r11,r8,r11 addze r9,r0 addc r10,r7,r10 adde r11,r8,r11 addze r9,r9 std r10,104(r3) #r[13]=c2; #sqr_add_c(a,7,c3,c1,c2); mulld r7,r6,r6 mulhdu r8,r6,r6 addc r11,r7,r11 adde r9,r8,r9 std r11,112(r3) #r[14]=c3; std r9, 120(r3) #r[15]=c1; bclr BO_ALWAYS,CR0_LT .long 0x00000000## NOTE: The following label name should be changed to# "bn_mul_comba4" i.e. remove the first dot# for the gcc compiler. This should be automatically# done in the build#.align 4.bn_mul_comba4:## This is an optimized version of the bn_mul_comba4 routine.## void bn_mul_comba4(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b)# r3 contains r# r4 contains a# r5 contains b# r6, r7 are the 2 BN_ULONGs being multiplied.# r8, r9 are the results of the 32x32 giving 64 multiply.# r10, r11, r12 are the equivalents of c1, c2, and c3.# xor r0,r0,r0 #r0=0. Used in addze below. #mul_add_c(a[0],b[0],c1,c2,c3); ld r6,0(r4) ld r7,0(r5) mulld r10,r6,r7 mulhdu r11,r6,r7 std r10,0(r3) #r[0]=c1 #mul_add_c(a[0],b[1],c2,c3,c1); ld r7,8(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r8,r11 adde r12,r9,r0 addze r10,r0 #mul_add_c(a[1],b[0],c2,c3,c1); ld r6, 8(r4) ld r7, 0(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r8,r11 adde r12,r9,r12 addze r10,r10 std r11,8(r3) #r[1]=c2 #mul_add_c(a[2],b[0],c3,c1,c2); ld r6,16(r4) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r8,r12 adde r10,r9,r10 addze r11,r0 #mul_add_c(a[1],b[1],c3,c1,c2); ld r6,8(r4) ld r7,8(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r8,r12 adde r10,r9,r10 addze r11,r11 #mul_add_c(a[0],b[2],c3,c1,c2); ld r6,0(r4) ld r7,16(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r8,r12 adde r10,r9,r10 addze r11,r11 std r12,16(r3) #r[2]=c3 #mul_add_c(a[0],b[3],c1,c2,c3); ld r7,24(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r8,r10 adde r11,r9,r11 addze r12,r0 #mul_add_c(a[1],b[2],c1,c2,c3); ld r6,8(r4) ld r7,16(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r8,r10 adde r11,r9,r11 addze r12,r12 #mul_add_c(a[2],b[1],c1,c2,c3); ld r6,16(r4) ld r7,8(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r8,r10 adde r11,r9,r11 addze r12,r12 #mul_add_c(a[3],b[0],c1,c2,c3); ld r6,24(r4) ld r7,0(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r8,r10 adde r11,r9,r11 addze r12,r12 std r10,24(r3) #r[3]=c1 #mul_add_c(a[3],b[1],c2,c3,c1); ld r7,8(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r8,r11 adde r12,r9,r12 addze r10,r0 #mul_add_c(a[2],b[2],c2,c3,c1); ld r6,16(r4) ld r7,16(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r8,r11 adde r12,r9,r12 addze r10,r10 #mul_add_c(a[1],b[3],c2,c3,c1); ld r6,8(r4) ld r7,24(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r8,r11 adde r12,r9,r12 addze r10,r10 std r11,32(r3) #r[4]=c2 #mul_add_c(a[2],b[3],c3,c1,c2); ld r6,16(r4) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r8,r12 adde r10,r9,r10 addze r11,r0 #mul_add_c(a[3],b[2],c3,c1,c2); ld r6,24(r4) ld r7,16(r4) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r8,r12 adde r10,r9,r10 addze r11,r11 std r12,40(r3) #r[5]=c3 #mul_add_c(a[3],b[3],c1,c2,c3); ld r7,24(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r8,r10 adde r11,r9,r11 std r10,48(r3) #r[6]=c1 std r11,56(r3) #r[7]=c2 bclr BO_ALWAYS,CR0_LT .long 0x00000000## NOTE: The following label name should be changed to# "bn_mul_comba8" i.e. remove the first dot# for the gcc compiler. This should be automatically# done in the build# .align 4.bn_mul_comba8:## Optimized version of the bn_mul_comba8 routine.## void bn_mul_comba8(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b)# r3 contains r# r4 contains a# r5 contains b# r6, r7 are the 2 BN_ULONGs being multiplied.# r8, r9 are the results of the 32x32 giving 64 multiply.# r10, r11, r12 are the equivalents of c1, c2, and c3.# xor r0,r0,r0 #r0=0. Used in addze below. #mul_add_c(a[0],b[0],c1,c2,c3); ld r6,0(r4) #a[0] ld r7,0(r5) #b[0] mulld r10,r6,r7 mulhdu r11,r6,r7 std r10,0(r3) #r[0]=c1; #mul_add_c(a[0],b[1],c2,c3,c1); ld r7,8(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r11,r8 addze r12,r9 # since we didnt set r12 to zero before. addze r10,r0 #mul_add_c(a[1],b[0],c2,c3,c1); ld r6,8(r4) ld r7,0(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r11,r8 adde r12,r12,r9 addze r10,r10 std r11,8(r3) #r[1]=c2; #mul_add_c(a[2],b[0],c3,c1,c2); ld r6,16(r4) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r12,r8 adde r10,r10,r9 addze r11,r0 #mul_add_c(a[1],b[1],c3,c1,c2); ld r6,8(r4) ld r7,8(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r12,r8 adde r10,r10,r9 addze r11,r11 #mul_add_c(a[0],b[2],c3,c1,c2); ld r6,0(r4) ld r7,16(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r12,r8 adde r10,r10,r9 addze r11,r11 std r12,16(r3) #r[2]=c3; #mul_add_c(a[0],b[3],c1,c2,c3); ld r7,24(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r10,r8 adde r11,r11,r9 addze r12,r0 #mul_add_c(a[1],b[2],c1,c2,c3); ld r6,8(r4) ld r7,16(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r10,r8 adde r11,r11,r9 addze r12,r12 #mul_add_c(a[2],b[1],c1,c2,c3); ld r6,16(r4) ld r7,8(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r10,r8 adde r11,r11,r9 addze r12,r12 #mul_add_c(a[3],b[0],c1,c2,c3); ld r6,24(r4) ld r7,0(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r10,r8 adde r11,r11,r9 addze r12,r12 std r10,24(r3) #r[3]=c1; #mul_add_c(a[4],b[0],c2,c3,c1); ld r6,32(r4) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r11,r8 adde r12,r12,r9 addze r10,r0 #mul_add_c(a[3],b[1],c2,c3,c1); ld r6,24(r4) ld r7,8(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r11,r8 adde r12,r12,r9 addze r10,r10 #mul_add_c(a[2],b[2],c2,c3,c1); ld r6,16(r4) ld r7,16(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r11,r8 adde r12,r12,r9 addze r10,r10 #mul_add_c(a[1],b[3],c2,c3,c1); ld r6,8(r4) ld r7,24(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r11,r8 adde r12,r12,r9 addze r10,r10 #mul_add_c(a[0],b[4],c2,c3,c1); ld r6,0(r4) ld r7,32(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r11,r8 adde r12,r12,r9 addze r10,r10 std r11,32(r3) #r[4]=c2; #mul_add_c(a[0],b[5],c3,c1,c2); ld r7,40(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r12,r8 adde r10,r10,r9 addze r11,r0 #mul_add_c(a[1],b[4],c3,c1,c2); ld r6,8(r4) ld r7,32(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r12,r8 adde r10,r10,r9 addze r11,r11 #mul_add_c(a[2],b[3],c3,c1,c2); ld r6,16(r4) ld r7,24(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r12,r8 adde r10,r10,r9 addze r11,r11 #mul_add_c(a[3],b[2],c3,c1,c2); ld r6,24(r4) ld r7,16(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r12,r8 adde r10,r10,r9 addze r11,r11 #mul_add_c(a[4],b[1],c3,c1,c2); ld r6,32(r4) ld r7,8(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r12,r8 adde r10,r10,r9 addze r11,r11 #mul_add_c(a[5],b[0],c3,c1,c2); ld r6,40(r4) ld r7,0(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r12,r8 adde r10,r10,r9 addze r11,r11 std r12,40(r3) #r[5]=c3; #mul_add_c(a[6],b[0],c1,c2,c3); ld r6,48(r4) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r10,r8 adde r11,r11,r9 addze r12,r0 #mul_add_c(a[5],b[1],c1,c2,c3); ld r6,40(r4) ld r7,8(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r10,r8 adde r11,r11,r9 addze r12,r12 #mul_add_c(a[4],b[2],c1,c2,c3); ld r6,32(r4) ld r7,16(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r10,r8 adde r11,r11,r9 addze r12,r12 #mul_add_c(a[3],b[3],c1,c2,c3); ld r6,24(r4) ld r7,24(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r10,r8 adde r11,r11,r9 addze r12,r12 #mul_add_c(a[2],b[4],c1,c2,c3); ld r6,16(r4) ld r7,32(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r10,r8 adde r11,r11,r9 addze r12,r12 #mul_add_c(a[1],b[5],c1,c2,c3); ld r6,8(r4) ld r7,40(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r10,r8 adde r11,r11,r9 addze r12,r12 #mul_add_c(a[0],b[6],c1,c2,c3); ld r6,0(r4) ld r7,48(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r10,r8 adde r11,r11,r9 addze r12,r12 std r10,48(r3) #r[6]=c1; #mul_add_c(a[0],b[7],c2,c3,c1); ld r7,56(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r11,r8 adde r12,r12,r9 addze r10,r0 #mul_add_c(a[1],b[6],c2,c3,c1); ld r6,8(r4) ld r7,48(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r11,r8 adde r12,r12,r9 addze r10,r10 #mul_add_c(a[2],b[5],c2,c3,c1); ld r6,16(r4) ld r7,40(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r11,r8 adde r12,r12,r9 addze r10,r10 #mul_add_c(a[3],b[4],c2,c3,c1); ld r6,24(r4) ld r7,32(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r11,r8 adde r12,r12,r9 addze r10,r10 #mul_add_c(a[4],b[3],c2,c3,c1); ld r6,32(r4) ld r7,24(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r11,r8 adde r12,r12,r9 addze r10,r10 #mul_add_c(a[5],b[2],c2,c3,c1); ld r6,40(r4) ld r7,16(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r11,r8 adde r12,r12,r9 addze r10,r10 #mul_add_c(a[6],b[1],c2,c3,c1); ld r6,48(r4) ld r7,8(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r11,r8 adde r12,r12,r9 addze r10,r10 #mul_add_c(a[7],b[0],c2,c3,c1); ld r6,56(r4) ld r7,0(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r11,r11,r8 adde r12,r12,r9 addze r10,r10 std r11,56(r3) #r[7]=c2; #mul_add_c(a[7],b[1],c3,c1,c2); ld r7,8(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r12,r8 adde r10,r10,r9 addze r11,r0 #mul_add_c(a[6],b[2],c3,c1,c2); ld r6,48(r4) ld r7,16(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r12,r8 adde r10,r10,r9 addze r11,r11 #mul_add_c(a[5],b[3],c3,c1,c2); ld r6,40(r4) ld r7,24(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r12,r8 adde r10,r10,r9 addze r11,r11 #mul_add_c(a[4],b[4],c3,c1,c2); ld r6,32(r4) ld r7,32(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r12,r8 adde r10,r10,r9 addze r11,r11 #mul_add_c(a[3],b[5],c3,c1,c2); ld r6,24(r4) ld r7,40(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r12,r8 adde r10,r10,r9 addze r11,r11 #mul_add_c(a[2],b[6],c3,c1,c2); ld r6,16(r4) ld r7,48(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r12,r8 adde r10,r10,r9 addze r11,r11 #mul_add_c(a[1],b[7],c3,c1,c2); ld r6,8(r4) ld r7,56(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r12,r12,r8 adde r10,r10,r9 addze r11,r11 std r12,64(r3) #r[8]=c3; #mul_add_c(a[2],b[7],c1,c2,c3); ld r6,16(r4) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r10,r8 adde r11,r11,r9 addze r12,r0 #mul_add_c(a[3],b[6],c1,c2,c3); ld r6,24(r4) ld r7,48(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r10,r8 adde r11,r11,r9 addze r12,r12 #mul_add_c(a[4],b[5],c1,c2,c3); ld r6,32(r4) ld r7,40(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r10,r8 adde r11,r11,r9 addze r12,r12 #mul_add_c(a[5],b[4],c1,c2,c3); ld r6,40(r4) ld r7,32(r5) mulld r8,r6,r7 mulhdu r9,r6,r7 addc r10,r10,r8 adde r11,r11,r9 addze r12,r12 #mul_add_c(a[6],b[3],c1,c2,c3); ld r6,48(r4)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -