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

            Bug ID: 122114
           Summary: ICE when building libgcrypt-1.11.2 on riscv with
                    -fstack-clash-protection
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sjames at gcc dot gnu.org
                CC: bergner at gcc dot gnu.org
  Target Milestone: ---

Couldn't repro w/ a cross at first but I'd made some silly error, should be
fine now.

```
int pk_gen_i, pk_gen_j;
long pk_gen_buf[4];
long pk_gen_t;

void vec_mul(long *, long *, long *);
void uint64_is_zero_declassify(long);

void pk_gen() {
  long consts[128][13], prod[128][13];

  vec_mul(prod[pk_gen_j], prod[pk_gen_j], consts[pk_gen_j]);

  for (; pk_gen_i;) {
    for (; pk_gen_j; pk_gen_j++)
      pk_gen_t |= pk_gen_buf[pk_gen_j];

    uint64_is_zero_declassify(pk_gen_t);
  }
}
```

```
$ riscv64-unknown-linux-gnu-gcc foo.i -O2 -c -fstack-clash-protection
-march=rv64gcv_zvl256b
during RTL pass: pro_and_epilogue
foo.i: In function 'pk_gen':
foo.i:19:1: internal compiler error: in to_constant, at poly-int.h:592
   19 | }
      | ^
```

Reply via email to