qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 404750: test-i386: QEMU_PACKED is not defined


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 404750: test-i386: QEMU_PACKED is not defined here
Date: Sat, 23 Feb 2013 12:00:25 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 40475087a5ee80f5251dac6087142458d8dc7d99
      
https://github.com/qemu/qemu/commit/40475087a5ee80f5251dac6087142458d8dc7d99
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M tests/tcg/test-i386.c

  Log Message:
  -----------
  test-i386: QEMU_PACKED is not defined here

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 1b99f83e3946c447eefb3417ec1ea4c2f3b44582
      
https://github.com/qemu/qemu/commit/1b99f83e3946c447eefb3417ec1ea4c2f3b44582
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M tests/tcg/test-i386.c

  Log Message:
  -----------
  test-i386: make it compile with a recent gcc

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 93ab25d7d129fbe47a99fd8c91292ea99bff747e
      
https://github.com/qemu/qemu/commit/93ab25d7d129fbe47a99fd8c91292ea99bff747e
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: use OT_* consistently

Reviewed-by: Blue Swirl <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: d824df34e8cdd2fbe55258f26731d7ef3ac7ced2
      
https://github.com/qemu/qemu/commit/d824df34e8cdd2fbe55258f26731d7ef3ac7ced2
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: introduce gen_ext_tl

Introduce a function that abstracts extracting an 8, 16, 32 or 64-bit value
with or without sign, generalizing gen_extu and gen_exts.

Reviewed-by: Blue Swirl <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 91642ff80607ad90c66ba044fe91e4a53b09bdbb
      
https://github.com/qemu/qemu/commit/91642ff80607ad90c66ba044fe91e4a53b09bdbb
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: factor setting of s->cc_op handling for string functions

Set it to the appropriate CC_OP_SUBx constant in gen_scas/gen_cmps.
In the repz case it can be overridden to CC_OP_DYNAMIC after generating
the code.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: b27fc131fe8dc18924904e4dd0b82dfd77dc51c7
      
https://github.com/qemu/qemu/commit/b27fc131fe8dc18924904e4dd0b82dfd77dc51c7
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: drop cc_op argument of gen_jcc1

As in the gen_repz_scas/gen_repz_cmps case, delay setting
CC_OP_DYNAMIC in gen_jcc until after code generation.  All of
gen_jcc1/is_fast_jcc/gen_setcc_slow_T0 now work on s->cc_op, which makes
things a bit easier to follow and to patch.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 52320e15dbb0c2531501a924972e63cdb59742a7
      
https://github.com/qemu/qemu/commit/52320e15dbb0c2531501a924972e63cdb59742a7
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: move carry computation for inc/dec closer to gen_op_set_cc_op

This ensures the invariant that cpu_cc_op matches s->cc_op when calling
the helpers.  The next patches need this because gen_compute_eflags and
gen_compute_eflags_c will take care of setting cpu_cc_op.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 0ff6addd92979b9759efa1c0945526e6ac78ce5b
      
https://github.com/qemu/qemu/commit/0ff6addd92979b9759efa1c0945526e6ac78ce5b
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: move eflags computation closer to gen_op_set_cc_op

This ensures the invariant that cpu_cc_op matches s->cc_op when calling
the helpers.  The next patches need this because gen_compute_eflags and
gen_compute_eflags_c will take care of setting cpu_cc_op.

Always compute EFLAGS first since it is needed whenever the shift is
non-zero, i.e. most of the time.  This makes it possible to remove some
writes of CC_OP_EFLAGS to cpu_cc_op and more importantly removes cases
where s->cc_op becomes CC_OP_DYNAMIC.  These are slow and we want to
avoid them: CC_OP_EFLAGS is quite efficient once we paid the initial
cost of computing the flags.

Finally, always follow gen_compute_eflags(cpu_cc_src) by setting s->cc_op
and discarding cpu_cc_dst.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: f5847c912d62d60a9917ed1e88cd6d4548fd40f3
      
https://github.com/qemu/qemu/commit/f5847c912d62d60a9917ed1e88cd6d4548fd40f3
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/cpu.h
    M target-i386/shift_helper_template.h
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: compute eflags outside rcl/rcr helper

Always compute EFLAGS first since it is needed whenever
the shift is non-zero, i.e. most of the time.  This makes it possible
to remove some writes of CC_OP_EFLAGS to cpu_cc_op and more importantly
removes cases where s->cc_op becomes CC_OP_DYNAMIC.  Also, we can
remove cc_tmp and just modify cc_src from within the helper.

Finally, always follow gen_compute_eflags(cpu_cc_src) by setting s->cc_op
and discarding cpu_cc_dst.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 6fa38ed219587723fcab9b878f42269489d51705
      
https://github.com/qemu/qemu/commit/6fa38ed219587723fcab9b878f42269489d51705
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: clean up sahf

Discard CC_DST and set s->cc_op immediately after computing EFLAGS.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 5bdb91b0dd66b7e0fdfc801601c433ad4752aeb0
      
https://github.com/qemu/qemu/commit/5bdb91b0dd66b7e0fdfc801601c433ad4752aeb0
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: use gen_jcc1 to compile loopz

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: c7b3c87397a3458d3d26499c483e0badaf79849c
      
