[x265] Regarding changeset 8154 "vec: remove idct8, we have SSSE3 assembly for it"

James Almer jamrial at gmail.com
Thu Sep 25 05:01:10 CEST 2014


On 24/09/14 11:40 PM, Steve Borho wrote:
> On 09/24, James Almer wrote:
>> Hello.
>>
>> Would it be too much to ask to get this reverted, or ported to yasm 
>> syntax and reintroduced to the tree?
>> The fact there's an SSSE3 implementation of the same function isn't reason 
>> enough to remove an implementation for an older instruction set.
>> There are several AMD cpus out there that support only up to SSE3, including 
>> many quad and hexa core, and this commit means a performance hit for them.
>>
>> And for that matter, was it really SSE3? It seems to me that it only uses 
>> SSE2 intrinsics/instructions.
>> Regards.
> 
> It's been our goal for about a year now to get rid of all the intrinsic
> SIMD routines and we've been fairly successful.  All we have left is a
> rarely used dequant_scaling() function, and these dct/idct routines for
> large transforms (16x16 and 32x32).
> 
> All things considered I'd greatly prefer an SSE3 or lower asesmbly
> version of idct8, but I don't believe that's something our team will be
> working on any time soon since we already have an SSSE3 assembly
> function and we're focused on increasing AVX and AVX2 coverage for
> real-time encoding.
> 
> So it looks like I'll back that change out since the intrinsic function
> is still useful to you.

Thank you.

I agree that getting rid of the intrinsics in the long run is great, so i wont 
object once you get rid of them all since i figure it would mean a maintenance 
burden otherwise.
It would be nice as you said to have a yasm replacement for this idct8 sse3 
function when that happens, though.


More information about the x265-devel mailing list