[FFmpeg-devel] [PATCH 1/2] lavu/bswap: remove some inline assembler
James Almer
jamrial at gmail.com
Tue Jun 11 19:08:04 EEST 2024
On 6/11/2024 12:57 PM, Michael Niedermayer wrote:
> On Tue, Jun 11, 2024 at 12:38:37PM -0300, James Almer wrote:
>> On 6/11/2024 10:15 AM, Michael Niedermayer wrote:
>>> On Fri, Jun 07, 2024 at 09:19:46PM +0300, Rémi Denis-Courmont wrote:
>>>> C code or compiler built-ins are preferable over inline assembler for
>>>> byte-swaps as it allows for better optimisations (e.g. instruction
>>>> scheduling) which would otherwise be impossible.
>>>>
>>>> As with f64c2e710fa1a7b59753224e717f57c48462076f for x86 and Arm,
>>>> this removes the inline assembler on GCC (and Clang) since we now
>>>> require recent enough compiler versions (this indeed seems to work on
>>>> AArch64).
>>>> ---
>>>> libavutil/aarch64/bswap.h | 56 ---------------------------------------
>>>> libavutil/avr32/bswap.h | 44 ------------------------------
>>>> libavutil/bswap.h | 8 +-----
>>>> libavutil/sh4/bswap.h | 48 ---------------------------------
>>>
>>> As you are writing that this preferrable for better optimisations
>>> Please provide benchmarks (for sh4, avr32)
>>
>> This is a ridiculous request, considering nobody has such hardware at all.
>
> Then I think its a ridiculous claim that this optimizes the code
>
> I mean, at some point there was hardware and these optimisations did improve
> speed.
>
> This patch is not removing the code because its a rare (or dead) platform, it removes
> it with the claim that this would "allows for better optimisations"
> Iam sorry but i do not see why asking for the claim in the commit message
> to be backed up with facts being ridiculous
> The claim in the commit message may be ridiculous
Compilers have come a long way since 20 years ago when this code was added.
See https://godbolt.org/z/jPose4rj3, where new GCC generates the same
code for sh4. And no inline assembly means instruction scheduling will
take these functions into account.
>
> thx
>
> [...]
>
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list