<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Intrinsic on icyveins7's blog</title><link>https://icyveins7.github.io/tags/intrinsic/</link><description>Recent content in Intrinsic on icyveins7's blog</description><generator>Hugo</generator><language>en-us</language><copyright>This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.</copyright><lastBuildDate>Thu, 30 Jan 2025 20:00:00 +0800</lastBuildDate><atom:link href="https://icyveins7.github.io/tags/intrinsic/index.xml" rel="self" type="application/rss+xml"/><item><title>Cross-platform trigonometric SIMD and how the C ABI confused me</title><link>https://icyveins7.github.io/posts/2025/01/cross-platform-trigonometric-simd-and-how-the-c-abi-confused-me/</link><pubDate>Thu, 30 Jan 2025 20:00:00 +0800</pubDate><guid>https://icyveins7.github.io/posts/2025/01/cross-platform-trigonometric-simd-and-how-the-c-abi-confused-me/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;My small journey in discovering libmvec functions and the C problems I encountered..&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;I was recently working on making an existing Windows-only library of SIMD functions cross-platform i.e. making everything work in Linux. Here I&amp;rsquo;m going to highlight some problems I encountered in the process; hopefully it will help someone if they encounter something similar too.&lt;/p&gt;&#10;&lt;h1 id="the-windows-msvc-function"&gt;The Windows (MSVC) function&lt;/h1&gt;&#10;&lt;p&gt;Intrinsics are usually tied to compiler implementations. The one that gave me issues was a bunch of trigonometric functions. Let&amp;rsquo;s use the SSE version that works on floats; in MSVC this was implemented as a simple&lt;/p&gt;</description></item></channel></rss>