[PATCH v2 9/9] aarch64: Handle alignment when it is bigger than BIGGEST_ALIGNMENT

2024-11-01 Thread Evgeny Karpov
Wednesday, October 30, 2024 Richard Sandiford wrote: > So for the change in question, I was expecting, say, a 1024-byte-aligned > float[3] to be defined using: > >   .lcomm  array, 1024 Thank you for noticing this. The patch series has been rebased from the upstream before reproducing the

Re: [PATCH v2 9/9] aarch64: Handle alignment when it is bigger than BIGGEST_ALIGNMENT

2024-10-30 Thread Richard Sandiford
Evgeny Karpov writes: > Tuesday, October 29, 2024 > Richard Sandiford wrote: > >> Hmm, I see. I think this is surprising enough that it would be worth >> a comment. How about: >> >> /* Since the assembly directive only specifies a size, and not an >> alignment, we need to follow the defaul

[PATCH v2 9/9] aarch64: Handle alignment when it is bigger than BIGGEST_ALIGNMENT

2024-10-30 Thread Evgeny Karpov
> Symbols in the object file also look good. > > 015 SECT2 notype External | large_aligned_array > 016 0010 SECT2 notype External | large_aligned_array2 > 017 0020 SECT2 notype External | large_aligned_array3 > 018 0040 SECT2 notype Exte

[PATCH v2 9/9] aarch64: Handle alignment when it is bigger than BIGGEST_ALIGNMENT

2024-10-30 Thread Evgeny Karpov
Tuesday, October 29, 2024 Richard Sandiford wrote: > Hmm, I see. I think this is surprising enough that it would be worth > a comment. How about: > > /* Since the assembly directive only specifies a size, and not an > alignment, we need to follow the default ASM_OUTPUT_LOCAL behavior >

Re: [PATCH v2 9/9] aarch64: Handle alignment when it is bigger than BIGGEST_ALIGNMENT

2024-10-29 Thread Richard Sandiford
Evgeny Karpov writes: >> Wednesday, October 23, 2024 >> Richard Sandiford wrote: >> >>> Or, even if that does work, it isn't clear to me why patching >>> ASM_OUTPUT_ALIGNED_LOCAL is a complete solution to the problem. >> >> This patch reproduces the same code as it was done without declaring >>

[PATCH v2 9/9] aarch64: Handle alignment when it is bigger than BIGGEST_ALIGNMENT

2024-10-29 Thread Evgeny Karpov
> Wednesday, October 23, 2024 > Richard Sandiford wrote: > >> Or, even if that does work, it isn't clear to me why patching >> ASM_OUTPUT_ALIGNED_LOCAL is a complete solution to the problem. > > This patch reproduces the same code as it was done without declaring > ASM_OUTPUT_ALIGNED_LOCAL. > AS

[PATCH v2 9/9] aarch64: Handle alignment when it is bigger than BIGGEST_ALIGNMENT

2024-10-24 Thread Evgeny Karpov
Wednesday, October 23, 2024 Richard Sandiford wrote: > Or, even if that does work, it isn't clear to me why patching > ASM_OUTPUT_ALIGNED_LOCAL is a complete solution to the problem. This patch reproduces the same code as it was done without declaring ASM_OUTPUT_ALIGNED_LOCAL. ASM_OUTPUT_ALIGNE

Re: [PATCH v2 9/9] aarch64: Handle alignment when it is bigger than BIGGEST_ALIGNMENT

2024-10-23 Thread Richard Sandiford
Evgeny Karpov writes: > Tuesday, October 22, 2024 > Richard Sandiford wrote: > >>> If ASM_OUTPUT_ALIGNED_LOCAL uses an alignment less than BIGGEST_ALIGNMENT, >>> it might trigger a relocation issue. >>> >>> relocation truncated to fit: IMAGE_REL_ARM64_PAGEOFFSET_12L >> >> Sorry to press the issue

[PATCH v2 9/9] aarch64: Handle alignment when it is bigger than BIGGEST_ALIGNMENT

2024-10-23 Thread Evgeny Karpov
Tuesday, October 22, 2024 Richard Sandiford wrote: >> If ASM_OUTPUT_ALIGNED_LOCAL uses an alignment less than BIGGEST_ALIGNMENT, >> it might trigger a relocation issue. >> >> relocation truncated to fit: IMAGE_REL_ARM64_PAGEOFFSET_12L > > Sorry to press the issue, but: why does that happen? #def

Re: [PATCH v2 9/9] aarch64: Handle alignment when it is bigger than BIGGEST_ALIGNMENT

2024-10-22 Thread Richard Sandiford
Evgeny Karpov writes: > Thursday, October 17, 2024 > Richard Sandiford wrote: > > For instance: > float __attribute__((aligned (32))) large_aligned_array[3]; > > BIGGEST_ALIGNMENT could be up to 512 bits on x64. > This patch has been added to cover this case without needing to

[PATCH v2 9/9] aarch64: Handle alignment when it is bigger than BIGGEST_ALIGNMENT

2024-10-21 Thread Evgeny Karpov
Thursday, October 17, 2024 Richard Sandiford wrote: For instance: float __attribute__((aligned (32))) large_aligned_array[3]; BIGGEST_ALIGNMENT could be up to 512 bits on x64. This patch has been added to cover this case without needing to change the FFmpeg code. >>>

Re: [PATCH v2 9/9] aarch64: Handle alignment when it is bigger than BIGGEST_ALIGNMENT

2024-10-17 Thread Richard Sandiford
Evgeny Karpov writes: > Thursday, September 19, 2024 > Richard Sandiford wrote: > >>> For instance: >>> float __attribute__((aligned (32))) large_aligned_array[3]; >>> >>> BIGGEST_ALIGNMENT could be up to 512 bits on x64. >>> This patch has been added to cover this case without needing to >>> cha

[PATCH v2 9/9] aarch64: Handle alignment when it is bigger than BIGGEST_ALIGNMENT

2024-10-16 Thread Evgeny Karpov
Thursday, September 19, 2024 Richard Sandiford wrote: >> For instance: >> float __attribute__((aligned (32))) large_aligned_array[3]; >> >> BIGGEST_ALIGNMENT could be up to 512 bits on x64. >> This patch has been added to cover this case without needing to >> change the FFmpeg code. > > What goes

Re: [PATCH v2 9/9] aarch64: Handle alignment when it is bigger than BIGGEST_ALIGNMENT

2024-09-19 Thread Richard Sandiford
Evgeny Karpov writes: > In some cases, the alignment can be bigger than BIGGEST_ALIGNMENT. > > The issue was detected while building FFmpeg. > It creates structures, most likely for AVX optimization. > > For instance: > float __attribute__((aligned (32))) large_aligned_array[3]; > > BIGGEST_ALIGNM

[PATCH v2 9/9] aarch64: Handle alignment when it is bigger than BIGGEST_ALIGNMENT

2024-09-06 Thread Evgeny Karpov
In some cases, the alignment can be bigger than BIGGEST_ALIGNMENT. The issue was detected while building FFmpeg. It creates structures, most likely for AVX optimization. For instance: float __attribute__((aligned (32))) large_aligned_array[3]; BIGGEST_ALIGNMENT could be up to 512 bits on x64. Th