[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.
More information about the vlc-devel