https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118476

            Bug ID: 118476
           Summary: Internal compiler error: in predicate_for_phi_result,
                    at ipa-fnsummary.cc:2447
           Product: gcc
           Version: 14.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ipa
          Assignee: unassigned at gcc dot gnu.org
          Reporter: egori at altlinux dot org
  Target Milestone: ---

I initially found this bug when compiling simde[1] with gcc 14.2.1 on i586.

Here is a minimal reproducer.

```c
#include "stdint.h"
#include "stddef.h"

typedef uint64_t poly64x1 __attribute__((__vector_size__(8)));

poly64x1 vext_p64(poly64x1 a, poly64x1 b, const int n)
{
  poly64x1 r = a;
  size_t src = ((size_t) (n));
  r[0] = (src < 1) ? a[src] : b[0];
  return r;
}

```

```
$ gcc -O2 -c ./reproducer.c 
during GIMPLE pass: local-fnsummary
./reproducer.c: In function 'vext_p64':
./reproducer.c:12:1: internal compiler error: in predicate_for_phi_result, at
ipa-fnsummary.cc:2447
   12 | }
      | ^
0x9133008 internal_error(char const*, ...)
        ???:0
0x91330d2 fancy_abort(char const*, int, char const*)
        ???:0
0x9291277 compute_fn_summary(cgraph_node*, bool)
        ???:0
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-14/README.Bugs> for instructions.
```

```
$ gcc -O1 -c ./reproducer.c 
during GIMPLE pass: uncprop
./reproducer.c: In function 'vext_p64':
./reproducer.c:6:10: internal compiler error: in promote_ssa_mode, at
explow.cc:923
    6 | poly64x1 vext_p64(poly64x1 a, poly64x1 b, const int n)
      |          ^~~~~~~~
0x9133008 internal_error(char const*, ...)
        ???:0
0x91330d2 fancy_abort(char const*, int, char const*)
        ???:0
0x93bf7d9 gimple_can_coalesce_p(tree_node*, tree_node*)
        ???:0
0x944fe9d uncprop_dom_walker::before_dom_children(basic_block_def*)
        ???:0
0x958ed71 dom_walker::walk(basic_block_def*)
        ???:0
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-14/README.Bugs> for instructions.
```


[1] https://github.com/simd-everywhere/simde/issues/1250

Reply via email to