Commit graph

10 commits

Author SHA1 Message Date
Martin Storsjo
e17ec6c736 armv8: Fix ime_calculate_sad3_prog_av8
Previously, this used x5 (which is a stride parameter)
as destination pointer, and overwrote the destination in x6
with a counter, and looped to a label in another function.

In practice, this function is never used, which is why this
hasn't been noticed before.

Change-Id: Iab87a2960c36b7dc4de4216b1d4bbbe4e9f03578
2016-10-06 10:29:43 +03:00
Martin Storsjo
d91f49ad65 armv8: Add missing sign extension for WORD32 parameters
For WORD32 parameters, the upper half of the parameter
registers is undefined (even though it is zero in most cases).

When easily doable, use the 'w' register names for such
parameters instead of doing the sign extension with a
separate instruction.

This fixes crashes in some configurations, when built with
clang, which can pass nonzero bits in the high half of registers
more aggressively than GCC.

Also fix the parameter/register mappings; use wN register
names where applicable, and fix incorrect parameter
placement. (Some functions still were documented to have
only 4 parameters in registers.)

Change-Id: Icedf6503b064149d1a651ff1c6a76de5c01722ea
2016-10-06 10:29:43 +03:00
Martin Storsjo
545b474453 armv8: Remove duplicated, incorrect function argument declarations
Having incorrect comments is only misleading and confusing.

Change-Id: I7560e152194c8d50d6218b0b2144a9628218b7c3
2016-10-05 14:24:53 +03:00
Martin Storsjo
5f5a2805ac armv8: Don't touch the x18 register
The x18 register is platform specific, and using it in portable assembler
code should be avoided.

In this particular case, using it is not actually needed at all.

Change-Id: I07016fdd3a264ed77eba37abcd1748b51cf7a49e
2015-06-24 20:48:51 +00:00
Martin Storsjo
50738a6bd8 arm: Properly match /* */ comments in the arm assembly
Some versions of the clang built-in assembler interprets /* as a start
of a multi-line comment, even within lines starting with a @. Therefore,
make sure to terminate these properly.

This fixes warnings about /* within a block comment when building
using the clang built-in assembler (in some versions of clang), and
fixes issues where part of the assembly source was effectively
commented out, when building with this assembler.

Change-Id: I4b520334d92740f8c60def94ee990561b2cb8b7c
2015-06-24 20:47:59 +00:00
Martin Storsjo
a61d4e0108 armv8: Don't accidentally write 8 bytes instead of 4
This fixes running when built with clang - by pure luck the out of bounds
writes didn't cause any harm when the calling C code was built with gcc.

Change-Id: I4e33dd403b785cbcd24fb80f4db7a86310a32225
2015-06-24 20:45:58 +00:00
Martin Storsjo
db02f57bdc armv8: Remove redundant NEON element size declarations
When specifying one specific lane of the vector, the number of
lanes don't need to be specified.

The clang built-in assembler doesn't allow the redundant
declarations, while binutils gas work fine with both forms.

Change-Id: I86077ce0774d4594a1295b6860e4944df87dde2f
2015-06-24 20:44:24 +00:00
Harish Mahendrakar
25e8adb631 Resolved warnings and fixed alignment of few assemblies
Resolved warnings seen in x86 modules
Fixed alignment of few modules
Updated comments in few arm modules for consistency
Fixed warnings seen in clang build

Change-Id: I0623169b5e84a6a6f09c3d2212e754101272f5e9
2015-05-05 17:35:10 +00:00
Lajos Molnar
cd9e51fc2b fix file permissions
Change-Id: Ia4f99d5b963acd8d8a1afc2fbdf06b122d898f63
2015-05-05 17:34:51 +00:00
Hamsalekha S
8d3d303c79 Initial version
Change-Id: I7efe9a589cd24edf86e8d086b40c27cbbf8b4017
2015-04-02 15:59:02 +05:30