Intel ISA Extensions

Latest GCC to use with the SDE for MPX?

I'm aware there are links to download binary versions of GCC at 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.

Documentation bug for DIV/IDIV

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."

Working assembly example for MPX?

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.

When is AVX 512 on a chip, not just an emulator?

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 that provides a definitive answer?

PUSH and POP of XMM/YMM registers


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?

instructional change __m128i

Hi, good afternoon.

I am using a __m128i for store 16 elements of 8 bits

__m128i s0 = _mm_set_epi8(pixelsTemp[95], pixelsTemp[94], pixelsTemp[93], pixelsTemp[92], pixelsTemp[91], pixelsTemp[90], pixelsTemp[89], pixelsTemp[88], pixelsTemp[87], pixelsTemp[86], pixelsTemp[85], pixelsTemp[84], pixelsTemp[83], pixelsTemp[82], pixelsTemp[81], pixelsTemp[224]);

SDE emulation issue

I am using the SDE emulator with AVX2 instruction set, I have written some simple program but it is crashing in RELEASE mode with SDE emulator.

Please let me know whether SDE emulates the stack related operations or not.  YASM synatxed assembly programming

section .txt
 global dummy_asm

    push rbp
    mov  rbp, rsp
    sub rsp, 1024
    push rbx ;no need to push in this program, but in actual program using this register
    vmovdqu [rsp], xmm0 ;xmm0 is dummy value

    pop rbx

Suscribirse a Intel ISA Extensions