ppc-mont.S revision 1.1
1.machine "any" 2.text 3 4.globl bn_mul_mont_int 5.type bn_mul_mont_int,@function 6.section ".opd","aw" 7.align 3 8bn_mul_mont_int: 9.quad .bn_mul_mont_int,.TOC.@tocbase,0 10.previous 11 12.align 4 13.bn_mul_mont_int: 14 cmpwi 8,4 15 mr 9,3 16 li 3,0 17 bltlr 18 slwi 8,8,3 19 li 12,-4096 20 addi 3,8,352 21 subf 3,3,1 22 and 3,3,12 23 subf 3,1,3 24 mr 12,1 25 srwi 8,8,3 26 stdux 1,1,3 27 28 std 20,-96(12) 29 std 21,-88(12) 30 std 22,-80(12) 31 std 23,-72(12) 32 std 24,-64(12) 33 std 25,-56(12) 34 std 26,-48(12) 35 std 27,-40(12) 36 std 28,-32(12) 37 std 29,-24(12) 38 std 30,-16(12) 39 std 31,-8(12) 40 41 ld 7,0(7) 42 addi 8,8,-2 43 44 ld 23,0(5) 45 ld 10,0(4) 46 addi 22,1,64 47 mulld 25,10,23 48 mulhdu 26,10,23 49 50 ld 10,8(4) 51 ld 11,0(6) 52 53 mulld 24,25,7 54 55 mulld 29,10,23 56 mulhdu 30,10,23 57 58 mulld 27,11,24 59 mulhdu 28,11,24 60 ld 11,8(6) 61 addc 27,27,25 62 addze 28,28 63 64 mulld 31,11,24 65 mulhdu 0,11,24 66 67 mtctr 8 68 li 21,16 69.align 4 70.L1st: 71 ldx 10,4,21 72 addc 25,29,26 73 ldx 11,6,21 74 addze 26,30 75 mulld 29,10,23 76 addc 27,31,28 77 mulhdu 30,10,23 78 addze 28,0 79 mulld 31,11,24 80 addc 27,27,25 81 mulhdu 0,11,24 82 addze 28,28 83 std 27,0(22) 84 85 addi 21,21,8 86 addi 22,22,8 87 bc 16,0,.L1st 88 89 addc 25,29,26 90 addze 26,30 91 92 addc 27,31,28 93 addze 28,0 94 addc 27,27,25 95 addze 28,28 96 std 27,0(22) 97 98 li 3,0 99 addc 28,28,26 100 addze 3,3 101 std 28,8(22) 102 103 li 20,8 104.align 4 105.Louter: 106 ldx 23,5,20 107 ld 10,0(4) 108 addi 22,1,64 109 ld 12,64(1) 110 mulld 25,10,23 111 mulhdu 26,10,23 112 ld 10,8(4) 113 ld 11,0(6) 114 addc 25,25,12 115 mulld 29,10,23 116 addze 26,26 117 mulld 24,25,7 118 mulhdu 30,10,23 119 mulld 27,11,24 120 mulhdu 28,11,24 121 ld 11,8(6) 122 addc 27,27,25 123 mulld 31,11,24 124 addze 28,28 125 mulhdu 0,11,24 126 127 mtctr 8 128 li 21,16 129.align 4 130.Linner: 131 ldx 10,4,21 132 addc 25,29,26 133 ld 12,8(22) 134 addze 26,30 135 ldx 11,6,21 136 addc 27,31,28 137 mulld 29,10,23 138 addze 28,0 139 mulhdu 30,10,23 140 addc 25,25,12 141 mulld 31,11,24 142 addze 26,26 143 mulhdu 0,11,24 144 addc 27,27,25 145 addi 21,21,8 146 addze 28,28 147 std 27,0(22) 148 addi 22,22,8 149 bc 16,0,.Linner 150 151 ld 12,8(22) 152 addc 25,29,26 153 addze 26,30 154 addc 25,25,12 155 addze 26,26 156 157 addc 27,31,28 158 addze 28,0 159 addc 27,27,25 160 addze 28,28 161 std 27,0(22) 162 163 addic 3,3,-1 164 li 3,0 165 adde 28,28,26 166 addze 3,3 167 std 28,8(22) 168 169 slwi 12,8,3 170 cmpld 20,12 171 addi 20,20,8 172 ble .Louter 173 174 addi 8,8,2 175 subfc 21,21,21 176 addi 22,1,64 177 mtctr 8 178 179.align 4 180.Lsub: ldx 12,22,21 181 ldx 11,6,21 182 subfe 10,11,12 183 stdx 10,9,21 184 addi 21,21,8 185 bc 16,0,.Lsub 186 187 li 21,0 188 mtctr 8 189 subfe 3,21,3 190 and 4,22,3 191 andc 6,9,3 192 or 4,4,6 193 194.align 4 195.Lcopy: 196 ldx 12,4,21 197 stdx 12,9,21 198 stdx 21,22,21 199 addi 21,21,8 200 bc 16,0,.Lcopy 201 202 ld 12,0(1) 203 li 3,1 204 ld 20,-96(12) 205 ld 21,-88(12) 206 ld 22,-80(12) 207 ld 23,-72(12) 208 ld 24,-64(12) 209 ld 25,-56(12) 210 ld 26,-48(12) 211 ld 27,-40(12) 212 ld 28,-32(12) 213 ld 29,-24(12) 214 ld 30,-16(12) 215 ld 31,-8(12) 216 mr 1,12 217 blr 218.long 0 219.byte 0,12,4,0,0x80,12,6,0 220.long 0 221 222 223.byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,80,80,67,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 224.align 2 225