On Thu, 6 Aug 2020, Christophe Lyon wrote:
2020-08-05 Marc Glisse <marc.gli...@inria.fr>
PR tree-optimization/95906
PR target/70314
* match.pd ((c ? a : b) op d, (c ? a : b) op (c ? d : e),
(v ? w : 0) ? a : b, c1 ? c2 ? a : b : b): New transformations.
(op (c ? a : b)): Update to match the new transformations.
* gcc.dg/tree-ssa/andnot-2.c: New file.
* gcc.dg/tree-ssa/pr95906.c: Likewise.
* gcc.target/i386/pr70314.c: Likewise.
I think this patch is causing several ICEs on arm-none-linux-gnueabihf
--with-cpu cortex-a9 --with-fpu neon-fp16:
Executed from: gcc.c-torture/compile/compile.exp
gcc.c-torture/compile/20160205-1.c -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions (internal
compiler error)
gcc.c-torture/compile/20160205-1.c -O3 -g (internal compiler error)
Executed from: gcc.dg/dg.exp
gcc.dg/pr87746.c (internal compiler error)
Executed from: gcc.dg/tree-ssa/tree-ssa.exp
gcc.dg/tree-ssa/ifc-cd.c (internal compiler error)
I tried a cross from x86_64-linux with current master
.../configure --target=arm-none-linux-gnueabihf --enable-languages=c,c++
--with-system-zlib --disable-nls --with-cpu=cortex-a9 --with-fpu=neon-fp16
make
it stops at some point with an error, but I have xgcc and cc1 in
build/gcc.
I copied 2 of the testcases and compiled
./xgcc pr87746.c -Ofast -S -B.
./xgcc -O3 -fdump-tree-ifcvt-details-blocks-details ifc-cd.c -S -B.
without getting any ICE.
Is there a machine on the compile farm where this is easy to reproduce?
Or could you attach the .optimized dump that corresponds to the
backtrace below? It looks like we end up with a comparison with an
unexpected return type.
Executed from: gcc.dg/vect/vect.exp
gcc.dg/vect/pr59591-1.c (internal compiler error)
gcc.dg/vect/pr59591-1.c -flto -ffat-lto-objects (internal compiler error)
gcc.dg/vect/pr86927.c (internal compiler error)
gcc.dg/vect/pr86927.c -flto -ffat-lto-objects (internal compiler error)
gcc.dg/vect/slp-cond-5.c (internal compiler error)
gcc.dg/vect/slp-cond-5.c -flto -ffat-lto-objects (internal compiler error)
gcc.dg/vect/vect-23.c (internal compiler error)
gcc.dg/vect/vect-23.c -flto -ffat-lto-objects (internal compiler error)
gcc.dg/vect/vect-24.c (internal compiler error)
gcc.dg/vect/vect-24.c -flto -ffat-lto-objects (internal compiler error)
gcc.dg/vect/vect-cond-reduc-6.c (internal compiler error)
gcc.dg/vect/vect-cond-reduc-6.c -flto -ffat-lto-objects (internal
compiler error)
Backtrace for gcc.c-torture/compile/20160205-1.c -O3
-fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer
-finline-functions
during RTL pass: expand
/gcc/testsuite/gcc.c-torture/compile/20160205-1.c:2:5: internal
compiler error: in do_store_flag, at expr.c:12259
0x8feb26 do_store_flag
/gcc/expr.c:12259
0x900201 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
/gcc/expr.c:9617
0x908cd0 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
/gcc/expr.c:10159
0x91174e expand_expr
/gcc/expr.h:282
0x91174e expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**,
rtx_def**, expand_modifier)
/gcc/expr.c:8065
0x8ff543 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
/gcc/expr.c:9950
0x908cd0 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
/gcc/expr.c:10159
0x91174e expand_expr
/gcc/expr.h:282
0x91174e expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**,
rtx_def**, expand_modifier)
/gcc/expr.c:8065
0x8ff543 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
/gcc/expr.c:9950
0x908cd0 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
/gcc/expr.c:10159
0x91174e expand_expr
/gcc/expr.h:282
0x91174e expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**,
rtx_def**, expand_modifier)
/gcc/expr.c:8065
0x8ff543 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
/gcc/expr.c:9950
0x908cd0 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
/gcc/expr.c:10159
0x91174e expand_expr
/gcc/expr.h:282
0x91174e expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**,
rtx_def**, expand_modifier)
/gcc/expr.c:8065
0x8ff543 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
/gcc/expr.c:9950
0x908cd0 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
/gcc/expr.c:10159
0x91174e expand_expr
/gcc/expr.h:282
Christophe
--
Marc Glisse