- Sep 29, 2014
-
-
Richard Henderson authored
Instead of using structures, which imply some amount of overhead on certain ABIs, use pointer types. This actually reduces the size of the binaries vs a NON-debug build on ppc64 and x86_64, due to a reduction in the number of sign-extension insns. Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
The "old" qemu_ld opcode did not specify the size of the result, and so we had to assume full register width. With the new opcodes, we can narrow the result. Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
The pre-v9 ADDX/SUBX insns were renamed ADDC/SUBC for v9. Standardizing on the v9 name makes things less confusing. Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
Similar to the ADDC tricks we use in setcond_i32. Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
We failed to swap c1 and c2 correctly for NE c2 == 0. Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
On T4 and newer Sparc chips we have an add-with-carry insn that takes its input from %xcc instead of %icc. Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
- Aug 24, 2014
-
-
Hailiang Zhang authored
fopen() may fail and it does not check its return vaule here, it is better to dump op count to the normal log file. Signed-off-by:
Li Liu <john.liuli@huawei.com> Signed-off-by:
zhanghailiang <zhang.zhanghailiang@huawei.com> Signed-off-by:
Michael Tokarev <mjt@tls.msk.ru>
-
- Jun 29, 2014
-
-
Peter Maydell authored
Add back in the support for 64-bit PPC MacOSX hosts that was broken in the recent merge of the 32-bit and 64-bit TCG backends. Reported-by:
Andreas Färber <andreas.faerber@web.de> Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Reviewed-by:
Richard Henderson <rth@twiddle.net> Tested-by:
Andreas Färber <andreas.faerber@web.de>
-
- Jun 27, 2014
-
-
Richard Henderson authored
With rt != r0 on loads, we use rt for scratch. If we need an index register different from base, we can't use rt, but r0 is usable. Signed-off-by:
Richard Henderson <rth@twiddle.net> Message-id: 1403843160-30332-1-git-send-email-rth@twiddle.net Tested-by:
Cédric Le Goater <clg@fr.ibm.com> Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
- Jun 24, 2014
-
-
Peter Maydell authored
The tcg_out* and tcg_patch* functions are utility routines that may or may not be used by a particular backend; mark them with the 'unused' attribute to suppress spurious warnings if they aren't used. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Signed-off-by:
Michael Tokarev <mjt@tls.msk.ru>
-
Stefan Weil authored
* accomodate -> accommodate * aquiring -> acquiring * beacuse -> because * loosing -> losing * prefering -> preferring * threshhold -> threshold Signed-off-by:
Stefan Weil <sw@weilnetz.de> Signed-off-by:
Michael Tokarev <mjt@tls.msk.ru>
-
- Jun 23, 2014
-
-
Richard Henderson authored
This can significantly reduce code size for generation of (some) 64-bit constants. With the side effect that we know for a fact that exit_tb can use the register to good effect. Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
As a "utility", it only supported ppc, and in a way that other tcg backends provided directly in tcg-target.h. Removing this disparity is easier now that the two ppc backends are merged. Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
The other tcg backends that support 32- and 64-bit modes use the 32-bit name for the port. Follow suit. Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
Vectoring the 32-bit build to the ppc64 directory. Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
Good enough to run some instructions before things go awry. Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
Now passes tcg_add_target_add_op_defs assertions, but not complete enough to function. Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
Just enough to compile, assuming you edit config-host.mak manually. It will still abort at runtime, due to missing brcond2, setcond2, mulu2. Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
All sorts of confusion on argument ordering. Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Ulrich Weigand authored
The new ELFv2 ABI, used by default on powerpc64le-linux hosts, introduced some changes that are incompatible with code currently generated by the ppc64 TGC target. In particular, we no longer use function descriptors. This patch adds support for the ELFv2 ABI in the ppc64 TGC function call and function prologue sequences. Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Ulrich Weigand <ulrich.weigand@de.ibm.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
The correct test uses the _CALL_AIX macro, not a host-specific macro. Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
In preparation for supporting other ABIs. Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
The calling convention reserves space for the 8 register parameters on the stack, so using only 6*8=48 as the offset was wrong. We never saw this bug because we don't have any helpers with more than 5 parameters. Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
These values are private to tcg.c; we don't need to expose this nonsense to the translators. Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
Rather than using tcg_out32 and opcodes directly. This allows us to remove LD_ADDR and CMP_L macros. Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
In order to be able to use tcg_out_ld/st sensibly with scratch registers, assert only when we'd incorrectly clobber a scratch. Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
Code movement only. This will allow us to make use of the other tcg_out_* functions in tidying their implementations. Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
Using more appropriate _PTR or _REG where possible. Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
Richard Henderson authored
Tested-by:
Tom Musta <tommusta@gmail.com> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
- Jun 18, 2014
-
-
Richard Henderson authored
With the "old" ldst ops we didn't know the real width of the result of the load, but with the "new" ldst ops we do. Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
- Jun 05, 2014
-
-
Paolo Bonzini authored
Unify pieces of cpu-all.h, exec-all.h, softmmu_exec.h and tcg/tcg.h into a single new header file with all helpers. Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- Jun 04, 2014
-
-
Alexander Graf authored
We expose a generic helper "tcg_gen_extr_i64_tl" for 64bit targets, but the same function for 32bit targets is a misnomer and refers to an invalid function name. Fix up the definition to point to the correct internal helper names instead. Signed-off-by:
Alexander Graf <agraf@suse.de> Signed-off-by:
Richard Henderson <rth@twiddle.net>
-