blob: a55bc2442f17ee7bd76eaf8263990cf5f510e4be [file] [log] [blame]
/* Check if load-relative instructions are created */
/* { dg-do compile { target { s390*-*-* } } } */
/* { dg-options "-O2 -march=z10 -mzarch -fno-section-anchors" } */
/* { dg-final { scan-assembler "lgfrl\t%r.?,b.4" { target { lp64 } } } } */
/* { dg-final { scan-assembler "lgfrl\t%r.?,s.12" { target { lp64 } } } } */
/* { dg-final { scan-assembler "lgrl\t%r.?,s" { target { lp64 } } } } */
/* { dg-final { scan-assembler "lrl\t%r.?,b.4" { target { ! lp64 } } } } */
/* { dg-final { scan-assembler "lrl\t%r.?,s.8" { target { ! lp64 } } } } */
/* { dg-final { scan-assembler "lrl\t%r.?,s" { target { ! lp64 } } } } */
int b[20];
struct s
{
long a;
int b;
int c;
} s;
struct __attribute__((packed)) s2
{
char a;
char b;
char c;
} s2;
char __attribute__((aligned(1))) arr[10];
int foo()
{
return b[1];
}
int bar()
{
return s.c;
}
long bar2()
{
return s.a;
}
int baz()
{
return arr[1];
}