testsuite: adjust patterns in RISC-V tests to skip unwind table directives
[official-gcc.git] / gcc / testsuite / gcc.target / riscv / shorten-memrefs-2.c
bloba9ddb797d06ab93b4934318ab54bfa86567b32ca
1 /* { dg-options "-march=rv32imc -mabi=ilp32" } */
2 /* { dg-skip-if "" { *-*-* } { "*" } { "-Os" } } */
4 /* shorten_memrefs should rewrite these load/stores into a compressible
5 format. */
7 void
8 store1a (int *array, int a)
10 array[200] = a;
11 array[201] = a;
12 array[202] = a;
13 array[203] = a;
16 void
17 store2a (long long *array, long long a)
19 array[200] = a;
20 array[201] = a;
21 array[202] = a;
22 array[203] = a;
25 int
26 load1r (int *array)
28 int a = 0;
29 a += array[200];
30 a += array[201];
31 a += array[202];
32 a += array[203];
33 return a;
36 long long
37 load2r (long long *array)
39 int a = 0;
40 a += array[200];
41 a += array[201];
42 a += array[202];
43 a += array[203];
44 return a;
47 /* { dg-final { scan-assembler "store1a:\n(\t?\\.\[^\n\]*\n)*\taddi" } } */
48 /* The sd insns in store2a are not rewritten because shorten_memrefs currently
49 only optimizes lw and sw.
50 /* { dg-final { scan-assembler "store2a:\n(\t?\\.\[^\n\]*\n)*\taddi" { xfail riscv*-*-* } } } */
51 /* { dg-final { scan-assembler "load1r:\n(\t?\\.\[^\n\]*\n)*\taddi" } } */
52 /* { dg-final { scan-assembler "load2r:\n(\t?\\.\[^\n\]*\n)*\taddi" } } */