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

Reply via email to