diff options
| author | Flatmush <Flatmush@gmail.com> | 2011-03-13 18:39:26 +0000 |
|---|---|---|
| committer | Flatmush <Flatmush@gmail.com> | 2011-03-13 18:39:26 +0000 |
| commit | e83267f7579cf083f55b4278f6017510db2cc4b8 (patch) | |
| tree | 8f6cdc144818af275392d519f70c5496d63f35f1 | |
| parent | 98bbaf3b175930ad6b01ade27409b7dda899f88e (diff) | |
| download | libfixmath-e83267f7579cf083f55b4278f6017510db2cc4b8.tar.gz | |
Changed ARM fix16_mul to be disabled for thumb.
| -rw-r--r-- | libfixmath/fix16.c | 10 |
1 files 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");
|
