Change vector equality to use pmovmskb
authorMike Danes <onemihaid@hotmail.com>
Mon, 21 Nov 2016 18:30:28 +0000 (20:30 +0200)
committerMike Danes <onemihaid@hotmail.com>
Wed, 23 Nov 2016 06:12:48 +0000 (08:12 +0200)
commitb1643d1efb331a85e832d94f8128c75c588b1003
tree661b9e91125985dc810c1b86f6ed39d33e65dba6
parent3c2d0a200bf3ca46d1642ceaa57daa37a19c6ee9
Change vector equality to use pmovmskb

This change replaces the rather long shuffle based compare sequence with
pmovmskb which is available in SSE2 and AVX2. The following code is now
generated:

C4E16D76D1           vpcmpeqd ymm2, ymm1
C4E17DD7C2           vpmovmskbeax, ymm2
83F8FF               cmp      eax, -1
0F94C0               sete     al
0FB6C0               movzx    rax, al
src/jit/compiler.hpp
src/jit/instrsxarch.h
src/jit/lowerxarch.cpp
src/jit/simdcodegenxarch.cpp