Daily bump.
[official-gcc.git] / gcc / testsuite / gcc.target / s390 / addr-constraints-1.c
blobfbb48f282b3b4b6305569115d8394f34b172aee9
1 /* { dg-compile } */
2 /* { dg-options "-O2" } */
4 static inline unsigned long
5 lay_uw(unsigned long addr)
7 unsigned long result;
9 __asm__ ("lay %[result],%a[addr]"
10 : [result] "=d" (result)
11 : [addr] "UW" (addr));
12 return result;
15 static inline unsigned long
16 la_u(unsigned long addr)
18 unsigned long result;
20 __asm__ ("la %[result],%a[addr]"
21 : [result] "=d" (result)
22 : [addr] "U" (addr));
23 return result;
26 static inline unsigned long
27 lay_zqzrzszt(unsigned long addr)
29 unsigned long result;
31 __asm__ ("lay %[result],%a[addr]"
32 : [result] "=d" (result)
33 : [addr] "ZQZRZSZT" (addr));
34 return result;
37 static inline unsigned long
38 la_zqzr(unsigned long addr)
40 unsigned long result;
42 __asm__ ("la %[result],%a[addr]"
43 : [result] "=d" (result)
44 : [addr] "ZQZR" (addr));
45 return result;
49 extern unsigned long a[15];
51 int main(void)
53 a[1] = lay_uw(3333);
54 a[2] = lay_uw(4444);
55 a[3] = lay_uw(1000000);
56 a[4] = lay_uw(a[0]);
58 a[5] = la_u(2222);
59 a[6] = la_u(5555);
60 a[7] = la_u(a[0]);
62 a[8] = lay_zqzrzszt(3333);
63 a[9] = lay_zqzrzszt(4444);
64 a[10] = lay_zqzrzszt(1000000);
65 a[11] = lay_zqzrzszt(a[0]);
67 a[12] = la_zqzr(2222);
68 a[13] = la_zqzr(5555);
69 a[14] = la_zqzr(a[0]);