From e83267f7579cf083f55b4278f6017510db2cc4b8 Mon Sep 17 00:00:00 2001 From: Flatmush Date: Sun, 13 Mar 2011 18:39:26 +0000 Subject: Changed ARM fix16_mul to be disabled for thumb. --- libfixmath/fix16.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libfixmath/fix16.c b/libfixmath/fix16.c index a557ef1..309b913 100644 --- a/libfixmath/fix16.c +++ b/libfixmath/fix16.c @@ -14,16 +14,16 @@ fix16_t fix16_sadd(fix16_t inArg0, fix16_t inArg1) { -#if defined(__arm__) || defined(_ARM) +#if defined(__arm__) || defined(_ARM) && !defined(__thumb__) fix16_t fix16_mul(int32_t inArg0, int32_t inArg1) { fix16_t res; asm( - "smull %1, r0, %2, %3\n\t" + "smull %0, r0, %1, %2\n\t" #ifndef FIXMATH_NO_ROUNDING - "add %1, %1, #0x8000\n\t" + "add %0, %0, #0x8000\n\t" #endif - "mov %1, %1, LSR #16\n\t" - "or %1, %1, r0, LSL #16" + "mov %0, %0, LSR #16\n\t" + "or %0, %0, r0, LSL #16" : "=r"(res) : "r"(inArg0), "r"(inArg1) : "r0"); -- cgit v1.2.3