mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 09:43:56 -06:00
tcg/arm: add bswap ops
Add an bswap16 and bswap32 ops, either using the rev and rev16 instructions on ARMv6+ or shifts and logical operations on previous ARM versions. In both cases the result use less instructions than the pure TCG version. These ops are also needed by the qemu_ld/st functions. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
9517094f72
commit
244b1e81f6
2 changed files with 44 additions and 2 deletions
|
@ -62,8 +62,8 @@ enum {
|
|||
#define TCG_TARGET_HAS_ext16s_i32
|
||||
#undef TCG_TARGET_HAS_ext8u_i32 /* and r0, r1, #0xff */
|
||||
#define TCG_TARGET_HAS_ext16u_i32
|
||||
// #define TCG_TARGET_HAS_bswap16_i32
|
||||
// #define TCG_TARGET_HAS_bswap32_i32
|
||||
#define TCG_TARGET_HAS_bswap16_i32
|
||||
#define TCG_TARGET_HAS_bswap32_i32
|
||||
#define TCG_TARGET_HAS_not_i32
|
||||
#define TCG_TARGET_HAS_neg_i32
|
||||
#define TCG_TARGET_HAS_rot_i32
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue