File tree 1 file changed +12
-3
lines changed
src/common_audio/signal_processing_library/main/interface
1 file changed +12
-3
lines changed Original file line number Diff line number Diff line change 19
19
20
20
#ifdef WEBRTC_ANDROID
21
21
22
+ __asm (
23
+ // On Android gcc compiler, the clz instruction is not supported with a
24
+ // target smaller than armv7, despite it being legal for armv5+.
25
+ " .arch armv7-a\n"
26
+ //" clz %0, %1 \n"
27
+ //"=r" (leading_zeroes)
28
+ //"r" (data)
29
+ );
30
+
22
31
WEBRTC_INLINE WebRtc_Word32 WEBRTC_SPL_MUL (WebRtc_Word32 a , WebRtc_Word32 b )
23
32
{
24
33
WebRtc_Word32 tmp ;
25
- __asm__("mul %0, %1, %2" :"=r" (tmp ):"r" (a ), "r" (b ));
34
+ __asm__("smmul %0, %1, %2" :"=r" (tmp ):"r" (a ), "r" (b )); //changed mul to smmul.
26
35
return tmp ;
27
36
}
28
37
@@ -66,7 +75,7 @@ WEBRTC_INLINE WebRtc_Word16 WebRtcSpl_AddSatW16(WebRtc_Word16 a,
66
75
{
67
76
WebRtc_Word32 s_sum ;
68
77
69
- __asm__("qadd16 %0, %1, %2" :"=r" (s_sum ):"r" (a ), "r" (b ));
78
+ __asm__("qadd %0, %1, %2" :"=r" (s_sum ):"r" (a ), "r" (b ));
70
79
71
80
return (WebRtc_Word16 ) s_sum ;
72
81
}
@@ -86,7 +95,7 @@ WEBRTC_INLINE WebRtc_Word16 WebRtcSpl_SubSatW16(WebRtc_Word16 var1,
86
95
{
87
96
WebRtc_Word32 s_sub ;
88
97
89
- __asm__("qsub16 %0, %1, %2" :"=r" (s_sub ):"r" (var1 ), "r" (var2 ));
98
+ __asm__("qsub %0, %1, %2" :"=r" (s_sub ):"r" (var1 ), "r" (var2 ));
90
99
91
100
return (WebRtc_Word16 )s_sub ;
92
101
}
You can’t perform that action at this time.
0 commit comments