/[qemu]/qemu/target-sparc/op_mem.h
ViewVC logotype

Diff of /qemu/target-sparc/op_mem.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by bellard, Sun Dec 19 23:18:01 2004 UTC revision 1.4 by bellard, Mon Jan 3 23:43:32 2005 UTC
# Line 2  Line 2 
2  #define SPARC_LD_OP(name, qp)                                                 \  #define SPARC_LD_OP(name, qp)                                                 \
3  void OPPROTO glue(glue(op_, name), MEMSUFFIX)(void)                           \  void OPPROTO glue(glue(op_, name), MEMSUFFIX)(void)                           \
4  {                                                                             \  {                                                                             \
5      T1 = glue(qp, MEMSUFFIX)((void *)T0);                                     \      T1 = glue(qp, MEMSUFFIX)(T0);                                     \
6  }  }
7    
8  #define SPARC_ST_OP(name, op)                                                 \  #define SPARC_ST_OP(name, op)                                                 \
9  void OPPROTO glue(glue(op_, name), MEMSUFFIX)(void)                           \  void OPPROTO glue(glue(op_, name), MEMSUFFIX)(void)                           \
10  {                                                                             \  {                                                                             \
11      glue(op, MEMSUFFIX)((void *)T0, T1);                                      \      glue(op, MEMSUFFIX)(T0, T1);                                      \
12  }  }
13    
14  SPARC_LD_OP(ld, ldl);  SPARC_LD_OP(ld, ldl);
# Line 24  SPARC_ST_OP(sth, stw); Line 24  SPARC_ST_OP(sth, stw);
24    
25  void OPPROTO glue(op_std, MEMSUFFIX)(void)  void OPPROTO glue(op_std, MEMSUFFIX)(void)
26  {  {
27      glue(stl, MEMSUFFIX)((void *) T0, T1);      glue(stl, MEMSUFFIX)(T0, T1);
28      glue(stl, MEMSUFFIX)((void *) (T0 + 4), T2);      glue(stl, MEMSUFFIX)((T0 + 4), T2);
29  }  }
30    
31  void OPPROTO glue(op_ldstub, MEMSUFFIX)(void)  void OPPROTO glue(op_ldstub, MEMSUFFIX)(void)
32  {  {
33      T1 = glue(ldub, MEMSUFFIX)((void *) T0);      T1 = glue(ldub, MEMSUFFIX)(T0);
34      glue(stb, MEMSUFFIX)((void *) T0, 0xff);     /* XXX: Should be Atomically */      glue(stb, MEMSUFFIX)(T0, 0xff);     /* XXX: Should be Atomically */
35  }  }
36    
37  void OPPROTO glue(op_swap, MEMSUFFIX)(void)  void OPPROTO glue(op_swap, MEMSUFFIX)(void)
38  {  {
39      unsigned int tmp = glue(ldl, MEMSUFFIX)((void *) T0);      unsigned int tmp = glue(ldl, MEMSUFFIX)(T0);
40      glue(stl, MEMSUFFIX)((void *) T0, T1);       /* XXX: Should be Atomically */      glue(stl, MEMSUFFIX)(T0, T1);       /* XXX: Should be Atomically */
41      T1 = tmp;      T1 = tmp;
42  }  }
43    
44  void OPPROTO glue(op_ldd, MEMSUFFIX)(void)  void OPPROTO glue(op_ldd, MEMSUFFIX)(void)
45  {  {
46      T1 = glue(ldl, MEMSUFFIX)((void *) T0);      T1 = glue(ldl, MEMSUFFIX)(T0);
47      T0 = glue(ldl, MEMSUFFIX)((void *) (T0 + 4));      T0 = glue(ldl, MEMSUFFIX)((T0 + 4));
48  }  }
49    
50  /***                         Floating-point store                          ***/  /***                         Floating-point store                          ***/
51  void OPPROTO glue(op_stf, MEMSUFFIX) (void)  void OPPROTO glue(op_stf, MEMSUFFIX) (void)
52  {  {
53      glue(stfl, MEMSUFFIX)((void *) T0, FT0);      glue(stfl, MEMSUFFIX)(T0, FT0);
54  }  }
55    
56  void OPPROTO glue(op_stdf, MEMSUFFIX) (void)  void OPPROTO glue(op_stdf, MEMSUFFIX) (void)
57  {  {
58      glue(stfq, MEMSUFFIX)((void *) T0, DT0);      glue(stfq, MEMSUFFIX)(T0, DT0);
59  }  }
60    
61  /***                         Floating-point load                           ***/  /***                         Floating-point load                           ***/
62  void OPPROTO glue(op_ldf, MEMSUFFIX) (void)  void OPPROTO glue(op_ldf, MEMSUFFIX) (void)
63  {  {
64      FT0 = glue(ldfl, MEMSUFFIX)((void *) T0);      FT0 = glue(ldfl, MEMSUFFIX)(T0);
65  }  }
66    
67  void OPPROTO glue(op_lddf, MEMSUFFIX) (void)  void OPPROTO glue(op_lddf, MEMSUFFIX) (void)
68  {  {
69      DT0 = glue(ldfq, MEMSUFFIX)((void *) T0);      DT0 = glue(ldfq, MEMSUFFIX)(T0);
70  }  }
71  #undef MEMSUFFIX  #undef MEMSUFFIX

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26