Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

Journeyman III

Why does FEMMS instruction cause SIGILL fault?

Hello,  My Opteron 6272 CPU throws a SIGILL (illegal instruction) exception on execution of the FEMMS instruction. I have stumbled upon the error running GotoBLAS library. Is it the hardware error or just a feature of the CPU? It was not easy (although possible) to make GNU or Intel's C compilers to abstain from generating FEMMS...  I sent the question to the TECH.SUPPORT@AMD.COM but after 2 weeks it turned out they did not know the answer. Thanks in advance. Regards, Witold

1 Reply
Adept III


It seems that the software you use on your Opteron 6272 has a bug: it "thinks" that your 6272 does support 3DNow! instruction set, whereas 6272 does not. Alas, due to unknown reason, AMD has dropped 3DNow! support in it's new microarchitectures (and their successors), Bobcat & Bulldozer. And since your Opteron 6272 is based on the Bulldozer microarchitecture, it does not support 3DNow!, sorry.

I'd suggest you to contact the support team of the software caused SIGILL on your Opteron 6272 and let them know about the malfunction. Also, if you can rebuild this software by yourself, please remove the 3DNow! support. All Bulldozer CPUs (including your 6272) have a much more advanced instruction sets (SSE1..SSE4.2, AVX, FMA4, XOP), which can allow you to process your data 2-3 times faster. All you need is to switch them on in your software during compilation, if you can.