Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Updated my article from 2019.

It’s not limited to C++, equally good for C.

Over time, the support slowly arrives to other languages too, like C#: https://docs.microsoft.com/en-us/dotnet/api/system.runtime.i... https://docs.microsoft.com/en-us/dotnet/api/system.runtime.i...



Rust as well, and the intrinsics are identically named so your tutorial is good for rust as well.


SIMD support is also currently in development for Java: https://openjdk.java.net/jeps/338


This is really nice, I teach intrinsics to my MSc students so will add this to their reading list. This is a recent set of notes I gave them showing how to go from simple CPU only to Threaded SIMD + OpenGL https://nccastaff.bournemouth.ac.uk/jmacey/post/GridVis/grid...


And D as well, although the support varies a bit across all three backends.


How about other languages that use GCC/LLVM, like Zig, Rust, Ada, or for that matter FORTRAN?


Fortran for sure, given its use in HPC and GPGPU programming since it exits (we no longer use all caps for its name :) ).

Only GNAT Ada uses GCC/LLVM, the other surviving Ada vendors have their own compilers, no idea how much they expose the underlying SIMD intrisics.

Rust has some initial support, I don't follow it, last time I checked it was only available on nightly with a very basic subset on stable.

Zig no idea, I don't follow it that much, being yet another C just with bounds checking isn't something I care about.


It's a really well written article, thank you for the work!




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: