diff options
Diffstat (limited to 'src/lib/libcrypto/perlasm/cbc.pl')
-rw-r--r-- | src/lib/libcrypto/perlasm/cbc.pl | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/src/lib/libcrypto/perlasm/cbc.pl b/src/lib/libcrypto/perlasm/cbc.pl index 0145c4f0cc..22149c680e 100644 --- a/src/lib/libcrypto/perlasm/cbc.pl +++ b/src/lib/libcrypto/perlasm/cbc.pl | |||
@@ -146,9 +146,15 @@ sub cbc | |||
146 | &mov($count, &wparam(2)); # length | 146 | &mov($count, &wparam(2)); # length |
147 | &and($count, 7); | 147 | &and($count, 7); |
148 | &jz(&label("finish")); | 148 | &jz(&label("finish")); |
149 | &call(&label("PIC_point")); | ||
150 | &set_label("PIC_point"); | ||
151 | &blindpop("edx"); | ||
152 | &lea("ecx",&DWP(&label("cbc_enc_jmp_table")."-".&label("PIC_point"),"edx")); | ||
153 | &mov($count,&DWP(0,"ecx",$count,4)) | ||
154 | &add($count,"edx"); | ||
149 | &xor("ecx","ecx"); | 155 | &xor("ecx","ecx"); |
150 | &xor("edx","edx"); | 156 | &xor("edx","edx"); |
151 | &mov($count,&DWP(&label("cbc_enc_jmp_table"),"",$count,4)); | 157 | #&mov($count,&DWP(&label("cbc_enc_jmp_table"),"",$count,4)); |
152 | &jmp_ptr($count); | 158 | &jmp_ptr($count); |
153 | 159 | ||
154 | &set_label("ej7"); | 160 | &set_label("ej7"); |
@@ -318,22 +324,23 @@ sub cbc | |||
318 | 324 | ||
319 | &set_label("cbc_enc_jmp_table",1); | 325 | &set_label("cbc_enc_jmp_table",1); |
320 | &data_word("0"); | 326 | &data_word("0"); |
321 | &data_word(&label("ej1")); | 327 | &data_word(&label("ej1")."-".&label("PIC_point")); |
322 | &data_word(&label("ej2")); | 328 | &data_word(&label("ej2")."-".&label("PIC_point")); |
323 | &data_word(&label("ej3")); | 329 | &data_word(&label("ej3")."-".&label("PIC_point")); |
324 | &data_word(&label("ej4")); | 330 | &data_word(&label("ej4")."-".&label("PIC_point")); |
325 | &data_word(&label("ej5")); | 331 | &data_word(&label("ej5")."-".&label("PIC_point")); |
326 | &data_word(&label("ej6")); | 332 | &data_word(&label("ej6")."-".&label("PIC_point")); |
327 | &data_word(&label("ej7")); | 333 | &data_word(&label("ej7")."-".&label("PIC_point")); |
328 | &set_label("cbc_dec_jmp_table",1); | 334 | # not used |
329 | &data_word("0"); | 335 | #&set_label("cbc_dec_jmp_table",1); |
330 | &data_word(&label("dj1")); | 336 | #&data_word("0"); |
331 | &data_word(&label("dj2")); | 337 | #&data_word(&label("dj1")."-".&label("PIC_point")); |
332 | &data_word(&label("dj3")); | 338 | #&data_word(&label("dj2")."-".&label("PIC_point")); |
333 | &data_word(&label("dj4")); | 339 | #&data_word(&label("dj3")."-".&label("PIC_point")); |
334 | &data_word(&label("dj5")); | 340 | #&data_word(&label("dj4")."-".&label("PIC_point")); |
335 | &data_word(&label("dj6")); | 341 | #&data_word(&label("dj5")."-".&label("PIC_point")); |
336 | &data_word(&label("dj7")); | 342 | #&data_word(&label("dj6")."-".&label("PIC_point")); |
343 | #&data_word(&label("dj7")."-".&label("PIC_point")); | ||
337 | 344 | ||
338 | &function_end_B($name); | 345 | &function_end_B($name); |
339 | 346 | ||