| OLD | NEW |
| 1 #if defined(__i386__) | 1 #if defined(__i386__) |
| 2 .file "rc4-586.S" | 2 .file "rc4-586.S" |
| 3 .text | 3 .text |
| 4 .globl RC4 | 4 .globl RC4 |
| 5 .type RC4,@function | 5 .type RC4,@function |
| 6 .align 16 | 6 .align 16 |
| 7 RC4: | 7 RC4: |
| 8 .L_RC4_begin: | 8 .L_RC4_begin: |
| 9 pushl %ebp | 9 pushl %ebp |
| 10 pushl %ebx | 10 pushl %ebx |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 movl %ecx,24(%esp) | 26 movl %ecx,24(%esp) |
| 27 incb %al | 27 incb %al |
| 28 cmpl $-1,256(%edi) | 28 cmpl $-1,256(%edi) |
| 29 je .L001RC4_CHAR | 29 je .L001RC4_CHAR |
| 30 movl (%edi,%eax,4),%ecx | 30 movl (%edi,%eax,4),%ecx |
| 31 andl $-4,%edx | 31 andl $-4,%edx |
| 32 jz .L002loop1 | 32 jz .L002loop1 |
| 33 movl %ebp,32(%esp) | 33 movl %ebp,32(%esp) |
| 34 testl $-8,%edx | 34 testl $-8,%edx |
| 35 jz .L003go4loop4 | 35 jz .L003go4loop4 |
| 36 » leal» OPENSSL_ia32cap_P,%ebp | 36 » call» .L004PIC_me_up |
| 37 .L004PIC_me_up: |
| 38 » popl» %ebp |
| 39 » leal» OPENSSL_ia32cap_P-.L004PIC_me_up(%ebp),%ebp |
| 37 btl $26,(%ebp) | 40 btl $26,(%ebp) |
| 38 jnc .L003go4loop4 | 41 jnc .L003go4loop4 |
| 39 movl 32(%esp),%ebp | 42 movl 32(%esp),%ebp |
| 40 andl $-8,%edx | 43 andl $-8,%edx |
| 41 leal -8(%esi,%edx,1),%edx | 44 leal -8(%esi,%edx,1),%edx |
| 42 movl %edx,-4(%edi) | 45 movl %edx,-4(%edi) |
| 43 addb %cl,%bl | 46 addb %cl,%bl |
| 44 movl (%edi,%ebx,4),%edx | 47 movl (%edi,%ebx,4),%edx |
| 45 movl %ecx,(%edi,%ebx,4) | 48 movl %ecx,(%edi,%ebx,4) |
| 46 movl %edx,(%edi,%eax,4) | 49 movl %edx,(%edi,%eax,4) |
| 47 incl %eax | 50 incl %eax |
| 48 addl %ecx,%edx | 51 addl %ecx,%edx |
| 49 movzbl %al,%eax | 52 movzbl %al,%eax |
| 50 movzbl %dl,%edx | 53 movzbl %dl,%edx |
| 51 movq (%esi),%mm0 | 54 movq (%esi),%mm0 |
| 52 movl (%edi,%eax,4),%ecx | 55 movl (%edi,%eax,4),%ecx |
| 53 movd (%edi,%edx,4),%mm2 | 56 movd (%edi,%edx,4),%mm2 |
| 54 » jmp» .L004loop_mmx_enter | 57 » jmp» .L005loop_mmx_enter |
| 55 .align 16 | 58 .align 16 |
| 56 .L005loop_mmx: | 59 .L006loop_mmx: |
| 57 addb %cl,%bl | 60 addb %cl,%bl |
| 58 psllq $56,%mm1 | 61 psllq $56,%mm1 |
| 59 movl (%edi,%ebx,4),%edx | 62 movl (%edi,%ebx,4),%edx |
| 60 movl %ecx,(%edi,%ebx,4) | 63 movl %ecx,(%edi,%ebx,4) |
| 61 movl %edx,(%edi,%eax,4) | 64 movl %edx,(%edi,%eax,4) |
| 62 incl %eax | 65 incl %eax |
| 63 addl %ecx,%edx | 66 addl %ecx,%edx |
| 64 movzbl %al,%eax | 67 movzbl %al,%eax |
| 65 movzbl %dl,%edx | 68 movzbl %dl,%edx |
| 66 pxor %mm1,%mm2 | 69 pxor %mm1,%mm2 |
| 67 movq (%esi),%mm0 | 70 movq (%esi),%mm0 |
| 68 movq %mm2,-8(%ebp,%esi,1) | 71 movq %mm2,-8(%ebp,%esi,1) |
| 69 movl (%edi,%eax,4),%ecx | 72 movl (%edi,%eax,4),%ecx |
| 70 movd (%edi,%edx,4),%mm2 | 73 movd (%edi,%edx,4),%mm2 |
| 71 .L004loop_mmx_enter: | 74 .L005loop_mmx_enter: |
| 72 addb %cl,%bl | 75 addb %cl,%bl |
| 73 movl (%edi,%ebx,4),%edx | 76 movl (%edi,%ebx,4),%edx |
| 74 movl %ecx,(%edi,%ebx,4) | 77 movl %ecx,(%edi,%ebx,4) |
| 75 movl %edx,(%edi,%eax,4) | 78 movl %edx,(%edi,%eax,4) |
| 76 incl %eax | 79 incl %eax |
| 77 addl %ecx,%edx | 80 addl %ecx,%edx |
| 78 movzbl %al,%eax | 81 movzbl %al,%eax |
| 79 movzbl %dl,%edx | 82 movzbl %dl,%edx |
| 80 pxor %mm0,%mm2 | 83 pxor %mm0,%mm2 |
| 81 movl (%edi,%eax,4),%ecx | 84 movl (%edi,%eax,4),%ecx |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 movzbl %al,%eax | 153 movzbl %al,%eax |
| 151 movzbl %dl,%edx | 154 movzbl %dl,%edx |
| 152 pxor %mm1,%mm2 | 155 pxor %mm1,%mm2 |
| 153 movl (%edi,%eax,4),%ecx | 156 movl (%edi,%eax,4),%ecx |
| 154 movd (%edi,%edx,4),%mm1 | 157 movd (%edi,%edx,4),%mm1 |
| 155 movl %ebx,%edx | 158 movl %ebx,%edx |
| 156 xorl %ebx,%ebx | 159 xorl %ebx,%ebx |
| 157 movb %dl,%bl | 160 movb %dl,%bl |
| 158 cmpl -4(%edi),%esi | 161 cmpl -4(%edi),%esi |
| 159 leal 8(%esi),%esi | 162 leal 8(%esi),%esi |
| 160 » jb» .L005loop_mmx | 163 » jb» .L006loop_mmx |
| 161 psllq $56,%mm1 | 164 psllq $56,%mm1 |
| 162 pxor %mm1,%mm2 | 165 pxor %mm1,%mm2 |
| 163 movq %mm2,-8(%ebp,%esi,1) | 166 movq %mm2,-8(%ebp,%esi,1) |
| 164 emms | 167 emms |
| 165 cmpl 24(%esp),%esi | 168 cmpl 24(%esp),%esi |
| 166 » je» .L006done | 169 » je» .L007done |
| 167 jmp .L002loop1 | 170 jmp .L002loop1 |
| 168 .align 16 | 171 .align 16 |
| 169 .L003go4loop4: | 172 .L003go4loop4: |
| 170 leal -4(%esi,%edx,1),%edx | 173 leal -4(%esi,%edx,1),%edx |
| 171 movl %edx,28(%esp) | 174 movl %edx,28(%esp) |
| 172 .L007loop4: | 175 .L008loop4: |
| 173 addb %cl,%bl | 176 addb %cl,%bl |
| 174 movl (%edi,%ebx,4),%edx | 177 movl (%edi,%ebx,4),%edx |
| 175 movl %ecx,(%edi,%ebx,4) | 178 movl %ecx,(%edi,%ebx,4) |
| 176 movl %edx,(%edi,%eax,4) | 179 movl %edx,(%edi,%eax,4) |
| 177 addl %ecx,%edx | 180 addl %ecx,%edx |
| 178 incb %al | 181 incb %al |
| 179 andl $255,%edx | 182 andl $255,%edx |
| 180 movl (%edi,%eax,4),%ecx | 183 movl (%edi,%eax,4),%ecx |
| 181 movl (%edi,%edx,4),%ebp | 184 movl (%edi,%edx,4),%ebp |
| 182 addb %cl,%bl | 185 addb %cl,%bl |
| (...skipping 25 matching lines...) Expand all Loading... |
| 208 andl $255,%edx | 211 andl $255,%edx |
| 209 rorl $8,%ebp | 212 rorl $8,%ebp |
| 210 movl 32(%esp),%ecx | 213 movl 32(%esp),%ecx |
| 211 orl (%edi,%edx,4),%ebp | 214 orl (%edi,%edx,4),%ebp |
| 212 rorl $8,%ebp | 215 rorl $8,%ebp |
| 213 xorl (%esi),%ebp | 216 xorl (%esi),%ebp |
| 214 cmpl 28(%esp),%esi | 217 cmpl 28(%esp),%esi |
| 215 movl %ebp,(%ecx,%esi,1) | 218 movl %ebp,(%ecx,%esi,1) |
| 216 leal 4(%esi),%esi | 219 leal 4(%esi),%esi |
| 217 movl (%edi,%eax,4),%ecx | 220 movl (%edi,%eax,4),%ecx |
| 218 » jb» .L007loop4 | 221 » jb» .L008loop4 |
| 219 cmpl 24(%esp),%esi | 222 cmpl 24(%esp),%esi |
| 220 » je» .L006done | 223 » je» .L007done |
| 221 movl 32(%esp),%ebp | 224 movl 32(%esp),%ebp |
| 222 .align 16 | 225 .align 16 |
| 223 .L002loop1: | 226 .L002loop1: |
| 224 addb %cl,%bl | 227 addb %cl,%bl |
| 225 movl (%edi,%ebx,4),%edx | 228 movl (%edi,%ebx,4),%edx |
| 226 movl %ecx,(%edi,%ebx,4) | 229 movl %ecx,(%edi,%ebx,4) |
| 227 movl %edx,(%edi,%eax,4) | 230 movl %edx,(%edi,%eax,4) |
| 228 addl %ecx,%edx | 231 addl %ecx,%edx |
| 229 incb %al | 232 incb %al |
| 230 andl $255,%edx | 233 andl $255,%edx |
| 231 movl (%edi,%edx,4),%edx | 234 movl (%edi,%edx,4),%edx |
| 232 xorb (%esi),%dl | 235 xorb (%esi),%dl |
| 233 leal 1(%esi),%esi | 236 leal 1(%esi),%esi |
| 234 movl (%edi,%eax,4),%ecx | 237 movl (%edi,%eax,4),%ecx |
| 235 cmpl 24(%esp),%esi | 238 cmpl 24(%esp),%esi |
| 236 movb %dl,-1(%ebp,%esi,1) | 239 movb %dl,-1(%ebp,%esi,1) |
| 237 jb .L002loop1 | 240 jb .L002loop1 |
| 238 » jmp» .L006done | 241 » jmp» .L007done |
| 239 .align 16 | 242 .align 16 |
| 240 .L001RC4_CHAR: | 243 .L001RC4_CHAR: |
| 241 movzbl (%edi,%eax,1),%ecx | 244 movzbl (%edi,%eax,1),%ecx |
| 242 .L008cloop1: | 245 .L009cloop1: |
| 243 addb %cl,%bl | 246 addb %cl,%bl |
| 244 movzbl (%edi,%ebx,1),%edx | 247 movzbl (%edi,%ebx,1),%edx |
| 245 movb %cl,(%edi,%ebx,1) | 248 movb %cl,(%edi,%ebx,1) |
| 246 movb %dl,(%edi,%eax,1) | 249 movb %dl,(%edi,%eax,1) |
| 247 addb %cl,%dl | 250 addb %cl,%dl |
| 248 movzbl (%edi,%edx,1),%edx | 251 movzbl (%edi,%edx,1),%edx |
| 249 addb $1,%al | 252 addb $1,%al |
| 250 xorb (%esi),%dl | 253 xorb (%esi),%dl |
| 251 leal 1(%esi),%esi | 254 leal 1(%esi),%esi |
| 252 movzbl (%edi,%eax,1),%ecx | 255 movzbl (%edi,%eax,1),%ecx |
| 253 cmpl 24(%esp),%esi | 256 cmpl 24(%esp),%esi |
| 254 movb %dl,-1(%ebp,%esi,1) | 257 movb %dl,-1(%ebp,%esi,1) |
| 255 » jb» .L008cloop1 | 258 » jb» .L009cloop1 |
| 256 .L006done: | 259 .L007done: |
| 257 decb %al | 260 decb %al |
| 258 movl %ebx,-4(%edi) | 261 movl %ebx,-4(%edi) |
| 259 movb %al,-8(%edi) | 262 movb %al,-8(%edi) |
| 260 .L000abort: | 263 .L000abort: |
| 261 popl %edi | 264 popl %edi |
| 262 popl %esi | 265 popl %esi |
| 263 popl %ebx | 266 popl %ebx |
| 264 popl %ebp | 267 popl %ebp |
| 265 ret | 268 ret |
| 266 .size RC4,.-.L_RC4_begin | 269 .size RC4,.-.L_RC4_begin |
| 267 .globl RC4_set_key | 270 .globl RC4_set_key |
| 268 .type RC4_set_key,@function | 271 .type RC4_set_key,@function |
| 269 .align 16 | 272 .align 16 |
| 270 RC4_set_key: | 273 RC4_set_key: |
| 271 .L_RC4_set_key_begin: | 274 .L_RC4_set_key_begin: |
| 272 pushl %ebp | 275 pushl %ebp |
| 273 pushl %ebx | 276 pushl %ebx |
| 274 pushl %esi | 277 pushl %esi |
| 275 pushl %edi | 278 pushl %edi |
| 276 movl 20(%esp),%edi | 279 movl 20(%esp),%edi |
| 277 movl 24(%esp),%ebp | 280 movl 24(%esp),%ebp |
| 278 movl 28(%esp),%esi | 281 movl 28(%esp),%esi |
| 279 » leal» OPENSSL_ia32cap_P,%edx | 282 » call» .L010PIC_me_up |
| 283 .L010PIC_me_up: |
| 284 » popl» %edx |
| 285 » leal» OPENSSL_ia32cap_P-.L010PIC_me_up(%edx),%edx |
| 280 leal 8(%edi),%edi | 286 leal 8(%edi),%edi |
| 281 leal (%esi,%ebp,1),%esi | 287 leal (%esi,%ebp,1),%esi |
| 282 negl %ebp | 288 negl %ebp |
| 283 xorl %eax,%eax | 289 xorl %eax,%eax |
| 284 movl %ebp,-4(%edi) | 290 movl %ebp,-4(%edi) |
| 285 btl $20,(%edx) | 291 btl $20,(%edx) |
| 286 » jc» .L009c1stloop | 292 » jc» .L011c1stloop |
| 287 .align 16 | 293 .align 16 |
| 288 .L010w1stloop: | 294 .L012w1stloop: |
| 289 movl %eax,(%edi,%eax,4) | 295 movl %eax,(%edi,%eax,4) |
| 290 addb $1,%al | 296 addb $1,%al |
| 291 » jnc» .L010w1stloop | 297 » jnc» .L012w1stloop |
| 292 xorl %ecx,%ecx | 298 xorl %ecx,%ecx |
| 293 xorl %edx,%edx | 299 xorl %edx,%edx |
| 294 .align 16 | 300 .align 16 |
| 295 .L011w2ndloop: | 301 .L013w2ndloop: |
| 296 movl (%edi,%ecx,4),%eax | 302 movl (%edi,%ecx,4),%eax |
| 297 addb (%esi,%ebp,1),%dl | 303 addb (%esi,%ebp,1),%dl |
| 298 addb %al,%dl | 304 addb %al,%dl |
| 299 addl $1,%ebp | 305 addl $1,%ebp |
| 300 movl (%edi,%edx,4),%ebx | 306 movl (%edi,%edx,4),%ebx |
| 301 » jnz» .L012wnowrap | 307 » jnz» .L014wnowrap |
| 302 movl -4(%edi),%ebp | 308 movl -4(%edi),%ebp |
| 303 .L012wnowrap: | 309 .L014wnowrap: |
| 304 movl %eax,(%edi,%edx,4) | 310 movl %eax,(%edi,%edx,4) |
| 305 movl %ebx,(%edi,%ecx,4) | 311 movl %ebx,(%edi,%ecx,4) |
| 306 addb $1,%cl | 312 addb $1,%cl |
| 307 » jnc» .L011w2ndloop | 313 » jnc» .L013w2ndloop |
| 308 » jmp» .L013exit | 314 » jmp» .L015exit |
| 309 .align 16 | 315 .align 16 |
| 310 .L009c1stloop: | 316 .L011c1stloop: |
| 311 movb %al,(%edi,%eax,1) | 317 movb %al,(%edi,%eax,1) |
| 312 addb $1,%al | 318 addb $1,%al |
| 313 » jnc» .L009c1stloop | 319 » jnc» .L011c1stloop |
| 314 xorl %ecx,%ecx | 320 xorl %ecx,%ecx |
| 315 xorl %edx,%edx | 321 xorl %edx,%edx |
| 316 xorl %ebx,%ebx | 322 xorl %ebx,%ebx |
| 317 .align 16 | 323 .align 16 |
| 318 .L014c2ndloop: | 324 .L016c2ndloop: |
| 319 movb (%edi,%ecx,1),%al | 325 movb (%edi,%ecx,1),%al |
| 320 addb (%esi,%ebp,1),%dl | 326 addb (%esi,%ebp,1),%dl |
| 321 addb %al,%dl | 327 addb %al,%dl |
| 322 addl $1,%ebp | 328 addl $1,%ebp |
| 323 movb (%edi,%edx,1),%bl | 329 movb (%edi,%edx,1),%bl |
| 324 » jnz» .L015cnowrap | 330 » jnz» .L017cnowrap |
| 325 movl -4(%edi),%ebp | 331 movl -4(%edi),%ebp |
| 326 .L015cnowrap: | 332 .L017cnowrap: |
| 327 movb %al,(%edi,%edx,1) | 333 movb %al,(%edi,%edx,1) |
| 328 movb %bl,(%edi,%ecx,1) | 334 movb %bl,(%edi,%ecx,1) |
| 329 addb $1,%cl | 335 addb $1,%cl |
| 330 » jnc» .L014c2ndloop | 336 » jnc» .L016c2ndloop |
| 331 movl $-1,256(%edi) | 337 movl $-1,256(%edi) |
| 332 .L013exit: | 338 .L015exit: |
| 333 xorl %eax,%eax | 339 xorl %eax,%eax |
| 334 movl %eax,-8(%edi) | 340 movl %eax,-8(%edi) |
| 335 movl %eax,-4(%edi) | 341 movl %eax,-4(%edi) |
| 336 popl %edi | 342 popl %edi |
| 337 popl %esi | 343 popl %esi |
| 338 popl %ebx | 344 popl %ebx |
| 339 popl %ebp | 345 popl %ebp |
| 340 ret | 346 ret |
| 341 .size RC4_set_key,.-.L_RC4_set_key_begin | 347 .size RC4_set_key,.-.L_RC4_set_key_begin |
| 342 .globl RC4_options | 348 .globl RC4_options |
| 343 .type RC4_options,@function | 349 .type RC4_options,@function |
| 344 .align 16 | 350 .align 16 |
| 345 RC4_options: | 351 RC4_options: |
| 346 .L_RC4_options_begin: | 352 .L_RC4_options_begin: |
| 347 » call» .L016pic_point | 353 » call» .L018pic_point |
| 348 .L016pic_point: | 354 .L018pic_point: |
| 349 popl %eax | 355 popl %eax |
| 350 » leal» .L017opts-.L016pic_point(%eax),%eax | 356 » leal» .L019opts-.L018pic_point(%eax),%eax |
| 351 » leal» OPENSSL_ia32cap_P,%edx | 357 » call» .L020PIC_me_up |
| 358 .L020PIC_me_up: |
| 359 » popl» %edx |
| 360 » leal» OPENSSL_ia32cap_P-.L020PIC_me_up(%edx),%edx |
| 352 movl (%edx),%edx | 361 movl (%edx),%edx |
| 353 btl $20,%edx | 362 btl $20,%edx |
| 354 » jc» .L0181xchar | 363 » jc» .L0211xchar |
| 355 btl $26,%edx | 364 btl $26,%edx |
| 356 » jnc» .L019ret | 365 » jnc» .L022ret |
| 357 addl $25,%eax | 366 addl $25,%eax |
| 358 ret | 367 ret |
| 359 .L0181xchar: | 368 .L0211xchar: |
| 360 addl $12,%eax | 369 addl $12,%eax |
| 361 .L019ret: | 370 .L022ret: |
| 362 ret | 371 ret |
| 363 .align 64 | 372 .align 64 |
| 364 .L017opts: | 373 .L019opts: |
| 365 .byte 114,99,52,40,52,120,44,105,110,116,41,0 | 374 .byte 114,99,52,40,52,120,44,105,110,116,41,0 |
| 366 .byte 114,99,52,40,49,120,44,99,104,97,114,41,0 | 375 .byte 114,99,52,40,49,120,44,99,104,97,114,41,0 |
| 367 .byte 114,99,52,40,56,120,44,109,109,120,41,0 | 376 .byte 114,99,52,40,56,120,44,109,109,120,41,0 |
| 368 .byte 82,67,52,32,102,111,114,32,120,56,54,44,32,67,82,89 | 377 .byte 82,67,52,32,102,111,114,32,120,56,54,44,32,67,82,89 |
| 369 .byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 | 378 .byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 |
| 370 .byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 | 379 .byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 |
| 371 .align 64 | 380 .align 64 |
| 372 .size RC4_options,.-.L_RC4_options_begin | 381 .size RC4_options,.-.L_RC4_options_begin |
| 373 #endif | 382 #endif |
| OLD | NEW |