https://github.com/qemu/qemu/commit/c7b3c87397a3458d3d26499c483e0badaf79849c
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: factor gen_op_set_cc_op/tcg_gen_discard_tl around computing flags

Before computing flags we need to store the cc_op to memory.  Move this
to gen_compute_eflags_c and gen_compute_eflags rather than doing it all
over the place.

Alo, after computing the flags in cpu_cc_src we are in EFLAGS mode.
Set s->cc_op and discard cpu_cc_dst in gen_compute_eflags, rather than
doing it all over the place.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: fee71888a29ab9f31b23386383812a4f5c953829
      
https://github.com/qemu/qemu/commit/fee71888a29ab9f31b23386383812a4f5c953829
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/cpu.h
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Name the cc_op enumeration

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


  Commit: 3ca51d07dae5b2d2301431c55b08d4faaad95d91
      
https://github.com/qemu/qemu/commit/3ca51d07dae5b2d2301431c55b08d4faaad95d91
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Introduce set_cc_op

This will provide a good hook into which we can consolidate
all of the cc variable discards.

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


  Commit: e207582f6660e0e2d10a2e79e664e456e80b2887
      
https://github.com/qemu/qemu/commit/e207582f6660e0e2d10a2e79e664e456e80b2887
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Don't clobber s->cc_op in gen_update_cc_op

Use a dirty flag to know whether env->cc_op is up to date,
rather than forcing s->cc_op to DYNAMIC and losing info.

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


  Commit: 773cdfccb835cc82aca2b2ff34277b4bf58d6bb9
      
https://github.com/qemu/qemu/commit/773cdfccb835cc82aca2b2ff34277b4bf58d6bb9
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Use gen_update_cc_op everywhere

All of the conditional calls to gen_op_set_cc_op go away, and
gen_op_set_cc_op itself gets inlined into its only remaining caller.

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


  Commit: 1608ecca95188dcf4f78072be48f41dbe2062b25
      
https://github.com/qemu/qemu/commit/1608ecca95188dcf4f78072be48f41dbe2062b25
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: add helper functions to get other flags

Introduce new functions to extract PF, SF, OF, ZF in addition to CF.
These provide single entry points for optimizing accesses to a single
flag.

Reviewed-by: Blue Swirl <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: d229edce1c58e6bb13d386bef4c31fc2e3850cb6
      
https://github.com/qemu/qemu/commit/d229edce1c58e6bb13d386bef4c31fc2e3850cb6
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: do not compute eflags multiple times consecutively

After calling gen_compute_eflags, leave the computed value in cc_reg_src
and set cc_op to CC_OP_EFLAGS.  The next few patches will remove anyway
most calls to gen_compute_eflags.

As a result of this change it is more natural to remove the register
argument from gen_compute_eflags and change all the callers.

Reviewed-by: Blue Swirl <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: ccfcdd09bf91aabe039d2dae0b5ec3a05f083e59
      
https://github.com/qemu/qemu/commit/ccfcdd09bf91aabe039d2dae0b5ec3a05f083e59
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: no need to flush out cc_op before gen_eob

This makes code more similar to the other callers of gen_eob, especially
loopz/loopnz/jcxz.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: b666265b2071e4288110f6553b598efe00246d06
      
https://github.com/qemu/qemu/commit/b666265b2071e4288110f6553b598efe00246d06
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Move CC discards to set_cc_op

This gets us universal coverage, rather than scattering discards
around at various places.  As a bonus, we do not emit redundant
discards e.g. between sequential logic insns.

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


  Commit: 086c40778485f9a52d41a66fd4ef0d8723a2ac0a
      
https://github.com/qemu/qemu/commit/086c40778485f9a52d41a66fd4ef0d8723a2ac0a
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: do not call helper to compute ZF/SF

ZF, SF and PF can always be computed from CC_DST except in the
CC_OP_EFLAGS case (and CC_OP_DYNAMIC, which just resolves to CC_OP_EFLAGS
in gen_compute_eflags).  Use setcond to compute ZF and SF.

We could also use a table lookup to compute PF.

Reviewed-by: Blue Swirl <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 8115f117357a63bff84522caac6c3bcadee0a285
      
https://github.com/qemu/qemu/commit/8115f117357a63bff84522caac6c3bcadee0a285
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: use inverted setcond when computing NS or NZ

Make gen_compute_eflags_z and gen_compute_eflags_s able to compute the
inverted condition, and use this in gen_setcc_slow_T0.  We cannot do it
yet in gen_compute_eflags_c, but prepare the code for it anyway.  It is
not worthwhile for PF, as usual.

shr+and+xor could be replaced by and+setcond.  I'm not doing it yet.

Reviewed-by: Blue Swirl <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 06847f1f1a7cff71f68dc6416cdd729c01ae2305
      
https://github.com/qemu/qemu/commit/06847f1f1a7cff71f68dc6416cdd729c01ae2305
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: convert gen_compute_eflags_c to TCG

Do the switch at translation time, converting the helper templates to
TCG opcodes.  In some cases CF can be computed with a single setcond,
though others it may require a little more work.

In the CC_OP_DYNAMIC case, compute the whole EFLAGS, same as for ZF/SF/PF.

