qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 24c9ae: tcg: Split out swap_commutative as a


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 24c9ae: tcg: Split out swap_commutative as a subroutine
Date: Wed, 17 Oct 2012 10:00:13 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 24c9ae4eba5eec59256d0d0ace4d868a19f87528
      
https://github.com/qemu/qemu/commit/24c9ae4eba5eec59256d0d0ace4d868a19f87528
  Author: Richard Henderson <address@hidden>
  Date:   2012-10-17 (Wed, 17 Oct 2012)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg: Split out swap_commutative as a subroutine

Reduces code duplication and prefers

  movcond d, c1, c2, const, s
to
  movcond d, c1, c2, s, const

It also prefers

  add r, r, c
over
  add r, c, r

when both inputs are known constants.  This doesn't matter for true add, as
we will fully constant fold that.  But it matters for a follow-on patch using
this routine for add2 which may not be fully foldable.

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>


  Commit: 1e484e61e2d9387c18a40e9e239b304003f5d183
      
https://github.com/qemu/qemu/commit/1e484e61e2d9387c18a40e9e239b304003f5d183
  Author: Richard Henderson <address@hidden>
  Date:   2012-10-17 (Wed, 17 Oct 2012)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg: Canonicalize add2 operand ordering

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>


  Commit: 0bfcb86538d0bcffa3ef5434810f91aa861431ce
      
https://github.com/qemu/qemu/commit/0bfcb86538d0bcffa3ef5434810f91aa861431ce
  Author: Richard Henderson <address@hidden>
  Date:   2012-10-17 (Wed, 17 Oct 2012)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg: Swap commutative double-word comparisons

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>


  Commit: 6e14e91b6681dac9614b7b09b561351813046193
      
https://github.com/qemu/qemu/commit/6e14e91b6681dac9614b7b09b561351813046193
  Author: Richard Henderson <address@hidden>
  Date:   2012-10-17 (Wed, 17 Oct 2012)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg: Use common code when failing to optimize

This saves a whole lot of repetitive code sequences.

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>


  Commit: bc1473eff4d9a3b62d669b7232383f85eb82b376
      
https://github.com/qemu/qemu/commit/bc1473eff4d9a3b62d669b7232383f85eb82b376
  Author: Richard Henderson <address@hidden>
  Date:   2012-10-17 (Wed, 17 Oct 2012)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg: Optimize double-word comparisons against zero

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>


  Commit: 9519da7e39516c5cb5bd7146a849a5d8c0958105
      
https://github.com/qemu/qemu/commit/9519da7e39516c5cb5bd7146a849a5d8c0958105
  Author: Richard Henderson <address@hidden>
  Date:   2012-10-17 (Wed, 17 Oct 2012)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg: Split out subroutines from do_constant_folding_cond

We can re-use these for implementing double-word folding.

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>


  Commit: 6c4382f8f47d12eec24c7c5335141a9c78104016
      
https://github.com/qemu/qemu/commit/6c4382f8f47d12eec24c7c5335141a9c78104016
  Author: Richard Henderson <address@hidden>
  Date:   2012-10-17 (Wed, 17 Oct 2012)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg: Do constant folding on double-word comparisons

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>


  Commit: 212c328d615f6750659d39c6fd544d05be314fa1
      
https://github.com/qemu/qemu/commit/212c328d615f6750659d39c6fd544d05be314fa1
  Author: Richard Henderson <address@hidden>
  Date:   2012-10-17 (Wed, 17 Oct 2012)

  Changed paths:
    M tcg/optimize.c
    M tcg/tcg-op.h

  Log Message:
  -----------
  tcg: Constant fold add2 and sub2

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>


  Commit: 1305c451e67e3def030720013415103f5e0f5e11
      
https://github.com/qemu/qemu/commit/1305c451e67e3def030720013415103f5e0f5e11
  Author: Richard Henderson <address@hidden>
  Date:   2012-10-17 (Wed, 17 Oct 2012)

  Changed paths:
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Optimize half-dead add2/sub2

When x86_64 guest is not in 64-bit mode, the high-part of the 64-bit
add is dead.  When the host is 32-bit, we can simplify to 32-bit
arithmetic.

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>


  Commit: 1414968a6aecd23cb037bc9e718d6f05ead2afaf
      
https://github.com/qemu/qemu/commit/1414968a6aecd23cb037bc9e718d6f05ead2afaf
  Author: Richard Henderson <address@hidden>
  Date:   2012-10-17 (Wed, 17 Oct 2012)

  Changed paths:
    M tcg/optimize.c
    M tcg/tcg-op.h
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Optimize mulu2

Like add2, do operand ordering, constant folding, and dead operand
elimination.  The latter happens about 15% of all mulu2 during an
x86_64 bios boot.

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>


Compare: https://github.com/qemu/qemu/compare/6f4d6b09088e...1414968a6aec

reply via email to

[Prev in Thread] Current Thread [Next in Thread]