When compiling on AMD64 with -O3 -march=native I get on two systems using
GCC 15 the following error.
In file included from video/slice.C:9:
video/slice.C: In member function 'int
zmpeg3_t::slice_decoder_t::add_block(int, int, int, int, int)':
video/mmx.h:384:9: error: invalid 'asm': invalid constraints for operand
384 | __asm__ __volatile__ (#op " %%" #reg ", %0" \
| ^~~~~~~
video/mmx.h:406:33: note: in expansion of macro 'mmx_r2m'
406 | #define movq_r2m(reg, var) mmx_r2m(movq, reg, var)
| ^~~~~~~
video/slice.C:208:7: note: in expansion of macro 'movq_r2m'
208 | movq_r2m(mm3,m_(rfp)); /* store rfp[0..7] */
| ^~~~~~~~
Stefan
Sorry, no idea what goes wrong here.
Does it compile with -O2, -march=native ?
May be aggressive optimizations broke some old calling conventions between asm and C?