On Tue, Dec 10, 2019 at 01:47:50PM +0800, Hongtao Liu wrote: > This patch is to enable integer mask cmp/cmov under AVX512F even > with TARGET_XOP . > Bootstrap and regression test on i386/x86_64 backend is ok. > > Changelog: > PR target/92865 > * gcc/config/i386/i386-expand.c (ix86_valid_mask_cmp_mode): Enable > integer mask cmov when available even with TARGET_XOP. > * gcc/testsuite/gcc.target/i386/pr92865-1.c: New test.
No gcc/ or gcc/testsuite/ prefixes in ChangeLog. > --- a/gcc/config/i386/i386-expand.c > +++ b/gcc/config/i386/i386-expand.c > @@ -3428,7 +3428,7 @@ static bool > ix86_valid_mask_cmp_mode (machine_mode mode) > { > /* XOP has its own vector conditional movement. */ > - if (TARGET_XOP) > + if (TARGET_XOP && !TARGET_AVX512F) > return false; > > /* AVX512F is needed for mask operation. */ We don't know what will AMD CPUs with AVX512* do or what will be optimal for them, there aren't any yet. I guess this is fine for now, so would be your previous && GET_MODE_SIZE (mode) == 16. Jakub