RISC-V: Fix bug of earliest fusion for infinite loop[VSETVL PASS]
[official-gcc.git] / gcc / testsuite / gcc.target / riscv / rvv / autovec / pr113206-2.c
blobcfce88988f7ebaa09faa64a3ffbbae3bd35813b0
1 /* { dg-do compile } */
2 /* { dg-options "-march=rv64gcv -mabi=lp64d -O3 -frename-registers" } */
4 signed char e;
5 short f = 8;
6 signed d;
7 int(g)(int o, int r) { return o & (o ^ -1) < 0 ? o : o - r; }
8 #pragma pack(1)
9 struct {
10 short h;
11 unsigned : 18;
12 short i;
13 long j;
14 int k;
15 char l;
16 long m;
17 int n;
18 } a, b, s, c, *p = &b, *u = &s, q = {1};
19 void t() {
20 *p = a;
21 for (; e > -7; e = g(e, 8))
23 q = *u = c;
24 for (; d - 3; d = 3)
28 /* { dg-final { scan-assembler-times {li\s+[a-x0-9]+,\s*32} 1 } } */
29 /* { dg-final { scan-assembler-times {vsetvli} 1 } } */