S/390: Testsuite: Add asm scan patterns for -m31.
[official-gcc.git] / gcc / testsuite / gcc.target / s390 / load-relative-check.c
blob3d4671a6b3f234f2ab930b8255face72eec966a6
1 /* Check if load-relative instructions are created */
2 /* { dg-do compile { target { s390*-*-* } } } */
3 /* { dg-options "-O2 -march=z10 -mzarch" } */
5 /* { dg-final { scan-assembler "lgfrl\t%r.?,b.4" { target { lp64 } } } } */
6 /* { dg-final { scan-assembler "lgfrl\t%r.?,s.12" { target { lp64 } } } } */
7 /* { dg-final { scan-assembler "lgrl\t%r.?,s" { target { lp64 } } } } */
9 /* { dg-final { scan-assembler "lrl\t%r.?,b.4" { target { ! lp64 } } } } */
10 /* { dg-final { scan-assembler "lrl\t%r.?,s.8" { target { ! lp64 } } } } */
11 /* { dg-final { scan-assembler "lrl\t%r.?,s" { target { ! lp64 } } } } */
13 int b[20];
15 struct s
17 long a;
18 int b;
19 int c;
20 } s;
22 struct __attribute__((packed)) s2
24 char a;
25 char b;
26 char c;
27 } s2;
29 char __attribute__((aligned(1))) arr[10];
31 int foo()
33 return b[1];
36 int bar()
38 return s.c;
41 long bar2()
43 return s.a;
46 int baz()
48 return arr[1];