Fix i8259 initialization, by Bernhard Kauer.
[qemu/dscho.git] / target-i386 / ops_mem.h
blob7ec84dde8948c18ae8021b9624d1047e764af10e
1 void OPPROTO glue(glue(op_ldub, MEMSUFFIX), _T0_A0)(void)
3 T0 = glue(ldub, MEMSUFFIX)(A0);
6 void OPPROTO glue(glue(op_ldsb, MEMSUFFIX), _T0_A0)(void)
8 T0 = glue(ldsb, MEMSUFFIX)(A0);
11 void OPPROTO glue(glue(op_lduw, MEMSUFFIX), _T0_A0)(void)
13 T0 = glue(lduw, MEMSUFFIX)(A0);
16 void OPPROTO glue(glue(op_ldsw, MEMSUFFIX), _T0_A0)(void)
18 T0 = glue(ldsw, MEMSUFFIX)(A0);
21 void OPPROTO glue(glue(op_ldl, MEMSUFFIX), _T0_A0)(void)
23 T0 = (uint32_t)glue(ldl, MEMSUFFIX)(A0);
26 void OPPROTO glue(glue(op_ldub, MEMSUFFIX), _T1_A0)(void)
28 T1 = glue(ldub, MEMSUFFIX)(A0);
31 void OPPROTO glue(glue(op_ldsb, MEMSUFFIX), _T1_A0)(void)
33 T1 = glue(ldsb, MEMSUFFIX)(A0);
36 void OPPROTO glue(glue(op_lduw, MEMSUFFIX), _T1_A0)(void)
38 T1 = glue(lduw, MEMSUFFIX)(A0);
41 void OPPROTO glue(glue(op_ldsw, MEMSUFFIX), _T1_A0)(void)
43 T1 = glue(ldsw, MEMSUFFIX)(A0);
46 void OPPROTO glue(glue(op_ldl, MEMSUFFIX), _T1_A0)(void)
48 T1 = (uint32_t)glue(ldl, MEMSUFFIX)(A0);
51 void OPPROTO glue(glue(op_stb, MEMSUFFIX), _T0_A0)(void)
53 glue(stb, MEMSUFFIX)(A0, T0);
54 FORCE_RET();
57 void OPPROTO glue(glue(op_stw, MEMSUFFIX), _T0_A0)(void)
59 glue(stw, MEMSUFFIX)(A0, T0);
60 FORCE_RET();
63 void OPPROTO glue(glue(op_stl, MEMSUFFIX), _T0_A0)(void)
65 glue(stl, MEMSUFFIX)(A0, T0);
66 FORCE_RET();
69 #if 0
70 void OPPROTO glue(glue(op_stb, MEMSUFFIX), _T1_A0)(void)
72 glue(stb, MEMSUFFIX)(A0, T1);
73 FORCE_RET();
75 #endif
77 void OPPROTO glue(glue(op_stw, MEMSUFFIX), _T1_A0)(void)
79 glue(stw, MEMSUFFIX)(A0, T1);
80 FORCE_RET();
83 void OPPROTO glue(glue(op_stl, MEMSUFFIX), _T1_A0)(void)
85 glue(stl, MEMSUFFIX)(A0, T1);
86 FORCE_RET();
89 /* SSE/MMX support */
90 void OPPROTO glue(glue(op_ldq, MEMSUFFIX), _env_A0)(void)
92 uint64_t *p;
93 p = (uint64_t *)((char *)env + PARAM1);
94 *p = glue(ldq, MEMSUFFIX)(A0);
97 void OPPROTO glue(glue(op_stq, MEMSUFFIX), _env_A0)(void)
99 uint64_t *p;
100 p = (uint64_t *)((char *)env + PARAM1);
101 glue(stq, MEMSUFFIX)(A0, *p);
102 FORCE_RET();
105 void OPPROTO glue(glue(op_ldo, MEMSUFFIX), _env_A0)(void)
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);
113 void OPPROTO glue(glue(op_sto, MEMSUFFIX), _env_A0)(void)
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();
122 #ifdef TARGET_X86_64
123 void OPPROTO glue(glue(op_ldsl, MEMSUFFIX), _T0_A0)(void)
125 T0 = (int32_t)glue(ldl, MEMSUFFIX)(A0);
128 void OPPROTO glue(glue(op_ldsl, MEMSUFFIX), _T1_A0)(void)
130 T1 = (int32_t)glue(ldl, MEMSUFFIX)(A0);
133 void OPPROTO glue(glue(op_ldq, MEMSUFFIX), _T0_A0)(void)
135 T0 = glue(ldq, MEMSUFFIX)(A0);
138 void OPPROTO glue(glue(op_ldq, MEMSUFFIX), _T1_A0)(void)
140 T1 = glue(ldq, MEMSUFFIX)(A0);
143 void OPPROTO glue(glue(op_stq, MEMSUFFIX), _T0_A0)(void)
145 glue(stq, MEMSUFFIX)(A0, T0);
146 FORCE_RET();
149 void OPPROTO glue(glue(op_stq, MEMSUFFIX), _T1_A0)(void)
151 glue(stq, MEMSUFFIX)(A0, T1);
152 FORCE_RET();
154 #endif
156 #undef MEMSUFFIX