Reviewed-by: Blue Swirl <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 1a5c635947e60167c4626dd274531b8b0eacc2e5
      
https://github.com/qemu/qemu/commit/1a5c635947e60167c4626dd274531b8b0eacc2e5
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: change gen_setcc_slow_T0 to gen_setcc_slow

Do not hard code the destination register.

Reviewed-by: Blue Swirl <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 2cb4764577f270eec259123955a6396ad6a2f161
      
https://github.com/qemu/qemu/commit/2cb4764577f270eec259123955a6396ad6a2f161
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: optimize setbe

This is looking at EFLAGS, but it can do so more efficiently with
setcond.

Reviewed-by: Blue Swirl <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: be10b289d697420b6e0d8d1a681aa64555066639
      
https://github.com/qemu/qemu/commit/be10b289d697420b6e0d8d1a681aa64555066639
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: optimize setle

And allow gen_setcc_slow to operate on cpu_cc_src.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: c365395e9bd2b3bcac48ef562c187ea6ab9820ad
      
https://github.com/qemu/qemu/commit/c365395e9bd2b3bcac48ef562c187ea6ab9820ad
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: optimize setcc instructions

Reconstruct the arguments for complex conditions involving CC_OP_SUBx (BE,
L, LE).  In the others do it via setcond and gen_setcc_slow (which is
not that slow in many cases).

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: bec93d7283b635aabaf0bbff67b6da7fc99e020a
      
https://github.com/qemu/qemu/commit/bec93d7283b635aabaf0bbff67b6da7fc99e020a
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: introduce CCPrepare

Introduce a struct that describes how to build a *cond operation
that checks for a given x86 condition code.  For now, just change
gen_compute_eflags_* to return the new struct, generate code for
the CCPrepare struct, and go on as before.

[rth: Use ctz with the proper width rather than ffs.]

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 276e6b5f069e189e204a4320f824daa07db10286
      
https://github.com/qemu/qemu/commit/276e6b5f069e189e204a4320f824daa07db10286
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: introduce gen_prepare_cc

This makes the i386 front-end able to create CCPrepare structs for all
condition, not just those that come from a single flag.  In particular,
JCC_L and JCC_LE can be optimized because gen_prepare_cc is not forced
to return a result in bit 0 (unlike gen_setcc_slow).

However, for now the slow jcc operations will still go through CC
computation in a single-bit temporary, followed by a brcond if the
temporary is nonzero.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 943131ca98af142da7b99111b410e741a5d42338
      
https://github.com/qemu/qemu/commit/943131ca98af142da7b99111b410e741a5d42338
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: use CCPrepare to generate conditional jumps

This simplifies all the jump generation code.  CCPrepare allows the
code to create an efficient brcond always, so there is no need to
duplicate the setcc and jcc code.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 69d1aa31f7551050bf918dc22f0fe3307b779186
      
https://github.com/qemu/qemu/commit/69d1aa31f7551050bf918dc22f0fe3307b779186
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: inline gen_prepare_cc_slow

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: cc8b6f5b39ae47a93074a5384faa734bf2a6ae61
      
https://github.com/qemu/qemu/commit/cc8b6f5b39ae47a93074a5384faa734bf2a6ae61
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: cleanup temporary macros for CCPrepare

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: f32d3781de8328237c2db45ff774cbd4b30134d6
      
https://github.com/qemu/qemu/commit/f32d3781de8328237c2db45ff774cbd4b30134d6
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: introduce gen_cmovcc1

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


  Commit: 57eb0cc85469a8948d1036ab830951e63aa32f66
      
https://github.com/qemu/qemu/commit/57eb0cc85469a8948d1036ab830951e63aa32f66
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: expand cmov via movcond

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


  Commit: 3b9d3cf1609ec98411508c1e8b6dde711117825f
      
https://github.com/qemu/qemu/commit/3b9d3cf1609ec98411508c1e8b6dde711117825f
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: kill cpu_T3

It is almost unused, and it is simpler to pass a TCG value directly
to gen_shiftd_rm_T1_T3.  This value is then written to t2 without
going through a temporary register.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 63633fe6eb15107d688f3b7f61a4b379f57fc4ca
      
https://github.com/qemu/qemu/commit/63633fe6eb15107d688f3b7f61a4b379f57fc4ca
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: use gen_op for cmps/scas

Replace low-level ops with a higher-level "cmp %al, (A0)" in the case
of scas, and "cmp T0, (A0)" in the case of cmps.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: dc259201f8b471f27136ffe50cc7019c8311ccb6
      
https://github.com/qemu/qemu/commit/dc259201f8b471f27136ffe50cc7019c8311ccb6
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: introduce gen_jcc1_noeob

A jump that ends a basic block or otherwise falls back to CC_OP_DYNAMIC
will always have to call gen_op_set_cc_op.  However, not all jumps end
a basic block, so introduce a variant that does not do this.

This was partially undone earlier (i386: drop cc_op argument of gen_jcc1),
redo it now also to prepare for the introduction of src2.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 891a5133f1637296c3823229180b5851132ed5f5
      
https://github.com/qemu/qemu/commit/891a5133f1637296c3823229180b5851132ed5f5
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Update cc_op before TCG branches

