Hi there. I was (pleasantly) surprised to see this information two years ahead of actual product. I have read the document about AVX and naturally I have a lot of questions.
- Since VEX prefix is introduced (and if I understood correctly it will replace REX and shorten existing encoding of SIMD instructions) can you provide any information whether you have licensed AVX to your main competitor? I am asking this because I believe many developers are sick from having to support so many mutually incompatible x86 instruction set extensions that have been added to the x86 ISA recently.
- Since you have already changed the encoding considerably, why haven't you used the opportunity to correct a mistake which was made when x64 was designed? I am talking about the inability to use additional SIMD and GPR registers in 32-bit mode even though that could be possible with a simple kernel update to address SIMD state preservation and it wouldn't affect existing applications.
- Why there is still no instruction for gather/scatter?
- Why there is still no instruction which returns truncated integer value in one and fractional part in another register even though it would be trivial to implement from ROUNDPS?
- Will there be a way to emulate AVX via SSE so that we can start writing and testing our code now?
- How much will code size change with full use of AVX in 32-bit and in 64-bit mode?
That would be all I want to know for now.



