summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/target/arm/as3525/pcm-as3525.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/firmware/target/arm/as3525/pcm-as3525.c b/firmware/target/arm/as3525/pcm-as3525.c
index bb91bfa..20c34bb 100644
--- a/firmware/target/arm/as3525/pcm-as3525.c
+++ b/firmware/target/arm/as3525/pcm-as3525.c
@@ -263,7 +263,7 @@ static inline void mono2stereo(int16_t *end)
{
if(audio_channels != 1) /* only for microphone */
return;
-#if 0
+
/* load pointer in a register and avoid updating it in each loop */
register int16_t *samples = mono_samples;
@@ -273,19 +273,6 @@ static inline void mono2stereo(int16_t *end)
} while(samples != end);
mono_samples = samples; /* update pointer */
-#else
- /* gcc doesn't use pre indexing : let's save 1 cycle */
- int16_t left;
- asm (
- "1: ldrh %0, [%1], #2 \n" // load 1 sample of the left-channel
- " strh %0, [%1], #2 \n" // copy it in the right-channel
- " cmp %1, %2 \n" // are we finished?
- " bne 1b \n"
- : "=r"(left), "+r"(mono_samples)
- : "r"(end)
- : "memory"
- );
-#endif /* C / ASM */
}
#endif /* CONFIG_CPU == AS3525 */