Intel ISA Extensions

Resources about Intel® Transactional Synchronization Extensions (Intel TSX)


you might find this collection of technical material about Intel TSX instructions useful:

By a suggestion from some senior forum contributors I am making this post sticky.

Best regards,


Links to instruction documentation

pin-2.14-71313 and WinSock library

I have a problem trying to start my pintool built with WinSock library (ws2_32.lib) - it immediately exits with message "Failure to open DLL file WS2_32.dll".
I've prepared a simple pintool to illistrate the problem:

#include "pin.H"

namespace WINDOWS
#include <Ws2tcpip.h>
void *p = WSAStartup;

int main(int argc, char *argv[])
if (PIN_Init(argc, argv)) return 1;
return 0;

Intel 64 documentation bug

This is for Intel 64 and IA-32 Architectures Software Developer’s Manual, Order Number: 325462-053
US January 2015. Page Vol. 1 5-29.

MOVZX (64-bits) Move doubleword to quadword, zero-extension

In fact 32 to 64 bit zero extension isn't supported as per Vol. 2A 3-583. It is only spec'd for r/m8 and r/m16.
There is a small chance that I'm misinterpreting that but then so is NASM which disallows this.
Somebody's wrong and so I'd like an official ruling.

How to work with AVX on windows


I am interested in AVX instructions set using in my application for speed up.But i am new to AVX.

How can i know whether my system processor is able to support AVX or not?

My System Configurations as

OS; Windows 7 with 64-bit

CPU: Inter(R) Xeon(R) CPU  W3505 @2.53GHz.

Anybody can help me..

Thanks in Advance.


Is profiling information running on SDE accurate and trustable?


         I am trying to look at AVX 512 performance, currently, I wrote a simple function for evaluation as below, I configured the optimization and enabled AVX-512 etc in the project properties setting(vs2013 integrated with Intel-parallel-studio ), and I see the AVX-512 instructions are used from the asm files generated by compiler.

void complexVectorConjMpy(float *inputPtr1, float *inputPtr2, float *outputPtr, int numData)
    int idxData;
    float data1Re, data1Im, data2Re, data2Im;

S’abonner à Intel ISA Extensions