summaryrefslogtreecommitdiff
path: root/libavutil/aarch64
Commit message (Collapse)AuthorAge
* arm/aarch64: Use mach_absolute_time as timer on apple platformsMartin Storsjö2021-02-21
| | | | | | | | | This is much less precise than the cycle counter register, but the cycle counter register is not available on apple platforms (and on linux, it requires a kernel module for allowing user mode access). Signed-off-by: Martin Storsjö <martin@martin.st>
* aarch64: Explicitly forbid using the x18 registerMartin Storsjö2020-05-15
| | | | | | | | | | | On windows and darwin (and modern android), the x18 register is reserved and shouldn't be modified by user code, while it is freely available on linux. Strictly avoid it, to keep the assembly code portable. This would have helped catch the issue fixed in 872790b1f9be6 immediately. Signed-off-by: Martin Storsjö <martin@martin.st>
* Add assembly support for -fsanitize=hwaddress tagged globals.Peter Collingbourne2019-08-22
| | | | | | | | | | | | | | | | | As of LLVM r368102, Clang will set a pointer tag in bits 56-63 of the address of a global when compiling with -fsanitize=hwaddress. This requires an adjustment to assembly code that takes the address of such globals: the code cannot use the regular R_AARCH64_ADR_PREL_PG_HI21 relocation to refer to the global, since the tag would take the address out of range. Instead, the code must use the non-checking (_NC) variant of the relocation (the link-time check is substituted by a runtime check). This change makes the necessary adjustment in the movrel macro, where it is needed when compiling with -fsanitize=hwaddress. Signed-off-by: Peter Collingbourne <pcc@google.com> Reviewed-by: Martin Storsjö Reviewed-by: Janne Grunau
* Merge commit '41cf3e3b1ca375962951fde1b90a03b16197d205'James Almer2019-02-20
|\ | | | | | | | | | | | | * commit '41cf3e3b1ca375962951fde1b90a03b16197d205': arm: Create proper .rdata sections for COFF Merged-by: James Almer <jamrial@gmail.com>
| * arm: Create proper .rdata sections for COFFMartin Storsjö2019-01-25
| | | | | | | | | | | | | | | | | | | | | | | | As .rodata isn't one of the default created sections for COFF, it was created as a read-write data section. By using the default .rdata section name for COFF, it automatically becomes a read-only data section. The existing ".section .rodata" works as intended for ELF though. This is based on an original patch and diagnose by Tom Tan <Tom.Tan@microsoft.com>. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '4cf84e254ae75b524e1cacae499a97d7cc9e5906'James Almer2018-02-11
|\| | | | | | | | | | | | | * commit '4cf84e254ae75b524e1cacae499a97d7cc9e5906': Drop some unnecessary config.h #includes Merged-by: James Almer <jamrial@gmail.com>
| * Drop some unnecessary config.h #includesDiego Biurrun2018-02-06
| |
* | Merge commit '69ac24e556c6fbc7138be5a60d0b90d2a5676c3d'James Almer2017-11-11
|\| | | | | | | | | | | | | * commit '69ac24e556c6fbc7138be5a60d0b90d2a5676c3d': aarch64: Get rid of a stray double space Merged-by: James Almer <jamrial@gmail.com>
| * aarch64: Get rid of a stray double spaceMartin Storsjö2017-10-18
| | | | | | | | | | | | | | | | The extra space got included as part of the expansion of ELF, which later interfered with gas-preprocessor which earlier only stripped out leftover lines starting with '#' if the line started with that char. Signed-off-by: Martin Storsjö <martin@martin.st>
| * cpu: split flag checks per arch in av_cpu_max_align()James Almer2017-10-09
| | | | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit '7b7760ad6efb7b96122aa7133ad21e22653ae222'James Almer2017-11-11
|\| | | | | | | | | | | | | * commit '7b7760ad6efb7b96122aa7133ad21e22653ae222': aarch64: Fix negative movrel offsets for windows Merged-by: James Almer <jamrial@gmail.com>
| * aarch64: Fix negative movrel offsets for windowsMartin Storsjö2017-08-22
| | | | | | | | | | | | | | | | | | On windows, the offset for the relocation doesn't get stored in the relocation itself, but as an unsigned immediate in the opcode. Therefore, negative offsets has to be handled via a separate sub instruction, just as on MachO. Signed-off-by: Martin Storsjö <martin@martin.st>
| * aarch64: Add parentheses around the offset parameter in movrelMartin Storsjö2017-02-16
| | | | | | | | | | | | This fixes building with clang for linux with PIC enabled. Signed-off-by: Martin Storsjö <martin@martin.st>
| * aarch64: Add an offset parameter to the movrel macroMartin Storsjö2016-11-10
| | | | | | | | | | | | | | | | | | With apple tools, the linker fails with errors like these, if the offset is negative: ld: in section __TEXT,__text reloc 8: symbol index out of range for architecture arm64 Signed-off-by: Martin Storsjö <martin@martin.st>
* | avutil/cpu: split flag checks per arch in av_cpu_max_align()James Almer2017-09-27
| | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com>
* | aarch64: Add parentheses around the offset parameter in movrelMartin Storsjö2017-03-11
| | | | | | | | | | | | | | | | | | This fixes building with clang for linux with PIC enabled. This is cherrypicked from libav commit 8847eeaa141898850381400000fb2b8a7adc7100. Signed-off-by: Martin Storsjö <martin@martin.st>
* | aarch64: Add an offset parameter to the movrel macroMartin Storsjö2016-11-15
| | | | | | | | | | | | | | | | | | | | | | | | With apple tools, the linker fails with errors like these, if the offset is negative: ld: in section __TEXT,__text reloc 8: symbol index out of range for architecture arm64 This is cherry-picked from libav commit c44a8a3eabcd6acd2ba79f32ec8a432e6ebe552c. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* | all: Add missing header guardsTimothy Gu2016-01-28
| |
* | Merge commit '64034849dad8410bedbe1def4c533490fb85cc4a'Hendrik Leppkes2016-01-02
|\| | | | | | | | | | | | | * commit '64034849dad8410bedbe1def4c533490fb85cc4a': arm64: add cycle counter support Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * arm64: add cycle counter supportJanne Grunau2015-12-14
| | | | | | | | | | | | The ISB (instruction synchronization barrier) might be too heavy for START/STOPTIMER use but should be more accurate in checkasm where the timing overhead is subtracted.
* | Merge commit '780cd20b00a69e26bbfffbb8eec16fbe999ea793'Michael Niedermayer2014-12-09
|\| | | | | | | | | | | | | * commit '780cd20b00a69e26bbfffbb8eec16fbe999ea793': aarch64: Use .data.rel.ro for const data with relocations Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aarch64: Use .data.rel.ro for const data with relocationsMartin Storsjö2014-12-09
| | | | | | | | | | | | | | This reverts commit c00365b46d464ce47716315c1801818d811bdb9a in addition to using a different section. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'a238b83b13640e3192d7d4aaad2242f13a9a84a1'Michael Niedermayer2014-08-04
|\| | | | | | | | | | | | | * commit 'a238b83b13640e3192d7d4aaad2242f13a9a84a1': aarch64: use MACH-O const data asm directive in const macro Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aarch64: use MACH-O const data asm directive in const macroJanne Grunau2014-08-04
| |
* | Merge commit 'd5a55981986ac5d1a31aef3a8d16eaff8534a412'Michael Niedermayer2014-06-04
|\| | | | | | | | | | | | | * commit 'd5a55981986ac5d1a31aef3a8d16eaff8534a412': build: check if AS supports the '.func' directive Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * build: check if AS supports the '.func' directiveJanne Grunau2014-06-03
| | | | | | | | | | Not supported by Clang's integrated assembler. Since it just adds debug information it can safely omitted.
* | Merge commit '68a06b3a639ee21c78532ee4c50c3366bf890ff7'Michael Niedermayer2014-06-03
|\| | | | | | | | | | | | | * commit '68a06b3a639ee21c78532ee4c50c3366bf890ff7': aarch64: use '#' for whole line asm comments Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aarch64: use '#' for whole line asm commentsJanne Grunau2014-06-03
| | | | | | | | | | | | | | Both gnu as and clang treat lines starting with '#' as comments if they aren't consumed by the C-style preprocessor. Using '//' does not work with clang since comments are removed before macro expansion.
* | Merge commit '6a0fa4d86f2b3e9060a1153b39fa3bfe36f1b617'Michael Niedermayer2014-06-03
|\| | | | | | | | | | | | | * commit '6a0fa4d86f2b3e9060a1153b39fa3bfe36f1b617': aarch64: remove optional :pg_hi21: for adrp instruction Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aarch64: remove optional :pg_hi21: for adrp instructionJanne Grunau2014-06-03
| | | | | | | | Clang's integrated assembler does not support it.
* | Merge commit 'fd2981ea92d9a776fcb1a13377dce1c8a7db7b5e'Michael Niedermayer2014-06-03
|\| | | | | | | | | | | | | * commit 'fd2981ea92d9a776fcb1a13377dce1c8a7db7b5e': aarch64: add darwin style PAGE/PAGEOFF relocations Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aarch64: add darwin style PAGE/PAGEOFF relocationsJanne Grunau2014-06-03
| |
* | Merge commit '08cd92144e73195eecc28ed0348e66e255516b82'Michael Niedermayer2014-05-29
|\| | | | | | | | | | | | | * commit '08cd92144e73195eecc28ed0348e66e255516b82': aarch64: Use the correct syntax for relocations Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aarch64: Use the correct syntax for relocationsMartin Storsjö2014-05-29
| | | | | | | | | | | | | | | | | | | | This fixes building in PIC mode with gas. The examples in the gas manual showed using a # here even though gas itself actually didn't support that syntax (and the gas test suite only tests it without the extra hash sign). CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '8675bcb0addb1c7fb0b04682d1f3f95d5b8dae14'Michael Niedermayer2014-04-07
|\| | | | | | | | | | | | | * commit '8675bcb0addb1c7fb0b04682d1f3f95d5b8dae14': aarch64: add armv8 CPU flag Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aarch64: add armv8 CPU flagJanne Grunau2014-04-06
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2014-03-19
|\| | | | | | | | | | | | | * qatar/master: aarch64: float_dsp NEON assembler Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aarch64: float_dsp NEON assemblerJanne Grunau2014-03-18
| | | | | | | | | | | | | | Ported from arm NEON and added vector_dmul_scalar. Functions between 1.5 and 5 times faster than the C implementations using Apple's clang-503.0.19 on A7.
* | Merge commit '9c029f67ca82147ddfa83a1546ee1e109e11fbd4'Michael Niedermayer2014-02-20
|\| | | | | | | | | | | | | * commit '9c029f67ca82147ddfa83a1546ee1e109e11fbd4': aarch64: use EXTERN_ASM consistently for exported symbols Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aarch64: use EXTERN_ASM consistently for exported symbolsJanne Grunau2014-02-20
| | | | | | | | Based on e3fec3f095ab5ea08ee662942d98526aaf5e3635 for arm.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2014-01-15
|\| | | | | | | | | | | | | * qatar/master: aarch64: port neon clobber test from arm Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aarch64: port neon clobber test from armJanne Grunau2014-01-15
| |
* | Merge commit 'b7b17ed66e199afc7246e642bf3b35c3f8eca217'Michael Niedermayer2014-01-15
|\| | | | | | | | | | | | | * commit 'b7b17ed66e199afc7246e642bf3b35c3f8eca217': aarch64: add cpuflags support for NEON and VFP Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aarch64: add cpuflags support for NEON and VFPJanne Grunau2014-01-15
| | | | | | | | | | | | | | NEON and VFP are currently mandatory for all ARMv8 profiles. Both are handled as extensions as far as cpuflags are concerned. This is consistent with handling x86_64 which always has SSE2, but still handles it as an extension.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2014-01-15
|/ | | | | | | * qatar/master: aarch64: bswap inline assembly Merged-by: Michael Niedermayer <michaelni@gmx.at>
* aarch64: bswap inline assemblyJanne Grunau2014-01-14
Signed-off-by: Janne Grunau <janne-libav@jannau.net>