Displaying 4 results from an estimated 4 matches for "smlabt".
Did you mean:
smlabb
2014 Feb 08
3
[PATCH 1/2] arm: Use the UAL syntax for ldr<cc>h instructions
On Fri, 7 Feb 2014, Timothy B. Terriberry wrote:
> Martin Storsjo wrote:
>> This is required in order to build using the built-in assembler
>> in clang.
>
> These patches break the gcc build (with "Error: bad instruction").
Ah, right, sorry about that.
> Documentation I've seen is contradictory on which order ({cond}{size} or
> {size}{cond}) is correct.
2014 Feb 08
0
[PATCH v2] arm: Use the UAL syntax for instructions
.../arm/celt_pitch_xcorr_arm.s
@@ -309,7 +309,7 @@ xcorr_kernel_edsp_process4_done
SUBS r2, r2, #1 ; j--
; Stall
SMLABB r6, r12, r10, r6 ; sum[0] = MAC16_16(sum[0],x,y_0)
- LDRGTH r14, [r4], #2 ; r14 = *x++
+ LDRHGT r14, [r4], #2 ; r14 = *x++
SMLABT r7, r12, r10, r7 ; sum[1] = MAC16_16(sum[1],x,y_1)
SMLABB r8, r12, r11, r8 ; sum[2] = MAC16_16(sum[2],x,y_2)
SMLABT r9, r12, r11, r9 ; sum[3] = MAC16_16(sum[3],x,y_3)
@@ -319,7 +319,7 @@ xcorr_kernel_edsp_process4_done
SMLABB r7, r14, r11, r7 ; sum[1] = MAC1...
2014 Feb 07
3
[PATCH 1/2] arm: Use the UAL syntax for ldr<cc>h instructions
.../arm/celt_pitch_xcorr_arm.s
@@ -309,7 +309,7 @@ xcorr_kernel_edsp_process4_done
SUBS r2, r2, #1 ; j--
; Stall
SMLABB r6, r12, r10, r6 ; sum[0] = MAC16_16(sum[0],x,y_0)
- LDRGTH r14, [r4], #2 ; r14 = *x++
+ LDRHGT r14, [r4], #2 ; r14 = *x++
SMLABT r7, r12, r10, r7 ; sum[1] = MAC16_16(sum[1],x,y_1)
SMLABB r8, r12, r11, r8 ; sum[2] = MAC16_16(sum[2],x,y_2)
SMLABT r9, r12, r11, r9 ; sum[3] = MAC16_16(sum[3],x,y_3)
@@ -319,7 +319,7 @@ xcorr_kernel_edsp_process4_done
SMLABB r7, r14, r11, r7 ; sum[1] = MAC1...
2013 May 17
1
[Patch]01-Add ARM5E macros
...(opus_int32 a, opus_int32 b)
+{
+ int res;
+ __asm__(
+ "smulbt %0, %1, %2;\n"
+ : "=&r"(res)
+ : "r"(a), "r"(b)
+ );
+ return res;
+}
+
+/* a32 + (opus_int32)((opus_int16)(b32)) * (c32 >> 16) */
+static inline opus_int32 silk_SMLABT(opus_int32 a, opus_int32 b, opus_int32 c)
+{
+ int res;
+ __asm__(
+ "smlabt %0, %1, %2, %3;\n"
+ : "=&r"(res)
+ : "r"(b), "r"(c), "r"(a)
+ );
+ return res;
+}
+
+/* a64 + (b32 * c32) */
+#define silk_SMLAL(a64, b32, c32)...