Opened 5 years ago

Closed 5 years ago

#1151 closed defect (invalid)

darwin/ppc --disable-altivec enables x86 asm in ac3dec

Reported by: jeremyhu Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no


I just added a new config to ppc-darwin-gcc-4.0.1 is built with --disable-altivec, and it is failing in ac3dec due to intel asm:

CC	libavcodec/ac3dec.o
/var/folders/x8/x8sPtfKVFomVBdsjFDgLM++++TI/-Tmp-//ccshAMyQ.s:7198:no such instruction: `mulhw %eax, %eax,%ebx'
make: *** [libavcodec/ac3dec.o] Error 1

Change History (5)

comment:1 Changed 5 years ago by cehoyos

  • Keywords ppc added

The following works fine here on a G4 with gcc 4.0.1 (Apple Inc. build 5493):
$ make distclean
$ git pull
$ ./configure --disable-altivec
$ make libavcodec/ac3dec.o
CC libavcodec/ac3dec.o

How can I reproduce the problem?

comment:2 follow-up: Changed 5 years ago by jeremyhu

Well the system is an intel machine running Leopard. gcc is essentially the same (there was not much of importance between 5493 and 5494

gcc-apple-4.0 (GCC) 4.0.1 (Apple Inc. build 5494)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO

I'll take a look into it a bit more.

comment:3 in reply to: ↑ 2 Changed 5 years ago by cehoyos

  • Component changed from avcodec to undetermined
  • Keywords ppc removed

Replying to jeremyhu:

Well the system is an intel machine running Leopard.

Do I understand correctly that compilation works fine with "./configure", but fails for "./configure --disable-altivec" ?
(This would certainly be a bug, but the question remains why you pass --disable-altivec to a configure run on Intel?)

comment:4 Changed 5 years ago by jeremyhu

No, it failed without --disable-altivec as well.

It seems like it's probably a bug in the MacPorts?-built compiler:

$ /opt/local/bin/gcc-apple-4.0 -I. -I/Users/jeremy/src/ffmpeg/fate/ppc-darwin-gcc-4.0.1/src/ -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DHAVE_AV_CONFIG_H -arch ppc  -std=c99 -mdynamic-no-pic -fomit-frame-pointer -D_GNU_SOURCE=1 -D_THREAD_SAFE -c /Users/jeremy/src/ffmpeg/fate/ppc-darwin-gcc-4.0.1/src/libavcodec/ac3dec.c -o libavcodec/ac3dec.o
/var/tmp//cc4Wr88b.s:1421:no such instruction: `mulhw %eax, %edx,%eax'

$ /usr/bin/gcc-4.0 -I. -I/Users/jeremy/src/ffmpeg/fate/ppc-darwin-gcc-4.0.1/src/ -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DHAVE_AV_CONFIG_H -arch ppc  -std=c99 -mdynamic-no-pic -fomit-frame-pointer -D_GNU_SOURCE=1 -D_THREAD_SAFE -c /Users/jeremy/src/ffmpeg/fate/ppc-darwin-gcc-4.0.1/src/libavcodec/ac3dec.c -o libavcodec/ac3dec.o

Please close as invalid.

comment:5 Changed 5 years ago by cehoyos

  • Resolution set to invalid
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.