Statistics
| Branch: | Revision:

root / target-i386 / ops_mem.h @ d785e6be

History | View | Annotate | Download (2.9 kB)

1
void OPPROTO glue(glue(op_ldub, MEMSUFFIX), _T0_A0)(void)
2
{
3
    T0 = glue(ldub, MEMSUFFIX)(A0);
4
}
5

    
6
void OPPROTO glue(glue(op_ldsb, MEMSUFFIX), _T0_A0)(void)
7
{
8
    T0 = glue(ldsb, MEMSUFFIX)(A0);
9
}
10

    
11
void OPPROTO glue(glue(op_lduw, MEMSUFFIX), _T0_A0)(void)
12
{
13
    T0 = glue(lduw, MEMSUFFIX)(A0);
14
}
15

    
16
void OPPROTO glue(glue(op_ldsw, MEMSUFFIX), _T0_A0)(void)
17
{
18
    T0 = glue(ldsw, MEMSUFFIX)(A0);
19
}
20

    
21
void OPPROTO glue(glue(op_ldl, MEMSUFFIX), _T0_A0)(void)
22
{
23
    T0 = (uint32_t)glue(ldl, MEMSUFFIX)(A0);
24
}
25

    
26
void OPPROTO glue(glue(op_ldub, MEMSUFFIX), _T1_A0)(void)
27
{
28
    T1 = glue(ldub, MEMSUFFIX)(A0);
29
}
30

    
31
void OPPROTO glue(glue(op_ldsb, MEMSUFFIX), _T1_A0)(void)
32
{
33
    T1 = glue(ldsb, MEMSUFFIX)(A0);
34
}
35

    
36
void OPPROTO glue(glue(op_lduw, MEMSUFFIX), _T1_A0)(void)
37
{
38
    T1 = glue(lduw, MEMSUFFIX)(A0);
39
}
40

    
41
void OPPROTO glue(glue(op_ldsw, MEMSUFFIX), _T1_A0)(void)
42
{
43
    T1 = glue(ldsw, MEMSUFFIX)(A0);
44
}
45

    
46
void OPPROTO glue(glue(op_ldl, MEMSUFFIX), _T1_A0)(void)
47
{
48
    T1 = glue(ldl, MEMSUFFIX)(A0);
49
}
50

    
51
void OPPROTO glue(glue(op_stb, MEMSUFFIX), _T0_A0)(void)
52
{
53
    glue(stb, MEMSUFFIX)(A0, T0);
54
}
55

    
56
void OPPROTO glue(glue(op_stw, MEMSUFFIX), _T0_A0)(void)
57
{
58
    glue(stw, MEMSUFFIX)(A0, T0);
59
}
60

    
61
void OPPROTO glue(glue(op_stl, MEMSUFFIX), _T0_A0)(void)
62
{
63
    glue(stl, MEMSUFFIX)(A0, T0);
64
}
65

    
66
#if 0
67
void OPPROTO glue(glue(op_stb, MEMSUFFIX), _T1_A0)(void)
68
{
69
    glue(stb, MEMSUFFIX)(A0, T1);
70
}
71
#endif
72

    
73
void OPPROTO glue(glue(op_stw, MEMSUFFIX), _T1_A0)(void)
74
{
75
    glue(stw, MEMSUFFIX)(A0, T1);
76
}
77

    
78
void OPPROTO glue(glue(op_stl, MEMSUFFIX), _T1_A0)(void)
79
{
80
    glue(stl, MEMSUFFIX)(A0, T1);
81
}
82

    
83
/* SSE/MMX support */
84
void OPPROTO glue(glue(op_ldq, MEMSUFFIX), _env_A0)(void)
85
{
86
    uint64_t *p;
87
    p = (uint64_t *)((char *)env + PARAM1);
88
    *p = glue(ldq, MEMSUFFIX)(A0);
89
}
90

    
91
void OPPROTO glue(glue(op_stq, MEMSUFFIX), _env_A0)(void)
92
{
93
    uint64_t *p;
94
    p = (uint64_t *)((char *)env + PARAM1);
95
    glue(stq, MEMSUFFIX)(A0, *p);
96
}
97

    
98
void OPPROTO glue(glue(op_ldo, MEMSUFFIX), _env_A0)(void)
99
{
100
    XMMReg *p;
101
    p = (XMMReg *)((char *)env + PARAM1);
102
    p->XMM_Q(0) = glue(ldq, MEMSUFFIX)(A0);
103
    p->XMM_Q(1) = glue(ldq, MEMSUFFIX)(A0 + 8);
104
}
105

    
106
void OPPROTO glue(glue(op_sto, MEMSUFFIX), _env_A0)(void)
107
{
108
    XMMReg *p;
109
    p = (XMMReg *)((char *)env + PARAM1);
110
    glue(stq, MEMSUFFIX)(A0, p->XMM_Q(0));
111
    glue(stq, MEMSUFFIX)(A0 + 8, p->XMM_Q(1));
112
}
113

    
114
#ifdef TARGET_X86_64
115
void OPPROTO glue(glue(op_ldsl, MEMSUFFIX), _T0_A0)(void)
116
{
117
    T0 = (int32_t)glue(ldl, MEMSUFFIX)(A0);
118
}
119

    
120
void OPPROTO glue(glue(op_ldsl, MEMSUFFIX), _T1_A0)(void)
121
{
122
    T1 = (int32_t)glue(ldl, MEMSUFFIX)(A0);
123
}
124

    
125
void OPPROTO glue(glue(op_ldq, MEMSUFFIX), _T0_A0)(void)
126
{
127
    T0 = glue(ldq, MEMSUFFIX)(A0);
128
}
129

    
130
void OPPROTO glue(glue(op_ldq, MEMSUFFIX), _T1_A0)(void)
131
{
132
    T1 = glue(ldq, MEMSUFFIX)(A0);
133
}
134

    
135
void OPPROTO glue(glue(op_stq, MEMSUFFIX), _T0_A0)(void)
136
{
137
    glue(stq, MEMSUFFIX)(A0, T0);
138
}
139

    
140
void OPPROTO glue(glue(op_stq, MEMSUFFIX), _T1_A0)(void)
141
{
142
    glue(stq, MEMSUFFIX)(A0, T1);
143
}
144
#endif
145

    
146
#undef MEMSUFFIX