<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Armv6-M CPUs (e.g. Arm Cortex M0+) have 32-bit multiplications but only return the low 32 bits of the result; a software routine must be used to compute the high 32 bits.]]></title><description><![CDATA[<p>Armv6-M CPUs (e.g. Arm Cortex M0+) have 32-bit multiplications but only return the low 32 bits of the result; a software routine must be used to compute the high 32 bits. The one that comes with the C compiler is usually bad (e.g. the one from GCC has cost 61 cycles and is not constant-time). I made a better one (constant-time, 24 cycles for a full 64x64-&gt;64 multiplication, 20 cycles for the 32x32-&gt;64 variants).<br /><a href="https://github.com/pornin/armv6m-longmul" rel="nofollow noopener"><span>https://</span><span>github.com/pornin/armv6m-longm</span><span>ul</span></a></p>]]></description><link>https://board.circlewithadot.net/topic/a859884c-251a-4a06-bae3-dc3c50f7b808/armv6-m-cpus-e.g.-arm-cortex-m0-have-32-bit-multiplications-but-only-return-the-low-32-bits-of-the-result-a-software-routine-must-be-used-to-compute-the-high-32-bits.</link><generator>RSS for Node</generator><lastBuildDate>Mon, 25 May 2026 12:41:38 GMT</lastBuildDate><atom:link href="https://board.circlewithadot.net/topic/a859884c-251a-4a06-bae3-dc3c50f7b808.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 06 May 2026 19:00:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Armv6-M CPUs (e.g. Arm Cortex M0+) have 32-bit multiplications but only return the low 32 bits of the result; a software routine must be used to compute the high 32 bits. on Wed, 06 May 2026 20:19:02 GMT]]></title><description><![CDATA[<p><span><a href="https://infosec.exchange/@pornin">@<span>pornin</span></a></span> This looks incredibly cool, even to someone who will never use it directly.</p>]]></description><link>https://board.circlewithadot.net/post/https://infosec.exchange/users/paulehoffman/statuses/116529479204742278</link><guid isPermaLink="true">https://board.circlewithadot.net/post/https://infosec.exchange/users/paulehoffman/statuses/116529479204742278</guid><dc:creator><![CDATA[paulehoffman@infosec.exchange]]></dc:creator><pubDate>Wed, 06 May 2026 20:19:02 GMT</pubDate></item></channel></rss>