Commit d643ccca01d1c23191e37ed852beadfa1f94c77f

Authored by bellard
1 parent d795eb86

64 bit signed comparison fix (Juergen Lock)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4855 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 4 additions and 4 deletions
tcg/i386/tcg-target.c
@@ -360,22 +360,22 @@ static void tcg_out_brcond2(TCGContext *s, @@ -360,22 +360,22 @@ static void tcg_out_brcond2(TCGContext *s,
360 case TCG_COND_LT: 360 case TCG_COND_LT:
361 tcg_out_brcond(s, TCG_COND_LT, args[1], args[3], const_args[3], args[5]); 361 tcg_out_brcond(s, TCG_COND_LT, args[1], args[3], const_args[3], args[5]);
362 tcg_out_jxx(s, JCC_JNE, label_next); 362 tcg_out_jxx(s, JCC_JNE, label_next);
363 - tcg_out_brcond(s, TCG_COND_LT, args[0], args[2], const_args[2], args[5]); 363 + tcg_out_brcond(s, TCG_COND_LTU, args[0], args[2], const_args[2], args[5]);
364 break; 364 break;
365 case TCG_COND_LE: 365 case TCG_COND_LE:
366 tcg_out_brcond(s, TCG_COND_LT, args[1], args[3], const_args[3], args[5]); 366 tcg_out_brcond(s, TCG_COND_LT, args[1], args[3], const_args[3], args[5]);
367 tcg_out_jxx(s, JCC_JNE, label_next); 367 tcg_out_jxx(s, JCC_JNE, label_next);
368 - tcg_out_brcond(s, TCG_COND_LE, args[0], args[2], const_args[2], args[5]); 368 + tcg_out_brcond(s, TCG_COND_LEU, args[0], args[2], const_args[2], args[5]);
369 break; 369 break;
370 case TCG_COND_GT: 370 case TCG_COND_GT:
371 tcg_out_brcond(s, TCG_COND_GT, args[1], args[3], const_args[3], args[5]); 371 tcg_out_brcond(s, TCG_COND_GT, args[1], args[3], const_args[3], args[5]);
372 tcg_out_jxx(s, JCC_JNE, label_next); 372 tcg_out_jxx(s, JCC_JNE, label_next);
373 - tcg_out_brcond(s, TCG_COND_GT, args[0], args[2], const_args[2], args[5]); 373 + tcg_out_brcond(s, TCG_COND_GTU, args[0], args[2], const_args[2], args[5]);
374 break; 374 break;
375 case TCG_COND_GE: 375 case TCG_COND_GE:
376 tcg_out_brcond(s, TCG_COND_GT, args[1], args[3], const_args[3], args[5]); 376 tcg_out_brcond(s, TCG_COND_GT, args[1], args[3], const_args[3], args[5]);
377 tcg_out_jxx(s, JCC_JNE, label_next); 377 tcg_out_jxx(s, JCC_JNE, label_next);
378 - tcg_out_brcond(s, TCG_COND_GE, args[0], args[2], const_args[2], args[5]); 378 + tcg_out_brcond(s, TCG_COND_GEU, args[0], args[2], const_args[2], args[5]);
379 break; 379 break;
380 case TCG_COND_LTU: 380 case TCG_COND_LTU:
381 tcg_out_brcond(s, TCG_COND_LTU, args[1], args[3], const_args[3], args[5]); 381 tcg_out_brcond(s, TCG_COND_LTU, args[1], args[3], const_args[3], args[5]);