Use OSX terminal to find out the CPU instructions set (AVX, SSE and such) I have different machines running OSX 10.12 and 10.13, which use different processors. I am trying to get from terminal, a string that can show me which CPU instructions are supported by that machine; so I can use the appropriate software (some of the software require specific instructions to be present on the CPU, and if that CPU does not support them, the software will either work incorrectly or crash).

I did check querying the system profiler via terminal but I can get only the CPU type and model, not the CPU instruction set that it support; and if I would do this by hand, getting every CPU model and checking online, it would take hours.


CPU instructions are these set of instructions like MMX, AVX, SSE; that allow your CPU to operate in a certain way. With years, they are added to the base CPU instruction set, so modern CPU these days support more than 15 different instruction types.
Enter

sysctl -a | grep cpu.feat


get a list like

machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX EST TM2 SSSE3 CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC POPCNT AES PCID XSAVE OSXSAVE TSCTMR AVX1.0
machdep.cpu.feature_bits: 2286390173542120447


Alternatively (avoiding the grep and being a lot faster, which might help you run this often within a script)

sysctl machdep.cpu.features
sysctl machdep.cpu.features machdep.cpu.feature_bits


gives you just the list (or both) directly.

Or just use: sysctl machdep.cpu to get them all