[Bug target/124663] New: [14/15/16 Regression] FAIL: gcc.dg/tree-ssa/andnot-2.c scan-tree-dump-not forwprop3 "_expr"
azoff at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Mar 27 13:34:02 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124663
Bug ID: 124663
Summary: [14/15/16 Regression] FAIL: gcc.dg/tree-ssa/andnot-2.c
scan-tree-dump-not forwprop3 "_expr"
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: azoff at gcc dot gnu.org
Target Milestone: ---
Staring with r14-9173-gaf66ad89e8169f, the andnot-2.c test starts failing for
arm-none-eabi with these flags:
thumb/arch=armv8.1-m.main+mve.fp+fp.dp/tune=cortex-m55/float-abi=hard/fpu=auto
thumb/arch=armv8.1-m.main+mve.fp+pacbti+fp.dp/tune=cortex-m85/float-abi=hard/fpu=auto
The same test succeeds for x86_64-pc-linux-gnu.
Testing tree-ssa/andnot-2.c
doing compile
Executing on host: /build/r16-8253-geb50d28a9353e9/bin/arm-none-eabi-gcc
/build/gcc_src/gcc/testsuite/gcc.dg/tree-ssa/andnot-2.c -mthumb
-march=armv8.1-m.main+mve.fp+fp.dp -mtune=cortex-m55 -mfloat-abi=hard
-mfpu=auto -fdiagnostics-plain-output -O2 -fdump-tree-forwprop3-raw -w
-Wno-psabi -S -o andnot-2.s (timeout = 800)
spawn -ignore SIGHUP /build/r16-8253-geb50d28a9353e9/bin/arm-none-eabi-gcc
/build/gcc_src/gcc/testsuite/gcc.dg/tree-ssa/andnot-2.c -mthumb
-march=armv8.1-m.main+mve.fp+fp.dp -mtune=cortex-m55 -mfloat-abi=hard
-mfpu=auto -fdiagnostics-plain-output -O2 -fdump-tree-forwprop3-raw -w
-Wno-psabi -S -o andnot-2.s
pid is 841716 -841716
pid is -1
output is status 0
PASS: gcc.dg/tree-ssa/andnot-2.c (test for excess errors)
FAIL: gcc.dg/tree-ssa/andnot-2.c scan-tree-dump-not forwprop3 "_expr"
Here is the diff between r14-9172-g6987f16742bd4f and r14-9173-gaf66ad89e8169f
for the generated files:
diff -u r14-9172-g6987f16742bd4f/andnot-2.c.142t.forwprop3
r14-9173-gaf66ad89e8169f/andnot-2.c.142t.forwprop3
--- r14-9172-g6987f16742bd4f/andnot-2.c.142t.forwprop3 2026-03-27
14:26:00.849339331 +0100
+++ r14-9173-gaf66ad89e8169f/andnot-2.c.142t.forwprop3 2026-03-27
14:25:11.692337831 +0100
@@ -3,8 +3,17 @@
vec f (vec x)
{
+ vec y;
+ vector(4) <signed-boolean:4> _1;
+ vector(4) <signed-boolean:4> _2;
+ vec _5;
+
<bb 2> [local count: 1073741824]:
- gimple_return <{ 0, 0, 0, 0 }>
+ gimple_assign <le_expr, _1, x_3(D), { 9, 9, 9, 9 }, NULL>
+ gimple_assign <vec_cond_expr, y_4, _1, { -1, -1, -1, -1 }, { 0, 0, 0, 0 }>
+ gimple_assign <eq_expr, _2, y_4, { 0, 0, 0, 0 }, NULL>
+ gimple_assign <vec_cond_expr, _5, _2, y_4, { 0, 0, 0, 0 }>
+ gimple_return <_5>
}
diff -u r14-9172-g6987f16742bd4f/andnot-2.s r14-9173-gaf66ad89e8169f/andnot-2.s
--- r14-9172-g6987f16742bd4f/andnot-2.s 2026-03-27 14:26:00.852339331 +0100
+++ r14-9173-gaf66ad89e8169f/andnot-2.s 2026-03-27 14:25:11.697337831 +0100
@@ -29,7 +29,13 @@
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
- vmov.i32 q0, #0 @ v4si
+ vmov.i32 q1, #0x9 @ v4si
+ vmov.i32 q2, #0 @ v4si
+ vcmp.s32 le, q0, q1
+ vmov.i32 q3, #0xffffffff @ v4si
+ vpsel q3, q3, q2
+ vcmp.i32 eq, q3, q2
+ vpsel q0, q3, q2
bx lr
.size f, .-f
.ident "GCC: (GCC) 14.0.1 20240226 (experimental)"
More information about the Gcc-bugs
mailing list