https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103750
--- Comment #12 from Hongtao.liu <crazylht at gmail dot com> --- (In reply to Hongtao.liu from comment #11) > (In reply to Thiago Macieira from comment #6) > > It got worse. Now I'm seeing: > > > > .L807: > > vmovdqu16 (%rsi), %ymm2 > > vmovdqu16 32(%rsi), %ymm3 > > vpcmpuw $6, %ymm0, %ymm2, %k2 > > vpcmpuw $6, %ymm0, %ymm3, %k3 > > kmovw %k2, %eax > > kmovw %k3, %edx > > kmovd %eax, %k4 > > kmovd %edx, %k5 Guess there're other usage below for %eax,%edx, that's why RA didn't choose k alternative.