Revision 0fa85d43 target-sparc/op_mem.h
b/target-sparc/op_mem.h | ||
---|---|---|
2 | 2 |
#define SPARC_LD_OP(name, qp) \ |
3 | 3 |
void OPPROTO glue(glue(op_, name), MEMSUFFIX)(void) \ |
4 | 4 |
{ \ |
5 |
T1 = glue(qp, MEMSUFFIX)((void *)T0); \
|
|
5 |
T1 = glue(qp, MEMSUFFIX)(T0); \ |
|
6 | 6 |
} |
7 | 7 |
|
8 | 8 |
#define SPARC_ST_OP(name, op) \ |
9 | 9 |
void OPPROTO glue(glue(op_, name), MEMSUFFIX)(void) \ |
10 | 10 |
{ \ |
11 |
glue(op, MEMSUFFIX)((void *)T0, T1); \
|
|
11 |
glue(op, MEMSUFFIX)(T0, T1); \ |
|
12 | 12 |
} |
13 | 13 |
|
14 | 14 |
SPARC_LD_OP(ld, ldl); |
... | ... | |
24 | 24 |
|
25 | 25 |
void OPPROTO glue(op_std, MEMSUFFIX)(void) |
26 | 26 |
{ |
27 |
glue(stl, MEMSUFFIX)((void *) T0, T1);
|
|
28 |
glue(stl, MEMSUFFIX)((void *) (T0 + 4), T2);
|
|
27 |
glue(stl, MEMSUFFIX)(T0, T1); |
|
28 |
glue(stl, MEMSUFFIX)((T0 + 4), T2); |
|
29 | 29 |
} |
30 | 30 |
|
31 | 31 |
void OPPROTO glue(op_ldstub, MEMSUFFIX)(void) |
32 | 32 |
{ |
33 |
T1 = glue(ldub, MEMSUFFIX)((void *) T0);
|
|
34 |
glue(stb, MEMSUFFIX)((void *) T0, 0xff); /* XXX: Should be Atomically */
|
|
33 |
T1 = glue(ldub, MEMSUFFIX)(T0); |
|
34 |
glue(stb, MEMSUFFIX)(T0, 0xff); /* XXX: Should be Atomically */ |
|
35 | 35 |
} |
36 | 36 |
|
37 | 37 |
void OPPROTO glue(op_swap, MEMSUFFIX)(void) |
38 | 38 |
{ |
39 |
unsigned int tmp = glue(ldl, MEMSUFFIX)((void *) T0);
|
|
40 |
glue(stl, MEMSUFFIX)((void *) T0, T1); /* XXX: Should be Atomically */
|
|
39 |
unsigned int tmp = glue(ldl, MEMSUFFIX)(T0); |
|
40 |
glue(stl, MEMSUFFIX)(T0, T1); /* XXX: Should be Atomically */ |
|
41 | 41 |
T1 = tmp; |
42 | 42 |
} |
43 | 43 |
|
44 | 44 |
void OPPROTO glue(op_ldd, MEMSUFFIX)(void) |
45 | 45 |
{ |
46 |
T1 = glue(ldl, MEMSUFFIX)((void *) T0);
|
|
47 |
T0 = glue(ldl, MEMSUFFIX)((void *) (T0 + 4));
|
|
46 |
T1 = glue(ldl, MEMSUFFIX)(T0); |
|
47 |
T0 = glue(ldl, MEMSUFFIX)((T0 + 4)); |
|
48 | 48 |
} |
49 | 49 |
|
50 | 50 |
/*** Floating-point store ***/ |
51 | 51 |
void OPPROTO glue(op_stf, MEMSUFFIX) (void) |
52 | 52 |
{ |
53 |
glue(stfl, MEMSUFFIX)((void *) T0, FT0);
|
|
53 |
glue(stfl, MEMSUFFIX)(T0, FT0); |
|
54 | 54 |
} |
55 | 55 |
|
56 | 56 |
void OPPROTO glue(op_stdf, MEMSUFFIX) (void) |
57 | 57 |
{ |
58 |
glue(stfq, MEMSUFFIX)((void *) T0, DT0);
|
|
58 |
glue(stfq, MEMSUFFIX)(T0, DT0); |
|
59 | 59 |
} |
60 | 60 |
|
61 | 61 |
/*** Floating-point load ***/ |
62 | 62 |
void OPPROTO glue(op_ldf, MEMSUFFIX) (void) |
63 | 63 |
{ |
64 |
FT0 = glue(ldfl, MEMSUFFIX)((void *) T0);
|
|
64 |
FT0 = glue(ldfl, MEMSUFFIX)(T0); |
|
65 | 65 |
} |
66 | 66 |
|
67 | 67 |
void OPPROTO glue(op_lddf, MEMSUFFIX) (void) |
68 | 68 |
{ |
69 |
DT0 = glue(ldfq, MEMSUFFIX)((void *) T0);
|
|
69 |
DT0 = glue(ldfq, MEMSUFFIX)(T0); |
|
70 | 70 |
} |
71 | 71 |
#undef MEMSUFFIX |
Also available in: Unified diff