Hi! I'm finding libmad's compilation fails on cfarm230.cfarm.net, an EdgeRouter4 (big-endian) mips64 Cavium Octeon III V0.2 FPU V0.0 Debian 10.13 buster 4.9.79-UBNT_E300 with gcc (Debian 8.3.0-6) 8.3.0 saying In file included from layer12.c:34: layer12.c: In function 'I_sample': fixed.h:307:5: error: impossible constraint in 'asm' asm ("mult %2,%3" \ ^~~ fixed.h:455:8: note: in expansion of macro 'MAD_F_MLX' MAD_F_MLX(__hi, __lo, (x), (y)); \ ^~~~~~~~~ layer12.c:94:10: note: in expansion of macro 'mad_f_mul' return mad_f_mul(sample, linear_table[nb - 2]); ^~~~~~~~~ make[2]: *** [Makefile:383: layer12.lo] Error 1
If I configure with --disable-osa instead I get the same error and it needs ./configure --enable-fpm=default to work.
Am I missing something, or is that what it should do?
M
Hi Martin,
On Aug 1, 2024, at 2:47 AM, Martin Guy martinwguy@gmail.com wrote:
Hi! I'm finding libmad's compilation fails on cfarm230.cfarm.net, an EdgeRouter4 (big-endian) mips64 Cavium Octeon III V0.2 FPU V0.0 Debian 10.13 buster 4.9.79-UBNT_E300 with gcc (Debian 8.3.0-6) 8.3.0 saying In file included from layer12.c:34: layer12.c: In function 'I_sample': fixed.h:307:5: error: impossible constraint in 'asm' asm ("mult %2,%3" \ ^~~
It appears FPM_MIPS is not tuned for your architecture. Perhaps someone could suggest a patch?
If I configure with --disable-osa instead I get the same error and it needs ./configure --enable-fpm=default to work.
Am I missing something, or is that what it should do?
FPM_DEFAULT (--enable-fpm=default) will certainly work, although it doesn’t provide the best accuracy. You could try FPM_64BIT (--enable-fpm=64bit) for better accuracy.