[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