> On Tuesday, May 18, 2021, 10:42:53 AM EDT, Alexandre Ratchov <a...@caoua.org> 
> wrote: 
> >On Tue, May 18, 2021 at 02:19:49PM +0000, Doug Moss wrote:
> >> Another topic:
> >> arm64 sndiod cannot be built with 24bit
> >> 
> >> in /usr/src/usr.bin/sndiod
> >> make COPTS=-DADATA_BITS=24
> >> produces:
> >> dsp.h:85:2: error "no 24-bit code for this architecture"
> >
> >You could just add arm64 to the users of this code (or should we just
> >enable for all non-i386 archs?). Let us know if this works well on arm64.

I think this should be enabled for all other archs.

In fact, it should be used for _all_ archs.  If you compare the
inline assembly for fp24_mul() with the code clang generates on
i386, there is no principal difference.  It's imull followed by a
double-register shift.  There is no point in trying to hand-optimize
this.

Now, for fp24_muldiv() clang generates much longer code involving
a subroutine call to __divdi3().  But the switch to the FIR filter
for resampling has removed the only use of ADATA_MULDIV().

-- 
Christian "naddy" Weisgerber                          na...@mips.inka.de

Reply via email to