[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