pdp's "./configure --enable-mmx" leads to build failure on amd64:
make -C mmx
make[3]: Entering directory `/build/buildd/pd-pdp-0.12.svn20090813/system/mmx'
as -o pixel_pack_s16u8.o pixel_pack_s16u8.s
pixel_pack_s16u8.s: Assembler messages:
pixel_pack_s16u8.s:25: Error: suffix or operands invalid for `push'
pixel_pack_s16u8.s:27: Error: suffix or operands invalid for `push'
pixel_pack_s16u8.s:28: Error: suffix or operands invalid for `push'
pixel_pack_s16u8.s:73: Error: suffix or operands invalid for `pop'
pixel_pack_s16u8.s:74: Error: suffix or operands invalid for `pop'
pixel_pack_s16u8.s:82: Error: suffix or operands invalid for `push'
pixel_pack_s16u8.s:84: Error: suffix or operands invalid for `push'
pixel_pack_s16u8.s:85: Error: suffix or operands invalid for `push'
pixel_pack_s16u8.s:122: Error: suffix or operands invalid for `pop'
pixel_pack_s16u8.s:123: Error: suffix or operands invalid for `pop'
make[3]: *** [pixel_pack_s16u8.o] Error 1
it compiles fine on i386.
problem:
./configure doesn't automatically enable MMX if it is available, or disable it if requested but the CPU doesn't support it.
suggested fix:
add a test for build target CPU type in pdp/configure.ac and autoenable MMX if it is supported
suggested fix 2:
port the i386/mmx code to amd64/mmx, autoselect at compile time and/or run time
Anonymous
Is being worked on together with some other bugfixes.
I've been porting the old MMX asm code to gcc MMX extensions the last couple of weeks.
I'll commit when it's fully tested since this is quite a big change. Dev can be followed in:
http://zwizwa.be/darcs/pdp-12/