I have a VxWorks machine, and I'm trying to optimize my compiler flags. The chip is theoretically a skylake architecture and should support AVX instructions.
I ran a test code and got an "exception 13" error on a VMOVDQA instruction. It has also happened with a PADDD instruction. I was able to use the VMOVDQU and VPMINUD instructions, though.
From the Intel manual, the exception could be related to memory alignment. But for all can see memory was aligned to 16 bytes. Are there any other reasons I could have gotten this error?
Are there any ways VxWorks could even react to what instructions are contained in the object file loaded as a kernel module? Would it check the architecture in the object header file, for instance?
As Simon Goater and Peter Cordes said, the issue was indeed aligning to 32 bytes.