Since left shift by 32 is undefined value, making it 31.
Bug: 73337905
Bug: 73337480
Bug: 73337472
Test: manual
Change-Id: Id03991e75ea32d29bafa2d0bbb2bda7d5876fb03
When the arm code has been ported to aarch64, occurrances of
the rsb instruction have been replaced according to the
following pattern:
arm:
rsb rB, rA, #X
aarch64:
sub xTMP, xA, #X
neg xB, xTMP
When the immediate constant #X is zero, we can just as well
use a plain neg instruction without any extra subtraction.
Change-Id: I637be20b469d8d4e7fac712e8039c7e3eedb8c54
After loading a single byte with ldrb and immediately moving
it into a vector register with dup .8b, there's no point in
sign extending it to 64 bit inbetween.
Similarly in the second case, when adding a number of pixels,
there's no need to sign extend between additions, just do the
additions using the 32 bit register names.
Change-Id: Ie37f47b93138643ffd05169a3792bc39967dbea3
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
Some parameters had incorrect types. Some were consistently
wrong in both arm and armv8 versions, while others only were
wrong in the armv8 version.
Change-Id: I3efd5c66b32516484fbaa42067d3b12d73fbf09e
binutils gas automatically converts cmp with negative values to use
the cmn instruction instead.
This is required for building the armv8 assembly with the clang built-in
assembler.
Change-Id: If6465ea1bec252446c49cf497153e3ef3dad905a
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
Fixed the following bugs
Issue 21145276
Issue 21144884
Issue 21181133
Issue 21181134
Decoder now returns error if the level in stream is higher than level at init
Change-Id: I8892c62bd98f7854d046510330c05a1e9ca826b2
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