summaryrefslogtreecommitdiff
path: root/libavutil/aarch64
Commit message (Collapse)AuthorAge
* 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>