Menu

#442 pdp mmx problems on amd64

open-accepted
externals (234)
5
2012-11-13
2009-08-14
No

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

Discussion

  • Hans-Christoph Steiner

    • assigned_to: nobody --> doelie
     
  • Tom Schouten

    Tom Schouten - 2012-11-13
    • status: open --> open-accepted
     
  • Tom Schouten

    Tom Schouten - 2012-11-13

    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/

     

Anonymous
Anonymous

Add attachments
Cancel