<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/bn/asm, branch master</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=master</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2025-09-07T03:56:37+00:00</updated>
<entry>
<title>Rename old assembly bn_sqr_words() to bn_sqr_word_wise().</title>
<updated>2025-09-07T03:56:37+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-09-07T03:56:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=6dd87e766b900133746524ad2d5599160de6f5c8'/>
<id>urn:sha1:6dd87e766b900133746524ad2d5599160de6f5c8</id>
<content type='text'>
bn_sqr_words() does not actually compute the square of the words, it only
computes the square of each individual word - rename it to reflect reality.

Discussed with tb@
</content>
</entry>
<entry>
<title>Rename bn_mul_words()/bn_mul_add_words().</title>
<updated>2025-08-30T07:54:27+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-08-30T07:54:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=694b88dc8ad458db9997e90128806a423fec09db'/>
<id>urn:sha1:694b88dc8ad458db9997e90128806a423fec09db</id>
<content type='text'>
Most bn_.*_words() functions operate on two word arrays, however
bn_mul_words() and bn_mul_add_words() operate on one word array and
multiply by a single word. Rename these to bn_mulw_words() and
bn_mulw_add_words() to reflect this, following naming scheme that we use
for primitives.

This frees up bn_mul_words() to actually be used for multiplying two word
arrays. Rename bn_mul_normal() to bn_mul_words(), which will then become
one of the possible assembly integration points.

ok tb@
</content>
</entry>
<entry>
<title>Make OPENSSL_IA32_SSE2 the default for i386 and remove the flag.</title>
<updated>2025-06-09T14:28:34+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-06-09T14:28:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=951cd4503ff3c4cc93c1a36cf06138b1ddd739d7'/>
<id>urn:sha1:951cd4503ff3c4cc93c1a36cf06138b1ddd739d7</id>
<content type='text'>
The OPENSSL_IA32_SSE2 flag controls whether a number of the perlasm
scripts generate additional implementations that use SSE2 functionality.
In all cases except ghash, the code checks OPENSSL_ia32cap_P for SSE2
support, before trying to run SSE2 code. For ghash it generates a CLMUL
based implementation in addition to different MMX version (one MMX
version hides behind OPENSSL_IA32_SSE2, the other does not), however this
does not appear to actually use SSE2. We also disable AES-NI on i386 if
OPENSSL_IA32_SSE2.

On OpenBSD, we've always defined OPENSSL_IA32_SSE2 so this is effectively
a no-op. The only change is that we now check MMX rather than SSE2 for the
ghash MMX implementation.

ok bcook@ beck@
</content>
</entry>
<entry>
<title>Clean up PPC CPU capabilities and Montgomery code.</title>
<updated>2024-11-01T12:56:39+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-11-01T12:56:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=cee4df5e65a72510fc27da332f6fe8679772c4ee'/>
<id>urn:sha1:cee4df5e65a72510fc27da332f6fe8679772c4ee</id>
<content type='text'>
ppc64-mont.pl (which produces bn_mul_mont_fpu64()) is unused on both
powerpc and powerpc64, so remove it. ppccap.c doesn't actually contain
anything to do with CPU capabilities - it just provides a bn_mul_mont()
that calls bn_mul_mont_int() (which ppc-mont.pl generates). Change
ppc-mont.pl to generate bn_mul_mont() directly and remove ppccap.c.

ok tb@
</content>
</entry>
<entry>
<title>Replace uses of endbr64 with _CET_ENDBR from cet.h</title>
<updated>2024-02-24T15:30:14+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-02-24T15:30:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=c730c3b3b1845cc7c4a4aceff2031f1135faa6bb'/>
<id>urn:sha1:c730c3b3b1845cc7c4a4aceff2031f1135faa6bb</id>
<content type='text'>
cet.h is needed for other platforms to emit the relevant .gnu.properties
sections that are necessary for them to enable IBT. It also avoids issues
with older toolchains on macOS that explode on encountering endbr64.

based on a diff by kettenis
ok beck kettenis
</content>
</entry>
<entry>
<title>Add endbr64 where needed by inspection.  Passes regresson tests.</title>
<updated>2023-04-25T04:42:26+00:00</updated>
<author>
<name>deraadt</name>
<email></email>
</author>
<published>2023-04-25T04:42:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=f56bc15e44b93e564d434a7d0b5c8f837812aac3'/>
<id>urn:sha1:f56bc15e44b93e564d434a7d0b5c8f837812aac3</id>
<content type='text'>
ok jsing, and kind of tb an earlier version
</content>
</entry>
<entry>
<title>Remove now unused GF2m perlasm generators</title>
<updated>2023-04-15T18:37:36+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-04-15T18:37:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=413b67f3921ca4da18594f9cbd239219095dd2e4'/>
<id>urn:sha1:413b67f3921ca4da18594f9cbd239219095dd2e4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use explicit .text instead of .previous to please Windows/MinGW on amd64</title>
<updated>2023-02-23T08:55:44+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-02-23T08:55:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=0dadd2bf46f37ca96a50e247649a11b3c5273234'/>
<id>urn:sha1:0dadd2bf46f37ca96a50e247649a11b3c5273234</id>
<content type='text'>
ok miod
</content>
</entry>
<entry>
<title>Replace bn_sub_part_words() with bn_sub().</title>
<updated>2023-02-22T05:57:19+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2023-02-22T05:57:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=7236757e326b2c939f79a4239220a0cc2bf30ef5'/>
<id>urn:sha1:7236757e326b2c939f79a4239220a0cc2bf30ef5</id>
<content type='text'>
Now that bn_sub() handles word arrays with potentially different lengths,
we no longer need bn_sub_part_words() - call bn_sub() instead. This allows
us to entirely remove the unnecessarily complex bn_sub_part_words() code.

ok tb@
</content>
</entry>
<entry>
<title>Bye bye x86_64-gcc.c.</title>
<updated>2023-02-11T12:15:02+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2023-02-11T12:15:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=4d9d66659e872e7c86d778fe00ece39c9b7219af'/>
<id>urn:sha1:4d9d66659e872e7c86d778fe00ece39c9b7219af</id>
<content type='text'>
This is no longer used, since we're now using s2n-bignum functions instead.
</content>
</entry>
</feed>
