[vlc-devel] [PATCH]: added proper alignments for arm_neon

Felix Paul Kühne fkuehne.videolan at gmail.com
Thu Jul 26 22:10:41 CEST 2012


On 26.07.2012, at 10:56, Rémi Denis-Courmont wrote:

> Le jeudi 26 juillet 2012 16:08:55 Felix Paul Kühne, vous avez écrit :
>> the attached patch fixes alignment issues (and crashes) in our NEON code
>> for iOS.
> 
> If I grok the binutils documentation, this patch breaks the official ARM 
> assembler syntax:
> 
> ".align expression [, expression]
> This is the generic .align directive. For the ARM however if the first 
> argument is zero (ie no alignment is needed) the assembler will behave as if 
> the argument had been 2 (ie pad to the next four byte boundary). This is for 
> compatibility with ARM's own assembler."

I'm understanding it differently, but this might be an English parsing error:

With the ARM compiler, .align 0 == .align 2. So, if we put a .align 2, there is no difference for this compiler. However, on clang, there is because it fails to do the alignment properly on 4 bytes if I don't specify this argument. I have no idea what gcc is doing in this case because I don't have any GCC copy for ARM compilation around.

So, if you consider this patch as correct as mentioned in a previous mail in this thread and since it's what Måns is suggesting for x264, I'd like to commit it.

Cheers,

Felix


More information about the vlc-devel mailing list