Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Jul 2013 02:20:01 GMT
From:      dt71@gmx.com
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   Re: ports/180564: MPlayer compilation error with Clang (running out of registers)
Message-ID:  <201307150220.r6F2K1VN065708@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/180564; it has been noted by GNATS.

From: dt71@gmx.com
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/180564: MPlayer compilation error with Clang (running out
 of registers)
Date: Mon, 15 Jul 2013 04:10:14 +0200

 This is a multi-part message in MIME format.
 --------------070204050205040502000108
 Content-Type: text/plain; charset=UTF-8; format=flowed
 Content-Transfer-Encoding: 7bit
 
 Based on a discussion on #llvm at irc.oftc.net:
 - The assembly core of Clang is inherently different from that of GCC. One would have to fully reimplement the GCC assembly core to yield matching behaviors in all cases. This is obviously not going to happen.
 - The -fomit-frame-pointer option would free up 1 needed register.
 - Someone said that the inline assembly version of the code should be just dropped, because the C version is faster.
 
 The attached patch simply cancels the attempted use of 7 registers if the compiler is Clang.
 
 --------------070204050205040502000108
 Content-Type: text/x-patch;
  name="mplayer.patch"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment;
  filename="mplayer.patch"
 
 --- ffmpeg/libavcodec/x86/ac3dsp_init.c	2013-07-03 21:34:20.000000000 +0200
 +++ ffmpeg/libavcodec/x86/ac3dsp_init.c	2013-07-03 21:34:45.000000000 +0200
 @@ -51,7 +51,7 @@
  extern void ff_ac3_extract_exponents_sse2 (uint8_t *exp, int32_t *coef, int nb_coefs);
  extern void ff_ac3_extract_exponents_ssse3(uint8_t *exp, int32_t *coef, int nb_coefs);
  
 -#if ARCH_X86_32 && defined(__INTEL_COMPILER)
 +#if ARCH_X86_32 && (defined(__INTEL_COMPILER) || defined(__clang__))
  #       undef HAVE_7REGS
  #       define HAVE_7REGS 0
  #endif
 
 --------------070204050205040502000108--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307150220.r6F2K1VN065708>