Remove bn_div_words from bn-586.pl
This function is unused. While there is a bn_div_words symbol, it's
static and we never actually use the assembly-defined one.
Not using it is potentially a missed optimization, but only for 32-bit
x86 on MSVC because for GCC/Clang we have inline assembly. (It is hard
for the compiler to emit the instruction itself because it cannot prove
that the division fits.)
Change-Id: Ia7ecd28f26143521343dd516a07eb3adf9c4378e
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/77627
Reviewed-by: Bob Beck <bbe@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
diff --git a/crypto/fipsmodule/bn/asm/bn-586.pl b/crypto/fipsmodule/bn/asm/bn-586.pl
index 7e3decf..fa7eb12 100644
--- a/crypto/fipsmodule/bn/asm/bn-586.pl
+++ b/crypto/fipsmodule/bn/asm/bn-586.pl
@@ -28,7 +28,6 @@
&bn_mul_add_words("bn_mul_add_words");
&bn_mul_words("bn_mul_words");
&bn_sqr_words("bn_sqr_words");
-&bn_div_words("bn_div_words");
&bn_add_words("bn_add_words");
&bn_sub_words("bn_sub_words");
@@ -205,19 +204,6 @@
&function_end($name);
}
-sub bn_div_words
- {
- local($name)=@_;
-
- &function_begin_B($name,"");
- &mov("edx",&wparam(0)); #
- &mov("eax",&wparam(1)); #
- &mov("ecx",&wparam(2)); #
- &div("ecx");
- &ret();
- &function_end_B($name);
- }
-
sub bn_add_words
{
local($name)=@_;
diff --git a/gen/bcm/bn-586-apple.S b/gen/bcm/bn-586-apple.S
index f483ef1..3e6f791 100644
--- a/gen/bcm/bn-586-apple.S
+++ b/gen/bcm/bn-586-apple.S
@@ -156,16 +156,6 @@
popl %ebx
popl %ebp
ret
-.globl _bn_div_words
-.private_extern _bn_div_words
-.align 4
-_bn_div_words:
-L_bn_div_words_begin:
- movl 4(%esp),%edx
- movl 8(%esp),%eax
- movl 12(%esp),%ecx
- divl %ecx
- ret
.globl _bn_add_words
.private_extern _bn_add_words
.align 4
diff --git a/gen/bcm/bn-586-linux.S b/gen/bcm/bn-586-linux.S
index fb83b22..808f63e 100644
--- a/gen/bcm/bn-586-linux.S
+++ b/gen/bcm/bn-586-linux.S
@@ -162,18 +162,6 @@
popl %ebp
ret
.size bn_sqr_words,.-.L_bn_sqr_words_begin
-.globl bn_div_words
-.hidden bn_div_words
-.type bn_div_words,@function
-.align 16
-bn_div_words:
-.L_bn_div_words_begin:
- movl 4(%esp),%edx
- movl 8(%esp),%eax
- movl 12(%esp),%ecx
- divl %ecx
- ret
-.size bn_div_words,.-.L_bn_div_words_begin
.globl bn_add_words
.hidden bn_add_words
.type bn_add_words,@function
diff --git a/gen/bcm/bn-586-win.asm b/gen/bcm/bn-586-win.asm
index 09aafb8..1250eb6 100644
--- a/gen/bcm/bn-586-win.asm
+++ b/gen/bcm/bn-586-win.asm
@@ -161,15 +161,6 @@
pop ebx
pop ebp
ret
-global _bn_div_words
-align 16
-_bn_div_words:
-L$_bn_div_words_begin:
- mov edx,DWORD [4+esp]
- mov eax,DWORD [8+esp]
- mov ecx,DWORD [12+esp]
- div ecx
- ret
global _bn_add_words
align 16
_bn_add_words: