e2k: Fix fcmp{op}{s,d}b instructions.

This commit is contained in:
Denis Drakhnia 2021-01-05 13:37:02 +02:00 committed by Denis Drakhnia
parent b9691deedb
commit 67413ad340
1 changed files with 6 additions and 22 deletions

View File

@ -1126,7 +1126,7 @@ static inline void gen_cmpand_i32(TCGv_i32 ret, int opc, TCGv_i32 src1,
#define WRAP_FCMP_HELPER(op) \
WRAP_FCMP_HELPER_(glue(op, s), TCGv_i32) \
WRAP_FCMP_HELPER_(glue(op, d), TCGv_i64)
/* FIXME: currently unused but will be
WRAP_FCMP_HELPER(fcmpeq)
WRAP_FCMP_HELPER(fcmplt)
WRAP_FCMP_HELPER(fcmple)
@ -1135,7 +1135,7 @@ WRAP_FCMP_HELPER(fcmpneq)
WRAP_FCMP_HELPER(fcmpnlt)
WRAP_FCMP_HELPER(fcmpnle)
WRAP_FCMP_HELPER(fcmpod)
*/
#undef WRAP_FCMP_HELPER
#undef WRAP_FCMP_HELPER_
@ -2722,17 +2722,9 @@ static void gen_op(DisasContext *ctx, Instr *instr)
case OP_FCMPNEQSB:
case OP_FCMPNLTSB:
case OP_FCMPNLESB:
case OP_FCMPODSB: {
void (*f)(TCGv_i32, TCGv_i32, TCGv_i32) = 0;
GENERATE_FCMP_SWITCH_TABLE(f, instr->opce3, 0xc0, gen_, f, s);
if(f) {
gen_alopf1_sss(ctx, chan, f);
return;
}
case OP_FCMPODSB:
gen_alopf1_cmp_ssb(ctx, instr, gen_fcmp_i32);
break;
}
case OP_FCMPEQDB:
case OP_FCMPLTDB:
case OP_FCMPLEDB:
@ -2740,17 +2732,9 @@ static void gen_op(DisasContext *ctx, Instr *instr)
case OP_FCMPNEQDB:
case OP_FCMPNLTDB:
case OP_FCMPNLEDB:
case OP_FCMPODDB: {
void (*f)(TCGv_i64, TCGv_i64, TCGv_i64) = 0;
GENERATE_FCMP_SWITCH_TABLE(f, instr->opce3, 0xc0, gen_, f, d);
if(f) {
gen_alopf1_ddd(ctx, chan, f);
return;
}
case OP_FCMPODDB:
gen_alopf1_cmp_ddb(ctx, instr, gen_fcmp_i64);
break;
}
case OP_FXCMPEQSB:
case OP_FXCMPLTSB:
case OP_FXCMPLESB: