Commit 9d0763c4c0bc7840a3113abf39aae6dd87e9be91
1 parent
0211e5af
converted BCD ops to TCG
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4509 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
2 changed files
with
6 additions
and
38 deletions
target-i386/op.c
... | ... | @@ -165,38 +165,6 @@ void OPPROTO op_cmpxchg8b(void) |
165 | 165 | |
166 | 166 | #endif |
167 | 167 | |
168 | -/* bcd */ | |
169 | - | |
170 | -void OPPROTO op_aam(void) | |
171 | -{ | |
172 | - helper_aam(PARAM1); | |
173 | -} | |
174 | - | |
175 | -void OPPROTO op_aad(void) | |
176 | -{ | |
177 | - helper_aad(PARAM1); | |
178 | -} | |
179 | - | |
180 | -void OPPROTO op_aaa(void) | |
181 | -{ | |
182 | - helper_aaa(); | |
183 | -} | |
184 | - | |
185 | -void OPPROTO op_aas(void) | |
186 | -{ | |
187 | - helper_aas(); | |
188 | -} | |
189 | - | |
190 | -void OPPROTO op_daa(void) | |
191 | -{ | |
192 | - helper_daa(); | |
193 | -} | |
194 | - | |
195 | -void OPPROTO op_das(void) | |
196 | -{ | |
197 | - helper_das(); | |
198 | -} | |
199 | - | |
200 | 168 | /* segment handling */ |
201 | 169 | |
202 | 170 | /* faster VM86 version */ | ... | ... |
target-i386/translate.c
... | ... | @@ -5926,7 +5926,7 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start) |
5926 | 5926 | goto illegal_op; |
5927 | 5927 | if (s->cc_op != CC_OP_DYNAMIC) |
5928 | 5928 | gen_op_set_cc_op(s->cc_op); |
5929 | - gen_op_daa(); | |
5929 | + tcg_gen_helper_0_0(helper_daa); | |
5930 | 5930 | s->cc_op = CC_OP_EFLAGS; |
5931 | 5931 | break; |
5932 | 5932 | case 0x2f: /* das */ |
... | ... | @@ -5934,7 +5934,7 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start) |
5934 | 5934 | goto illegal_op; |
5935 | 5935 | if (s->cc_op != CC_OP_DYNAMIC) |
5936 | 5936 | gen_op_set_cc_op(s->cc_op); |
5937 | - gen_op_das(); | |
5937 | + tcg_gen_helper_0_0(helper_das); | |
5938 | 5938 | s->cc_op = CC_OP_EFLAGS; |
5939 | 5939 | break; |
5940 | 5940 | case 0x37: /* aaa */ |
... | ... | @@ -5942,7 +5942,7 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start) |
5942 | 5942 | goto illegal_op; |
5943 | 5943 | if (s->cc_op != CC_OP_DYNAMIC) |
5944 | 5944 | gen_op_set_cc_op(s->cc_op); |
5945 | - gen_op_aaa(); | |
5945 | + tcg_gen_helper_0_0(helper_aaa); | |
5946 | 5946 | s->cc_op = CC_OP_EFLAGS; |
5947 | 5947 | break; |
5948 | 5948 | case 0x3f: /* aas */ |
... | ... | @@ -5950,7 +5950,7 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start) |
5950 | 5950 | goto illegal_op; |
5951 | 5951 | if (s->cc_op != CC_OP_DYNAMIC) |
5952 | 5952 | gen_op_set_cc_op(s->cc_op); |
5953 | - gen_op_aas(); | |
5953 | + tcg_gen_helper_0_0(helper_aas); | |
5954 | 5954 | s->cc_op = CC_OP_EFLAGS; |
5955 | 5955 | break; |
5956 | 5956 | case 0xd4: /* aam */ |
... | ... | @@ -5960,7 +5960,7 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start) |
5960 | 5960 | if (val == 0) { |
5961 | 5961 | gen_exception(s, EXCP00_DIVZ, pc_start - s->cs_base); |
5962 | 5962 | } else { |
5963 | - gen_op_aam(val); | |
5963 | + tcg_gen_helper_0_1(helper_aam, tcg_const_i32(val)); | |
5964 | 5964 | s->cc_op = CC_OP_LOGICB; |
5965 | 5965 | } |
5966 | 5966 | break; |
... | ... | @@ -5968,7 +5968,7 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start) |
5968 | 5968 | if (CODE64(s)) |
5969 | 5969 | goto illegal_op; |
5970 | 5970 | val = ldub_code(s->pc++); |
5971 | - gen_op_aad(val); | |
5971 | + tcg_gen_helper_0_1(helper_aad, tcg_const_i32(val)); | |
5972 | 5972 | s->cc_op = CC_OP_LOGICB; |
5973 | 5973 | break; |
5974 | 5974 | /************************/ | ... | ... |