Agner`s CPU blog

Software optimization resources | E-mail subscription to this blog | www.agner.org

VZEROUPPER
Author: Agner Date: 2016-12-28 03:57
zboson wrote:
it appears that VZEROUPPER is even more important in some situations with Skylake then e.g. with Haswell.


I just made some experiments on a Haswell. The dirty state makes every non-VEX vector operation dependent on the previous value of the destination register. For example

vpor ymm1,ymm2,ymm3
...
pxor xmm4,xmm4 ; Has false dependence on ymm4

I have no access to a Skylake at the moment, but it may behave the same. This means that VZEROUPPER is still needed on all Intel processors, except Knights Landing.

 
thread Test results for Knights Landing new - Agner - 2016-11-26
reply Test results for Knights Landing new - Nathan Kurz - 2016-11-26
replythread Test results for Knights Landing new - Tom Forsyth - 2016-11-27
reply Test results for Knights Landing new - Søren Egmose - 2016-11-27
last reply Test results for Knights Landing new - Agner - 2016-11-30
replythread Test results for Knights Landing new - Joe Duarte - 2016-12-03
replythread Test results for Knights Landing new - Agner - 2016-12-04
last reply Test results for Knights Landing new - Constantinos Evangelinos - 2016-12-05
last replythread Test results for Knights Landing new - John McCalpin - 2016-12-06
replythread Test results for Knights Landing new - Agner - 2016-12-06
last reply Test results for Knights Landing new - John McCalpin - 2016-12-08
last reply Test results for Knights Landing new - Joe Duarte - 2016-12-07
replythread Test results for Knights Landing new - zboson - 2016-12-28
last reply VZEROUPPER - Agner - 2016-12-28
replythread Test results for Knights Landing new - Ioan Hadade - 2017-07-13
last reply Test results for Knights Landing new - Agner - 2017-07-13
last replythread INC/DEC throughput new - Peter Cordes - 2017-10-09
last reply INC/DEC throughput new - Agner - 2017-10-10