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 | }
| ^
```