OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.target/] [s390/] [addr-constraints-1.c] - Blame information for rev 695

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 691 jeremybenn
/* { dg-compile } */
2
/* { dg-options "-O2" } */
3
 
4
static inline unsigned long
5
lay_uw(unsigned long addr)
6
{
7
  unsigned long result;
8
 
9
  __asm__ ("lay    %[result],%a[addr]"
10
           : [result] "=d" (result)
11
           : [addr] "UW" (addr));
12
  return result;
13
}
14
 
15
static inline unsigned long
16
la_u(unsigned long addr)
17
{
18
  unsigned long result;
19
 
20
  __asm__ ("la    %[result],%a[addr]"
21
           : [result] "=d" (result)
22
           : [addr] "U" (addr));
23
  return result;
24
}
25
 
26
static inline unsigned long
27
lay_zqzrzszt(unsigned long addr)
28
{
29
  unsigned long result;
30
 
31
  __asm__ ("lay    %[result],%a[addr]"
32
           : [result] "=d" (result)
33
           : [addr] "ZQZRZSZT" (addr));
34
  return result;
35
}
36
 
37
static inline unsigned long
38
la_zqzr(unsigned long addr)
39
{
40
  unsigned long result;
41
 
42
  __asm__ ("la    %[result],%a[addr]"
43
           : [result] "=d" (result)
44
           : [addr] "ZQZR" (addr));
45
  return result;
46
}
47
 
48
 
49
extern unsigned long a[15];
50
 
51
int main(void)
52
{
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]);
57
 
58
  a[5] = la_u(2222);
59
  a[6] = la_u(5555);
60
  a[7] = la_u(a[0]);
61
 
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]);
66
 
67
  a[12] = la_zqzr(2222);
68
  a[13] = la_zqzr(5555);
69
  a[14] = la_zqzr(a[0]);
70
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.