diff options
author | Aurelien Jarno <aurelien@aurel32.net> | 2010-04-09 20:52:48 +0200 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2010-04-19 07:03:02 +0200 |
commit | 244b1e81f6afc2ddc866a6dbad42ccafd10c246b (patch) | |
tree | 994da373128d5911745ab0d08a83398f12dc094f /tcg/arm/tcg-target.h | |
parent | 9517094f720097b51854ef458ffb1971720dddfa (diff) |
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>
Diffstat (limited to 'tcg/arm/tcg-target.h')
-rw-r--r-- | tcg/arm/tcg-target.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tcg/arm/tcg-target.h b/tcg/arm/tcg-target.h index 1f6d665673..d8d7d948ce 100644 --- a/tcg/arm/tcg-target.h +++ b/tcg/arm/tcg-target.h @@ -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 |