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) | ... | ... |