Placing the CC_OP_DYNAMIC at the join is less effective than
before the branch, as the branch will have forced global registers
to their home locations.  This way we have a chance to discard
CC_SRC2 before it gets stored.

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


  Commit: a3251186fc6a04d421e9c4b65aa04ec32379ec38
      
https://github.com/qemu/qemu/commit/a3251186fc6a04d421e9c4b65aa04ec32379ec38
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: optimize flags checking after sub using CC_SRCT

After a comparison or subtraction, the original value of the LHS will
currently be reconstructed using an addition.  However, in most cases
it is already available: store it in a temp-local variable and save 1
or 2 TCG ops (2 if the result of the addition needs to be extended).

The temp-local can be declared dead as soon as the cc_op changes again,
or also before the translation block ends because gen_prepare_cc will
always make a copy before returning it.  All this magic, plus copy
propagation and dead-code elimination, ensures that the temp local will
(almost) never be spilled.

Example (cmp $0x21,%rax + jbe):

 Before                                     After
----------------------------------------------------------------------------
 movi_i64 tmp1,$0x21                        movi_i64 tmp1,$0x21
 movi_i64 cc_src,$0x21                      movi_i64 cc_src,$0x21
 sub_i64 cc_dst,rax,tmp1                    sub_i64 cc_dst,rax,tmp1
 add_i64 tmp7,cc_dst,cc_src
 movi_i32 cc_op,$0x11                       movi_i32 cc_op,$0x11
 brcond_i64 tmp7,cc_src,leu,$0x0            discard loc11
                                      brcond_i64 rax,cc_src,leu,$0x0

 Before                                     After
----------------------------------------------------------------------------
  mov    (%r14),%rbp                        mov    (%r14),%rbp
  mov    %rbp,%rbx                          mov    %rbp,%rbx
  sub    $0x21,%rbx                         sub    $0x21,%rbx
  lea    0x21(%rbx),%r12
  movl   $0x11,0xa0(%r14)                   movl   $0x11,0xa0(%r14)
  movq   $0x21,0x90(%r14)                   movq   $0x21,0x90(%r14)
  mov    %rbx,0x98(%r14)                    mov    %rbx,0x98(%r14)
  cmp    $0x21,%r12                     |   cmp    $0x21,%rbp
  jbe    ...                                jbe    ...

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 8601c0b6c553a018fc62007efa8ac2a71d77f449
      
https://github.com/qemu/qemu/commit/8601c0b6c553a018fc62007efa8ac2a71d77f449
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/cc_helper.c
    M target-i386/cc_helper_template.h

  Log Message:
  -----------
  target-i386: Don't reference ENV through most of cc helpers

In preparation for making this a const helper.

By using the proper types in the parameters to the helper functions,
we get to avoid quite a lot of subsequent casting.

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


  Commit: db9f2597722d5d8bc5f2330f186288d893114338
      
https://github.com/qemu/qemu/commit/db9f2597722d5d8bc5f2330f186288d893114338
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/cc_helper.c
    M target-i386/helper.h
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Make helper_cc_compute_{all,c} const

Pass the data in explicitly, rather than indirectly via env.
This avoids all sorts of unnecessary register spillage.

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


  Commit: 988c3eb0d6f41ac13f4ec145c637f12c776de602
      
https://github.com/qemu/qemu/commit/988c3eb0d6f41ac13f4ec145c637f12c776de602
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/cc_helper.c
    M target-i386/cc_helper_template.h
    M target-i386/cpu.h
    M target-i386/helper.h
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Use CC_SRC2 for ADC and SBB

Add another slot in ENV and store two of the three inputs.  This lets us
do less work when carry-out is not needed, and avoids the unpredictable
CC_OP after translating these insns.

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


  Commit: 4a6fd938f5457ee161d2acbd9364608a2a68b7a1
      
https://github.com/qemu/qemu/commit/4a6fd938f5457ee161d2acbd9364608a2a68b7a1
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Tidy prefix parsing

Avoid duplicating switch statement between 32 and 64-bit modes.

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


  Commit: 701ed211d62b2b0dba732d75997c4bbf37010c1e
      
https://github.com/qemu/qemu/commit/701ed211d62b2b0dba732d75997c4bbf37010c1e
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Decode the VEX prefixes

No actual required uses of these encodings yet.

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


  Commit: 111994ee05b810d81dc6abea7fac5280e48dc198
      
https://github.com/qemu/qemu/commit/111994ee05b810d81dc6abea7fac5280e48dc198
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/cpu.c
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Implement MOVBE

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


  Commit: 7073fbada733c8d10992f00772c9b9299d740e9b
      
https://github.com/qemu/qemu/commit/7073fbada733c8d10992f00772c9b9299d740e9b
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/cpu.c
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Implement ANDN

As this is the first of the BMI insns to be implemented,
this carries quite a bit more baggage than normal.

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


  Commit: c7ab7565bc6d52cc140230aa4d0533d13d89c8b1
      
https://github.com/qemu/qemu/commit/c7ab7565bc6d52cc140230aa4d0533d13d89c8b1
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Implement BEXTR

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


  Commit: bc4b43dc2fe88712ad921c05fc1ab9ebc4cb6778
      
https://github.com/qemu/qemu/commit/bc4b43dc2fe88712ad921c05fc1ab9ebc4cb6778
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/cc_helper.c
    M target-i386/cc_helper_template.h
    M target-i386/cpu.h
    M target-i386/helper.c
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Implement BLSR, BLSMSK, BLSI

Do all of group 17 at one time for ease.

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


  Commit: 02ea1e6b4fab803551bbea47eea29bc7709ba008
      
https://github.com/qemu/qemu/commit/02ea1e6b4fab803551bbea47eea29bc7709ba008
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Implement BZHI

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


  Commit: 5f1f4b177152286102475f9bffc359002a14d9c9
      
https://github.com/qemu/qemu/commit/5f1f4b177152286102475f9bffc359002a14d9c9
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/helper.h
    M target-i386/int_helper.c
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Implement MULX

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


  Commit: 0592f74a75ab695efd48a151219667adc0fa7cc4
      
https://github.com/qemu/qemu/commit/0592f74a75ab695efd48a151219667adc0fa7cc4
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/helper.h
    M target-i386/int_helper.c
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Implement PDEP, PEXT

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


  Commit: 4a554890e479a43568de8b5354d9ca8583f5ec7f
      
https://github.com/qemu/qemu/commit/4a554890e479a43568de8b5354d9ca8583f5ec7f
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Implement SHLX, SARX, SHRX

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


  Commit: e2c3c2c551bccd843135eab1ba202f8d2f86800b
      
