https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70314
Hongtao.liu <crazylht at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |crazylht at gmail dot com --- Comment #5 from Hongtao.liu <crazylht at gmail dot com> --- (In reply to Marc Glisse from comment #4) > We now generate for the original testcase > > vpcmpd $1, %zmm3, %zmm2, %k1 > vpcmpd $1, %zmm1, %zmm0, %k0{%k1} > vpmovm2d %k0, %zmm0 > > which looks great. > > However, using | instead of &, we get > > vpcmpd $1, %zmm1, %zmm0, %k0 > vpcmpd $1, %zmm3, %zmm2, %k1 > kmovw %k0, %eax > kmovw %k1, %edx > orl %edx, %eax > kmovw %eax, %k2 Yes, korw %k0, %k1, %k2 should be used i'll take a look. > vpmovm2d %k2, %zmm0 > > Well, at least gimple did what it could, and it is now up to the target to > handle logical operations on bool vectors / k* registers. There is probably > already another bug report about that...