Statistics
| Branch: | Revision:

root / target-i386 / ops_mem.h @ 3d7374c5

History | View | Annotate | Download (3.1 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 = (uint32_t)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
    FORCE_RET();
55
}
56

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

    
63
void OPPROTO glue(glue(op_stl, MEMSUFFIX), _T0_A0)(void)
64
{
65
    glue(stl, MEMSUFFIX)(A0, T0);
66
    FORCE_RET();
67
}
68

    
69
#if 0
70
void OPPROTO glue(glue(op_stb, MEMSUFFIX), _T1_A0)(void)
71
{
72
    glue(stb, MEMSUFFIX)(A0, T1);
73
    FORCE_RET();
74
}
75
#endif
76

    
77
void OPPROTO glue(glue(op_stw, MEMSUFFIX), _T1_A0)(void)
78
{
79
    glue(stw, MEMSUFFIX)(A0, T1);
80
    FORCE_RET();
81
}
82

    
83
void OPPROTO glue(glue(op_stl, MEMSUFFIX), _T1_A0)(void)
84
{
85
    glue(stl, MEMSUFFIX)(A0, T1);
86
    FORCE_RET();
87
}
88

    
89
/* SSE/MMX support */
90
void OPPROTO glue(glue(op_ldq, MEMSUFFIX), _env_A0)(void)
91
{
92
    uint64_t *p;
93
    p = (uint64_t *)((char *)env + PARAM1);
94
    *p = glue(ldq, MEMSUFFIX)(A0);
95
}
96

    
97
void OPPROTO glue(glue(op_stq, MEMSUFFIX), _env_A0)(void)
98
{
99
    uint64_t *p;
100
    p = (uint64_t *)((char *)env + PARAM1);
101
    glue(stq, MEMSUFFIX)(A0, *p);
102
    FORCE_RET();
103
}
104

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

    
113
void OPPROTO glue(glue(op_sto, MEMSUFFIX), _env_A0)(void)
114
{
115
    XMMReg *p;
116
    p = (XMMReg *)((char *)env + PARAM1);
117
    glue(stq, MEMSUFFIX)(A0, p->XMM_Q(0));
118
    glue(stq, MEMSUFFIX)(A0 + 8, p->XMM_Q(1));
119
    FORCE_RET();
120
}
121

    
122
#ifdef TARGET_X86_64
123
void OPPROTO glue(glue(op_ldsl, MEMSUFFIX), _T0_A0)(void)
124
{
125
    T0 = (int32_t)glue(ldl, MEMSUFFIX)(A0);
126
}
127

    
128
void OPPROTO glue(glue(op_ldsl, MEMSUFFIX), _T1_A0)(void)
129
{
130
    T1 = (int32_t)glue(ldl, MEMSUFFIX)(A0);
131
}
132

    
133
void OPPROTO glue(glue(op_ldq, MEMSUFFIX), _T0_A0)(void)
134
{
135
    T0 = glue(ldq, MEMSUFFIX)(A0);
136
}
137

    
138
void OPPROTO glue(glue(op_ldq, MEMSUFFIX), _T1_A0)(void)
139
{
140
    T1 = glue(ldq, MEMSUFFIX)(A0);
141
}
142

    
143
void OPPROTO glue(glue(op_stq, MEMSUFFIX), _T0_A0)(void)
144
{
145
    glue(stq, MEMSUFFIX)(A0, T0);
146
    FORCE_RET();
147
}
148

    
149
void OPPROTO glue(glue(op_stq, MEMSUFFIX), _T1_A0)(void)
150
{
151
    glue(stq, MEMSUFFIX)(A0, T1);
152
    FORCE_RET();
153
}
154
#endif
155

    
156
#undef MEMSUFFIX