Consider the example given at https://software.intel.com/en-us/blogs/2013/07/22/intel-memory-protectio... in particular the example "Another simple example demonstrates using of bndldx and bndstx instructions.".
I'm aware there are links to download binary versions of GCC at https://software.intel.com/en-us/articles/intel-software-development-emu... however the latest experimental version of GCC appears to be quite more recent than this. However I'm confused about what branch I should be using if I want to build and use the latest MPX enabled development version of GCC with the Intel SDE.
I refer to the current Intel 64 and IA-32 Architectures Software Developer’s Manual (e.g. 325462-051US of June 2014).
For IDIV your will find that the upper bounds of quotient range is wrong for 32 and 64 bit; these must be e.g. -2^31..2^32-1 instead of -2^31..2^31-1.
Also, a description for signs the of the remainders are missing; AMD is more precise: "The sign of the remainder is always the same as the sign of the dividend, and the absolute value of the remainder is less than the absolute value of the divisor."
Additional Intel® Advanced Vector Extensions 512 (Intel® AVX-512)
The Intel® Architecture Instruction Set Extensions Programming Reference includes the definition of additional Intel® Advanced Vector Extensions 512 (Intel® AVX-512) instructions.
Does there already exist some small working example of an assembly program that enables MPX and demonstrates (some) of the instructions -- when executed in the SDE? I am aware that MPX appears to be enabled in libmpx. However I'd like to see this done by hand without using libmpx, assemble the program using an MPX enabled NASM and of course still run it in the SDE, just to play around with it.
I've already looked for this without finding anything, if someone could point me to such an already existing example that would be great.
I'm having a really hard time finding anything other than rumors about this. I have seen the official statement that Broadwell chips will be available before Christmas, but I can't tell if Broadwell includes the AVX 512 extensions or not (I've heard both ways). Anyone know for sure? Better yet can anyone point me to a link on intel.com that provides a definitive answer?
I have written a function in that AVX2 instructions are using XMM/YMM registers. Due to use of some of these registers in this function, causing other part of application is crashing. I have observed strange behavior is that If these registers are pushed and popped as like non-volatile general purpose registers are pushed and popped.
Please help me whether, we need to push and pop the SIMD registers also. If so all XMM/YMM registers are needs to be saved and how?
I am trying to prevent GCC from generating SSE* related instructions. However, SSE uops are still observed using Oprofile.
I used the following GCC flags to do so: -march=i386 -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -mfpmath=387