Commit Graph

34 Commits

Author SHA1 Message Date
Guangwei Wang
49b569a018 Add new ARM AArch64 assembly functions to support sub8x8 mode 2015-07-08 10:34:49 +08:00
Martin Storsjö
22cb778730 Fix the NEON register restoring in McHorVer30WidthEq8_AArch64_neon
This function pushes 16 bytes to the stack, but popped off 32
bytes.

This fixes a regression since 6f64f2372.
2015-06-11 21:30:40 +03:00
Guangwei Wang
6f64f2372e save neon register d8,d9 2015-06-09 11:06:15 +08:00
Guangwei Wang
0237194f6e bugfix:save neon register v8-v15 2015-06-09 10:19:09 +08:00
Guangwei Wang
c930424642 modify part of AArch64 LumaMc assembly functions to get improvement 2015-06-05 13:26:00 +08:00
Guangwei Wang
b8592d105b add aarch64 for mc 2015-05-29 13:50:07 +08:00
Martin Storsjö
f324c354b1 Remove unnecessary double spaces and tabs in ifdef directives 2015-04-29 15:34:38 +03:00
Martin Storsjö
7d3bb19bed Fix up indentation in some arm assembly files 2015-04-27 14:05:52 +03:00
Martin Storsjö
d8202cf38f Remove apple specific versions of arm64 macros with arguments
The apple assembler for arm64 can handle the gnu binutils style
macros just fine, so there is no need to duplicate all of these
macros in two syntaxes, when the new one works fine in all cases.

We already require a new enough assembler to support the gnu binutils
style features since we use the .rept directive in a few places.
2015-03-27 11:11:23 +02:00
Martin Storsjö
0b0884874d Remove superfluous .text directives at the start of arm assembly files
This directive can be set by the common include header that is
included by all files anyway.
2015-03-27 10:46:34 +02:00
Martin Storsjö
3956bccc3d Use the correct, official syntax for aarch64 mov instructions
Previously this used unofficial, apple specific syntax (with fallback
macros for gnu binutils), since Xcode 5.x didn't support the official
syntax of these instructions. Since Xcode 6 has been out for quite a
number of months already, it should be safe to require this (for
building 64 bit binaries for iOS, armv7 builds can still be built
with older Xcode versions).

This clarifies the code by avoiding apple specific syntax in the
assembler instructions.
2015-03-17 09:26:01 +02:00
zhiliang wang
01b74ea7c1 Add asm code for NoneZeroCount and refine related code 2015-01-04 16:39:17 +08:00
ruil2
ed341048de refine common moudle for part of intra prediction function 2014-09-25 14:03:11 +08:00
Martin Storsjö
81ac3d2a9b Fix building svc_motion_estimation.S for android
The .align directive takes an argument in number of bits, i.e. the
actual alignment is 2^n. Previously building with binutils failed,
since 16 isn't a valid parameter to .align, the maximum is 15.

Thus, this makes the code try to align to 16 bytes, instead of aligning
to 65536 bytes.

This fixes building for android.

This also clears up the same mistake in the aarch64 code, even though
that one built just fine.
2014-08-15 09:53:42 +03:00
Martin Storsjö
d5c71dbe2f Use the correct syntax for the aarch64 ext instructions
Since Xcode 5.1, the apple tools actually support using the
official, correct syntax for the ext instructions. This syntax
is already used in a number of places already - use it consistently,
and get rid of the compatibility hacks.
2014-07-10 08:53:41 +03:00
dongzhang
beaf7c1893 speed up memory loading in arm64 MC 2014-07-09 18:22:42 +08:00
dongzhang
249b8a0aa6 add arm64 MB COPY code and UT 2014-07-08 14:22:14 +08:00
Martin Storsjö
b406f4471a Fix a typo in arm64 assembly macros, ARCH64 -> AARCH64 2014-06-27 23:52:20 +03:00
Martin Storsjö
720f8dcc52 Fix building the deblocking aarch64 assembly with gnu binutils 2014-06-17 10:10:50 +03:00
Martin Storsjö
b9477cdb94 Unify the copyright header in the aarch64 deblocking assembly
This file was the only one that had a differently formatted
copyright header.
2014-06-17 10:02:57 +03:00
Martin Storsjö
062937ac5a Unify the indentation of the new aarch64 assembly 2014-06-17 10:01:23 +03:00
Martin Storsjö
d15534ecb8 Get rid of mixed tabs and spaces in the aarch64 assembly 2014-06-17 10:00:07 +03:00
dongzhang
0e0c8b5569 add arm 64 deblock code and Unit Test code 2014-06-10 11:23:51 +08:00
Martin Storsjö
57f6bcc4b0 Convert all tabs to spaces in assembly sources, unify indentation
Previously the assembly sources had mixed indentation consisting
of both spaces and tabs, making it quite hard to read unless
the right tab size was used in the editor.

Tabs have been interpreted as 4 spaces in most cases, matching
the surrounding code.
2014-06-01 01:35:43 +03:00
Martin Storsjö
ac03b8b503 Avoid unnecessary tabs in macro declarations 2014-06-01 01:13:01 +03:00
Martin Storsjö
66f58e8357 Add macros for the non-standard mov.16b/mov.8b/ext.16b/ext.8b
This fixes building with gnu binutils, which don't support this
nonstandard form of the instructions.

Once Apple's tools support the proper standard form of the
instructions, the code should be updated to use that everywhere
instead, and these macros should be removed.
2014-04-23 11:47:12 +03:00
Martin Storsjö
7cd175d097 Use the correct ext syntax in the gnu version of macros 2014-04-23 11:47:12 +03:00
Martin Storsjö
b13a399ab5 Use a plain "ret" instead of "ret lr"
This fixes an issue with assembling with gnu binutils.
2014-04-23 11:47:12 +03:00
Martin Storsjö
f2642b308a Add correct arguments to the gnu version of UNPACK_FILTER_SINGLE_TAG_16BITS 2014-04-23 11:47:12 +03:00
Martin Storsjö
90fad9fd98 Add \() to macro arguments to separate the argument from the following .8h or similar 2014-04-23 11:47:12 +03:00
Martin Storsjö
80bd541cbe Remove .syntax unified from the aarch64 common header
This directive isn't available in aarch64 code, only in arm code.
2014-04-23 11:47:12 +03:00
Martin Storsjö
45aef90d26 Remove the executable bit from source files 2014-04-23 09:23:56 +03:00
dongzhang
ad9e2dab4f Add Motion Compehension ARM64 Neon Code 2014-04-23 13:26:28 +08:00
dongzhang
2444327a6c Add expand picture support for ARM64 NEON
Remove duplicate MACROS
2014-04-23 09:14:32 +08:00