title: In x86 what's difference between "test eax,eax" and "cmp eax,0"
body: <p>Is <code>test eax, eax</code> more efficient than <code>cmp eax, 0</code>? Is there any case that the <code>test eax, eax</code> is necessary where <code>cmp eax, 0</code> doesn't fulfill requirement?</p>