div64 fix - raise_interrupt() fix - SSE fix
[qemu] / target-i386 / ops_mem.h
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 support */
84 void OPPROTO glue(glue(op_ldo, MEMSUFFIX), _env_A0)(void)
85 {
86     XMMReg *p;
87     p = (XMMReg *)((char *)env + PARAM1);
88     p->XMM_Q(0) = glue(ldq, MEMSUFFIX)(A0);
89     p->XMM_Q(1) = glue(ldq, MEMSUFFIX)(A0 + 8);
90 }
91
92 void OPPROTO glue(glue(op_sto, MEMSUFFIX), _env_A0)(void)
93 {
94     XMMReg *p;
95     p = (XMMReg *)((char *)env + PARAM1);
96     glue(stq, MEMSUFFIX)(A0, p->XMM_Q(0));
97     glue(stq, MEMSUFFIX)(A0 + 8, p->XMM_Q(1));
98 }
99
100 #ifdef TARGET_X86_64
101 void OPPROTO glue(glue(op_ldsl, MEMSUFFIX), _T0_A0)(void)
102 {
103     T0 = (int32_t)glue(ldl, MEMSUFFIX)(A0);
104 }
105
106 void OPPROTO glue(glue(op_ldsl, MEMSUFFIX), _T1_A0)(void)
107 {
108     T1 = (int32_t)glue(ldl, MEMSUFFIX)(A0);
109 }
110
111 void OPPROTO glue(glue(op_ldq, MEMSUFFIX), _T0_A0)(void)
112 {
113     T0 = glue(ldq, MEMSUFFIX)(A0);
114 }
115
116 void OPPROTO glue(glue(op_ldq, MEMSUFFIX), _T1_A0)(void)
117 {
118     T1 = glue(ldq, MEMSUFFIX)(A0);
119 }
120
121 void OPPROTO glue(glue(op_stq, MEMSUFFIX), _T0_A0)(void)
122 {
123     glue(stq, MEMSUFFIX)(A0, T0);
124 }
125
126 void OPPROTO glue(glue(op_stq, MEMSUFFIX), _T1_A0)(void)
127 {
128     glue(stq, MEMSUFFIX)(A0, T1);
129 }
130 #endif
131
132 #undef MEMSUFFIX