From deef5083cda7b805977fe537f05b23da9406894e Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 8 Nov 2017 21:15:42 +0100 Subject: [PATCH] re PR target/82855 (AVX512: replace OP+movemask with OP_mask+ktest) PR target/82855 * config/i386/sse.md (_eq3, _eq3_1): Use nonimmediate_operand predicate for operand 1 instead of register_operand. From-SVN: r254552 --- gcc/ChangeLog | 8 ++++++++ gcc/config/i386/sse.md | 8 ++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 805625f8f3d..15bba026063 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2017-11-08 Jakub Jelinek + + PR target/82855 + * config/i386/sse.md (_eq3, + _eq3_1): Use + nonimmediate_operand predicate for operand 1 instead of + register_operand. + 2017-11-08 Kyrylo Tkachov * config/aarch64/aarch64-simd.md (store_pair_lanes): diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 200aad65e24..919b6c674e0 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -11127,7 +11127,7 @@ (define_expand "_eq3" [(set (match_operand: 0 "register_operand") (unspec: - [(match_operand:VI12_AVX512VL 1 "register_operand") + [(match_operand:VI12_AVX512VL 1 "nonimmediate_operand") (match_operand:VI12_AVX512VL 2 "nonimmediate_operand")] UNSPEC_MASKED_EQ))] "TARGET_AVX512BW" @@ -11136,7 +11136,7 @@ (define_expand "_eq3" [(set (match_operand: 0 "register_operand") (unspec: - [(match_operand:VI48_AVX512VL 1 "register_operand") + [(match_operand:VI48_AVX512VL 1 "nonimmediate_operand") (match_operand:VI48_AVX512VL 2 "nonimmediate_operand")] UNSPEC_MASKED_EQ))] "TARGET_AVX512F" @@ -11145,7 +11145,7 @@ (define_insn "_eq3_1" [(set (match_operand: 0 "register_operand" "=Yk") (unspec: - [(match_operand:VI12_AVX512VL 1 "register_operand" "%v") + [(match_operand:VI12_AVX512VL 1 "nonimmediate_operand" "%v") (match_operand:VI12_AVX512VL 2 "nonimmediate_operand" "vm")] UNSPEC_MASKED_EQ))] "TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))" @@ -11158,7 +11158,7 @@ (define_insn "_eq3_1" [(set (match_operand: 0 "register_operand" "=Yk") (unspec: - [(match_operand:VI48_AVX512VL 1 "register_operand" "%v") + [(match_operand:VI48_AVX512VL 1 "nonimmediate_operand" "%v") (match_operand:VI48_AVX512VL 2 "nonimmediate_operand" "vm")] UNSPEC_MASKED_EQ))] "TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))" -- 2.30.2