Home

vaddb

vaddb is a vector instruction used in ARM’s NEON (Advanced SIMD) extension to perform element-wise addition of 8-bit integers. It operates on two source vectors and writes the result to a destination vector, with each corresponding pair of 8-bit lanes added independently.

In typical NEON usage, a 128-bit vector contains 16 lanes of 8-bit elements, so vaddb adds 16

Variants and syntax tend to vary by assembler and language binding. In assembly, you may see forms

Related instructions include saturating and wider variants, such as vqaddb (saturating addition of 8-bit integers) and

Use cases for vaddb include multimedia processing, image and video processing, and other data-parallel workloads where

pairs
in
parallel.
The
arithmetic
is
wraparound
by
default,
meaning
sums
are
computed
modulo
256.
The
hardware
does
not
apply
saturation
unless
a
separate
saturating
instruction
is
used.
like
vaddb.8
or
simply
vaddb,
depending
on
the
syntax
and
operand
specification.
In
C
or
C++
via
NEON
intrinsics,
the
operation
is
commonly
expressed
with
intrinsics
such
as
vaddq_u8,
which
corresponds
to
a
128-bit,
16-lane
unsigned
8-bit
addition.
The
exact
intrinsic
name
can
differ
by
compiler
and
header
file,
but
the
semantic
effect
is
the
same.
other
vector
add/subtract
operations
for
different
bit-widths
or
signed
interpretations.
In
other
ISAs,
a
similar
packed
8-bit
addition
exists
under
names
like
VPADDB
in
x86
SIMD
extensions,
reflecting
the
common
data-parallel
operation
across
architectures.
byte-wise
addition
across
large
data
sets
can
be
executed
efficiently
via
SIMD.
It
is
a
fundamental
primitive
for
algorithms
that
operate
on
packed
8-bit
data.