8587c30c3e
tcg-aarch64: Define TCG_TARGET_INSN_UNIT_SIZE
...
And use tcg pointer differencing functions as appropriate.
Acked-by: Claudio Fontana <claudio.fontana@huawei.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <rth@twiddle.net >
2014-05-12 10:06:52 -07:00
4bb7a41ed6
tcg: Add INDEX_op_trunc_shr_i32
...
Let the backend do something special for truncation.
Signed-off-by: Richard Henderson <rth@twiddle.net >
2014-04-28 11:06:34 -07:00
02eb19d0ec
tcg: Use HOST_WORDS_BIGENDIAN
...
Instead of rolling a local TCG_TARGET_WORDS_BIGENDIAN.
Signed-off-by: Richard Henderson <rth@twiddle.net >
2014-04-18 16:57:37 -07:00
de61d14fa7
tcg-aarch64: Implement TCG_TARGET_HAS_new_ldst
...
Reviewed-by: Claudio Fontana <claudio.fontana@huawei.com >
Signed-off-by: Richard Henderson <rth@twiddle.net >
2014-04-16 12:13:01 -04:00
d82b78e48b
tcg-aarch64: Reuse LR in translated code
...
It's obviously call-clobbered, but is otherwise unused.
Repurpose it as the TCG temporary.
Reviewed-by: Claudio Fontana <claudio.fontana@huawei.com >
Signed-off-by: Richard Henderson <rth@twiddle.net >
2014-04-16 12:12:59 -04:00
8678b71ce6
tcg-aarch64: Support div, rem
...
Clean up multiply at the same time.
For remainder, generic code will produce mul+sub,
whereas we can implement with msub.
Signed-off-by: Richard Henderson <rth@twiddle.net >
Reviewed-by: Claudio Fontana <claudio.fontana@huawei.com >
Tested-by: Claudio Fontana <claudio.fontana@huawei.com >
2014-03-14 11:00:10 -07:00
1fcc9ddfb3
tcg-aarch64: Support muluh, mulsh
...
Signed-off-by: Richard Henderson <rth@twiddle.net >
Reviewed-by: Claudio Fontana <claudio.fontana@huawei.com >
Tested-by: Claudio Fontana <claudio.fontana@huawei.com >
2014-03-14 11:00:07 -07:00
c6e929e784
tcg-aarch64: Support add2, sub2
...
Signed-off-by: Richard Henderson <rth@twiddle.net >
Reviewed-by: Claudio Fontana <claudio.fontana@huawei.com >
Tested-by: Claudio Fontana <claudio.fontana@huawei.com >
2014-03-14 11:00:04 -07:00
b3c56df769
tcg-aarch64: Support deposit
...
Also tidy the implementation of ubfm, sbfm, extr in order to share code.
Signed-off-by: Richard Henderson <rth@twiddle.net >
Reviewed-by: Claudio Fontana <claudio.fontana@huawei.com >
Tested-by: Claudio Fontana <claudio.fontana@huawei.com >
2014-03-14 11:00:01 -07:00
04ce397b33
tcg-aarch64: Support movcond
...
Signed-off-by: Richard Henderson <rth@twiddle.net >
Reviewed-by: Claudio Fontana <claudio.fontana@huawei.com >
Tested-by: Claudio Fontana <claudio.fontana@huawei.com >
2014-03-14 10:59:55 -07:00
14b155ddc4
tcg-aarch64: Support andc, orc, eqv, not, neg
...
Signed-off-by: Richard Henderson <rth@twiddle.net >
Reviewed-by: Claudio Fontana <claudio.fontana@huawei.com >
Tested-by: Claudio Fontana <claudio.fontana@huawei.com >
2014-03-14 10:59:52 -07:00
f713d6ad7b
tcg: Add qemu_ld_st_i32/64
...
Step two in the transition, adding the new ldst opcodes. Keep the old
opcodes around until all backends support the new opcodes.
Signed-off-by: Richard Henderson <rth@twiddle.net >
2013-10-10 13:19:21 -07:00
b93949ef6a
tcg: Change flush_icache_range arguments to uintptr_t
...
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net >
Signed-off-by: Richard Henderson <rth@twiddle.net >
2013-09-02 09:08:29 -07:00
03271524b6
tcg: Add muluh and mulsh opcodes
...
Use them in places where mulu2 and muls2 are used.
Optimize mulx2 with dead low part to mulxh.
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net >
Signed-off-by: Richard Henderson <rth@twiddle.net >
2013-09-02 09:08:29 -07:00
ca675f46e6
tcg: Split rem requirement from div requirement
...
There are several hosts with only a "div" insn. Remainder is computed
manually from the quotient and inputs. We can do this generically.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <rth@twiddle.net >
2013-07-09 07:14:09 -07:00
31f1275b90
tcg/aarch64: implement sign/zero extend operations
...
implement the optional sign/zero extend operations with the dedicated
aarch64 instructions.
Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com >
Reviewed-by: Richard Henderson <rth@twiddle.net >
Message-id: 51AC9A58.40502@huawei.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2013-06-12 16:20:23 +01:00
9c4a059df3
tcg/aarch64: implement byte swap operations
...
implement the optional byte swap operations with the dedicated
aarch64 instructions.
Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com >
Reviewed-by: Richard Henderson <rth@twiddle.net >
Message-id: 51AC9A33.9050003@huawei.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2013-06-12 16:20:23 +01:00
4a136e0a6b
tcg/aarch64: implement new TCG target for aarch64
...
add preliminary support for TCG target aarch64.
Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com >
Reviewed-by: Richard Henderson <rth@twiddle.net >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Message-id: 51A5C596.3090108@huawei.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2013-06-12 16:20:22 +01:00