On 2/27/24 00:43, Richard Biener wrote:
On Tue, 27 Feb 2024, haochen.jiang wrote:
On Linux/x86_64,
af66ad89e8169f44db723813662917cf4cbb78fc is the first bad commit
commit af66ad89e8169f44db723813662917cf4cbb78fc
Author: Richard Biener <rguent...@suse.de>
Date: Fri Feb 23 16:06:05 2024 +0100
middle-end/114070 - folding breaking VEC_COND expansion
caused
FAIL: gcc.dg/tree-ssa/andnot-2.c scan-tree-dump-not forwprop3 "_expr"
This shows that the x86 backend is missing vcond_mask_qiqi and friends
(for AVX512 mask modes). Either that or both expand_vec_cond_expr_p
and all the machinery behind it (ISEL pass, lowering) should handle
pure integer mode VEC_COND_EXPR via bit operations. I think quite some
targets now implement patterns for these variants, whatever their
boolean vector modes are.
There may be more going on than just that. The andnot-2 test started
regressing on most targets overnight, including on targets without
vector capabilities.
fr30-elf for example:
Tests that now fail, but worked before (2 tests):
fr30-sim: gcc: gcc.dg/tree-ssa/andnot-2.c scan-tree-dump-not forwprop3 "_expr"
fr30-sim: gcc: gcc.dg/tree-ssa/andnot-2.c scan-tree-dump-not forwprop3 "_expr"
Jeff