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

Answer is generally no; you have to compile something with specific flags for a given architecture, and you will normally only get one path. There may be exceptions for some libraries which may do clever stuff, but generally you pick your level of machine support (usually low) and live with it.

Note that there are many new machines (Atoms and low-brand stuff like "Pentium" branded CPUs - even recent ones based on Comet Lake) which don't have anything beyond SSE4.x). IIRC they don't even have BMI/BMI2 which is a huge pain.



This is interesting, the use case I was thinking about is EDA SW, which is very expensive and performance (runtime) can be days in some cases. In the tool installs I only ever see i386 and x86_64. In curious if the EDA vendors have compiled for the lowest common denomnator for these two basic architectures. If so it would seem like they are leaving a lot of performance potential on the table. Is there any tool that explores and executable and reports if vector instructions are present and follows dependencies (like ldd)?


On Linux, you can turn on the performance counters systemwide and watch instruction counts of various types of instructions tick up, if you want. I don't know how to do this on Windows.

I imagine you could also use any number of disassembly tools to peer at the instructions - looking for xmm/ymm/zmm in the textual output would be the giveaway.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

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

Search: