[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 404750: test-i386: QEMU_PACKED is not defined here,
GitHub <=