vect: Fix an ICE in vect_recog_mask_conversion_pattern
authorDuan bo <duanbo3@huawei.com>
Mon, 12 Oct 2020 11:32:57 +0000 (12:32 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Mon, 12 Oct 2020 11:32:57 +0000 (12:32 +0100)
commit91d80cf4bd2827dd9c40fe6a7c719c909d79083d
tree4a0251704df6535689ca97a985db341f07459c88
parent91e4e16b550540723cca824b9674c7d8c43f4849
vect: Fix an ICE in vect_recog_mask_conversion_pattern

When processing the cond expression, vect_recog_mask_conversion_pattern
doesn't consider the situation that two operands of rhs1 are different
vectypes, leading to a vect ICE. This patch adds the identification and
handling of the situation to fix the problem.

gcc/ChangeLog:

PR target/96757
* tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Add
the identification and handling of the dropped situation in the
cond expression processing phase.

gcc/testsuite/ChangeLog:

PR target/96757
* gcc.target/aarch64/pr96757.c: New test.
gcc/testsuite/gcc.target/aarch64/pr96757.c [new file with mode: 0644]
gcc/tree-vect-patterns.c