summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/bn/asm/bn-586.pl
diff options
context:
space:
mode:
authormiod <>2023-02-01 20:45:04 +0000
committermiod <>2023-02-01 20:45:04 +0000
commitdc4b2cf3e0979364f14ff89a07ffafc47435e2e7 (patch)
tree58219f5c6538172b9d00f33bf48c9a61419ec7a0 /src/lib/libcrypto/bn/asm/bn-586.pl
parent86f42338b2994b620482c37e3d0d9fc3ba1f523b (diff)
downloadopenbsd-dc4b2cf3e0979364f14ff89a07ffafc47435e2e7.tar.gz
openbsd-dc4b2cf3e0979364f14ff89a07ffafc47435e2e7.tar.bz2
openbsd-dc4b2cf3e0979364f14ff89a07ffafc47435e2e7.zip
Move all data blocks from .text to .rodata and cleanup up and homogeneize code
responsible from getting the proper address of those blocks. ok tb@ jsing@
Diffstat (limited to 'src/lib/libcrypto/bn/asm/bn-586.pl')
-rw-r--r--src/lib/libcrypto/bn/asm/bn-586.pl9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/lib/libcrypto/bn/asm/bn-586.pl b/src/lib/libcrypto/bn/asm/bn-586.pl
index c4e2baa6c5..b502fe60ee 100644
--- a/src/lib/libcrypto/bn/asm/bn-586.pl
+++ b/src/lib/libcrypto/bn/asm/bn-586.pl
@@ -32,7 +32,8 @@ sub bn_mul_add_words
32 $c="ecx"; 32 $c="ecx";
33 33
34 if ($sse2) { 34 if ($sse2) {
35 &picmeup("eax","OPENSSL_ia32cap_P"); 35 &picsetup("eax");
36 &picsymbol("eax", "OPENSSL_ia32cap_P", "eax");
36 &bt(&DWP(0,"eax"),"\$IA32CAP_BIT0_SSE2"); 37 &bt(&DWP(0,"eax"),"\$IA32CAP_BIT0_SSE2");
37 &jnc(&label("maw_non_sse2")); 38 &jnc(&label("maw_non_sse2"));
38 39
@@ -218,7 +219,8 @@ sub bn_mul_words
218 $c="ecx"; 219 $c="ecx";
219 220
220 if ($sse2) { 221 if ($sse2) {
221 &picmeup("eax","OPENSSL_ia32cap_P"); 222 &picsetup("eax");
223 &picsymbol("eax", "OPENSSL_ia32cap_P", "eax");
222 &bt(&DWP(0,"eax"),"\$IA32CAP_BIT0_SSE2"); 224 &bt(&DWP(0,"eax"),"\$IA32CAP_BIT0_SSE2");
223 &jnc(&label("mw_non_sse2")); 225 &jnc(&label("mw_non_sse2"));
224 226
@@ -329,7 +331,8 @@ sub bn_sqr_words
329 $c="ecx"; 331 $c="ecx";
330 332
331 if ($sse2) { 333 if ($sse2) {
332 &picmeup("eax","OPENSSL_ia32cap_P"); 334 &picsetup("eax");
335 &picsymbol("eax", "OPENSSL_ia32cap_P", "eax");
333 &bt(&DWP(0,"eax"),"\$IA32CAP_BIT0_SSE2"); 336 &bt(&DWP(0,"eax"),"\$IA32CAP_BIT0_SSE2");
334 &jnc(&label("sqr_non_sse2")); 337 &jnc(&label("sqr_non_sse2"));
335 338