View Full Version : x264 on Nehalem
puffpio
3rd November 2008, 19:26
http://www.anandtech.com/cpuchipsets/intel/showdoc.aspx?i=3448&p=18
These benchmarks cite "We're reporting results from the 0.59.819 version of x264."
I'm not familiar w/ that version numbering (i'm more familiar with the revision /commit numbers)
is this a recent build? this is w/o the Nehalem optimizations right?
Sharktooth
3rd November 2008, 19:30
r819. that was pre-production hardware. the final results may vary (expecially in a better way)...
look here: http://forum.doom9.org/showthread.php?p=1209478#post1209478 and here: http://www.ntcompatible.com/Intel_Core_i7_Reviews_Roundup_s121605.html
Dark Shikari
3rd November 2008, 19:46
I already have a Nehalem performance patch ready; I just can't commit it until official release :cool:
mikeytown2
3rd November 2008, 21:54
is this official enough?
http://slashdot.org/article.pl?sid=08/11/03/1324208
Sagekilla
3rd November 2008, 22:18
By official, I believe he means a "hard launch" where it's actually available for consumers, not a paper launch like they just did. That, and he may be under a NDA where he wouldn't be allowed to release it until a specific date.
Blue_MiSfit
3rd November 2008, 22:44
You're telling me that the massive performance increase that's being reported by hardware sites doesn't even include Core i7 optimizations?
I can't wait :D
I guess it's time to start thinking about new encoding servers :(/:)
~MiSfit
Sagekilla
4th November 2008, 02:33
Well, they used an x264 exe that's what, 200 revisions old? I'm sure by the time Nehalem rolls out proper we'll have some.. sizable gains in speed.
Snowknight26
4th November 2008, 02:58
Supposedly the NDA was lifted today. Hope its true. :\
Dark Shikari
4th November 2008, 03:51
Supposedly the NDA was lifted today. Hope its true. :\It was? I have no idea when mine ends... :p
tph
4th November 2008, 11:58
Supposedly the NDA was lifted today. Hope its true. :\
Yeah, it's lifted. There's a ton of Core i7 reviews (http://www.xtremesystems.org/forums/showthread.php?t=206624) up now as well.
*edit* Oh, and since the NDA is lifted, do you have any performace comparisons for us? :D
hajj_3
5th November 2008, 12:51
Yep, NDA ended around 36hrs ago, go submit the nehalm patches:) I wanna see some proper benchmarks with the new cpu's.
Dark Shikari
5th November 2008, 12:52
Yep, NDA ended around 36hrs ago, go submit the nehalm patches:) Already done (http://git.videolan.org/?p=x264.git;a=commit;h=a5ac6a5b8688915553fe6fccee09f1272f3788ac)... I wanted to do the pminpos patch as well but there are still some issues with that one, like the fact that it doesn't actually work properly.
I wanna see some proper benchmarks with the new cpu's.How about this? (http://i38.tinypic.com/161nvdh.png)
hajj_3
5th November 2008, 13:02
not bad:)
Would be good to see benchmarks in fps of High Profile Level 4.1 with 2-pass unrestricted profile and do 1920*1080, 1280*720 and 640*352 resolutions to give a real impression how much faster it is for bluray and for 1080i mpeg2 and 1080i mpeg4 tv encodes.
poisondeathray
5th November 2008, 15:54
Just curious about the mechanics of the new patch; does it use the new SSE4.2 instruction set, or some other aspect of the Nehalem architecture? or are the speed gains from 4 extra logical cores? or some combination of factors (probably) ?
Thanks
Sharktooth
5th November 2008, 16:09
SSE4.x = Pile Of Crap (at least for video encoding).
The speed advantages are almost all due to the improved architecture and maybe the new hyperthreading.
saint-francis
5th November 2008, 17:06
@DS:
Overall speed improvement with Nehalem vs Penryn at the same clock speed is around 40%.
Are you still standing behind this statement? If this is the case these CPU's are going to essentially revolutionize the way we use X264. Could you post some more real world comparisons?
Dark Shikari
5th November 2008, 17:13
Are you still standing behind this statement? If this is the case these CPU's are going to essentially revolutionize the way we use X264. Could you post some more real world comparisons?Anandtech has some real benchmarks, if you want more.
I don't see how its that revolutionary; new CPUs are supposed to be faster, aren't they? :p
cogman
5th November 2008, 17:24
Anandtech has some real benchmarks, if you want more.
I don't see how its that revolutionary; new CPUs are supposed to be faster, aren't they? :p
No Way!! New cpus are supposed to be hotter and more clunky. This Idea of faster and cooler is unheard of! (yes, im being sarcastic)
Whats amazing is the Size of the increase with nehelam (in the case of encoding) ~36% faster then the older penryn.
Though the speed increases aren't uniform through all applications (as they rarely are) But in some cases I do feel somewhat disappointed in the increase.
burfadel
5th November 2008, 17:35
Look at the difference between a Pentium 4 D (dual core) and a Core 2 at the same clock speed, there is no comparison! I think at times Intel understated the performance benefit of the Core 2 just so the P4 wouldn't look so bad! Even in single core mode, the Core 2 is significantly faster. It was funny when they were first released, a Core 2 E6600 at 2.4ghz could out-compete the P4EE at 3.8ghz! So 40 percent is not an impossible feat :)
Sagekilla
5th November 2008, 19:10
It's all part of Intel's Tick-Tock they've been doing ;) A Pentium D --> Core 2 provided close to 50% boost in performance, and now they've done it again for Pernyn --> Nehalem. That's even ignoring that Pernyn offered a speed bump over Core 2 as well.
I have to say, that's pretty amazing to pull off a close to 50% speed improvement generation after generation.
Dark Shikari
5th November 2008, 19:28
For the curious, here's the mubench results for Nehalem (numbers are Latency/Throughput):
mpsadbw xmm, xmm, imm8: 4.0028/1.0139
phminposuw xmm, xmm: 3.0022/1.0116
pmulld xmm, xmm: 6.0045/2.0018
pmuldq xmm, xmm: 3.0023/1.0126
blendps xmm, xmm, imm8: 1.0186/1.0158
blendpd xmm, xmm, imm8: 1.0147/1.0119
pblendw xmm, xmm, imm8: 1.0147/1.0119
blendvps xmm, xmm, xmm0: 2.0025/2.0031
blendvpd xmm, xmm, xmm0: 2.0026/2.0029
pblendvb xmm, xmm, xmm0: 1.9983/1.0128
pmaxsb xmm, xmm: 1.0145/1.0116
pminsb xmm, xmm: 1.0145/1.0117
pmaxuw xmm, xmm: 1.0144/1.0116
pminuw xmm, xmm: 1.0145/1.0116
pmaxsd xmm, xmm: 1.0145/1.0116
pminsd xmm, xmm: 1.0147/1.0119
pmaxud xmm, xmm: 1.0147/1.0119
pminud xmm, xmm: 1.0147/1.0118
insertps xmm, xmm, imm8: 1.0195/1.0167
pinsrb xmm, r32, imm8: 2.4992/1.0119
pinsrd xmm, r32, imm8: 2.4992/1.0119
pinsrq xmm, r64, imm8: 2.4986/1.0116
extractps r32, xmm, imm8: 0.0068541/1.0158
pextrb r32, xmm, imm8: 2.5021/1.0119
pextrd r32, xmm, imm8: 2.5023/1.0119
pextrq r64, xmm, imm8: 2.5024/1.0119
pmovsxbw xmm, xmm: 1.0144/1.0115
pmovzxbw xmm, xmm: 1.0147/1.0119
pmovsxbd xmm, xmm: 1.0147/1.0119
pmovzxbd xmm, xmm: 1.0144/1.0115
pmovsxbq xmm, xmm: 1.0145/1.0116
pmovzxbq xmm, xmm: 1.0147/1.0119
pmovsxwd xmm, xmm: 1.0145/1.0116
pmovzxwd xmm, xmm: 1.0145/1.0116
pmovsxwq xmm, xmm: 1.0144/1.0115
pmovzxwq xmm, xmm: 1.0145/1.0116
pmovsxdq xmm, xmm: 1.0147/1.0119
pmovzxdq xmm, xmm: 1.0145/1.0116
ptest xmm, xmm: 1.0145/1.0116
pcmpeqq xmm, xmm: 1.0017/0.51138
packusdw xmm, xmm: 1.0015/0.51125
dpps xmm, xmm, imm8: 11.009/2.0152
dppd xmm, xmm, imm8: 9.0069/1.0175
roundps xmm, xmm, imm8: 3.0026/1.0159
roundss xmm, xmm, imm8: 3.0023/1.0117
roundpd xmm, xmm, imm8: 3.0027/1.0119
roundsd xmm, xmm, imm8: 3.0021/1.0116
psignb xmm, xmm: 1.0014/0.51124
psignw xmm, xmm: 1.0015/0.51125
psignd xmm, xmm: 1.0015/0.51125
pshufb xmm, xmm: 1.0015/0.51127
pmulhrsw xmm, xmm: 3.0023/1.0009
pmaddubsw xmm, xmm: 3.0022/1.0008
phsubw xmm, xmm: 2.7957/1.5102
phsubsw xmm, xmm: 2.7942/1.5101
phsubd xmm, xmm: 2.7953/1.5102
phaddw xmm, xmm: 2.7948/1.5100
phaddsw xmm, xmm: 2.7951/1.5100
phaddd xmm, xmm: 2.7937/1.5100
palignr xmm, xmm, imm8: 1.0147/1.0119
pabsb xmm, xmm: 1.0016/0.50994
pabsw xmm, xmm: 1.0016/0.50994
pabsd xmm, xmm: 1.0018/0.50994
psignb mm, mm: 1.0021/0.50943
psignw mm, mm: 1.0020/0.50947
psignd mm, mm: 1.0020/0.50943
pshufb mm, mm: 1.0017/0.50928
pmulhrsw mm, mm: 3.0026/1.0009
pmaddubsw mm, mm: 3.0027/1.0009
phsubw mm, mm: 2.7918/2.0114
phsubsw mm, mm: 2.7918/2.0112
phsubd mm, mm: 2.7920/2.0114
phaddw mm, mm: 2.7920/2.0113
phaddsw mm, mm: 2.7925/2.0119
phaddd mm, mm: 2.7919/2.0113
palignr mm, mm, imm8: 1.0147/1.0119
pabsb mm, mm: 1.0015/0.50908
pabsw mm, mm: 1.0013/0.50894
pabsd mm, mm: 1.0013/0.50898
addsubpd xmm, xmm: 3.0025/1.0011
addsubps xmm, xmm: 3.0022/1.0033
haddpd xmm, xmm: 5.0037/2.0065
haddps xmm, xmm: 5.0038/2.0132
hsubpd xmm, xmm: 5.0039/2.0065
hsubps xmm, xmm: 5.0039/2.0132
movddup xmm, xmm: 1.0018/1.0019
movshdup xmm, xmm: 1.0019/1.0021
movsldup xmm, xmm: 1.0017/1.0018
cvtdq2ps xmm, xmm: 3.0022/1.0057
cvtps2dq xmm, xmm: 3.0022/1.0009
cvttps2dq xmm, xmm: 3.0020/1.0008
movd xmm, r32: 1.9695/0.51023
movd r32, xmm: 2.0020/0.51041
movdqa xmm, xmm: 1.0007/0.51023
movdq2q mm, xmm: 1.0010/0.51043
movq2dq xmm, mm: 1.0009/0.51041
movq xmm, xmm: 1.0007/0.51025
packsswb xmm, xmm: 1.0017/0.51138
packssdw xmm, xmm: 1.0017/0.51140
packuswb xmm, xmm: 1.0014/0.51125
paddb xmm, xmm: 1.0015/0.51125
paddw xmm, xmm: 1.0017/0.51127
paddd xmm, xmm: 1.0016/0.51134
paddsb xmm, xmm: 1.0017/0.51142
paddsw xmm, xmm: 1.0016/0.51140
paddusb xmm, xmm: 1.0014/0.51124
paddusw xmm, xmm: 1.0013/0.51127
paddq xmm, xmm: 1.0147/1.0119
psubq xmm, xmm: 1.0147/1.0119
pand xmm, xmm: 1.0013/0.51142
pandn xmm, xmm: 1.0010/0.51122
pavgb xmm, xmm: 1.0016/0.51127
pavgw xmm, xmm: 1.0015/0.51124
pcmpeqb xmm, xmm: 1.0014/0.51126
pcmpeqd xmm, xmm: 1.0015/0.51124
pcmpeqw xmm, xmm: 1.0014/0.51124
pcmpgtb xmm, xmm: 1.0015/0.51125
pcmpgtd xmm, xmm: 1.0015/0.51133
pcmpgtw xmm, xmm: 1.0017/0.51136
pextrw r32, xmm, imm8: 2.5025/1.0119
pinsrw xmm, r32, imm8: 2.4988/1.0107
pmaddwd xmm, xmm: 3.0023/1.0009
pmaxub xmm, xmm: 1.0014/0.51125
pmaxsw xmm, xmm: 1.0014/0.51127
pminub xmm, xmm: 1.0014/0.51122
pminsw xmm, xmm: 1.0015/0.51129
pmovmskb r32, xmm: 0.016299/1.0011
pmulhuw xmm, xmm: 3.0027/1.0011
pmulhw xmm, xmm: 3.0027/1.0011
pmullw xmm, xmm: 3.0022/1.0009
pmuludq xmm, xmm: 3.0026/1.0010
por xmm, xmm: 1.0012/0.51138
psadbw xmm, xmm: 3.0023/1.0009
pshufd xmm, xmm, imm8: 1.0015/0.50981
pshufhw xmm, xmm, imm8: 1.0016/0.50996
pshuflw xmm, xmm, imm8: 1.0015/0.50988
pslldq xmm, imm8: 1.0015/0.51025
psllw xmm, xmm: 2.0015/1.0126
pslld xmm, xmm: 2.0015/1.0126
psllq xmm, xmm: 2.0019/1.0128
psraw xmm, xmm: 2.0014/1.0125
psrad xmm, xmm: 2.0020/1.0129
psrldq xmm, imm8: 1.0017/0.51040
psrlw xmm, xmm: 2.0015/1.0126
psrld xmm, xmm: 2.0015/1.0126
psrlq xmm, xmm: 2.0013/1.0126
psubb xmm, xmm: 1.0015/0.51127
psubw xmm, xmm: 1.0014/0.51124
psubd xmm, xmm: 1.0015/0.51127
psubsb xmm, xmm: 1.0015/0.51124
psubsw xmm, xmm: 1.0015/0.51118
psubusb xmm, xmm: 1.0015/0.51125
psubusw xmm, xmm: 1.0014/0.51124
punpckhbw xmm, xmm: 1.0014/0.51125
punpckhwd xmm, xmm: 1.0015/0.51127
punpckhdq xmm, xmm: 1.0017/0.51140
punpckhqdq xmm, xmm: 1.0017/0.51140
punpcklbw xmm, xmm: 1.0014/0.51131
punpcklwd xmm, xmm: 1.0014/0.51126
punpckldq xmm, xmm: 1.0015/0.51125
punpcklqdq xmm, xmm: 1.0016/0.51140
pxor xmm, xmm: 1.0012/0.51138
paddq mm, mm: 1.0019/0.50930
psubq mm, mm: 1.0019/0.50925
pmuludq mm, mm: 3.0028/1.0011
addpd xmm, xmm: 3.0023/1.0009
addsd xmm, xmm: 3.0023/1.0009
andnpd xmm, xmm: 1.0017/1.0018
andpd xmm, xmm: 1.0020/1.0021
cmppd xmm, xmm, imm8: 3.0023/1.0009
cmpsd xmm, xmm, imm8: 3.0023/1.0009
comisd xmm, xmm: 1.0008/1.0009
cvtdq2pd xmm, xmm: 4.0027/1.0125
cvtpd2pi mm, xmm: 6.0045/1.0146
cvtpd2dq xmm, xmm: 4.0037/1.0133
cvtpd2ps xmm, xmm: 4.0030/1.0185
cvtpi2pd xmm, mm: 6.0050/1.0127
cvtps2pd xmm, xmm: 2.0028/1.0116
cvtsd2si r32, xmm: 3.5027/1.0009
cvtsd2ss xmm, xmm: 4.0030/1.0126
cvtsi2sd xmm, r32: 3.4998/1.0117
cvtss2sd xmm, xmm: 1.0145/1.0116
cvttpd2pi mm, xmm: 6.0045/1.0146
cvttpd2dq xmm, xmm: 4.0030/1.0133
cvttsd2si r32, xmm: 3.5034/1.0010
divpd xmm, xmm: 7.0053/7.0055
divsd xmm, xmm: 7.0058/7.0053
maxpd xmm, xmm: 3.0023/1.0009
maxsd xmm, xmm: 3.0024/1.0009
minpd xmm, xmm: 3.0023/1.0009
minsd xmm, xmm: 3.0028/1.0011
movapd xmm, xmm: 1.0020/1.0021
movmskpd r32, xmm: 0.016294/1.0011
movsd xmm, xmm: 1.0018/1.0018
movupd xmm, xmm: 1.0020/1.0021
mulpd xmm, xmm: 5.0038/1.0009
mulsd xmm, xmm: 5.0037/1.0010
orpd xmm, xmm: 1.0017/1.0018
shufpd xmm, xmm, imm8: 1.0018/1.0019
sqrtpd xmm, xmm: 7.0058/7.0053
sqrtsd xmm, xmm: 7.0055/7.0054
subpd xmm, xmm: 3.0023/1.0009
subsd xmm, xmm: 3.0023/1.0009
ucomisd xmm, xmm: 1.0008/1.0009
unpckhpd xmm, xmm: 1.0017/1.0019
unpcklpd xmm, xmm: 1.0017/1.0019
xorpd xmm, xmm: 1.0017/1.0019
addps xmm, xmm: 3.0024/1.0058
addss xmm, xmm: 3.0028/1.0011
andnps xmm, xmm: 1.0056/1.0021
andps xmm, xmm: 1.0057/1.0021
cmpps xmm, xmm, imm8: 3.0022/1.0033
cmpss xmm, xmm, imm8: 3.0023/1.0009
comiss xmm, xmm: 1.0009/1.0009
cvtpi2ps xmm, mm: 3.0030/1.0148
cvtps2pi mm, xmm: 3.0023/1.0009
cvtsi2ss xmm, r32: 3.0003/1.0107
cvtss2si r32, xmm: 3.0030/1.0011
cvttps2pi mm, xmm: 3.0027/1.0010
cvttss2si r32, xmm: 3.0023/1.0009
divps xmm, xmm: 7.0059/7.0053
divss xmm, xmm: 7.0054/7.0053
maxps xmm, xmm: 3.0023/1.0058
maxss xmm, xmm: 3.0022/1.0009
minps xmm, xmm: 3.0029/1.0060
minss xmm, xmm: 3.0023/1.0009
movaps xmm, xmm: 1.0059/1.0024
movhlps xmm, xmm: 1.0059/1.0024
movlhps xmm, xmm: 1.0058/1.0022
movmskps r32, xmm: 0.0068541/1.0013
movss xmm, xmm: 1.0017/1.0019
movups xmm, xmm: 1.0056/1.0020
mulps xmm, xmm: 4.0030/1.0063
mulss xmm, xmm: 4.0030/1.0009
orps xmm, xmm: 1.0057/1.0023
rcpps xmm, xmm: 3.0032/2.0018
rcpss xmm, xmm: 3.0034/2.0021
rsqrtps xmm, xmm: 3.0025/2.0016
rsqrtss xmm, xmm: 3.0028/2.0019
shufps xmm, xmm, imm8: 1.0056/1.0021
sqrtps xmm, xmm: 7.0058/7.0060
sqrtss xmm, xmm: 7.0057/7.0057
subps xmm, xmm: 3.0022/1.0058
subss xmm, xmm: 3.0026/1.0011
ucomiss xmm, xmm: 1.0010/1.0011
unpckhps xmm, xmm: 1.0056/1.0020
unpcklps xmm, xmm: 1.0059/1.0023
xorps xmm, xmm: 1.0058/1.0023
pavgb mm, mm: 1.0018/0.50927
pavgw mm, mm: 1.0021/0.50934
pextrw r32, mm, imm8: 2.5019/1.0116
pinsrw mm, r32, imm8: 2.4985/1.0116
pmaxub mm, mm: 1.0019/0.50929
pmaxsw mm, mm: 1.0020/0.50945
pminub mm, mm: 1.0021/0.50943
pminsw mm, mm: 1.0020/0.50927
pmovmskb r32, mm: 0.016299/1.0008
pmulhuw mm, mm: 3.0024/1.0009
psadbw mm, mm: 3.0022/1.0009
pshufw mm, mm, imm8: 1.0012/0.50898
movd mm, r32: 1.9704/0.51138
movd r32, mm: 2.0020/0.51138
movq mm, mm: 1.0008/0.34626
packsswb mm, mm: 1.0008/1.0008
packssdw mm, mm: 1.0010/1.0011
packuswb mm, mm: 1.0008/1.0009
paddb mm, mm: 1.0021/0.50943
paddw mm, mm: 1.0021/0.50945
paddd mm, mm: 1.0019/0.50925
paddsb mm, mm: 1.0019/0.50934
paddsw mm, mm: 1.0020/0.50928
paddusb mm, mm: 1.0021/0.50947
paddusw mm, mm: 1.0022/0.50941
pand mm, mm: 1.0010/0.34657
pandn mm, mm: 1.0007/0.34648
pcmpeqb mm, mm: 1.0022/0.50943
pcmpeqd mm, mm: 1.0019/0.50931
pcmpeqw mm, mm: 1.0019/0.50925
pcmpgtb mm, mm: 1.0019/0.50927
pcmpgtd mm, mm: 1.0018/0.50927
pcmpgtw mm, mm: 1.0021/0.50943
pmaddwd mm, mm: 3.0027/1.0011
pmulhw mm, mm: 3.0024/1.0011
pmullw mm, mm: 3.0025/1.0011
por mm, mm: 1.0010/0.34657
psllq mm, mm: 1.0010/1.0010
psllw mm, mm: 1.0010/1.0011
pslld mm, mm: 1.0009/1.0011
psraw mm, mm: 1.0010/1.0011
psrad mm, mm: 1.0008/1.0008
psrlq mm, mm: 1.0008/1.0009
psrlw mm, mm: 1.0008/1.0009
psrld mm, mm: 1.0008/1.0008
psubb mm, mm: 1.0019/0.50927
psubw mm, mm: 1.0019/0.50925
psubd mm, mm: 1.0022/0.50943
psubsb mm, mm: 1.0021/0.50941
psubsw mm, mm: 1.0019/0.50932
psubusb mm, mm: 1.0021/0.50941
psubusw mm, mm: 1.0019/0.50930
punpckhbw mm, mm: 1.0021/0.50943
punpckhwd mm, mm: 1.0019/0.50928
punpckhdq mm, mm: 1.0019/0.50925
punpcklbw mm, mm: 1.0019/0.50927
punpcklwd mm, mm: 1.0020/0.50932
punpckldq mm, mm: 1.0020/0.50945
pxor mm, mm: 1.0007/0.34648
emms: 0.016294/6.0164
bswap r64: 2.9384/1.0116
bswap r32: 1.0146/1.0116
cbw: 0.016299/1.0128
cdq: 0.016294/1.0118
cdqe: 0.016294/1.0128
cqo: 0.016294/1.0118
cwd: 0.016281/1.0118
cwde: 0.016277/1.0128
cmova r64, r64: 2.0093/1.0147
cmova r32, r32: 2.0092/1.0125
cmovae r64, r64: 2.0098/1.0148
cmovae r32, r32: 2.0098/1.0129
cmovb r64, r64: 2.0093/1.0145
cmovb r32, r32: 2.0093/1.0126
cmovbe r64, r64: 2.0092/1.0145
cmovbe r32, r32: 2.0093/1.0126
cmovc r64, r64: 2.0096/1.0148
cmovc r32, r32: 2.0093/1.0126
cmove r64, r64: 1.9992/1.0126
cmove r32, r32: 2.0001/1.0126
cmovg r64, r64: 1.9989/1.0126
cmovg r32, r32: 2.0001/1.0126
cmovge r64, r64: 1.9991/1.0126
cmovge r32, r32: 2.0001/1.0126
cmovl r64, r64: 1.9996/1.0129
cmovl r32, r32: 2.0001/1.0126
cmovle r64, r64: 1.9991/1.0126
cmovle r32, r32: 2.0000/1.0126
cmovna r64, r64: 2.0098/1.0148
cmovna r32, r32: 2.0098/1.0128
cmovnae r64, r64: 2.0098/1.0147
cmovnae r32, r32: 2.0093/1.0126
cmovnb r64, r64: 2.0095/1.0148
cmovnb r32, r32: 2.0098/1.0128
cmovnbe r64, r64: 2.0098/1.0148
cmovnbe r32, r32: 2.0093/1.0125
cmovnc r64, r64: 2.0096/1.0148
cmovnc r32, r32: 2.0093/1.0126
cmovne r64, r64: 1.9991/1.0126
cmovne r32, r32: 2.0002/1.0127
cmovng r64, r64: 1.9989/1.0126
cmovng r32, r32: 2.0000/1.0125
cmovnge r64, r64: 1.9992/1.0129
cmovnge r32, r32: 2.0000/1.0126
cmovnl r64, r64: 1.9991/1.0127
cmovnl r32, r32: 2.0001/1.0126
cmovnle r64, r64: 1.9991/1.0126
cmovnle r32, r32: 2.0001/1.0126
cmovno r64, r64: 1.9996/1.0128
cmovno r32, r32: 2.0001/1.0128
cmovnp r64, r64: 1.9991/1.0126
cmovnp r32, r32: 2.0005/1.0129
cmovns r64, r64: 1.9991/1.0126
cmovns r32, r32: 2.0005/1.0129
cmovnz r64, r64: 1.9993/1.0127
cmovnz r32, r32: 2.0005/1.0128
cmovo r64, r64: 1.9996/1.0129
cmovo r32, r32: 2.0000/1.0126
cmovp r64, r64: 1.9996/1.0128
cmovp r32, r32: 1.9999/1.0125
cmovs r64, r64: 1.9991/1.0126
cmovs r32, r32: 2.0001/1.0126
cmovz r64, r64: 1.9991/1.0126
cmovz r32, r32: 2.0000/1.0126
cmpxchg r64, r64: 5.0184/5.0156
cmpxchg r32, r32: 5.0188/5.0156
mov r64, r64: 0.99965/0.51138
mov r32, r32: 0.99938/0.36582
movsx r64, r32: 0.37311/0.36866
xadd r64, r64: 2.0018/2.0393
xadd r32, r32: 2.0022/2.0393
xchg r64, r64: 1.9159/1.0725
xchg r32, r32: 1.8205/1.1699
adc r64, r64: 2.0095/2.0103
adc r32, r32: 2.0093/2.0103
add r64, r64: 1.0004/0.51125
add r32, r32: 0.99980/0.49144
cmp r64, r64: 0.51406/0.51125
cmp r32, r32: 0.51408/0.51122
dec r64: 0.99941/0.51124
dec r32: 0.99930/0.34604
div r64: 33.223/19.168
div r32: 21.858/11.009
idiv r64: 43.610/27.132
idiv r32: 22.504/11.009
imul r64, r64: 3.0003/1.0008
imul r32, r32: 2.9944/1.0008
inc r64: 0.99965/0.51138
inc r32: 0.99956/0.34615
mul r64: 3.1303/3.5826
mul r32: 4.7419/4.7756
neg r64: 0.99963/0.51138
neg r32: 0.99935/0.34607
sbb r64, r64: 2.0093/2.0103
sbb r32, r32: 2.0093/2.0103
sub r64, r64: 1.0007/0.51137
sub r32, r32: 1.0000/0.49153
and r64, r64: 1.0004/0.51124
and r32, r32: 0.99987/0.49151
not r64: 0.99959/0.51138
not r32: 0.99956/0.34615
or r64, r64: 1.0007/0.51138
or r32, r32: 0.99972/0.49140
xor r64, r64: 1.0007/0.51136
xor r32, r32: 1.0000/0.49155
rcl r64, imm8: 13.018/13.014
rcl r32, imm8: 13.018/13.014
rcr r64, imm8: 12.518/12.514
rcr r32, imm8: 12.518/12.514
rol r64, imm8: 1.0144/1.0116
rol r32, imm8: 1.0146/1.0116
ror r64, imm8: 1.0145/1.0119
ror r32, imm8: 1.0147/1.0118
sal r64, imm8: 1.0012/0.51124
sal r32, imm8: 1.0013/0.50894
sar r64, imm8: 1.0013/0.51124
sar r32, imm8: 1.0014/0.50894
shl r64, imm8: 1.0015/0.51138
shl r32, imm8: 1.0014/0.50894
shld r64, r64, imm8: 3.9982/1.0116
shld r32, r32, imm8: 3.9904/1.0120
shr r64, imm8: 1.0012/0.51124
shr r32, imm8: 1.0014/0.50899
shrd r64, r64, imm8: 3.0004/1.0116
shrd r32, r32, imm8: 2.9944/1.0119
bsf r64, r64: 3.0003/1.0009
bsf r32, r32: 2.9946/1.0009
bsr r64, r64: 3.0005/1.0010
bsr r32, r32: 2.9949/1.0011
bt r64, r64: 1.0156/1.0129
bt r32, r32: 1.0156/1.0128
btc r64, r64: 1.0155/1.0126
btc r32, r32: 1.0157/1.0129
btr r64, r64: 1.0157/1.0129
btr r32, r32: 1.0154/1.0126
bts r64, r64: 1.0154/1.0126
bts r32, r32: 1.0154/1.0126
test r64, r64: 0.51422/0.51142
test r32, r32: 0.51408/0.51122
clc: 0.016294/0.34602
cld: 0.016294/4.0154
cmc: 0.016299/1.0096
lahf: 0.016312/0.34604
sahf: 0.016299/0.34613
stc: 0.016299/0.34615
std: 0.016312/5.0158
Dark Shikari
5th November 2008, 19:28
And Penryn, for comparison:
mpsadbw xmm, xmm, imm8: 4.0061/2.0110
phminposuw xmm, xmm: 4.0054/4.0044
pmulld xmm, xmm: 5.0081/2.0196
pmuldq xmm, xmm: 3.0025/1.0079
blendps xmm, xmm, imm8: 1.0089/1.0058
blendpd xmm, xmm, imm8: 1.0018/1.0033
pblendw xmm, xmm, imm8: 1.0018/1.0031
blendvps xmm, xmm, xmm0: 2.0027/2.0162
blendvpd xmm, xmm, xmm0: 2.0028/2.0115
pblendvb xmm, xmm, xmm0: 2.0027/2.0116
pmaxsb xmm, xmm: 1.0016/1.0034
pminsb xmm, xmm: 1.0016/1.0048
pmaxuw xmm, xmm: 1.0017/1.0053
pminuw xmm, xmm: 1.0016/1.0052
pmaxsd xmm, xmm: 1.0015/1.0056
pminsd xmm, xmm: 1.0016/1.0057
pmaxud xmm, xmm: 1.0016/1.0047
pminud xmm, xmm: 1.0016/1.0052
insertps xmm, xmm, imm8: 1.0089/1.0058
pinsrb xmm, r32, imm8: 2.5023/1.0118
pinsrd xmm, r32, imm8: 2.5023/1.0117
pinsrq xmm, r64, imm8: 2.5022/1.0118
extractps r32, xmm, imm8: 0.0039042/1.0176
pextrb r32, xmm, imm8: 2.5048/1.0136
pextrd r32, xmm, imm8: 2.5051/1.0136
pextrq r64, xmm, imm8: 2.5050/1.0136
pmovsxbw xmm, xmm: 1.0027/1.0020
pmovzxbw xmm, xmm: 1.0028/1.0020
pmovsxbd xmm, xmm: 1.0027/1.0019
pmovzxbd xmm, xmm: 1.0028/1.0019
pmovsxbq xmm, xmm: 1.0028/1.0020
pmovzxbq xmm, xmm: 1.0028/1.0020
pmovsxwd xmm, xmm: 1.0028/1.0019
pmovzxwd xmm, xmm: 1.0028/1.0019
pmovsxwq xmm, xmm: 1.0029/1.0019
pmovzxwq xmm, xmm: 1.0027/1.0019
pmovsxdq xmm, xmm: 1.0028/1.0018
pmovzxdq xmm, xmm: 1.0028/1.0019
ptest xmm, xmm: 1.0161/1.0127
pcmpeqq xmm, xmm: 1.0028/1.0057
packusdw xmm, xmm: 1.0028/1.0056
dpps xmm, xmm, imm8: 11.010/2.0863
dppd xmm, xmm, imm8: 9.0079/2.2169
roundps xmm, xmm, imm8: 3.0025/1.0219
roundss xmm, xmm, imm8: 3.0025/1.0101
roundpd xmm, xmm, imm8: 3.0024/1.0127
roundsd xmm, xmm, imm8: 3.0022/1.0117
psignb xmm, xmm: 1.0050/1.0111
psignw xmm, xmm: 1.0050/1.0111
psignd xmm, xmm: 1.0050/1.0111
pshufb xmm, xmm: 1.0028/1.0058
pmulhrsw xmm, xmm: 3.0027/1.0077
pmaddubsw xmm, xmm: 3.0024/1.0074
phsubw xmm, xmm: 3.0066/2.0106
phsubsw xmm, xmm: 3.0069/2.0106
phsubd xmm, xmm: 3.0070/2.0107
phaddw xmm, xmm: 3.0068/2.0106
phaddsw xmm, xmm: 3.0064/2.0104
phaddd xmm, xmm: 3.0069/2.0105
palignr xmm, xmm, imm8: 1.0018/1.0046
pabsb xmm, xmm: 1.0064/0.51002
pabsw xmm, xmm: 1.0064/0.51002
pabsd xmm, xmm: 1.0061/0.50986
psignb mm, mm: 1.0125/1.0115
psignw mm, mm: 1.0125/1.0117
psignd mm, mm: 1.0125/1.0117
pshufb mm, mm: 1.0124/1.0108
pmulhrsw mm, mm: 3.0024/1.0107
pmaddubsw mm, mm: 3.0018/1.0104
phsubw mm, mm: 3.0060/2.0131
phsubsw mm, mm: 3.0064/2.0133
phsubd mm, mm: 3.0064/2.0134
phaddw mm, mm: 3.0064/2.0134
phaddsw mm, mm: 3.0065/2.0134
phaddd mm, mm: 3.0066/2.0133
palignr mm, mm, imm8: 2.0037/2.0026
pabsb mm, mm: 1.0125/1.0108
pabsw mm, mm: 1.0125/1.0108
pabsd mm, mm: 1.0125/1.0108
addsubpd xmm, xmm: 3.0023/1.0008
addsubps xmm, xmm: 3.0018/1.0224
haddpd xmm, xmm: 6.0062/1.1376
haddps xmm, xmm: 7.0082/2.0174
hsubpd xmm, xmm: 6.0065/1.1377
hsubps xmm, xmm: 7.0085/2.0178
movddup xmm, xmm: 1.0125/1.0106
movshdup xmm, xmm: 1.0027/1.0018
movsldup xmm, xmm: 1.0027/1.0019
cvtdq2ps xmm, xmm: 3.0022/1.0145
cvtps2dq xmm, xmm: 3.0025/1.0009
cvttps2dq xmm, xmm: 3.0025/1.0008
movd xmm, r32: 1.9781/0.51158
movd r32, xmm: 2.0044/0.51086
movdqa xmm, xmm: 1.0089/0.34645
movdq2q mm, xmm: 1.0089/0.51080
movq2dq xmm, mm: 1.0089/0.51083
movq xmm, xmm: 1.0090/0.34648
packsswb xmm, xmm: 1.0028/1.0020
packssdw xmm, xmm: 1.0029/1.0020
packuswb xmm, xmm: 1.0028/1.0020
paddb xmm, xmm: 1.0049/1.0112
paddw xmm, xmm: 1.0050/1.0112
paddd xmm, xmm: 1.0049/1.0111
paddsb xmm, xmm: 1.0049/1.0111
paddsw xmm, xmm: 1.0050/1.0112
paddusb xmm, xmm: 1.0049/1.0111
paddusw xmm, xmm: 1.0050/1.0112
paddq xmm, xmm: 2.0057/1.0127
psubq xmm, xmm: 2.0058/1.0127
pand xmm, xmm: 1.0089/1.0113
pandn xmm, xmm: 1.0088/1.0112
pavgb xmm, xmm: 1.0050/1.0112
pavgw xmm, xmm: 1.0049/1.0112
pcmpeqb xmm, xmm: 1.0050/1.0112
pcmpeqd xmm, xmm: 1.0050/1.0112
pcmpeqw xmm, xmm: 1.0050/1.0111
pcmpgtb xmm, xmm: 1.0050/1.0113
pcmpgtd xmm, xmm: 1.0050/1.0111
pcmpgtw xmm, xmm: 1.0049/1.0112
pextrw r32, xmm, imm8: 2.5050/1.0135
pinsrw xmm, r32, imm8: 2.5023/1.0112
pmaddwd xmm, xmm: 3.0026/1.0010
pmaxub xmm, xmm: 1.0050/1.0112
pmaxsw xmm, xmm: 1.0051/1.0112
pminub xmm, xmm: 1.0050/1.0112
pminsw xmm, xmm: 1.0049/1.0112
pmovmskb r32, xmm: 0.016593/1.0009
pmulhuw xmm, xmm: 3.0025/1.0009
pmulhw xmm, xmm: 3.0025/1.0010
pmullw xmm, xmm: 3.0026/1.0009
pmuludq xmm, xmm: 3.0026/1.0011
por xmm, xmm: 1.0087/1.0112
psadbw xmm, xmm: 3.0027/1.0010
pshufd xmm, xmm, imm8: 1.0029/1.0019
pshufhw xmm, xmm, imm8: 1.0027/1.0020
pshuflw xmm, xmm, imm8: 1.0027/1.0019
pslldq xmm, imm8: 1.0027/1.0019
psllw xmm, xmm: 2.0057/1.0136
pslld xmm, xmm: 2.0056/1.0136
psllq xmm, xmm: 2.0055/1.0136
psraw xmm, xmm: 2.0055/1.0136
psrad xmm, xmm: 2.0056/1.0136
psrldq xmm, imm8: 1.0027/1.0018
psrlw xmm, xmm: 2.0055/1.0136
psrld xmm, xmm: 2.0054/1.0137
psrlq xmm, xmm: 2.0055/1.0136
psubb xmm, xmm: 1.0049/1.0112
psubw xmm, xmm: 1.0048/1.0112
psubd xmm, xmm: 1.0049/1.0109
psubsb xmm, xmm: 1.0049/1.0111
psubsw xmm, xmm: 1.0049/1.0112
psubusb xmm, xmm: 1.0050/1.0112
psubusw xmm, xmm: 1.0050/1.0113
punpckhbw xmm, xmm: 1.0027/1.0018
punpckhwd xmm, xmm: 1.0028/1.0018
punpckhdq xmm, xmm: 1.0028/1.0020
punpckhqdq xmm, xmm: 1.0028/1.0020
punpcklbw xmm, xmm: 1.0028/1.0020
punpcklwd xmm, xmm: 1.0028/1.0018
punpckldq xmm, xmm: 1.0026/1.0018
punpcklqdq xmm, xmm: 1.0025/1.0018
pxor xmm, xmm: 1.0087/1.0111
paddq mm, mm: 2.0056/1.0126
psubq mm, mm: 2.0054/1.0127
pmuludq mm, mm: 3.0024/1.0008
addpd xmm, xmm: 3.0023/1.0010
addsd xmm, xmm: 3.0025/1.0009
andnpd xmm, xmm: 1.0087/1.0112
andpd xmm, xmm: 1.0088/1.0111
cmppd xmm, xmm, imm8: 3.0024/1.0087
cmpsd xmm, xmm, imm8: 3.0021/1.0072
comisd xmm, xmm: 1.0133/1.0113
cvtdq2pd xmm, xmm: 4.0046/1.0125
cvtpd2pi mm, xmm: 4.0048/1.0145
cvtpd2dq xmm, xmm: 4.0049/1.0174
cvtpd2ps xmm, xmm: 4.0056/1.0221
cvtpi2pd xmm, mm: 4.0048/1.0126
cvtps2pd xmm, xmm: 2.0026/2.0015
cvtsd2si r32, xmm: 3.5030/1.0009
cvtsd2ss xmm, xmm: 4.0052/1.0180
cvtsi2sd xmm, r32: 3.5007/1.0127
cvtss2sd xmm, xmm: 2.0027/2.0017
cvttpd2pi mm, xmm: 4.0050/1.0146
cvttpd2dq xmm, xmm: 4.0050/1.0171
cvttsd2si r32, xmm: 3.5038/1.0009
divpd xmm, xmm: 6.0051/5.0041
divsd xmm, xmm: 6.0044/5.0036
maxpd xmm, xmm: 3.0023/1.0010
maxsd xmm, xmm: 3.0024/1.0010
minpd xmm, xmm: 3.0025/1.0009
minsd xmm, xmm: 3.0022/1.0009
movapd xmm, xmm: 1.0089/0.34645
movmskpd r32, xmm: 0.016593/1.0008
movsd xmm, xmm: 1.0087/1.0112
movupd xmm, xmm: 1.0090/0.34652
mulpd xmm, xmm: 5.0032/1.0038
mulsd xmm, xmm: 5.0039/1.0044
orpd xmm, xmm: 1.0087/1.0113
shufpd xmm, xmm, imm8: 1.0016/1.0050
sqrtpd xmm, xmm: 6.0050/5.0044
sqrtsd xmm, xmm: 6.0051/5.0045
subpd xmm, xmm: 3.0026/1.0010
subsd xmm, xmm: 3.0023/1.0010
ucomisd xmm, xmm: 1.0133/1.0112
unpckhpd xmm, xmm: 1.0015/1.0113
unpcklpd xmm, xmm: 1.0016/1.0113
xorpd xmm, xmm: 1.0087/1.0111
addps xmm, xmm: 3.0026/1.0221
addss xmm, xmm: 3.0025/1.0009
andnps xmm, xmm: 1.0119/1.0152
andps xmm, xmm: 1.0119/1.0152
cmpps xmm, xmm, imm8: 3.0024/1.0225
cmpss xmm, xmm, imm8: 3.0025/1.0074
comiss xmm, xmm: 1.0133/1.0112
cvtpi2ps xmm, mm: 3.0025/1.0223
cvtps2pi mm, xmm: 3.0025/1.0009
cvtsi2ss xmm, r32: 2.9998/1.0078
cvtss2si r32, xmm: 3.0024/1.0009
cvttps2pi mm, xmm: 3.0025/1.0009
cvttss2si r32, xmm: 3.0023/1.0009
divps xmm, xmm: 6.0052/5.0045
divss xmm, xmm: 6.0052/5.0041
maxps xmm, xmm: 3.0024/1.0225
maxss xmm, xmm: 3.0024/1.0010
minps xmm, xmm: 3.0024/1.0225
minss xmm, xmm: 3.0026/1.0011
movaps xmm, xmm: 1.0118/0.35164
movhlps xmm, xmm: 1.0084/1.0057
movlhps xmm, xmm: 1.0084/1.0056
movmskps r32, xmm: 0.0039042/1.0048
movss xmm, xmm: 1.0087/1.0111
movups xmm, xmm: 1.0118/0.35161
mulps xmm, xmm: 4.0032/1.0174
mulss xmm, xmm: 4.0033/1.0009
orps xmm, xmm: 1.0119/1.0150
rcpps xmm, xmm: 3.0021/2.0015
rcpss xmm, xmm: 3.0024/2.0018
rsqrtps xmm, xmm: 3.0023/2.0015
rsqrtss xmm, xmm: 3.0024/2.0018
shufps xmm, xmm, imm8: 1.0090/1.0078
sqrtps xmm, xmm: 6.0039/5.0042
sqrtss xmm, xmm: 6.0049/5.0035
subps xmm, xmm: 3.0024/1.0225
subss xmm, xmm: 3.0023/1.0009
ucomiss xmm, xmm: 1.0133/1.0112
unpckhps xmm, xmm: 1.0089/1.0083
unpcklps xmm, xmm: 1.0088/1.0078
xorps xmm, xmm: 1.0118/1.0151
pavgb mm, mm: 1.0060/0.51002
pavgw mm, mm: 1.0060/0.51002
pextrw r32, mm, imm8: 2.5060/1.0136
pinsrw mm, r32, imm8: 2.5017/1.0108
pmaxub mm, mm: 1.0061/0.51002
pmaxsw mm, mm: 1.0060/0.50992
pminub mm, mm: 1.0060/0.51008
pminsw mm, mm: 1.0062/0.51008
pmovmskb r32, mm: 0.016593/1.0007
pmulhuw mm, mm: 3.0018/1.0010
psadbw mm, mm: 3.0024/1.0008
pshufw mm, mm, imm8: 1.0027/1.0019
movd mm, r32: 1.9778/0.51154
movd r32, mm: 2.0043/0.51074
movq mm, mm: 1.0090/0.34664
packsswb mm, mm: 1.0021/1.0010
packssdw mm, mm: 1.0021/1.0009
packuswb mm, mm: 1.0021/1.0009
paddb mm, mm: 1.0061/0.51008
paddw mm, mm: 1.0061/0.50995
paddd mm, mm: 1.0062/0.51002
paddsb mm, mm: 1.0060/0.50993
paddsw mm, mm: 1.0059/0.50993
paddusb mm, mm: 1.0060/0.51002
paddusw mm, mm: 1.0061/0.51008
pand mm, mm: 1.0089/0.36905
pandn mm, mm: 1.0090/0.36876
pcmpeqb mm, mm: 1.0061/0.51014
pcmpeqd mm, mm: 1.0061/0.51002
pcmpeqw mm, mm: 1.0061/0.50999
pcmpgtb mm, mm: 1.0060/0.51005
pcmpgtd mm, mm: 1.0061/0.51005
pcmpgtw mm, mm: 1.0061/0.51005
pmaddwd mm, mm: 3.0024/1.0009
pmulhw mm, mm: 3.0025/1.0009
pmullw mm, mm: 3.0026/1.0010
por mm, mm: 1.0088/0.36867
psllq mm, mm: 1.0021/1.0009
psllw mm, mm: 1.0021/1.0009
pslld mm, mm: 1.0021/1.0009
psraw mm, mm: 1.0020/1.0011
psrad mm, mm: 1.0020/1.0009
psrlq mm, mm: 1.0020/1.0009
psrlw mm, mm: 1.0020/1.0011
psrld mm, mm: 1.0021/1.0009
psubb mm, mm: 1.0061/0.51008
psubw mm, mm: 1.0062/0.51011
psubd mm, mm: 1.0060/0.51005
psubsb mm, mm: 1.0062/0.51011
psubsw mm, mm: 1.0061/0.50998
psubusb mm, mm: 1.0061/0.51002
psubusw mm, mm: 1.0063/0.51005
punpckhbw mm, mm: 1.0020/1.0009
punpckhwd mm, mm: 1.0020/1.0010
punpckhdq mm, mm: 1.0021/1.0010
punpcklbw mm, mm: 1.0020/1.0009
punpcklwd mm, mm: 1.0020/1.0009
punpckldq mm, mm: 1.0021/1.0009
pxor mm, mm: 1.0090/0.36873
emms: 0.016593/6.0177
bswap r64: 3.9809/1.0117
bswap r32: 3.9807/1.0117
cbw: 0.016593/1.0107
cdq: 0.016593/1.0107
cdqe: 0.016593/1.0107
cqo: 0.016593/1.0108
cwd: 0.016593/1.0107
cwde: 0.016593/1.0107
cmova r64, r64: 2.0166/2.0136
cmova r32, r32: 2.0147/2.0135
cmovae r64, r64: 2.0164/2.0135
cmovae r32, r32: 2.0147/2.0136
cmovb r64, r64: 2.0164/2.0136
cmovb r32, r32: 2.0145/2.0135
cmovbe r64, r64: 2.0166/2.0136
cmovbe r32, r32: 2.0145/2.0135
cmovc r64, r64: 2.0164/2.0134
cmovc r32, r32: 2.0147/2.0134
cmove r64, r64: 2.0065/2.0117
cmove r32, r32: 2.0063/2.0115
cmovg r64, r64: 2.0065/2.0115
cmovg r32, r32: 2.0061/2.0117
cmovge r64, r64: 2.0066/2.0118
cmovge r32, r32: 2.0060/2.0116
cmovl r64, r64: 2.0064/2.0115
cmovl r32, r32: 2.0063/2.0115
cmovle r64, r64: 2.0065/2.0117
cmovle r32, r32: 2.0063/2.0115
cmovna r64, r64: 2.0164/2.0135
cmovna r32, r32: 2.0147/2.0136
cmovnae r64, r64: 2.0167/2.0135
cmovnae r32, r32: 2.0148/2.0134
cmovnb r64, r64: 2.0165/2.0135
cmovnb r32, r32: 2.0147/2.0137
cmovnbe r64, r64: 2.0166/2.0134
cmovnbe r32, r32: 2.0148/2.0136
cmovnc r64, r64: 2.0164/2.0136
cmovnc r32, r32: 2.0146/2.0136
cmovne r64, r64: 2.0066/2.0115
cmovne r32, r32: 2.0063/2.0115
cmovng r64, r64: 2.0065/2.0116
cmovng r32, r32: 2.0062/2.0115
cmovnge r64, r64: 2.0065/2.0115
cmovnge r32, r32: 2.0059/2.0113
cmovnl r64, r64: 2.0062/2.0113
cmovnl r32, r32: 2.0063/2.0114
cmovnle r64, r64: 2.0063/2.0115
cmovnle r32, r32: 2.0058/2.0110
cmovno r64, r64: 2.0064/2.0115
cmovno r32, r32: 2.0060/2.0114
cmovnp r64, r64: 2.0063/2.0111
cmovnp r32, r32: 2.0057/2.0112
cmovns r64, r64: 2.0064/2.0114
cmovns r32, r32: 2.0057/2.0113
cmovnz r64, r64: 2.0062/2.0114
cmovnz r32, r32: 2.0056/2.0111
cmovo r64, r64: 2.0063/2.0112
cmovo r32, r32: 2.0058/2.0111
cmovp r64, r64: 2.0062/2.0113
cmovp r32, r32: 2.0060/2.0114
cmovs r64, r64: 2.0063/2.0114
cmovs r32, r32: 2.0062/2.0113
cmovz r64, r64: 2.0061/2.0113
cmovz r32, r32: 2.0059/2.0113
cmpxchg r64, r64: 7.4645/7.4495
cmpxchg r32, r32: 7.6643/7.7702
mov r64, r64: 1.0037/0.34654
mov r32, r32: 1.0035/0.35248
movsx r64, r32: 0.36911/0.36517
xadd r64, r64: 2.0806/2.5442
xadd r32, r32: 2.1309/2.5368
xchg r64, r64: 2.0696/1.3245
xchg r32, r32: 2.0163/1.3756
adc r64, r64: 2.0160/2.0160
adc r32, r32: 2.0159/2.0175
add r64, r64: 1.0080/1.0112
add r32, r32: 1.0072/0.49971
cmp r64, r64: 1.0133/1.0111
cmp r32, r32: 1.0134/1.0111
dec r64: 1.0035/0.34654
dec r32: 1.0036/0.34683
div r64: 28.298/17.661
div r32: 13.841/5.0146
idiv r64: 38.544/26.964
idiv r32: 14.329/5.0155
imul r64, r64: 5.0005/2.0014
imul r32, r32: 2.9950/1.0008
inc r64: 1.0037/0.34661
inc r32: 1.0036/0.34679
mul r64: 7.9667/6.6234
mul r32: 4.7412/4.7653
neg r64: 1.0035/0.34654
neg r32: 1.0034/0.34683
sbb r64, r64: 2.0157/2.0158
sbb r32, r32: 2.0157/2.0172
sub r64, r64: 1.0078/1.0110
sub r32, r32: 1.0073/0.49971
and r64, r64: 1.0079/1.0112
and r32, r32: 1.0073/0.49961
not r64: 1.0034/0.34658
not r32: 1.0036/0.34685
or r64, r64: 1.0077/1.0110
or r32, r32: 1.0070/0.49974
xor r64, r64: 1.0077/1.0110
xor r32, r32: 1.0070/0.49967
rcl r64, imm8: 11.514/10.015
rcl r32, imm8: 11.516/10.017
rcr r64, imm8: 11.517/10.017
rcr r32, imm8: 11.516/10.017
rol r64, imm8: 1.0125/1.0108
rol r32, imm8: 1.0126/1.0108
ror r64, imm8: 1.0125/1.0108
ror r32, imm8: 1.0126/1.0108
sal r64, imm8: 1.0026/0.51030
sal r32, imm8: 1.0027/0.51002
sar r64, imm8: 1.0026/0.51026
sar r32, imm8: 1.0026/0.51005
shl r64, imm8: 1.0026/0.51027
shl r32, imm8: 1.0027/0.51017
shld r64, r64, imm8: 1.0130/1.0118
shld r32, r32, imm8: 1.0222/1.0107
shr r64, imm8: 1.0026/0.51027
shr r32, imm8: 1.0026/0.51011
shrd r64, r64, imm8: 1.0130/1.0117
shrd r32, r32, imm8: 1.0221/1.0107
bsf r64, r64: 2.0054/1.0128
bsf r32, r32: 2.0027/1.0126
bsr r64, r64: 2.0055/1.0126
bsr r32, r32: 2.0026/1.0127
bt r64, r64: 1.0135/1.0117
bt r32, r32: 1.0135/1.0117
btc r64, r64: 1.0126/1.0117
btc r32, r32: 1.0125/1.0107
btr r64, r64: 1.0125/1.0118
btr r32, r32: 1.0125/1.0107
bts r64, r64: 1.0125/1.0117
bts r32, r32: 1.0126/1.0108
test r64, r64: 1.0133/1.0112
test r32, r32: 1.0133/1.0112
clc: 0.016600/0.34639
cld: 0.016600/3.0132
cmc: 0.016593/1.0131
lahf: 0.016593/0.34897
sahf: 0.016593/0.34642
stc: 0.016593/0.34639
std: 0.016593/14.026
Sagekilla
5th November 2008, 20:59
It seems like on average, nehalem has slightly higher latency and lower throughput. Then again on the specific ones that matter I suppose this doesn't really matter.
Dark Shikari
5th November 2008, 21:13
It seems like on average, nehalem has slightly higher latency and lower throughput. Then again on the specific ones that matter I suppose this doesn't really matter.Latency is roughly the same for everything that matters, and throughput is twice as good for all the major SIMD instructions (add, sub, etc).
Many 64-bit ops are faster as well.
kemuri-_9
6th November 2008, 01:22
Latency is roughly the same for everything that matters, and throughput is twice as good for all the major SIMD instructions (add, sub, etc).
Many 64-bit ops are faster as well.
ah that does remind me... (and a bit OT...) did anything get started on win x64 asm, or is that still on hold until someone can donate a box?
Sagekilla
6th November 2008, 03:45
Once I get a job I'll gladly donate some money to help get a 64-bit box. I'd love to see 64-bit support, especially since I'll be moving over to x64 for the full addressing space ;)
akupenguin
6th November 2008, 04:09
did anything get started on win x64 asm?
Still on hold.
Once I get a job I'll gladly donate some money to help get a 64-bit box.
Oh, the developers already have 64bit boxen. What we don't have or want is win64.
Acceptable solutions involve either ssh into someone else's win64 box (so I don't have to deal with administration or extra hardware or reboot), or some kind of VM (which I have no experience with).
LoRd_MuldeR
6th November 2008, 04:25
Oh, the developers already have 64bit boxen. What we don't have or want is win64.
I understand very well if you don't want to go Vista x64.
However I guess you currently have Windows installed on your machine, at least for testing x264 on Win32. Most likely you are running WindowsXP, right?
So why not go WindowsXP x64-Edition then? The Look&Feel is exactly like "normal" WindowsXP, driver support shouldn't be a problem and it runs rock stable (believe me).
Unless you run some x64 programs, you won't even notice the difference. And if you need to run x64 programs you can do so.
Also my offer still stands: If anybody could provide me with some instructions on how to set up the SSH thingy properly, I'll do so ASAP.
I can't guarantee that my machine is up 24/7, but I could keep it running longer on request, even when I'm not at home...
Sagekilla
6th November 2008, 04:33
In the case of ssh into a win64 environment, I might be able to provide something like that very soon. I'll be upgrading my main system to a new platform soon, so I'm relegating the old parts to a server, which will run 64-bit XP in that case.
After that, it's a simple matter of setting up ssh for you over the network.
Sharktooth
6th November 2008, 04:36
or RDP... that will eat more bandwidth but lets you do more things than the half-ass windows console... unless you can properly set up a ssh daemon on cygwin or msys/mingw.
mikeytown2
6th November 2008, 09:56
This is what I use for RDP connections to my box, works great!
http://www.kood.org/terminal-server-patch/
http://www.codeplex.com/Terminals
http://www.no-ip.com/services/managed_dns/free_dynamic_dns.html
I've used OpenVPN (http://openvpn.net/) or Hamachi (https://secure.logmein.com/products/hamachi/vpn.asp?lang=en) to take care of the tunnel, depending on the client I was setting it up for. You can also follow this guide to make your own tunnel
http://theillustratednetwork.mvps.org/Ssh/RemoteDesktopSSH.html
G_M_C
6th November 2008, 11:08
I've been saving up for a new system; And for my next system i'd like to go back to a dual-CPU system / workstation. I've tried dual-core/quad-core, but it isn't as fluent as my former dual Xeon.
I've seen dual Nehalem (i7) boards on display, but none has arrived to market yet. But what i found is that many of these dual-boards seem to have a NUMA-configuration. Since Nehalem (i7) has it own on-die memory controller, a NUMA configuration makes sence; In this case each core can have direct access to memory, as opposed to the other option that 1 CPU has to "go tru" the other CPU to get to the memory.
I have no expiriance with NUMA-configurations, and so my question is this: Would a system like NUMA have advantages to x264 (would NUMA have a benifit at all ? ). and would "it work" by itself, or is a special compiled version be needed to make use of this ?
NUMA: http://en.wikipedia.org/wiki/Non-Uniform_Memory_Access
(I could allways simply "virtualize" a 2nd PC for my encodes, and keep working on the other "virtual PC" ... but more power is better in encoding-world :p )
akupenguin
6th November 2008, 12:46
More mubench results (http://akuvian.org/src/mubench_results.txt).
IMO easier to read than Dark Shikari's table.
onlym3
7th November 2008, 09:14
I've been saving up for a new system; And for my next system i'd like to go back to a dual-CPU system / workstation.Same here, my problem is, which one would be faster for x264 encoding? Given the choice between a dual-cpu system with 2 Xeon E5405 or a nehalem system with an i7-920, which one would be faster?
G_M_C
7th November 2008, 09:31
Same here, my problem is, which one would be faster for x264 encoding? Given the choice between a dual-cpu system with 2 Xeon E5405 or a nehalem system with an i7-920, which one would be faster?
I suspect the Nehalem, but who knows.
I'm waiting for the Xeon-version of the Nehalem's/i7's, so i can build a dual based on those. And those systems are going to be NUMA configured (expected is that all "more-than-one-CPU systems" will be NUMA configured, so NUMA awareness might be resonable to take into account).
Dark Shikari
7th November 2008, 09:40
Another patch coming soon: No change on A64, 0.3% boost on Core 2, 0.6% boost on Nehalem. Every bit counts. :cool:
plonk420
7th November 2008, 11:07
How about this? (http://i38.tinypic.com/161nvdh.png)
is this at the same clock speed?
Dark Shikari
7th November 2008, 11:10
is this at the same clock speed?No, the numbers were measured in clock cycles, so its independent of clock speed.
Chengbin
8th November 2008, 05:14
Wow, x264 on Nehalem sounds great! My old Q6600 must suck really bad now... I want one!
Unforunately I have to wait another 2 years to get another computer...
Keep up this good job! I like this.
Sagekilla
8th November 2008, 07:18
Haha, your Q6600 must suck? I'll take it off you :) To replace my good old Opteron 170.
Sagekilla
9th November 2008, 20:27
@Dark Shikari: What instruction was improved that caused weight B-pred to have such a massive speedup?
akupenguin
9th November 2008, 21:03
paddw and punpcklbw got double throughput. Also biweight has unaligned input, and the cacheline split penalty was reduced from 12 cycles to 2.
LoRd_MuldeR
10th November 2008, 02:01
And now back on topic: Are all the patches for Nehalem (that have been made) already committed or are there some being tested still?
Unless I missed something, the patch mentioned here (http://forum.doom9.org/showpost.php?p=1210735&postcount=36) was not committed yet.
lexor
10th November 2008, 02:44
DS also said that they are holding one of the patches back because it has issues, possibly the same patch LoRd mentioned.
Dark Shikari
10th November 2008, 02:46
DS also said that they are holding one of the patches back because it has issues, possibly the same patch LoRd mentioned.No, that's the phminposuw patch, which just doesn't work right and we're not really sure why.
burfadel
10th November 2008, 11:39
CPUs can contain errors, its possible its a manufacturing/design flaw that may be rectified with a future stepping or bios microcode? update...
akupenguin
10th November 2008, 14:14
CPUs can contain errors, its possible its a manufacturing/design flaw
Not to underestimate the number of hardware errors that have been discovered by ffmpeg/x264, but I really don't think that's the problem. The phminposuw patch was developed and tested on a penryn, so there's been plenty of time for people to notice if the instruction didn't work at all.
foxyshadis
12th November 2008, 04:43
Off-topic posts moved (https://forum.doom9.org/showthread.php?t=142723)
kemuri-_9
12th November 2008, 04:49
so how much more do the x264 devs expect to increase the performance on the nehalem chip?
even some 'eyeball guesses' would be OK, if you don't know for sure.
azerty@qwaerty
12th November 2008, 09:23
so how much more do the x264 devs expect to increase the performance on the nehalem chip?
even some 'eyeball guesses' would be OK, if you don't know for sure.
Intel say 40% for massive multithread software. For same clock nehalem will increase x264 at 40% the performance.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.