Commit d643ccca01d1c23191e37ed852beadfa1f94c77f
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]); |