middle-end/96453 - relax gimple_expand_vec_cond_expr
authorRichard Biener <rguenther@suse.de>
Wed, 23 Sep 2020 13:03:31 +0000 (15:03 +0200)
committerRichard Biener <rguenther@suse.de>
Wed, 23 Sep 2020 13:56:32 +0000 (15:56 +0200)
commit3457dae55f72bd4ac0f346bbebb02d1613ac4b5c
treec361b2e22d8a1f2ebf9e29b57d31675d0628ceee
parent67c935c8232f6fe96a4be2dc27287b7ace839c67
middle-end/96453 - relax gimple_expand_vec_cond_expr

This relaxes the condition under which we also try NE_EXPR
for a fake generated compare in addition to LT_EXPR given
the fact the verification ICEd when it failed but obviously
was only implemented for constants.  Thus the patch removes
the verification and the restriction to constant operands.

2020-09-23  Richard Biener  <rguenther@suse.de>

PR middle-end/96453
* gimple-isel.cc (gimple_expand_vec_cond_expr): Remove
LT_EXPR -> NE_EXPR verification and also apply it for
non-constant masks.

* gcc.dg/pr96453.c: New testcase.
gcc/gimple-isel.cc
gcc/testsuite/gcc.dg/pr96453.c [new file with mode: 0644]