Commit 560f92cc34865f1f552079240d630a524a76c084
1 parent
affa3264
jump simplification
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4583 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
1 additions
and
22 deletions
tcg/x86_64/tcg-target.c
| ... | ... | @@ -450,41 +450,20 @@ static void tcg_out_brcond(TCGContext *s, int cond, |
| 450 | 450 | TCGArg arg1, TCGArg arg2, int const_arg2, |
| 451 | 451 | int label_index, int rexw) |
| 452 | 452 | { |
| 453 | - int c; | |
| 454 | 453 | if (const_arg2) { |
| 455 | 454 | if (arg2 == 0) { |
| 456 | - /* use test */ | |
| 457 | - switch(cond) { | |
| 458 | - case TCG_COND_EQ: | |
| 459 | - c = JCC_JE; | |
| 460 | - break; | |
| 461 | - case TCG_COND_NE: | |
| 462 | - c = JCC_JNE; | |
| 463 | - break; | |
| 464 | - case TCG_COND_LT: | |
| 465 | - c = JCC_JS; | |
| 466 | - break; | |
| 467 | - case TCG_COND_GE: | |
| 468 | - c = JCC_JNS; | |
| 469 | - break; | |
| 470 | - default: | |
| 471 | - goto do_cmpi; | |
| 472 | - } | |
| 473 | 455 | /* test r, r */ |
| 474 | 456 | tcg_out_modrm(s, 0x85 | rexw, arg1, arg1); |
| 475 | - tcg_out_jxx(s, c, label_index); | |
| 476 | 457 | } else { |
| 477 | - do_cmpi: | |
| 478 | 458 | if (rexw) |
| 479 | 459 | tgen_arithi64(s, ARITH_CMP, arg1, arg2); |
| 480 | 460 | else |
| 481 | 461 | tgen_arithi32(s, ARITH_CMP, arg1, arg2); |
| 482 | - tcg_out_jxx(s, tcg_cond_to_jcc[cond], label_index); | |
| 483 | 462 | } |
| 484 | 463 | } else { |
| 485 | 464 | tcg_out_modrm(s, 0x01 | (ARITH_CMP << 3) | rexw, arg2, arg1); |
| 486 | - tcg_out_jxx(s, tcg_cond_to_jcc[cond], label_index); | |
| 487 | 465 | } |
| 466 | + tcg_out_jxx(s, tcg_cond_to_jcc[cond], label_index); | |
| 488 | 467 | } |
| 489 | 468 | |
| 490 | 469 | #if defined(CONFIG_SOFTMMU) | ... | ... |