Backwards compatibility of AVX

Backwards compatibility of AVX

Could you clarify please whether there are any backwards compatibility issues with AVX? Should programmers consider it an added extra where supported, or will programs using it require it to run correctly?


5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

To my understanding it's to be considered as an extra, similar to SSE.

AVX works with SSE or non-SSE code, so in that sense it is backward compatible. It added a lot of other features in addition to SSE e.g. wider vector, 3 operand instruction coding, compact and efficient encoding of instructions, all adding to give better performance.

Thank you both for your responses!

One more thing to add: There is a performance penalty for switching from SSE to AVX instructions (and vice-versa), so you should not mix them too much in your code. Try grouping them in separate blocks or use AVX only where possible.

Leave a Comment

Please sign in to add a comment. Not a member? Join today