1 Reply Latest reply on Dec 9, 2012 12:39 AM by avk

    Why does FEMMS instruction cause SIGILL fault?

    wpiskorz

      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

        • Re: Why does FEMMS instruction cause SIGILL fault?
          avk

          Hey,

          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.