summary refs log tree commit diff stats
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)
downloadfocaccia-qemu-0637c56c99be1c73f5814c7f02c0735242b757e5.tar.gz
focaccia-qemu-0637c56c99be1c73f5814c7f02c0735242b757e5.zip
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