summaryrefslogtreecommitdiff
path: root/tcg/arm/tcg-target.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2013-03-11 22:11:30 -0700
committerAurelien Jarno <aurelien@aurel32.net>2013-04-27 02:16:44 +0200
commit0637c56c99be1c73f5814c7f02c0735242b757e5 (patch)
tree50ba4624c503f32694e9ad0b949fc465e4556339 /tcg/arm/tcg-target.h
parentb6b24cb031d1d6e6f50abf0c8bdc1c309e549156 (diff)
downloadqemu-0637c56c99be1c73f5814c7f02c0735242b757e5.tar.gz
tcg-arm: Implement division instructions
An armv7 extension implements division, present on Cortex A15. Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'tcg/arm/tcg-target.h')
-rw-r--r--tcg/arm/tcg-target.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/tcg/arm/tcg-target.h b/tcg/arm/tcg-target.h
index 209f585f39..3be41cce3c 100644
--- a/tcg/arm/tcg-target.h
+++ b/tcg/arm/tcg-target.h
@@ -56,7 +56,6 @@ typedef enum {
#define TCG_TARGET_CALL_STACK_OFFSET 0
/* optional instructions */
-#define TCG_TARGET_HAS_div_i32 0
#define TCG_TARGET_HAS_ext8s_i32 1
#define TCG_TARGET_HAS_ext16s_i32 1
#define TCG_TARGET_HAS_ext8u_i32 0 /* and r0, r1, #0xff */
@@ -75,6 +74,12 @@ typedef enum {
#define TCG_TARGET_HAS_movcond_i32 1
#define TCG_TARGET_HAS_muls2_i32 1
+#ifdef __ARM_ARCH_EXT_IDIV__
+#define TCG_TARGET_HAS_div_i32 1
+#else
+#define TCG_TARGET_HAS_div_i32 0
+#endif
+
extern bool tcg_target_deposit_valid(int ofs, int len);
#define TCG_TARGET_deposit_i32_valid tcg_target_deposit_valid