https://github.com/qemu/qemu/commit/e2c3c2c551bccd843135eab1ba202f8d2f86800b
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-18 (Mon, 18 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Implement RORX

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


  Commit: cd7f97cafdd80d6bd4950ccfdcd9acb7850184b2
      
https://github.com/qemu/qemu/commit/cd7f97cafdd80d6bd4950ccfdcd9acb7850184b2
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M target-i386/cc_helper.c
    M target-i386/cpu.c
    M target-i386/cpu.h
    M target-i386/helper.c
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Implement ADX extension

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


  Commit: f1300734cbca515d30953b2c87e259fa378ea301
      
https://github.com/qemu/qemu/commit/f1300734cbca515d30953b2c87e259fa378ea301
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M target-i386/helper.h
    M target-i386/int_helper.c

  Log Message:
  -----------
  target-i386: Use clz/ctz for bsf/bsr helpers

And mark the helpers as NO_RWG_SE.

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


  Commit: 321c535105a182501b888f095f7ec4dbb5f3f6ae
      
https://github.com/qemu/qemu/commit/321c535105a182501b888f095f7ec4dbb5f3f6ae
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M target-i386/helper.h
    M target-i386/int_helper.c
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Implement tzcnt and fix lzcnt

We weren't computing flags for lzcnt at all.  At the same time,
adjust the implementation of bsf/bsr to avoid the local branch,
using movcond instead.

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


  Commit: 436ff2d227588d42970c4f0ed1cdfcb87c872fba
      
https://github.com/qemu/qemu/commit/436ff2d227588d42970c4f0ed1cdfcb87c872fba
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M target-i386/cc_helper.c
    M target-i386/cpu.h
    M target-i386/helper.c
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Add CC_OP_CLR

Special case xor with self.  We need not even store the known
zero into cc_src.

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


  Commit: a41f62f592d9ecf97df4a12023760fe082b1ee68
      
https://github.com/qemu/qemu/commit/a41f62f592d9ecf97df4a12023760fe082b1ee68
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Use movcond to implement shift flags.

With this being all straight-line code, it can get deleted
when the cc variables die.

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


  Commit: 34d80a55ff8517fd37bcfea5063b9797e2bd9132
      
https://github.com/qemu/qemu/commit/34d80a55ff8517fd37bcfea5063b9797e2bd9132
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Use movcond to implement rotate flags.

With this being all straight-line code, it can get deleted
when the cc variables die.

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


  Commit: e2f515cf2f3795b9edb68eee42262e7c5f88fe98
      
https://github.com/qemu/qemu/commit/e2f515cf2f3795b9edb68eee42262e7c5f88fe98
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Discard CC_OP computation in set_cc_op also

The shift and rotate insns use movcond to set CC_OP, and thus
achieve a conditional EFLAGS setting.  By discarding CC_OP in
a later flags setting insn, we can discard that movcond.

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


  Commit: f437d0a3c24e471a855da33a086fe529e09a06af
      
https://github.com/qemu/qemu/commit/f437d0a3c24e471a855da33a086fe529e09a06af
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Use movcond to implement shiftd.

With this being all straight-line code, it can get deleted
when the cc variables die.

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


  Commit: f708e736d0dafc05f8b7e9e73d6440c930b94686
      
https://github.com/qemu/qemu/commit/f708e736d0dafc05f8b7e9e73d6440c930b94686
  Author: Blue Swirl <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-i386/cc_helper.c
    M target-i386/cc_helper_template.h
    M target-i386/cpu.c
    M target-i386/cpu.h
    M target-i386/helper.c
    M target-i386/helper.h
    M target-i386/int_helper.c
    M target-i386/shift_helper_template.h
    M target-i386/translate.c
    M tests/tcg/test-i386.c

  Log Message:
  -----------
  Merge branch 'eflags3' of git://github.com/rth7680/qemu

* 'eflags3' of git://github.com/rth7680/qemu: (61 commits)
  target-i386: Use movcond to implement shiftd.
  target-i386: Discard CC_OP computation in set_cc_op also
  target-i386: Use movcond to implement rotate flags.
  target-i386: Use movcond to implement shift flags.
  target-i386: Add CC_OP_CLR
  target-i386: Implement tzcnt and fix lzcnt
  target-i386: Use clz/ctz for bsf/bsr helpers
  target-i386: Implement ADX extension
  target-i386: Implement RORX
  target-i386: Implement SHLX, SARX, SHRX
  target-i386: Implement PDEP, PEXT
  target-i386: Implement MULX
  target-i386: Implement BZHI
  target-i386: Implement BLSR, BLSMSK, BLSI
  target-i386: Implement BEXTR
  target-i386: Implement ANDN
  target-i386: Implement MOVBE
  target-i386: Decode the VEX prefixes
  target-i386: Tidy prefix parsing
  target-i386: Use CC_SRC2 for ADC and SBB
  ...


  Commit: e6a72734549bd05d06d19957518811c24a6cbee4
      
https://github.com/qemu/qemu/commit/e6a72734549bd05d06d19957518811c24a6cbee4
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M tcg/i386/tcg-target.h
    M tcg/ia64/tcg-target.h
    M tcg/ppc64/tcg-target.h
    M tcg/s390/tcg-target.h
    M tcg/sparc/tcg-target.h
    M tcg/tcg-opc.h
    M tcg/tcg.h
    M tcg/tci/tcg-target.h

  Log Message:
  -----------
  tcg: Make 32-bit multiword operations optional for 64-bit hosts

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: bbc863bfecfb3e3a3e21ce569e25046e24c0487c
      
https://github.com/qemu/qemu/commit/bbc863bfecfb3e3a3e21ce569e25046e24c0487c
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M tcg/i386/tcg-target.c
    M tcg/i386/tcg-target.h

  Log Message:
  -----------
  tcg-i386: Always implement 32-bit multiword ops

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: 803d805bcef4ea7b7d6ef0b4929263e1160d6b3c
      
https://github.com/qemu/qemu/commit/803d805bcef4ea7b7d6ef0b4929263e1160d6b3c
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M tcg/sparc/tcg-target.c
    M tcg/sparc/tcg-target.h

  Log Message:
  -----------
  tcg-sparc: Always implement 32-bit multiword ops

Cc: Blue Swirl <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: d7156f7ce4581c874df4a27409e7d99873faa413
      
https://github.com/qemu/qemu/commit/d7156f7ce4581c874df4a27409e7d99873faa413
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M tcg/README
    M tcg/i386/tcg-target.h
    M tcg/ia64/tcg-target.h
    M tcg/optimize.c
    M tcg/ppc64/tcg-target.h
    M tcg/s390/tcg-target.h
    M tcg/sparc/tcg-target.h
    M tcg/tcg-opc.h
    M tcg/tcg.h
    M tcg/tci/tcg-target.h

  Log Message:
  -----------
  tcg: Add 64-bit multiword arithmetic operations

Matching the 32-bit multiword arithmetic that we already have.

Signed-off-by: Blue Swirl <address@hidden>


  Commit: 4d3203fd0b5d17e39f631f2534e7cbb37d04ce3f
      
https://github.com/qemu/qemu/commit/4d3203fd0b5d17e39f631f2534e7cbb37d04ce3f
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M tcg/README
    M tcg/arm/tcg-target.h
    M tcg/hppa/tcg-target.h
    M tcg/i386/tcg-target.h
    M tcg/ia64/tcg-target.h
    M tcg/mips/tcg-target.h
    M tcg/optimize.c
    M tcg/ppc/tcg-target.h
    M tcg/ppc64/tcg-target.h
    M tcg/s390/tcg-target.h
    M tcg/sparc/tcg-target.h
    M tcg/tcg-opc.h
    M tcg/tcg.h
    M tcg/tci/tcg-target.h

  Log Message:
  -----------
  tcg: Add signed multiword multiplication operations

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: 3c51a98507f9ff64fc2a3841c0e5b8a0c9e3c2b7
      
https://github.com/qemu/qemu/commit/3c51a98507f9ff64fc2a3841c0e5b8a0c9e3c2b7
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M tcg/tcg-op.h

  Log Message:
  -----------
  tcg: Implement a 64-bit to 32-bit extraction helper

We're going to have use for this shortly in implementing other helpers.

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: 696a8be6a077a5760bbf9822209999c908cdf0b1
      
https://github.com/qemu/qemu/commit/696a8be6a077a5760bbf9822209999c908cdf0b1
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

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

  Log Message:
  -----------
  tcg: Implement multiword multiply helpers

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: f6953a739972353f2cc5e3d5994127ca8c8236ce
      
https://github.com/qemu/qemu/commit/f6953a739972353f2cc5e3d5994127ca8c8236ce
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M tcg/tcg-op.h

  Log Message:
  -----------
  tcg: Implement multiword addition helpers

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: 624988a53b4db34ee2a2b96dc2bccdf52e133a0a
      
https://github.com/qemu/qemu/commit/624988a53b4db34ee2a2b96dc2bccdf52e133a0a
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M tcg/i386/tcg-target.c
    M tcg/i386/tcg-target.h

  Log Message:
  -----------
  tcg-i386: Implement multiword arithmetic ops

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: d693e14733509f9a2124b03a912058790411140a
      
https://github.com/qemu/qemu/commit/d693e14733509f9a2124b03a912058790411140a
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M tcg/arm/tcg-target.c
    M tcg/arm/tcg-target.h

  Log Message:
  -----------
  tcg-arm: Implement muls2_i32

We even had the encoding of smull already handy...

Cc: Andrzej Zaborowski <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: 76f131332310d8317880ef73a2bc90725d857ed3
      
https://github.com/qemu/qemu/commit/76f131332310d8317880ef73a2bc90725d857ed3
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Use add2 to implement the ADX extension

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: f402f38f439f17d4361b28248f948a6170d30133
      
https://github.com/qemu/qemu/commit/f402f38f439f17d4361b28248f948a6170d30133
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M tcg/tcg-op.h

  Log Message:
  -----------
  tcg: Implement muls2 with mulu2

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: f1fae40c61fd4558c7d10992c98b4bb47f99e0ed
      
https://github.com/qemu/qemu/commit/f1fae40c61fd4558c7d10992c98b4bb47f99e0ed
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Apply life analysis to 64-bit multiword arithmetic ops

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: 962415fcd5f8223a6fbc6f7bb8c5fdf2500f2f84
      
https://github.com/qemu/qemu/commit/962415fcd5f8223a6fbc6f7bb8c5fdf2500f2f84
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-alpha/helper.h
    M target-alpha/int_helper.c
    M target-alpha/translate.c

  Log Message:
  -----------
  target-alpha: Use mulu2 for umulh insn

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: dc46d1c68aa107b8e3c95f66e87cd9d02e6452a9
      
https://github.com/qemu/qemu/commit/dc46d1c68aa107b8e3c95f66e87cd9d02e6452a9
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-s390x/helper.h
    M target-s390x/int_helper.c
    M target-s390x/translate.c

  Log Message:
  -----------
  target-s390x: Use mulu2 for mlgr insn

Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: 831d7fe800774db0d7142fdf2a8f8758c8bf9c92
      
https://github.com/qemu/qemu/commit/831d7fe800774db0d7142fdf2a8f8758c8bf9c92
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-arm/translate.c

  Log Message:
  -----------
  target-arm: Use mul[us]2 in gen_mul[us]_i64_i32

Cc: Peter Maydell <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: c9f10124a2704b6bab21b31e79735b18d414a654
      
https://github.com/qemu/qemu/commit/c9f10124a2704b6bab21b31e79735b18d414a654
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-arm/helper.c
    M target-arm/helper.h
    M target-arm/translate.c

  Log Message:
  -----------
  target-arm: Use mul[us]2 and add2 in umlal et al

Cc: Peter Maydell <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: e3482cb8063575f9fe0f39b701a4b6dc5a55c9cd
      
https://github.com/qemu/qemu/commit/e3482cb8063575f9fe0f39b701a4b6dc5a55c9cd
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-arm/translate.c

  Log Message:
  -----------
  target-arm: Use add2 in gen_add_CC

Cc: Peter Maydell <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: 49b4c31efcce45ab714f286f14fa5d5173f9069d
      
https://github.com/qemu/qemu/commit/49b4c31efcce45ab714f286f14fa5d5173f9069d
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-arm/helper.h
    M target-arm/op_helper.c
    M target-arm/translate.c

  Log Message:
  -----------
  target-arm: Implement adc_cc inline

Use add2 if available, otherwise use 64-bit arithmetic.

Cc: Peter Maydell <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: 2de68a4900ef6eb67380b0c128abfe1976bc66e8
      
https://github.com/qemu/qemu/commit/2de68a4900ef6eb67380b0c128abfe1976bc66e8
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-arm/helper.h
    M target-arm/op_helper.c
    M target-arm/translate.c

  Log Message:
  -----------
  target-arm: Implement sbc_cc inline

Use sub2 if available, otherwise use 64-bit arithmetic.

Cc: Peter Maydell <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: ce1dd5d1bbb0a3769566cb6967714c8c8c97a815
      
https://github.com/qemu/qemu/commit/ce1dd5d1bbb0a3769566cb6967714c8c8c97a815
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-mips/helper.h
    M target-mips/op_helper.c
    M target-mips/translate.c

  Log Message:
  -----------
  target-mips: Use mul[us]2 in [D]MULT[U] insns

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


  Commit: bf45f97133b7f81d27711971a9e28d60528d90c8
      
https://github.com/qemu/qemu/commit/bf45f97133b7f81d27711971a9e28d60528d90c8
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-cris/translate.c

  Log Message:
  -----------
  target-cris: Use mul*2 in mul* insns

Cc: Edgar E. Iglesias <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: 23ad1d5d3c00cd07ab7aedc128565c6029802c30
      
https://github.com/qemu/qemu/commit/23ad1d5d3c00cd07ab7aedc128565c6029802c30
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-ppc/helper.h
    M target-ppc/int_helper.c
    M target-ppc/translate.c

  Log Message:
  -----------
  target-ppc: Use mul*2 in mulh* insns

Cc: Alexander Graf <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: da91a00f191fc70ea7d81d7476ef933c562e6fcd
      
https://github.com/qemu/qemu/commit/da91a00f191fc70ea7d81d7476ef933c562e6fcd
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-ppc/cpu.h
    M target-ppc/int_helper.c
    M target-ppc/kvm.c
    M target-ppc/machine.c
    M target-ppc/translate.c
    M target-ppc/translate_init.c

  Log Message:
  -----------
  target-ppc: Split out SO, OV, CA fields from XER

In preparation for more efficient setting of these fields.

Cc: Alexander Graf <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: 2fdcb629071cb6206028bc7d6b69f3585fc365ec
      
https://github.com/qemu/qemu/commit/2fdcb629071cb6206028bc7d6b69f3585fc365ec
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-ppc/translate.c

  Log Message:
  -----------
  target-ppc: Use setcond in gen_op_cmp

Which means that callers need not copy data into local tmps.

Cc: Alexander Graf <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: ffe30937c89dd67a53bf3f35b962701cd9d8f70e
      
https://github.com/qemu/qemu/commit/ffe30937c89dd67a53bf3f35b962701cd9d8f70e
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-ppc/translate.c

  Log Message:
  -----------
  target-ppc: Compute addition overflow without branches

Cc: Alexander Graf <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: 146de60dcade65a401c6665ae4b51c2b15dfaa55
      
https://github.com/qemu/qemu/commit/146de60dcade65a401c6665ae4b51c2b15dfaa55
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-ppc/translate.c

  Log Message:
  -----------
  target-ppc: Compute addition carry with setcond

Cc: Alexander Graf <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: b5a73f8d8a57e940f9bbeb399a9e47897522ee9a
      
https://github.com/qemu/qemu/commit/b5a73f8d8a57e940f9bbeb399a9e47897522ee9a
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-ppc/translate.c

  Log Message:
  -----------
  target-ppc: Use add2 for carry generation

Cc: Alexander Graf <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: fd3f0081e5d873b26b9988b48f7118a9914bbd64
      
https://github.com/qemu/qemu/commit/fd3f0081e5d873b26b9988b48f7118a9914bbd64
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-ppc/translate.c

  Log Message:
  -----------
  target-ppc: Implement neg in terms of subf

Cc: Alexander Graf <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: ba4af3e422f7ba2de58fd752d6ca89922c259a74
      
https://github.com/qemu/qemu/commit/ba4af3e422f7ba2de58fd752d6ca89922c259a74
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-ppc/translate.c

  Log Message:
  -----------
  target-ppc: Compute arithmetic shift carry without branches

Cc: Alexander Graf <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: e4a2c846248ff8e786e741bc4bc3103b24dfba74
      
https://github.com/qemu/qemu/commit/e4a2c846248ff8e786e741bc4bc3103b24dfba74
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-ppc/translate.c

  Log Message:
  -----------
  target-ppc: Compute mullwo without branches

Cc: Alexander Graf <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: 15fe216fc510c2a0ecf39536bbbc92ba75beb963
      
https://github.com/qemu/qemu/commit/15fe216fc510c2a0ecf39536bbbc92ba75beb963
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Use official add2/sub2 interfaces for addx/subx

Cc: Blue Swirl <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: 528692a8a4fb6c545d818957e758d6ad70fa255c
      
https://github.com/qemu/qemu/commit/528692a8a4fb6c545d818957e758d6ad70fa255c
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-sparc/translate.c

  Log Message:
  -----------
  target-sparc: Use mul*2 for multiply

Cc: Blue Swirl <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: 1d3b708491b9d7dde573261fdee8ca0afc6980fd
      
https://github.com/qemu/qemu/commit/1d3b708491b9d7dde573261fdee8ca0afc6980fd
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-sh4/translate.c

  Log Message:
  -----------
  target-sh4: Use mul*2 for dmul*

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


  Commit: d1f8cd839136337b713a05aaf11a5f189e81532d
      
https://github.com/qemu/qemu/commit/d1f8cd839136337b713a05aaf11a5f189e81532d
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-unicore32/translate.c

  Log Message:
  -----------
  target-unicore32: Use mul*2 for do_mult

Cc: Guan Xuetao <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: c9cda20bc55e549d31e791bfa55eabe3642b73a7
      
https://github.com/qemu/qemu/commit/c9cda20bc55e549d31e791bfa55eabe3642b73a7
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-xtensa/translate.c

  Log Message:
  -----------
  target-xtensa: Use mul*2 for mul*hi

Cc: Max Filippov <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: d2123a079d983677ec8333940aa4bec803d98cde
      
https://github.com/qemu/qemu/commit/d2123a079d983677ec8333940aa4bec803d98cde
  Author: Richard Henderson <address@hidden>
  Date:   2013-02-23 (Sat, 23 Feb 2013)

  Changed paths:
    M target-xtensa/translate.c

  Log Message:
  -----------
  target-xtensa: Use add2/sub2 for mac

Cc: Max Filippov <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


Compare: https://github.com/qemu/qemu/compare/6ab7e5465a4d...d2123a079d98

reply via email to

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